diff -ruN groff-1.19/COPYING groff-1.19.1/COPYING --- groff-1.19/COPYING Sun Feb 6 10:34:03 2000 +++ groff-1.19.1/COPYING Thu Mar 27 17:11:54 2003 @@ -1,8 +1,8 @@ GNU GENERAL PUBLIC LICENSE Version 2, June 1991 - Copyright (C) 1989, 1990, 1991, 1992 Free Software Foundation, Inc. - 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 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. @@ -279,7 +279,7 @@ END OF TERMS AND CONDITIONS - Appendix: How to Apply These Terms to Your New Programs + How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it @@ -291,7 +291,7 @@ the "copyright" line and a pointer to where the full notice is found. - Copyright (C) 19yy + Copyright (C) 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 @@ -305,14 +305,15 @@ 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. + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: - Gnomovision version 69, Copyright (C) 19yy name of author + Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff -ruN groff-1.19/ChangeLog groff-1.19.1/ChangeLog --- groff-1.19/ChangeLog Tue Apr 29 15:34:58 2003 +++ groff-1.19.1/ChangeLog Wed May 12 11:46:47 2004 @@ -1,5 +1,1585 @@ +2004-05-10 Stephen Gildea + + * src/preproc/refer/label.y (same_author_last_name, + same_author_name): Handle empty sort keys. + +2004-05-10 Werner LEMBERG + + * NEWS, README, TODO, PROJECTS, PROBLEMS, MANIFEST, doc/webpage.ms, + tmac/TODO: Updated. + + * tmac/doc-syms (doc-str-Lb-libposix, doc-str-Lb-libpthread, + doc-str-Lb-librt): Reset font. + (Lb): Rename `doc-str-Lb' to `doc-str-Lb1'. + Provide `doc-str-Lb' to reset font. + * tmac/groff_mdoc.man: Updated. + +2004-05-08 Jan Schaumann + + * src/preproc/html/pre-html.cpp (make_message): Make it work for + snprintf versions which don't conform to ANSI C 99 (this is, + counting the string's trailing null byte in the return value). + +2004-05-07 Keith Marshall + + * src/roff/troff/node.cpp (suppress_node::tprint): Don't expect + that all implementations of sprintf handle null pointers correctly. + +2004-05-04 Werner LEMBERG + + * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo: + Document `.U' register. + + * src/roff/troff/env.cpp (environment::mark_last_line) + [WIDOW_CONTROL]: Fix scope of `p' for new C++ compilers. + +2004-05-04 Larry Kollar + + New read-only register `.U'; it returns 1 in safer mode and 0 + otherwise. + + * src/roff/troff/input.cpp (init_input_requests): Implement `.U' + register. + +2004-05-03 Werner LEMBERG + + * install-sh, mkinstalldirs: New versions; taken from texinfo CVS. + +2004-04-17 Werner LEMBERG + + * src/include/font.h (font): Use `int' for ch_index. + * src/libs/libgroff/font.cpp (font::alloc_ch_index, + font::compact): Updated. + + * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix compiler + warnings. + + * src/roff/troff/div.cpp (begin_page), src/roff/troff/env.cpp + (hyphen_word): Fix compiler warnings. + * src/roff/troff/input.cpp (get_char_for_escape_name): Return + `char'. + Update all callers. + (get_delim_number, get_line_arg): Change second argument type to + `unsigned char'. + (macro_header::copy, token::next, do_define_string, + do_define_character, substring_request, asciify_macro, + unformat_macro, read_size, non_interpreted_node::interpret, + while_request, main: Fix compiler warnings. + (read_color_draw_node): Initialize `col'. + + * src/preproc/tbl/table.cpp (horizontal_span, table_entry): Make + `start_col' and `end_col' of type `int'. + (vertical_rule): Make `col' of type `int'. + + * src/preproc/grn/hdb.cpp (DBRead): Protect call to getc with check + for EOF. + + * src/preproc/refer/label.y (uppercase_array, lowercase_array): + New arrays. + (format_serial): Use them to remove dependency on ASCII. + + * src/devices/grops/ps.cpp (ps_printer::define_encoding): Fix + compiler warning. + * src/devices/grops/psrm.cpp (resource_manager::supply_resource): + Ditto. + + * src/devices/grotty/tty.cpp (tty_font::load_tty_font): Fix + compiler warnings. + (glyph): Change type of `hpos' to `int'. + + * src/devices/lbp/lbp.cpp (strsep): Removed. Unused. + * src/devices/lbp/lbp.h (splinerel): Fix compiler warnings. + + * src/utils/tfmtodit.cpp (gf::load): Fix compiler warnings. + + * src/utils/pfbtops/pfbtops.c (get_text): Fix compiler warning. + +2004-04-16 Werner LEMBERG + + * src/devices/grolbp/lbp.h, src/preproc/grn/gprint.h, + src/preproc/grn/hgraph.cpp, src/preproc/grn/hpoint.cpp, + src/preproc/html/pushback.cpp, src/preproc/html/pushback.h: Use + `double' instead of `float' everywhere. + * src/preproc/grn/main.cpp: Use `double' instead of `float' + everywhere. + (main): Add return value. + * src/preproc/grn/hdb.cpp: Use `double' instead of `float' + everywhere. + Update all user functions. + + * src/include/search.h, src/include/ptable.h, src/include/printer.h, + src/preproc/eqn/box.h, src/preproc/pic/object.h, + src/preproc/refer/refer.h, src/preproc/tbl/table.h, + src/preproc/tbl/table.cpp, src/roff/troff/env.h, + src/roff/troff/div.h, src/roff/troff/token.h, src/roff/troff/node.h, + src/roff/troff/input.cpp, src/roff/troff/request.h, + src/roff/troff/node.cpp: Don't mix `struct' and `class' in forward + declarations. + + * src/utils/indxbib/signal.c: Include stdlib.h. + +2004-04-14 Keith Marshall + + * tmac/s.tmac (@init, RP): Allow initialization of the PO register + before the first page. + +2004-04-14 Thomas Klausner + + * tmac/doc-common (doc-volume-as-*): Use lowercase names. + (doc-operating-system-*): Updated. + * tmac/doc-syms (doc-str-St-*): Various small fixes. + (doc-str-Lb-*): Add more library names. + +2004-04-10 Art Haas + + * src/utils/hpftodit/hpuni.cpp (hp_msl_to_unicode_list): Don't + use anonymous type. + +2004-04-09 Art Haas + + * src/utils/tfmtodit.cpp (lig_chars): Don't use anonymous type. + +2004-04-09 Keith Marshall + + * arch/misc/shdeps.sh: Generate better comment for sed script. + +2004-04-08 Art Haas + + * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list), + src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list), + src/libs/libgroff/uniuni.cpp (unicode_decompose_list), + src/preproc/eqn/box.cpp (param_table), src/preproc/grn/hgraph.cpp + (polyfill), src/preproc/grn/main.cpp (polyfill), + src/preproc/refer/command.cpp (command_table), + src/utils/tfmtodit.cpp (lig_table): Don't use anonymous types (which + gcc 3.5 doesn't like). + +2004-04-08 Werner Lemberg + + Removing many compiler warnings. groff should now compile with + a C++ compiler used for C files also. [Simple variable renamings + to avoid shadowing aren't logged in detail.] + + * src/devices/grodvi/dvi.cpp: Some local variable renamings. + (draw_dvi_printer::draw) ['c']: Enclose in block. + + * src/devices/grohtml/post-html.cpp: Some local variable renamings. + (page::add_line): Fix typos. + * src/devices/grohtml/html-text.cpp: Some local variable renamings. + + * src/devices/grolbp/lbp.cpp: Don't define _GNU_SOURCE. + Some local variable renamings. + * src/devices/grolbp/lbp.h: Some local variable renamings. + + * src/devices/grolj4/lj4.cpp, src/devices/grotty/tty.cpp: Some local + variable renamings. + + * src/libs/libbib/index.cpp (index_search_item_iterator::get_tag): + Remove redundant local variable declaration. + * src/libs/libbib/map.c (mapread, unmap): Don't use K&R style. + Don't use `caddr_t' but `void *'. + Enclose functions with `extern "C"' for C++. + + * src/libs/libdriver/input.cpp (remember_filename, + remember_source_filename): Use cast for string constant. + + * src/libs/libgroff/font.cpp, src/libs/libgroff/fontfile.cpp, + src/libs/libgroff/nametoindex.cpp, src/libs/libgroff/paper.cpp, + src/libs/libgroff/geometry.cpp: Some local variable renamings. + * src/libs/libgroff/iftoa.c, src/libs/libgroff/itoa.c: Don't use K&R + style. + Enclose functions with `extern "C"' for C++. + * src/libs/libgroff/quotearg.c (TRUE,FALSE): Define as macros. + (needs_quoting): Return `int'. + (quote_arg): Add proper casts to malloc and realloc. + * src/libs/libgroff/spawnvp.c: Compile code only for MS-DOS and + various MS Windows environments. + (spawnvp_wrapper): Add proper cast to malloc. + + * src/preproc/eqn/box.h: Remove redundant declarations of + `make_script_box', `make_mark_box' and `make_lineup_box'. + * src/preproc/eqn/eqn.y: Remove redundant declaration of `strsave'. + * src/preproc/eqn/script.cpp, src/preproc/eqn/pile.cpp: Some local + variable renamings. + + * src/preproc/grn/hpoint.cpp: Some local variable renamings. + * src/preproc/grn/hgraph.cpp: Some local variable renamings. + (dx, dy): Renamed functions to... + (deltax, deltay): This. + * src/preproc/grn/main.cpp: Some local variable renamings. + (deffont): Add `const'. + (initpic, conv): Use cast for string constant. + + * src/preproc/html/pre-html.cpp: Some local variable renamings. + (makeFileName, alterDeviceTo, addZ): Use cast for string constant. + (char_buffer::run_output_filter): Second argument is unused. + * src/preproc/html/pushback.cpp: Some local variable renamings. + + * src/preproc/pic/pic.y: Remove redundant declaration of `do_copy'. + * src/preproc/pic/object.cpp: Some local variable renamings. + + * src/preproc/refer/label.y (lookup_label): Remove redundant + declaration of local variable. + + * src/preproc/soelim.cpp: Remove redundant declaration of + `interpret_lf_args'. + + * src/preproc/tbl/main.cpp: Some local variable renamings. + + * src/roff/groff/groff.cpp (main): Use cast for string constant. + * src/roff/groff/pipeline.c: Enclose declarations of `error', + `c_fatal', and `i_to_a' with `extern "C"' for C++. + Don't use C++-style comments. + + * src/roff/troff/env.h: Remove redundant declaration of `title'. + * src/roff/troff/node.h, src/roff/troff/env.cpp, + src/roff/troff/div.cpp, src/roff/troff/node.cpp: Some local variable + renamings. + * src/roff/troff/div.h: Remove redundant declaration of + `end_diversions'. + * src/roff/troff/troff.h: Remove redundant declaration of + `cleanup_and_exit' + * src/roff/troff/input.cpp: Remove redundant declaration of + `handle_first_page_transition' and `process_input_stack'. + + * src/utils/hpftodit.cpp: Some local variable renamings. + + * src/utils/indxbib/signal.c: Enclose functions with `extern "C"' + for C++. + Don't define RETSIGTYPE. + * src/utils/indxbib/indxbib.cpp: Some local variable renamings. + + * src/utils/pfbtops/pfbtops.cpp: Don't use K&R style. + (error): Use `const' in argument. + (main): Remove redundant declaration of `optind'. + Move declaration of `Version_string' to top-level. + + * PROBLEMS: Document difficulties compiling signal.c if a C++ + compiler is used for C. + +2004-04-07 Werner Lemberg + + * Makefile.sub (DISTCLEANFILES): Add `test-groff'. + +2004-04-06 Keith Marshall + + Make scripts like nroff.sh and neqn.sh portable across various + (Unix-like) shell implementations from Cygwin, MSYS, etc., which use + non-POSIX path separators. The idea is to extend those scripts to + decide at run-time (of the script) which path separator to use. + + * arch/misc/Makefile.sub: New file. + * arch/misc/shdeps.sh: New file, generating OS dependency fixups. + This script handles @GROFF_BIN_PATH_SETUP@, replacing it with + a proper definition of the variable `GROFF_RUNTIME'. + + * Makefile.in (SH_DEPS_SED_SCRIPT): New variable. + (MDEFINES): Add SH_DEPS_SED_SCRIPT. + (PROGDEPDIRS): New variable. + `FORCE' it. + (PROGDIRS): Add PROGDEPDIRS. + + * src/preproc/eqn/Makefile.sub (neqn): Call SH_DEPS_SED_SCRIPT. + Don't substitute @SEP@ and @BINDIR@. + * src/preproc/eqn/neqn.sh: Use @GROFF_BIN_PATH_SETUP@. + (PATH): Use GROFF_RUNTIME. + + * src/roff/nroff/Makefile.sub (nroff): Call SH_DEPS_SED_SCRIPT. + Don't substitute @SEP@ and @BINDIR@. + * src/roff/nroff/nroff.sh: Use @GROFF_BIN_PATH_SETUP@. + (PATH): Use GROFF_RUNTIME. + +2004-04-05 Keith Marshall + + * src/roff/nroff/nroff.sh: Implement work-around for sh.exe from + Cygwin which doesn't handle stderr correctly. + +2004-03-08 Werner LEMBERG + + * Makefile.comm (install_dev, uninstall_dev): Protect `for' loops + against empty argument. Problem reported by . + +2004-03-05 Keith Marshall + + * Makefile.in (SEP): Replaced with... + (RT_SEP, SH_SEP): Separators for the target platform's native path + separator and the build environment, respectively. + (fontpath, tmacpath): Use RT_SEP. + (MDEFINES): Updated. + + * contrib/mom/Makefile.sub (GROFF_BIN_PATH): Use SH_SEP. + * doc/Makefile.sub (GROFF_BIN_PATH): Use SH_SEP. + * src/preproc/eqn/Makefile.sub (neqn): Use SH_SEP. + * src/roff/nroff/Makefile.sub (nroff): Use SH_SEP. + +2004-03-05 Werner LEMBERG + + * fonts/devlj4/Makefile.sub (LJ4RES): Set to 1200. This helps to + reduce alignment problems with newer printers which use built-in + TrueType fonts (instead of the older Intellifonts). The ideal + solution is to provide a second set of groff metric files, but this + is extremely time-consuming to produce, given that HP's metric + files are very rudimentary. + +2004-03-01 Werner LEMBERG + + * src/devices/grolj4/lj4.cpp (main): Fix argument of getopt_long. + s/operand/argument/ in error message. + +2004-03-01 Keith Marshall + + * src/roff/groff/groff.cpp (main): Don't allow option -o if -Thtml + is in use. + +2004-03-01 Antti Kantee + + * tmac/s.tmac (XE): Fix error message. + +2004-02-27 Jeff Conrad + + * src/include/nonposix.h (write, dup, dup2, close) [_MSC_VER]: + New macros. + + * src/roff/groff/pipeline.c: Declare strcasecmp. + (run_pipeline) [_WIN32]: Use function name variants which don't + start with `_'. + Fix stream handling. + +2004-02-27 Keith Marshall + + * src/include/nonposix.h: Fix declaration of `system_shell_name'. + Declare `spawnvp_wrapper' and macro definitions of spawnvp only + for platforms which use the native Win32 runtime libraries. + (FLUSH_INPUT_PIPE) [_UWIN]: Provide non-empty version. + + * src/libs/libgroff/quotearg.c (QUOTE_ARG_MALLOC_ERROR, + QUOTE_ARG_REALLOC_ERROR): Fix string. + + * src/preproc/html/pre-html.cpp: Remove declaration of + `spawnvp_wrapper'. + Don't use __MINGW32__. + s/DEBUG_FILE/DEBUG_FILE_DIR/. + (DEBUG_TEXT, DEBUG_NAME, DEBUG_FILE) [DEBUGGING]: New macros. + (OUTPUT_STREAM, PS_OUTPUT_STREAM, REGION_OUTPUT_STREAM): New macros. + (char_buffer::run_output_filter) [MAY_FORK_CHILD_PROCESS]: Fix + calls to `set_redirection' and `WAIT'. + [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Remove unused variable `i' and `j'. + Fix calls to `set_redirection' and `save_and_redirect'. + (char_buffer::do_html, char_buffer::do_image) [DEBUGGING]: Fix calls + to `set_redirection' and `save_and_redirect'. + (usage): Fix message. + (makeTempFiles, main): Use `DEBUG_FILE'. + +2004-02-21 Werner LEMBERG + + * src/roff/troff/troff.h (WARN_TOTAL): Fix value. + +2004-02-21 Keith Marshall + + * src/libs/libgroff/quotearg.c: New file, providing proper argument + quoting for MSVC's spawn* and exec* functions. + * src/libs/libgroff/spawnvp.c: New file, providing a wrapper around + spawnvp with proper quoting for MSVC. + + * src/libs/libgroff/assert.cpp (program_name), + src/libs/libgroff/new.cpp (program_name): Declare as `extern "C"'. + * src/libs/libgroff/Makefile.sub (OBJS, CSRCS): Updated. + + * src/roff/troff/input.cpp (program_name): Declare as `extern "C"'. + + * src/include/error.h (program_name): Declare as `extern "C"'. + * src/include/nonposix.h [__MSDOS__ ...]: Handle spawnvp. + +2004-02-21 Jeff Conrad + + * src/preproc/html/pre-html.cpp [__CYGWIN__ ...]: Declare + spawnvp_wrapper. + [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Declare i and j. + +2004-02-20 Jeff Conrad + + * src/roff/groff/pipeline.c (cmd) [__MSDOS__ || ...]: New global + variable. + (sbasename) [__MSDOS__ || ...]: New function. + (system_shell_name) [__MSDOS__ || ...]: Use a different, more + generic algorithm. + (system_shell_dash_c, is_system_shell) [__MSDOS__ || ...]: Updated. + (run_pipeline) [_WIN32]: Use _XXX variants for some macros instead + of XXX. + Use STDOUT_FILENO instead of hardcoded file handle. + (signal_catcher) [__MSDOS__]: Moved to non-_WIN32 section. + +2004-02-19 Werner LEMBERG + + * src/roff/troff/div.cpp: Include nonposix.h after troff.h to + avoid warnings w.r.t. redefinition of P_tmpdir for some compilers. + +2004-02-18 Werner LEMBERG + + * font/devlj4/Makefile.sub (DEVFILES): Updated to contain all + new font and mapping files. + +2004-02-18 Jeff Conrad + Keith Marshall + + * src/include/nonposix.h (FLUSH_INPUT_PIPE): New macro to empty + an input pipe. This is needed for the MSVC compiler to make troff's + `-o' option work. + + * src/roff/troff/div.cpp: Include nonposix.h. + (cleanup_and_exit): Call FLUSH_INPUT_PIPE. + +2004-02-17 Werner LEMBERG + + * font/devlj4/generate/special.awk: New script. + * font/devlj4/generate/Makefile (S): Use special.awk. + * font/devlj4/*: Regenerated, including the following new files: + Arial (AR, AB, AI, ABI), Times New Roman (TNRR, TNRB, TNRI, TNRBI), + MS Symbol (SYMBOL), Wingdings (WINGDINGS). + * NEWS: Document new lj4 fonts and revised hpftodit. + +2004-02-17 Paco Andrés Verdú + + * src/devices/grolbp/lbp.h (vmdvarc): Fix formatting string. + +2004-01-25 Werner LEMBERG + + * src/libs/libgroff/progname.cpp: Replaced with... + * src/libs/libgroff/progname.c: New file. + * src/libs/libgroff/Makefile.sub: Updated accordingly. + +2004-01-17 Werner LEMBERG + + * font/devlj4/generate/Makefile (SYMBOL): Use 9nb28703.tfm. + +2004-01-16 Jeff Conrad + + * font/devlj4/generate/wingdings.map, + font/devlj4/generate/symbol.map: Include unnamed glyphs. + Use groff glyph names where possible. + * src/devices/grolj4/lj4_font.man: Minor updates. + +2004-01-13 Werner LEMBERG + + * tmac/www.tmac (DC): Handle TTY devices. + + * doc/webpage.ms: Document viewCVS from ffii.org. + * NEWS, README: Updated. + + * src/roff/groff/groff.man: Mention lj4_font man page. + + * font/devlj4/generate/Makefile (SYMBOLMAP, WINGDINGSMAP): New + variables. + (FONTS): Add SYMBOL and WINGDINGS. + (SYMBOL, WINGDINGS): New targets. + +2004-01-13 Jeff Conrad + + * src/devices/grolj4/lj4_font.man: New man page. + * src/devices/grolj4/Makefile.sub (MAN5): New variable. + * src/devices/grolj4.man: Mention lj4_font man page. + + * src/utils/hpftodit/hpftodit.cpp (read_map): Handle line comments. + * src/utils/hpftodit/hpftodit.man: Document it. + (CW): New macro. + Remove details about fonts (which are now in lj4_font.man). + + * font/devlj4/generate/symbol.map, + font/devlj4/generate/wingdings.map: New files. + +2004-01-12 Werner LEMBERG + + * README: Mention ffii's viewcvs access. + +2004-01-09 Werner LEMBERG + + * font/devlj4/generate/special.map: Map MSL 228 to U+221F. + +2004-01-09 Jeff Conrad + + Revert most of the change from 2004-01-03 to better control used + symbol sets. + + * src/utils/hpftodit/hpftodit.cpp (symbol_set): New structure. + (text_symbol_sets, special_symbol_sets): New arrays. + (symbol_set_table): New global variable. + (read_symbol_sets): Use search order given in the text_symbol_sets + and special_symbol_sets arrays. If command line flag -a is not + given, search both arrays. + (output_charset): Require x_height_tag only for command line flag -i. + +2004-01-06 Werner LEMBERG + + Implement string-valued registers \n[.m] and \n[.M] to return the + name of the current drawing and background color, respectively. + + * src/roff/troff/symbol.h: Moved to... + * src/include/symbol.h: Here. + Small fixes to make it work outside of the `troff' directory. + * src/roff/troff/symbol.cpp: Moved to... + * src/libs/libgroff/symbol.cpp: Here. + Small fixes to make it work outside of the `troff' directory. + + * src/include/Makefile.sub (HDRS), src/libs/libgroff/Makefile.sub + (OBJS, CCSRCS), src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS): + Updated. + + * src/include/color.h: Include symbol.h. + (color): Add new field `nm'. + * src/libs/libgroff/color.cpp (color::color): Updated. + + * src/roff/troff/dictionary.cpp, src/roff/troff/div.cpp, + src/roff/troff/node.cpp, src/roff/troff/number.cpp, + src/roff/troff/reg.cpp: Don't include symbol.h. + + * src/roff/troff/env.cpp: Don't include symbol.h. + (environment::get_glyph_color_string, + environment_get_fill_color_string): New member functions. + (init_env_requests): Handle `.m' and `.M' registers. + * src/roff/troff/input.cpp: Don't include symbol.h. + (default_symbol): Moved to symbol.cpp/symbol.h. + (do_glyph_color, do_fill_color, define_color): Pass symbol name + to color constructor. + * src/roff/troff/env.h: Updated. + + * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo: + Document new registers. + +2004-01-05 Werner LEMBERG + + * src/roff/troff/nroff.cpp (space_node::get_breakpoints, + space_node::nbreaks): Protect against zero `next' field. + +2004-01-03 Jeff Conrad + + In hpftodit, use the symbol sets offered in the TFM. + + * src/utils/hpftodit/hpftodit.cpp (NO_GLYPH): New constant. + (symbol_set, text_symbol_sets, special_symbol_sets, + symbol_set_table): Removed. + (get_printcode): Removed. + (read_symbol_sets): Initialize `symbol_set' field with + `NO_SYMBOL_SET'. + Simplify code to just use the `kind' value. + (output_charset): Improve output formatting. + (dump_symbols): Simplified. + +2004-01-02 Werner LEMBERG + + * font/devlj4/generate/text.map: Add more MSL numbers. + +2004-01-02 Jeff Conrad + + * src/utils/hpftodit/hpftodit.cpp (is_decomposed): New macro. + (text_symbol_sets): Add more symbol sets. + (debug_flag): New static variable (moved from `main'). + (get_printcode, show_symset): New functions. + (main): Remove `debug_flag'. + (output_charset): Use `show_symset'. + (dump_symbols): Use `show_symset'. + Print symsets for all glyphs. + (read_map): Actually call `unicode_to_ucode_make' but this time + correctly. + +2004-01-01 Werner LEMBERG + + * font/devlj4/generate/text.map, font/devlj4/generate/special.map: + Fix placement of comments. + +2004-01-01 Jeff Conrad + + * src/utils/hpftodit/hpftodit.cpp (main): Read map file also if + option `-d' is given. + (output_charset): Improve warning messages to give more information. + (dump_symbols): Make information more precise. + (usage): Updated. + (read_map): Don't call unicode_to_ucode_name; the glyph names must + appear as-is and shouldn't be decomposed. + +2003-12-31 Werner LEMBERG + + * src/utils/hpftodit/hpftodit.cpp (dump_tags): Handle posture_tag. + * font/devlj4/generate/Makefile (IFLAG): Updated to new units. + (FONTS): Add TrueType font families Arial and Times New Roman. + (TNRR, TNRB, TNRI, TNRBI, AR, AB, AI, ABI): New targets. + * font/devlj4/generate/text.map: Fix Unicode values of `fi' and + `fl'. + +2003-12-31 Jeff Conrad + + * test-groff.in (SEP): Quote value. + * src/roff/troff/node.cpp (suppress_node::tprint): Change type of + `tem' to `char*' to avoid deallocation of a pointer to a constant + object which some compilers don't like. + +2003-12-31 Werner LEMBERG + + * font/devlj4/generate (text.map, special.map): Rewritten to work + with the new hpftodit version. + +2003-12-30 Jeff Conrad + + * src/utils/hpftodit/hpftodit.cpp (output_charset): Emit HP symbol + set and 8bit character code for all glyphs also. + +2003-12-30 Werner LEMBERG + + * src/libs/libgroff/strcasecmp.c: Updated from gnulib. + +2003-12-29 Werner LEMBERG + + More fixes for MSVC compiler. + + * doc/Makefile.sub, contrib/mom/Makefile.sub (GROFF_BIN_PATH): Use + $(SEP). + + * src/include/nonposix.h (STDIN_FILENO, STDOUT_FILENO, + STDERR_FILENO) [_MSC_VER]: Define conditionally. + (getpid) [_MSC_VER]: Remove. + Include direct.h and process.h conditionally. + + * src/roff/troff/node.cpp (suppress_node::tprint): Don't use + parentheses for a_delete. + + * src/utils/lookbib/lookbib.cpp: Include nonposix.h. + + * test-groff: Replaced with... + * test-groff.in: This new template to handle path separator + properly. + + * configure.ac: Check for direct.h and process.h. + Generate test-groff script. + * configure, src/include/config.hin: Regenerated. + +2003-12-28 Werner LEMBERG + + Add integral extension glyph. + Add new option `-x' to afmtodit to suppress use of built-in AGL. + + * font/devhtml/R.proto, font/devutf8/R.proto: Add `u23AE'. + + * font/devps/generate/textmap: Provide entry for `integralex' to + override (old) PUA value of the AGL. + * font/devps/generate/Makefile (SS): Add afmtodit option `-x'. + * font/devps/*: Regenerated. + + * src/utils/afmtodit/afmtodit.pl: Add option `-x'. + * src/utils/afmtodit/afmtodit.man, NEWS: Updated. + +2003-12-27 Werner LEMBERG + + Add forgotten `coproduct' symbol (already available for DVI). + + * font/devhtml/R.proto, font/devps/generate/textmap, + font/devps/symbolmap, font/devutf8/R.proto, man/groff_char.man, + src/libs/libgroff/uniglyph.cc, src/libs/libgroff/glyphuni.cpp: Add + U+2210 (\[coproduct]). + +2003-12-26 Jeff Conrad + + hpftodit has been extended to handle TrueType metric files and + more glyphs. See hpftodit.man for more details. + + * src/utils/hpftodit/hpftodit.cpp: Include stdio.h, string.h, + ctype.h, and unicode.h. + s/msl/charcode/ everywhere since we now handle Unicode values also. + (equal, NO, YES, MSL, SYMSET, UNICODE, UNICODE): New macros. + Use it where appropriate. + (MULTIPLIER): Replaced with... + (multiplier): New global static variable. + (scale): Updated. + (tag_type): Add more TFM tags. + (tag_name): New array. + (ENUM_TYPE, FLOAT_TYPE): Removed. + (BYTE_TYPE): New value assigned. + (ASCII_TYPE, RATIONAL_TYPE): New enumeration values. + (text_symbol_sets, special_symbol_sets): Extended to cover more + sets. + (check_type): Add return value. + (check_units): Add parameters to get ppi and upem values. + Handle TrueType TFM data. + (output_font_name): New function. + (output_charset): Add parameter to handle TFM type. + Handle TrueType TFMs also. + (em_fract): New macro. + (dump_tags): Be much more verbose and handle more tags. + (dump_ascii, dump_symbol_sets, dump_symbols): New functions. + (hp_msl_to_ucode_name, unicode_to_ucode_name, is_uname): New + functions. + (read_map): Add parameter to handle TFM type. + Handle both MSL and Unicode mappings. + (main): Add two new command line options `-a' and `-q'. + Updated to make use of new functions. + (usage): Updated. + + * src/utils/hpftodit/hpuni.cpp: New file. + + * src/utils/hpftodit/Makefile.sub, src/utils/hpftodit/hpftodit.man: + Updated. + +2003-12-25 Werner LEMBERG + + * src/include/nonposix.h (read) [_MSC_VER]: Define. + +2003-12-24 Werner LEMBERG + + * src/utils/afmtodit/afmtodit.man: Some reformulations as suggested + by Michail Vidiassov . + +2003-12-20 Werner LEMBERG + + * font/devhtml/R.proto: Add u00{47,67}_0306, u00{53,73}_0327, + and u0049_0307. + Add missing latin-2 glyphs. + * font/devutf8/R.proto: Add missing latin-2 glyphs. + + * tmac/troffrc: Load `composite.tmac' earlier. + + * tmac/dvi.tmac, tmac/ps.tmac, tmac/lbp.tmac: Add u00{47,67}_0306, + u00{53,73}_0327, and u0049_0307. + * tmac/X.tmac: Add u00{47,67}_0306. + * tmac/tty-char.tmac: Use composite glyph names for readability. + + * NEWS: Updated. + + * src/include/unicode.h: Remove `extern' keywords. + +2003-12-20 Nilgün Belma Bugüner + + * tmac/latin5.tmac: New file. + +2003-12-19 Werner LEMBERG + + Add some glyphs needed for Turkish. + + * font/devutf8/R.proto: Add u00{47,67}_0306, u00{53,73}_0327, + and u0049_0307. + + * tmac/composite.tmac: Add `,' as a synonym for `ac' accent. + * tmac/tty-char.tmac: Add representations for u00{47,67}_0306, + u00{53,73}_0327, and u0049_0307. + +2003-12-18 Werner LEMBERG + + * src/devices/grops/ps.cc (ps_output::put_float): Revert change + from 2001-10-04. + Remove trailing zeros. + +2003-12-17 Werner LEMBERG + + Make \? transparent to end-of-sentence recognition. + + * src/roff/troff/input.cc (non_interpreted_node): Add + `ends_sentence' member function. + +2003-12-16 Werner LEMBERG + + * doc/groff.texinfo: Document `dt' request correctly. + Other minor typographical improvements. + +2003-12-10 Michail Vidiassov + + * src/utils/afmtodit/Makefile.sub (afmtodit): Fix typo. + +2003-12-10 Richard Stallman + + * LICENSE: Better wording. + +2003-12-09 Werner LEMBERG + + * aclocal.m4 (GROFF_BROKEN_SPOOLER_FLAGS): Set default value to 0. + * configure, NEWS: Updated. + +2003-12-08 Werner LEMBERG + + * FDL: Updated to version 1.2 (from www.gnu.org/copyleft). + +2003-12-07 Bernd Warken + + * LICENSE: Updated. + +2003-12-07 Werner LEMBERG + + * INSTALL: Improved. + +2003-12-05 Keith Marshall + + Use path separator character of target platform for compiled-in + default paths. + + * aclocal.m4 (GROFF_TARGET_PATH_SEPARATOR): New macro. + * configure.ac: Use GROFF_TARGET_PATH_SEPARATOR. + * configure: Regenerated. + * Makefile.in (SEP): Use GROFF_PATH_SEPARATOR. + +2003-12-05 Werner LEMBERG + + * src/include/nonposix.h (PATH_SEP_CHAR): New definition. + Replace `PATH_SEP[0]' with `PATH_SEP_CHAR' everywhere. + +2003-12-04 Bernd Warken + + * LICENSE: New file. + +2003-12-03 Werner LEMBERG + + * src/utils/afmtodit/afmtodit.pl: Comment out code which handles + ligatures present in AFM files since groff currently only + understands some standard ligatures and nothing else. + +2003-12-03 Jeff Conrad + + * src/roff/groff/groff.cpp (main): Don't run the spooler if + option -v is given. + + * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix error + messages. + Close stdout copy. + Don't use Unix wait flags. + +2003-12-02 Werner LEMBERG + + * src/roff/troff/glyphuni.cpp, src/roff/troff/unicode.cpp, + src/roff/troff/unicode.h, src/roff/troff/uniglyph.cpp, + src/roff/troff/uniuni.cpp: Moved to... + * src/libs/libgroff/glyphuni.cpp, src/libs/libgroff/unicode.cpp, + src/libs/libgroff/unicode.h, src/libs/libgroff/uniglyph.cpp, + src/libs/libgroff/uniuni.cpp: Here. + + * src/include/Makefile.sub.old (HDRS), + src/libs/libgroff/Makefile.sub (OBJS, CCSRCS), + src/roff/troff/Makefile.sub (HDRS, PBJS, CCSRCS): Updated. + +2003-12-01 Keith Marshall + + * src/preproc/htlp/pre-html.cpp (__tmpfile): Renamed to + `DEBUG_FILE'. + Updated all users. + +2003-12-01 Werner LEMBERG + + * groff.texinfo: Document special behaviour of `.vs 0'. + Improve documentation of `cflags' request. + * NEWS: Updated. + +2003-11-29 Werner LEMBERG + + * font/devlj4/generate/Makefile (CORONET): Use correct TFM. + * font/devlj4/CORONET: Regenerated. + +2003-11-24 Werner LEMBERG + + * src/roff/troff/env.cpp (hyphen_trie::read_patterns_file): Fix loop + if processing hyphenation patterns in traditional mode. + Improve error messages. + +2003-11-20 Werner LEMBERG + + * src/roff/troff/node.cpp (troff_output_file::put_char_width, + troff_output_file::put_char): Fix type of local variable `c'. + +2003-11-19 Werner LEMBERG + + * src/roff/groff/pipeline.c (P): Removed. Updated all function + declarations. + (i_to_a): Removed. libgroff already provides this function. + (run_pipeline) [_WIN32]: Don't use itoa but i_to_a. + +2003-11-18 Keith Marshall + + * src/roff/groff/pipeline.c (xstrsignal): Fix usage of + HAVE_DECL_SYS_LIST. + +2003-11-17 Werner LEMBERG + + * COPYING: Use correct version. + +2003-11-11 Werner LEMBERG + + LynxOS 4.0.0 doesn't declare vfprintf. + + * configure.ac: Check for vfprintf. + * configure: Regenerated. + * src/include/lib.h: Handle `NEED_DECLARATION_VFPRINTF'. + * src/include/config.hin: Regenerated. + +2003-11-10 Werner LEMBERG + + LynxOS 4.0.0 has snprintf (without declaration) but no vsnprintf. + + * configure.ac: Check for vsnprintf. + * configure: Regenerated. + * src/include/lib.h: Handle `NEED_DECLARATION_VSNPRINTF' and + `HAVE_VSNPRINTF'. + * src/include/config.hin: Regenerated. + +2003-11-09 Werner LEMBERG + + * aclocal.m4: Updated syntax to autoconf 2.59. + (GROFF_HTML_PROGRAMS): Use AC_FOREACH. + Don't check for gsos2. + (GROFF_SRCDIR, GROFF_BUILDDIR): Removed. autoconf 2.59 provides + working abs_top_srcdir and abs_top_builddir. + + * configure.ac: Updated syntax to autoconf 2.59. + Don't call GROFF_SRCDIR and GROFF_BUILDDIR. + Replace call to AC_DECL_SYS_SIGLIST with call to AC_CHECK_DECLS. + * configure: Regenerated. + + * Makefile.in, doc/Makefile.in: s/@top_srcdir@/@abs_top_srcdir@/, + s/@groff_top_builddir@/@abs_top_builddir@/. + + * src/roff/groff/pipeline.c (xstrsignal): + s/SYS_SIGLIST_DECLARED/HAVE_DECL_SYS_SIGLIST/. + +2003-11-07 Werner LEMBERG + + * src/devices/grodvi/dvi.cpp (draw_dvi_printer::draw) ['a']: Always + make start angle smaller than end angle to circumvent a bug in tpic + handling of some versions of dvipdfm (and dvipdfmx). + +2003-10-30 Werner LEMBERG + + * src/devices/grops/grops.man: Improve section on creating EPS. + +2003-10-29 Werner LEMBERG + + * contrib/pic2graph/pic2graph.sh: Fix typo (-P-letter -> + -P-pletter). + +2003-10-28 Werner LEMBERG + + * doc/groff.texinfo: Fix documentation of `.if'. + +2003-10-27 Michail Vidiassov + + * src/utils/afmtodit/afmtodit.pl: Handle unmapped characters of + the form `uniXXXX' also. + +2003-10-27 Werner LEMBERG + + * contrib/eqn2graph/eqn2graph.sh, contrib/grap2graph/grap2graph.sh, + contrib/pic2graph/pic2graph.sh: Implement secure management of + temporary files. + Pass `-P-pletter' to groff to avoid data outside of the converted + area -- some versions of `convert' (for example 5.3.8) don't check + the bounding box of the image but always use a fixed image size + (letter paper format). + * contrib/eqn2graph/eqn2graph.man, contrib/grap2graph/grap2graph.man, + contrib/pic2graph/pic2graph.man: Updated. + + * src/roff/groff/groff.man: Document $TMP and $TEMP. + +2003-10-26 Werner LEMBERG + + * src/preproc/pic/troff.cpp (troff_output::simple_circle, + troff_output::simple_ellipse, troff_output::simple_arc, + troff_output::simple_line, troff_output::simple_spline, + troff_output::simple_polygon): Insert a space before arguments. + (troff_output::set_fill): Emit `\&' before `\D'Fg...' since the + latter doesn't produce a node, so the following `.sp -1' would do + the wrong thing. + Don't emit `.sp -1' after \M. This also doesn't produce a token + (and we don't have to care about compatibility mode). + (troff_output::set_color, troff_output::reset_color): Don't emit + `.sp -1' after \M and \m. + + * src/roff/troff/input.cpp (old_have_input): New global variable. + (input_stack::get): Handle `old_have_input'. + (process_input_stack) : Call + `trapping_blank_line' depending on `old_have_input', not + `have_input'. + +2003-10-20 Keith Marshall + + * src/libs/libgroff/tmpfile.cpp [__MSDOS__, _Win32] + (WIN32_TMPDIR_ENVVAR, MSDOS_TMPDIR_ENVVAR): New macros, providing + default directory names for temporary files. + [__MSDOS__, _Win32] (temp_init::temp_init): Use them. + + * src/roff/groff/pipeline.c [__MSDOS__]: Include stdlib.h. + [__MSDOS__] (run_pipeline): Honour environment variables. + Don't use `tmpnam' but `tempnam' to work around messy + implementation. + + * README.MinGW: New file. + +2003-10-16 Werner LEMBERG + + * src/preproc/html/pre-html.cpp (write_upto_newline): Don't use + `(*t)->next' without testing validity of `*t'. + (usage): Make it more readable. + +2003-10-16 Keith Marshall + + Make html device run under both MS-DOS and Win32. + + * src/preproc/html/pre-html.cpp (MAY_FORK_CHILD_PROCESS, + MAY_SPAWN_ASYNCHRONOUS_CHILD): New macros to control whether + spawn or fork+exec has to be used, and whether parent must sleep + until the child process terminates. Used in + `char_buffer::run_output_filter'. + (copyofstdoutfd): Removed. + (char_buffer): Replace `write_file_html' and `write_file_troff' + member functions with `emit_troff_output' and `run_output_filter'. + (DEVICE_FORMAT, HTML_OUTPUT_FILTER, IMAGE_OUTPUT_FILTER): New + macros. + (replaceFd): Replaced with... + (set_redirection): New auxiliary function. + (waitForChild): Replaced with... + (save_and_redirect): New auxiliary function for. + + (char_buffer::do_html, char_buffer::do_image): Simplified, using new + functions. + +2003-10-14 Keith Marshall + + * aclocal.m4 (GROFF_SYS_NERR): Check stdlib.h also. + (GROFF_LIBC): New function. + * configure.ac: Call GROFF_LIBC. + Check for `kill'. + * configure: Regenerated. + + * src/include/lib.h: Handle __MINGW32__. + * src/include/nonposix.h [_MSC_VER]: Handle __MINGW32__. + Add macro for `pipe'. + Define P_tmpdir. + + * src/roff/groff/pipeline.c (run_pipeline): Handle `no_pipe' + correctly. + + * src/utils/indxbib/signal.c (handle_fatal_signal) [!HAVE_KILL]: + Implement. + +2003-10-13 Werner LEMBERG + + Finally fix change 2003-08-26, based on ideas from Chuck Silvers + . + + * contrib/mom/Makefile.sub: Use a stamp file in the `examples' + directory. + +2003-10-12 Werner LEMBERG + + * src/roff/groff/groff.cpp (help), src/devices/grops/ps.cpp (usage), + src/roff/troff/input.cc (usage): Updated. + + * NEWS, doc/groff.texinfo: Updated. + +2003-10-12 Peter Miller + + * src/libs/libgroff/searchpath.cpp + (search_path::open_file_cautious): New function which also handles + `-' as stdin and stdout depending on the access mode. + * src/include/searchpath.h (search_path): Updated. + + * src/devices/grops/ps.cpp (main): Handle new `-I' switch. + * src/devices/grops/ps.h: Include `searchpath.h'. + * src/devices/grops/psrm.cpp (resource_manager::supply_resource): + Open resource file with `include_search_path.open_file_cautious'. + * src/devices/grops/grops.man: Document new `-I' switch. + + * src/devices/grodvi/dvi.cpp (main), src/devices/grolbp/lbp.cpp + (main), src/devices/grolj4/lj4.cpp (main), + src/devices/grotty/tty.cpp (main): Ignore new `-I' switch. + + * src/preproc/soelim/soelim.cpp (include_list_length, include_list): + Replaced with... + (include_search_path): New global variable. + (include_path_append): Removed. + (main): Use `include_search_path.command_line_dir' to handle `-I'. + (do_file): Simplify, using new + `include_search_path.open_file_cautious'. + + * src/roff/groff/groff.cpp (print_commands): Accept file handle as + parameter. + (main): Pass arguments to `-I' to both troff and devices. + Improve handling of `-V'. + * src/roff/groff/groff.man: Document changes to -I and -V. + + * src/roff/troff/input.cpp (include_search_path): New global + variable. + (next_file, source, ps_bbox_request, transparent_file, + process_input_file): Use new + `include_search_path.open_file_cautious'. + (main) Handle `-I' switch. + * src/roff/troff/node.cpp (troff_output_file::really_copy_file): + Use new `include_search_path.open_file_cautious'. + * src/roff/troff/node.h: New extern symbol `include_search_path'. + * src/roff/troff/troff.man: Document new `-I' switch. + +2003-09-15 Ruslan Ermilov + + Support multiple calls of .Lb in LIBRARY section. + + * tmac/doc-common (doc-in-library-section): New register. + (doc-section-library): New string. + (Sh): Set `doc-in-library-section'. + (Rd): Updated. + * tmac/doc-syms (Lb): Insert breaks before and after arguments + if in LIBRARY section. + * tmac/doc.tmac (doc-save-global-vars): Updated. + * NEWS, tmac/groff_mdoc.man: Updated. + +2003-09-14 Ruslan Ermilov + + * tmac/doc-common (doc-default-operating-system): New variable. + (Os): Use it. + +2003-09-08 Werner LEMBERG + + * tmac/doc.tmac (doc-reset-reference): Handle data for `%I' also. + +2003-08-31 Werner LEMBERG + + * contrib/mom/Makefile.sub: Fix last change to make it really work. + * Makefile.comm: Use `test ... ||' in favor of `if test ...; then'. + (install_dev, uninstall_dev): Check whether $(DEVSCRIPTS) and + $(DEVFILES) are not empty. + * Makefile.in: Use `test ... ||' in favor of `if test ...; then'. + +2003-08-26 Chuck Silvers + + * contrib/mom/Makefile.sub (prepare_make_examples): Make it work + with parallel runs of `make'. + +2003-08-23 Stephen Gildea + + * src/preproc/ref/ref.cpp (reference::compute_sort_key): Always + insert SORT_SEP. With certain combinations of sort specifications, + refer sorted entries in the wrong order. In particular, entries + with a missing field should be be sorted before all entries that + have that field, before refer looks to the next field. + +2003-08-23 Werner LEMBERG + + * src/utils/pfbtops/Makefile.sub (LINK.c): Define it so that the + g++ linker is used. Reported by Mark J. Reed + . + +2003-08-16 Heinz-Jürgen Oertel + + Add key character `x' to tbl which makes tbl call a user-defined + macro on a table cell. + + * src/preproc/tbl/table.h (entry_modifier): Add `macro'. + * src/preproc/tbl/table.cpp (block_entry::do_divert): Call + `set_modifier' after printing the compatibility request. + (set_modifier): Print call to `m->macro' if not empty. + * src/preproc/tbl/main.cpp (entry_format::debug_print): Handle + `macro'. + (process_format): Implement cases `x' and `X'. + * src/preproc/tbl/tbl.man, NEWS: Updated. + +2003-08-15 Werner LEMBERG + + * doc/groff.texinfo: Minor fixes. + +2003-08-09 Werner LEMBERG + + * tmac/an-old.tmac [cR]: Fix redefinition of `bp'. + +2003-08-07 Werner LEMBERG + + * doc/Makefile.sub: Not all shells expand wildcards in the `for' + argument list to nothing if there is no file to match. Use `ls' as + a protection, similar to autoconf. + + * Makefile.comm (install_dev, uninstall_dev): Protect `for' against + empty argument lists. + + * doc/groff.texinfo: Improve documentation how vertical spacing + and line breaks interact. + Other minor fixes. + + * tmac/www.tmac: Initialize `www-htmlimage-gap'. + +2003-08-03 Werner LEMBERG + + * NEWS, src/devices/grops/grops.man: -b16 is necessary to produce + EPS (using eps2eps or similar programs to compute the bounding box). + +2003-07-24 Werner LEMBERG + + * doc/groff.texinfo: Use the new @/ command to avoid overlong lines. + * doc/texinfo.tex: Updated from texinfo 4.6. + * README.CVS: From now on we need texinfo 4.6. + +2003-07-23 Werner LEMBERG + + Add requests `dei1' and `ami1' for completeness. + + * src/roff/troff/input.cc (calling_mode): Remove + CALLING_DISABLE_COMP. + (comp_mode): New enumeration. + (do_define_string, define_string, define_nocomp_string, + append_string, append_nocomp_string): Updated. + (do_define_macro): Add third parameter. + (define_macro, define_nocomp_macro, define_indirect_macro, + append_macro, append_nocomp_macro, append_indirect_macro): Updated. + (define_indirect_nocomp_macro, append_indirect_nocomp_macro): New + functions. + (ignore): Updated. + (init_input_requests): Add `dei1' and `ami1'. + + * tmac/trace.tmac: Handle de1 and am1. + (de): Improve tracing message. + (am): Add missing `do'. + (return): Use de1. + + * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo: + Document new requests. + +2003-07-22 Heinz-Jürgen Oertel + + Add option -G to .MPIMG to insert a gap between text and the image. + + * tmac/www.tmac (www-finish-left-po, www-finish-right-ll, + www-finish-left-ll): Updated. + (www-image-just, www-image-gap, www-htmlimage-gap): New variables. + (MPIMG): Make option -L and -R optional. + Implement option -G. + +2003-07-22 Gaius Mulley + + * src/devices/grohtml/post-html.cpp + (html_printer::do_file_components): Don't use `stdout' as lvalue + since it can be a macro. + +2003-07-22 Werner LEMBERG + + * src/libs/libgroff/strerror.c: Include errno.h to be in sync with + the corresponding test in aclocal.m4. + +2003-07-21 Werner LEMBERG + + * src/preproc/html/pre-html.cpp (TRANSPARENT): Don't use colour + names but RGB values directly. Otherwise pnmtopng depends on + an external file `rgb.txt' which maps colour names to values. + +2003-07-20 Werner LEMBERG + + * aclocal.m4 (GROFF_SYS_ERRLIST): Include stdlib.h for MinGW. + * configure, src/include/config.hin: Regenerated. + + * src/libs/libgroff/strerror.c: Include stdlib.h for MinGW. + +2003-07-19 Werner LEMBERG + + * PROBLEMS: Add solution for UTF-8 problem with hyphens. + +2003-07-18 Werner LEMBERG + + * *.man: Switch to non-compatibility mode temporarily if GNU + syntax extensions are used in the particular man page. + + * PROBLEMS: Add solutions for SGR problems. + +2003-07-17 Werner LEMBERG + + Don't ignore grotty's command line options if \X'tty: sgr ...' is + used to change the drawing scheme. + + * src/devives/grotty/tty.cpp (bold_flag_option, + underline_flag_option, italic_flag_option, reverse_flag_option, + bold_underline_mode_option): New global variables. + (update_options): New function. + (tty_printer::special): Call update_options. + (main): Don't set xxx_flag but xxx_flag_option, then call + update_options. + +2003-07-14 Werner LEMBERG + + Make grotty emit proper Unicode box drawing characters for -Tutf8. + + * src/devices/grotty/tty.cpp (START_LINE, END_LINE): New enum + values. + (hline_char, vline_char): New global variables. + (tty_printer::tty_printer): Initialize them. + (tty_printer::draw): Emit START_LINE and END_LINE flags for both + horizontal and vertical lines. + (crossings): New global array. + (tty_printer::end_page): Use it to determine the proper crossing + character for -Tutf8. + +2003-07-12 Werner LEMBERG + + * doc/Makefilesub (HTMLDOCFILESALL): New macro. + (HTMLDOCFILES): Revert to `pic.html'. + (CLEANADD, install_html, uninstall_sub): Use HTMLDOCFILESALL. + +2003-07-11 Werner LEMBERG + + * doc/pic.ms: Improve documentation of absolute coordinates. + Document absolute positioning of pictures. + + * NEWS: Add new pic capability. + +2003-07-09 Hartmut Henkel + + * src/libs/libgroff/geometry.cpp (check_output_arc_limits): + Rewritten. + +2003-07-07 Werner LEMBERG + + Implement support for dashed and dotted ellipses in pic. Based on + a patch from Hartmut Henkel . + + * src/preproc/pic/common.cpp (common_output::ellipse_arc, + common_output::dashed_ellipse, common_output::dotted_ellipse): New + functions. Ellipse arcs are approximated with circle arcs. + * src/preproc/pic/common.h (common_output): Updated. + * src/preproc/pic/tex.cpp (tex_output::ellipse): Use new ellipse + functions. + * src/preproc/pic/troff.cpp (simple_output::ellipse): Ditto. + + * src/preproc/pic/TODO, src/preproc/pic/pic.man: Updated. + +2003-07-06 Werner LEMBERG + + Make grotty work on platforms which have unsigned char as the + default for char. Based on a patch by Thomas Klausner + . + + * src/devices/grotty/tty.cpp (schar): New typedef. + Updated calls to declare_ptable and implement_ptable. + (glyph): Use schar for back_color_idx and fore_color_idx. + (tty_printer): Use schar for curr_fore_idx and curr_back_idx. + (tty_printer::tty_color, tty_printer::tty_printer, + tty_printer::color_to_idx, tty_printer::put_color): Updated. + +2003-07-06 Ruslan Ermilov + + * src/roff/nroff/nroff.sh: Add option -d for completeness. + * src/roff/nroff/nroff.man: Updated. + +2003-07-05 Werner LEMBERG + + * NEWS, tmac/groff_www.man: Updated. + * doc/Makefile.sub: Updated. + +2003-07-05 Gaius Mulley + + Implement support for multiple HTML output files. + + * src/preproc/html/pre-html.cpp (scanArguments): Dummy handling for + -j command line option. + + * src/devices/grohtml/post-html.cpp (job_name, multiple_files): New + global variables. + (file): New fields `new_output_file', `require_links', + `output_file_name'. + (file::file): Updated. + (files::set_file_name, files::set_links_required, + files::are_links_required, files::is_new_output_file, + files::file_name, files::next_file_name): New functions. + (header_desc): New fields `no_of_level_one_headings', + `header_filename'. + (header_desc::header_desc): Updated. + (header_desc::write_headings): Handle multiple files. + (html_printer::write_header): Save file name in which header occurs. + (html_printer::determine_header_level): Possibly split files on + level one headings. + (html_printer::do_links, html_printer::troff_tag): Updated. + (html_printer::insert_split_file, html_printer::do_job_name, + html_printer::emit_link, html_printer::write_navigation, + html_printer::do_file_components): New functions. + (html_printer::~html_printer): Handle multiple files. + (main): Handle command line option `-j'. + + * src/devices/grohtml/grohtml.man: Updated. + + * doc/Makefile.sub (pic.html), doc/Makefile.in (pic.html): New rule + which splits file. + + * tmac/www.tmac (JOBNAME): New macro. + * tmac/s.tmac (SH-NO-TAG): New macro. + (@SH): Call SH-NO-TAG. + (@NH): Updated. + +2003-07-05 Ruslan Ermilov + + * tmac/groff_mdoc.man: Improve documentation of punctuation + characters. + +2003-07-04 Ruslan Ermilov + + * tmac/doc.tmac (Bd): Change to doc-Li-font later. + +2003-07-03 Werner LEMBERG + + * tmac/an-old.tmac [cR]: Redefine `bp' to avoid empty lines. + +2003-07-01 Ruslan Ermilov + + * tmac/doc.tmac (doc-do-func, doc-do-func-args): Don't print a comma + after `/*' and `*/'. + Fix spacing. + (Fn, Fo): Reduce indentation in synopsis. + + * tmac/doc-common (doc-check-depth): New macro. + (doc-end-macro, Sh, Ss): Use it. + (Cd): Fix behaviour in synopsis. + (In): Make it parsed and callable. + If not in the synopsis, represent the C header file enclosed in + angle brackets. + (doc-str-Rv-std-suffix, doc-str-Rv-stds-suffix, doc-str-Rv-std0): + Use minus, not hyphen. + + * tmc/groff_mdoc.man: Updated. + +2003-07-01 Werner LEMBERG + + Integrated grap2graph, contributed by Eric S. Raymond. + + * contrib/grap2graph/{Makefile.sub, grap2graph.sh, grap2graph.man}: + New files. + * Makefile.in, NEWS, MANIFEST, contrib/eqn2graph.man, + contrib/pic2graph.man, src/roff/groff/groff.man: Updated. + +2003-07-01 Colin Watson + + * src/xditview/*.c: Add prototypes, fix return types, add includes. + Based on work by Fumitoshi UKAI . + +2003-06-31 Ruslan Ermilov + + * tmac/tty-char.tmac: Provide `lb', `rb', `lk', `rk', `lt', `rt'. + +2003-06-31 Werner LEMBERG + + * doc/Makefile.sub (CLEANADD): Remove all files created by + running `make groff.{pdf,dvi}'. + + * Makefile.sub (DISTCLEANFILES): Remove all non-source files from + src/xditview also. + +2003-06-30 Werner LEMBERG + + * Makefile.in (SHELL): Define as @SHELL@. + (mkinstalldirs): Use $(SHELL). + (MDEFINES): Add $(SHELL). + * Makefile.comm (SHELL): Removed. + +2003-06-29 Werner LEMBERG + + * tmac/s.tmac (De, Ds): New aliases for .DE and .DS, respectively. + The X11 documentation files use them. + * tmac/groff_ms.man, doc/groff.texinfo: Document them. + +2003-06-15 Robert Goulding + + * tmac/e.tmac (@C): Handle .ad also. + +2003-06-12 Werner LEMBERG + + * src/preproc/tbl/tbl.man: Document formatting of text blocks. + + * src/roff/troff/input.cc (token::next) : + Assign `n' even here. It is possible to construct a node + immediately following an escape character: + + .di xx + \?\\\?a + .br + .di + .xx + +2003-06-10 Werner LEMBERG + + * README.WIN32: Removed. + * MANIFEST: Updated. + +2003-06-07 Werner LEMBERG + + * src/roff/nroff/nroff.sh: Don't emit SGR for option -u. + +2003-06-05 Werner LEMBERG + + * src/preproc/pic/pic.y : Implement workaround for bug + in Compaq C++ V6.5-033 for Compaq Tru64 UNIX V5.1A (Rev. 1885). + +2003-06-03 Werner LEMBERG + + * src/preproc/grn/hdb.cpp (DBRead): Don't close file handle; this + is done by the calling function. + +2003-05-22 Ruslan Ermilov + + * tmac/X.tmac: Fix definition of `em'. + +2003-05-22 Werner LEMBERG + + * src/roff/troff/input.cc (return_macro_request): Fix detection of + argument. + +2003-05-18 Werner LEMBERG + + * tmac/doc.tmac (doc-tag-list): Force horizontal mode after tag + to make items work which consist only of a tag. + +2003-05-17 Werner LEMBERG + + * tmac/doc.tmac (doc-tag-list): Don't use \Z to assure that spaces + aren't stretched in a tag (this can fail with unformatted boxes). + Instead, insert a break and go back one line. + +2003-05-16 Werner LEMBERG + + * src/roff/troff/input.cc (return_macro_request): If called with + argument pop macro twice. We need this to trace `return'. + + * tmac/trace.tmac: Handle `return'. + Fix typos. + + * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo: + Document. + +2003-05-15 Larry Kollar + + * tmac/groff_ms.man, doc/groff.texinfo: Improve documentation of + registers `FPS', `FVS', and `FPD'. + +2003-05-15 Werner LEMBERG + + * src/utils/pfbtops/pfbtops.c (get_text): Handle loop counter + correctly. + +2003-05-03 Ruslan Ermilov + + * tmac/groff_mdoc.man: Slight improvements. + +2003-05-03 Werner LEMBERG + + * tmac/doc-common (doc-header): Emit vertical space of 1v instead of + `doc-header-space' after header line if register `cR' is set. + +2003-05-02 Werner LEMBERG + + * TODO: Updated. + +2003-05-01 Ruslan Ermilov + + * tmac/doc-common (Nd): Use \[em]. + +2003-05-01 Werner LEMBERG + + * tmac/doc-ditroff, tmac/doc-nroff (doc-header-space, + doc-footer-space): Initialize to 0.5i. + (doc-setup-page-layout): Don't set doc-header-space and + doc-footer-space. + +2003-04-30 Werner LEMBERG + + * REVISION: Set to 1. + + * doc/pic.ms: Document possible problems with `figname'. + 2003-04-29 Werner LEMBERG +Version 1.19 released +===================== + * VERSION: Set to 1.19. * REVISION: Set to 0. * doc/groff.texinfo, doc/webpage.ms, NEWS: Updated. @@ -2467,7 +4047,7 @@ Implement change described above. * man/groff_char.man, tmac/doc-common (doc-header), tmac/doc.tmac - (doc-do-Bd-args, doc-do-Bl-args: Changed accordingly. + (doc-do-Bd-args, doc-do-Bl-args): Changed accordingly. * NEWS, doc/groff.texinfo, man/groff_diff.man: Updated. diff -ruN groff-1.19/FDL groff-1.19.1/FDL --- groff-1.19/FDL Wed May 17 23:48:11 2000 +++ groff-1.19.1/FDL Mon Dec 8 11:11:46 2003 @@ -1,7 +1,8 @@ GNU Free Documentation License - Version 1.1, March 2000 + Version 1.2, November 2002 - Copyright (C) 2000 Free Software Foundation, Inc. + + Copyright (C) 2000,2001,2002 Free Software Foundation, Inc. 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. @@ -10,12 +11,12 @@ 0. PREAMBLE The purpose of this License is to make a manual, textbook, or other -written document "free" in the sense of freedom: to assure everyone -the effective freedom to copy and redistribute it, with or without -modifying it, either commercially or noncommercially. Secondarily, -this License preserves for the author and publisher a way to get -credit for their work, while not being considered responsible for -modifications made by others. +functional and useful document "free" in the sense of freedom: to +assure everyone the effective freedom to copy and redistribute it, +with or without modifying it, either commercially or noncommercially. +Secondarily, this License preserves for the author and publisher a way +to get credit for their work, while not being considered responsible +for modifications made by others. This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It @@ -33,11 +34,15 @@ 1. APPLICABILITY AND DEFINITIONS -This License applies to any manual or other work that contains a -notice placed by the copyright holder saying it can be distributed -under the terms of this License. The "Document", below, refers to any -such manual or work. Any member of the public is a licensee, and is -addressed as "you". +This License applies to any manual or other work, in any medium, that +contains a notice placed by the copyright holder saying it can be +distributed under the terms of this License. Such a notice grants a +world-wide, royalty-free license, unlimited in duration, to use that +work under the conditions stated herein. The "Document", below, +refers to any such manual or work. Any member of the public is a +licensee, and is addressed as "you". You accept the license if you +copy, modify or distribute the work in a way requiring permission +under copyright law. A "Modified Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with @@ -47,7 +52,7 @@ the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly -within that overall subject. (For example, if the Document is in part a +within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, @@ -56,33 +61,40 @@ The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice -that says that the Document is released under this License. +that says that the Document is released under this License. If a +section does not fit the above definition of Secondary then it is not +allowed to be designated as Invariant. The Document may contain zero +Invariant Sections. If the Document does not identify any Invariant +Sections then there are none. The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that -the Document is released under this License. +the Document is released under this License. A Front-Cover Text may +be at most 5 words, and a Back-Cover Text may be at most 25 words. A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose specification is available to the -general public, whose contents can be viewed and edited directly and +general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file -format whose markup has been designed to thwart or discourage -subsequent modification by readers is not Transparent. A copy that is -not "Transparent" is called "Opaque". +format whose markup, or absence of markup, has been arranged to thwart +or discourage subsequent modification by readers is not Transparent. +An image format is not Transparent if used for any substantial amount +of text. A copy that is not "Transparent" is called "Opaque". Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple -HTML designed for human modification. Opaque formats include -PostScript, PDF, proprietary formats that can be read and edited only -by proprietary word processors, SGML or XML for which the DTD and/or +HTML, PostScript or PDF designed for human modification. Examples of +transparent image formats include PNG, XCF and JPG. Opaque formats +include proprietary formats that can be read and edited only by +proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the -machine-generated HTML produced by some word processors for output -purposes only. +machine-generated HTML, PostScript or PDF produced by some word +processors for output purposes only. The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material @@ -91,6 +103,21 @@ the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text. +A section "Entitled XYZ" means a named subunit of the Document whose +title either is precisely XYZ or contains XYZ in parentheses following +text that translates XYZ in another language. (Here XYZ stands for a +specific section name mentioned below, such as "Acknowledgements", +"Dedications", "Endorsements", or "History".) To "Preserve the Title" +of such a section when you modify the Document means that it remains a +section "Entitled XYZ" according to this definition. + +The Document may include Warranty Disclaimers next to the notice which +states that this License applies to the Document. These Warranty +Disclaimers are considered to be included by reference in this +License, but only as regards disclaiming warranties: any other +implication that these Warranty Disclaimers may have is void and has +no effect on the meaning of this License. + 2. VERBATIM COPYING @@ -110,9 +137,10 @@ 3. COPYING IN QUANTITY -If you publish printed copies of the Document numbering more than 100, -and the Document's license notice requires Cover Texts, you must enclose -the copies in covers that carry, clearly and legibly, all these Cover +If you publish printed copies (or copies in media that commonly have +printed covers) of the Document, numbering more than 100, and the +Document's license notice requires Cover Texts, you must enclose the +copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present @@ -130,16 +158,15 @@ If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy -a publicly-accessible computer-network location containing a complete -Transparent copy of the Document, free of added material, which the -general network-using public has access to download anonymously at no -charge using public-standard network protocols. If you use the latter -option, you must take reasonably prudent steps, when you begin -distribution of Opaque copies in quantity, to ensure that this -Transparent copy will remain thus accessible at the stated location -until at least one year after the last time you distribute an Opaque -copy (directly or through your agents or retailers) of that edition to -the public. +a computer-network location from which the general network-using +public has access to download using public-standard network protocols +a complete Transparent copy of the Document, free of added material. +If you use the latter option, you must take reasonably prudent steps, +when you begin distribution of Opaque copies in quantity, to ensure +that this Transparent copy will remain thus accessible at the stated +location until at least one year after the last time you distribute an +Opaque copy (directly or through your agents or retailers) of that +edition to the public. It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give @@ -163,7 +190,8 @@ B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the - Document (all of its principal authors, if it has less than five). + Document (all of its principal authors, if it has fewer than five), + unless they release you from this requirement. C. State on the Title page the name of the publisher of the Modified Version, as the publisher. D. Preserve all the copyright notices of the Document. @@ -175,10 +203,10 @@ G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice. H. Include an unaltered copy of this License. -I. Preserve the section entitled "History", and its title, and add to - it an item stating at least the title, year, new authors, and +I. Preserve the section Entitled "History", Preserve its Title, and add + to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If - there is no section entitled "History" in the Document, create one + there is no section Entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence. @@ -189,17 +217,18 @@ You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission. -K. In any section entitled "Acknowledgements" or "Dedications", - preserve the section's title, and preserve in the section all the - substance and tone of each of the contributor acknowledgements +K. For any section Entitled "Acknowledgements" or "Dedications", + Preserve the Title of the section, and preserve in the section all + the substance and tone of each of the contributor acknowledgements and/or dedications given therein. L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles. -M. Delete any section entitled "Endorsements". Such a section +M. Delete any section Entitled "Endorsements". Such a section may not be included in the Modified Version. -N. Do not retitle any existing section as "Endorsements" +N. Do not retitle any existing section to be Entitled "Endorsements" or to conflict in title with any Invariant Section. +O. Preserve any Warranty Disclaimers. If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material @@ -208,7 +237,7 @@ list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles. -You may add a section entitled "Endorsements", provided it contains +You may add a section Entitled "Endorsements", provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a @@ -236,7 +265,7 @@ versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its -license notice. +license notice, and that you preserve all their Warranty Disclaimers. The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single @@ -247,11 +276,11 @@ Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work. -In the combination, you must combine any sections entitled "History" -in the various original documents, forming one section entitled -"History"; likewise combine any sections entitled "Acknowledgements", -and any sections entitled "Dedications". You must delete all sections -entitled "Endorsements." +In the combination, you must combine any sections Entitled "History" +in the various original documents, forming one section Entitled +"History"; likewise combine any sections Entitled "Acknowledgements", +and any sections Entitled "Dedications". You must delete all sections +Entitled "Endorsements". 6. COLLECTIONS OF DOCUMENTS @@ -268,23 +297,24 @@ other respects regarding verbatim copying of that document. - 7. AGGREGATION WITH INDEPENDENT WORKS A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or -distribution medium, does not as a whole count as a Modified Version -of the Document, provided no compilation copyright is claimed for the -compilation. Such a compilation is called an "aggregate", and this -License does not apply to the other self-contained works thus compiled -with the Document, on account of their being thus compiled, if they -are not themselves derivative works of the Document. +distribution medium, is called an "aggregate" if the copyright +resulting from the compilation is not used to limit the legal rights +of the compilation's users beyond what the individual works permit. +When the Document is included in an aggregate, this License does not +apply to the other works in the aggregate which are not themselves +derivative works of the Document. If the Cover Text requirement of section 3 is applicable to these -copies of the Document, then if the Document is less than one quarter -of the entire aggregate, the Document's Cover Texts may be placed on -covers that surround only the Document within the aggregate. -Otherwise they must appear on covers around the whole aggregate. +copies of the Document, then if the Document is less than one half of +the entire aggregate, the Document's Cover Texts may be placed on +covers that bracket the Document within the aggregate, or the +electronic equivalent of covers if the Document is in electronic form. +Otherwise they must appear on printed covers that bracket the whole +aggregate. 8. TRANSLATION @@ -295,10 +325,17 @@ permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a -translation of this License provided that you also include the -original English version of this License. In case of a disagreement -between the translation and the original English version of this -License, the original English version will prevail. +translation of this License, and all the license notices in the +Document, and any Warranty Disclaimers, provided that you also include +the original English version of this License and the original versions +of those notices and disclaimers. In case of a disagreement between +the translation and the original version of this License or a notice +or disclaimer, the original version will prevail. + +If a section in the Document is Entitled "Acknowledgements", +"Dedications", or "History", the requirement (section 4) to Preserve +its Title (section 1) will typically require changing the actual +title. 9. TERMINATION @@ -317,8 +354,8 @@ The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. See -http:///www.gnu.org/copyleft/. +differ in detail to address new problems or concerns. See +http://www.gnu.org/copyleft/. Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this @@ -336,23 +373,25 @@ the License in the document and put the following copyright and license notices just after the title page: - Copyright (c) YEAR YOUR NAME. - Permission is granted to copy, distribute and/or modify this document - under the terms of the GNU Free Documentation License, Version 1.1 - or any later version published by the Free Software Foundation; - with the Invariant Sections being LIST THEIR TITLES, with the - Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. - A copy of the license is included in the section entitled "GNU - Free Documentation License". - -If you have no Invariant Sections, write "with no Invariant Sections" -instead of saying which ones are invariant. If you have no -Front-Cover Texts, write "no Front-Cover Texts" instead of -"Front-Cover Texts being LIST"; likewise for Back-Cover Texts. + Copyright (c) YEAR YOUR NAME. + Permission is granted to copy, distribute and/or modify this document + under the terms of the GNU Free Documentation License, Version 1.2 + or any later version published by the Free Software Foundation; + with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. + A copy of the license is included in the section entitled "GNU + Free Documentation License". + +If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, +replace the "with...Texts." line with this: + + with the Invariant Sections being LIST THEIR TITLES, with the + Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. + +If you have Invariant Sections without Cover Texts, or some other +combination of the three, merge those two alternatives to suit the +situation. If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software. - - diff -ruN groff-1.19/INSTALL groff-1.19.1/INSTALL --- groff-1.19/INSTALL Sat Apr 12 16:07:57 2003 +++ groff-1.19.1/INSTALL Tue May 4 07:50:35 2004 @@ -5,6 +5,9 @@ (For instructions how to build groff with DJGPP tools for MS-DOS and MS-Windows, see the file arch/djgpp/README.) +(For instructions how to build groff with the MinGW tools for +MS-Windows, see the file README.MinGW.) + groff is written in C++, so you will need a C++ compiler. The C++ source files use a suffix of `.cpp', so your C++ compiler must be able to handle this. If you don't already have a C++ compiler, I suggest @@ -25,9 +28,10 @@ PAGE=xxx ./configure where `xxx' should be either `A4' or `letter'. Note that this will only -affect the paper selection for grops. For compatibility with ditroff, -the default page length in gtroff is always 11 inches. The page length -can be changed with the `pl' request. +affect the paper selection of some device drivers like grops (which can +be still overridden on the command line). For compatibility with +ditroff, the default page length in gtroff is always 11 inches. The +page length can be changed with the `pl' request. When you have built 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 @@ -43,8 +47,9 @@ To get a DVI, PDF, or HTML version of the groff texinfo manual, say `make groff.dvi', `make groff.pdf', or `make groff.html', respectively, in the -`doc' subdirectory (after compiling the groff package). Note that you -need texinfo version 4.3 or newer as a prerequisite. +`doc' subdirectory (after configuring the groff package). Note that you +need texinfo version 4.6 as a prerequisite. Neither older versions nor +texinfo 4.7 (due to a bug) will work. 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 -ruN groff-1.19/LICENSE groff-1.19.1/LICENSE --- groff-1.19/LICENSE Thu Jan 1 01:00:00 1970 +++ groff-1.19.1/LICENSE Thu Dec 11 09:17:31 2003 @@ -0,0 +1,21 @@ +LICENSE + +The groff program is a free software project. It is licensed under +the GNU General Public License (GNU GPL), version 2 or later. + +The file COPYING in the top directory of the groff source package +contains a copy of the GPL that was downloaded from the GNU web site +http://www.gnu.org/copyleft/gpl.txt at 1 dec 2003. + +All files of the groff source package are licensed under this version +of the GPL (or licenses which are compatible with the GPL). +You are free to choose version 2 or any subsequent version of the GPL. + +The GPL names an address where you can get the actual version by +normal post. Further information is found in the internet at +http://www.gnu.org/copyleft. + +The groff program is a GNU package, and the copyright of all files of +the groff source package which are under the GPL has been assigned to +the Free Sofware Foundation (FSF). Information on GNU and FSF is +found at http://www.fsf.org/. diff -ruN groff-1.19/MANIFEST groff-1.19.1/MANIFEST --- groff-1.19/MANIFEST Sat Apr 12 16:07:33 2003 +++ groff-1.19.1/MANIFEST Tue May 11 22:12:50 2004 @@ -1,10 +1,10 @@ MANIFEST -Last update: 13 Apr 2003 +Last update: 10 May 2004 This file is part of groff, the GNU roff type-setting system. -Copyright (C) 2001, 2003 Free Software Foundation, Inc. +Copyright (C) 2001, 2003, 2004 Free Software Foundation, Inc. written by Bernd Warken maintained by Werner Lemberg @@ -31,13 +31,15 @@ FDL The Free Documentation License (FDL). INSTALL Information on compiling and installing groff. INSTALL.gen Generic information on configuration and compiling. + LICENSE Licensing information. MANIFEST The file you are reading. MORE.STUFF Useful stuff in other packages. NEWS Recent user-visible changes in groff. PROBLEMS Tips to handle known critical situations. PROJECTS Long-term additions to groff. README Availability and contact information for groff. - README.WIN32 Documentation of the Win32 port of groff. + README.CVS Development build information. + README.MinGW Build information for MinGW. TODO Things planned for future groff versions. All other files in the top directory are related to the configuration, @@ -48,10 +50,12 @@ ./arch Data that is special for different architectures. djgpp Data special for the 32-bit DOS compiler djgpp. + misc Data needed for various platforms. ./contrib Part of groff, but maintained by other people. eqn2graph Convert equations created with EQN into different graphical formats. + grap2graph Convert grap diagraps into different graphical formats. groffer A wrapper to conveniently view roff files. mm The groff mm macro package. mom The groff mom macro package. diff -ruN groff-1.19/MORE.STUFF groff-1.19.1/MORE.STUFF --- groff-1.19/MORE.STUFF Wed Aug 7 00:38:56 2002 +++ groff-1.19.1/MORE.STUFF Thu Jun 12 13:54:56 2003 @@ -1,8 +1,8 @@ More stuff for groff ==================== -win32 ------ +Windows 32 +---------- Here two ports using the gcc compiler and other GNU tools: @@ -32,7 +32,7 @@ ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/gro*b.zip and its mirrors; for installation details please read `arch/djgpp/README'. -This port also runs on win32 systems, except Win2K. +This port also runs on Windows 32 systems, except Windows 2000. grap ---- @@ -43,14 +43,15 @@ http://www.lunabase.org/~faber/Vault/software/grap/ -A djgpp port which runs on dos and most win32 systems (Win95, Win98, -WinNT) done by Kees Zeelenberg is available from +A djgpp port which runs on dos and most Windows 32 systems (Windows 95, +Windows 98, Windows NT) done by Kees Zeelenberg +is available from ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2apps/ It is intended to be used with the djgpp port of groff. -A win32 port is included in the groff package available from +A Windows 32 port is included in the groff package available from http://gnuwin32.sourceforge.net/ @@ -110,14 +111,14 @@ http://www.moria.de/deroff/ -Version 1.6 compiled with DJGPP (for MS-DOS and all Win32 systems, i.e. -Win95, Win98, WinNT) is available from +Version 1.6 compiled with DJGPP (for MS-DOS and all Windows 32 systems, +i.e. Windows 95, Windows 98, Windows NT) is available from ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2apps/ and its mirrors. -A win32 port of version 1.8 is available from +A Windows 32 port of version 1.8 is available from http://gnuwin32.sourceforge.net/ diff -ruN groff-1.19/Makefile.comm groff-1.19.1/Makefile.comm --- groff-1.19/Makefile.comm Sat Apr 12 16:06:46 2003 +++ groff-1.19.1/Makefile.comm Tue Mar 9 07:47:58 2004 @@ -1,4 +1,4 @@ -# Copyright (C) 1989-2000, 2002 Free Software Foundation, Inc. +# Copyright (C) 1989-2000, 2002, 2003, 2004 Free Software Foundation, Inc. # Written by James Clark (jjc@jclark.com) # # This file is part of groff. @@ -19,7 +19,6 @@ # # Makefile.comm # -SHELL=/bin/sh INCLUDES=-I. -I$(srcdir) \ -I$(top_builddir)/src/include -I$(top_srcdir)/src/include ALL_CCFLAGS=$(INCLUDES) $(CCDEFINES) $(CCFLAGS) $(CPPFLAGS) @@ -119,7 +118,7 @@ -test -f y.tab.h && mv y.tab.h y_tab.h -test -f y.tab.c && mv y.tab.c y_tab.c mv y_tab.c $(YTABC) - if test -n "$(YTABH)"; then mv y_tab.h $(YTABH); fi + test -z "$(YTABH)" || mv y_tab.h $(YTABH) # The next rule is needed for make of Solaris 2.5.1 to override its # built-in .y.o rule (which takes precedence over the .y.cpp rule above). @@ -132,7 +131,7 @@ -test -f y.tab.h && mv y.tab.h y_tab.h -test -f y.tab.c && mv y.tab.c y_tab.c mv y_tab.c $(YTABC) - if test -n "$(YTABH)"; then mv y_tab.h $(YTABH); fi + test -z "$(YTABH)" || mv y_tab.h $(YTABH) $(COMPILE.cpp) $(YTABC) .man.n: @@ -235,32 +234,35 @@ -test -d $(fontdir) || $(mkinstalldirs) $(fontdir) -test -d $(fontsubdir) || $(mkinstalldirs) $(fontsubdir) -if test -d $(srcdir)/generate; then \ - test -d $(fontsubdir)/generate || \ - $(mkinstalldirs) $(fontsubdir)/generate; \ + test -d $(fontsubdir)/generate \ + || $(mkinstalldirs) $(fontsubdir)/generate; \ fi - -for f in $(DEVFILES); do \ - rm -f $(fontsubdir)/$$f; \ - if test -f $$f; then \ - $(INSTALL_DATA) $$f $(fontsubdir)/$$f; \ - else \ - $(INSTALL_DATA) $(srcdir)/$$f $(fontsubdir)/$$f; \ - fi; \ - done - -for f in $(DEVSCRIPTS); do \ - rm -f $(fontsubdir)/$$f; \ - if test -f $$f; then \ - $(INSTALL_SCRIPT) $$f $(fontsubdir)/$$f; \ - else \ - $(INSTALL_SCRIPT) $(srcdir)/$$f $(fontsubdir)/$$f; \ - fi; \ - done + -test -z "$(DEVFILES)" \ + || for f in ""$(DEVFILES); do \ + rm -f $(fontsubdir)/$$f; \ + if test -f $$f; then \ + $(INSTALL_DATA) $$f $(fontsubdir)/$$f; \ + else \ + $(INSTALL_DATA) $(srcdir)/$$f $(fontsubdir)/$$f; \ + fi; \ + done + -test -z "$(DEVSCRIPTS)" \ + || for f in ""$(DEVSCRIPTS); do \ + rm -f $(fontsubdir)/$$f; \ + if test -f $$f; then \ + $(INSTALL_SCRIPT) $$f $(fontsubdir)/$$f; \ + else \ + $(INSTALL_SCRIPT) $(srcdir)/$$f $(fontsubdir)/$$f; \ + fi; \ + done .PHONY: uninstall_dev uninstall_dev: - -for f in $(DEVFILES) $(DEVSCRIPTS); do rm -f $(fontsubdir)/$$f; done - -if test -d $(fontsubdir)/generate; then \ - rmdir $(fontsubdir)/generate; \ - fi + -test -z "$(DEVFILES)$(DEVSCRIPTS)" \ + || for f in ""$(DEVFILES) $(DEVSCRIPTS); do \ + rm -f $(fontsubdir)/$$f; \ + done + -test -d $(fontsubdir)/generate && rmdir $(fontsubdir)/generate -rmdir $(fontsubdir) .PHONY: depend_src @@ -278,10 +280,9 @@ || $(CCC) $(ALL_CCFLAGS) -MM $(CCSRCS) $$ytabc >>depend.temp test -z "$(CSRCS)" \ || $(CC) $(ALL_CFLAGS) -MM $(CSRCS) >>depend.temp - if test -n "$(YTABH)"; then \ - sed -e 's|$(YTABH)|$(YTABC)|g' depend.temp >depend1.temp; \ - mv depend1.temp depend.temp; \ - fi + test -z "$(YTABH)" \ + || (sed -e 's|$(YTABH)|$(YTABC)|g' depend.temp >depend1.temp; \ + mv depend1.temp depend.temp) .PHONY: TAGS_src TAGS_src: diff -ruN groff-1.19/Makefile.in groff-1.19.1/Makefile.in --- groff-1.19/Makefile.in Tue Apr 22 16:39:08 2003 +++ groff-1.19.1/Makefile.in Wed Apr 7 17:33:39 2004 @@ -1,4 +1,5 @@ -# Copyright (C) 1989-2000, 2001, 2002, 2003 Free Software Foundation, Inc. +# Copyright (C) 1989-2000, 2001, 2002, 2003, 2004 +# Free Software Foundation, Inc. # Written by James Clark (jjc@jclark.com) # # This file is part of groff. @@ -17,11 +18,21 @@ # with groff; see the file COPYING. If not, write to the Free Software # Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +SHELL=@SHELL@ + srcdir=@srcdir@ -top_srcdir=@top_srcdir@ +top_srcdir=@abs_top_srcdir@ VPATH=@srcdir@ -top_builddir=@groff_top_builddir@ -SEP=@PATH_SEPARATOR@ +top_builddir=@abs_top_builddir@ + +# `RT_SEP' is the operating system's native PATH SEPARATOR CHAR, which +# is to be used in runtime PATHs compiled into groff executables. +RT_SEP=@GROFF_PATH_SEPARATOR@ + +# `SH_SEP' is a alternative PATH SEPARATOR CHAR, to be used in shell +# scripts and makefile rules; it may be the same as `RT_SEP', but, +# particularly in some Microsoft environments, it may differ. +SH_SEP=@PATH_SEPARATOR@ version=`cat $(top_srcdir)/VERSION` # No additional number if revision is zero. @@ -121,7 +132,7 @@ legacyfontdir=/usr/lib/font # `fontpath' says where to look for dev*/*. -fontpath=$(localfontdir)$(SEP)$(fontdir)$(SEP)$(legacyfontdir) +fontpath=$(localfontdir)$(RT_SEP)$(fontdir)$(RT_SEP)$(legacyfontdir) # `tmacdir' says where to install macros. tmacdir=$(datasubdir)/tmac @@ -137,7 +148,7 @@ # directory will be always added. # `troffrc' and `troffrc-end' (and `eqnrc') are searched neither in the # current nor in the home directory. -tmacpath=$(systemtmacdir)$(SEP)$(localtmacdir)$(SEP)$(tmacdir) +tmacpath=$(systemtmacdir)$(RT_SEP)$(localtmacdir)$(RT_SEP)$(tmacdir) # `sys_tmac_prefix' is prefix (if any) for system macro packages. sys_tmac_prefix=@sys_tmac_prefix@ @@ -232,6 +243,7 @@ # -DHAVE_GETCWD if you have getcwd() # -DHAVE_GETTIMEOFDAY if you have gettimeofday() # -DHAVE_ISATTY if you have isatty() +# -DHAVE_KILL if you have kill() # -DHAVE_MKSTEMP if you have mkstemp() # -DHAVE_MMAP if you have mmap() # -DHAVE_PUTENV if you have putenv() @@ -243,6 +255,7 @@ # -DHAVE_STRERROR if you have strerror() # -DHAVE_STRSEP if you have strsep() # -DHAVE_STRTOL if you have strtol() +# -DHAVE_VSNPRINTF if you have vsnprintf() # # -DNEED_DECLARATION_GETTIMEOFTODAY # if your C++ doesn't declare @@ -250,15 +263,21 @@ # -DNEED_DECLARATION_HYPOT if your C++ doesn't declare hypot() # -DNEED_DECLARATION_PCLOSE if your C++ doesn't declare pclose() # -DNEED_DECLARATION_POPEN if your C++ doesn't declare popen() -# -DNEED_DECLARATION_PUTENV if your C++ doesn't declare putenv() +# -DNEED_DECLARATION_PUTENV if your C++ doesn't declare +# putenv() # -DNEED_DECLARATION_RAND if your C++ doesn't declare rand() -# -DNEED_DECLARATION_SNPRINTF if your C++ doesn't declare snprintf() +# -DNEED_DECLARATION_SNPRINTF if your C++ doesn't declare +# snprintf() # -DNEED_DECLARATION_SRAND if your C++ doesn't declare srand() # -DNEED_DECLARATION_STRCASECMP if your C++ doesn't declare # strcasecmp() # -DNEED_DECLARATION_STRNCASECMP # if your C++ doesn't declare # strncasecmp() +# -DNEED_DECLARATION_VFPRINTF if your C++ doesn't declare +# vfprintf() +# -DNEED_DECLARATION_VSNPRINTF if your C++ doesn't declare +# vsnprintf() # # -DRET_TYPE_SRAND_IS_VOID if srand() returns void not int # -DHAVE_SYS_NERR if you have sysnerr in or @@ -279,6 +298,7 @@ # strerror,strncasecmp,strtol}.$(OBJEXT) # # in LIBOBJS if your C library is missing the corresponding function. +# vsnprintf is defined in the snprintf.$(OBJEXT) module. LIBOBJS=@LIBOBJS@ # `CCC' is the compiler for C++ (.cpp) files. @@ -317,9 +337,11 @@ PERLPATH=@PERLPATH@ # Sed command with which to edit sh scripts. SH_SCRIPT_SED_CMD=@SH_SCRIPT_SED_CMD@ +# Sed script to deal with OS dependencies in sh scripts. +SH_DEPS_SED_SCRIPT=$(top_builddir)/arch/misc/shdeps.sed # The program to create directory hierarchies. -mkinstalldirs=$(top_srcdir)/mkinstalldirs +mkinstalldirs= $(SHELL) $(top_srcdir)/mkinstalldirs PURIFY=purify PURIFYCCFLAGS= @@ -362,8 +384,11 @@ "PURIFY=$(PURIFY)" \ "PURIFYCCFLAGS=$(PURIFYCCFLAGS)" \ "RANLIB=$(RANLIB)" \ - "SEP=$(SEP)" \ + "RT_SEP=$(RT_SEP)" \ + "SH_SEP=$(SH_SEP)" \ + "SHELL=$(SHELL)" \ "SH_SCRIPT_SED_CMD=$(SH_SCRIPT_SED_CMD)" \ + "SH_DEPS_SED_SCRIPT=$(SH_DEPS_SED_SCRIPT)" \ "TTYDEVDIRS=$(TTYDEVDIRS)" \ "YACC=$(YACC)" \ "YACCFLAGS=$(YACCFLAGS)" \ @@ -413,7 +438,6 @@ "top_srcdir=$(top_srcdir)" \ "version=$(version)" -SHELL=/bin/sh INCDIRS=src/include LIBDIRS=\ src/libs/libgroff \ @@ -442,7 +466,8 @@ src/utils/lkbib \ src/utils/addftinfo CPROGDIRS=src/utils/pfbtops -PROGDIRS=$(CCPROGDIRS) $(CPROGDIRS) +PROGDEPDIRS=arch/misc +PROGDIRS=$(PROGDEPDIRS) $(CCPROGDIRS) $(CPROGDIRS) DEVDIRS=\ font/devps \ font/devdvi \ @@ -465,6 +490,7 @@ contrib/mm \ contrib/pic2graph \ contrib/eqn2graph \ + contrib/grap2graph \ contrib/groffer \ contrib/mom \ doc @@ -493,8 +519,8 @@ # where Make needs to be case-sensitive to find files like BI and VERSION. ENVSETUP=\ if test -f $(srcdir)/makefile.ccpg* && \ - test -f $(srcdir)/Makefile.ccpg*; \ - then FNCASE=y; export FNCASE; \ + test -f $(srcdir)/Makefile.ccpg*; then \ + FNCASE=y; export FNCASE; \ else :; \ fi @@ -515,9 +541,10 @@ $(LIBDIRS): FORCE @$(ENVSETUP); \ - if test $(srcdir) = .; \ - then srcdir=.; \ - else srcdir=`cd $(srcdir); pwd`/$@; \ + if test $(srcdir) = .; then \ + srcdir=.; \ + else \ + srcdir=`cd $(srcdir); pwd`/$@; \ fi; \ test -d $@ || $(mkinstalldirs) $@; \ cd $@; \ @@ -530,9 +557,10 @@ $(CPROGDIRS): FORCE @$(ENVSETUP); \ - if test $(srcdir) = .; \ - then srcdir=.; \ - else srcdir=`cd $(srcdir); pwd`/$@; \ + if test $(srcdir) = .; then \ + srcdir=.; \ + else \ + srcdir=`cd $(srcdir); pwd`/$@; \ fi; \ test -d $@ || $(mkinstalldirs) $@; \ cd $@; \ @@ -545,9 +573,10 @@ $(CCPROGDIRS): FORCE @$(ENVSETUP); \ - if test $(srcdir) = .; \ - then srcdir=.; \ - else srcdir=`cd $(srcdir); pwd`/$@; \ + if test $(srcdir) = .; then \ + srcdir=.; \ + else \ + srcdir=`cd $(srcdir); pwd`/$@; \ fi; \ test -d $@ || $(mkinstalldirs) $@; \ cd $@; \ @@ -560,9 +589,10 @@ $(DEVDIRS) $(OTHERDEVDIRS) $(TTYDEVDIRS): FORCE @$(ENVSETUP); \ - if test $(srcdir) = .; \ - then srcdir=.; \ - else srcdir=`cd $(srcdir); pwd`/$@; \ + if test $(srcdir) = .; then \ + srcdir=.; \ + else \ + srcdir=`cd $(srcdir); pwd`/$@; \ fi; \ test -d $@ || $(mkinstalldirs) $@; \ cd $@; \ @@ -571,11 +601,12 @@ -f $$srcdir/Makefile.sub \ -f $(top_srcdir)/Makefile.dev $(do) -$(INCDIRS) $(OTHERDIRS): FORCE +$(INCDIRS) $(PROGDEPDIRS) $(OTHERDIRS): FORCE @$(ENVSETUP); \ - if test $(srcdir) = .; \ - then srcdir=.; \ - else srcdir=`cd $(srcdir); pwd`/$@; \ + if test $(srcdir) = .; then \ + srcdir=.; \ + else \ + srcdir=`cd $(srcdir); pwd`/$@; \ fi; \ test -d $@ || $(mkinstalldirs) $@; \ cd $@; \ diff -ruN groff-1.19/Makefile.sub groff-1.19.1/Makefile.sub --- groff-1.19/Makefile.sub Tue Mar 4 07:18:02 2003 +++ groff-1.19.1/Makefile.sub Wed Apr 7 15:54:23 2004 @@ -4,7 +4,11 @@ config.cache \ stamp-h \ Makefile \ + test-groff \ src/xditview/Imakefile \ + src/xditview/Makefile \ + src/xditview/*.o \ + src/xditview/gxditview src/xditview/xtotroff \ $(srcdir)/src/xditview/gxditview._man \ src/include/config.h CLEANADD=Makefile.cfg conftest* diff -ruN groff-1.19/NEWS groff-1.19.1/NEWS --- groff-1.19/NEWS Tue Apr 29 09:23:21 2003 +++ groff-1.19.1/NEWS Tue May 11 21:32:58 2004 @@ -1,6 +1,134 @@ This file describes recent user-visible changes in groff. Bug fixes are not described. There are more details in the man and info pages. +VERSION 1.19.1 +============== + +Groff +----- + +o The argument of the command line option `-I' is now also passed to troff + and grops, specifying a directory to search for files on the command line, + files named in `so' and `psbb' requests, and files named in \X'ps: file' + and \X'ps: import' escapes. + +o If option `-V' is used more than once, the commands will be both printed + on standard error and run. + +Troff +----- + +o Two new read-only, string-valued registers `.m' and `.M' return the + name of the current drawing and background color, respectively. + +o New read-only register `.U' which is set to 1 if in safer mode and set + to 0 if in unsafe mode. + +o An input encoding file for latin-5 (a.k.a. ISO 8859-9) has been added. + Example use: + + groff -Tdvi -mlatin5 my_file > my_file.dvi + + Note that some output devices don't support all glyphs of this encoding. + +o If the `return' request is called with an argument, it exits twice, + namely the current macro and the macro one level higher. This is + used to define a wrapper macro for `return' in trace.tmac. + +o For completeness, two new requests have been added: `dei1' and `ami1'. + They are equivalent to `dei' and `ami', respectively, but the macros + are executed with compatibility mode off (similar to `de1' and `am1'). + +o New command line option `-I' to specify a directory for files (both + those on the command line and those named in `psbb' requests). This is + also handled by the groff wrapper program. + +o Since version 1.19 you can say `.vs 0'. Older versions emit a warning + and convert this to `.vs \n[.V]'. + + This hasn't been documented properly. Note that `.vs 0' isn't saved in a + diversion since it doesn't result in vertical motion. + +Pic +___ + +o Dashed and dotted ellipses have been implemented. + +Tbl +--- + +o New key character `x' to make tbl call a user-defined macro on a table + cell. Patch by Heinz-Jürgen Oertel . + +Grap2graph +---------- + +o A new script contributed by Eric S. Raymond . It + converts a grap diagram into a cropped image. Since it uses gs and the + PNM library, virtually all graphics formats are available for output. + [Note that the grap program itself isn't part of the groff package; + see the file MORE.STUFF how to obtain grap.] + +Grohtml +------- + +o New option `-j' to emit output splitted into multiple files. + +Grops +----- + +o New command line option `-I' to specify a directory to search for files + on the command line and files named in \X'ps: import' and \X'ps: file' + escapes. This is also handled by the groff wrapper program. + +o The default value for the `broken' keyword in the DESC file is now 0. + +Grolj4 +------ + +o A new man page `lj4_font(5)' documents how fonts are accessed with + grolj4. + +o The built-in fonts for LJ4 and newer PCL 5 devices have been completely + revised, mainly to access as much glyphs as possible. The provided + metric files should be compatible with recent PCL 5 printers also. + Additionally, font description files have been added for the Arial and + Times New Roman family, the MS symbol, and Wingdings fonts. + +Afmtodit +-------- + +o New option `-x' to prevent use of built-in Adobe Glyph List. + +Hpftodit +-------- + +o Completely revised to handle HP TrueType metric files also. See the + hpftodit manual page for more details. + +Groffer +------- + +o This version is a rewrite of groffer in many parts, but it is kept in + the old single script style. + + New options: --text, --mode text, --tty-viewer, --X, --mode X, + --X-viewer, --html, --mode html, --html-view, --apropos-data, + --apropos-devel, --apropos-progs. + + New documentation file: README_SH. + + Enhancement of the configuration files and the `apropos' handling. + +Macro Packages +-------------- + +o www.tmac: New macro `JOBNAME' to split output into multiple files. + +o In mdoc, multiple calls to `.Lb' are now supported in the LIBRARY + section. + + VERSION 1.19 ============ @@ -17,9 +145,9 @@ and latin-2 only for -Tdvi and -Tutf8. o Composite glyphs are now supported. To do this, a subset of the Adobe - Glyph List (AGL) Algorithm as described in + Glyph List (AGL) Algorithm as described in - http://partners.adobe.com/asn/developer/typeforum/unicodegn.html + http://partners.adobe.com/asn/tech/type/unicodegn.jsp is used to construct glyph names based on Unicode character codes. The existing groff glyph names are frozen; no glyph names which can't be @@ -110,7 +238,10 @@ mechanisms so that it is no longer required to tell `gv' or `ps2pdf' about the paper size. The `broken' flag value 16 omits this feature (the used PostScript command `setpagedevice' is a LanguageLevel 2 - extension). Patch by Egil Kvaleberg . + extension) -- if you intend to further process grops output to get an + encapsulated PS (EPS) file you must also use this option. + + Patch by Egil Kvaleberg . o Non-slanted PostScript metrics have been changed again; they no longer contain negative left italic correction values. This assures correct @@ -316,7 +447,7 @@ grops, grodvi, grotty, and grohtml -- other preprocessors and drivers will follow). A new function `defcolor' defines colors; the escape sequence `\m' sets the drawing color, the escape sequence `\M' specifies the - background color for closed objects created with \D'...' commands. + background color for closed objects created with \D'...' commands. `\m[]' and `\M[]' switch back to the previous color. `\m' and `\M' correspond to the new troff output command sets starting with `m' and `DF'. The device-specific default color is called `default' and can't be diff -ruN groff-1.19/PROBLEMS groff-1.19.1/PROBLEMS --- groff-1.19/PROBLEMS Sun Apr 20 06:31:11 2003 +++ groff-1.19.1/PROBLEMS Tue May 11 21:59:42 2004 @@ -11,6 +11,103 @@ +* Displaying a man page on a terminal with/without my favourite pager + only gives garbage. + +groff by default now uses SGR escape sequences (`ANSI color') to +control the display attributes (bold, underlined, colour) on TTYs. +Some terminals (e.g. `kterm') don't understand SGR, and some pagers +(e.g. older versions of `less' or `less' without the -R option) don't +understand SGR either. There are three solutions to fix this, in order +of preference; please read the grotty man page for more details. + +The fourth and probably best option is to update your terminal program +and pager to versions which can handle SGR. + + 1. Set the GROFF_NO_SGR environment variable. + + 2. Pass option -c to grotty. + + 3. Append the following fragment to the `troffrc' file: + + +--- start --- +.if n \{\ +. nr _C \n(.C +. cp 0 +. +. \" The following code sets a top-of-page trap to disable grotty's TTY +. \" mode. Since neither \X nor .output can be used before the first +. \" page has started, we must use a trap. To make it work with troff's +. \" -o option, we wait until the first printed page. +. +. de sgr@dummy +. . +. +. rn wh wh@old +. +. \" The stand-alone version. If no other trap is set, we can safely +. \" insert the truncated vertical space caused by the trap (if any). +. \" Otherwise we assume that the document's main macro package takes +. \" care of that. As soon as the trap has been executed, it is removed. +. de1 no@sgr +. if \\n[.P] \{\ +. if (\\n[.t] == \\n[.p]) \{\ +. rn wh@old wh +. rm no@sgr +. wh 0 +. sp \\n[.trunc] +. nop \X'tty: sgr 0' +. sp -1 +. \}\} +. . +. +. wh@old 0 no@sgr +. +. \" The piggyback version to be appended to macros planted with the +. \" modified `wh' request. +. de1 no@sgr1 +. if \\n[.P] \{\ +. rn wh@old wh +. ds no@sgr1 +. nop \X'tty: sgr 0' +. sp -1 +. \} +. . +. +. \" We redefine the `wh' request so that `no@sgr1' is appended to +. \" the trap macro. +. de1 wh +. am1 \\$2 sgr@dummy +. no@sgr1 +. sgr@dummy +. wh@old \\$1 \\$2 +. . +. +. cp \n[_C] +.\} +--- end --- + +---------------------------------------------------------------------- + +* The UTF-8 output of grotty has strange characters for the minus, the + hyphen, and the right quote. Why? + +The used Unicode characters (U+2212 for the minus sign and U+2010 for +the hyphen) are the correct ones, but many programs can't search them +properly. The same is true for the right quote (U+201D). To map those +characters back to the ASCII characters, insert the following code +snippet into the `troffrc' configuration file: + +.if '\*[.T]'utf8' \{\ +. char \- \N'45' +. char - \N'45' +. char ' \N'39' +.\} + + +---------------------------------------------------------------------- + * My document says that the current year is 19100, not 2000. In groff, as in traditional troff, the yr number register yields the @@ -295,7 +392,7 @@ A PostScript document must meet three requirements in order to be included with the PSPIC macro: it must comply with the Adobe Document Structuring Conventions; it must contain a BoundingBox line; it must -be ``well-behaved''. The BoundingBox line should be of the form: +be `well-behaved'. The BoundingBox line should be of the form: %%BoundingBox: llx lly urx ury @@ -315,7 +412,7 @@ with a body of `help' to ps-file-server@adobe.com.) If an EPS file to be included via \X'ps: import' does not start with -%!PS-Adobe-...', gtroff will still include the file, but grops will +`%!PS-Adobe-...', gtroff will still include the file, but grops will not add any fonts to the generated output file that are listed in the EPS file, even though the files are listed in the `download' file and are available in the devps directory. @@ -352,8 +449,8 @@ Error: Widget viewport has zero width and/or height This error means you haven't correctly installed the application -defaults file, GXditview.ad; ``make install'' does this for you -automatically, so either you didn't do ``make install'', or you don't +defaults file, GXditview.ad; `make install' does this for you +automatically, so either you didn't do `make install', or you don't have imake configured correctly. ---------------------------------------------------------------------- @@ -362,7 +459,7 @@ the same as when I print the document with -Tps: the line and page breaks come in different places. -Use groff -X -Tps. +Use `groff -X -Tps'. ---------------------------------------------------------------------- @@ -622,6 +719,30 @@ ---------------------------------------------------------------------- +* My compiler fails to build src/utils/indxbib/signal.c, giving + messages like + + signal.c: cannot convert `int (*)(int)' to `void (*)(int)' + for argument `2' to `void (* signal(int, void (*)(int)))(int)' + + I use a C++ compiler for compiling C programs. + +The current version of the configure script doesn't handle C++ very +well if used as a substitute for a C compiler. In this particular +case, it failed to recognize the proper return type of signal handlers. +An easy fix is to manually edit the file `src/include/config.h' +(created by configure), changing the line + + #define RETSIGTYPE int + +to + + #define RETSIGTYPE void + +Say `make clean' before restarting compilation. + +---------------------------------------------------------------------- + * There are many empty `Makefile.dep' files. Is this a bug? No. Real dependency files are created with a `make depend' call. @@ -702,7 +823,7 @@ ---------------------------------------------------------------------- -* On Ultrix, the make stops with the message +* On Ultrix, the make program stops with the message *** Error code 1 @@ -790,6 +911,7 @@ ---------------------------------------------------------------------- -* When compiling on MacOS X, groff compiles but does not run well. +* When compiling on MacOS X, groff compiles but does not run well, + especially `eqn', causing many `can't break line' messages. Use ./configure CXX=g++2 then make as usual. diff -ruN groff-1.19/PROJECTS groff-1.19.1/PROJECTS --- groff-1.19/PROJECTS Mon Mar 6 11:15:38 2000 +++ groff-1.19.1/PROJECTS Tue May 11 21:48:11 2004 @@ -9,8 +9,6 @@ a page-makeup postprocessor and associated macro package (like pm and -mpm) - a complete, self-contained manual -- first results can be found in - doc/groff.texinfo. - If you want to work on one of these, you should probably post to -gnu.groff.bug to see if anyone else has gotten there first. +gnu.groff.bug (or send email to bug-groff@gnu.org) to see if anyone else +has gotten there first. diff -ruN groff-1.19/README groff-1.19.1/README --- groff-1.19/README Sat Aug 10 09:46:01 2002 +++ groff-1.19.1/README Tue May 11 20:53:28 2004 @@ -19,13 +19,10 @@ The file PROBLEMS describes various problems that have been encountered in compiling, installing, and running groff. -For the moment, the documentation assumes that you are already familiar -with the Unix versions of troff, -ms, and the preprocessors. - The most recent released version of groff is always available by anonymous ftp from ftp.gnu.org in the directory pub/gnu/groff. -A CVS repository is now available, containing the current development +A CVS repository is available, containing the current development version of groff. You can access it with the commands export CVSROOT=:pserver:anoncvs@anoncvs.ffii.org:/var/cvs @@ -57,6 +54,11 @@ cd groff- gunzip -c ../groff--current.diff.gz | patch -p1 +Finally, it is possible to access the CVS with a browser by pointing it +to + + http://www.ffii.org/cgi-bin/viewcvs.cgi/groff + Please report bugs using the form in the file BUG-REPORT; the idea of this is to make sure that FSF has all the information it needs to fix the bug. At the very least, read the BUG-REPORT form and make sure @@ -67,7 +69,7 @@ Three mailing lists are available: bug-groff@gnu.org for reporting bugs - groff@gnu.org for general discussion of groff + groff@ffii.org for general discussion of groff groff-commit@ffii.org a read-only list showing logs of commitments to the CVS repository @@ -76,7 +78,10 @@ To subscribe, send a mail to -request@ (example: groff-request@ffii.org) with the word `subscribe' in either the subject -or body of the email (don't include the quotes). +or body of the email (don't include the quotes) or have a look at the +groff mailing list web page at + + http://ffii.org/mailman/listinfo/groff GNU groff was written by James Clark . It is now maintained by Ted Harding and Werner diff -ruN groff-1.19/README.CVS groff-1.19.1/README.CVS --- groff-1.19/README.CVS Sun Apr 20 06:20:22 2003 +++ groff-1.19.1/README.CVS Tue May 4 07:51:11 2004 @@ -1,6 +1,6 @@ You need the following tools to build groff directly from CVS: the netpbm package - texinfo >= 4.3 + texinfo 4.6 (4.7 doesn't work due to bugs in texinfo) bison >= 1.875b or byacc ghostscript diff -ruN groff-1.19/README.MinGW groff-1.19.1/README.MinGW --- groff-1.19/README.MinGW Thu Jan 1 01:00:00 1970 +++ groff-1.19.1/README.MinGW Tue May 11 21:45:28 2004 @@ -0,0 +1,277 @@ + README.MinGW + ============ + + Contributed by Keith Marshall (keith.d.marshall@ntlworld.com) + + + INTRODUCTION + ------------ + + This file provides recommendations for building a Win32 implementation of + GNU Groff, using the MinGW port of GCC for Microsoft (TM) Windows-32 + platforms. It is intended to supplement the standard installation + instructions (see file INSTALL); it does not replace them. + + You require both the MinGW implementation of GCC and its supporting MSYS + toolkit, which provides a Win-32 implementation of the GNU bash shell, and a + few other essential utilities; these may be obtained from + + http://sourceforge.net/projects/mingw + + by following the appropriate download links, where they are available as + self-extracting executable installation packages. If installing both from + scratch, it is recommended that MinGW is installed first, as the MSYS + installer can then automatically set up the proper environment for running + MinGW. + + Additionally, if you wish to compile groff with support for its HTML output + capability, some additional tools are required as decribed in the section + PREREQUISITES FOR HTML OUTPUT later in this file. + + + BUILDING GROFF WITH MINGW + ------------------------- + + Assuming that you have obtained the appropriate groff distribution, and that + you are already running an MSYS shell, then the configuration, compilation, + and installation of groff, using MinGW, is performed in much the same way as + it is described in the INSTALL file, which is provided with the groff + distribution. The installation steps are summarised below: + + 1. Change working directory to any suitable location where you may unpack + the groff distribution; you must be authorized for write access. + Approximately 30MB of free disk space are needed. + + 2. Unpack the groff distribution: + + tar xzf /groff-.tar.gz + + This creates a new sub-directory, groff-, containing an image of + the groff source tree. You should now change directory, to make this + ./groff- your working directory. + + 3. If you are intending to build groff with support for HTML output, then + you must now ensure that the prerequisites described in the later section + PREREQUISITES FOR HTML OUTPUT are satisfied, before proceeding to build + groff; in particular, please ensure that all required support programs + are installed in the current PATH. + + 4. You are now ready to configure, build, and install groff. This is + accomplished using the conventional procedure, as described in the file + INSTALL, i.e. + + ./configure --prefix= ... + make + make install + + Please observe the syntax for the configure command, indicated above; the + default value for --prefix is not suitable for use with MinGW, so the + --prefix= option must be specified, where + is the chosen MS-Windows directory in which the + groff application files are to be installed (see the later section + entitled CHOOSING AN INSTALLATION PATH). Any other desired configuration + options may also be specified, as described in the standard groff + installation instructions. + + 5. After completing the above, groff should be successfully installed; the + build directory is no longer required; it may be simply deleted in its + entirety. Alternatively, you may choose to keep it, but to remove all + files which can be reproduced later, by repeating the configure, make and + make install steps; this is readily accomplished by the command + + make distclean + + + This completes the installation of groff; please read the final sections of + this file, GROFF RUNTIME ENVIRONMENT and CAVEATS AND BUGS, for advice on + setting up the runtime environment, and avoiding known runtime problems, + before running groff. + + + CHOOSING AN INSTALLATION PATH + ----------------------------- + + It may be noted that the above instructions indicate that the ./configure + command must be invoked with an argument specifying a preference for + --prefix=, whereas the standard groff installation + instructions indicate that this may be omitted, in which case it defaults to + --prefix=/usr/local. + + In the case of building with MinGW, the default behaviour of configure is + not appropriate for the following reasons. + + o The MSYS environment creates a virtual UNIX-like file system, with its + root mapped to the actual MS-Windows directory where MSYS itself is + installed; /usr is also mapped to this MSYS installation directory. + + o All of the MSYS tools, and the MinGW implementation of GCC, refer to files + via this virtual file system representation; thus, if the + --prefix= is not specified when groff is configured, + `make install' causes groff to be installed in /local. + + o groff needs to know its own installation path, so that it can locate its + own installed components. This information is compiled in, using the + exact form specified with the --prefix= option to + configure. + + o Knowledge of the MSYS virtual file system is not imparted to groff; it + expects the compiled-in path to its components to be a fully qualified + MS-Windows path name (although UNIX-style slashes are permitted, and + preferred to the MS-Windows style backslashes, to demarcate the directory + hierarchy). Thus, when configuring groff, if + --prefix= is not correctly specified, then the + installed groff application looks for its components in /usr/local, and + most likely doesn't find them, because they are actually installed in + /local. + + It is actually convenient, but by no means a requirement, to have groff + installed in the /usr/local directory of the MSYS virtual file system; this + makes it easy to invoke groff from the MSYS shell, since the virtual + /usr/local/bin is normally added automatically to the PATH (the default + PATH, as set in MSYS's /etc/profile), when MSYS is started. + + In order to install groff into MSYS's /usr/local directory, it is necessary + to specify the fully qualified absolute MS-Windows path to this directory, + when configuring groff, i.e. + + ./configure --prefix=/local ... + + For example, on a system where MSYS is installed in the MS-Windows directory + D:\MSYS\1.0, the MSYS virtual path /usr/local resolves to the absolute + MS-Windows native path D:\MSYS\1.0\local (the /usr component of the MSYS + virtual path does not appear in the resolved absolute native path name since + MSYS maps this directly to the root of the MSYS virtual file system). Thus, + the --prefix option should be specified to configure as + + ./configure --prefix=D:/MSYS/1.0/local ... + + Note that the backslash characters, which appear in the native MS-Windows + form of the path name, are replaced by UNIX-style slashes in the argument to + configure; this is the preferred syntax. + + Also note that the MS-Windows device designator (D: in this instance) is + prepended to the specified path, in the normal MS-Windows format, and that, + since upper and lower case distinctions are ignored in MS-Windows path + names, any combination of upper and lower case is acceptable. + + + PREREQUISITES FOR HTML OUTPUT + ----------------------------- + + If you intend to use groff for production of HTML output, then there are a + few dependencies which must be satisfied. Ideally, these should be resolved + before attempting to configure and build groff, since the configuration + script does check them. + + In order to produce HTML output, you first require a working implementation + of Ghostscript; either the AFPL Ghostscript or the GNU Ghostscript + implementation for MS-Windows should be suitable, depending on your + licensing preference. It is highly recommended to use version 8.11 or + higher due to bugs in older versions. These may be obtained, in the form of + self-installing binary packages, by following the download links for the + chosen licensing option, from http://sourceforge.net/projects/ghostscript. + + Please note that these packages install the Ghostscript interpreter required + by groff in the ./bin subdirectory of the Ghostscript installation + directory, with the name gswin32c.exe. However, groff expects this + interpreter to be located in the system PATH, with the name gs.exe. Thus, + to ensure that groff can correctly locate the Ghostscript interpreter, it is + recommended that the file gswin32c.exe should be copied from the Ghostscript + installation directory to the MSYS /usr/local/bin directory, where it should + be renamed to gs.exe. + + In addition to a working Ghostscript interpreter, you also require several + image manipulation utilities, all of which may be scavenged from various + packages available from http://sourceforge.net/projects/gnuwin32, and which + should be installed in the MSYS /usr/local/bin directory, or any other + suitable directory which is specified in the PATH. These additional + prerequisites are + + 1. from the netpbm--bin.zip package: + + netpbm.dll + pnmcrop.exe + pnmcut.exe + pnmtopng.exe + pnmtops.exe + + 2. from the libpng--bin.zip package: + + libpng.dll + + 3. from the zlib--bin.zip package: + + zlib-1.dll, which must be renamed to zlib.dll + + 4. from the psutils--bin.zip package: + + psselect.exe + + Note that it is not necessary to install the above four packages in their + entirety; of course, you may do so if you wish. + + + GROFF RUNTIME ENVIRONMENT + ------------------------- + + The runtime environment, provided to groff by MSYS, is essentially the same + as would be provided under a UNIX or GNU/Linux operating system; thus, any + environment variables which may be used to customize the groff runtime + environment have similar effects under MSYS, as they would in UNIX or + GNU/Linux, with the exception that any variable specifying a path should + adopt the same syntax as a native MS-Windows PATH specification. + + There is, however, one known problem which is associated with the + implementation of the MS-Windows file system, and the manner in which the + Microsoft runtime library (which is used by the MinGW implementation of GCC) + generates names for temporary files. This known problem arises when groff + is invoked with a current working directory which refers to a network share, + for which the user does not have write access in the root directory, and + there is no environment variable set to define a writeable location for + creating temporary files. When these conditions arise, groff fails with a + `permission denied' error, as soon as it tries to create any temporary file. + + To specify the location for creating temporary files, the standard UNIX or + GNU/Linux implementation of groff provides the GROFF_TMPDIR or TMPDIR + environment variables, whereas MS-Windows applications generally use TMP or + TEMP; furthermore, the MS-Windows implementations of Ghostscript apparently + support the use of only TEMP or TMPDIR. + + To avoid problems with creation of temporary files, it is recommended that + you ensure that both TMP and TEMP are defined, with identical values, to + point to a suitable location for creating temporary files; many MS-Windows + boxes have them set already, and groff has been adapted to honour them, when + built in accordance with the preceding instructions, using MinGW. + + + CAVEATS AND BUGS + ---------------- + + There are two known issues, observed when running groff in the MinGW/MSYS + environment, which would not affect groff in its native UNIX environment: + + o Running groff with the working directory set to a subdirectory of a + network share, where the user does not have write permission in the root + directory of the share, causes groff to fail with a `permission denied' + exception, if the TMP environment variable is not appropriately defined; + it may also be necessary to define the TEMP environment variable, to avoid + a similar failure mode, when using the -Thtml output mode of groff. This + problem is more fully discussed in the preceding section, GROFF RUNTIME + ENVIRONMENT. + + o When running groff (or nroff) to process standard input, where the + standard input stream is obtained directly from the RXVT console provided + with MSYS, groff cannot detect the end-of-file condition for the standard + input stream, and hangs. This appears to be caused by a fault in the MSYS + implementation of RXVT; it may be worked around by either starting MSYS + without RXVT (see the comments in the MSYS.BAT startup script); in this + case standard input is terminated by typing followed by , + on a new input line. Alternatively, if you prefer to use MSYS with RXVT, + you can enter the interactive groff command in the form + + cat | groff ... + + in which case terminates the standard input stream, in just the + same way it does on a UNIX system; the cat executable provided with MSYS + does seem to trap the end-of-file condition, and properly signals groff + that the input stream has terminated. diff -ruN groff-1.19/README.WIN32 groff-1.19.1/README.WIN32 --- groff-1.19/README.WIN32 Mon Jun 26 15:57:25 2000 +++ groff-1.19.1/README.WIN32 Thu Jan 1 01:00:00 1970 @@ -1,68 +0,0 @@ - -WIN32 port of GROFF and friends done by Blake McBride -(blake@florida-software.com) 4/14/00. - -This port differs from other ports in that it uses the Microsoft -compiler. The changes were done such that they only have effect on -the code when compiled with the Microsoft compiler. - -Note that not all preprocessors and output devices have been ported; -missing are grohtml, grolbp, grn, refer, soelim, and groff. Besides -these programs, no utility program has been ported. Of course, -gxditview (which only runs on the X Window System, the standard Unix -GUI) is missing also. - - -The following programs were used, running on Windows NT 4.0: - - Microsoft Visual C++ 6.0 - Unix utilities under NT (gzip, tar, patch) - - -Build Instructions ------------------- - -. Unpack groff (using gzip & tar) as follows: - - cd \ - gzip -dc groff-1.16.tar.gz | tar xvf - - -. Now apply the patch file `win32-diffs': - - cd \groff-1.16 - patch -p1 < win32-diffs - - Note that with older versions of `patch', you will get a lot of - *.orig files (most of them are empty) which can be safely deleted. - -. Edit the file `src/include/defs.h' and adapt the path names to - your needs. - -. Build everything by typing: - - nmake -f Makefile.msc - -You are done. - -The `bin' directory contains some .cmd files to help show how to run -stuff. Since Windows 95/98 doesn't understand .cmd files, if you are -operating under that OS, you'll have to rename them to .bat files. -.bat files do have output redirection problems. - - -The changes I made fall into two categories. - -1. Makefiles. Several makefiles were added. All makefiles were named - Makefile.msc. - -2. The Groff build includes several scripts which generate auxiliary - files used by groff (such as DESC, I, R, prologue, etc). - - -Directories needed at runtime ------------------------------ - -bin -font -tmac -mm (copied, including sub-directories, from contrib/mm) diff -ruN groff-1.19/REVISION groff-1.19.1/REVISION --- groff-1.19/REVISION Tue Apr 29 09:18:53 2003 +++ groff-1.19.1/REVISION Tue Apr 29 23:49:29 2003 @@ -1 +1 @@ -0 +1 diff -ruN groff-1.19/TODO groff-1.19.1/TODO --- groff-1.19/TODO Sat Apr 29 08:02:24 2000 +++ groff-1.19.1/TODO Tue May 11 21:46:36 2004 @@ -1,11 +1,5 @@ Unicode input: - Implementing \U'xxxx' to access Unicode characters directly. - - Making groff 16bit input-clean. - -Separating input and output encodings (similar to LaTeX). - -Better selection of paper sizes with -Tps. + Making groff 21bit input-clean. Make -Tlj4 work with -X. diff -ruN groff-1.19/aclocal.m4 groff-1.19.1/aclocal.m4 --- groff-1.19/aclocal.m4 Thu Apr 17 18:27:43 2003 +++ groff-1.19.1/aclocal.m4 Tue Dec 9 18:39:30 2003 @@ -1,309 +1,401 @@ -dnl Autoconf macros for groff. -dnl Copyright (C) 1989-1995, 2001, 2002 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 -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 -dnl -dnl Bison generated parsers have problems with C++ compilers other than g++. -dnl So byacc is preferred over bison. -dnl -AC_DEFUN(GROFF_PROG_YACC, -[AC_CHECK_PROGS(YACC, byacc 'bison -y', yacc)])dnl -dnl -dnl -dnl The following programs are needed for grohtml. -dnl -AC_DEFUN(GROFF_HTML_PROGRAMS, -[make_html=html -make_install_html=install_html -missing= -AC_CHECK_PROG(pnmcut, pnmcut, found, missing) -if test $pnmcut = missing; then - missing="$missing pnmcut" -fi -AC_CHECK_PROG(pnmcrop, pnmcrop, found, missing) -if test $pnmcrop = missing; then - missing="$missing pnmcrop" -fi -AC_CHECK_PROG(pnmtopng, pnmtopng, found, missing) -if test $pnmtopng = missing; then - missing="$missing pnmtopng" -fi -AC_CHECK_PROG(gs, gs gsos2, found, missing) -if test $gs = missing; then - missing="$missing gs" -fi -AC_CHECK_PROG(psselect, psselect, found, missing) -if test $psselect = missing; then - missing="$missing psselect" -fi -AC_CHECK_PROG(pnmtops, pnmtops, found, missing) -if test $pnmtops = missing; then - missing="$missing pnmtops" -fi -if test -n "$missing"; then - cnt=0 - for i in $missing - do - cnt=`expr $cnt + 1` - eval "prog$cnt=$i" - done - plural="s" - case $cnt in - 1) - plural="" - progs="\`$prog1'" ;; - 2) - progs="\`$prog1' and \`$prog2'" ;; - 3) - progs="\`$prog1', \`$prog2', and \`$prog3'" ;; - 4) - progs="\`$prog1', \`$prog2', \`$prog3', and \`$prog4'" ;; - 5) - progs="\`$prog1', \`$prog2', \`$prog3', \`$prog4', and \`$prog5'" ;; - 6) - progs="\`$prog1', \`$prog2', \`$prog3', \`$prog4', \`$prog5', and \`$prog6'" ;; - esac - make_html= - make_install_html= - AC_MSG_WARN([ +# Autoconf macros for groff. +# Copyright (C) 1989-1995, 2001, 2002, 2003 Free Software Foundation, Inc. +# +# 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. + +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])]) + +# Bison generated parsers have problems with C++ compilers other than g++. +# So byacc is preferred over bison. + +AC_DEFUN([GROFF_PROG_YACC], + [AC_CHECK_PROGS([YACC], [byacc 'bison -y'], [yacc])]) + +# The following programs are needed for grohtml. + +AC_DEFUN([GROFF_HTML_PROGRAMS], + [make_html=html + make_install_html=install_html + + missing= + AC_FOREACH([groff_prog], + [pnmcut pnmcrop pnmtopng psselect pnmtops gs], + [AC_CHECK_PROG(groff_prog, groff_prog, [found], [missing]) + if test $[]groff_prog = missing; then + missing="$missing groff_prog" + fi;]) + + if test -n "$missing"; then + cnt=0 + for i in $missing + do + cnt=`expr $cnt + 1` + eval "prog$cnt=$i" + done + plural="s" + case $cnt in + 1) + plural="" + progs="\`$prog1'" ;; + 2) + progs="\`$prog1' and \`$prog2'" ;; + 3) + progs="\`$prog1', \`$prog2', and \`$prog3'" ;; + 4) + progs="\`$prog1', \`$prog2', \`$prog3', and \`$prog4'" ;; + 5) + progs="\`$prog1', \`$prog2', \`$prog3', \`$prog4', and \`$prog5'" ;; + 6) + progs="\`$prog1', \`$prog2', \`$prog3', \`$prog4', \`$prog5', and \`$prog6'" ;; + esac + + make_html= + make_install_html= + + AC_MSG_WARN([ The program$plural $progs can't be found in the path, thus the HTML backend of groff (grohtml) won't work properly. Consequently, no documentation in HTML format is built and installed. -]) -fi -AC_SUBST(make_html) -AC_SUBST(make_install_html)])dnl -dnl -dnl check to see whether pnmtops can handle the -nosetpage option -dnl -AC_DEFUN(GROFF_PNMTOPS_NOSETPAGE, -[AC_MSG_CHECKING([whether pnmtops can handle the -nosetpage option]) -if echo P2 2 2 255 0 1 2 0 | pnmtops -nosetpage > /dev/null 2>&1 ; then - AC_MSG_RESULT(yes) - pnmtops_nosetpage="pnmtops -nosetpage" -else - AC_MSG_RESULT(no) - pnmtops_nosetpage="pnmtops" -fi -AC_SUBST(pnmtops_nosetpage) -])dnl -dnl -dnl -dnl GROFF_CSH_HACK(if hack present, if not present) -dnl -AC_DEFUN(GROFF_CSH_HACK, -[AC_MSG_CHECKING([for csh hash hack]) + ]) + fi + + AC_SUBST([make_html]) + AC_SUBST([make_install_html])]) + +# Check whether pnmtops can handle the -nosetpage option. + +AC_DEFUN([GROFF_PNMTOPS_NOSETPAGE], + [AC_MSG_CHECKING([whether pnmtops can handle the -nosetpage option]) + if echo P2 2 2 255 0 1 2 0 | pnmtops -nosetpage > /dev/null 2>&1 ; then + AC_MSG_RESULT([yes]) + pnmtops_nosetpage="pnmtops -nosetpage" + else + AC_MSG_RESULT([no]) + pnmtops_nosetpage="pnmtops" + fi + AC_SUBST([pnmtops_nosetpage])]) + +# GROFF_CSH_HACK(if hack present, if not present) + +AC_DEFUN([GROFF_CSH_HACK], + [AC_MSG_CHECKING([for csh hash hack]) + cat <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 -dnl -dnl From udodo!hans@relay.NL.net (Hans Zuidam) -dnl -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, 1, - [Define if you have ISC 3.x or 4.x.]) -else - AC_MSG_RESULT(no) -fi])dnl -dnl -dnl -AC_DEFUN(GROFF_POSIX, -[AC_MSG_CHECKING([whether -D_POSIX_SOURCE is necessary]) -AC_LANG_PUSH(C++) -AC_TRY_COMPILE([#include -extern "C" { void fileno(int); }],, -AC_MSG_RESULT(yes);AC_DEFINE(_POSIX_SOURCE, 1, - [Define if -D_POSIX_SOURCE is necessary.]), -AC_MSG_RESULT(no)) -AC_LANG_POP(C++)])dnl -dnl -dnl -dnl srand() of SunOS 4.1.3 has return type int instead of void -dnl -AC_DEFUN(GROFF_SRAND, -[AC_LANG_PUSH(C++) -AC_MSG_CHECKING([for return type of srand]) -AC_TRY_COMPILE([#include -extern "C" { void srand(unsigned int); }],, -AC_MSG_RESULT(void);AC_DEFINE(RET_TYPE_SRAND_IS_VOID, 1, - [Define if srand() returns void not int.]), -AC_MSG_RESULT(int)) -AC_LANG_POP(C++)])dnl -dnl -dnl -AC_DEFUN(GROFF_SYS_NERR, -[AC_LANG_PUSH(C++) -AC_MSG_CHECKING([for sys_nerr in or ]) -AC_TRY_COMPILE([#include -#include ], -[int k; k = sys_nerr;], -AC_MSG_RESULT(yes);AC_DEFINE(HAVE_SYS_NERR, 1, - [Define if you have sysnerr in or - .]), -AC_MSG_RESULT(no)) -AC_LANG_POP(C++)])dnl -dnl -dnl -AC_DEFUN(GROFF_SYS_ERRLIST, -[AC_MSG_CHECKING([for sys_errlist[] in or ]) -AC_TRY_COMPILE([#include -#include ], -[int k; k = (int)sys_errlist[0];], -AC_MSG_RESULT(yes);AC_DEFINE(HAVE_SYS_ERRLIST, 1, - [Define if you have sys_errlist in - or in .]), -AC_MSG_RESULT(no))])dnl -dnl -dnl -AC_DEFUN(GROFF_OSFCN_H, -[AC_LANG_PUSH(C++) -AC_MSG_CHECKING([C++ ]) -AC_TRY_COMPILE([#include ], -[read(0, 0, 0); open(0, 0);], -AC_MSG_RESULT(yes);AC_DEFINE(HAVE_CC_OSFCN_H, 1, - [Define if you have a C++ .]), -AC_MSG_RESULT(no)) -AC_LANG_POP(C++)])dnl -dnl -dnl -AC_DEFUN(GROFF_LIMITS_H, -[AC_LANG_PUSH(C++) -AC_MSG_CHECKING([C++ ]) -AC_TRY_COMPILE([#include ], -[int x = INT_MIN; int y = INT_MAX; int z = UCHAR_MAX;], -AC_MSG_RESULT(yes);AC_DEFINE(HAVE_CC_LIMITS_H, 1, - [Define if you have a C++ .]), -AC_MSG_RESULT(no)) -AC_LANG_POP(C++)])dnl -dnl -dnl -AC_DEFUN(GROFF_STDINT_H, -[AC_LANG_PUSH(C++) -AC_MSG_CHECKING([C++ ]) -AC_TRY_COMPILE([#include ], -[uint32_t x; int32_t y;], -AC_MSG_RESULT(yes);AC_DEFINE(HAVE_CC_STDINT_H, 1, - [Define if you have a C++ .]), -AC_MSG_RESULT(no)) -AC_LANG_POP(C++)])dnl -dnl -dnl -AC_DEFUN(GROFF_TIME_T, -[AC_LANG_PUSH(C++) -AC_MSG_CHECKING([for declaration of time_t]) -AC_TRY_COMPILE([#include ], -[time_t t = time(0); struct tm *p = localtime(&t);], -AC_MSG_RESULT(yes), -AC_MSG_RESULT(no);AC_DEFINE(LONG_FOR_TIME_T, 1, - [Define if localtime() takes a long * not a - time_t *.])) -AC_LANG_POP(C++)])dnl -dnl -dnl -AC_DEFUN(GROFF_STRUCT_EXCEPTION, -[AC_MSG_CHECKING([struct exception]) -AC_TRY_COMPILE([#include ], -[struct exception e;], -AC_MSG_RESULT(yes);AC_DEFINE(HAVE_STRUCT_EXCEPTION, 1, - [Define if defines struct exception.]), -AC_MSG_RESULT(no))])dnl -dnl -dnl -AC_DEFUN(GROFF_ARRAY_DELETE, -[AC_LANG_PUSH(C++) -AC_MSG_CHECKING([whether ANSI array delete syntax supported]) -AC_TRY_COMPILE(, [char *p = new char[5]; delete [] p;], -AC_MSG_RESULT(yes), -AC_MSG_RESULT(no);AC_DEFINE(ARRAY_DELETE_NEEDS_SIZE, 1, - [Define if your C++ doesn't understand - `delete []'.])) -AC_LANG_POP(C++)])dnl -dnl -dnl -dnl -AC_DEFUN(GROFF_TRADITIONAL_CPP, -[AC_LANG_PUSH(C++) -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, 1, - [Define if your C++ compiler uses a - traditional (Reiser) preprocessor.]), -AC_MSG_RESULT(no)) -AC_LANG_POP(C++)])dnl -dnl -dnl -AC_DEFUN(GROFF_WCOREFLAG, -[AC_MSG_CHECKING([w_coredump]) -AC_TRY_RUN([#include + + 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]) + +# From udodo!hans@relay.NL.net (Hans Zuidam) + +AC_DEFUN([GROFF_ISC_SYSV3], + [AC_MSG_CHECKING([for ISC 3.x or 4.x]) + if grep ['[34]\.'] /usr/options/cb.name >/dev/null 2>&1 + then + AC_MSG_RESULT([yes]) + AC_DEFINE([_SYSV3], [1], [Define if you have ISC 3.x or 4.x.]) + else + AC_MSG_RESULT([no]) + fi]) + +AC_DEFUN([GROFF_POSIX], + [AC_MSG_CHECKING([whether -D_POSIX_SOURCE is necessary]) + AC_LANG_PUSH([C++]) + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ + +#include +extern "C" { void fileno(int); } + + ]]) + ], + [AC_MSG_RESULT([yes]) + AC_DEFINE([_POSIX_SOURCE], [1], + [Define if -D_POSIX_SOURCE is necessary.])], + [AC_MSG_RESULT([no])]) + AC_LANG_POP([C++])]) + +# srand() of SunOS 4.1.3 has return type int instead of void + +AC_DEFUN([GROFF_SRAND], + [AC_LANG_PUSH([C++]) + AC_MSG_CHECKING([for return type of srand]) + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ + +#include +extern "C" { void srand(unsigned int); } + + ]]) + ], + [AC_MSG_RESULT([void]) + AC_DEFINE([RET_TYPE_SRAND_IS_VOID], [1], + [Define if srand() returns void not int.])], + [AC_MSG_RESULT([int])]) + AC_LANG_POP([C++])]) + +AC_DEFUN([GROFF_SYS_NERR], + [AC_LANG_PUSH([C++]) + AC_MSG_CHECKING([for sys_nerr in , , or ]) + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ + +#include +#include +#include + + ]], + [[ + +int k; +k = sys_nerr; + + ]]) + ], + [AC_MSG_RESULT([yes]) + AC_DEFINE([HAVE_SYS_NERR], [1], + [Define if you have sys_nerr in , , or .])], + [AC_MSG_RESULT([no])]) + AC_LANG_POP([C++])]) + +AC_DEFUN([GROFF_SYS_ERRLIST], + [AC_MSG_CHECKING([for sys_errlist[] in , , or ]) + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ + +#include +#include +#include + + ]], + [[ + +int k; +k = (int)sys_errlist[0]; + + ]]) + ], + [AC_MSG_RESULT([yes]) + AC_DEFINE([HAVE_SYS_ERRLIST], [1], + [Define if you have sys_errlist in , , or .])], + [AC_MSG_RESULT([no])])]) + +AC_DEFUN([GROFF_OSFCN_H], + [AC_LANG_PUSH([C++]) + AC_MSG_CHECKING([C++ ]) + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ + +#include + + ]], + [[ + +read(0, 0, 0); +open(0, 0); + + ]]) + ], + [AC_MSG_RESULT([yes]) + AC_DEFINE([HAVE_CC_OSFCN_H], [1], + [Define if you have a C++ .])], + [AC_MSG_RESULT([no])]) + AC_LANG_POP([C++])]) + +AC_DEFUN([GROFF_LIMITS_H], + [AC_LANG_PUSH([C++]) + AC_MSG_CHECKING([C++ ]) + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ + +#include + + ]], + [[ + +int x = INT_MIN; +int y = INT_MAX; +int z = UCHAR_MAX; + + ]]) + ], + [AC_MSG_RESULT([yes]) + AC_DEFINE([HAVE_CC_LIMITS_H], [1], + [Define if you have a C++ .])], + [AC_MSG_RESULT([no])]) + AC_LANG_POP([C++])]) + +AC_DEFUN([GROFF_STDINT_H], + [AC_LANG_PUSH([C++]) + AC_MSG_CHECKING([C++ ]) + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ + +#include + + ]], + [[ + +uint32_t x; +int32_t y; + + ]]) + ], + [AC_MSG_RESULT([yes]) + AC_DEFINE([HAVE_CC_STDINT_H], [1], + [Define if you have a C++ .])], + [AC_MSG_RESULT([no])]) + AC_LANG_POP([C++])]) + +AC_DEFUN([GROFF_TIME_T], + [AC_LANG_PUSH([C++]) + AC_MSG_CHECKING([for declaration of time_t]) + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ + +#include + + ]], + [[ + +time_t t = time(0); +struct tm *p = localtime(&t); + + ]]) + ], + [AC_MSG_RESULT([yes])], + [AC_MSG_RESULT([no]) + AC_DEFINE([LONG_FOR_TIME_T], [1], + [Define if localtime() takes a long * not a time_t *.])]) + AC_LANG_POP([C++])]) + +AC_DEFUN([GROFF_STRUCT_EXCEPTION], + [AC_MSG_CHECKING([struct exception]) + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ + +#include + + ]], + [[ + +struct exception e; + + ]]) + ], + [AC_MSG_RESULT([yes]) + AC_DEFINE([HAVE_STRUCT_EXCEPTION], [1], + [Define if defines struct exception.])], + [AC_MSG_RESULT([no])])]) + +AC_DEFUN([GROFF_ARRAY_DELETE], + [AC_LANG_PUSH([C++]) + AC_MSG_CHECKING([whether ANSI array delete syntax is supported]) + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM(, [[ + +char *p = new char[5]; +delete [] p; + + ]]) + ], + [AC_MSG_RESULT([yes])], + [AC_MSG_RESULT([no]) + AC_DEFINE([ARRAY_DELETE_NEEDS_SIZE], [1], + [Define if your C++ doesn't understand `delete []'.])]) + AC_LANG_POP([C++])]) + +AC_DEFUN([GROFF_TRADITIONAL_CPP], + [AC_LANG_PUSH([C++]) + AC_MSG_CHECKING([traditional preprocessor]) + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ + +#define name2(a, b) a/**/b + + ]], + [[ + +int name2(foo, bar); + + ]]) + ], + [AC_MSG_RESULT([yes]) + AC_DEFINE([TRADITIONAL_CPP], [1], + [Define if your C++ compiler uses a traditional (Reiser) preprocessor.])], + [AC_MSG_RESULT([no])]) + AC_LANG_POP([C++])]) + +AC_DEFUN([GROFF_WCOREFLAG], + [AC_MSG_CHECKING([w_coredump]) + AC_RUN_IFELSE([ + AC_LANG_PROGRAM([[ + +#include #include + + ]], + [[ + main() { #ifdef WCOREFLAG @@ -313,274 +405,307 @@ ((union wait *)&i)->w_coredump = 1; exit(i != 0200); #endif -}], -AC_MSG_RESULT(yes);AC_DEFINE(WCOREFLAG, 0200, - [Define if the 0200 bit of the status returned - by wait() indicates whether a core image was - produced for a process that was terminated by - a signal.]), -AC_MSG_RESULT(no), -AC_MSG_RESULT(no))])dnl -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 -dnl -AC_DEFUN(GROFF_PAGE, -[AC_MSG_CHECKING([default paper size]) -groff_prefix=$prefix -test "x$prefix" = xNONE && groff_prefix=$ac_default_prefix -if test -z "$PAGE"; then - descfile= - if test -r $groff_prefix/share/groff/font/devps/DESC; then - descfile=$groff_prefix/share/groff/font/devps/DESC - elif test -r $groff_prefix/lib/groff/font/devps/DESC; then - descfile=$groff_prefix/lib/groff/font/devps/DESC - else - for f in $groff_prefix/share/groff/*/font/devps/DESC; do - if test -r $f; then - descfile=$f - break - fi - done - fi - if test -n "$descfile"; then -changequote(,)dnl - if grep '^paperlength[ ]\+841890' $descfile - >/dev/null 2>&1; then - PAGE=A4 - elif grep '^papersize[ ]\+[aA]4' $descfile \ - >/dev/null 2>&1; then - PAGE=A4 - fi -changequote([,])dnl - 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" \ - || test "$dom" = '(none)'; 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 -if test "x$PAGE" = "xA4"; then - AC_DEFINE(PAGEA4, 1, - [Define if the printer's page size is A4.]) -fi -AC_MSG_RESULT($PAGE) -AC_SUBST(PAGE)])dnl -dnl -dnl -AC_DEFUN(GROFF_CXX_CHECK, -[AC_REQUIRE([AC_PROG_CXX]) -AC_LANG_PUSH(C++) -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([ +} + + ]]) + ], + [AC_MSG_RESULT([yes]) + AC_DEFINE(WCOREFLAG, 0200, + [Define if the 0200 bit of the status returned by wait() indicates + whether a core image was produced for a process that was terminated + by a signal.])], + [AC_MSG_RESULT([no])], + [AC_MSG_RESULT([no])])]) + +AC_DEFUN([GROFF_BROKEN_SPOOLER_FLAGS], + [AC_MSG_CHECKING([default value for grops -b option]) + test -n "${BROKEN_SPOOLER_FLAGS}" || BROKEN_SPOOLER_FLAGS=0 + AC_MSG_RESULT([$BROKEN_SPOOLER_FLAGS]) + AC_SUBST([BROKEN_SPOOLER_FLAGS])]) + +AC_DEFUN([GROFF_PAGE], + [AC_MSG_CHECKING([default paper size]) + groff_prefix=$prefix + test "x$prefix" = xNONE && groff_prefix=$ac_default_prefix + if test -z "$PAGE"; then + descfile= + if test -r $groff_prefix/share/groff/font/devps/DESC; then + descfile=$groff_prefix/share/groff/font/devps/DESC + elif test -r $groff_prefix/lib/groff/font/devps/DESC; then + descfile=$groff_prefix/lib/groff/font/devps/DESC + else + for f in $groff_prefix/share/groff/*/font/devps/DESC; do + if test -r $f; then + descfile=$f + break + fi + done + fi + + if test -n "$descfile"; then + if grep ['^paperlength[ ]\+841890'] $descfile >/dev/null 2>&1; then + PAGE=A4 + elif grep ['^papersize[ ]\+[aA]4'] $descfile >/dev/null 2>&1; then + PAGE=A4 + fi + 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" \ + || test "$dom" = '(none)'; then + dom=`(hostname) 2>/dev/null | grep '\.'` + fi + fi + # 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 + fi + + test -n "$PAGE" || PAGE=letter + if test "x$PAGE" = "xA4"; then + AC_DEFINE([PAGEA4], [1], + [Define if the printer's page size is A4.]) + fi + AC_MSG_RESULT([$PAGE]) + AC_SUBST([PAGE])]) + +AC_DEFUN([GROFF_CXX_CHECK], + [AC_REQUIRE([AC_PROG_CXX]) + AC_LANG_PUSH([C++]) + if test "$cross_compiling" = no; then + AC_MSG_CHECKING([that C++ compiler can compile simple program]) + fi + AC_RUN_IFELSE([ + AC_LANG_SOURCE([[ + +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_RUN_IFELSE([ + AC_LANG_SOURCE([[ + 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 ], -[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_POP(C++)])dnl -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 -dnl -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 -dnl -dnl We need the path to install-sh to be absolute. -dnl -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"])dnl -dnl -dnl -dnl Test whether install-info is available. -dnl -AC_DEFUN(GROFF_INSTALL_INFO, -[AC_CHECK_PROGS(INSTALL_INFO, install-info, :)])dnl -dnl -dnl -dnl At least one UNIX system, Apple Macintosh Rhapsody 5.5, -dnl does not have -lm. -dnl -AC_DEFUN(GROFF_LIBM, -[AC_CHECK_LIB(m,sin,LIBM=-lm) -AC_SUBST(LIBM)])dnl -dnl -dnl -dnl We need top_srcdir to be absolute. -dnl -AC_DEFUN(GROFF_SRCDIR, -[ac_srcdir_defaulted=no -srcdir=`cd $srcdir; pwd`])dnl -dnl -dnl -dnl This simplifies Makefile rules. -dnl -AC_DEFUN(GROFF_BUILDDIR, -[groff_top_builddir=`pwd` -AC_SUBST(groff_top_builddir)])dnl -dnl -dnl -dnl Check for EBCDIC - stolen from the OS390 Unix LYNX port -dnl -AC_DEFUN(GROFF_EBCDIC, -[AC_MSG_CHECKING([whether character set is EBCDIC]) -AC_TRY_COMPILE(, -[/* Treat any failure as ASCII for compatibility with existing art. - Use compile-time rather than run-time tests for cross-compiler - tolerance. */ + +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_LINK_IFELSE([ + AC_LANG_PROGRAM([[ + +#include + + ]], + [[ + +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_POP([C++])]) + +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]) + + AC_MSG_CHECKING([which system macro packages should be made available]) + tmac_wrap= + 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])]) + +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])]) + +# We need the path to install-sh to be absolute. + +AC_DEFUN([GROFF_INSTALL_SH], + [AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) + ac_dir=`cd $ac_aux_dir; pwd` + ac_install_sh="$ac_dir/install-sh -c"]) + +# Test whether install-info is available. + +AC_DEFUN([GROFF_INSTALL_INFO], + [AC_CHECK_PROGS([INSTALL_INFO], [install-info], [:])]) + +# At least one UNIX system, Apple Macintosh Rhapsody 5.5, +# does not have -lm ... + +AC_DEFUN([GROFF_LIBM], + [AC_CHECK_LIB([m], [sin], [LIBM=-lm]) + AC_SUBST([LIBM])]) + +# ... while the MinGW implementation of GCC for Microsoft Win32 +# does not seem to have -lc. + +AC_DEFUN([GROFF_LIBC], + [AC_CHECK_LIB([c], [main], [LIBC=-lc]) + AC_SUBST([LIBC])]) + +# Check for EBCDIC -- stolen from the OS390 Unix LYNX port + +AC_DEFUN([GROFF_EBCDIC], + [AC_MSG_CHECKING([whether character set is EBCDIC]) + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ + +/* Treat any failure as ASCII for compatibility with existing art. + Use compile-time rather than run-time tests for cross-compiler + tolerance. */ #if '0' != 240 make an error "Character set is not EBCDIC" -#endif], -groff_cv_ebcdic="yes" - TTYDEVDIRS="font/devcp1047" - AC_MSG_RESULT(yes) - AC_DEFINE(IS_EBCDIC_HOST, 1, - [Define if the host's encoding is EBCDIC.]), -groff_cv_ebcdic="no" - TTYDEVDIRS="font/devascii font/devlatin1" - OTHERDEVDIRS="font/devlj4 font/devlbp" - AC_MSG_RESULT(no)) -AC_SUBST(TTYDEVDIRS) -AC_SUBST(OTHERDEVDIRS)])dnl -dnl -dnl -dnl Check for OS/390 Unix. We test for EBCDIC also -- the Linux port (with -dnl gcc) to OS/390 uses ASCII internally. -dnl -AC_DEFUN(GROFF_OS390, -[if test "$groff_cv_ebcdic" = "yes"; then - AC_MSG_CHECKING([for OS/390 Unix]) - case `uname` in - OS/390) - CFLAGS="$CFLAGS -D_ALL_SOURCE" - AC_MSG_RESULT(yes) ;; - *) - AC_MSG_RESULT(no) ;; - esac -fi])dnl -dnl -dnl -dnl Check whether we need a declaration for a function. -dnl -dnl Stolen from GNU bfd. -dnl -AC_DEFUN(GROFF_NEED_DECLARATION, -[AC_MSG_CHECKING([whether $1 must be declared]) -AC_LANG_PUSH(C++) -AC_CACHE_VAL(groff_cv_decl_needed_$1, -[AC_TRY_COMPILE([ +#endif + + ]]) + ], + [groff_cv_ebcdic="yes" + TTYDEVDIRS="font/devcp1047" + AC_MSG_RESULT([yes]) + AC_DEFINE(IS_EBCDIC_HOST, 1, + [Define if the host's encoding is EBCDIC.])], + [groff_cv_ebcdic="no" + TTYDEVDIRS="font/devascii font/devlatin1" + OTHERDEVDIRS="font/devlj4 font/devlbp" + AC_MSG_RESULT([no])]) + AC_SUBST([TTYDEVDIRS]) + AC_SUBST([OTHERDEVDIRS])]) + +# Check for OS/390 Unix. We test for EBCDIC also -- the Linux port (with +# gcc) to OS/390 uses ASCII internally. + +AC_DEFUN([GROFF_OS390], + [if test "$groff_cv_ebcdic" = "yes"; then + AC_MSG_CHECKING([for OS/390 Unix]) + case `uname` in + OS/390) + CFLAGS="$CFLAGS -D_ALL_SOURCE" + AC_MSG_RESULT([yes]) ;; + *) + AC_MSG_RESULT([no]) ;; + esac + fi]) + +# Check whether we need a declaration for a function. +# +# Stolen from GNU bfd. + +AC_DEFUN([GROFF_NEED_DECLARATION], + [AC_MSG_CHECKING([whether $1 must be declared]) + AC_LANG_PUSH([C++]) + AC_CACHE_VAL([groff_cv_decl_needed_$1], + [AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ + #include #ifdef HAVE_STRING_H #include @@ -599,77 +724,141 @@ #endif #ifdef HAVE_MATH_H #include -#endif], -[#ifndef $1 +#endif + + ]], + [[ + +#ifndef $1 char *p = (char *) $1; -#endif], -groff_cv_decl_needed_$1=no, -groff_cv_decl_needed_$1=yes)]) -AC_MSG_RESULT($groff_cv_decl_needed_$1) -if test $groff_cv_decl_needed_$1 = yes; then - AC_DEFINE([NEED_DECLARATION_]translit($1, [a-z], [A-Z]), 1, - [Define if your C++ doesn't declare ]$1[().]) -fi -AC_LANG_POP(C++)])dnl -dnl -dnl -dnl If mkstemp() isn't available, use our own mkstemp.cpp file. -dnl -AC_DEFUN(GROFF_MKSTEMP, -[AC_MSG_CHECKING([for mkstemp]) -AC_LANG_PUSH(C++) -AC_LIBSOURCE(mkstemp.cpp) -AC_TRY_LINK([#include +#endif + + ]]) + ], + [groff_cv_decl_needed_$1=no], + [groff_cv_decl_needed_$1=yes])]) + AC_MSG_RESULT([$groff_cv_decl_needed_$1]) + if test $groff_cv_decl_needed_$1 = yes; then + AC_DEFINE([NEED_DECLARATION_]translit($1, [a-z], [A-Z]), [1], + [Define if your C++ doesn't declare ]$1[().]) + fi + AC_LANG_POP([C++])]) + +# If mkstemp() isn't available, use our own mkstemp.cpp file. + +AC_DEFUN([GROFF_MKSTEMP], + [AC_MSG_CHECKING([for mkstemp]) + AC_LANG_PUSH([C++]) + AC_LIBSOURCE([mkstemp.cpp]) + AC_LINK_IFELSE([ + AC_LANG_PROGRAM([[ + +#include #include -int (*f) (char *);], -[f = mkstemp;], -AC_MSG_RESULT(yes);AC_DEFINE(HAVE_MKSTEMP, 1, - [Define if you have mkstemp().]), -AC_MSG_RESULT(no);_AC_LIBOBJ(mkstemp)) -AC_LANG_POP(C++)])dnl -dnl -dnl -dnl Test whether exists, doesn't clash with , -dnl and declares uintmax_t. Taken from the fileutils package. -dnl -AC_DEFUN(GROFF_INTTYPES_H, -[AC_LANG_PUSH(C++) -AC_MSG_CHECKING([for inttypes.h]) -AC_TRY_COMPILE([#include -#include ], -[uintmax_t i = (uintmax_t)-1;], -groff_cv_header_inttypes_h=yes, -groff_cv_header_inttypes_h=no) -AC_MSG_RESULT($groff_cv_header_inttypes_h) -AC_LANG_POP(C++)])dnl -dnl -dnl -dnl Test for working `unsigned long long'. Taken from the fileutils package. -dnl -AC_DEFUN(GROFF_UNSIGNED_LONG_LONG, -[AC_LANG_PUSH(C++) -AC_MSG_CHECKING([for unsigned long long]) -AC_TRY_LINK([unsigned long long ull = 1; int i = 63;], -[unsigned long long ullmax = (unsigned long long)-1; -return ull << i | ull >> i | ullmax / ull | ullmax % ull;], -groff_cv_type_unsigned_long_long=yes, -groff_cv_type_unsigned_long_long=no) -AC_MSG_RESULT($groff_cv_type_unsigned_long_long) -AC_LANG_POP(C++)])dnl -dnl -dnl -dnl Define uintmax_t to `unsigned long' or `unsigned long long' -dnl if does not exist. Taken from the fileutils package. -dnl -AC_DEFUN(GROFF_UINTMAX_T, -[AC_REQUIRE([GROFF_INTTYPES_H]) -if test $groff_cv_header_inttypes_h = no; then - AC_REQUIRE([GROFF_UNSIGNED_LONG_LONG]) - test $groff_cv_type_unsigned_long_long = yes \ +int (*f) (char *); + + ]], + [[ + +f = mkstemp; + + ]]) + ], + [AC_MSG_RESULT([yes]) + AC_DEFINE([HAVE_MKSTEMP], [1], [Define if you have mkstemp().])], + [AC_MSG_RESULT([no]) + _AC_LIBOBJ([mkstemp])]) + AC_LANG_POP([C++])]) + +# Test whether exists, doesn't clash with , +# and declares uintmax_t. Taken from the fileutils package. + +AC_DEFUN([GROFF_INTTYPES_H], + [AC_LANG_PUSH([C++]) + AC_MSG_CHECKING([for inttypes.h]) + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ + +#include +#include + + ]], + [[ + +uintmax_t i = (uintmax_t)-1; + + ]]) + ], + [groff_cv_header_inttypes_h=yes], + [groff_cv_header_inttypes_h=no]) + AC_MSG_RESULT([$groff_cv_header_inttypes_h]) + AC_LANG_POP([C++])]) + +# Test for working `unsigned long long'. Taken from the fileutils package. + +AC_DEFUN([GROFF_UNSIGNED_LONG_LONG], + [AC_LANG_PUSH([C++]) + AC_MSG_CHECKING([for unsigned long long]) + AC_LINK_IFELSE([ + AC_LANG_PROGRAM([[ + +unsigned long long ull = 1; +int i = 63; +unsigned long long ullmax = (unsigned long long)-1; + + ]], + [[ + +return ull << i | ull >> i | ullmax / ull | ullmax % ull; + + ]]) + ], + [groff_cv_type_unsigned_long_long=yes], + [groff_cv_type_unsigned_long_long=no]) + AC_MSG_RESULT([$groff_cv_type_unsigned_long_long]) + AC_LANG_POP([C++])]) + +# Define uintmax_t to `unsigned long' or `unsigned long long' +# if does not exist. Taken from the fileutils package. + +AC_DEFUN([GROFF_UINTMAX_T], + [AC_REQUIRE([GROFF_INTTYPES_H]) + if test $groff_cv_header_inttypes_h = no; then + AC_REQUIRE([GROFF_UNSIGNED_LONG_LONG]) + test $groff_cv_type_unsigned_long_long = yes \ && ac_type='unsigned long long' \ || ac_type='unsigned long' - AC_DEFINE_UNQUOTED(uintmax_t, $ac_type, - [Define uintmax_t to `unsigned long' or - `unsigned long long' if does not - exist.]) -fi])dnl + AC_DEFINE_UNQUOTED([uintmax_t], [$ac_type], + [Define uintmax_t to `unsigned long' or `unsigned long long' if + does not exist.]) + fi]) + +# Identify PATH_SEPARATOR character to use in GROFF_FONT_PATH and +# GROFF_TMAC_PATH which is appropriate for the target system (POSIX=':', +# MS-DOS/Win32=';'). +# +# The logic to resolve this test is already encapsulated in +# `${srcdir}/src/include/nonposix.h'. + +AC_DEFUN([GROFF_TARGET_PATH_SEPARATOR], + [AC_MSG_CHECKING([separator character to use in groff search paths]) + cp ${srcdir}/src/include/nonposix.h conftest.h + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ + +#include +#include "conftest.h" + + ]], + [[ + +#if PATH_SEP_CHAR == ';' +make an error "Path separator is ';'" +#endif + + ]]) + ], + [GROFF_PATH_SEPARATOR=":"], + [GROFF_PATH_SEPARATOR=";"]) + AC_MSG_RESULT([$GROFF_PATH_SEPARATOR]) + AC_SUBST(GROFF_PATH_SEPARATOR)]) diff -ruN groff-1.19/arch/misc/Makefile.sub groff-1.19.1/arch/misc/Makefile.sub --- groff-1.19/arch/misc/Makefile.sub Thu Jan 1 01:00:00 1970 +++ groff-1.19.1/arch/misc/Makefile.sub Wed Apr 7 19:39:37 2004 @@ -0,0 +1,27 @@ +# Copyright (C) 2004 Free Software Foundation, Inc. +# Written by Keith Marshall (keith.d.marshall@ntlworld.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. + +CLEANADD=shdeps.sed + +all: shdeps.sed + +shdeps.sed: shdeps.sh + $(SHELL) $< "$(RT_SEP)" "$(SH_SEP)" "$(bindir)" > $@ + +# eof diff -ruN groff-1.19/arch/misc/shdeps.sh groff-1.19.1/arch/misc/shdeps.sh --- groff-1.19/arch/misc/shdeps.sh Thu Jan 1 01:00:00 1970 +++ groff-1.19.1/arch/misc/shdeps.sh Fri Apr 9 07:40:37 2004 @@ -0,0 +1,89 @@ +#!/bin/sh +# shdeps.sh: Generate OS dependency fixups, for `groff' shell scripts +# +# Copyright (C) 2004 Free Software Foundation, Inc. +# Written by Keith Marshall (keith.d.marshall@ntlworld.com) +# +# Invoked only by `make', as: +# $(SHELL) shdeps.sh "$(RT_SEP)" "$(SH_SEP)" "$(bindir)" > shdeps.sed +# +# 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. + +cat << ETX +# shdeps.sed: Script generated automatically by \`make' -- do not modify! + +/^$/N +/@GROFF_BIN_PATH_SETUP@/c\\ +ETX + +if [ "$1$2" = "::" ] +then + # `PATH_SEPARATOR' is `:' both at `groff' run time, and in `make', + # implying an implementation which is completely POSIX compliant. + # Simply apply the `GROFF_BIN_PATH' and `PATH_SEPARATOR' values + # determined by `configure', in all cases. + + cat << ETX +\\ +GROFF_RUNTIME="\${GROFF_BIN_PATH=$3}:" +ETX + +else + # `PATH_SEPARATOR' is NOT always `:', + # which suggests an implementation for a Microsoft platform. + # We need to choose the `GROFF_BIN_PATH' format and `PATH_SEPARATOR' + # which will suit the user's choice of shell. + # + # Note that some Windows users may specify the `--prefix' path + # using backslash characters, instead of `/', preferred by POSIX, + # so we will also fix that up. + + POSIX_BINDIR=`echo $3 | tr '\\\\' /` + cat << ETX +# (The value required is dependent on the user's choice of shell,\\ +# and its associated POSIX emulation capabilities.)\\ +\\ +case "\$OSTYPE" in\\ + msys)\\ + GROFF_RUNTIME=\${GROFF_BIN_PATH="` + case "$POSIX_BINDIR" in + [a-zA-Z]:*) + IFS=':' + set -- $POSIX_BINDIR + case "$2" in + /*) POSIX_BINDIR="/$1$2" ;; + *) POSIX_BINDIR="/$1/$2" ;; + esac + shift 2 + for dir + do + POSIX_BINDIR="$POSIX_BINDIR:$dir" + done + ;; + esac + echo "$POSIX_BINDIR"`"}":" ;;\\ + cygwin)\\ + : \${GROFF_BIN_PATH="\`cygpath -w '$POSIX_BINDIR'\`"}\\ + GROFF_RUNTIME=\`cygpath "\$GROFF_BIN_PATH"\`":" ;;\\ + *)\\ + GROFF_RUNTIME=\${GROFF_BIN_PATH="$POSIX_BINDIR"}";" ;;\\ +esac +ETX + +fi + +# eof diff -ruN groff-1.19/configure groff-1.19.1/configure --- groff-1.19/configure Tue Apr 22 16:36:52 2003 +++ groff-1.19.1/configure Tue Dec 30 05:03:25 2003 @@ -1,9 +1,8 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.54. +# Generated by GNU Autoconf 2.59. # -# Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 -# Free Software Foundation, Inc. +# Copyright (C) 2003 Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## --------------------- ## @@ -20,9 +19,10 @@ elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then set -o posix fi +DUALCASE=1; export DUALCASE # for MKS sh # Support unset when possible. -if (FOO=FOO; unset FOO) >/dev/null 2>&1; then +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false @@ -36,9 +36,12 @@ PS4='+ ' # NLS nuisances. -for as_var in LANG LANGUAGE LC_ALL LC_COLLATE LC_CTYPE LC_NUMERIC LC_MESSAGES LC_TIME +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME do - if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else $as_unset $as_var @@ -82,15 +85,15 @@ # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conftest.sh - echo "exit 0" >>conftest.sh - chmod +x conftest.sh - if (PATH="/nonexistent;."; conftest.sh) >/dev/null 2>&1; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi - rm -f conftest.sh + rm -f conf$$.sh fi @@ -215,16 +218,17 @@ if mkdir -p . 2>/dev/null; then as_mkdir_p=: else + test -d ./-p && rmdir ./-p as_mkdir_p=false fi as_executable_p="test -f" # Sed expression to map a string onto a valid CPP name. -as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. -as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" # IFS @@ -305,7 +309,7 @@ # include #endif" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS groff_top_builddir CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX TTYDEVDIRS OTHERDEVDIRS LPR LP LPQ PSPRINT DVIPRINT PERLPATH YACC RANLIB ac_ct_RANLIB INSTALL_INFO INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN_S SH_SCRIPT_SED_CMD CPP EGREP LIBM LIBOBJS BROKEN_SPOOLER_FLAGS PAGE g sys_tmac_prefix tmac_wrap pnmcut pnmcrop pnmtopng gs psselect pnmtops make_html make_install_html pnmtops_nosetpage LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX TTYDEVDIRS OTHERDEVDIRS LPR LP LPQ PSPRINT DVIPRINT PERLPATH YACC RANLIB ac_ct_RANLIB INSTALL_INFO INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN_S SH_SCRIPT_SED_CMD CPP EGREP LIBC LIBM LIBOBJS BROKEN_SPOOLER_FLAGS PAGE g sys_tmac_prefix tmac_wrap GROFF_PATH_SEPARATOR pnmcut pnmcrop pnmtopng psselect pnmtops gs make_html make_install_html pnmtops_nosetpage LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -664,7 +668,7 @@ # Be sure to have absolute paths. for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ - localstatedir libdir includedir oldincludedir infodir mandir + localstatedir libdir includedir oldincludedir infodir mandir do eval ac_val=$`echo $ac_var` case $ac_val in @@ -704,10 +708,10 @@ # Try the directory containing this script, then its parent. ac_confdir=`(dirname "$0") 2>/dev/null || $as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$0" : 'X\(//\)[^/]' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || echo X"$0" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } @@ -807,9 +811,9 @@ cat <<_ACEOF Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] + [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [PREFIX] + [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify @@ -888,12 +892,45 @@ ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_builddir$srcdir ;; esac -# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be -# absolute. -ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` -ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` -ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` -ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` + +# Do not use `cd foo && pwd` to compute absolute paths, because +# the directories may not exist. +case `pwd` in +.) ac_abs_builddir="$ac_dir";; +*) + case "$ac_dir" in + .) ac_abs_builddir=`pwd`;; + [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; + *) ac_abs_builddir=`pwd`/"$ac_dir";; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; + esac;; +esac cd $ac_dir # Check for guested configure; otherwise get Cygnus style configure. @@ -904,7 +941,7 @@ echo $SHELL $ac_srcdir/configure --help=recursive elif test -f $ac_srcdir/configure.ac || - test -f $ac_srcdir/configure.in; then + test -f $ac_srcdir/configure.in; then echo $ac_configure --help else @@ -918,8 +955,7 @@ if $ac_init_version; then cat <<\_ACEOF -Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 -Free Software Foundation, Inc. +Copyright (C) 2003 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF @@ -931,7 +967,7 @@ running configure, to aid debugging if configure makes a mistake. It was created by $as_me, which was -generated by GNU Autoconf 2.54. Invocation command line was +generated by GNU Autoconf 2.59. Invocation command line was $ $0 $@ @@ -983,24 +1019,54 @@ # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= +ac_configure_args0= +ac_configure_args1= ac_sep= -for ac_arg +ac_must_keep_next=false +for ac_pass in 1 2 do - case $ac_arg in - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c | -n ) continue ;; - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - continue ;; - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) - ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" - # Get rid of the leading space. - ac_sep=" " + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) + ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; + 2) + ac_configure_args1="$ac_configure_args1 '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" + # Get rid of the leading space. + ac_sep=" " + ;; + esac + done done +$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } +$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there @@ -1024,12 +1090,12 @@ case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in *ac_space=\ *) sed -n \ - "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" + "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" ;; *) sed -n \ - "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" ;; esac; } @@ -1058,7 +1124,7 @@ for ac_var in $ac_subst_files do eval ac_val=$`echo $ac_var` - echo "$ac_var='"'"'$ac_val'"'"'" + echo "$ac_var='"'"'$ac_val'"'"'" done | sort echo fi @@ -1077,7 +1143,7 @@ echo "$as_me: caught signal $ac_signal" echo "$as_me: exit $exit_status" } >&5 - rm -f core core.* *.core && + rm -f core *.core && rm -rf conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 @@ -1157,7 +1223,7 @@ # value. ac_cache_corrupted=false for ac_var in `(set) 2>&1 | - sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do + sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val="\$ac_cv_env_${ac_var}_value" @@ -1174,13 +1240,13 @@ ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then - { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 + { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 + { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 echo "$as_me: former value: $ac_old_val" >&2;} - { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 + { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 echo "$as_me: current value: $ac_new_val" >&2;} - ac_cache_corrupted=: + ac_cache_corrupted=: fi;; esac # Pass precious variables to config.status. @@ -1228,13 +1294,12 @@ + ac_config_headers="$ac_config_headers src/include/config.h:src/include/config.hin" -ac_srcdir_defaulted=no -srcdir=`cd $srcdir; pwd` -groff_top_builddir=`pwd` +# checks for programs ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -1544,8 +1609,10 @@ fi -test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH" >&5 -echo "$as_me: error: no acceptable C compiler found in \$PATH" >&2;} +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } # Provide some information about the compiler. @@ -1569,8 +1636,11 @@ (exit $ac_status); } cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ int main () @@ -1581,12 +1651,12 @@ } _ACEOF ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.exe" +ac_clean_files="$ac_clean_files a.out a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. -echo "$as_me:$LINENO: checking for C compiler default output" >&5 -echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6 +echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 +echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6 ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5 (eval $ac_link_default) 2>&5 @@ -1600,27 +1670,39 @@ # Be careful to initialize this variable, since it used to be cached. # Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile. ac_cv_exeext= -for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.*; do +# b.out is created by i960 compilers. +for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out +do test -f "$ac_file" || continue case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; - a.out ) # We found the default executable, but exeext='' is most - # certainly right. - break;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - # FIXME: I believe we export ac_cv_exeext for Libtool --akim. - export ac_cv_exeext - break;; - * ) break;; + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) + ;; + conftest.$ac_ext ) + # This is the source file. + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + # FIXME: I believe we export ac_cv_exeext for Libtool, + # but it would be cool to find out if it's true. Does anybody + # maintain Libtool? --akim. + export ac_cv_exeext + break;; + * ) + break;; esac done else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + { { echo "$as_me:$LINENO: error: C compiler cannot create executables -check \`config.log' for details." >&5 +See \`config.log' for more details." >&5 echo "$as_me: error: C compiler cannot create executables -check \`config.log' for details." >&2;} +See \`config.log' for more details." >&2;} { (exit 77); exit 77; }; } fi @@ -1647,9 +1729,11 @@ cross_compiling=yes else { { echo "$as_me:$LINENO: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'." >&5 +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&5 echo "$as_me: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'." >&2;} +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi fi @@ -1657,7 +1741,7 @@ echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 -rm -f a.out a.exe conftest$ac_cv_exeext +rm -f a.out a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save # Check the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. @@ -1682,14 +1766,16 @@ case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - export ac_cv_exeext - break;; + export ac_cv_exeext + break;; * ) break;; esac done else - { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link" >&5 -echo "$as_me: error: cannot compute suffix of executables: cannot compile and link" >&2;} + { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi @@ -1706,8 +1792,11 @@ echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ int main () @@ -1732,9 +1821,12 @@ done else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile" >&5 -echo "$as_me: error: cannot compute suffix of object files: cannot compile" >&2;} +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi @@ -1750,8 +1842,11 @@ echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ int main () @@ -1766,11 +1861,21 @@ _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -1779,10 +1884,11 @@ ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_compiler_gnu=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi @@ -1798,8 +1904,11 @@ echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ int main () @@ -1811,11 +1920,21 @@ _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -1824,10 +1943,11 @@ ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_prog_cc_g=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 @@ -1854,8 +1974,11 @@ ac_cv_prog_cc_stdc=no ac_save_CC=$CC cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include #include #include @@ -1878,6 +2001,16 @@ va_end (v); return s; } + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std1 is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std1. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; @@ -1904,11 +2037,21 @@ CC="$ac_save_CC $ac_arg" rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -1918,9 +2061,10 @@ break else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + fi -rm -f conftest.$ac_objext +rm -f conftest.err conftest.$ac_objext done rm -f conftest.$ac_ext conftest.$ac_objext CC=$ac_save_CC @@ -1948,19 +2092,28 @@ _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then for ac_declaration in \ - ''\ - '#include ' \ + '' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ @@ -1968,10 +2121,13 @@ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ $ac_declaration +#include int main () { @@ -1982,11 +2138,21 @@ _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -1995,13 +2161,17 @@ : else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + continue fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ $ac_declaration int main () @@ -2013,11 +2183,21 @@ _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -2026,9 +2206,10 @@ break else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then @@ -2039,9 +2220,10 @@ else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -2167,8 +2349,11 @@ echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ int main () @@ -2183,11 +2368,21 @@ _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -2196,10 +2391,11 @@ ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_compiler_gnu=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi @@ -2215,8 +2411,11 @@ echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ int main () @@ -2228,11 +2427,21 @@ _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -2241,10 +2450,11 @@ ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_prog_cxx_g=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 @@ -2264,8 +2474,7 @@ fi fi for ac_declaration in \ - ''\ - '#include ' \ + '' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ @@ -2273,10 +2482,13 @@ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ $ac_declaration +#include int main () { @@ -2287,11 +2499,21 @@ _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -2300,13 +2522,17 @@ : else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + continue fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ $ac_declaration int main () @@ -2318,11 +2544,21 @@ _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -2331,9 +2567,10 @@ break else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then @@ -2350,23 +2587,34 @@ -ac_ext=cc + ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test "$cross_compiling" = no; then - echo "$as_me:$LINENO: checking that C++ compiler can compile simple program" >&5 + if test "$cross_compiling" = no; then + echo "$as_me:$LINENO: checking that C++ compiler can compile simple program" >&5 echo $ECHO_N "checking that C++ compiler can compile simple program... $ECHO_C" >&6 -fi -if test "$cross_compiling" = yes; then + fi + if test "$cross_compiling" = yes; then : else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -int main() { return 0; } + + /* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + +int main() { + return 0; +} + + + _ACEOF rm -f conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 @@ -2384,37 +2632,53 @@ else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ( exit $ac_status ) echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6;{ { echo "$as_me:$LINENO: error: a working C++ compiler is required" >&5 +echo "${ECHO_T}no" >&6 + { { echo "$as_me:$LINENO: error: a working C++ compiler is required" >&5 echo "$as_me: error: a working C++ compiler is required" >&2;} { (exit 1); exit 1; }; } fi -rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi -if test "$cross_compiling" = no; then - echo "$as_me:$LINENO: checking that C++ static constructors and destructors are called" >&5 + + if test "$cross_compiling" = no; then + echo "$as_me:$LINENO: checking that C++ static constructors and destructors are called" >&5 echo $ECHO_N "checking that C++ static constructors and destructors are called... $ECHO_C" >&6 -fi -if test "$cross_compiling" = yes; then + fi + if test "$cross_compiling" = yes; then : else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" + + /* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + 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; } + +int main() +{ + return 1; +} + + _ACEOF rm -f conftest$ac_exeext @@ -2433,36 +2697,62 @@ else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ( exit $ac_status ) echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6;{ { echo "$as_me:$LINENO: error: a working C++ compiler is required" >&5 +echo "${ECHO_T}no" >&6 + { { echo "$as_me:$LINENO: error: a working C++ compiler is required" >&5 echo "$as_me: error: a working C++ compiler is required" >&2;} { (exit 1); exit 1; }; } fi -rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: checking that header files support C++" >&5 + + echo "$as_me:$LINENO: checking that header files support C++" >&5 echo $ECHO_N "checking that header files support C++... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" + cat >conftest.$ac_ext <<_ACEOF + + /* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + #include + + int main () { + + fopen(0, 0); + + ; return 0; } + _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 + (eval $ac_link) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -2472,14 +2762,21 @@ echo "${ECHO_T}yes" >&6 else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6;{ { echo "$as_me:$LINENO: error: header files do not support C++ (if you are using a version of gcc/g++ earlier than 2.5, you should install libg++)" >&5 -echo "$as_me: error: header files do not support C++ (if you are using a version of gcc/g++ earlier than 2.5, you should install libg++)" >&2;} +echo "${ECHO_T}no" >&6 + { { echo "$as_me:$LINENO: error: header files do not support C++ + (if you are using a version of gcc/g++ earlier than 2.5, + you should install libg++)" >&5 +echo "$as_me: error: header files do not support C++ + (if you are using a version of gcc/g++ earlier than 2.5, + you should install libg++)" >&2;} { (exit 1); exit 1; }; } fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -ac_ext=c +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' @@ -2488,38 +2785,57 @@ echo "$as_me:$LINENO: checking whether character set is EBCDIC" >&5 echo $ECHO_N "checking whether character set is EBCDIC... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" + cat >conftest.$ac_ext <<_ACEOF + + /* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + -int -main () -{ /* Treat any failure as ASCII for compatibility with existing art. - Use compile-time rather than run-time tests for cross-compiler - tolerance. */ + Use compile-time rather than run-time tests for cross-compiler + tolerance. */ #if '0' != 240 make an error "Character set is not EBCDIC" #endif + + +int +main () +{ + ; return 0; } + _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then groff_cv_ebcdic="yes" - TTYDEVDIRS="font/devcp1047" - echo "$as_me:$LINENO: result: yes" >&5 + TTYDEVDIRS="font/devcp1047" + echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 cat >>confdefs.h <<\_ACEOF @@ -2528,31 +2844,32 @@ else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + groff_cv_ebcdic="no" - TTYDEVDIRS="font/devascii font/devlatin1" - OTHERDEVDIRS="font/devlj4 font/devlbp" - echo "$as_me:$LINENO: result: no" >&5 + TTYDEVDIRS="font/devascii font/devlatin1" + OTHERDEVDIRS="font/devlj4 font/devlbp" + echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext if test "$groff_cv_ebcdic" = "yes"; then - echo "$as_me:$LINENO: checking for OS/390 Unix" >&5 + echo "$as_me:$LINENO: checking for OS/390 Unix" >&5 echo $ECHO_N "checking for OS/390 Unix... $ECHO_C" >&6 - case `uname` in - OS/390) - CFLAGS="$CFLAGS -D_ALL_SOURCE" - echo "$as_me:$LINENO: result: yes" >&5 + case `uname` in + OS/390) + CFLAGS="$CFLAGS -D_ALL_SOURCE" + echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 ;; - *) - echo "$as_me:$LINENO: result: no" >&5 + *) + echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 ;; - esac -fi + esac + fi if test -z "$PSPRINT"; then - for ac_prog in lpr + for ac_prog in lpr do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 @@ -2592,7 +2909,7 @@ test -n "$LPR" && break done - for ac_prog in lp + for ac_prog in lp do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 @@ -2632,11 +2949,11 @@ test -n "$LP" && break done - 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. - for ac_prog in lpq + 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. + for ac_prog in lpq do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 @@ -2676,31 +2993,32 @@ test -n "$LPQ" && break done - test -n "$LPQ" || LPR= - fi - if test -n "$LPR"; then - PSPRINT="$LPR" - elif test -n "$LP"; then - PSPRINT="$LP" - fi -fi + test -n "$LPQ" || LPR= + fi + if test -n "$LPR"; then + PSPRINT="$LPR" + elif test -n "$LP"; then + PSPRINT="$LP" + fi + fi -echo "$as_me:$LINENO: checking for command to use for printing PostScript files" >&5 + echo "$as_me:$LINENO: checking for command to use for printing PostScript files" >&5 echo $ECHO_N "checking for command to use for printing PostScript files... $ECHO_C" >&6 -echo "$as_me:$LINENO: result: $PSPRINT" >&5 + echo "$as_me:$LINENO: result: $PSPRINT" >&5 echo "${ECHO_T}$PSPRINT" >&6 -# Figure out DVIPRINT from PSPRINT. -echo "$as_me:$LINENO: checking for command to use for printing dvi files" >&5 + + # Figure out DVIPRINT from PSPRINT. + echo "$as_me:$LINENO: checking for command to use for printing dvi files" >&5 echo $ECHO_N "checking for command to use for printing dvi files... $ECHO_C" >&6 -if test -n "$PSPRINT" && test -z "$DVIPRINT"; then - if test "X$PSPRINT" = "Xlpr"; then - DVIPRINT="lpr -d" - else - DVIPRINT="$PSPRINT" - fi -fi + if test -n "$PSPRINT" && test -z "$DVIPRINT"; then + if test "X$PSPRINT" = "Xlpr"; then + DVIPRINT="lpr -d" + else + DVIPRINT="$PSPRINT" + fi + fi -echo "$as_me:$LINENO: result: $DVIPRINT" >&5 + echo "$as_me:$LINENO: result: $DVIPRINT" >&5 echo "${ECHO_T}$DVIPRINT" >&6 # Extract the first word of "perl", so it can be a program name with args. set dummy perl; ac_word=$2 @@ -2888,8 +3206,9 @@ ac_config_sub="$SHELL $ac_aux_dir/config.sub" ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. -ac_dir=`cd $ac_aux_dir; pwd` -ac_install_sh="$ac_dir/install-sh -c" + + ac_dir=`cd $ac_aux_dir; pwd` + ac_install_sh="$ac_dir/install-sh -c" for ac_prog in install-info do # Extract the first word of "$ac_prog", so it can be a program name with args. @@ -2942,6 +3261,7 @@ # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 @@ -2958,6 +3278,7 @@ case $as_dir/ in ./ | .// | /cC/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. @@ -2965,20 +3286,20 @@ # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then - if test $ac_prog = install && - grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - elif test $ac_prog = install && - grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # program-specific install script used by HP pwplus--don't use. - : - else - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 - fi - fi + if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi done done ;; @@ -3019,24 +3340,33 @@ echo "${ECHO_T}no, using $LN_S" >&6 fi + +# use a dummy substitution if no csh hack is necessary to avoid errors +# with non-GNU sed programs echo "$as_me:$LINENO: checking for csh hash hack" >&5 echo $ECHO_N "checking for csh hash hack... $ECHO_C" >&6 + cat <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 - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; SH_SCRIPT_SED_CMD='1s/.*/:/' -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; SH_SCRIPT_SED_CMD='1s/a/a/' -fi -rm -f conftest.sh + chmod +x conftest.sh + if echo ./conftest.sh | (csh >/dev/null 2>&1) >/dev/null 2>&1; then + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + SH_SCRIPT_SED_CMD='1s/.*/:/' + else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 + SH_SCRIPT_SED_CMD='1s/a/a/' + fi + rm -f conftest.sh + + +# checks for headers ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -3060,13 +3390,22 @@ do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include - Syntax error +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 @@ -3078,6 +3417,7 @@ (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag else ac_cpp_err= fi @@ -3088,7 +3428,8 @@ : else echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + # Broken: fails on valid input. continue fi @@ -3097,8 +3438,11 @@ # OK, works on sane cases. Now check whether non-existent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 @@ -3111,6 +3455,7 @@ (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag else ac_cpp_err= fi @@ -3122,7 +3467,8 @@ continue else echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + # Passes both tests. ac_preproc_ok=: break @@ -3151,13 +3497,22 @@ do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include - Syntax error +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 @@ -3169,6 +3524,7 @@ (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag else ac_cpp_err= fi @@ -3179,7 +3535,8 @@ : else echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + # Broken: fails on valid input. continue fi @@ -3188,8 +3545,11 @@ # OK, works on sane cases. Now check whether non-existent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 @@ -3202,6 +3562,7 @@ (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag else ac_cpp_err= fi @@ -3213,7 +3574,8 @@ continue else echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + # Passes both tests. ac_preproc_ok=: break @@ -3226,8 +3588,10 @@ if $ac_preproc_ok; then : else - { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check" >&5 -echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check" >&2;} + { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi @@ -3259,44 +3623,63 @@ echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include #include #include #include +int +main () +{ + + ; + return 0; +} _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then ac_cv_header_stdc=yes else echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - ac_cv_header_stdc=no +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_header_stdc=no fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include _ACEOF @@ -3313,8 +3696,11 @@ if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include _ACEOF @@ -3334,16 +3720,20 @@ : else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else -# define ISLOWER(c) (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif @@ -3354,7 +3744,7 @@ int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) + || toupper (i) != TOUPPER (i)) exit(2); exit (0); } @@ -3374,11 +3764,12 @@ else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ( exit $ac_status ) ac_cv_header_stdc=no fi -rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi @@ -3403,7 +3794,7 @@ for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h + inttypes.h stdint.h unistd.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` echo "$as_me:$LINENO: checking for $ac_header" >&5 @@ -3412,19 +3803,32 @@ echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -3433,10 +3837,11 @@ eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + eval "$as_ac_Header=no" fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 @@ -3459,8 +3864,10 @@ + + for ac_header in stdlib.h unistd.h dirent.h limits.h sys/dir.h \ - string.h strings.h math.h sys/time.h + string.h strings.h math.h sys/time.h direct.h process.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if eval "test \"\${$as_ac_Header+set}\" = set"; then @@ -3476,18 +3883,31 @@ echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -3496,10 +3916,11 @@ ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_header_compiler=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 @@ -3507,8 +3928,11 @@ echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include <$ac_header> _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 @@ -3521,6 +3945,7 @@ (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag else ac_cpp_err= fi @@ -3531,7 +3956,8 @@ ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext @@ -3539,26 +3965,43 @@ echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? -case $ac_header_compiler:$ac_header_preproc in - yes:no ) +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;};; - no:yes ) + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;};; +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( + cat <<\_ASBOX +## ------------------------------------------ ## +## Report this to the AC_PACKAGE_NAME lists. ## +## ------------------------------------------ ## +_ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 + ;; esac echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - eval "$as_ac_Header=$ac_header_preproc" + eval "$as_ac_Header=\$ac_header_preproc" fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 @@ -3575,32 +4018,40 @@ echo "$as_me:$LINENO: checking for ISC 3.x or 4.x" >&5 echo $ECHO_N "checking for ISC 3.x or 4.x... $ECHO_C" >&6 -if grep '[34]\.' /usr/options/cb.name >/dev/null 2>&1 -then - echo "$as_me:$LINENO: result: yes" >&5 + if grep '[34]\.' /usr/options/cb.name >/dev/null 2>&1 + then + echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 cat >>confdefs.h <<\_ACEOF #define _SYSV3 1 _ACEOF -else - echo "$as_me:$LINENO: result: no" >&5 + else + echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 -fi + fi echo "$as_me:$LINENO: checking whether -D_POSIX_SOURCE is necessary" >&5 echo $ECHO_N "checking whether -D_POSIX_SOURCE is necessary... $ECHO_C" >&6 -ac_ext=cc + ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" + cat >conftest.$ac_ext <<_ACEOF + + /* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + #include extern "C" { void fileno(int); } + + int main () { @@ -3608,51 +4059,74 @@ ; return 0; } + _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; +echo "${ECHO_T}yes" >&6 + cat >>confdefs.h <<\_ACEOF #define _POSIX_SOURCE 1 _ACEOF else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi -rm -f conftest.$ac_objext conftest.$ac_ext -ac_ext=c +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu + +# checks for header stuff ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -echo "$as_me:$LINENO: checking for return type of srand" >&5 + echo "$as_me:$LINENO: checking for return type of srand" >&5 echo $ECHO_N "checking for return type of srand... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" + cat >conftest.$ac_ext <<_ACEOF + + /* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + #include extern "C" { void srand(unsigned int); } + + int main () { @@ -3660,33 +4134,46 @@ ; return 0; } + _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then echo "$as_me:$LINENO: result: void" >&5 -echo "${ECHO_T}void" >&6; +echo "${ECHO_T}void" >&6 + cat >>confdefs.h <<\_ACEOF #define RET_TYPE_SRAND_IS_VOID 1 _ACEOF else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + echo "$as_me:$LINENO: result: int" >&5 echo "${ECHO_T}int" >&6 fi -rm -f conftest.$ac_objext conftest.$ac_ext -ac_ext=c +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' @@ -3694,18 +4181,23 @@ echo "$as_me:$LINENO: checking whether gettimeofday must be declared" >&5 echo $ECHO_N "checking whether gettimeofday must be declared... $ECHO_C" >&6 -ac_ext=cc + ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test "${groff_cv_decl_needed_gettimeofday+set}" = set; then + if test "${groff_cv_decl_needed_gettimeofday+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" + + /* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + #include #ifdef HAVE_STRING_H @@ -3726,23 +4218,40 @@ #ifdef HAVE_MATH_H #include #endif + + int main () { + + #ifndef gettimeofday char *p = (char *) gettimeofday; #endif + + ; return 0; } + _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -3751,22 +4260,23 @@ groff_cv_decl_needed_gettimeofday=no else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + groff_cv_decl_needed_gettimeofday=yes fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $groff_cv_decl_needed_gettimeofday" >&5 + echo "$as_me:$LINENO: result: $groff_cv_decl_needed_gettimeofday" >&5 echo "${ECHO_T}$groff_cv_decl_needed_gettimeofday" >&6 -if test $groff_cv_decl_needed_gettimeofday = yes; then + if test $groff_cv_decl_needed_gettimeofday = yes; then cat >>confdefs.h <<\_ACEOF #define NEED_DECLARATION_GETTIMEOFDAY 1 _ACEOF -fi -ac_ext=c + fi + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' @@ -3774,18 +4284,23 @@ echo "$as_me:$LINENO: checking whether hypot must be declared" >&5 echo $ECHO_N "checking whether hypot must be declared... $ECHO_C" >&6 -ac_ext=cc + ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test "${groff_cv_decl_needed_hypot+set}" = set; then + if test "${groff_cv_decl_needed_hypot+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" + + /* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + #include #ifdef HAVE_STRING_H @@ -3806,23 +4321,40 @@ #ifdef HAVE_MATH_H #include #endif + + int main () { + + #ifndef hypot char *p = (char *) hypot; #endif + + ; return 0; } + _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -3831,22 +4363,23 @@ groff_cv_decl_needed_hypot=no else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + groff_cv_decl_needed_hypot=yes fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $groff_cv_decl_needed_hypot" >&5 + echo "$as_me:$LINENO: result: $groff_cv_decl_needed_hypot" >&5 echo "${ECHO_T}$groff_cv_decl_needed_hypot" >&6 -if test $groff_cv_decl_needed_hypot = yes; then + if test $groff_cv_decl_needed_hypot = yes; then cat >>confdefs.h <<\_ACEOF #define NEED_DECLARATION_HYPOT 1 _ACEOF -fi -ac_ext=c + fi + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' @@ -3854,18 +4387,23 @@ echo "$as_me:$LINENO: checking whether popen must be declared" >&5 echo $ECHO_N "checking whether popen must be declared... $ECHO_C" >&6 -ac_ext=cc + ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test "${groff_cv_decl_needed_popen+set}" = set; then + if test "${groff_cv_decl_needed_popen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" + + /* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + #include #ifdef HAVE_STRING_H @@ -3886,23 +4424,40 @@ #ifdef HAVE_MATH_H #include #endif + + int main () { + + #ifndef popen char *p = (char *) popen; #endif + + ; return 0; } + _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -3911,22 +4466,23 @@ groff_cv_decl_needed_popen=no else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + groff_cv_decl_needed_popen=yes fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $groff_cv_decl_needed_popen" >&5 + echo "$as_me:$LINENO: result: $groff_cv_decl_needed_popen" >&5 echo "${ECHO_T}$groff_cv_decl_needed_popen" >&6 -if test $groff_cv_decl_needed_popen = yes; then + if test $groff_cv_decl_needed_popen = yes; then cat >>confdefs.h <<\_ACEOF #define NEED_DECLARATION_POPEN 1 _ACEOF -fi -ac_ext=c + fi + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' @@ -3934,18 +4490,23 @@ echo "$as_me:$LINENO: checking whether pclose must be declared" >&5 echo $ECHO_N "checking whether pclose must be declared... $ECHO_C" >&6 -ac_ext=cc + ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test "${groff_cv_decl_needed_pclose+set}" = set; then + if test "${groff_cv_decl_needed_pclose+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" + + /* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + #include #ifdef HAVE_STRING_H @@ -3966,23 +4527,40 @@ #ifdef HAVE_MATH_H #include #endif + + int main () { + + #ifndef pclose char *p = (char *) pclose; #endif + + ; return 0; } + _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -3991,22 +4569,23 @@ groff_cv_decl_needed_pclose=no else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + groff_cv_decl_needed_pclose=yes fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $groff_cv_decl_needed_pclose" >&5 + echo "$as_me:$LINENO: result: $groff_cv_decl_needed_pclose" >&5 echo "${ECHO_T}$groff_cv_decl_needed_pclose" >&6 -if test $groff_cv_decl_needed_pclose = yes; then + if test $groff_cv_decl_needed_pclose = yes; then cat >>confdefs.h <<\_ACEOF #define NEED_DECLARATION_PCLOSE 1 _ACEOF -fi -ac_ext=c + fi + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' @@ -4014,18 +4593,23 @@ echo "$as_me:$LINENO: checking whether putenv must be declared" >&5 echo $ECHO_N "checking whether putenv must be declared... $ECHO_C" >&6 -ac_ext=cc + ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test "${groff_cv_decl_needed_putenv+set}" = set; then + if test "${groff_cv_decl_needed_putenv+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" + + /* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + #include #ifdef HAVE_STRING_H @@ -4046,23 +4630,40 @@ #ifdef HAVE_MATH_H #include #endif + + int main () { + + #ifndef putenv char *p = (char *) putenv; #endif + + ; return 0; } + _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -4071,22 +4672,23 @@ groff_cv_decl_needed_putenv=no else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + groff_cv_decl_needed_putenv=yes fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $groff_cv_decl_needed_putenv" >&5 + echo "$as_me:$LINENO: result: $groff_cv_decl_needed_putenv" >&5 echo "${ECHO_T}$groff_cv_decl_needed_putenv" >&6 -if test $groff_cv_decl_needed_putenv = yes; then + if test $groff_cv_decl_needed_putenv = yes; then cat >>confdefs.h <<\_ACEOF #define NEED_DECLARATION_PUTENV 1 _ACEOF -fi -ac_ext=c + fi + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' @@ -4094,18 +4696,23 @@ echo "$as_me:$LINENO: checking whether rand must be declared" >&5 echo $ECHO_N "checking whether rand must be declared... $ECHO_C" >&6 -ac_ext=cc + ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test "${groff_cv_decl_needed_rand+set}" = set; then + if test "${groff_cv_decl_needed_rand+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" + + /* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + #include #ifdef HAVE_STRING_H @@ -4126,23 +4733,40 @@ #ifdef HAVE_MATH_H #include #endif + + int main () { + + #ifndef rand char *p = (char *) rand; #endif + + ; return 0; } + _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -4151,22 +4775,23 @@ groff_cv_decl_needed_rand=no else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + groff_cv_decl_needed_rand=yes fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $groff_cv_decl_needed_rand" >&5 + echo "$as_me:$LINENO: result: $groff_cv_decl_needed_rand" >&5 echo "${ECHO_T}$groff_cv_decl_needed_rand" >&6 -if test $groff_cv_decl_needed_rand = yes; then + if test $groff_cv_decl_needed_rand = yes; then cat >>confdefs.h <<\_ACEOF #define NEED_DECLARATION_RAND 1 _ACEOF -fi -ac_ext=c + fi + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' @@ -4174,18 +4799,23 @@ echo "$as_me:$LINENO: checking whether snprintf must be declared" >&5 echo $ECHO_N "checking whether snprintf must be declared... $ECHO_C" >&6 -ac_ext=cc + ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test "${groff_cv_decl_needed_snprintf+set}" = set; then + if test "${groff_cv_decl_needed_snprintf+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" + + /* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + #include #ifdef HAVE_STRING_H @@ -4206,23 +4836,40 @@ #ifdef HAVE_MATH_H #include #endif + + int main () { + + #ifndef snprintf char *p = (char *) snprintf; #endif + + ; return 0; } + _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -4231,22 +4878,23 @@ groff_cv_decl_needed_snprintf=no else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + groff_cv_decl_needed_snprintf=yes fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $groff_cv_decl_needed_snprintf" >&5 + echo "$as_me:$LINENO: result: $groff_cv_decl_needed_snprintf" >&5 echo "${ECHO_T}$groff_cv_decl_needed_snprintf" >&6 -if test $groff_cv_decl_needed_snprintf = yes; then + if test $groff_cv_decl_needed_snprintf = yes; then cat >>confdefs.h <<\_ACEOF #define NEED_DECLARATION_SNPRINTF 1 _ACEOF -fi -ac_ext=c + fi + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' @@ -4254,18 +4902,23 @@ echo "$as_me:$LINENO: checking whether srand must be declared" >&5 echo $ECHO_N "checking whether srand must be declared... $ECHO_C" >&6 -ac_ext=cc + ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test "${groff_cv_decl_needed_srand+set}" = set; then + if test "${groff_cv_decl_needed_srand+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" + + /* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + #include #ifdef HAVE_STRING_H @@ -4286,23 +4939,40 @@ #ifdef HAVE_MATH_H #include #endif + + int main () { + + #ifndef srand char *p = (char *) srand; #endif + + ; return 0; } + _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -4311,22 +4981,23 @@ groff_cv_decl_needed_srand=no else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + groff_cv_decl_needed_srand=yes fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $groff_cv_decl_needed_srand" >&5 + echo "$as_me:$LINENO: result: $groff_cv_decl_needed_srand" >&5 echo "${ECHO_T}$groff_cv_decl_needed_srand" >&6 -if test $groff_cv_decl_needed_srand = yes; then + if test $groff_cv_decl_needed_srand = yes; then cat >>confdefs.h <<\_ACEOF #define NEED_DECLARATION_SRAND 1 _ACEOF -fi -ac_ext=c + fi + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' @@ -4334,18 +5005,23 @@ echo "$as_me:$LINENO: checking whether strcasecmp must be declared" >&5 echo $ECHO_N "checking whether strcasecmp must be declared... $ECHO_C" >&6 -ac_ext=cc + ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test "${groff_cv_decl_needed_strcasecmp+set}" = set; then + if test "${groff_cv_decl_needed_strcasecmp+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" + + /* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + #include #ifdef HAVE_STRING_H @@ -4366,23 +5042,40 @@ #ifdef HAVE_MATH_H #include #endif + + int main () { + + #ifndef strcasecmp char *p = (char *) strcasecmp; #endif + + ; return 0; } + _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -4391,22 +5084,23 @@ groff_cv_decl_needed_strcasecmp=no else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + groff_cv_decl_needed_strcasecmp=yes fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $groff_cv_decl_needed_strcasecmp" >&5 + echo "$as_me:$LINENO: result: $groff_cv_decl_needed_strcasecmp" >&5 echo "${ECHO_T}$groff_cv_decl_needed_strcasecmp" >&6 -if test $groff_cv_decl_needed_strcasecmp = yes; then + if test $groff_cv_decl_needed_strcasecmp = yes; then cat >>confdefs.h <<\_ACEOF #define NEED_DECLARATION_STRCASECMP 1 _ACEOF -fi -ac_ext=c + fi + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' @@ -4414,18 +5108,23 @@ echo "$as_me:$LINENO: checking whether strncasecmp must be declared" >&5 echo $ECHO_N "checking whether strncasecmp must be declared... $ECHO_C" >&6 -ac_ext=cc + ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test "${groff_cv_decl_needed_strncasecmp+set}" = set; then + if test "${groff_cv_decl_needed_strncasecmp+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" + + /* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + #include #ifdef HAVE_STRING_H @@ -4446,23 +5145,40 @@ #ifdef HAVE_MATH_H #include #endif + + int main () { + + #ifndef strncasecmp char *p = (char *) strncasecmp; #endif + + ; return 0; } + _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -4471,22 +5187,229 @@ groff_cv_decl_needed_strncasecmp=no else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + groff_cv_decl_needed_strncasecmp=yes fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $groff_cv_decl_needed_strncasecmp" >&5 + echo "$as_me:$LINENO: result: $groff_cv_decl_needed_strncasecmp" >&5 echo "${ECHO_T}$groff_cv_decl_needed_strncasecmp" >&6 -if test $groff_cv_decl_needed_strncasecmp = yes; then + if test $groff_cv_decl_needed_strncasecmp = yes; then cat >>confdefs.h <<\_ACEOF #define NEED_DECLARATION_STRNCASECMP 1 _ACEOF + fi + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +echo "$as_me:$LINENO: checking whether vfprintf must be declared" >&5 +echo $ECHO_N "checking whether vfprintf must be declared... $ECHO_C" >&6 + ac_ext=cc +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + if test "${groff_cv_decl_needed_vfprintf+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF + + /* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + +#include +#ifdef HAVE_STRING_H +#include +#endif +#ifdef HAVE_STRINGS_H +#include +#endif +#ifdef HAVE_STDLIB_H +#include +#endif +#ifdef HAVE_SYS_TIME_H +#include +#endif +#ifdef HAVE_UNISTD_H +#include +#endif +#ifdef HAVE_MATH_H +#include +#endif + + +int +main () +{ + + +#ifndef vfprintf + char *p = (char *) vfprintf; +#endif + + + ; + return 0; +} + +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + groff_cv_decl_needed_vfprintf=no +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +groff_cv_decl_needed_vfprintf=yes +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi + + echo "$as_me:$LINENO: result: $groff_cv_decl_needed_vfprintf" >&5 +echo "${ECHO_T}$groff_cv_decl_needed_vfprintf" >&6 + if test $groff_cv_decl_needed_vfprintf = yes; then + +cat >>confdefs.h <<\_ACEOF +#define NEED_DECLARATION_VFPRINTF 1 +_ACEOF + + fi + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +echo "$as_me:$LINENO: checking whether vsnprintf must be declared" >&5 +echo $ECHO_N "checking whether vsnprintf must be declared... $ECHO_C" >&6 + ac_ext=cc +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + if test "${groff_cv_decl_needed_vsnprintf+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF + + /* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + +#include +#ifdef HAVE_STRING_H +#include +#endif +#ifdef HAVE_STRINGS_H +#include +#endif +#ifdef HAVE_STDLIB_H +#include +#endif +#ifdef HAVE_SYS_TIME_H +#include +#endif +#ifdef HAVE_UNISTD_H +#include +#endif +#ifdef HAVE_MATH_H +#include +#endif + + +int +main () +{ + + +#ifndef vsnprintf + char *p = (char *) vsnprintf; +#endif + + + ; + return 0; +} + +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + groff_cv_decl_needed_vsnprintf=no +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +groff_cv_decl_needed_vsnprintf=yes fi -ac_ext=c +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi + + echo "$as_me:$LINENO: result: $groff_cv_decl_needed_vsnprintf" >&5 +echo "${ECHO_T}$groff_cv_decl_needed_vsnprintf" >&6 + if test $groff_cv_decl_needed_vsnprintf = yes; then + +cat >>confdefs.h <<\_ACEOF +#define NEED_DECLARATION_VSNPRINTF 1 +_ACEOF + + fi + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' @@ -4498,138 +5421,218 @@ ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -echo "$as_me:$LINENO: checking for sys_nerr in or " >&5 -echo $ECHO_N "checking for sys_nerr in or ... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" + echo "$as_me:$LINENO: checking for sys_nerr in , , or " >&5 +echo $ECHO_N "checking for sys_nerr in , , or ... $ECHO_C" >&6 + cat >conftest.$ac_ext <<_ACEOF + + /* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + #include #include +#include + + int main () { -int k; k = sys_nerr; + + +int k; +k = sys_nerr; + + ; return 0; } + _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; +echo "${ECHO_T}yes" >&6 + cat >>confdefs.h <<\_ACEOF #define HAVE_SYS_NERR 1 _ACEOF else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi -rm -f conftest.$ac_objext conftest.$ac_ext -ac_ext=c +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -echo "$as_me:$LINENO: checking for sys_errlist in or " >&5 -echo $ECHO_N "checking for sys_errlist in or ... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" +echo "$as_me:$LINENO: checking for sys_errlist in , , or " >&5 +echo $ECHO_N "checking for sys_errlist in , , or ... $ECHO_C" >&6 + cat >conftest.$ac_ext <<_ACEOF + + /* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + #include #include +#include + + int main () { -int k; k = (int)sys_errlist[0]; + + +int k; +k = (int)sys_errlist[0]; + + ; return 0; } + _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; +echo "${ECHO_T}yes" >&6 + cat >>confdefs.h <<\_ACEOF #define HAVE_SYS_ERRLIST 1 _ACEOF else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -echo "$as_me:$LINENO: checking C++ " >&5 + echo "$as_me:$LINENO: checking C++ " >&5 echo $ECHO_N "checking C++ ... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" + cat >conftest.$ac_ext <<_ACEOF + + /* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + #include + + int main () { -read(0, 0, 0); open(0, 0); + + +read(0, 0, 0); +open(0, 0); + + ; return 0; } + _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; +echo "${ECHO_T}yes" >&6 + cat >>confdefs.h <<\_ACEOF #define HAVE_CC_OSFCN_H 1 _ACEOF else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi -rm -f conftest.$ac_objext conftest.$ac_ext -ac_ext=c +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' @@ -4641,46 +5644,73 @@ ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -echo "$as_me:$LINENO: checking C++ " >&5 + echo "$as_me:$LINENO: checking C++ " >&5 echo $ECHO_N "checking C++ ... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" + cat >conftest.$ac_ext <<_ACEOF + + /* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + #include + + int main () { -int x = INT_MIN; int y = INT_MAX; int z = UCHAR_MAX; + + +int x = INT_MIN; +int y = INT_MAX; +int z = UCHAR_MAX; + + ; return 0; } + _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; +echo "${ECHO_T}yes" >&6 + cat >>confdefs.h <<\_ACEOF #define HAVE_CC_LIMITS_H 1 _ACEOF else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi -rm -f conftest.$ac_objext conftest.$ac_ext -ac_ext=c +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' @@ -4692,46 +5722,72 @@ ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -echo "$as_me:$LINENO: checking C++ " >&5 + echo "$as_me:$LINENO: checking C++ " >&5 echo $ECHO_N "checking C++ ... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" + cat >conftest.$ac_ext <<_ACEOF + + /* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + #include + + int main () { -uint32_t x; int32_t y; + + +uint32_t x; +int32_t y; + + ; return 0; } + _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; +echo "${ECHO_T}yes" >&6 + cat >>confdefs.h <<\_ACEOF #define HAVE_CC_STDINT_H 1 _ACEOF else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi -rm -f conftest.$ac_objext conftest.$ac_ext -ac_ext=c +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' @@ -4743,28 +5799,51 @@ ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -echo "$as_me:$LINENO: checking for inttypes.h" >&5 + echo "$as_me:$LINENO: checking for inttypes.h" >&5 echo $ECHO_N "checking for inttypes.h... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" + cat >conftest.$ac_ext <<_ACEOF + + /* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + #include #include + + int main () { + + uintmax_t i = (uintmax_t)-1; + + ; return 0; } + _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -4773,46 +5852,73 @@ groff_cv_header_inttypes_h=yes else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + groff_cv_header_inttypes_h=no fi -rm -f conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $groff_cv_header_inttypes_h" >&5 +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + echo "$as_me:$LINENO: result: $groff_cv_header_inttypes_h" >&5 echo "${ECHO_T}$groff_cv_header_inttypes_h" >&6 -ac_ext=c + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu + +# checks for typedefs ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -echo "$as_me:$LINENO: checking for unsigned long long" >&5 + echo "$as_me:$LINENO: checking for unsigned long long" >&5 echo $ECHO_N "checking for unsigned long long... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -unsigned long long ull = 1; int i = 63; + cat >conftest.$ac_ext <<_ACEOF + + /* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + +unsigned long long ull = 1; +int i = 63; +unsigned long long ullmax = (unsigned long long)-1; + + int main () { -unsigned long long ullmax = (unsigned long long)-1; + + return ull << i | ull >> i | ullmax / ull | ullmax % ull; + + ; return 0; } + _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 + (eval $ac_link) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -4821,22 +5927,24 @@ groff_cv_type_unsigned_long_long=yes else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + groff_cv_type_unsigned_long_long=no fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -echo "$as_me:$LINENO: result: $groff_cv_type_unsigned_long_long" >&5 +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + echo "$as_me:$LINENO: result: $groff_cv_type_unsigned_long_long" >&5 echo "${ECHO_T}$groff_cv_type_unsigned_long_long" >&6 -ac_ext=c + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test $groff_cv_header_inttypes_h = no; then + if test $groff_cv_header_inttypes_h = no; then - test $groff_cv_type_unsigned_long_long = yes \ + test $groff_cv_type_unsigned_long_long = yes \ && ac_type='unsigned long long' \ || ac_type='unsigned long' @@ -4844,34 +5952,58 @@ #define uintmax_t $ac_type _ACEOF -fi + fi ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -echo "$as_me:$LINENO: checking for declaration of time_t" >&5 + echo "$as_me:$LINENO: checking for declaration of time_t" >&5 echo $ECHO_N "checking for declaration of time_t... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" + cat >conftest.$ac_ext <<_ACEOF + + /* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + #include + + int main () { -time_t t = time(0); struct tm *p = localtime(&t); + + +time_t t = time(0); +struct tm *p = localtime(&t); + + ; return 0; } + _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -4881,16 +6013,18 @@ echo "${ECHO_T}yes" >&6 else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; +echo "${ECHO_T}no" >&6 + cat >>confdefs.h <<\_ACEOF #define LONG_FOR_TIME_T 1 _ACEOF fi -rm -f conftest.$ac_objext conftest.$ac_ext -ac_ext=c +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' @@ -4902,8 +6036,11 @@ echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include #include #ifdef signal @@ -4925,11 +6062,21 @@ _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -4938,10 +6085,11 @@ ac_cv_type_signal=void else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_type_signal=int fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_type_signal" >&5 echo "${ECHO_T}$ac_cv_type_signal" >&6 @@ -4951,45 +6099,135 @@ _ACEOF -echo "$as_me:$LINENO: checking struct exception" >&5 -echo $ECHO_N "checking struct exception... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include +echo "$as_me:$LINENO: checking struct exception" >&5 +echo $ECHO_N "checking struct exception... $ECHO_C" >&6 + cat >conftest.$ac_ext <<_ACEOF + + /* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + +#include + + +int +main () +{ + + +struct exception e; + + + ; + return 0; +} + +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + +cat >>confdefs.h <<\_ACEOF +#define HAVE_STRUCT_EXCEPTION 1 +_ACEOF + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +# checks for libraries +echo "$as_me:$LINENO: checking for main in -lc" >&5 +echo $ECHO_N "checking for main in -lc... $ECHO_C" >&6 +if test "${ac_cv_lib_c_main+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lc $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + int main () { -struct exception e; +main (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; -cat >>confdefs.h <<\_ACEOF -#define HAVE_STRUCT_EXCEPTION 1 -_ACEOF - + ac_cv_lib_c_main=yes else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_c_main=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_c_main" >&5 +echo "${ECHO_T}$ac_cv_lib_c_main" >&6 +if test $ac_cv_lib_c_main = yes; then + LIBC=-lc +fi + + echo "$as_me:$LINENO: checking for sin in -lm" >&5 echo $ECHO_N "checking for sin in -lm... $ECHO_C" >&6 if test "${ac_cv_lib_m_sin+set}" = set; then @@ -4998,8 +6236,11 @@ ac_check_lib_save_LIBS=$LIBS LIBS="-lm $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus @@ -5018,11 +6259,21 @@ _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 + (eval $ac_link) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -5031,10 +6282,12 @@ ac_cv_lib_m_sin=yes else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_lib_m_sin=no fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_m_sin" >&5 @@ -5045,6 +6298,8 @@ +# checks for functions + for ac_header in stdlib.h unistd.h do @@ -5062,18 +6317,31 @@ echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -5082,10 +6350,11 @@ ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_header_compiler=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 @@ -5093,8 +6362,11 @@ echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include <$ac_header> _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 @@ -5107,6 +6379,7 @@ (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag else ac_cpp_err= fi @@ -5117,7 +6390,8 @@ ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext @@ -5125,26 +6399,43 @@ echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? -case $ac_header_compiler:$ac_header_preproc in - yes:no ) +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;};; - no:yes ) + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;};; +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( + cat <<\_ASBOX +## ------------------------------------------ ## +## Report this to the AC_PACKAGE_NAME lists. ## +## ------------------------------------------ ## +_ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 + ;; esac echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - eval "$as_ac_Header=$ac_header_preproc" + eval "$as_ac_Header=\$ac_header_preproc" fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 @@ -5169,43 +6460,73 @@ echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ -#include + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" +{ #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char $ac_func (); -char (*f) (); - -int -main () -{ /* 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_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +char (*f) () = $ac_func; +#endif +#ifdef __cplusplus +} #endif +int +main () +{ +return f != $ac_func; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 + (eval $ac_link) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -5214,10 +6535,12 @@ eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + eval "$as_ac_var=no" fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 @@ -5238,8 +6561,11 @@ ac_cv_func_mmap_fixed_mapped=no else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ $ac_includes_default /* malloc might have been renamed as rpl_malloc. */ #undef malloc @@ -5342,9 +6668,9 @@ data2 = (char *) malloc (2 * pagesize); if (!data2) exit (1); - data2 += (pagesize - ((int) data2 & (pagesize - 1))) & (pagesize - 1); + data2 += (pagesize - ((long) data2 & (pagesize - 1))) & (pagesize - 1); if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE, - MAP_PRIVATE | MAP_FIXED, fd, 0L)) + MAP_PRIVATE | MAP_FIXED, fd, 0L)) exit (1); for (i = 0; i < pagesize; ++i) if (*(data + i) != *(data2 + i)) @@ -5382,11 +6708,12 @@ else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ( exit $ac_status ) ac_cv_func_mmap_fixed_mapped=no fi -rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi echo "$as_me:$LINENO: result: $ac_cv_func_mmap_fixed_mapped" >&5 @@ -5401,7 +6728,7 @@ rm -f conftest.mmap saved_libs="$LIBS" -LIBS="$LIBS -lc $LIBM" +LIBS="$LIBS $LIBC $LIBM" @@ -5411,7 +6738,7 @@ for ac_func in fmod getcwd putenv snprintf strcasecmp \ - strerror strncasecmp strtol + strerror strncasecmp strtol do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` echo "$as_me:$LINENO: checking for $ac_func" >&5 @@ -5420,43 +6747,186 @@ echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ -#include + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" +{ #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char $ac_func (); -char (*f) (); +/* 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_$ac_func) || defined (__stub___$ac_func) +choke me +#else +char (*f) () = $ac_func; +#endif +#ifdef __cplusplus +} +#endif int main () { +return f != $ac_func; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +eval "$as_ac_var=no" +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +else + case $LIBOBJS in + "$ac_func.$ac_objext" | \ + *" $ac_func.$ac_objext" | \ + "$ac_func.$ac_objext "* | \ + *" $ac_func.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS $ac_func.$ac_objext" ;; +esac + +fi +done + + +# vsnprintf is in the same source file as snprintf + +for ac_func in vsnprintf +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 +if eval "test \"\${$as_ac_var+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +{ +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func (); /* 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_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +char (*f) () = $ac_func; +#endif +#ifdef __cplusplus +} #endif +int +main () +{ +return f != $ac_func; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 + (eval $ac_link) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -5465,10 +6935,12 @@ eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + eval "$as_ac_var=no" fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 @@ -5478,18 +6950,25 @@ _ACEOF else - LIBOBJS="$LIBOBJS $ac_func.$ac_objext" + case $LIBOBJS in + "snprintf.$ac_objext" | \ + *" snprintf.$ac_objext" | \ + "snprintf.$ac_objext "* | \ + *" snprintf.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS snprintf.$ac_objext" ;; +esac + fi done - LIBS="$saved_libs" -for ac_func in gettimeofday isatty rename setlocale strsep + +for ac_func in gettimeofday isatty kill rename setlocale strsep do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` echo "$as_me:$LINENO: checking for $ac_func" >&5 @@ -5498,43 +6977,73 @@ echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ -#include + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" +{ #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char $ac_func (); -char (*f) (); - -int -main () -{ /* 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_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +char (*f) () = $ac_func; +#endif +#ifdef __cplusplus +} #endif +int +main () +{ +return f != $ac_func; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 + (eval $ac_link) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -5543,10 +7052,12 @@ eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + eval "$as_ac_var=no" fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 @@ -5560,138 +7071,213 @@ echo "$as_me:$LINENO: checking for mkstemp" >&5 echo $ECHO_N "checking for mkstemp... $ECHO_C" >&6 -ac_ext=cc + ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" + cat >conftest.$ac_ext <<_ACEOF + + /* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + #include #include int (*f) (char *); + + int main () { + + f = mkstemp; + + ; return 0; } + _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 + (eval $ac_link) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; +echo "${ECHO_T}yes" >&6 + cat >>confdefs.h <<\_ACEOF #define HAVE_MKSTEMP 1 _ACEOF else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6;LIBOBJS="$LIBOBJS mkstemp.$ac_objext" +echo "${ECHO_T}no" >&6 + case $LIBOBJS in + "mkstemp.$ac_objext" | \ + *" mkstemp.$ac_objext" | \ + "mkstemp.$ac_objext "* | \ + *" mkstemp.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS mkstemp.$ac_objext" ;; +esac + fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -ac_ext=c +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -echo "$as_me:$LINENO: checking for sys_siglist declaration in signal.h or unistd.h" >&5 -echo $ECHO_N "checking for sys_siglist declaration in signal.h or unistd.h... $ECHO_C" >&6 -if test "${ac_cv_decl_sys_siglist+set}" = set; then +echo "$as_me:$LINENO: checking whether sys_siglist is declared" >&5 +echo $ECHO_N "checking whether sys_siglist is declared... $ECHO_C" >&6 +if test "${ac_cv_have_decl_sys_siglist+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include -#include -/* NetBSD declares sys_siglist in unistd.h. */ -#if HAVE_UNISTD_H -# include -#endif - + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default int main () { -char *msg = *(sys_siglist + 1); +#ifndef sys_siglist + char *p = (char *) sys_siglist; +#endif + ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_decl_sys_siglist=yes + ac_cv_have_decl_sys_siglist=yes else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_decl_sys_siglist=no +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_have_decl_sys_siglist=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $ac_cv_decl_sys_siglist" >&5 -echo "${ECHO_T}$ac_cv_decl_sys_siglist" >&6 -if test $ac_cv_decl_sys_siglist = yes; then +echo "$as_me:$LINENO: result: $ac_cv_have_decl_sys_siglist" >&5 +echo "${ECHO_T}$ac_cv_have_decl_sys_siglist" >&6 +if test $ac_cv_have_decl_sys_siglist = yes; then -cat >>confdefs.h <<\_ACEOF -#define SYS_SIGLIST_DECLARED 1 +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_SYS_SIGLIST 1 _ACEOF + +else + cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_SYS_SIGLIST 0 +_ACEOF + + fi + + +# checks for compiler characteristics ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -echo "$as_me:$LINENO: checking whether ANSI array delete syntax supported" >&5 -echo $ECHO_N "checking whether ANSI array delete syntax supported... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" + echo "$as_me:$LINENO: checking whether ANSI array delete syntax is supported" >&5 +echo $ECHO_N "checking whether ANSI array delete syntax is supported... $ECHO_C" >&6 + cat >conftest.$ac_ext <<_ACEOF + + /* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ int main () { -char *p = new char[5]; delete [] p; + + +char *p = new char[5]; +delete [] p; + + ; return 0; } + _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -5701,16 +7287,18 @@ echo "${ECHO_T}yes" >&6 else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; +echo "${ECHO_T}no" >&6 + cat >>confdefs.h <<\_ACEOF #define ARRAY_DELETE_NEEDS_SIZE 1 _ACEOF fi -rm -f conftest.$ac_objext conftest.$ac_ext -ac_ext=c +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' @@ -5722,62 +7310,102 @@ ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -echo "$as_me:$LINENO: checking traditional preprocessor" >&5 + echo "$as_me:$LINENO: checking traditional preprocessor" >&5 echo $ECHO_N "checking traditional preprocessor... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#define name2(a,b) a/**/b + cat >conftest.$ac_ext <<_ACEOF + + /* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + +#define name2(a, b) a/**/b + + int main () { -int name2(foo,bar); + + +int name2(foo, bar); + + ; return 0; } + _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; +echo "${ECHO_T}yes" >&6 + cat >>confdefs.h <<\_ACEOF #define TRADITIONAL_CPP 1 _ACEOF else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi -rm -f conftest.$ac_objext conftest.$ac_ext -ac_ext=c +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu + +# checks for operating system services echo "$as_me:$LINENO: checking w_coredump" >&5 echo $ECHO_N "checking w_coredump... $ECHO_C" >&6 -if test "$cross_compiling" = yes; then + if test "$cross_compiling" = yes; then echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" + + /* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + #include #include + + +int +main () +{ + + main() { #ifdef WCOREFLAG @@ -5788,6 +7416,12 @@ exit(i != 0200); #endif } + + + ; + return 0; +} + _ACEOF rm -f conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 @@ -5801,7 +7435,8 @@ echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; +echo "${ECHO_T}yes" >&6 + cat >>confdefs.h <<\_ACEOF #define WCOREFLAG 0200 _ACEOF @@ -5809,151 +7444,229 @@ else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ( exit $ac_status ) echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi -rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi + +# other random stuff echo "$as_me:$LINENO: checking default value for grops -b option" >&5 echo $ECHO_N "checking default value for grops -b option... $ECHO_C" >&6 -test -n "${BROKEN_SPOOLER_FLAGS}" || BROKEN_SPOOLER_FLAGS=7 -echo "$as_me:$LINENO: result: $BROKEN_SPOOLER_FLAGS" >&5 + test -n "${BROKEN_SPOOLER_FLAGS}" || BROKEN_SPOOLER_FLAGS=0 + echo "$as_me:$LINENO: result: $BROKEN_SPOOLER_FLAGS" >&5 echo "${ECHO_T}$BROKEN_SPOOLER_FLAGS" >&6 echo "$as_me:$LINENO: checking default paper size" >&5 echo $ECHO_N "checking default paper size... $ECHO_C" >&6 -groff_prefix=$prefix -test "x$prefix" = xNONE && groff_prefix=$ac_default_prefix -if test -z "$PAGE"; then - descfile= - if test -r $groff_prefix/share/groff/font/devps/DESC; then - descfile=$groff_prefix/share/groff/font/devps/DESC - elif test -r $groff_prefix/lib/groff/font/devps/DESC; then - descfile=$groff_prefix/lib/groff/font/devps/DESC - else - for f in $groff_prefix/share/groff/*/font/devps/DESC; do - if test -r $f; then - descfile=$f - break - fi - done - fi - if test -n "$descfile"; then - if grep '^paperlength[ ]\+841890' $descfile - >/dev/null 2>&1; then - PAGE=A4 - elif grep '^papersize[ ]\+[aA]4' $descfile \ - >/dev/null 2>&1; then - PAGE=A4 - fi - 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" \ - || test "$dom" = '(none)'; then - dom=`(hostname) 2>/dev/null | grep '\.'` - fi - fi - # 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 -fi -test -n "$PAGE" || PAGE=letter -if test "x$PAGE" = "xA4"; then + groff_prefix=$prefix + test "x$prefix" = xNONE && groff_prefix=$ac_default_prefix + if test -z "$PAGE"; then + descfile= + if test -r $groff_prefix/share/groff/font/devps/DESC; then + descfile=$groff_prefix/share/groff/font/devps/DESC + elif test -r $groff_prefix/lib/groff/font/devps/DESC; then + descfile=$groff_prefix/lib/groff/font/devps/DESC + else + for f in $groff_prefix/share/groff/*/font/devps/DESC; do + if test -r $f; then + descfile=$f + break + fi + done + fi + + if test -n "$descfile"; then + if grep '^paperlength[ ]\+841890' $descfile >/dev/null 2>&1; then + PAGE=A4 + elif grep '^papersize[ ]\+[aA]4' $descfile >/dev/null 2>&1; then + PAGE=A4 + fi + 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" \ + || test "$dom" = '(none)'; then + dom=`(hostname) 2>/dev/null | grep '\.'` + fi + fi + # 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 + fi + + test -n "$PAGE" || PAGE=letter + if test "x$PAGE" = "xA4"; then cat >>confdefs.h <<\_ACEOF #define PAGEA4 1 _ACEOF -fi -echo "$as_me:$LINENO: result: $PAGE" >&5 + fi + echo "$as_me:$LINENO: result: $PAGE" >&5 echo "${ECHO_T}$PAGE" >&6 echo "$as_me:$LINENO: checking for existing troff installation" >&5 echo $ECHO_N "checking for existing troff installation... $ECHO_C" >&6 -if test "x`(echo .tm '|n(.g' | tr '|' '\\\\' | troff -z -i 2>&1) 2>/dev/null`" = x0; then - echo "$as_me:$LINENO: result: yes" >&5 + if test "x`(echo .tm '|n(.g' | tr '|' '\\\\' | troff -z -i 2>&1) 2>/dev/null`" = x0; then + echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 - g=g -else - echo "$as_me:$LINENO: result: no" >&5 + g=g + else + echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 - g= -fi + g= + fi echo "$as_me:$LINENO: checking for prefix of system macro packages" >&5 echo $ECHO_N "checking for prefix of system macro packages... $ECHO_C" >&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 "$as_me:$LINENO: result: $sys_tmac_prefix" >&5 + 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 "$as_me:$LINENO: result: $sys_tmac_prefix" >&5 echo "${ECHO_T}$sys_tmac_prefix" >&6 -tmac_wrap= -echo "$as_me:$LINENO: checking which system macro packages should be made available" >&5 + + echo "$as_me:$LINENO: checking which system macro packages should be made available" >&5 echo $ECHO_N "checking which system macro packages should be made available... $ECHO_C" >&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 -echo "$as_me:$LINENO: result: $tmac_wrap" >&5 + tmac_wrap= + 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 + echo "$as_me:$LINENO: result: $tmac_wrap" >&5 echo "${ECHO_T}$tmac_wrap" >&6 +echo "$as_me:$LINENO: checking separator character to use in groff search paths" >&5 +echo $ECHO_N "checking separator character to use in groff search paths... $ECHO_C" >&6 + cp ${srcdir}/src/include/nonposix.h conftest.h + cat >conftest.$ac_ext <<_ACEOF + + /* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + +#include +#include "conftest.h" + + +int +main () +{ + + +#if PATH_SEP_CHAR == ';' +make an error "Path separator is ';'" +#endif + + + ; + return 0; +} + +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + GROFF_PATH_SEPARATOR=":" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +GROFF_PATH_SEPARATOR=";" +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + echo "$as_me:$LINENO: result: $GROFF_PATH_SEPARATOR" >&5 +echo "${ECHO_T}$GROFF_PATH_SEPARATOR" >&6 + make_html=html -make_install_html=install_html -missing= -# Extract the first word of "pnmcut", so it can be a program name with args. + make_install_html=install_html + + missing= + # Extract the first word of "pnmcut", so it can be a program name with args. set dummy pnmcut; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 @@ -5989,10 +7702,9 @@ echo "${ECHO_T}no" >&6 fi -if test $pnmcut = missing; then + if test $pnmcut = missing; then missing="$missing pnmcut" -fi -# Extract the first word of "pnmcrop", so it can be a program name with args. + fi;# Extract the first word of "pnmcrop", so it can be a program name with args. set dummy pnmcrop; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 @@ -6028,10 +7740,9 @@ echo "${ECHO_T}no" >&6 fi -if test $pnmcrop = missing; then + if test $pnmcrop = missing; then missing="$missing pnmcrop" -fi -# Extract the first word of "pnmtopng", so it can be a program name with args. + fi;# Extract the first word of "pnmtopng", so it can be a program name with args. set dummy pnmtopng; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 @@ -6067,18 +7778,17 @@ echo "${ECHO_T}no" >&6 fi -if test $pnmtopng = missing; then + if test $pnmtopng = missing; then missing="$missing pnmtopng" -fi -# Extract the first word of "gs gsos2", so it can be a program name with args. -set dummy gs gsos2; ac_word=$2 + fi;# Extract the first word of "psselect", so it can be a program name with args. +set dummy psselect; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_gs+set}" = set; then +if test "${ac_cv_prog_psselect+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - if test -n "$gs"; then - ac_cv_prog_gs="$gs" # Let the user override the test. + if test -n "$psselect"; then + ac_cv_prog_psselect="$psselect" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH @@ -6087,37 +7797,36 @@ test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_gs="found" + ac_cv_prog_psselect="found" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done - test -z "$ac_cv_prog_gs" && ac_cv_prog_gs="missing" + test -z "$ac_cv_prog_psselect" && ac_cv_prog_psselect="missing" fi fi -gs=$ac_cv_prog_gs -if test -n "$gs"; then - echo "$as_me:$LINENO: result: $gs" >&5 -echo "${ECHO_T}$gs" >&6 +psselect=$ac_cv_prog_psselect +if test -n "$psselect"; then + echo "$as_me:$LINENO: result: $psselect" >&5 +echo "${ECHO_T}$psselect" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi -if test $gs = missing; then - missing="$missing gs" -fi -# Extract the first word of "psselect", so it can be a program name with args. -set dummy psselect; ac_word=$2 + if test $psselect = missing; then + missing="$missing psselect" + fi;# Extract the first word of "pnmtops", so it can be a program name with args. +set dummy pnmtops; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_psselect+set}" = set; then +if test "${ac_cv_prog_pnmtops+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - if test -n "$psselect"; then - ac_cv_prog_psselect="$psselect" # Let the user override the test. + if test -n "$pnmtops"; then + ac_cv_prog_pnmtops="$pnmtops" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH @@ -6126,37 +7835,36 @@ test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_psselect="found" + ac_cv_prog_pnmtops="found" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done - test -z "$ac_cv_prog_psselect" && ac_cv_prog_psselect="missing" + test -z "$ac_cv_prog_pnmtops" && ac_cv_prog_pnmtops="missing" fi fi -psselect=$ac_cv_prog_psselect -if test -n "$psselect"; then - echo "$as_me:$LINENO: result: $psselect" >&5 -echo "${ECHO_T}$psselect" >&6 +pnmtops=$ac_cv_prog_pnmtops +if test -n "$pnmtops"; then + echo "$as_me:$LINENO: result: $pnmtops" >&5 +echo "${ECHO_T}$pnmtops" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi -if test $psselect = missing; then - missing="$missing psselect" -fi -# Extract the first word of "pnmtops", so it can be a program name with args. -set dummy pnmtops; ac_word=$2 + if test $pnmtops = missing; then + missing="$missing pnmtops" + fi;# Extract the first word of "gs", so it can be a program name with args. +set dummy gs; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_pnmtops+set}" = set; then +if test "${ac_cv_prog_gs+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - if test -n "$pnmtops"; then - ac_cv_prog_pnmtops="$pnmtops" # Let the user override the test. + if test -n "$gs"; then + ac_cv_prog_gs="$gs" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH @@ -6165,61 +7873,64 @@ test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_pnmtops="found" + ac_cv_prog_gs="found" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done - test -z "$ac_cv_prog_pnmtops" && ac_cv_prog_pnmtops="missing" + test -z "$ac_cv_prog_gs" && ac_cv_prog_gs="missing" fi fi -pnmtops=$ac_cv_prog_pnmtops -if test -n "$pnmtops"; then - echo "$as_me:$LINENO: result: $pnmtops" >&5 -echo "${ECHO_T}$pnmtops" >&6 +gs=$ac_cv_prog_gs +if test -n "$gs"; then + echo "$as_me:$LINENO: result: $gs" >&5 +echo "${ECHO_T}$gs" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi -if test $pnmtops = missing; then - missing="$missing pnmtops" -fi -if test -n "$missing"; then - cnt=0 - for i in $missing - do - cnt=`expr $cnt + 1` - eval "prog$cnt=$i" - done - plural="s" - case $cnt in - 1) - plural="" - progs="\`$prog1'" ;; - 2) - progs="\`$prog1' and \`$prog2'" ;; - 3) - progs="\`$prog1', \`$prog2', and \`$prog3'" ;; - 4) - progs="\`$prog1', \`$prog2', \`$prog3', and \`$prog4'" ;; - 5) - progs="\`$prog1', \`$prog2', \`$prog3', \`$prog4', and \`$prog5'" ;; - 6) - progs="\`$prog1', \`$prog2', \`$prog3', \`$prog4', \`$prog5', and \`$prog6'" ;; - esac - make_html= - make_install_html= - { echo "$as_me:$LINENO: WARNING: + if test $gs = missing; then + missing="$missing gs" + fi; + + if test -n "$missing"; then + cnt=0 + for i in $missing + do + cnt=`expr $cnt + 1` + eval "prog$cnt=$i" + done + plural="s" + case $cnt in + 1) + plural="" + progs="\`$prog1'" ;; + 2) + progs="\`$prog1' and \`$prog2'" ;; + 3) + progs="\`$prog1', \`$prog2', and \`$prog3'" ;; + 4) + progs="\`$prog1', \`$prog2', \`$prog3', and \`$prog4'" ;; + 5) + progs="\`$prog1', \`$prog2', \`$prog3', \`$prog4', and \`$prog5'" ;; + 6) + progs="\`$prog1', \`$prog2', \`$prog3', \`$prog4', \`$prog5', and \`$prog6'" ;; + esac + + make_html= + make_install_html= + + { echo "$as_me:$LINENO: WARNING: The program$plural $progs can't be found in the path, thus the HTML backend of groff (grohtml) won't work properly. Consequently, no documentation in HTML format is built and installed. -" >&5 + " >&5 echo "$as_me: WARNING: The program$plural @@ -6227,27 +7938,30 @@ can't be found in the path, thus the HTML backend of groff (grohtml) won't work properly. Consequently, no documentation in HTML format is built and installed. -" >&2;} -fi + " >&2;} + fi + echo "$as_me:$LINENO: checking whether pnmtops can handle the -nosetpage option" >&5 echo $ECHO_N "checking whether pnmtops can handle the -nosetpage option... $ECHO_C" >&6 -if echo P2 2 2 255 0 1 2 0 | pnmtops -nosetpage > /dev/null 2>&1 ; then - echo "$as_me:$LINENO: result: yes" >&5 + if echo P2 2 2 255 0 1 2 0 | pnmtops -nosetpage > /dev/null 2>&1 ; then + echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 - pnmtops_nosetpage="pnmtops -nosetpage" -else - echo "$as_me:$LINENO: result: no" >&5 + pnmtops_nosetpage="pnmtops -nosetpage" + else + echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 - pnmtops_nosetpage="pnmtops" -fi + pnmtops_nosetpage="pnmtops" + fi ac_config_files="$ac_config_files stamp-h" ac_config_files="$ac_config_files Makefile doc/Makefile src/xditview/Imakefile" + ac_config_files="$ac_config_files test-groff" + cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure @@ -6276,13 +7990,13 @@ # `set' does not quote correctly, so add quotes (double-quote # substitution turns \\\\ into \\, and sed turns \\ into \). sed -n \ - "s/'/'\\\\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n \ - "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" ;; esac; } | @@ -6293,7 +8007,7 @@ t end /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ : end' >>confcache -if cmp -s $cache_file confcache; then :; else +if diff $cache_file confcache >/dev/null 2>&1; then :; else if test -w $cache_file; then test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" cat confcache >$cache_file @@ -6312,13 +8026,13 @@ # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=/{ + ac_vpsub='/^[ ]*VPATH[ ]*=/{ s/:*\$(srcdir):*/:/; s/:*\${srcdir}:*/:/; s/:*@srcdir@:*/:/; -s/^\([^=]*=[ ]*\):*/\1/; +s/^\([^=]*=[ ]*\):*/\1/; s/:*$//; -s/^[^=]*=[ ]*$//; +s/^[^=]*=[ ]*$//; }' fi @@ -6329,7 +8043,7 @@ for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_i=`echo "$ac_i" | - sed 's/\$U\././;s/\.o$//;s/\.obj$//'` + sed 's/\$U\././;s/\.o$//;s/\.obj$//'` # 2. Add them. ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext" ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo' @@ -6353,6 +8067,8 @@ # configure, is in config.log if it exists. debug=false +ac_cs_recheck=false +ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} _ACEOF @@ -6371,9 +8087,10 @@ elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then set -o posix fi +DUALCASE=1; export DUALCASE # for MKS sh # Support unset when possible. -if (FOO=FOO; unset FOO) >/dev/null 2>&1; then +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false @@ -6387,9 +8104,12 @@ PS4='+ ' # NLS nuisances. -for as_var in LANG LANGUAGE LC_ALL LC_COLLATE LC_CTYPE LC_NUMERIC LC_MESSAGES LC_TIME +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME do - if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else $as_unset $as_var @@ -6433,15 +8153,15 @@ # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conftest.sh - echo "exit 0" >>conftest.sh - chmod +x conftest.sh - if (PATH="/nonexistent;."; conftest.sh) >/dev/null 2>&1; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi - rm -f conftest.sh + rm -f conf$$.sh fi @@ -6568,16 +8288,17 @@ if mkdir -p . 2>/dev/null; then as_mkdir_p=: else + test -d ./-p && rmdir ./-p as_mkdir_p=false fi as_executable_p="test -f" # Sed expression to map a string onto a valid CPP name. -as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. -as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" # IFS @@ -6604,7 +8325,7 @@ cat >&5 <<_CSEOF This file was extended by $as_me, which was -generated by GNU Autoconf 2.54. Invocation command line was +generated by GNU Autoconf 2.59. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -6644,12 +8365,13 @@ -h, --help print this help, then exit -V, --version print version number, then exit + -q, --quiet do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] - instantiate the configuration file FILE + instantiate the configuration file FILE --header=FILE[:TEMPLATE] - instantiate the configuration header FILE + instantiate the configuration header FILE Configuration files: $config_files @@ -6663,11 +8385,10 @@ cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ config.status -configured by $0, generated by GNU Autoconf 2.54, +configured by $0, generated by GNU Autoconf 2.59, with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" -Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 -Free Software Foundation, Inc. +Copyright (C) 2003 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." srcdir=$srcdir @@ -6700,12 +8421,9 @@ case $ac_option in # Handling of the options. _ACEOF -cat >>$CONFIG_STATUS <<_ACEOF - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - echo "running $SHELL $0 " $ac_configure_args " --no-create --no-recursion" - exec $SHELL $0 $ac_configure_args --no-create --no-recursion ;; -_ACEOF cat >>$CONFIG_STATUS <<\_ACEOF + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; --version | --vers* | -V ) echo "$ac_cs_version"; exit 0 ;; --he | --h) @@ -6727,6 +8445,9 @@ $ac_shift CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" ac_need_defaults=false;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; # This is an error. -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 @@ -6741,6 +8462,20 @@ shift done +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +if \$ac_cs_recheck; then + echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 + exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion +fi + _ACEOF @@ -6756,6 +8491,7 @@ "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; "doc/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; "src/xditview/Imakefile" ) CONFIG_FILES="$CONFIG_FILES src/xditview/Imakefile" ;; + "test-groff" ) CONFIG_FILES="$CONFIG_FILES test-groff" ;; "src/include/config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS src/include/config.h:src/include/config.hin" ;; *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 echo "$as_me: error: invalid argument: $ac_config_target" >&2;} @@ -6772,6 +8508,9 @@ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers fi +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason to put it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. # Create a temporary directory, and hook for its removal unless debugging. $debug || { @@ -6780,17 +8519,17 @@ } # Create a (secure) tmp directory for tmp files. -: ${TMPDIR=/tmp} + { - tmp=`(umask 077 && mktemp -d -q "$TMPDIR/csXXXXXX") 2>/dev/null` && + tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { - tmp=$TMPDIR/cs$$-$RANDOM + tmp=./confstat$$-$RANDOM (umask 077 && mkdir $tmp) } || { - echo "$me: cannot create a temporary directory in $TMPDIR" >&2 + echo "$me: cannot create a temporary directory in ." >&2 { (exit 1); exit 1; } } @@ -6838,7 +8577,6 @@ s,@ECHO_N@,$ECHO_N,;t t s,@ECHO_T@,$ECHO_T,;t t s,@LIBS@,$LIBS,;t t -s,@groff_top_builddir@,$groff_top_builddir,;t t s,@CC@,$CC,;t t s,@CFLAGS@,$CFLAGS,;t t s,@LDFLAGS@,$LDFLAGS,;t t @@ -6868,6 +8606,7 @@ s,@SH_SCRIPT_SED_CMD@,$SH_SCRIPT_SED_CMD,;t t s,@CPP@,$CPP,;t t s,@EGREP@,$EGREP,;t t +s,@LIBC@,$LIBC,;t t s,@LIBM@,$LIBM,;t t s,@LIBOBJS@,$LIBOBJS,;t t s,@BROKEN_SPOOLER_FLAGS@,$BROKEN_SPOOLER_FLAGS,;t t @@ -6875,12 +8614,13 @@ s,@g@,$g,;t t s,@sys_tmac_prefix@,$sys_tmac_prefix,;t t s,@tmac_wrap@,$tmac_wrap,;t t +s,@GROFF_PATH_SEPARATOR@,$GROFF_PATH_SEPARATOR,;t t s,@pnmcut@,$pnmcut,;t t s,@pnmcrop@,$pnmcrop,;t t s,@pnmtopng@,$pnmtopng,;t t -s,@gs@,$gs,;t t s,@psselect@,$psselect,;t t s,@pnmtops@,$pnmtops,;t t +s,@gs@,$gs,;t t s,@make_html@,$make_html,;t t s,@make_install_html@,$make_install_html,;t t s,@pnmtops_nosetpage@,$pnmtops_nosetpage,;t t @@ -6914,9 +8654,9 @@ (echo ':t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed if test -z "$ac_sed_cmds"; then - ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" + ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" else - ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" + ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" fi ac_sed_frag=`expr $ac_sed_frag + 1` ac_beg=$ac_end @@ -6934,21 +8674,21 @@ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". case $ac_file in - | *:- | *:-:* ) # input from stdin - cat >$tmp/stdin - ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + cat >$tmp/stdin + ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; * ) ac_file_in=$ac_file.in ;; esac # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. ac_dir=`(dirname "$ac_file") 2>/dev/null || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } @@ -6964,10 +8704,10 @@ as_dirs="$as_dir $as_dirs" as_dir=`(dirname "$as_dir") 2>/dev/null || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } @@ -7005,12 +8745,45 @@ ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_builddir$srcdir ;; esac -# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be -# absolute. -ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` -ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` -ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` -ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` + +# Do not use `cd foo && pwd` to compute absolute paths, because +# the directories may not exist. +case `pwd` in +.) ac_abs_builddir="$ac_dir";; +*) + case "$ac_dir" in + .) ac_abs_builddir=`pwd`;; + [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; + *) ac_abs_builddir=`pwd`/"$ac_dir";; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; + esac;; +esac case $INSTALL in @@ -7032,7 +8805,7 @@ configure_input="$ac_file. " fi configure_input=$configure_input"Generated from `echo $ac_file_in | - sed 's,.*/,,'` by configure." + sed 's,.*/,,'` by configure." # First look for the input files in the build tree, otherwise in the # src tree. @@ -7041,24 +8814,24 @@ case $f in -) echo $tmp/stdin ;; [\\/$]*) - # Absolute (can't be DOS-style, as IFS=:) - test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 + # Absolute (can't be DOS-style, as IFS=:) + test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } - echo $f;; + echo "$f";; *) # Relative - if test -f "$f"; then - # Build tree - echo $f - elif test -f "$srcdir/$f"; then - # Source tree - echo $srcdir/$f - else - # /dev/null tree - { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 + if test -f "$f"; then + # Build tree + echo "$f" + elif test -f "$srcdir/$f"; then + # Source tree + echo "$srcdir/$f" + else + # /dev/null tree + { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } - fi;; + fi;; esac done` || { (exit 1); exit 1; } _ACEOF @@ -7091,6 +8864,7 @@ # Run the commands associated with the file. case $ac_file in stamp-h ) echo timestamp > stamp-h ;; + test-groff ) chmod +x test-groff ;; esac done _ACEOF @@ -7104,12 +8878,12 @@ # NAME is the cpp macro being defined and VALUE is the value it is being given. # # ac_d sets the value in "#define NAME VALUE" lines. -ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' -ac_dB='[ ].*$,\1#\2' +ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' +ac_dB='[ ].*$,\1#\2' ac_dC=' ' ac_dD=',;t' # ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE". -ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' +ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' ac_uB='$,\1#\2define\3' ac_uC=' ' ac_uD=',;t' @@ -7118,11 +8892,11 @@ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". case $ac_file in - | *:- | *:-:* ) # input from stdin - cat >$tmp/stdin - ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + cat >$tmp/stdin + ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; * ) ac_file_in=$ac_file.in ;; esac @@ -7136,28 +8910,29 @@ case $f in -) echo $tmp/stdin ;; [\\/$]*) - # Absolute (can't be DOS-style, as IFS=:) - test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 + # Absolute (can't be DOS-style, as IFS=:) + test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } - echo $f;; + # Do quote $f, to prevent DOS paths from being IFS'd. + echo "$f";; *) # Relative - if test -f "$f"; then - # Build tree - echo $f - elif test -f "$srcdir/$f"; then - # Source tree - echo $srcdir/$f - else - # /dev/null tree - { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 + if test -f "$f"; then + # Build tree + echo "$f" + elif test -f "$srcdir/$f"; then + # Source tree + echo "$srcdir/$f" + else + # /dev/null tree + { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } - fi;; + fi;; esac done` || { (exit 1); exit 1; } # Remove the trailing spaces. - sed 's/[ ]*$//' $ac_file_inputs >$tmp/in + sed 's/[ ]*$//' $ac_file_inputs >$tmp/in _ACEOF @@ -7180,9 +8955,9 @@ s,[\\$`],\\&,g t clear : clear -s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp +s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp t end -s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp +s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp : end _ACEOF # If some macros were called several times there might be several times @@ -7196,13 +8971,13 @@ # example, in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. cat >>conftest.undefs <<\_ACEOF -s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, +s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, _ACEOF # Break up conftest.defines because some shells have a limit on the size # of here documents, and old seds have small limits too (100 cmds). echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS -echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS +echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS echo ' :' >>$CONFIG_STATUS rm -f conftest.tail @@ -7211,7 +8986,7 @@ # Write a limited-size here document to $tmp/defines.sed. echo ' cat >$tmp/defines.sed <>$CONFIG_STATUS # Speed up: don't consider the non `#define' lines. - echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS + echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS # Work around the forget-to-reset-the-flag bug. echo 't clr' >>$CONFIG_STATUS echo ': clr' >>$CONFIG_STATUS @@ -7238,7 +9013,7 @@ # Write a limited-size here document to $tmp/undefs.sed. echo ' cat >$tmp/undefs.sed <>$CONFIG_STATUS # Speed up: don't consider the non `#undef' - echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS + echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS # Work around the forget-to-reset-the-flag bug. echo 't clr' >>$CONFIG_STATUS echo ': clr' >>$CONFIG_STATUS @@ -7266,16 +9041,16 @@ cat $tmp/in >>$tmp/config.h rm -f $tmp/in if test x"$ac_file" != x-; then - if cmp -s $ac_file $tmp/config.h 2>/dev/null; then + if diff $ac_file $tmp/config.h >/dev/null 2>&1; then { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 echo "$as_me: $ac_file is unchanged" >&6;} else ac_dir=`(dirname "$ac_file") 2>/dev/null || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } @@ -7291,10 +9066,10 @@ as_dirs="$as_dir $as_dirs" as_dir=`(dirname "$as_dir") 2>/dev/null || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } @@ -7335,13 +9110,17 @@ # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null - $SHELL $CONFIG_STATUS || ac_cs_success=false + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || { (exit 1); exit 1; } fi + { echo "$as_me:$LINENO: diff -ruN groff-1.19/configure.ac groff-1.19.1/configure.ac --- groff-1.19/configure.ac Tue Apr 22 16:36:26 2003 +++ groff-1.19.1/configure.ac Tue Dec 30 05:03:01 2003 @@ -1,83 +1,101 @@ -dnl Process this file with autoconf to produce a configure script. +# Process this file with autoconf to produce a configure script. AC_INIT -AC_CONFIG_HEADERS(src/include/config.h:src/include/config.hin) + +AC_CONFIG_HEADERS([src/include/config.h:src/include/config.hin]) AC_CONFIG_SRCDIR([src/roff/groff/groff.cpp]) -dnl checks for programs -GROFF_SRCDIR -GROFF_BUILDDIR + +# checks for programs AC_PROG_CC AC_PROG_CXX GROFF_CXX_CHECK GROFF_EBCDIC GROFF_OS390 GROFF_PRINT -AC_PATH_PROG(PERLPATH, perl, /usr/bin/perl) +AC_PATH_PROG([PERLPATH], [perl], [/usr/bin/perl]) GROFF_PROG_YACC AC_PROG_RANLIB GROFF_INSTALL_SH GROFF_INSTALL_INFO AC_PROG_INSTALL AC_PROG_LN_S -dnl use a dummy substitution if no csh hack is necessary to avoid errors -dnl with non-GNU sed programs -GROFF_CSH_HACK(SH_SCRIPT_SED_CMD='1s/.*/:/', SH_SCRIPT_SED_CMD='1s/a/a/') -AC_SUBST(SH_SCRIPT_SED_CMD) -dnl checks for headers -AC_CHECK_HEADERS(stdlib.h unistd.h dirent.h limits.h sys/dir.h \ - string.h strings.h math.h sys/time.h) + +# use a dummy substitution if no csh hack is necessary to avoid errors +# with non-GNU sed programs +GROFF_CSH_HACK([SH_SCRIPT_SED_CMD='1s/.*/:/'], [SH_SCRIPT_SED_CMD='1s/a/a/']) +AC_SUBST([SH_SCRIPT_SED_CMD]) + +# checks for headers +AC_CHECK_HEADERS([stdlib.h unistd.h dirent.h limits.h sys/dir.h \ + string.h strings.h math.h sys/time.h direct.h process.h]) GROFF_ISC_SYSV3 GROFF_POSIX + +# checks for header stuff GROFF_SRAND -GROFF_NEED_DECLARATION(gettimeofday) -GROFF_NEED_DECLARATION(hypot) -GROFF_NEED_DECLARATION(popen) -GROFF_NEED_DECLARATION(pclose) -GROFF_NEED_DECLARATION(putenv) -GROFF_NEED_DECLARATION(rand) -GROFF_NEED_DECLARATION(snprintf) -GROFF_NEED_DECLARATION(srand) -GROFF_NEED_DECLARATION(strcasecmp) -GROFF_NEED_DECLARATION(strncasecmp) +GROFF_NEED_DECLARATION([gettimeofday]) +GROFF_NEED_DECLARATION([hypot]) +GROFF_NEED_DECLARATION([popen]) +GROFF_NEED_DECLARATION([pclose]) +GROFF_NEED_DECLARATION([putenv]) +GROFF_NEED_DECLARATION([rand]) +GROFF_NEED_DECLARATION([snprintf]) +GROFF_NEED_DECLARATION([srand]) +GROFF_NEED_DECLARATION([strcasecmp]) +GROFF_NEED_DECLARATION([strncasecmp]) +GROFF_NEED_DECLARATION([vfprintf]) +GROFF_NEED_DECLARATION([vsnprintf]) GROFF_SYS_NERR GROFF_SYS_ERRLIST GROFF_OSFCN_H GROFF_LIMITS_H GROFF_STDINT_H GROFF_INTTYPES_H -dnl checks for typedefs + +# checks for typedefs GROFF_UNSIGNED_LONG_LONG GROFF_UINTMAX_T GROFF_TIME_T AC_TYPE_SIGNAL GROFF_STRUCT_EXCEPTION -dnl checks for libraries + +# checks for libraries +GROFF_LIBC GROFF_LIBM -dnl checks for functions + +# checks for functions AC_FUNC_MMAP saved_libs="$LIBS" -LIBS="$LIBS -lc $LIBM" -AC_REPLACE_FUNCS(fmod getcwd putenv snprintf strcasecmp \ - strerror strncasecmp strtol) +LIBS="$LIBS $LIBC $LIBM" +AC_REPLACE_FUNCS([fmod getcwd putenv snprintf strcasecmp \ + strerror strncasecmp strtol]) +# vsnprintf is in the same source file as snprintf +AC_CHECK_FUNCS([vsnprintf], [], [AC_LIBOBJ([snprintf])]) LIBS="$saved_libs" -AC_CHECK_FUNCS(gettimeofday isatty rename setlocale strsep) +AC_CHECK_FUNCS([gettimeofday isatty kill rename setlocale strsep]) GROFF_MKSTEMP -AC_DECL_SYS_SIGLIST -dnl checks for compiler characteristics +AC_CHECK_DECLS([sys_siglist]) + +# checks for compiler characteristics GROFF_ARRAY_DELETE GROFF_TRADITIONAL_CPP -dnl checks for operating system services + +# checks for operating system services GROFF_WCOREFLAG -dnl other random stuff + +# other random stuff GROFF_BROKEN_SPOOLER_FLAGS GROFF_PAGE GROFF_G GROFF_TMAC +GROFF_TARGET_PATH_SEPARATOR GROFF_HTML_PROGRAMS GROFF_PNMTOPS_NOSETPAGE -AC_CONFIG_FILES(stamp-h, [echo timestamp > stamp-h]) + +AC_CONFIG_FILES([stamp-h], [echo timestamp > stamp-h]) AC_CONFIG_FILES([Makefile doc/Makefile src/xditview/Imakefile]) +AC_CONFIG_FILES([test-groff], [chmod +x test-groff]) AC_OUTPUT -dnl + AC_MSG_NOTICE([ Configuration completed. diff -ruN groff-1.19/contrib/eqn2graph/eqn2graph.man groff-1.19.1/contrib/eqn2graph/eqn2graph.man --- groff-1.19/contrib/eqn2graph/eqn2graph.man Wed Aug 21 19:29:17 2002 +++ groff-1.19.1/contrib/eqn2graph/eqn2graph.man Tue Oct 28 08:46:23 2003 @@ -1,4 +1,4 @@ -.\" $Id: eqn2graph.man,v 1.2 2002/08/21 17:29:17 wlemb Exp $ +.\" $Id: eqn2graph.man,v 1.4 2003/10/28 07:46:23 wlemb Exp $ .\" This documentation is released to the public domain. . . @@ -31,7 +31,7 @@ file (by default in Portable Network Graphics format) suitable for the Web as output. .P -Your input EQN code should \fInot\fR have the .EQ/.EN preamble that +Your input EQN code should \fInot\fR have the \&.EQ/.EN preamble that that normally precedes it within .BR groff (@MAN1EXT@) macros; nor do you need to have dollar-sign or other delimiters @@ -82,7 +82,25 @@ initialization file. . . +.SH ENVIRONMENT +.TP +.B GROFF_TMPDIR +The directory in which temporary files will be created. +If this is not set +.B eqn2graph +searches the environment variables +.BR \%TMPDIR , +.BR TMP , +and +.B TEMP +(in that order). +Otherwise, temporary files will be created in +.BR /tmp . +. +. .SH "SEE ALSO" +.BR pic2graph (@MAN1EXT@), +.BR grap2graph (@MAN1EXT@), .BR @g@eqn (@MAN1EXT@), .BR groff (@MAN1EXT@), .BR gs (1), diff -ruN groff-1.19/contrib/eqn2graph/eqn2graph.sh groff-1.19.1/contrib/eqn2graph/eqn2graph.sh --- groff-1.19/contrib/eqn2graph/eqn2graph.sh Wed Jul 17 06:55:46 2002 +++ groff-1.19.1/contrib/eqn2graph/eqn2graph.sh Tue Oct 28 08:46:23 2003 @@ -32,7 +32,7 @@ # # Thus, we pass -U to groff(1), and everything else to convert(1). # -# $Id: eqn2graph.sh,v 1.2 2002/07/17 04:55:46 wlemb Exp $ +# $Id: eqn2graph.sh,v 1.3 2003/10/28 07:46:23 wlemb Exp $ # groff_opts="" convert_opts="" @@ -58,17 +58,34 @@ shift done +# create temporary directory +tmp= +for d in "$GROFF_TMPDIR" "$TMPDIR" "$TMP" "$TEMP" /tmp; do + test -z "$d" && continue + + tmp=`(umask 077 && mktemp -d -q "$d/eqn2graph-XXXXXX") 2> /dev/null` \ + && test -n "$tmp" && test -d "$tmp" \ + && break + + tmp=$d/eqn2graph$$-$RANDOM + (umask 077 && mkdir $tmp) 2> /dev/null && break +done; +if test -z "$tmp"; then + echo "$0: cannot create temporary directory" >&2 + { (exit 1); exit 1; } +fi + +trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 2 15 + # Here goes: # 1. Add .EQ/.EN. # 2. Process through eqn(1) to emit troff markup. # 3. Process through groff(1) to emit Postscript. # 4. Use convert(1) to crop the Postscript and turn it into a bitmap. -tmp=/usr/tmp/eqn2graph-$$ -trap "rm ${tmp}.*" 0 2 15 read equation -(echo ".EQ"; echo 'delim $$'; echo ".EN"; echo '$'"${equation}"'$') | \ - groff -e $groff_opts -Tps >${tmp}.ps \ - && convert -crop 0x0 $convert_opts ${tmp}.ps ${tmp}.${format} \ - && cat ${tmp}.${format} +(echo ".EQ"; echo 'delim $$'; echo ".EN"; echo '$'"$equation"'$') | \ + groff -e $groff_opts -Tps -P-pletter > $tmp/eqn2graph.ps \ + && convert -crop 0x0 $convert_opts $tmp/eqn2graph.ps $tmp/eqn2graph.$format \ + && cat $tmp/eqn2graph.$format # End diff -ruN groff-1.19/contrib/grap2graph/Makefile.sub groff-1.19.1/contrib/grap2graph/Makefile.sub --- groff-1.19/contrib/grap2graph/Makefile.sub Thu Jan 1 01:00:00 1970 +++ groff-1.19.1/contrib/grap2graph/Makefile.sub Wed Jul 2 17:35:01 2003 @@ -0,0 +1,19 @@ +MAN1=grap2graph.n +CLEANADD=grap2graph + +all: grap2graph + +grap2graph: grap2graph.sh + rm -f $@; \ + sed -e "s|@g@|$(g)|g" \ + -e "s|@VERSION@|$(version)$(revision)|" \ + -e $(SH_SCRIPT_SED_CMD) $(srcdir)/grap2graph.sh >$@; \ + chmod +x $@ + +install_data: grap2graph + -test -d $(bindir) || $(mkinstalldirs) $(bindir) + -rm -f $(bindir)/grap2graph + $(INSTALL_SCRIPT) grap2graph $(bindir)/grap2graph + +uninstall_sub: + -rm -f $(bindir)/grap2graph diff -ruN groff-1.19/contrib/grap2graph/grap2graph.man groff-1.19.1/contrib/grap2graph/grap2graph.man --- groff-1.19/contrib/grap2graph/grap2graph.man Thu Jan 1 01:00:00 1970 +++ groff-1.19.1/contrib/grap2graph/grap2graph.man Tue Oct 28 08:46:23 2003 @@ -0,0 +1,105 @@ +.\" $Id: grap2graph.man,v 1.3 2003/10/28 07:46:23 wlemb Exp $ +.\" This documentation is released to the public domain. +. +. +.TH GRAP2GRAPH @MAN1EXT@ "@MDATE@" "Groff Version @VERSION@" +.IX grap2graph +.SH NAME +grap2graph \- convert a grap diagram into a cropped bitmap image +. +. +.SH SYNOPSIS +.B grap2graph +[ +.B \-unsafe +] +[ +.BI \-resolution\ M\fR|\fPMxN +] +[ +.BI \-format\ fmt +] +. +. +.SH DESCRIPTION +Reads a grap program as input; produces an image file (by default in +Portable Network Graphics format) suitable for the Web as output. +For a description of the grap language, see +.BR grap (1). +.P +Your graph specification should \fInot\fR be wrapped with the \&.G1 and +\&.G2 macros that normally guard it within +.BR groff (@MAN1EXT@) +macros. +.P +The output image will be a black-on-white graphic clipped to the +smallest possible bounding box that contains all the black pixels. +By specifying command-line options to be passed to +.BR convert (1) +you can give it a border, set the background transparent, set the +image's pixel density, or perform other useful transformations. +.P +This program uses +.BR grap (1), +.BR @g@pic (@MAN1EXT@), +.BR groff (@MAN1EXT@), +and the ImageMagick +.BR convert (1) +program. +These programs must be installed on your system and accessible on your +$PATH for \fBgrap2graph\fR to work. +. +. +.SH OPTIONS +.TP +.B \-unsafe +Run +.BR @g@pic (@MAN1EXT@) +and +.BR groff (@MAN1EXT@) +in the `unsafe' mode enabling the PIC macro +.B sh +to execute arbitrary commands. +The default is to forbid this. +.TP +.BI \-format\ fmt +Specify an output format; the default is PNG (Portable Network Graphics). +Any format that +.BR convert (1) +can emit is supported. +.PP +Command-line switches and arguments not listed above are passed to +.BR convert (1). +. +. +.SH ENVIRONMENT +.TP +.B GROFF_TMPDIR +The directory in which temporary files will be created. +If this is not set +.B grap2graph +searches the environment variables +.BR \%TMPDIR , +.BR TMP , +and +.B TEMP +(in that order). +Otherwise, temporary files will be created in +.BR /tmp . +. +. +.SH "SEE ALSO" +.BR pic2graph (@MAN1EXT@), +.BR eqn2graph (@MAN1EXT@), +.BR @g@pic (@MAN1EXT@), +.BR groff (@MAN1EXT@), +.BR gs (1), +.BR convert (1). +. +. +.SH AUTHOR +Eric S. Raymond +. +.\" Local Variables: +.\" mode: nroff +.\" End: diff -ruN groff-1.19/contrib/grap2graph/grap2graph.sh groff-1.19.1/contrib/grap2graph/grap2graph.sh --- groff-1.19/contrib/grap2graph/grap2graph.sh Thu Jan 1 01:00:00 1970 +++ groff-1.19.1/contrib/grap2graph/grap2graph.sh Tue Oct 28 08:46:23 2003 @@ -0,0 +1,85 @@ +#!/bin/sh +# +# grap2graph -- compile graph description descriptions to bitmap images +# +# by Eric S. Raymond , May 2003 +# +# In Unixland, the magic is in knowing what to string together... +# +# Take grap description on stdin, emit cropped bitmap on stdout. +# The pic markup should *not* be wrapped in .G1/.G2, this script will do that. +# A -U option on the command line enables gpic/groff "unsafe" mode. +# A -format FOO option changes the image output format to any format +# supported by convert(1). All other options are passed to convert(1). +# The default format is PNG. +# + +# Requires the groff suite and the ImageMagick tools. Both are open source. +# This code is released to the public domain. +# +# Here are the assumptions behind the option processing: +# +# 1. None of the options of grap(1) are relevant. +# +# 2. Only the -U option of groff(1) is relevant. +# +# 3. Many options of convert(1) are potentially relevant, (especially +# -density, -interlace, -transparency, -border, and -comment). +# +# Thus, we pass -U to groff(1), and everything else to convert(1). +# +# $Id: grap2graph.sh,v 1.2 2003/10/28 07:46:23 wlemb Exp $ +# +groff_opts="" +convert_opts="" +format="png" + +while [ "$1" ] +do + case $1 in + -unsafe) + groff_opts="-U";; + -format) + format=$2 + shift;; + -v | --version) + echo "GNU grap2graph (groff) version @VERSION@" + exit 0;; + --help) + echo "usage: grap2graph [ option ...] < in > out" + exit 0;; + *) + convert_opts="$convert_opts $1";; + esac + shift +done + +# create temporary directory +tmp= +for d in "$GROFF_TMPDIR" "$TMPDIR" "$TMP" "$TEMP" /tmp; do + test -z "$d" && continue + + tmp=`(umask 077 && mktemp -d -q "$d/grap2graph-XXXXXX") 2> /dev/null` \ + && test -n "$tmp" && test -d "$tmp" \ + && break + + tmp=$d/grap2graph$$-$RANDOM + (umask 077 && mkdir $tmp) 2> /dev/null && break +done; +if test -z "$tmp"; then + echo "$0: cannot create temporary directory" >&2 + { (exit 1); exit 1; } +fi + +trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 2 15 + +# Here goes: +# 1. Add .G1/.G2. +# 2. Process through grap(1) to emit pic markup. +# 3. Process through groff(1) with pic preprocessing to emit Postscript. +# 4. Use convert(1) to crop the Postscript and turn it into a bitmap. +(echo ".G1"; cat; echo ".G2") | grap | groff -p $groff_opts -Tps -P-pletter | \ + convert -crop 0x0 $convert_opts - $tmp/grap2graph.$format \ + && cat $tmp/grap2graph.$format + +# End diff -ruN groff-1.19/contrib/groffer/ChangeLog groff-1.19.1/contrib/groffer/ChangeLog --- groff-1.19/contrib/groffer/ChangeLog Wed Jan 22 15:18:07 2003 +++ groff-1.19.1/contrib/groffer/ChangeLog Fri Apr 30 09:37:39 2004 @@ -1,4 +1,231 @@ -2003-01-22 Bernd Warken +2004-04-30 Bernd Warken + ________________________________________________________________ + * release of groffer 0.9.7 + + * groffer.sh: + - obj(), obj_data(), obj_from_output(), obj_set(): New object + oriented functions to minimize complicated `eval' commands. + - list_*(): Corrections. + - usage(): Streamlining. + + * groffer.man, README_SH: + Corrections. + +2004-04-27 Bernd Warken + ________________________________________________________________ + * release of groffer 0.9.6 + + This version replaces the license of all files except ChangeLog of + the groffer source to the GNU General Public License (GPL) of the + version described in files COPYING and LICENSE in the groff top + source directory. + + * groffer.man: + Changement from the GNU Free Documentation License (FDL) to + the GNU General Public License (GPL). + + * README, README_SH, TODO: + Add license GNU General Public License (GPL). + + * Makefile.sub, groffer.sh: + Keep the GNU General Public License (GPL), but refer to the + COPYING and LICENSE files. + + * ChangeLog: Add a license in the style of Emacs ChangeLog file, + which is weaker than the GPL, but has its flavor. + +2004-04-24 Bernd Warken + ________________________________________________________________ + * release of groffer 0.9.5 + + This version is a rewrite of groffer in many parts, but it is kept + in the old single script style. + + Overview of new options: + --text, --mode text, --tty-viewer, + --X, --mode X, --X-viewer, --html, --mode html, --html-view, + --apropos-data, --apropos-devel, --apropos-progs + + New file: + /README_SH + + + ******* Extension of the `apropos' handling + + The output of man's `apropos' has grown immensely meanwhile, so it + has become inefficient. Now `groffer' provides new options to get + the a selected information from this output. + + * groffer.sh: + `--apropos-progs': new option for displaying only information + on programs (man page sections 1, 6, and 8) + `--apropos-data': new option for displaying only information + on documented data (man page sections 4, 5 and 7) + `--apropos-devel': new option for displaying only information + on development documentation (man page sections 2, 3 and 9) + `--apropos': still displays just the output of man's `apropos' + program. + - Specify all of these options as a single argument option; that + makes groffer's `--apropos' option slightly different because + the corresponding `man' option does not have arguments, but takes + all file arguments as apropos targets. So just ignore the `man' + options `-k' and `--apropos' in the parsing of $MANOPT. + - Exit after processing one `apropos' call. + + + ******* Quasi object oriented function arguments + + An object is the name of an environment variable. The value of + this variable contains the object's content. This allows to + specify function arguments and the calling syntax in a simpler way + by letting the first argument be a variable name, usable for input + or output. + + Such an object type is `list', the string value of a shell + variable arranged in space-separated single-quoted elements, such + as $GROFFER_OPT internally. + + * groffer.sh: + - Remove list_from_args(), list_element_from_arg() + list_from_lists(), list_length(), and list_prepend(). + They can be replaced by list_append(). + - All list*() functions are rearranged such that the first + argument is a list object, the name of a variable. + + + ******* Simplification of configuration files + + The new syntax of the groffer configuration files is + - all lines starting with a `-' character are interpreted as + command line options for all calls of groffer; they are collected + and prepended to the actual value of $GROFFER_OPT; optional + spaces at the beginning.of the line are omitted. + - all other lines are interpreted as a shell command and executed + in the current shell of the groffer call. + + Precedence: + - The command line and the external environment variables such as + $GROFFER_OPT of the groffer call have the highest precedence. + - This is overwritten by the configuration file in the user's home + directory. + - The system configuration file in /etc has the lowest + precedence. + + * groffer.sh: + The configuration files are now called after the determination of + the temporary files in main_init(). + + + ******* Script file name + + The file name of the script is needed for the several calls during + the search for the optimal shell. + + * groffer.sh: + - $_GROFFER_SH: replace $_this by $_GROFFER_SH and use $0 for + determining the file name of the script for the following calls, + instead of the cumbersome @BINDIR@ construction. + - Force the script to be called as an executable file, so $0 must + contain the program name. + + + ******* Improved temporary file names + + Just like groff, groffer mixes all file parameters into a single + output file. Its name is now constructed as a comma-separated + list built from the file name arguments without a leading comma. + So a leading comma can be used for the internal temporary file + names. + + * groffer.sh: + - $_OUTPUT_FILE_NAME: new global variable as basis for the output + file name; it is set in main_set_resources(). + - tmp_create(): use `,name' for temporary files different from + output file because the output file name does not start with a + comma. `$$' is not needed anymore. + - main_display(): simplification of $_modefile in _do_display() + and single display modes. + - Add extension `.html' to output file name in html mode. + - base_name(): correction for strange positions of `/'. + + + ******* Mode fixes + + * groffer.sh: + - Set the main default mode to `x' with groff's X Window viewer + `gxditview'. + - Allow 'x' and 'X' in `--mode' for the X Window mode; the same + for `--x' and `X', `--x-viewer' and `--X-viewer'. + - Make groff's `-X' equivalent to `mode X'. + - Fix `--auto', `--mode auto', and `--default-modes'. + - `html' mode: new mode equivalent to `www', add `konqueror' and + `lynx' as viewers. + - `pdf' mode: fix zoom options for pdf-viewer `xpdf' in + main_set_resources(); in main_display() fix the display structure. + - Set default X Window resolution to 75dpi. This is not optimal, + but with a higher value the options and resources for some viewers + must be optimized. + `--text' and `--mode text': new option for text output without a + pager. + - `--tty-viewer': new option equivalent to `--pager'. + - Correct the pagers for `tty' mode. + - Fix `groff' mode in main_set_resources() and main_display(). + - Harmonize `--mode arg' with the equivalent options `--arg'. + + + ******* Fixes for command line options + + * groffer.sh: + - list_from_cmdline(): fix the parsing of options with arguments. + - Rename $_OPT_TTY_DEVICE to $_OPT_TEXT_DEVICE. + - $_OPTS_X_*: new variables for the inhereted X Window variables. + - Improve the distribution of the command line options into + $_OPTS_GROFFER_*, $_OPTS_GROFF_*, $_OPTS_X_*, and $_OPTS_MAN_*. + - $_OPTS_MANOPT_*: new variables for the parsing of $MANOPT. + - Correct $_OPTS_CMDLINE_*. + - Remove some unused $_OPTS_*. + - `--iconic': new option from `-iconic' of the X Window toolkit. + - Correct `--rv' to an option without argument. + - Minor fixes of other X Window toolkit options. + + + ******* Other fixes + + * groffer.sh: + - is_prog(): allow 0 arguments. + - is_not_writable(): new function. + - is_*(): fix trailing return codes. + - Replace most `test' calls by is_*() functions. + - man_setup(): due to bugs in `manpath', prefer + manpath_set_from_path() for the determination of the man page path. + - man_search_section(): correction of some `for' loops. + - Remove export of external non-groffer variables. + + + ******* Documentation + + * groffer.man: + - Reorder the option details according to the option origin as + groffer, groff, X, and man options. + - Add the programming changes information mentioned above. + - Support man pages with a dot in their name + + * README_SH: new file + Move large parts of the documentation in `groffer.sh' into this + file. + + * groffer.sh: usage(): + - Change the output for `--help' to standard output. + - Restructure the information for this help output. + + + ******* Removement of the author's email address + + Because of the extreme spam attacks, the author removed all + occurencies of his email address in every file of the groffer + source. + +2003-01-22 Bernd Warken ________________________________________________________________ * release of groffer 0.9.4 @@ -19,7 +246,7 @@ * TODO: Remove mention of `shoop' and `apropos'. -2002-10-21 Bernd Warken +2002-10-21 Bernd Warken ________________________________________________________________ * release of groffer 0.9.3 @@ -43,7 +270,7 @@ - writing part of groffer in C/C++. - handling several files with different macro packages. -2002-10-17 Bernd Warken +2002-10-17 Bernd Warken ________________________________________________________________ * fixes of groffer 0.9.2 @@ -60,7 +287,7 @@ New file for general information on the groffer source; it is not installed. -2002-10-14 Bernd Warken +2002-10-14 Bernd Warken * Makefile.sub: add replacement "@BINDIR@" to "$(bindir)" for "groffer:" @@ -72,7 +299,7 @@ * groffer.man: Remove double definition of filespec parameters. -2002-10-13 Bernd Warken +2002-10-13 Bernd Warken ________________________________________________________________ * release of groffer 0.9.2 @@ -95,7 +322,7 @@ - "Option Parsing" is moved to section "COMPATIBILITY". - Fix some "EXAMPLES". -2002-09-30 Bernd Warken +2002-09-30 Bernd Warken ________________________________________________________________ * release of groffer 0.9.1 @@ -103,7 +330,7 @@ - Remove request for different shells. - Remove the 'sed' complaints. -2002-07-15 Bernd Warken +2002-07-15 Bernd Warken * groffer.sh: replace `sed' interface by direct `sed' - This improves the performance of the shell programming parts @@ -127,7 +354,7 @@ groffer was called from the command line, or with the shell name in the first line of the script, actually `/bin/sh'. -2002-07-12 Bernd Warken +2002-07-12 Bernd Warken ________________________________________________________________ * fixes for groffer 0.9.0 @@ -147,7 +374,7 @@ * TODO: fix entry `shoop' (not 'shopt'). -2002-06-28 Bernd Warken +2002-06-28 Bernd Warken ________________________________________________________________ * release of groffer 0.9.0 @@ -178,7 +405,7 @@ - Internally, map mode `auto' to '' to facilitate tests. - Fix auto mode sequence to: `ps,x,tty' as was intended. -2002-06-25 Bernd Warken +2002-06-25 Bernd Warken * groffer.sh: Fix `source' mode. @@ -186,7 +413,7 @@ * groffer.man: Fix some indentations. -2002-06-23 Bernd Warken +2002-06-23 Bernd Warken ________________________________________________________________ * release of groffer 0.8 @@ -305,7 +532,7 @@ Increase to 4m (we use `sh#' as the prompt). -2002-05-31 Bernd Warken +2002-05-31 Bernd Warken ________________________________________________________________ * release of groffer 0.7 @@ -341,7 +568,7 @@ - fix TP_header. -2002-05-28 Bernd Warken +2002-05-28 Bernd Warken ________________________________________________________________ * release of groffer 0.6 @@ -435,7 +662,7 @@ - The filespec parsers gets a function of its own do_manpage(). -2002-01-08 Bernd Warken +2002-01-08 Bernd Warken * groffer 0.5 (beta) released @@ -462,7 +689,7 @@ - Implement option `--dpi' for setting the resolution for the X viewer, which had already been documented in earlier versions. -2002-01-07 Bernd Warken +2002-01-07 Bernd Warken * groffer 0.4 (beta) released (as groff `contrib') @@ -501,7 +728,7 @@ * groffer.man (OptDef): Add missing backslashes. Update copyright. -2001-12-15 Bernd Warken +2001-12-15 Bernd Warken * groffer 0.3 (alpha) released (still stand-alone package). @@ -520,12 +747,12 @@ * Recognize the following filespecs as man-page parameters: man:name(section), man:name, name.section, name. -2001-12-03 Bernd Warken +2001-12-03 Bernd Warken * Stand-alone package for groffer 0.2 (alpha) created Files: groffer, groffer.man, Makefile, TODO, ChangeLog -2001-12-02 Bernd Warken +2001-12-02 Bernd Warken * groffer 0.2 (alpha) program released. @@ -545,7 +772,7 @@ * Code restructured and comments added. -2001-11-28 Bernd Warken +2001-11-28 Bernd Warken ***** groffview 0.1 (experimental) and groffview.man released (predecessor of groffer, shell script) @@ -555,3 +782,15 @@ * Search for man-pages based on $MANPATH * development of `groffview' shell script started + +2001-11-28 Bernd Warken + ________________________________________________________________ + License + + Copyright (C) 2001,2002,2003,2004 Free Software Foundation, Inc. + Written by Bernd Warken + Copying and distribution of this file, with or without + modification, are permitted provided the copyright notice and this + notice are preserved. + + This file is part of groffer, which is part of the groff project. diff -ruN groff-1.19/contrib/groffer/Makefile.sub groff-1.19.1/contrib/groffer/Makefile.sub --- groff-1.19/contrib/groffer/Makefile.sub Mon Oct 21 11:51:55 2002 +++ groff-1.19.1/contrib/groffer/Makefile.sub Wed Apr 28 01:40:39 2004 @@ -20,9 +20,9 @@ # 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. +# along with groff; see the files COPYING and LICENSE in the top +# directory of the groff source. If not, write to the Free Software +# Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ######################################################################## diff -ruN groff-1.19/contrib/groffer/README groff-1.19.1/contrib/groffer/README --- groff-1.19/contrib/groffer/README Thu Oct 17 17:39:08 2002 +++ groff-1.19.1/contrib/groffer/README Wed Apr 28 01:51:05 2004 @@ -1,6 +1,7 @@ -The `groffer' program is the easiest way to read `groff' documents. -All input is sent to `grog' and then to `groff' such that no special -`groff' arguments must be determined. +The `groffer' program is the easiest way to read documents written in +some `groff' language, such as the `man pages', the manual pages in +many operating systems. All input is sent to `grog' and then to +`groff' such that no special `groff' arguments must be determined. `groffer' also has many built-in `man' functionalities to find and read the manual pages on UNIX and similar operating systems. It @@ -8,10 +9,10 @@ find a man path by itself if there isn't any. So far, `groffer' is a shell script. It should run on any POSIX or -Bourne style shell, but it runs the fastest if the `ash' shell is -installed on the system. This shell is found out and started -automatically. There are efforts to port part of the shell script to -C/C++ to increase the speed independent of the shell. +Bourne style shell, but it runs the fastest under the GNU `ash' shell. +If this shell is available, it is started automatically. There are +efforts to port part of the shell script to C/C++ to increase the +speed independent of the shell. For reporting bugs of `groffer', groff's free mailing list can be used. For a general discussion, the @@ -19,5 +20,25 @@ directory of the `groff' source package for more details on this mailing list. -`groffer' is a `groff contrib' project that was written by Bernd -Warken . + +####### License + +Copyright (C) 2003,2004 Free Software Foundation, Inc. +Written by Bernd Warken + +This file is part of groffer, which 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 files COPYING and LICENSE in the top +directory of the groff source. If not, write to the Free Software +Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. diff -ruN groff-1.19/contrib/groffer/README_SH groff-1.19.1/contrib/groffer/README_SH --- groff-1.19/contrib/groffer/README_SH Thu Jan 1 01:00:00 1970 +++ groff-1.19.1/contrib/groffer/README_SH Fri Apr 30 09:35:05 2004 @@ -0,0 +1,219 @@ +Description of groffer.sh, the shell version of groffer + +Display groff files and man pages on X or tty, even when compressed. + + +Usage + +Input comes from either standard input or command line parameters that +represent names of exisiting roff files or standardized specifications +for searching man pages. All of these can be compressed in a format +that is decompressible by `gzip', including `.gz', `bz2', and `.Z'. + +The following displaying modes are available: +- Display formatted input with the X roff viewer `gxditview', +- with a Prostcript viewer, +- with a dvi viewer, +- with a web browser. +- Display formatted input in plain text mode. +- Run a pager on the formatted input in a text terminal (tty). +- Generate output for some groff device on stdout without a viewer. +- Output only the source code without any groff processing. +- Generate the troff intermediate output on standard output + without groff postprocessing. +By default, the program tries to display with `gxditview' as graphical +device, `tty' mode with a pager is tried as text display. + + +Several File Arguments + +So far, `groffer' bundles all filespec parameters into a single output +file in the same way as `groff'. The disadvantage of this is that all +file name arguments must have the same groff language. + +To change this, the option parsing must be revised for large parts. +It seems that this would create incompatibilities, so the actual +option strategy is kept. + + +Error Handling + +Error handling and exit behavior is complicated by the fact that +`exit' can only escape from the current shell; trouble occurs in +subshells. This was solved by sending kill signals, see $_PROCESS_ID +and error(). + + +Shell Compatibility + +This shell script is compatible to the both the GNU and the POSIX +shell and utilities. Care was taken to restrict the programming +technics used here in order to achieve POSIX compatibility as far +back as POSIX P1003.2 Draft 11.2 of September 1991. + +The only non-builtin used here is POSIX `sed'. This script was +tested under `bash', `ash', and `ksh'. The speed under `ash' is +more than double when compared to the larger shells. + +This script provides its own option parser. It is compatible to the +usual GNU style command line (option clusters, long options, mixing +of options and non-option file names), except that it is not +possible to abbreviate long option names. + +The mixing of options and file names can be prohibited by setting +the environment variable `$POSIXLY_CORRECT' to a non-empty value. +This enables the rather wicked POSIX behavior to terminate option +parsing when the first non-option command line argument is found. + + +Survey of Functions defined in groffer.sh + +The elements specified within paranthesis `(<>)' give hints to what +the arguments are meant to be; the argument names are irrelevant. +<>? 0 or 1 +<>* arbitrarily many such arguments, incl. none +<>+ one or more such arguments +<> exactly 1 + +A function that starts with an underscore `_' is an internal +function for some function. The internal functions are defined just +after their corresponding function; they are not mentioned in the +following. + +abort (text>*) +base_name (path) +catz () +clean_up () +diag (text>*) +dirname_append ( []) +dirname_chop () +do_filearg () +do_nothing () +echo2 (*) +echo2n (*) +error (*) +get_first_essential (*) +is_dir () +is_empty () +is_equal ( ) +is_file () +is_non_empty_file () +is_not_dir () +is_not_empty () +is_not_equal ( ) +is_not_file () +is_not_prog () +is_not_writable () +is_not_yes () +is_prog () +is_yes () +leave () +landmark () +list_append ( ...) +list_from_cmdline ( [...]) +list_from_split ( ) +list_get () +list_has ( ) +list_has_not ( ) +main_*(), see after the functions +man_do_filespec () +man_setup () +man_register_file ( [ [
]]) +man_search_section (
) +man_set() +manpath_add_lang( ) +manpath_add_system() +manpath_from_path () +normalize_args ( *) +path_chop () +path_clean () +path_contains ( ) +path_not_contains ( ) +path_split () +register_file () +register_title () +res ( ...) +reset () +save_stdin () +string_contains ( ) +string_not_contains ( ) +tmp_cat () +tmp_create (?) +to_tmp () +trap_clean () +trap_set () +usage () +version () +warning () +whatis () +where () + + +External non-groffer Environment Variables + +If these variables are exported in the script the `ash' shell coughs +when calling `groff' in `main_display()'. + +external system environment variables that are explicitly used +$DISPLAY: Presets the X display. +$LANG: For language specific man pages. +$LC_ALL: For language specific man pages. +$LC_MESSAGES: For language specific man pages. +$PAGER: Paging program for tty mode. +$PATH: Path for the programs called (: list). + +groffer native environment variables +$GROFFER_OPT preset options for groffer. + +all groff environment variables are used, see groff(1) +$GROFF_BIN_PATH: Path for all groff programs. +$GROFF_COMMAND_PREFIX: '' (normally) or 'g' (several troffs). +$GROFF_FONT_PATH: Path to non-default groff fonts. +$GROFF_TMAC_PATH: Path to non-default groff macro files. +$GROFF_TMPDIR: Directory for groff temporary files. +$GROFF_TYPESETTER: Preset default device. + +all GNU man environment variables are used, see man(1). +$MANOPT: Preset options for man pages. +$MANPATH: Search path for man pages (: list). +$MANROFFSEQ: Ignored because of grog guessing. +$MANSECT: Search man pages only in sections (:). +$SYSTEM: Man pages for different OS's (, list). + + +Object-oriented Functions + +The groffer script provides an object-oriented construction (OOP). In +object-oriented terminology, a type of object is called a `class'; a +function that handles objects from a class is named `method'. + +In the groffer script, the object is a variable name whose content is +the object's data. Methods are functions that have an object as first +argument. + +The basic functions for object handling are obj_*(). + +The class `list' represents an array structure, see list_*(). + + +####### License + +Copyright (C) 2003,2004 Free Software Foundation, Inc. +Written by Bernd Warken + +This file is part of groffer, which 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 files COPYING and LICENSE in the top +directory of the groff source. If not, write to the Free Software +Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. diff -ruN groff-1.19/contrib/groffer/TODO groff-1.19.1/contrib/groffer/TODO --- groff-1.19/contrib/groffer/TODO Wed Jan 22 11:54:06 2003 +++ groff-1.19.1/contrib/groffer/TODO Wed Apr 28 01:56:38 2004 @@ -1,32 +1,9 @@ -# TODO file for `groffer' +TODO file for `groffer' -# File position: /contrib/groffer/TODO +File position: /contrib/groffer/TODO -# Last update: 22 Jan 2003 -# Copyright (C) 2001,2002,2003 Free Software Foundation, Inc. -# Written by Bernd Warken - -# 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 +####### TODO Optimization: - Optimize man path determination in manpath_add_lang_sys() for speed @@ -34,18 +11,16 @@ (not trivial). - To increase the running speed write part of the groffer shell script in C/C++. +- Split the groffer.sh shell script into several files for better tests + of the shell compatibility. Features: - Revise option handling of `grog'. - `gxditview' needs a complete shower. Revision: -- Should there be a native implementation for `--apropos'? - Revise the `--all' feature to better reflect GNU man. - The debug function stack is buggy (no effect on normal operation). -- The actual `groff' and `grog' do not support file arguments each -of which has a different macro package (except `man' and `doc'). So -`roffer' should create several display files for such arguments. Documentation: - Improve the documentation of the search algorithm for man pages in @@ -54,3 +29,26 @@ from GNU `man'. - The documentation in the headers for some function definitions in `groffer.sh' needs to be updated. + + +####### License + +Copyright (C) 2003,2004 Free Software Foundation, Inc. +Written by Bernd Warken + +This file is part of groffer, which 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 files COPYING and LICENSE in the top +directory of the groff source. If not, write to the Free Software +Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. diff -ruN groff-1.19/contrib/groffer/groffer.man groff-1.19.1/contrib/groffer/groffer.man --- groff-1.19/contrib/groffer/groffer.man Thu Oct 17 17:17:44 2002 +++ groff-1.19.1/contrib/groffer/groffer.man Tue May 4 06:45:21 2004 @@ -15,22 +15,30 @@ Source file position: /contrib/groffer/groffer.man Installed position: $prefix/share/man/man1/groffer.1 -Version : groffer 0.9.2 -Last update : 13 Oct 2002 +Version : groffer 0.9.7 +Last update : 03 May 2004 -This file is part of groff, the GNU roff type-setting system. +Source file position: /contrib/groffer/groffer.man -Copyright (C) 2001, 2002 Free Software Foundation, Inc. -Written by Bernd Warken +Copyright (C) 2001,2002,2004 Free Software Foundation, Inc. +Written by Bernd Warken -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.1 or -any later version published by the Free Software Foundation; with the -Invariant Sections being this .ig-section and AUTHORS, with no -Front-Cover Texts, and with no Back-Cover Texts. +This file is part of groff version @VERSION@. -A copy of the Free Documentation License is included as a file called -FDL in the main directory of the groff source package. +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 files COPYING and LICENSE in the top +directory of the groff source. If not, write to the Free Software +Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. .. . .\" -------------------------------------------------------------------- @@ -277,7 +285,7 @@ .c .c Arguments: .c
: prefix, resulted is preceded by this.
-.c   : separator between minux/opt pairs.
+.c   : separator between minus/opt pairs.
 .c   : postfix, is appended to the result.
 .c   : either `-' or `--' (font CB).
 .c   : a name for an option, empty allowed (font CB).
@@ -308,22 +316,23 @@
 .    if (\\n[@count] > 0) \
 .      as @res \f[CR]\\*[@sep]\"
 .    nr @count +1
-.    as @res \f[CB]\\$1\\$2\:\"           combine minus with option name
+.    as @res \f[CB]\\$1\\$2\:\"         combine minus with option name
 .    shift 2
 .  \}
 .  if (\\n[.$] >= 3) \
 .    Error .\\0: wrong arguments: \\$@
-.  c                                     all pairs are done
+.  c                                    all pairs are done
 .  ie (\\n[.$] == 0) \
 .    as @res \f[CR]\\*[@post]\"
 .  el \{\
-.    c                                   optional option argument
+.    c                                  optional option argument
 .    if !'\\$1'' \
 .      as @res \f[CR] \,\f[I]\\$1\"
 .    shift
-.    as @res \\f[CR]\\*[@post]\"         postfix
+.    c                                  postfix
+.    as @res \\f[CR]\\*[@post]\"
 .    if (\\n[.$] >= 1) \{\
-.      c                                 add punctuation
+.      c                                add punctuation
 .      as @res \f[\\n[@font]]\\$1\"
 .    \}
 .  \}
@@ -399,6 +408,14 @@
 .  Opt_alt -- "\\$1" "" "\\$2"
 ..
 .c --------------------------------------------------------------------
+.c .Opt_long_arg  ([  []])
+.c
+.c Print `--name=arg' somewhere in the text; optional punctuation.
+.c
+.de Opt_long_arg
+.  Opt_alt -- "\\$1=\\$2" "" "\\$3"
+..
+.c --------------------------------------------------------------------
 .c .Opt_[long]  ([ []])
 .c
 .c Print `--name' somewhere in the text; optional punctuation.
@@ -629,13 +646,16 @@
 .
 .ad l
 .Synopsis groffer
-.RI [ groffer_options ]
-.RI [ groff_options ]
+.RI [ option...\& ]
 .Opt_[--]
 .RI [ "filespec" "\*[Ellipsis]]"
 ./Synopsis
 .
 .Synopsis groffer
+.Opt_alt -- apropos -- apropos-data -- apropos-devel -- apropos-progs name
+./Synopsis
+.
+.Synopsis groffer
 .Opt_alt - h -- help
 ./Synopsis
 .
@@ -681,7 +701,10 @@
 But the option handling has many possibilities for creating special
 behaviors.
 .
-These can be stored in a configuration file.
+This can be done in configuration files, with the shell environment
+variable
+.BR $GROFFER_OPT ,
+or on the command line.
 .
 .
 .P
@@ -696,15 +719,22 @@
 .
 .
 .P
-Most options that must be named when running
+Most of the options that must be named when running
 .I groff
-are determined automatically because
-.I groffer
-internally calls the
+directly are determined automatically for
+.IR groffer ,
+due to the internal usage of the
 .BR grog (@MAN1EXT@)
 program.
 .
-But all parts can be controlled manually by supplying options.
+But all parts can also be controlled manually by arguments.
+.
+.
+.P
+Several file names can be specified on the command line arguments.
+.
+They are transformed into a single document in the normal way of
+.IR groff .
 .
 .
 .\" --------------------------------------------------------------------
@@ -712,165 +742,115 @@
 .\" --------------------------------------------------------------------
 .
 .TP
-.I groffer_options
-The following options determine and configure the display mode.
-.
-They were synchronized with the options of both
-.BR groff (@MAN1EXT@)
-and GNU
-.BR man (1).
-.
-If none of these options is used groffer tries to find a suitable
-display mode automatically.
+.I breaking options
+.RS
+.P
+.Opt_[alt] -- apropos name
+.Opt_[alt] -- apropos-data name
+.Opt_[alt] -- apropos-devel name
+.Opt_[alt] -- apropos-progs name
+.Opt_[alt] - h -- help
+.Opt_[alt] - v -- version
+.RE
 .
 .
+.TP
+.I groffer mode options
 .RS
-.
 .P
-.Opt_[alt] - Q -- source
-.Opt_[alt] - T -- device device
-.Opt_[alt] -- auto-modes mode1,mode2,\*[Ellipsis]
-.Opt_[alt] -- debug
+.Opt_[alt] -- auto
 .Opt_[alt] -- default
+.Opt_[alt] -- default-modes mode1,mode2,\*[Ellipsis]
 .Opt_[alt] -- dvi
 .Opt_[alt] -- dvi-viewer prog
 .Opt_[alt] -- groff
-.Opt_[alt] -- location
+.Opt_[alt] -- html
+.Opt_[alt] -- html-viewer prog
+.Opt_[alt] -- man
 .Opt_[alt] -- mode display_mode
-.Opt_[alt] -- pager program
+.Opt_[alt] -- no-man
 .Opt_[alt] -- pdf
 .Opt_[alt] -- pdf-viewer prog
 .Opt_[alt] -- ps
 .Opt_[alt] -- ps-viewer prog
-.Opt_[alt] -- shell
+.Opt_[alt] -- text
 .Opt_[alt] -- tty
+.Opt_[alt] -- tty-viewer prog
 .Opt_[alt] -- www
 .Opt_[alt] -- www-viewer prog
-.Opt_[alt] -- x
-.Opt_[alt] -- x-viewer prog
+.Opt_[alt] -- x -- X
+.Opt_[alt] -- x-viewer -- X-viewer prog
+.RE
 .
 .
+.TP
+.I development options
+.RS
 .P
-The following long options were adapted from the corresponding X
-Toolkit options.
+.Opt_[alt] -- debug
+.Opt_[alt] -- shell
+.RE
 .
-Their single leading minus in X Toolkit was changed to a double minus
-for long options; see
-.BR X (1).
+.
+.TP
+.I options related to groff
+.RS
+.P
+.Opt_[alt] - P -- postproc-arg opt_or_arg
+.Opt_[alt] - Q -- source
+.Opt_[alt] - T -- device device
+.Opt_[alt] - Z -- intermediate-output -- ditroff
+.P
+All further
+.I groff
+short options are accepted.
+.RE
 .
 .
+.TP
+.I X Window toolkit options
+.RS
 .P
-.Opt_[alt] -- bd
-.Opt_[alt] -- bg -- background
-.Opt_[alt] -- bw
-.Opt_[alt] -- display
-.Opt_[alt] -- fg -- foreground
-.Opt_[alt] -- ft -- font
+.Opt_[alt] -- bd pixels
+.Opt_[alt] -- bg -- background color
+.Opt_[alt] -- bw pixels
+.Opt_[alt] -- display X-display
+.Opt_[alt] -- fg -- foreground color
+.Opt_[alt] -- ft -- font font_name
 .Opt_[alt] -- geometry size_pos
 .Opt_[alt] -- resolution value
 .Opt_[alt] -- rv
 .Opt_[alt] -- title string
 .Opt_[alt] -- xrm X_resource
+.RE
 .
 .
-.P
-The following long options regulate whether and how
-.I man\~pages
-(UNIX manual pages) are searched.
-.
-They were constructed for
-.IR groffer ,
-but they are compatible with the long options of the
-.I GNU man
-program.
-.
-.
+.TP
+.I options from man
+.RS
 .P
 .Opt_[alt] -- all
 .Opt_[alt] -- ascii
-.Opt_[alt] -- apropos
 .Opt_[alt] -- ditroff
 .Opt_[alt] -- extension suffix
 .Opt_[alt] -- locale language
 .Opt_[alt] -- local-file
-.Opt_[alt] -- man
 .Opt_[alt] -- manpath dir1:dir2:\*[Ellipsis]
-.Opt_[alt] -- no-location
-.Opt_[alt] -- no-man
+.Opt_[alt] -- pager program
 .Opt_[alt] -- sections sec1:sec2:\*[Ellipsis]
 .Opt_[alt] -- systems sys1,sys2,\*[Ellipsis]
 .Opt_[alt] -- troff-device device
 .Opt_[alt] -- whatis
-.
-.
 .P
-The GNU
+Further long options of GNU
 .I man
-long options that are not mentioned are recognized, but they are just
-ignored because of alternative implementations.
-.
-The full set of long and short options of the GNU man program can be
-passed via the environment variable
-.Env_var $MANOPT ;
-see
-.BR man (1)
-if your system has GNU man installed.
-.
-.RE
-.
-.
-.TP
-.I groff_options
-Any combination of (short) options from the
-.BR groff (@MAN1EXT@)
-program is accepted; the options that are not explicitly handled by
-groffer are transparently passed to groff.
-.
-Due to the automatism in groffer, none of these groff options should
-be necessary, except for advanced usage.
-.
-.
-.RS
-.
-.P
-Because of the special outputting behavior of the groff options
-.Opt_short V,
-.Opt_short X,
-and
-.Opt_short Z,
-groffer was designed to be switched into
-.I groff
-mode by each of these options; in this mode, the groffer viewing
-features are disabled.
-.
-.P
-The other groff options do not switch the mode, but allow to customize
-the formatting process.
-.
-Useful groff formatting options include
-.Opt_short m
-(to add macro files that cannot be recognized by grog), and
-.Opt_short T
-(to specify an alternative device for the modes
-.I tty
-and
-.IR x ).
-.
+are accepted as well.
 .RE
 .
 .
 .TP
-.I filespec
-is one or more file names or templates for searching
-man\~pages, see
-.BR man (1).
-Each
-.I filespec
-can have one of the following forms.
-.
-.
+.I filespec argument
 .RS
-.
 .P
 No
 .I filespec
@@ -878,7 +858,7 @@
 .
 .
 .TP 10m
-.Opt_short
+.Opt_short ""
 stands for standard input (can occur several times).
 .
 .
@@ -888,262 +868,190 @@
 .
 .
 .TP
+.BI man: name ( section )
+.TP+
+.IB name ( section )
+search the man\~page
 .I name
-if 
+in man\~section\~\c
+.IR section .
+.
+.
+.TP
+.BI man: name . s
+.TP+
+.IB name . s
+if
+.I s
+is a character in
+.BR [1-9on] ,
+search for a man\~page
 .I name
-is not an existing file search for the man\~page called in the lowest
-man\~section that has a document for this name.
+in man\~section
+.IR s .
 .
 .
 .TP
 .BI man: name
-search for a man\~page in the lowest man\~section that has a document
-called
+man\~page in the lowest man\~section that has
 .IR name .
 .
 .
 .TP
-.BI man: name . section
-.TP+
-.BI man: name ( section )
-.TP+
-.IB name ( section )
-.TP+
-.IB name . section
-each of these search the man\~page
+.I "s name"
+if
+.I s
+is a character in
+.BR [1-9on] ,
+search for a man\~page
 .I name
-in man\~section\~\c
-.IR section .
+in man\~section
+.IR s .
 .
 .
 .TP
-.I "std_section name"
-two arguments like in the
-.BR man (1)
-program to find man\~page
 .I name
-in man\~section
-.IR std_section .
-.
-In
-.IR groffer ,
-the argument
-.I std_section
-is a standard section name for man\~pages; these are a digit `1',
-\&\*[Ellipsis], `9', or the single letters `o' or `n'.
-.
-This should be used only with care.
+if 
+.I name
+is not an existing file search for the man\~page
+.I name
+in the lowest man\~section.
 .
 .RE
 .
 .
 .\" --------------------------------------------------------------------
-.SH "GROFFER OPTIONS"
+.SH "OPTION DETAILS"
 .\" --------------------------------------------------------------------
 .
-All short options of
+The
 .I groffer
-are compatible with the short options of
-.BR groff (@MAN1EXT@).
-.
-Some of the
-.I groff
-options were given a special meaning within
-.IR groffer .
+program can usually be run with very few options.
 .
-All other
-.I groff
-options are supported by
-.IR groffer ,
-but they are just transparently transferred to
-.I groff
-without any intervention.
+But for special purposes, it supports many options.
 .
-Therefore these transparent options are not documented here, but in
-.BR groff (@MAN1EXT@).
+These can be classified in 5 option classes.
 .
 .
 .P
+All short options of
+.I groffer
+are compatible with the short options of
+.BR groff (@MAN1EXT@).
+.
 All long options of
 .I groffer
 are compatible with the long options of
 .BR man (1).
 .
-Most of the
-.I man
-long options were implemented as native options into
-.IR groffer .
-.
-These options are documented in the following; the other
-.I man
-options are recognized, but ignored.
-.
-.
-.Opt_def - h
-Print usage message to standard error and exit.
-.
-.
-.Opt_def - Q
-Output the roff source code of the input files unprocessed.
-.
-This is the equivalent
-.Opt_long mode\~source .
-.
-.
-.Opt_def - T devname
-Switch to
-.Opt_long mode
-.IR devname .
-.
-The input is formatted and postprocessed using plain
-.I groff
-with
-.I devname
-as the output device.
-.
-The allowed device names are listed in
-.BR groff (@MAN1EXT@).
-.
-Note that this forces all device names that begin with the letter
-.I X
-to be displayed with
-.BR gxditview (@MAN1EXT@);
-all other device names generate output for the specified device; this
-is printed onto standard output without a pager.
-.
-.
-.Opt_def - v
-Print version information onto standard error.
-.
-.
-.Opt_def - V
-Switch into
-.I groff
-mode and format the input with groff option
-.Opt_short V ;
-this produces the groff calling pipe without formatting the input.
 .
-This an advanced option from
-.BR groff (@MAN1EXT@) ,
-only useful for debugging.
-.
-.
-.Opt_def - X
-Switch into
-.I groff
-mode and format the input with groff option
-.Opt_short X ;
-actually, this formats the input and displays it with
-.BR gxditview (@MAN1EXT@) .
-.
-This differs from groffer's mode
-.I x
-because groffer's viewer options are not used, but the viewer is
-configured like in groff with the groff option
-.Opt_short P .
-This option is inhereted from
-.BR groff (@MAN1EXT@) .
-.
-.
-.Opt_def - Z
-Switch into
-.I groff
-mode and format the input with groff option
-.Opt_short Z ;
-this produces the groff intermediate output without postprocessing; see
-.BR groff_out (@MAN1EXT@) .
-This an advanced option from
-.BR groff (@MAN1EXT@) ,
-useful for debugging.
+.\" --------------------------------------------------------------------
+.SS "groffer breaking Options"
+.\" --------------------------------------------------------------------
 .
+As soon as one of these options is found on the command line it is
+executed, printed to standard output, and the running
+.I groffer
+is terminated thereafter.
 .
-.Opt_def -- all
-In searching man pages, retrieve all suitable ones instead of only one.
+All other arguments are ignored.
 .
 .
-.Opt_def -- apropos
-Instead of displaying, start the `apropos' command for searching
-within man page descriptions; only kept for compatibility with `man'.
+.Opt_def -- apropos name
+Start the
+.BR apropos (1)
+command for searching within man page
+descriptions.
 .
+That slightly differs from the strange behavior of the
+.Opt_long apropos
+program of
+.BR man (1),
+which has no argument of its own, but takes the file arguments
+instead.
 .
-.Opt_def -- auto-modes mode1,mode2,\*[Ellipsis]
-Set the sequence of modes for default mode to the comma separated list
-given in the argument.
+Practically both concepts are compatible.
 .
 .
-.Opt_def -- background color
-This is equivalent to
-.Opt_long bg .
+.Opt_def -- apropos-data name
+Show only the
+.BR apropos (1)
+descriptions for data documents, in the
+.BR man (7)
+sections 4, 5, and 7.
 .
 .
-.Opt_def -- bd pixels
-Specifies the color of the border surrounding the viewer
-window.
+.Opt_def -- apropos-devel name
+Show only the
+.BR apropos (1)
+descriptions for development documents, in the
+.BR man (7)
+sections 2, 3, and 9.
 .
-This is an adaption of the X Toolkit option
-.Opt_short bd .
 .
-The argument is an X color name, see
-.BR (1)
-for details.
+.Opt_def -- apropos-progs name
+Show only the
+.BR apropos (1)
+descriptions for documents on programs, in the
+.BR man (7)
+sections 1, 6, and 8.
 .
 .
-.Opt_def -- bg color
-Set the background color of the viewer window.
+.Opt_def - h -- help
+Print a helping information with a short explanation of option sto
+standard output.
 .
-This is an adaption of the X Toolkit option
-.Opt_short bg .
 .
-The argument is an X color name, see
-.BR (1)
-for details.
+.Opt_def - v -- version
+Print version information to standard output.
 .
 .
-.Opt_def -- bw pixels
-Specifies the width in pixels of the border surrounding the viewer
-window (not available for all viewers).
+.\" --------------------------------------------------------------------
+.SS "groffer Mode Options"
+.\" --------------------------------------------------------------------
 .
-This is an adaption of the X Toolkit option
-.Opt_short bw .
+The display mode and the viewer programs are determined by these
+options.
 .
+If none of these mode and viewer options is specified
+.I groffer
+tries to find a suitable display mode automatically.
 .
-.Opt_def -- debug
-Print debugging information.
 .
-Actually, a function call stack is printed if an error occurs.
+.Opt_def -- auto
+Equivalent to
+.Opt_long_arg mode auto .
 .
 .
 .Opt_def -- default
 Reset all configuration from previously processed command line options
 to the default values.
 .
-This is useful to wipe out all effects of former options and restart
-option processing using only the rest of the command line.
-.
-.
-.Opt_def -- device
-Eqivalent to
-.Opt_short T .
+This is useful to wipe out all former options of the configuration, in
+.Env_var $GROFFER_OPT ,
+and restart option processing using only the rest of the command line.
 .
 .
-.Opt_def -- display X-display
-Set the X display on which the viewer program shall be started, see
-.BR X (1)
-for the syntax of the argument.
+.Opt_def -- default-modes mode1,mode2,\*[Ellipsis]
+Set the sequence of modes for
+.I auto mode
+to the comma separated list given in the argument.
 .
+See
+.Opt_long mode
+for details on modes.  Display in the default manner; actually, this
+means to try the modes
+.IR x ,
+.IR ps ,
+and
+.I tty
+in this sequence.
 .
-.Opt_def -- ditroff
-Eqivalent to
-.Opt_short Z .
-This is kept for compatibiliy with GNU
-.BR man (1).
 .
 .
 .Opt_def -- dvi
-Choose dvi mode; the formatted input is displayed with the  
-by default, the formatted input is displayed with the
-.BR xdvi (1)
-program.
+Equivalent to
+.Opt_long_arg mode dvi .
 .
 .
 .Opt_def -- dvi-viewer prog
@@ -1160,168 +1068,154 @@
 In each case, arguments can be provided additionally.
 .
 .
-.Opt_def -- extension suffix
-Restrict man\~page search to file names that have
-.I suffix
-appended to their section element.
+.Opt_def -- groff
+Equivalent to
+.Opt_long_arg mode groff .
 .
-For example, in the file name
-.I /usr/share/man/man3/terminfo.3ncurses.gz
-the man\~page extension is
-.IR ncurses .
 .
-Originates from GNU
-.IR man .
+.Opt_def -- html
+Equivalent to
+.Opt_long_arg mode html .
 .
 .
-.Opt_def -- foreground color
-This is equivalent to
-.Opt_long fg .
+.Opt_def -- html-viewer
+Equivalent to
+.Opt_long www-viewer .
 .
 .
-.Opt_def -- fg color
-Set the foreground color of the viewer window.
+.Opt_def -- mode value
 .
-This is an adaption of the X Toolkit option
-.Opt_long bg .
+Set the display mode.
 .
-The argument is an X color name, see
-.BR (1)
-for details.
+The following mode values are recognized:
 .
+.RS
 .
-.Opt_def -- font font_name
-This is equivalent to
-.Opt_long ft .
-.
-.
-.Opt_def -- ft font_name
-Set the font used by the viewer window.
-.
-This is an adaption of the X Toolkit option
-.Opt_short ft .
-.
-The argument is an X font name, see
-.BR (1)
-for details.
-.
-.
-.Opt_def -- geometry size_pos
-Set the geometry of the display window, that means its size and its
-starting position.
-.
-See
-.BR X (1)
-for details on the syntax of the argument.
-.
-If the actual display mode is not X then this option is ignored.
-.
-.
-.Opt_def -- groff
-Set
-.I groff
-mode.
-.
-Switch groffer to process the input like
-.BR groff (@MAN1EXT@).
-.
-This disables the groffer viewing features, all groffer viewing
-options are ignored.
-.
-.
-.Opt_def -- help
-Eqivalent to
-.Opt_short h .
-.
-.
-.Opt_def -- location
-Print the location of the retrieved files to standard error.
+.TP
+.Header_CB auto
+Select the automatic determination of the display mode.
 .
+The sequence of modes that are tried can be set with the
+.Opt_long default-modes
+option.
 .
-.Opt_def -- locale language
+Useful for restoring the default mode when a different mode was
+specified before.
 .
-Set the language for man pages.
 .
-This option originates from GNU
-.BR man (1).
+.TP
+.Header_CB dvi
+Display formatted input in a
+.I dvi
+viewer program.
 .
+By default, the formatted input is displayed with the
+.BR xdvi (1)
+program.
+.Opt_long dvi .
 .
-.Opt_def -- man
-Check the non-option command line arguments (filespecs) first on being
-man\~pages, then whether they represent an existing file.
 .
-By default, a filespec is first tested if it is an existing file.
+.TP
+.Header_CB groff
+After the file determination, switch
+.I groffer
+to process the input like
+.BR groff (@MAN1EXT@)
+would do .
 .
+This disables the
+.I groffer
+viewing features.
 .
-.Opt_def -- manpath "'dir1:dir2:\*[Ellipsis]'"
-Use the specified search path for retrieving man\~pages instead of the
-program defaults.
 .
-If the argument is set to the empty string "" the search for man\~page
-is disabled.
+.TP
+.Header_CB html
+Translate the input into html format and display the result in a web
+browser program.
 .
+By default, the existence of a sequence of standard web browsers is
+tested, starting with
+.BR konqueror (1)
+and
+.BR mozilla (1).
+The text html viewer is
+.BR lynx (1).
 .
-.Opt_def -- mode value
 .
-Set the display mode.
+.TP
+.Header_CB pdf
+Display formatted input in a
+.I PDF
+(Portable Document Format) viewer
+program.
 .
-The following mode values are recognized:
+By default, the input is formatted by groff using the Postscript
+device, then it is transformed into the PDF file format using
+.BR gs (1),
+and finally displayed either with the
+.BR xpdf (1)
+or the
+.BR acroread (1)
+program.
 .
+PDF has a big advantage because the text is displayed graphically and
+is searchable as well.
 .
-.RS
+But as the transformation takes a considerable amount of time, this
+mode is not suitable as a default device for the auto mode.
 .
 .
 .TP
-.Header_CB auto
-Display in the default manner; this actually means to try the modes
-.IR ps ,
-.IR x ,
-and
-.I tty
-in this sequence.
-.
-Useful for restoring default mode when a different mode was specified
-with
-.Env_var $GROFFER_OPT .
-.
+.Header_CB ps
+Display formatted input in a Postscript viewer program.
 .
-.TP
-.Header_CB dvi
-Display formatted input in a dvi viewer program; equivalent to
-.Opt_long dvi .
+By default, the formatted input is displayed with the
+.BR ghostview (@MAN1EXT@)
+program.
 .
 .
 .TP
-.Header_CB pdf
-Display formatted input in a PDF (Portable Document Format) viewer
-program; equivalent to
-.Opt_long pdf .
-.
+.Header_CB text
+Format in a
+.I groff
+text mode and write the result to standard output without a pager or
+viewer program.
 .
-.TP
-.Header_CB ps
-Display formatted input in a Postscript viewer program; equivalent to
-.Opt_long ps .
+The text device,
+.I latin1
+by default, can be chosen with option
+.Opt_short T .
 .
 .
 .TP
 .Header_CB tty
-Display formatted input in a text terminal; equivalent to
-.Opt_long tty .
+Format in a
+.I groff
+text mode and write the result to standard output using a text pager
+program, even when in X Window.
 .
 .
 .TP
 .Header_CB www
-Display formatted input in a internet browser program; equivalent to
+Equivalent to
 .Opt_long www .
 .
 .
 .TP
+.Header_CB X
+Display formatted input in a native roff viewer.
+.
+By default, the formatted input is displayed with the
+.BR gxditview (@MAN1EXT@)
+program, being distributed together with groff, or with
+.BR xditview (1),
+which is distributed as a standard X tool.
+.
+.
+.TP
 .Header_CB x
-Display formatted input in a native roff viewer such as
-.BR gxditview (@MAN1EXT@);
-equivalent to
-.Opt_long x .
+Equivalent to
+.Opt_long_arg mode X .
 .
 .
 .P
@@ -1349,49 +1243,16 @@
 .
 .TP
 .Header_CB source
-Display source code; same as
+Display the source code of the input without formatting; equivalent to
 .Opt_short Q .
 .
 .
 .RE
 .
 .
-.Opt_def -- no-location
-Do not display the location of retireved files; this resets a former
-call to
-.Opt_long location .
-.
-.
-.Opt_def -- no-man
-Do not check for man\~pages.
-.
-.
-.Opt_def -- pager
-Set the pager program in tty mode; default is
-.IR less .
-.
-.
 .Opt_def -- pdf
-Choose pdf mode (Portable Document Format).
-.
-By default, the input is formatted by groff using the Postscript
-device, then it is transformed into the PDF file format using
-.BR gs (1)
-(this is quite slow), and finally displayed either with the
-.BR xpdf (1)
-or the
-.BR acroread (1)
-program; this can be configured with option
-.Opt_long viewer-pdf .
-.
-PDF has a big advantage because the text is displayed graphically and
-is searchable nevertheless; but as thtransformation into pdf takes a
-considerable amount of time, the pdf mode is not suitable as a default
-device for the auto mode.
-.
-The only device that is compatible to this mode is
-.IR ps ,
-which is also the default when no device is specified.
+Equivalent to
+.Opt_long_arg mode pdf .
 .
 .
 .Opt_def -- pdf-viewer prog
@@ -1406,16 +1267,8 @@
 .
 .
 .Opt_def -- ps
-Choose ps mode (Postscript).
-.
-By default, the formatted input is displayed with the
-.BR ghostview (@MAN1EXT@)
-program; this can be configured with option
-.Opt_long viewer-ps .
-.
-The only device that is compatible to this mode is
-.IR ps ,
-which is also the default when no device is specified.
+Equivalent to
+.Opt_long_arg mode ps .
 .
 .
 .Opt_def -- ps-viewer prog
@@ -1435,99 +1288,25 @@
 In each case, arguments can be provided additionally.
 .
 .
-.Opt_def -- resolution value
-Set X resolution in dpi (dots per inch) in some viewer programs.
-.
-The only supported dpi values are
-.B 75
-and
-.BR 100 .
-This is an adaption of the X Toolkit option
-.Opt_short resolution .
-.
-.
-.Opt_def -- rv
-Reverse foreground and background color of the viewer window.
-.
-This is an adaption of the X Toolkit option
-.Opt_short rv .
-This feature is not available in all viewer programs.
-.
-.
-.Opt_def -- sections
-Restrict searching for man pages to the given
-.IR sections ,
-a colon-separated list.
-.
-.
-.Opt_def -- shell "shell_program"
-Specify the shell under which the groffer script should be run.
-.
-The script first tests whether this option is set (either within
-.Env_var $GROFF_OPT
-or as a command line option); if so, the script is rerun under the
-shell program specified with the option argument.
-.
-.
-.Opt_def -- source
+.Opt_def -- text
 Equivalent to
-.Opt_short Q .
-.
-.
-.Opt_def -- systems
-Search for man pages for the given operating systems; the argument
-.I systems
-is a comma-separated list.
+.Opt_long_arg mode text .
 .
 .
-.Opt_def -- title "'some text'"
-Set the title for the viewer window.
-.
-This feature is not available in all viewer programs.
-.
-.
-.Opt_def -- to-postproc opt_or_arg
-Eqivalent to
-.Opt_short P .
-.
-.
-.Opt_def -- troff-device
-Eqivalent to
-.Opt_short T .
-This option is only kept for compatibility with GNU
-.BR man (1).
+.Opt_def -- tty
+Equivalent to
+.Opt_long_arg mode tty .
 .
 .
-.Opt_def -- tty
+.Opt_def -- tty-viewer
 Choose tty display mode, that means displaying in a text pager even
 when in X; eqivalent to
-.Opt_long mode\~tty .
-.
-.
-.Opt_def -- version
-Eqivalent to
-.Opt_short v .
-.
-.
-.Opt_def -- whatis
-Instead of displaying the content, get the one-liner description from
-the retrieved man page files \[em] or say that it is not a man page.
-.
-.
-.Opt_def -- where
-Eqivalent to
-.Opt_long location .
+.Opt_long_arg mode tty .
 .
 .
 .Opt_def -- www
-Choose www mode (html), display in a web browser program, which can be
-specified with option
-.Opt_long www-viewer .
-By default, the existence of a sequence of standard web browsers is
-tested, starting with
-.BR mozilla (1)
-and
-.BR netscape (1)
+Equivalent to
+.Opt_long_arg mode www .
 .
 .
 .Opt_def -- www-viewer prog
@@ -1537,40 +1316,19 @@
 .
 Each program that accepts html input and allows the
 .BI file://localhost/ dir / file
-syntax on the command line is suitable; it can be the path name of an
-executable file or a program in
+syntax on the command line is suitable as viewer program; it can be
+the path name of an executable file or a program in
 .Env_var $PATH .
 .
 In each case, arguments can be provided additionally.
 .
 .
-.Opt_def -- x
-Choose
-.I x
-mode (view in X roff viewer).
-.
-By default, the formatted input is displayed with the
-.BR gxditview (@MAN1EXT@)
-program, being distributed together with groff, or with
-.BR xditview (1),
-which is distributed as a standard X tool.
-.
-This can be configured with option
-.Opt_long x-viewer .
-.
-The only devices (option
-.Opt_short T )
-that are compatible with this mode are
-.IR X75 ,
-.IR X100 ,
-.IR X75-12 ,
-.IR X100-12 ,
-and
-.I ps
-(the default device).
+.Opt_def - X -- X -- x
+Equivalent to
+.Opt_long_arg mode X .
 .
 .
-.Opt_def -- x-viewer prog
+.Opt_def -- X-viewer -- x-viewer prog
 Set the viewer program for
 .I x
 mode.
@@ -1595,76 +1353,695 @@
 .
 .
 .P
-Besides these, groffer accepts all arguments that are valid for the
-.BR groff (@MAN1EXT@)
-program.
+Besides these,
+.I groffer
+accepts all arguments that are valid for the
+.BR groff (@MAN1EXT@)
+program.
+.
+All non-groffer options are sent unmodified via
+.I grog
+to
+.IR groff .
+.
+Postprocessors, macro packages, compatibility with classical
+.IR troff ,
+and much more can be manually specified.
+.
+.
+.\" --------------------------------------------------------------------
+.SH "Options for Development"
+.\" --------------------------------------------------------------------
+.
+.Opt_def -- debug
+Print debugging information for development only.
+.
+Actually, a function call stack is printed if an error occurs.
+.
+.
+.Opt_def -- shell "shell_program"
+Specify the shell under which the groffer script should be run.
+.
+The script first tests whether this option is set (either by
+configuration, within
+.Env_var $GROFF_OPT
+or as a command line option); if so, the script is rerun under the
+shell program specified with the option argument.
+.
+.
+.Opt_def - Q -- source
+Output the roff source code of the input files without further
+processing.
+.
+This is the equivalent
+.Opt_long_arg mode source .
+.
+.
+.P
+Other useful debugging options are the
+.I groff
+options
+.Opt_short V
+and
+.Opt_short Z
+and option
+.Opt_long_arg mode groff .
+.
+.
+.\" --------------------------------------------------------------------
+.SH "Options related to groff"
+.\" --------------------------------------------------------------------
+.
+All short options of
+.I groffer
+are compatible with the short options of
+.BR groff (@MAN1EXT@).
+.
+The following of
+.I groff
+options have either an additional special meaning within
+.I groffer
+or make sense for normal usage.
+.
+.
+.P
+Because of the special outputting behavior of the
+.I groff
+options
+.Opt_short V
+and
+.Opt_short Z
+.I groffer
+was designed to be switched into
+.I groff
+mode by these; the
+.I groffer
+viewing features are disabled there.
+.
+The other
+.I groff
+options do not switch the mode, but allow to customize the formatting
+process.
+.
+.
+.Opt_def - a
+This generates an ascii approximation of output in text modes.
+.
+That could be important when the text pager has problems with control
+sequences.
+.
+.
+.Opt_def - m file
+Add
+.I file
+as a
+.I groff
+macro file.
+.
+This is useful in case it cannot be recognized automatically.
+.
+.
+.Opt_def - P opt_or_arg
+Send the argument
+.I opt_or_arg
+as an option or option argument to the actual
+.I groff
+postprocessor.
+.
+.
+.Opt_def - T -- device devname
+.
+This option determines
+.IR groff 's
+output device.
+.
+The most important devices are the text output devices for referring
+to the different character sets, such as
+.BR ascii ,
+.BR utf8 ,
+.BR latin1 ,
+and others.
+.
+Each of these arguments switches
+.I groffer
+into a text mode using this device, to
+.I mode tty
+if the actual mode is not a text mode.
+.
+The following
+.I devname
+arguments are mapped to the corresponding
+.I groffer
+.Opt_long_arg mode \fIdevname\fR
+option:
+.BR dvi ,
+.BR html ,
+and
+.BR ps .
+All
+.B X*
+arguments are mapped to mode
+.BR X .
+Each other
+.I devname
+argument switches to
+.I mode groff
+using this device.
+.
+.
+.Opt_def - V
+Switch into
+.I groff
+mode and show only the
+.I groff
+calling pipe without formatting the input.
+.
+This an advanced option from
+.BR groff (@MAN1EXT@) ,
+only useful for debugging.
+.
+.
+.Opt_def - X
+was made equivalent to
+.Opt_long_arg mode x ;
+this slightly enhances the facility of
+.IR groff 's
+option.
+.
+.
+.Opt_def - Z -- intermediate-output -- ditroff
+Switch into
+.I groff
+mode and format the input with
+.I groff
+intermediate output without postprocessing; see
+.BR groff_out (@MAN1EXT@).
+This is equivalent to option
+.Opt_long ditroff
+of
+.IR man ,
+which can be used as well.
+.
+.
+.P
+All other
+.I groff
+options are supported by
+.IR groffer ,
+but they are just transparently transferred to
+.I groff
+without any intervention.
+.
+The options that are not explicitly handled by
+.I groffer
+are transparently passed to
+.IR groff .
+.
+Therefore these transparent options are not documented here, but in
+.BR groff (@MAN1EXT@).
+Due to the automatism in
+.IR groffer ,
+none of these
+.I groff
+options should be needed, except for advanced usage.
+.
+.
+.\" --------------------------------------------------------------------
+.SS "X Window toolkit Options"
+.\" --------------------------------------------------------------------
+.
+The following long options were adapted from the corresponding X
+Toolkit options.
+.
+.I groffer
+will pass them to the actual viewer program if it is an X Window
+program.
+.
+Otherwise these options are ignored.
+.
+.
+.P
+Unfortunately these options use the old style of a single minus for
+long options.
+.
+For
+.I groffer
+that was changed to the standard with using a double minus for long
+options, for example,
+.I groffer
+uses the option
+.Opt_long font
+for the
+.I X
+option
+.Opt_short font .
+.
+.
+.P
+See
+.BR X (1),
+.BR X (7),
+and the documentation on the X toolkit options for more details on
+these options and their arguments.
+.
+.
+.Opt_def -- background color
+Set the background color of the viewer window.
+.
+.
+.Opt_def -- bd pixels
+Specifies the color of the border surrounding the viewer window.
+.
+.
+.Opt_def -- bg color
+This is equivalent to
+.Opt_long background .
+.
+.
+.Opt_def -- bw pixels
+Specifies the width in pixels of the border surrounding the viewer
+window.
+.
+.
+.Opt_def -- display X-display
+Set the X display on which the viewer program shall be started, see the
+.I X Window
+documentation for the syntax of the argument.
+.
+.
+.Opt_def -- foreground color
+Set the foreground color of the viewer window.
+.
+.
+.Opt_def -- fg color
+This is equivalent to
+.Opt_short foreground .
+.
+.
+.Opt_def -- font font_name
+Set the font used by the viewer window.
+.
+The argument is an X font name.
+.
+.
+.Opt_def -- ft font_name
+This is equivalent to
+.Opt_long ft .
+.
+.
+.Opt_def -- geometry size_pos
+Set the geometry of the display window, that means its size and its
+starting position.
+.
+See
+.BR X (7)
+for the syntax of the argument.
+.
+.
+.Opt_def -- resolution value
+Set X resolution in dpi (dots per inch) in some viewer programs.
+.
+The only supported dpi values are
+.B 75
+and
+.BR 100 .
+.
+Actually, the default resolution for
+.I groffer
+is set to
+.BR 75 .
+.
+.
+.Opt_def -- rv
+Reverse foreground and background color of the viewer window.
+.
+.
+.Opt_def -- title "'some text'"
+Set the title for the viewer window.
+.
+.
+.Opt_def -- xrm "'resource'"
+Set X resource.
+.
+.
+.\" --------------------------------------------------------------------
+.SS "Options from man"
+.\" --------------------------------------------------------------------
+.
+The long options of
+.I groffer
+were synchronized with the long options of
+.IR GNU man .
+.
+All long options of
+.I GNU man
+are recognized, but not all of these options are important to
+.IR groffer ,
+so most of them are just ignored.
+.
+.
+.P
+The following two options were added by
+.I groffer
+for choosing whether the file name arguments are interpreted as names
+for local files or as a search pattern for man pages.
+.
+The default is looking up for local files.
+.
+.
+.Opt_def -- man
+Check the non-option command line arguments (filespecs) first on being
+man\~pages, then whether they represent an existing file.
+.
+By default, a filespec is first tested whether it is an existing file.
+.
+.
+.Opt_def -- no-man -- local-file
+Do not check for man\~pages.
+.
+.Opt_long local-file
+is the corresponding
+.I man
+option.
+.
+.
+.P
+In the following, the
+.I man
+options that have a special meaning for
+.I groffer
+are documented.
+.
+.
+.P
+The full set of long and short options of the
+.I GNU man
+program can be passed via the environment variable
+.Env_var $MANOPT ;
+see
+.BR man (1)
+if your system has
+.I GNU man
+installed.
+.
+.
+.Opt_def -- all
+In searching man\~pages, retrieve all suitable documents instead of
+only one.
+.
+.
+.Opt_def - 7 -- ascii
+In text modes, display ASCII translation of special characters.
+.
+.
+.Opt_def -- ditroff
+Eqivalent to
+.I groffer
+.Opt_short Z .
+.
+.
+.Opt_def -- extension suffix
+Restrict man\~page search to file names that have
+.I suffix
+appended to their section element.
+.
+For example, in the file name
+.I /usr/share/man/man3/terminfo.3ncurses.gz
+the man\~page extension is
+.IR ncurses .
+.
+.
+.Opt_def -- locale language
+.
+Set the language for man pages.
+.
+This has the same effect, but overwrites
+.Env_var $LANG
+.
+.
+.Opt_def -- location
+Print the location of the retrieved files to standard error.
+.
+.
+.Opt_def -- no-location
+Do not display the location of retrieved files; this resets a former
+call to
+.Opt_long location .
+.
+This was added by
+.IR groffer .
+.
+.
+.Opt_def -- manpath "'dir1:dir2:\*[Ellipsis]'"
+Use the specified search path for retrieving man\~pages instead of the
+program defaults.
+.
+If the argument is set to the empty string "" the search for man\~page
+is disabled.
+.
+.
+.Opt_def -- pager
+Set the pager program in tty mode; default is
+.IR less .
+This is equivalent to
+.Opt_long tty-viewer .
+.
+.
+.Opt_def -- sections "'sec1:sec2:\*[Ellipsis]'"
+Restrict searching for man\~pages to the given
+.IR sections ,
+a colon-separated list.
+.
+.
+.Opt_def -- systems "'sys1,sys2,\*[Ellipsis]'"
+Search for man pages for the given operating systems; the argument
+.I systems
+is a comma-separated list.
+.
+.
+.Opt_def -- whatis
+Instead of displaying the content, get the one-liner description from
+the retrieved man\~page files \[em] or say that it is not a man\~page.
+.
+.
+.Opt_def -- where
+Eqivalent to
+.Opt_long location .
+.
+.
+.P
+Additionally, the following short option of
+.I man
+is supported as well.
+.
+.
+.\" --------------------------------------------------------------------
+.SS "Filespec Arguments"
+.\" --------------------------------------------------------------------
+.
+A
+.I filespec
+parameter is an argument meaning an input source, such as a file name
+or template for searching man\~pages.
+.
+These input sources are collected and composed into a single output
+file.
+.
+Each of these
+.I filespec
+parameters can have one of the following forms.
+.
+.
+.P
+No
+.I filespec
+parameters means that
+.I groffer
+waits for standard input.
+.
+The minus option
+.Opt_short ""
+stands for standard input, too, but can occur several times.
+.
+Next
+.I filespec
+is tested whether it is the path name of an existing file.
+.
+Otherwise it is assumed as a searching pattern for a man\~page.
+.
+.
+.P
+On each system, the man pages are sorted according to their content
+into several sections.
+.
+The
+.I classical man sections
+have a single-character name, either are a digit from
+.B 1
+to
+.B 9
+or one of the characters
+.B n
+or
+.BR o .
+.
+In the following, a stand-alone character
+.I s
+means this scheme.
+.
+.
+.P
+The internal precedence of
+.I man
+for searching man pages with the same name within several sections
+goes according to the classical single-character sequence.
+.
+On some systems, this single character can be extended by a following
+string.
+.
+But the special
+.I groffer
+man page facility is based on the classical single character sections.
+.
+.
+.P
+.BI man: name ( section )
+and
+.IB name ( section )
+search the man\~page
+.I name
+in man\~section\~\c
+.IR section ,
+where
+.I section
+can be any string, but it must exist in the
+.I man
+system.
+.
+.
+.P
+Next some patterns based on the
+.I classical man sections
+were constructed.
+.
+.BI man: name . s
+and
+.IB name . s
+search for a man\~page
+.I name
+in man\~section
+.I s
+if
+.I s
+is a
+.I classical man section
+mentioned above.
+.
+Otherwise search for a man\~page named
+.IR name.s
+in the lowest
+.I man
+section.
+.
+.
+.P
+Now
+.BI man: name
+searches for a man\~page in the lowest man\~section that has a
+document called
+.IR name .
+.
+.
+.P
+The pattern
+.I "s name"
+originates from a strange argument parsing of the
+.I man
+program.
+.
+If
+.I s
+is a
+.I classical man section
+interpret it as a search for a man\~page called
+.I name
+in man\~section
+.IR s ,
+otherwise interpret
+.I s
+as a file argument and
+.I name
+as another
+.I filespec
+argument.
+.
+.
+.P
+We are left with the argument
+.I name
+which is not an existing file.
+.
+So this searches for the man\~page called
+.I name
+in the lowest man\~section that has a document for this name.
+.
+.
+.P
+Several file name arguments can be supplied.
+.
+They are mixed by
+.I groff
+into a single document.
 .
-All non-groffer options are sent unmodified via grog to groff.
+Note that the set of option arguments must fit to all of these file
+arguments.
 .
-Postprocessors, macro packages, compatibility with classical troff,
-and much more can be manually specified.
+So they should have at least the same style of the
+.I groff
+language.
 .
 .
 .\" --------------------------------------------------------------------
 .SH "OUTPUT MODES"
 .\" --------------------------------------------------------------------
 .
-By default, the groffer program formats the input and then
-automatically chooses a suitable display mode, but the user can also
-choose between the following modes:
-.
-.Topic
-graphically display the formatted input with an X window program,
-including
-.
-.RS
-.Topic
-with X window roff viewers such as
-.BR gxditview (@MAN1EXT@)
-.RI ( x
-mode),
-.
-.Topic
-in a dvi viewer program
-.RI ( dvi
-mode),
+By default, the
+.I groffer
+program collects all input into a single file, formats it with the
+.I groff
+program for a certain device, and then chooses a suitable viewer
+program.
 .
-.Topic
-in a Postscript viewer
-.RI ( ps
-mode),
+The device and viewer process in
+.I groffer
+is called a
+.IR mode .
 .
-.Topic
-in a PDF viewer
-.RI ( pdf
-mode),
+The mode and viewer of a running
+.I groffer
+program is selected automatically, but the user can also choose it
+with options.
 .
-.Topic
-in a web browser
-.RI ( www
-mode),
-.RE
 .
-.Topic
-display formatted input in a pager on the text terminal
-.RI ( tty
-mode),
+The modes are selected by option the arguments of
+.Opt_long_arg mode \fIanymode .
+Additionally, each of this argument can be specified as an option of
+its own, such as
+.Opt_long \fIanymode .
+Most of these modes have a viewer program, which can be chosen by an
+option that is constructed like
+.Opt_long \fIanymode\fR-viewer .
 .
-.Topic
-run groffer like groff, but with decompression and man\~page searching
-.RI ( groff
-mode); this includes things like generating the groff intermediate
-output.
 .
-.Topic
-stream the unformatted source code of the input onto standard output
-.RI ( source
-mode),
+.P
+Several different modes are offered, graphical X modes, text modes,
+and some direct
+.I groff
+modes for debugging and development.
 .
 .
 .P
-By
-.IR default ,
+By default,
 .I groffer
 first tries whether
 .B x
@@ -1675,7 +2052,7 @@
 mode.
 .
 This mode testing sequence for
-.B default
+.B auto
 mode can be changed by specifying a comma separated list of modes
 with the option
 .Opt_long default\-modes.
@@ -1690,47 +2067,59 @@
 .SS "Graphical Display Modes"
 .\" --------------------------------------------------------------------
 .
-The graphical display modes work only in the X window environment (or
+The graphical display modes work only in the X Window environment (or
 similar implementations within other windowing environments).
 .
 The environment variable
 .Env_var $DISPLAY
-or the option
+and the option
 .Opt_long display
-are used for specifying the X display to be used; if neither is
-specified, groffer assumes that no X is running.
+are used for specifying the X display to be used.
+.
+If neither is given,
+.I groffer
+assumes that no X and changes to one text mode.
+.
+You can change this automatic behavior by the option
+.Opt_long default\-modes .
 .
 .
 .P
-A certain graphical display mode can be selected by one of the options
-.Opt_long dvi ,
-.Opt_long pdf ,
-.Opt_long ps ,
-.Opt_short X ,
-and
-.Opt_long www .
+Known viewers for the graphical display modes and their standard X
+Window viewer progams are
 .
-By default, some graphical modes are tried first.  If none succeeds
-groffer switches to
-.B tty
-mode.
+.Topic
+X Window roff viewers such as
+.BR gxditview (@MAN1EXT@)
+or
+.BR xditview (1)
+.RI (in x
+or
+.I X
+mode),
+.
+.Topic
+in a Postscript viewer
+.RI ( ps
+mode),
 .
+.Topic
+in a dvi viewer program
+.RI ( dvi
+mode),
 .
-.P
-The graphical modes can be customized by options that were named
-according to the resource options in the
-.BR X (1)
-Toolkit but using a leading double minus instead of the single minus
-used by X.
-.
-These include
-.Opt_long background ,
-.Opt_long foreground ,
-.Opt_long geometry ,
-.Opt_long resolution ,
-.Opt_long title ,
-.Opt_long xrm ,
-etc.
+.Topic
+in a PDF viewer
+.RI ( pdf
+mode),
+.
+.Topic
+in a web browser
+.RI ( html
+or
+.I www
+mode),
+.RE
 .
 .
 .P
@@ -1740,93 +2129,118 @@
 that allows to search for text within the viewer; this can be a really
 important feature.
 .
-Unfortunately, it takes a long time to transform the input into the
-PDF format, so it was not chosen as the major mode.
+Unfortunately, it takes some time to transform the input into the PDF
+format, so it was not chosen as the major mode.
 .
-You can change this by the options
-.Opt_long pdf
-and
-.Opt_long auto\-modes .
+.
+.P
+These graphical viewers can be customized by options of the X Window
+Toolkit.
+.
+But the
+.I groffer
+options use a leading double minus instead of the single minus used by
+the X Window Toolkit.
 .
 .
 .\" --------------------------------------------------------------------
 .SS "Text mode"
 .\" --------------------------------------------------------------------
 .
+There are to modes for text output, mode
+.I text
+for plain output without a pager and mode
+.I tty
+for a text output on a text terminal using some pager program.
+.
+.
+.P
 If the variable
 .Env_var $DISPLAY
-is not set or empty, groffer assumes that it should produce output on
-a text terminal.
-.
-This mode can also be forced by option
-.Opt_long tty .
+is not set or empty, groffer assumes that it should use
+.I tty
+mode.
 .
 .
 .P
 In the actual implementation, the groff output device
 .I latin1
-is chosen and the processed output is piped into a pager program.
+is chosen for text modes.
 .
 This can be changed by specifying option
-.Opt_long tty-device .
+.Opt_short T
+or
+.Opt_long device .
 .
 .
 .P
-The pager to be used can be specified by option
+The pager to be used can be specified by one of the options
 .Opt_long pager
+and
+.Opt_long tty-viewer ,
 or by the environment variable
 .Env_var $PAGER .
-If this is not set or empty the
+If all of this is not used the
 .BR less (1)
-program is used as the default pager.
+program with the option
+.Opt_short r
+for correctly displaying control sequences is used as the default
+pager.
 .
 .
 .\" --------------------------------------------------------------------
-.SS "Non-displaying Modes"
+.SS "Special Modes for Debugging and Development"
 .\" --------------------------------------------------------------------
 .
-There are some special modes that do not display the formatted output
-in a viewer program.
-.
-These modes are regarded as advanced, they are useful for debugging
-purposes.
-.
+These modes use the
+.I groffer
+file determination and decompression.
 .
-.TP
-.I source mode
-Instead of displaying the formatted output, it is also possible to
-have the roff source code streamed onto the standard output.
+This is combined into a single input file that is fed directly into
+.I groff
+with different strategy without the
+.I groffer
+viewing facilities.
 .
-This mode must be requested by one of the options
-.Opt_short Q
-or
-.Opt_long source .
+These modes are regarded as advanced, they are useful for debugging
+and development purposes.
 .
 .
-.TP
-.I groff mode
-This mode disables the groffer viewing facilities.
+.P
+The
+.I source
+mode with just displays the generated input.
 .
-The input is handled as usual with decompression and man\~page
-searching, but then it is passed to groff using only the options
-provided by groff.
+The
+.I groff
+mode passes the input to
+.I groff
+using only some suitable options provided to
+.IR groffer .
 .
 This enables the user to save the generated output into a file or pipe
 it into another program.
 .
+.
+.P
+In
+.I groff
+mode, the option
+.Opt_short Z
+disables post-processing, thus producing the
+.I groff intermediate
+.IR output .
+.
 In this mode, the input is formatted, but not postprocessed; see
 .BR groff_out (@MAN5EXT@)
 for details.
 .
-This mode is activated automatically by the three groff options
-.Opt_short V
-(print roff pipe, no formatting),
-.Opt_short X
-(display with gxditview in groff's native way, using
-.Opt_short P
-for customization), and
-.Opt_short Z
-(disable post-processing, thus producing the groff intermediate output).
+.
+.P
+All
+.I groff
+short options are supported by
+.IR groffer .
 .
 .
 .\" --------------------------------------------------------------------
@@ -1917,15 +2331,17 @@
 variable
 .Env_var $MANOPT .
 .
+.
 .Topic
-If this does not work, the
-.BR manpath (1)
-program for determining a path of man directories is tried.
+If this does not work a reasonable default path from
+.Env_var $PATH
+is searched for man\~pages.
 .
 .
 .Topic
-If this does not work a reasonable default path is searched for
-man\~pages.
+If this does not work, the
+.BR manpath (1)
+program for determining a path of man directories is tried.
 .
 .
 .P
@@ -2102,7 +2518,7 @@
 The options specified in this variable are overridden by the options
 given on the command line.
 .
-The content of this variable is run through the shell builitin `eval';
+The content of this variable is run through the shell builtin `eval';
 so arguments containing white-space or special shell characters should
 be quoted.
 .
@@ -2122,7 +2538,7 @@
 .
 .TP
 .Env_var $DISPLAY
-If this variable is set this indicates that the X window system is
+If this variable is set this indicates that the X Window system is
 running.
 .
 Testing this variable decides on whether graphical or text output is
@@ -2298,13 +2714,13 @@
 .SH "CONFIGURATION FILES"
 .\" --------------------------------------------------------------------
 .
-The groffer program can be preconfigured by two configuration files.
+The
+.I groffer
+program can be preconfigured by two configuration files.
 .
-Both of them are shell scripts that are called at the beginning of
-groffer using the `\c
-.CB .\~\c
-.IR filename '
-syntax.
+This configuration can be overridden at each program start by command
+line options or by the environment variable
+.Env_var $GROFFER_OPT .
 .
 .
 .TP
@@ -2323,19 +2739,39 @@
 .
 .
 .P
+Their lines either start with a minus character or are shell commands.
+.
+Arbitrary spaces are allowed at the beginning, they are just ignored.
+.
+The lines with the beginning minus are appended to the existing value
+of $GROFFER_OPT.
+.
+This easily allows to set general
+.I groffer
+options that are used with any call of
+.IR groffer .
+.
+.
+.P
+After the transformation of the minus lines the emerging shell scripts
+that are called by
+.I groffer
+using the `\c
+.CB .\~\c
+.IR filename '
+syntax.
+.
+.
+.P
 It makes sense to use these configuration files for the following
 tasks:
 .
 .Topic
-Preset environment variables recognized by groffer; preferably a
-variable should only be set when it is unset in order not to override
-a user-provided value.
+Preset command line options by writing them into lines starting with a
+minus sign.
 .
 .Topic
-Preset command line options by prepending them to
-.Env_var $GROFFER_OPT ;
-prepending should be preferred to appending and setting in order not
-to delete the environment variable provided by the 
+Preset environment variables recognized by groffer.
 .
 .Topic
 Write a function for calling a viewer program for a special
@@ -2351,57 +2787,81 @@
 .
 .
 .P
-As an example, consider the following configuration file.
+As an example, consider the following configuration file in
+~/.groff/groffer.conf, say.
 .
 .P
 .ft CR
 .nh
 .nf
-#! /bin/sh
-# ~/.groff/groffer.conf
+# groffer configuration file
+#
+# groffer options that are used in each call of groffer
+--resolution=100
+--foreground=DarkBlue
+--x-viewer 'gxditview -geometry 850x800'
+#
+# some shell commands
 if test "$DISPLAY" = ""; then
-  DISPLAY='localhost:0.0';
-fi;
-GROFF_OPT="--resolution=100 $GROFF_OPT";
-gxditview()
-{
-  /usr/local/bin/gxditview --fg DarkBlue "$@";
-}
-GROFF_OPT="--x-viewer gxditview $GROFF_OPT";
+  DISPLAY='localhost:0.0'
+fi
+date >>~/mygroffer.log
 .fi
 .hy
 .ft
 .
 .
 .P
+This configuration sets three
+.I groffer
+options and runs two shell commands.
+.
 This has the following effects:
+.
+.
+.Topic
+Lines starting with a 
+.B #
+character
+are 
+.
+.
 .Topic
-allows to start groffer in a graphical mode (here on first running X
-display by
-.IR localhost:0.0 )
-even from a text terminal (empty
-.Env_var $DISPLAY );
-.Topic
-all graphical modes use a resolution of
-.I 100 dpi
-where applicable;
+Use a resolution of
+.B 100 dpi
+and a text color of
+.B DarkBlue
+in all viewers that support this.
+.
+.
 .Topic
-the
+Force
 .BR gxditview (@MAN1EXT@)
-program is told to use
-.I DarkBlue
-as the text color by defining a shell function with the program's name
+as the X-mode viewer using the geometry option for setting the width
+to
+.B 850 dpi
+and the height to
+.B 800
+.BR dpi .
+.
+.
 .Topic
-force
-.I gxditview
-to be used in X mode by option
-.Opt_long x\­viewer .
+The variable
+.Env_var $DISPLAY
+is set to
+.IR localhost:0.0
+which allows to start
+.I groffer
+in the standard X display, even when the program is called from a text
+console.
 .
 .
-.P
-These configurations can be overridden by command line options and by
-environment variable
-.Env_var $GROFFER_OPT .
+.Topic
+Just for fun, the date of each
+.I groffer
+start is written to the file
+.B mygroffer.log
+in the home directory.
 .
 .
 .\" --------------------------------------------------------------------
@@ -2422,19 +2882,64 @@
 .I meintro.ms.gz
 in the directory
 .IR /usr/local/share/doc/groff ,
-using a default graphical viewer when in X window, or the
+using
+.I gxditview
+as graphical viewer when in X Window, or the
 .BR less (1)
 pager program when not in X.
 .
 .
 .TP
-.Shell_cmd "groffer\~groff.7\~groff\~\[cq]troff(1)\[cq]\~man:roff"
+.Shell_cmd "groffer\~groff"
+If the file
+.I ./groff
+exists use it as input.
+.
+Otherwise interpret the argument as a search for the man\~page named
+.I groff
+in the smallest possible man\~section, being secion 1 in this case.
+.
+.
+.TP
+.Shell_cmd "groffer\~man:groff"
+search for the man\~page of
+.I groff
+even when the file
+.I ./groff
+exists.
+.
+.
+.TP
+.Shell_cmd "groffer\~groff.7"
+.TP+
+.Shell_cmd "groffer\~7\~groff"
+search the man\~page of
+.I groff
+in man\~section
+.BR 7 .
+This section search works only for a digit or a single character from
+a small set.
+.
+.
+.TP
+.Shell_cmd "groffer\~fb.modes"
+If the file
+.I ./fb.modes
+does not exist interpret this as a search for the man\~page of
+.IR fb.modes .
+As the extension
+.I modes
+is not a single character in classical section style the argument is
+not split to a search for
+.IR fb .
+.
+.
+.TP
+.Shell_cmd "groffer\~groff\~\[cq]troff(1)\[cq]\~man:roff"
 .
 The arguments that are not existing files are looked-up as the
 following man\~pages:
 .I groff
-(in man\~section\~7),
-.I groff
 (automatic search, should be found in man\~section\~1),
 .I troff
 (in section\~1),
@@ -2455,16 +2960,18 @@
 .
 .
 .TP
-.Shell_cmd "LANG=de\~groffer\~--man\~--www\~--www-viever=netscape\~ls"
+.Shell_cmd "LANG=de\~groffer\~--man\~--www\~--www-viever=mozilla\~ls"
 .
 Retrieve the German man\~page (language
 .IR de )
 for the
 .B ls
-program (the English version is used if there is no German version),
-decompress it, format it into the html format (www mode) and view the
-result in the default web browser
-.I netscape .
+program, decompress it, format it to
+.I html
+format
+.RI ( www
+mode) and view the result in the web browser
+.I galeon .
 The option
 .Opt_long man
 guarantees that the man\~page is retrieved, even when a local file
@@ -2473,28 +2980,25 @@
 .
 .
 .TP
-.Shell_cmd "groffer\~-Q\~'man:roff(7)'"
+.Shell_cmd "groffer\~--source\~'man:roff(7)'"
 .
 Get the man\~page called
 .I roff
-in man\~section 7 and print its unformatted content (source code
-because of option
-.Opt_short Q )
-on standard output.
+in man\~section 7, decompress it, and print its unformatted content,
+its source code.
 .
 .
 .TP
 .Shell_cmd "cat\~file.gz\~|\~groffer\~-Z\~-mfoo"
 .
-Decompress the standard input, switch to
+Decompress the standard input, send this to
 .I groff
-using macro package
+intermediate mode without post-processing (groff option
+.Opt_short Z ),
+using macro package by
 .I foo
 (groff option
-.Opt_short m ) in non-postprocessing mode (groff option
-.Opt_short Z );
-this produces the groff intermediate output, see
-.BR groff_out (@MAN7EXT@).
+.Opt_short m ) .
 .
 .
 .TP
@@ -2512,16 +3016,27 @@
 .
 The
 .B groffer
-shell script is compatible to both POSIX and GNU.
+shell script is compatible with both GNU and POSIX.
 .
 POSIX compatibility refers to
 .B IEEE P1003.2/D11.2
-of September 1991, a very early version of this standard.
+of September 1991, a very early version of the POSIX standard that is
+still freely available in the internet.
+.
+Unfortunately, this version of the standard has `local' for shell
+function variables removed.
+.
+As `local' is needed for serious programming this temporary POSIX
+deprecation was ignored.
+.
+.
+.P
+Most GNU shells are compatible with this interpretation of POSIX, but
+provide much more facilities.
 .
-The script uses only a quite restricted set of shell language elements
-and shell builtins, common to all POSIX versions; the only external
-program used is `sed', again only the most basic POSIX features of
-`sed' are used.
+Nevertheless this script uses only a restricted set of shell language
+elements and shell builtins, such that it can be run on `ash', a GNU
+shell that is quite fast, but has a slightly limited shell language.
 .
 The groffer script should work on most actual free and commercial
 operating systems.
@@ -2535,12 +3050,11 @@
 .
 .P
 The groffer shell script was tested with the following common
-implementations of the POSIX shell:
+implementations of the GNU shells:
 .BR ash (1),
-.BR bash (1),
-.BR ksh (1),
 POSIX
 .BR sh (1),
+.BR bash (1),
 and others.
 .
 Free POSIX compatible shells and shell utilities for most operating
@@ -2551,11 +3065,15 @@
 .P
 The best performance was obtained with the
 .I ash
-shell; so groffer tries to run under
+shell; so
+.I groffer
+tries to run under
 .I ash
 whenever possible.
 .
-If not available the shell under which the script was started in the
+If
+.I ash
+is not available the shell under which the script was started in the
 first place is used instead.
 .
 This can be modified by the option
@@ -2567,23 +3085,28 @@
 that is compatible to both POSIX
 .BR getopts (1)
 and GNU
-.BR getopt (1).
+.BR getopt (1)
+except for shortcuts of long options.
 .
-The following usual types of options are supported.
+The following standard types of options are supported.
 .
 .
 .Topic
-A single minus always refers to single character options, for example,
+A single minus always refers to single character option or a
+combination thereof, for example, the
+.I groffer
+short option combination
 .Opt_short Qmfoo
 is equivalent to
-.Opt_short Q\~\-m\~foo.
+.Opt_short Q\~\-m\~foo .
 .
 .
 .Topic
-Long options that means option with names longer than one character
-are always prededed by a double minus; an option argument can either
-go to the next command line argument or be appended with an equal sign
-to the argument; for example,
+Long options are options with names longer than one character; they
+are always prededed by a double minus.
+.
+An option argument can either go to the next command line argument or
+be appended with an equal sign to the argument; for example,
 .Opt_alt -- long=arg
 is equivalent to
 .Opt_alt -- long\~arg .
@@ -2593,7 +3116,7 @@
 An argument of
 .Opt_--
 ends option parsing; all further command line arguments are
-interpreted as filespec arguments.
+interpreted as file name arguments.
 .
 .
 .Topic
@@ -2610,8 +3133,11 @@
 .P
 This behavior can be changed by setting the environment variable
 .Env_var $POSIXLY_CORRECT
-to a non-empty value; in this case, option processing is stopped as
-soon as the first non-option argument is found.
+to a non-empty value.
+.
+Then the strange POSIX non-option behavior is adopted, i. e. option
+processing is stopped as soon as the first non-option argument is
+found and each following argument is taken as a file name.
 .
 For example, in posixly correct mode, the command line
 .Shell_cmd "groffer file1 -a -o arg file 2"
@@ -2630,27 +3156,27 @@
 .BR groff (@MAN1EXT@)
 .TP+
 .BR troff (@MAN1EXT@)
-Details on the options and environment variables available in groff;
+Details on the options and environment variables available in
+.IR groff ;
 all of them can be used with groffer.
 .
 .
 .TP
-.BR grog (@MAN1EXT@)
-Internally, groffer tries to guess the groff command line options from
-the input using this program.
-.
+.BR man (1)
+The standard program to diplay man\~pages.
 .
-.TP
-.BR groff_out (@MAN5EXT@)
-Documentation on the groff intermediate output (ditroff output).
+The information there is only useful if it is the man\~page for
+.IR "GNU\~man" .
+Then it documents the options and environment variables that are
+supported by groffer.
 .
 .
 .TP
-.BR xdvi (1)
+.BR gxditview (@MAN1EXT@)
 .TP+
-.BR dvilx (1)
+.BR xditview (1x)
 Viewers for groffer's
-.I dvi
+.I x
 mode.
 .
 .
@@ -2682,15 +3208,22 @@
 .
 .
 .TP
-.BR gxditview (@MAN1EXT@)
+.BR xdvi (1)
 .TP+
-.BR xditview (1x)
+.BR dvilx (1)
 Viewers for groffer's
-.I x
+.I dvi
 mode.
 .
 .
 .TP
+.BR less (1)
+Standard pager program for the
+.I tty
+.IR mode .
+.
+.
+.TP
 .BR gzip (1)
 .TP+
 .BR bzip2 (1)
@@ -2698,20 +3231,28 @@
 .
 .
 .TP
-.BR man (1)
-The standard program to diplay man\~pages.
+.BR groff (@MAN7EXT@)
+Documentation of the
+.I groff
+language.
 .
-The information there is only useful if it is the man\~page for
-.IR "GNU\~man" .
-Then it documents the options and environment variables that are
-supported by groffer.
+.
+.TP
+.BR grog (@MAN1EXT@)
+Internally, groffer tries to guess the groff command line options from
+the input using this program.
+.
+.
+.TP
+.BR groff_out (@MAN5EXT@)
+Documentation on the groff intermediate output (ditroff output).
 .
 .
 .\" --------------------------------------------------------------------
 .SH "AUTHOR"
 .\" --------------------------------------------------------------------
 .
-Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+Copyright (C) 2001,2002,2004 Free Software Foundation, Inc.
 .
 .P
 This document is distributed under the terms of the FDL (GNU Free
@@ -2726,8 +3267,7 @@
 .IR groff ,
 the GNU roff distribution.
 .
-It was written by
-.MTO bwarken@mayn.de "Bernd Warken" .
+It was written by Bernd Warken.
 .
 .
 \" --------------------------------------------------------------------
diff -ruN groff-1.19/contrib/groffer/groffer.sh groff-1.19.1/contrib/groffer/groffer.sh
--- groff-1.19/contrib/groffer/groffer.sh	Wed Jan 22 15:14:01 2003
+++ groff-1.19.1/contrib/groffer/groffer.sh	Tue May  4 07:03:01 2004
@@ -4,10 +4,10 @@
 
 # Source file position: /contrib/groffer/groffer.sh
 
-# Copyright (C) 2001,2002,2003 Free Software Foundation, Inc.
-# Written by Bernd Warken 
+# Copyright (C) 2001,2002,2003,2004 Free Software Foundation, Inc.
+# Written by Bernd Warken
 
-# This file is part of groff.
+# This file is part of groff version @VERSION@.
 
 # groff is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -20,33 +20,44 @@
 # 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.
-
-export _PROGRAM_NAME;
-export _PROGRAM_VERSION;
-export _LAST_UPDATE;
+# along with groff; see the files COPYING and LICENSE in the top
+# directory of the groff source.  If not, write to the Free Software
+# Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
 _PROGRAM_NAME='groffer';
-_PROGRAM_VERSION='0.9.4';
-_LAST_UPDATE='22 Jan 2003';
+_PROGRAM_VERSION='0.9.7';
+_LAST_UPDATE='30 Apr 2004';
 
-# This program is installed with groff version @VERSION@.
 
 ########################################################################
 # Determine the shell under which to run this script;
 # if `ash' is available restart the script using `ash';
 # otherwise just go on.
 
-if test "${_groffer_run}" != 'second'; then
+if test "${_groffer_run}" = ''; then
   # only reached during the first run of the script
 
-  export GROFFER_OPT;
-  export _groffer_run;
-  export _this;
-
-  _this="@BINDIR@/${_PROGRAM_NAME}";
+  export _PROGRAM_NAME;
+  export _PROGRAM_VERSION;
+  export _LAST_UPDATE;
+
+  export GROFFER_OPT;		# option environment for groffer
+  export _GROFFER_SH;		# file name of this shell script
+  export _OUTPUT_FILE_NAME;	# output generated, see main_set_res..()
+  export _groffer_run;		# counter for the runs of groffer
+
+  _groffer_run='first';
+
+  case "$0" in
+  *${_PROGRAM_NAME}*)
+    _GROFFER_SH="$0";
+    # was: _GROFFER_SH="@BINDIR@/${_PROGRAM_NAME}";
+    ;;
+  *)
+    echo "The ${_PROGRAM_NAME} script should be started directly." >&2
+    exit 1;
+    ;;
+  esac;
 
   ###########################
   # _get_opt_shell ("$@")
@@ -107,13 +118,13 @@
   if _test_on_shell "${_shell}"; then
     _groffer_run='second';
     # do not quote $_shell to allow arguments
-    exec ${_shell} "${_this}" "$@";
+    exec ${_shell} "${_GROFFER_SH}" "$@";
     exit;
   fi;
 
   # clean-up of shell determination
   unset _shell;
-  unset _this;
+  unset _GROFFER_SH;
   unset _groffer_run;
   _get_opt_shell()
   {
@@ -124,7 +135,14 @@
     return 0;
   }
 
+fi; # end of first run
+
+if test "${_groffer_run}" != 'second';
+then
+  echo "$_groffer_run should be 'second' here." >&2
+  exit 1
 fi;
+unset _groffer_run
 
 
 ########################################################################
@@ -140,146 +158,6 @@
 
 
 ########################################################################
-#                          Description
-########################################################################
-
-# Display groff files and man pages on X or tty, even when compressed.
-
-
-### Usage
-
-# Input comes from either standard input or command line parameters
-# that represent either names of exisiting roff files or standardized
-# specifications for man pages.  All of these can be compressed in a
-# format that is decompressible by `gzip'.
-
-# The following displaying modes are available:
-# - Display formatted input with the X roff viewer `gxditview',
-# - with a Prostcript viewer,
-# - with a dvi viewer,
-# - with a web browser.
-# - Display formatted input in a text terminal using a text device.
-# - Generate output for some groff device on stdout without a viewer.
-# - Output only the source code without any groff processing.
-# - Generate the troff intermediate output on standard output
-#   without groff postprocessing.
-# By default, the program tries to display with `gxditview' (1); if
-# this does not work, text display (2) is used.
-
-
-### Error handling
-
-# Error handling and exit behavior is complicated by the fact that
-# `exit' can only escape from the current shell; trouble occurs in
-# subshells.  This was solved by sending kill signals, see
-# $_PROCESS_ID and error().
-
-
-### Compatibility
-
-# This shell script is compatible to the both the GNU and the POSIX
-# shell and utilities.  Care was taken to restrict the programming
-# technics used here in order to achieve POSIX compatibility as far
-# back as POSIX P1003.2 Draft 11.2 of September 1991.
-
-# The only non-builtin used here is POSIX `sed'.  This script was
-# tested under `bash', `ash', and `ksh'.  The speed under `ash' is
-# more than double when compared to the larger shells.
-
-# This script provides its own option parser.  It is compatible to the
-# usual GNU style command line (option clusters, long options, mixing
-# of options and non-option file names), except that it is not
-# possible to abbreviate long option names.
-
-# The mixing of options and file names can be prohibited by setting
-# the environment variable `$POSIXLY_CORRECT' to a non-empty value.
-# This enables the rather wicked POSIX behavior to terminate option
-# parsing when the first non-option command line argument is found.
-
-
-########################################################################
-#            Survey of functions defined in this document
-########################################################################
-
-# The elements specified within paranthesis `(<>)' give hints to what
-# the arguments are meant to be; the argument names are irrelevant.
-# <>?     0 or 1
-# <>*     arbitrarily many such arguments, incl. none
-# <>+     one or more such arguments
-# <>      exactly 1
-
-# A function that starts with an underscore `_' is an internal
-# function for some function.  The internal functions are defined just
-# after their corresponding function; they are not mentioned in the
-# following.
-
-# abort (text>*)
-# base_name (path)
-# catz ()
-# clean_up ()
-# diag (text>*)
-# dirname_append ( [])
-# dirname_chop ()
-# do_filearg ()
-# do_nothing ()
-# echo2 (*)
-# echo2n (*)
-# error (*)
-# get_first_essential (*)
-# is_dir ()
-# is_empty ()
-# is_equal ( )
-# is_file ()
-# is_not_empty ()
-# is_not_equal ( )
-# is_not_file ()
-# is_not_prog ()
-# is_prog ()
-# is_yes ()
-# leave ()
-# landmark ()
-# list_append ( ...)
-# list_check ()
-# list_from_args (...)
-# list_from_cmdline (    [...])
-# list_from_split ( )
-# list_has ( )
-# list_has_not ( )
-# list_length ()
-#   main_*(), see after the functions
-# man_do_filespec ()
-# man_setup ()
-# man_register_file ( [ [
]]) -# man_search_section (
) -# man_set() -# manpath_add_lang( ) -# manpath_add_system() -# manpath_from_path () -# normalize_args ( *) -# path_chop () -# path_clean () -# path_contains ( ) -# path_not_contains ( ) -# path_split () -# register_file () -# register_title () -# reset () -# save_stdin () -# string_contains ( ) -# string_not_contains ( ) -# tmp_cat () -# tmp_create (?) -# to_tmp () -# trap_clean () -# trap_set () -# usage () -# version () -# warning () -# whatis () -# where () - - -######################################################################## # Environment Variables ######################################################################## @@ -299,43 +177,6 @@ ######################################################################## -# External environment variables - -# If these variables are exported here then the `ash' shell coughs -# when calling `groff' in `main_display()'. - -if test "${GROFFER_EXPORT_EXTERNALS}" = 'yes'; then - - # external system environment variables that are explicitly used - export DISPLAY; # Presets the X display. - export LANG; # For language specific man pages. - export LC_ALL; # For language specific man pages. - export LC_MESSAGES; # For language specific man pages. - export PAGER; # Paging program for tty mode. - export PATH; # Path for the programs called (: list). - - # groffer native environment variables - export GROFFER_OPT # preset options for groffer. - - # all groff environment variables are used, see groff(1) - export GROFF_BIN_PATH; # Path for all groff programs. - export GROFF_COMMAND_PREFIX; # '' (normally) or 'g' (several troffs). - export GROFF_FONT_PATH; # Path to non-default groff fonts. - export GROFF_TMAC_PATH; # Path to non-default groff macro files. - export GROFF_TMPDIR; # Directory for groff temporary files. - export GROFF_TYPESETTER; # Preset default device. - - # all GNU man environment variables are used, see man(1). - export MANOPT; # Preset options for man pages. - export MANPATH; # Search path for man pages (: list). - export MANROFFSEQ; # Ignored because of grog guessing. - export MANSECT; # Search man pages only in sections (:). - export SYSTEM; # Man pages for different OS's (, list). - -fi; - - -######################################################################## # read-only variables (global to this file) ######################################################################## @@ -404,9 +245,9 @@ _CONFFILES="/etc/groff/groffer.conf ${HOME}/.groff/groffer.conf"; export _DEFAULT_MODES; -_DEFAULT_MODES='ps,x,tty'; +_DEFAULT_MODES='x,ps,tty'; export _DEFAULT_RESOLUTION; -_DEFAULT_RESOLUTION='100'; +_DEFAULT_RESOLUTION='75'; export _DEFAULT_TTY_DEVICE; _DEFAULT_TTY_DEVICE='latin1'; @@ -415,12 +256,12 @@ # _VIEWER_* a comma-separated list of viewer programs (with options) export _VIEWER_DVI; # viewer program for dvi mode export _VIEWER_PS; # viewer program for ps mode -export _VIEWER_WWW_X; # viewer program for www mode in X -export _VIEWER_WWW_TTY; # viewer program for www mode in tty +export _VIEWER_HTML_X; # viewer program for html mode in X +export _VIEWER_HTML_TTY; # viewer program for html mode in tty _VIEWER_DVI='xdvi,dvilx'; _VIEWER_PDF='xpdf,acroread'; _VIEWER_PS='gv,ghostview,gs_x11,gs'; -_VIEWER_WWW='mozilla,netscape,opera,amaya,arena'; +_VIEWER_HTML='konqueror,mozilla,netscape,opera,amaya,arena,lynx'; _VIEWER_X='gxditview,xditview'; # Search automatically in standard sections `1' to `8', and in the @@ -458,86 +299,95 @@ export _OPTS_GROFF_SHORT_ARG; export _OPTS_GROFF_LONG_NA; export _OPTS_GROFF_LONG_ARG; +export _OPTS_X_SHORT_ARG; +export _OPTS_X_SHORT_NA; +export _OPTS_X_LONG_ARG; +export _OPTS_X_LONG_NA; export _OPTS_MAN_SHORT_ARG; export _OPTS_MAN_SHORT_NA; export _OPTS_MAN_LONG_ARG; export _OPTS_MAN_LONG_NA; -export _OPTS_GROFFER_LONG; -export _OPTS_GROFFER_SHORT; -export _OPTS_GROFF_LONG; -export _OPTS_GROFF_SHORT; +export _OPTS_MANOPT_SHORT_ARG; +export _OPTS_MANOPT_SHORT_NA; +export _OPTS_MANOPT_LONG_ARG; +export _OPTS_MANOPT_LONG_NA; export _OPTS_CMDLINE_SHORT_NA; export _OPTS_CMDLINE_SHORT_ARG; -export _OPTS_CMDLINE_SHORT; export _OPTS_CMDLINE_LONG_NA; export _OPTS_CMDLINE_LONG_ARG; -export _OPTS_CMDLINE_LONG; - -###### native groffer options +###### groffer native options _OPTS_GROFFER_SHORT_NA="'h' 'Q' 'v' 'V' 'X' 'Z'"; _OPTS_GROFFER_SHORT_ARG="'T'"; -_OPTS_GROFFER_LONG_NA="'all' 'apropos' 'ascii' 'auto' 'default' 'dvi' \ -'groff' 'help' 'intermediate-output' 'local-file' 'location' 'man' \ -'no-location' 'no-man' 'pdf' 'ps' 'rv' 'source' 'tty' 'tty-device' \ -'version' 'whatis' 'where' 'www' 'x'"; - -_OPTS_GROFFER_LONG_ARG="'background' 'bd' 'bg' 'bw' 'default-modes' \ -'device' 'display' 'dvi-viewer' 'extension' 'fg' 'fn' 'font' \ -'foreground' 'geometry' 'locale' 'manpath' 'mode' 'pager' \ -'pdf-viewer' 'ps-viewer' 'resolution' 'sections' 'shell' \ -'systems' 'title' 'troff-device' 'www-viewer' 'xrm' 'x-viewer'"; +_OPTS_GROFFER_LONG_NA="'auto' 'debug' 'default' 'dvi' \ +'groff' 'help' 'intermediate-output' 'html' 'man' \ +'no-location' 'no-man' 'pdf' 'ps' 'rv' 'source' 'text' 'text-device' \ +'title' 'tty' 'tty-device' 'version' 'whatis' 'where' 'www' 'x' 'X'"; + +_OPTS_GROFFER_LONG_ARG="\ +'apropos' 'apropos-data' 'apropos-devel' 'apropos-progs' \ +'default-modes' 'dvi-viewer' 'extension' 'fg' 'fn' 'font' \ +'foreground' 'html-viewer' 'mode' 'pdf-viewer' 'ps-viewer' 'shell' \ +'tty-viewer' 'www-viewer' 'x-viewer' 'X-viewer'"; -##### options inhereted from groff +##### groffer options inhereted from groff _OPTS_GROFF_SHORT_NA="'a' 'b' 'c' 'C' 'e' 'E' 'g' 'G' 'i' 'l' 'N' 'p' \ 'R' 's' 'S' 't' 'U' 'V' 'z'"; _OPTS_GROFF_SHORT_ARG="'d' 'f' 'F' 'I' 'L' 'm' 'M' 'n' 'o' 'P' 'r' \ 'w' 'W'"; -_OPTS_GROFF_LONG_NA=""; -_OPTS_GROFF_LONG_ARG=""; +_OPTS_GROFF_LONG_NA="'source'"; +_OPTS_GROFF_LONG_ARG="'device' 'macro-file'"; -###### man options (for parsing $MANOPT only) +##### groffer options inhereted from the X Window toolkit -_OPTS_MAN_SHORT_NA="'7' 'a' 'c' 'd' 'D' 'f' 'h' 'k' 'l' 't' 'u' \ -'V' 'w' 'Z'"; -_OPTS_MAN_SHORT_ARG="'e' 'L' 'm' 'M' 'p' 'P' 'r' 'S' 'T'"; +_OPTS_X_SHORT_NA=""; +_OPTS_X_SHORT_ARG=""; + +_OPTS_X_LONG_NA="'iconic' 'rv'"; -_OPTS_MAN_LONG_NA="'all' 'ascii' 'apropos' 'catman' 'debug' 'default' \ -'ditroff' 'help' 'local-file' 'location' 'troff' 'update' 'version' \ +_OPTS_X_LONG_ARG="'background' 'bd' 'bg' 'bordercolor' 'borderwidth' \ +'bw' 'display' 'fg' 'fn' 'font' 'foreground' 'ft', 'geometry' +'resolution' 'title' 'xrm'"; + +###### groffer options inherited from man + +_OPTS_MAN_SHORT_NA=""; +_OPTS_MAN_SHORT_ARG=""; + +_OPTS_MAN_LONG_NA="'all' 'ascii' 'catman' 'debug' 'ditroff' 'help' \ +'local-file' 'location' 'pager' 'troff' 'update' 'version' \ 'whatis' 'where'"; _OPTS_MAN_LONG_ARG="'extension' 'locale' 'manpath' \ 'pager' 'preprocessor' 'prompt' 'sections' 'systems' 'troff-device'"; -###### collections of options - -# groffer +###### additional options for parsing $MANOPT only -_OPTS_GROFFER_LONG="${_OPTS_GROFFER_LONG_ARG} ${_OPTS_GROFFER_LONG_NA}"; -_OPTS_GROFFER_SHORT=\ -"${_OPTS_GROFFER_SHORT_ARG} ${_OPTS_GROFFER_SHORT_NA}"; +_OPTS_MANOPT_SHORT_NA="'7' 'a' 'c' 'd' 'D' 'f' 'h' 'k' 'l' 't' 'u' \ +'V' 'w' 'Z'"; +_OPTS_MANOPT_SHORT_ARG="'e' 'L' 'm' 'M' 'p' 'P' 'r' 'S' 'T'"; -# groff +_OPTS_MANOPT_LONG_NA="${_OPTS_MAN_LONG_NA} \ +'apropos' 'debug' 'default' 'html' 'ignore-case' 'location-cat' \ +'match-case' 'troff' 'update' 'version' 'where-cat'"; -_OPTS_GROFF_LONG="${_OPTS_GROFF_LONG_ARG} ${_OPTS_GROFF_LONG_NA}"; -_OPTS_GROFF_SHORT="${_OPTS_GROFF_SHORT_ARG} ${_OPTS_GROFF_SHORT_NA}"; +_OPTS_MANOPT_LONG_ARG="${_OPTS_MAN_LONG_NA} \ +'config_file' 'encoding' 'locale'"; -# all command line options +###### collections of command line options -_OPTS_CMDLINE_SHORT_NA="\ -${_OPTS_GROFFER_SHORT_NA} ${_OPTS_GROFF_SHORT_NA}"; -_OPTS_CMDLINE_SHORT_ARG="\ -${_OPTS_GROFFER_SHORT_ARG} ${_OPTS_GROFF_SHORT_ARG}"; -_OPTS_CMDLINE_SHORT="${_OPTS_GROFFER_SHORT} ${_OPTS_GROFF_SHORT}"; +_OPTS_CMDLINE_SHORT_NA="${_OPTS_GROFFER_SHORT_NA}\ +${_OPTS_GROFF_SHORT_NA} ${_OPTS_X_SHORT_NA} ${_OPTS_MAN_SHORT_NA}"; +_OPTS_CMDLINE_SHORT_ARG="${_OPTS_GROFFER_SHORT_ARG} \ +${_OPTS_GROFF_SHORT_ARG} ${_OPTS_X_SHORT_ARG} ${_OPTS_MAN_SHORT_ARG}"; _OPTS_CMDLINE_LONG_NA="${_OPTS_GROFFER_LONG_NA} \ -${_OPTS_GROFF_LONG_NA} ${_OPTS_MAN_LONG_NA}"; +${_OPTS_GROFF_LONG_NA} ${_OPTS_X_LONG_NA} ${_OPTS_MAN_LONG_NA}"; _OPTS_CMDLINE_LONG_ARG="${_OPTS_GROFFER_LONG_ARG} \ -${_OPTS_GROFF_LONG_ARG} ${_OPTS_MAN_LONG_ARG}"; -_OPTS_CMDLINE_LONG="${_OPTS_GROFFER_LONG} ${_OPTS_GROFF_LONG}"; +${_OPTS_GROFF_LONG_ARG} ${_OPTS_MAN_LONG_ARG} ${_OPTS_X_LONG_ARG}"; ######################################################################## @@ -581,7 +431,10 @@ export _MANOPT_SYS; # $MANOPT --systems # _OPT_* as parsed from groffer command line export _OPT_ALL; # display all suitable man pages. -export _OPT_APROPOS; # branch to `apropos' program. +export _OPT_APROPOS; # call `apropos' program. +export _OPT_APROPOS_DATA; # `apropos' for man sections 4, 5, 7 +export _OPT_APROPOS_DEVEL; # `apropos' for man sections 2, 3, 9 +export _OPT_APROPOS_PROGS; # `apropos' for man sections 1, 6, 8 export _OPT_BD; # set border color in some modes. export _OPT_BG; # set background color in some modes. export _OPT_BW; # set border width in some modes. @@ -592,6 +445,7 @@ export _OPT_FG; # set foreground color in some modes. export _OPT_FN; # set font in some modes. export _OPT_GEOMETRY; # set size and position of viewer in X. +export _OPT_ICONIC; # -iconic option for X viewers. export _OPT_LANG; # set language for man pages export _OPT_LOCATION; # print processed file names to stderr export _OPT_MODE; # values: X, tty, Q, Z, "" @@ -602,15 +456,14 @@ export _OPT_SECTIONS; # sections for man page search export _OPT_SYSTEMS; # man pages of different OS's export _OPT_TITLE; # title for gxditview window -export _OPT_TTY_DEVICE; # set device for tty mode. +export _OPT_TEXT_DEVICE; # set device for tty mode. export _OPT_V; # groff option -V. export _OPT_VIEWER_DVI; # viewer program for dvi mode export _OPT_VIEWER_PDF; # viewer program for pdf mode export _OPT_VIEWER_PS; # viewer program for ps mode -export _OPT_VIEWER_WWW; # viewer program for www mode +export _OPT_VIEWER_HTML; # viewer program for html mode export _OPT_VIEWER_X; # viewer program for x mode export _OPT_WHATIS; # print the one-liner man info -export _OPT_X; # groff option -X. export _OPT_XRM; # specify X resource. export _OPT_Z; # groff option -Z. # _TMP_* temporary files @@ -723,7 +576,10 @@ # _OPT_* as parsed from groffer command line _OPT_ALL='no'; - _OPT_APROPOS='no'; + _OPT_APROPOS=''; + _OPT_APROPOS_DATA=''; + _OPT_APROPOS_DEVEL=''; + _OPT_APROPOS_PROGS=''; _OPT_BD=''; _OPT_BG=''; _OPT_BW=''; @@ -734,25 +590,25 @@ _OPT_FG=''; _OPT_FN=''; _OPT_GEOMETRY=''; + _OPT_ICONIC='no'; _OPT_LANG=''; _OPT_LOCATION='no'; _OPT_MODE=''; _OPT_MANPATH=''; _OPT_PAGER=''; _OPT_RESOLUTION=''; - _OPT_RV=''; + _OPT_RV='no'; _OPT_SECTIONS=''; _OPT_SYSTEMS=''; _OPT_TITLE=''; - _OPT_TTY_DEVICE=''; + _OPT_TEXT_DEVICE=''; _OPT_V='no'; _OPT_VIEWER_DVI=''; _OPT_VIEWER_PDF=''; _OPT_VIEWER_PS=''; - _OPT_VIEWER_WWW=''; + _OPT_VIEWER_HTML=''; _OPT_VIEWER_X=''; _OPT_WHATIS='no'; - _OPT_X='no'; _OPT_XRM=''; _OPT_Z='no'; @@ -1194,10 +1050,27 @@ ######################################################################## +# apropos_run () +# +# +apropos_run() { + func_check apropos_run = 1 "$@"; + if apropos apropos >/dev/null 2>/dev/null; then + apropos "$1"; + elif man --apropos man >/dev/null 2>/dev/null; then + man --apropos "$1"; + elif man -k man >/dev/null 2>/dev/null; then + man -k "$1"; + fi; +} + + +######################################################################## # base_name () # # Get the file name part of , i.e. delete everything up to last -# `/' from the beginning of . +# `/' from the beginning of . Remove final slashes, too, to get a +# non-empty output. # # Arguments : 1 # Output : the file name part (without slashes) @@ -1205,16 +1078,24 @@ base_name() { func_check base_name = 1 "$@"; - case "$1" in + local f; + f="$1"; + case "$f" in */) - do_nothing; + # delete all final slashes + f="$(echo -n "$f" | sed -e '\|//*$|s|||')"; + ;; + esac; + case "$f" in + /|'') + eval "${return_bad}"; ;; */*) # delete everything before and including the last slash `/'. - echo -n "$1" | sed -e '\|^.*//*\([^/]*\)$|s||\1|'; + echo -n "$f" | sed -e '\|^.*//*\([^/]*\)$|s||\1|'; ;; *) - echo -n "$1"; + echo -n "$f"; ;; esac; eval "${return_ok}"; @@ -1243,7 +1124,7 @@ error 'catz(): for standard input use save_stdin()'; ;; esac; - if is_yes "${_HAS_BZIP}"; then + if obj _HAS_BZIP is_yes; then if bzip2 -t "$1" 2>/dev/null; then bzip2 -c -d "$1" 2>/dev/null; eval "${return_ok}"; @@ -1373,8 +1254,8 @@ set -- 'File'; ;; *) - if is_yes "${_MAN_ENABLE}"; then - if is_yes "${_MAN_FORCE}"; then + if obj _MAN_ENABLE is_yes; then + if obj _MAN_FORCE is_yes; then set -- 'Manpage' 'File'; else set -- 'File' 'Manpage'; @@ -1400,7 +1281,7 @@ fi; ;; Manpage) # parse filespec as man page - if is_not_yes "${_MAN_IS_SETUP}"; then + if obj _MAN_IS_SETUP is_not_yes; then man_setup; fi; if man_do_filespec "${_filespec}"; then @@ -1499,11 +1380,11 @@ { func_check get_first_essential '>=' 0 "$@"; local i; - if test "$#" -eq 0; then + if is_equal "$#" 0; then eval "${return_ok}"; fi; for i in "$@"; do - if is_not_empty "$i"; then + if obj i is_not_empty; then echo -n "$i"; eval "${return_ok}"; fi; @@ -1527,12 +1408,10 @@ is_dir() { func_check is_dir = 1 "$@"; - if is_not_empty "$1" && test -d "$1" && test -r "$1"; then + if test -d "$1" && test -r "$1"; then eval "${return_yes}"; - else - eval "${return_no}"; fi; - eval "${return_ok}"; + eval "${return_no}"; } @@ -1547,12 +1426,10 @@ is_empty() { func_check is_empty = 1 "$@"; - if test -z "$1"; then + if test "$1" = ''; then eval "${return_yes}"; - else - eval "${return_no}"; fi; - eval "${return_ok}"; + eval "${return_no}"; } @@ -1569,10 +1446,8 @@ func_check is_equal = 2 "$@"; if test "$1" = "$2"; then eval "${return_yes}"; - else - eval "${return_no}"; fi; - eval "${return_ok}"; + eval "${return_no}"; } @@ -1587,12 +1462,32 @@ is_file() { func_check is_file = 1 "$@"; - if is_not_empty "$1" && test -f "$1" && test -r "$1"; then + if test -f "$1" && test -r "$1"; then eval "${return_yes}"; - else - eval "${return_no}"; fi; - eval "${return_ok}"; + eval "${return_no}"; +} + + +######################################################################## +# is_non_empty_file () +# +# Test whether `file_name' is a non-empty existing file. +# +# Arguments : <=1 +# Return : +# `0' if arg1 is a non-empty existing file +# `1' otherwise +# +is_non_empty_file() +{ + func_check is_empty = 1 "$@"; + if is_file "$1"; then + if is_not_empty "$(cat "$1" | sed -e '/./q')"; then + eval "${return_yes}"; + fi; + fi; + eval "${return_no}"; } @@ -1609,10 +1504,8 @@ func_check is_not_dir = 1 "$@"; if is_dir "$1"; then eval "${return_no}"; - else - eval "${return_yes}"; fi; - eval "${return_ok}"; + eval "${return_yes}"; } @@ -1629,17 +1522,15 @@ func_check is_not_empty = 1 "$@"; if is_empty "$1"; then eval "${return_no}"; - else - eval "${return_yes}"; fi; - eval "${return_ok}"; + eval "${return_yes}"; } ######################################################################## # is_not_equal ( ) # -# Test whether `string1' and differ. +# Test whether `string1' differs from `string2'. # # Arguments : 2 # @@ -1648,10 +1539,8 @@ func_check is_not_equal = 2 "$@"; if is_equal "$1" "$2"; then eval "${return_no}"; - else - eval "${return_yes}"; - fi; - eval "${return_ok}"; + fi + eval "${return_yes}"; } @@ -1667,10 +1556,8 @@ func_check is_not_file '>=' 1 "$@"; if is_file "$1"; then eval "${return_no}"; - else - eval "${return_yes}"; fi; - eval "${return_ok}"; + eval "${return_yes}"; } @@ -1687,10 +1574,25 @@ func_check is_not_prog '>=' 1 "$@"; if where "$1" >/dev/null; then eval "${return_no}"; - else - eval "${return_yes}"; fi; - eval "${return_ok}"; + eval "${return_yes}"; +} + + +######################################################################## +# is_not_writable () +# +# Test whether `name' is a not a writable file or directory. +# +# Arguments : >=1 (empty allowed), more args are ignored +# +is_not_writable() +{ + func_check is_not_writable '>=' 1 "$@"; + if is_writable "$1"; then + eval "${return_no}"; + fi; + eval "${return_yes}"; } @@ -1704,12 +1606,10 @@ is_not_yes() { func_check is_not_yes = 1 "$@"; - if test "$1" = 'yes'; then + if is_yes "$1"; then eval "${return_no}"; - else - eval "${return_yes}"; fi; - eval "${return_ok}"; + eval "${return_yes}"; } @@ -1718,18 +1618,42 @@ # # Determine whether arg is a program in $PATH # -# Arguments : >=1 (empty allowed) +# Arguments : >=0 (empty allowed) # more args are ignored, this allows to specify progs with arguments # is_prog() { - func_check is_prog '>=' 1 "$@"; - if where "$1" >/dev/null; then - eval "${return_yes}"; - else + func_check is_prog '>=' 0 "$@"; + case "$#" in + 0) eval "${return_no}"; + ;; + *) + if where "$1" >/dev/null; then + eval "${return_yes}"; + fi; + ;; + esac + eval "${return_no}"; +} + + +######################################################################## +# is_writable () +# +# Test whether `name' is a writable file or directory. +# +# Arguments : >=1 (empty allowed), more args are ignored +# +is_writable() +{ + func_check is_writable '>=' 1 "$@"; + if test -r "$1"; then + if test -w "$1"; then + eval "${return_yes}"; + fi; fi; - eval "${return_ok}"; + eval "${return_no}"; } @@ -1744,12 +1668,10 @@ is_yes() { func_check is_yes = 1 "$@"; - if test "$1" = 'yes'; then + if is_equal "$1" 'yes'; then eval "${return_yes}"; - else - eval "${return_no}"; fi; - eval "${return_ok}"; + eval "${return_no}"; } @@ -1778,132 +1700,55 @@ ######################################################################## landmark '6: list_*()'; ######################################################################## +# +# `list' is an object class that represents an array or list. Its +# data consists of space-separated single-quoted elements. So a list +# has the form "'first' 'second' '...' 'last'". See list_append() for +# more details on the list structure. The array elements of `list' +# can be get by `set -- $list`. + ######################################################################## # list_append ( ...) # # Arguments: >=2 -# : a space-separated list of single-quoted elements. -# : some sequence of characters. -# Output: +# : a variable name for a list of single-quoted elements +# : some sequence of characters. +# Output: none, but $ is set to # if is empty: "'' '...'" -# otherwise: " '' ..." +# otherwise: "$list '' ..." # list_append() { func_check list_append '>=' 2 "$@"; local _element; - local _res; - _res="$1"; + local _list; + local _name; + _name="$1"; + eval _list='"${'$1'}"'; shift; for s in "$@"; do case "$s" in - *\'*) - # escape each single quote by replacing each "'" (squote) - # by "'\''" (squote bslash squote squote); - # note that the backslash must be doubled for `sed'. - _element="$(echo -n "$s" | sed -e 's/'"${_SQUOTE}"'/&\\&&/g')"; - ;; - *) - _element="$s"; - ;; - esac; - _res="${_res} '${_element}'"; - done; - echo -n "${_res}"; - eval "${return_ok}"; -} - - -######################################################################## -# list_check () -# -# Check whether is a space-separated list of '-quoted elements. -# -# If the test fails an error is raised. -# If the test succeeds the argument is echoed. -# -# Testing criteria: -# A list has the form "'first' 'second' '...' 'last'". -# So it has a leading and a final quote and the elements are separated -# by "' '" constructs. If these are all removed there should not be -# any single-quotes left. Watch out for escaped single quotes; they -# have the form '\'' (sq bs sq sq). -# -# Arguments: 1 -# Output: the argument unchanged, it the check succeeded. -# -list_check() -{ - func_check list_check = 1 "$@"; - local _list; - if is_empty "$1"; then - eval "${return_ok}"; - fi; - case "$1" in - \'*\') _list="$1"; ;; - *) - error "list_check() bad list: $1" + *\'*) + # escape each single quote by replacing each + # "'" (squote) by "'\''" (squote bslash squote squote); + # note that the backslash must be doubled in the following `sed' + _element="$(echo -n "$s" | sed -e 's/'"${_SQUOTE}"'/&\\&&/g')"; ;; - esac; - # Remove leading single quote, - # remove final single quote, - # remove escaped single quotes (squote bslash squote squote) - # [note that `sed' doubles the backslash (bslash bslash)], - # remove field separators (squote space squote). - _list="$(echo -n "${_list}" \ - | sed -e 's/^'"${_SQUOTE}"'//' \ - | sed -e 's/'"${_SQUOTE}"'$//' \ - | sed -e \ - 's/'"${_SQUOTE}${_BSLASH}${_BSLASH}${_SQUOTE}${_SQUOTE}"'//g' \ - | sed -e 's/'"${_SQUOTE}${_SPACE}${_SPACE}"'*'"${_SQUOTE}"'//g')"; - case "${_list}" in - *\'*) # criterium fails if squote is left - error 'list_check() bad list: '"${_list}"; + '') + _element=""; ;; - esac; - echo -n "$1"; - eval "${return_ok}"; -} - - -######################################################################## -# list_element_from_arg () -# -# Arguments: 1 -# : some sequence of characters (also single quotes allowed). -# Output: the list element generated from . -# -list_element_from_arg() -{ - func_check list_element_from_arg = 1 "$@"; - local _res; - echo -n "'"; - # replace each single quote "'" by "'\''". - echo -n "$1" | sed -e 's/'\''/&\\&&/g'; # ' for emacs - echo -n "'"; - eval "${return_ok}"; -} - - -######################################################################## -# list_from_args (...) -# -# Generate a space-separated list of single-quoted elements from args. -# -# Arguments: -# : some sequence of characters. -# Output: "'' '...'" -# -list_from_args() -{ - func_check list_from_args '>=' 1 "$@"; - local _list; - _list=""; - for s in "$@"; do - _list="$(list_append "${_list}" "$s")"; + *) + _element="$s"; + ;; + esac; + if obj _list is_empty; then + _list="'${_element}'"; + else + _list="${_list} '${_element}'"; + fi; done; - echo -n "${_list}"; + eval "${_name}"='"${_list}"'; eval "${return_ok}"; } @@ -1922,7 +1767,8 @@ # : space-separated list of short options that have an arg. # : space-separated list of long options without an arg. # : space-separated list of long options that have an arg. -# ...: the arguments from the command line (by "$@"). +# ...: the arguments from a command line, such as "$@", +# the content of a variable, or direct arguments. # # Globals: $POSIXLY_CORRECT (only kept for compatibility). # @@ -1937,7 +1783,8 @@ # # Rationale: # In POSIX, the first non-option ends the option processing. -# In GNU mode (default), non-options are sorted behind the options. +# In GNU mode, used by default, non-option arguments are sorted +# behind the options. # # Use this function only in the following way: # eval set -- "$(args_norm '...' '...' '...' '...' "$@")"; @@ -1960,13 +1807,13 @@ local _long_n; local _short_a; local _short_n; - _short_n="$(list_check "$1")"; # short options, no argument - _short_a="$(list_check "$2")"; # short options with argument - _long_n="$(list_check "$3")"; # long options, no argument - _long_a="$(list_check "$4")"; # long options with argument + _short_n="$(list_get "$1")"; # short options, no argument + _short_a="$(list_get "$2")"; # short options with argument + _long_n="$(list_get "$3")"; # long options, no argument + _long_a="$(list_get "$4")"; # long options with argument shift 4; _fn='list_from_cmdline():'; # for error messages - if test "$#" -eq 0; then + if is_equal "$#" 0; then echo -n "'--'"; eval "${return_ok}"; fi; @@ -1980,63 +1827,48 @@ --?*) # delete leading '--'; _opt="$(echo -n "${_arg}" | sed -e 's/^..//')"; - if list_has "${_long_n}" "${_opt}"; then + if list_has _long_n "${_opt}"; then # long option, no argument - _result="$(list_append "${_result}" "--${_opt}")"; - continue; - fi; - if list_has "${_long_a}" "${_opt}"; then - # long option with argument - _result="$(list_append "${_result}" "--${_opt}")"; - if test "$#" -le 0; then - error "${_fn} no argument for option --${_opt}." - fi; - _result="$(list_append "${_result}" "$1")"; - shift; + list_append _result "--${_opt}"; continue; fi; # test on `--opt=arg' if string_contains "${_opt}" '='; then # extract option by deleting from the first '=' to the end _lopt="$(echo -n "${_opt}" | sed -e 's/=.*$//')"; - if list_has "${_long_a}" "${_lopt}"; then + if list_has _long_a "${_lopt}"; then # get the option argument by deleting up to first `=' _optarg="$(echo -n "${_opt}" | sed -e 's/^[^=]*=//')"; - _result="$(list_append "${_result}" \ - "--${_lopt}" "${_optarg}")"; + list_append _result "--${_lopt}" "${_optarg}"; continue; fi; fi; + if list_has _long_a "${_opt}"; then + # long option with argument + if test "$#" -le 0; then + error "${_fn} no argument for option --${_opt}." + fi; + list_append _result "--${_opt}" "$1"; + shift; + continue; + fi; error "${_fn} --${_opt} is not an option." ;; -?*) # short option (cluster) # delete leading `-'; - _rest="$(echo -n "${_arg}" | sed -e 's/^.//')"; - while is_not_empty "${_rest}"; do + _rest="$(echo -n "${_arg}" | sed -e 's/^-//')"; + while obj _rest is_not_empty; do # get next short option from cluster (first char of $_rest) _optchar="$(echo -n "${_rest}" | sed -e 's/^\(.\).*$/\1/')"; # remove first character from ${_rest}; _rest="$(echo -n "${_rest}" | sed -e 's/^.//')"; - if list_has "${_short_n}" "${_optchar}"; then - _result="$(list_append "${_result}" "-${_optchar}")"; + if list_has _short_n "${_optchar}"; then + list_append _result "-${_optchar}"; continue; - elif list_has "${_short_a}" "${_optchar}"; then - # remove leading character - case "${_optchar}" in - /) - _rest="$(echo -n "${_rest}" | sed -e '\|^.|s|||')"; - ;; - ?) - _rest="$(echo -n "${_rest}" | sed -e 's/^.//')"; - ;; - ??*) - error "${_fn} several chars parsed for short option." - ;; - esac; - if is_empty "${_rest}"; then + elif list_has _short_a "${_optchar}"; then + if obj _rest is_empty; then if test "$#" -ge 1; then - _result="$(list_append "${_result}" \ - "-${_optchar}" "$1")"; + list_append _result "-${_optchar}" "$1"; shift; continue; else @@ -2044,8 +1876,7 @@ "${_fn}"' no argument for option -'"${_optchar}." fi; else # rest is the argument - _result="$(list_append "${_result}" \ - "-${_optchar}" "${_rest}")"; + list_append _result "-${_optchar}" "${_rest}"; _rest=''; continue; fi; @@ -2059,19 +1890,19 @@ # When $POSIXLY_CORRECT is set this ends option parsing; # otherwise, the argument is stored as a file parameter and # option processing is continued. - _fparams="$(list_append "${_fparams}" "${_arg}")"; - if is_not_empty "$POSIXLY_CORRECT"; then + list_append _fparams "${_arg}"; + if obj POSIXLY_CORRECT is_not_empty; then break; fi; ;; esac; done; - _result="$(list_append "${_result}" '--')"; - if is_not_empty "${_fparams}"; then + list_append _result '--'; + if obj _fparams is_not_empty; then _result="${_result} ${_fparams}"; fi; if test "$#" -gt 0; then - _result="$(list_append "${_result}" "$@")"; + list_append _result "$@"; fi; echo -n "$_result"; eval "${return_ok}"; @@ -2079,30 +1910,14 @@ ######################################################################## -# list_from_lists ( ...) -# -# Generate a list from the concatenation of the lists in the arguments. -# -# Arguments: >=2 -# : string of space-separated single-quoted elements. -# Output: "'' ..." -# -list_from_lists() -{ - func_check list_from_lists '>=' 2 "$@"; - _list=''; - echo -n "$*"; - eval "${return_ok}"; -} - -######################################################################## # list_from_split ( ) # -# In escape white space and replace each by space. +# In , escape all white space characters and replace each +# by space. # # Arguments: 2: a that is to be split into parts divided by # -# Output: the resulting string +# Output: the resulting list string # list_from_split() { @@ -2129,22 +1944,65 @@ ######################################################################## -# list_has ( ) +# list_get () +# +# Check whether is a space-separated list of '-quoted elements. +# +# If the test fails an error is raised. +# If the test succeeds the argument is echoed. +# +# Testing criteria: +# A list has the form "'first' 'second' '...' 'last'". So it has a +# leading and a final quote and the elements are separated by "' '" +# constructs. If these are all removed there should not be any +# unescaped single-quotes left. Watch out for escaped single +# quotes; they have the form '\'' (sq bs sq sq). + +# Arguments: 1 +# Output: the argument unchanged, if the check succeeded. +# +list_get() +{ + func_check list_get = 1 "$@"; + local _list; + eval _list='"${'$1'}"'; + # remove leading and final space characters + _list="$(echo -n "${_list}" | \ + sed -e '/^['"${_SPACE}${_TAB}"']*/s///' | \ + sed -e '/['"${_SPACE}${_TAB}"']*$/s///')"; + case "${_list}" in + '') + eval "${return_ok}"; + ;; + \'*\') + echo -n "${_list}"; + eval "${return_ok}"; + ;; + *) + error "list_get(): bad list: $1" + ;; + esac; + eval "${return_ok}"; +} + + +######################################################################## +# list_has ( ) # # Arguments: 2 -# : a space-separated list of single-quoted elements. -# : some sequence of characters. +# : a variable name for a list of single-quoted elements +# : some sequence of characters. # Output: # if is empty: "'' '...'" -# otherwise: " '' ..." +# otherwise: "list '' ..." # list_has() { func_check list_has = 2 "$@"; - if is_empty "$1"; then + eval _list='"${'$1'}"'; + if obj _list is_empty; then eval "${return_no}"; fi; - _list="$1"; _element="$2"; case "$2" in \'*\') _element="$2"; ;; @@ -2172,10 +2030,10 @@ list_has_not() { func_check list_has_not = 2 "$@"; - if is_empty "$1"; then + eval _list='"${'$1'}"'; + if obj _list is_empty; then eval "${return_yes}"; fi; - _list="$1"; _element="$2"; case "$2" in \'*\') _element="$2"; ;; @@ -2191,50 +2049,6 @@ ######################################################################## -# list_length () -# -# Arguments: 1 -# : a space-separated list of single-quoted elements. -# Output: the number of elements in -# -list_length() -{ - func_check list_length = 1 "$@"; - eval set -- "$1"; - echo -n "$#"; - eval "${return_ok}"; -} - - -######################################################################## -# list_prepend ( ...) -# -# Insert new at the beginning of -# -# Arguments: >=2 -# : a space-separated list of single-quoted elements. -# : some sequence of characters. -# Output: -# if is empty: "'' ..." -# otherwise: "'' ... " -# -list_prepend() -{ - func_check list_prepend '>=' 2 "$@"; - local _res; - _res="$1"; - shift; - for s in "$@"; do - # escape single quotes in list style (squote bslash squote squote). - _element="$(echo -n "$s" | sed -e 's/'\''/&\\&&/g')"; - _res="'${_element}' ${_res}"; - done; - echo -n "${_res}"; - eval "${return_ok}"; -} - - -######################################################################## landmark '7: man_*()'; ######################################################################## @@ -2266,7 +2080,7 @@ local _spec; local _string; local s; - if is_empty "${_MAN_PATH}"; then + if obj _MAN_PATH is_empty; then eval "${return_bad}"; fi; if is_empty "$1"; then @@ -2285,11 +2099,11 @@ _section="$(echo -n "${_spec}" \ | sed -e 's/^man:\(..*\)(\(..*\))$/\2/')"; ;; - man:?*.?*) # man:name.section + man:?*.[0-9on]) # man:name.section _name="$(echo -n "${_spec}" \ - | sed -e 's/^man:\(..*\)\.\(..*\)$/\1/')"; + | sed -e 's/^man:\(..*\)\..$/\1/')"; _section="$(echo -n "${_spec}" \ - | sed -e 's/^man:\(..*\)\.\(..*\)$/\2/')"; + | sed -e 's/^.*\(.\)$/\1/')"; ;; man:?*) # man:name _name="$(echo -n "${_spec}" | sed -e 's/^man://')"; @@ -2300,25 +2114,25 @@ _section="$(echo -n "${_spec}" \ | sed -e 's/^\(..*\)(\(..*\))$/\2/')"; ;; - ?*.?*) # name.section + ?*.[0-9on]) # name.section _name="$(echo -n "${_spec}" \ - | sed -e 's/^\(..*\)\.\(..*\)$/\1/')"; + | sed -e 's/^\(..*\)\..$/\1/')"; _section="$(echo -n "${_spec}" \ - | sed -e 's/^\(..*\)\.\(..*\)$/\2/')"; + | sed -e 's/^.*\(.\)$/\1/')"; ;; ?*) _name="${_filespec}"; ;; esac; - if is_empty "${_name}"; then + if obj _name is_empty; then eval "${return_bad}"; fi; _got_one='no'; - if is_empty "${_section}"; then + if obj _section is_empty; then eval set -- "${_MAN_AUTO_SEC}"; for s in "$@"; do if man_search_section "${_name}" "$s"; then # found - if is_yes "${_MAN_ALL}"; then + if obj _MAN_ALL is_yes; then _got_one='yes'; else eval "${return_good}"; @@ -2332,7 +2146,7 @@ eval "${return_bad}"; fi; fi; - if is_yes "${_MAN_ALL}" && is_yes "${_got_one}"; then + if obj _MAN_ALL is_yes && is_yes "${_got_one}"; then eval "${return_good}"; fi; eval "${return_bad}"; @@ -2366,7 +2180,7 @@ eval "${return_ok}"; ;; 3) - register_title "$2($3)"; + register_title "$2.$3"; eval "${return_ok}"; ;; esac; @@ -2394,7 +2208,7 @@ local _section; local d; local f; - if is_empty "${_MAN_PATH}"; then + if obj _MAN_PATH is_empty; then eval "${return_bad}"; fi; if is_empty "$1"; then @@ -2407,16 +2221,16 @@ _section="$2"; eval set -- "$(path_split "${_MAN_PATH}")"; _got_one='no'; - if is_empty "${_MAN_EXT}"; then + if obj _MAN_EXT is_empty; then for d in "$@"; do _dir="$(dirname_append "$d" "man${_section}")"; - if is_dir "${_dir}"; then + if obj _dir is_dir; then _prefix="$(dirname_append "${_dir}" "${_name}.${_section}")"; for f in $(echo -n ${_prefix}*); do - if is_file "$f"; then + if obj f is_file; then if is_yes "${_got_one}"; then register_file "$f"; - elif is_yes "${_MAN_ALL}"; then + elif obj _MAN_ALL is_yes; then man_register_file "$f" "${_name}"; else man_register_file "$f" "${_name}" "${_section}"; @@ -2432,13 +2246,13 @@ # check for directory name having trailing extension for d in "$@"; do _dir="$(dirname_append $d man${_section}${_ext})"; - if is_dir "${_dir}"; then + if obj _dir is_dir; then _prefix="$(dirname_append "${_dir}" "${_name}.${_section}")"; for f in ${_prefix}*; do - if is_file "$f"; then + if obj f is_file; then if is_yes "${_got_one}"; then register_file "$f"; - elif is_yes "${_MAN_ALL}"; then + elif obj _MAN_ALL is_yes; then man_register_file "$f" "${_name}"; else man_register_file "$f" "${_name}" "${_section}"; @@ -2452,14 +2266,14 @@ # check for files with extension in directories without extension for d in "$@"; do _dir="$(dirname_append "$d" "man${_section}")"; - if is_dir "${_dir}"; then + if obj _dir is_dir; then _prefix="$(dirname_append "${_dir}" \ "${_name}.${_section}${_ext}")"; for f in ${_prefix}*; do - if is_file "$f"; then + if obj f is_file; then if is_yes "${_got_one}"; then register_file "$f"; - elif is_yes "${_MAN_ALL}"; then + elif obj _MAN_ALL is_yes; then man_register_file "$f" "${_name}"; else man_register_file "$f" "${_name}" "${_section}"; @@ -2471,7 +2285,7 @@ fi; done; fi; - if is_yes "${_MAN_ALL}" && is_yes "${_got_one}"; then + if obj _MAN_ALL is_yes && is_yes "${_got_one}"; then eval "${return_good}"; fi; eval "${return_bad}"; @@ -2505,35 +2319,35 @@ func_check main_man_setup = 0 "$@"; local _lang; - if is_yes "${_MAN_IS_SETUP}"; then + if obj _MAN_IS_SETUP is_yes; then eval "${return_ok}"; fi; _MAN_IS_SETUP='yes'; - if is_not_yes "${_MAN_ENABLE}"; then + if obj _MAN_ENABLE is_not_yes; then eval "${return_ok}"; fi; # determine basic path for man pages _MAN_PATH="$(get_first_essential \ "${_OPT_MANPATH}" "${_MANOPT_PATH}" "${MANPATH}")"; - if is_empty "${_MAN_PATH}"; then - if is_prog 'manpath'; then - _MAN_PATH="$(manpath 2>/dev/null)"; # not always available - fi; - fi; - if is_empty "${_MAN_PATH}"; then + if obj _MAN_PATH is_empty; then manpath_set_from_path; else _MAN_PATH="$(path_clean "${_MAN_PATH}")"; fi; - if is_empty "${_MAN_PATH}"; then + if obj _MAN_PATH is_empty; then + if is_prog 'manpath'; then + _MAN_PATH="$(manpath 2>/dev/null)"; # not always available + fi; + fi; + if obj _MAN_PATH is_empty; then _MAN_ENABLE="no"; eval "${return_ok}"; fi; _MAN_ALL="$(get_first_essential "${_OPT_ALL}" "${_MANOPT_ALL}")"; - if is_empty "${_MAN_ALL}"; then + if obj _MAN_ALL is_empty; then _MAN_ALL='no'; fi; @@ -2562,7 +2376,7 @@ _MAN_SEC="$(get_first_essential \ "${_OPT_SECT}" "${_MANOPT_SEC}" "${MANSEC}")"; - if is_empty "${_MAN_PATH}"; then + if obj _MAN_PATH is_empty; then _MAN_ENABLE="no"; eval "${return_ok}"; fi; @@ -2596,7 +2410,7 @@ func_check manpath_add_lang_sys = 0 "$@"; local p; local _mp; - if is_empty "${_MAN_PATH}"; then + if obj _MAN_PATH is_empty; then eval "${return_ok}"; fi; # twice test both sys and lang @@ -2623,16 +2437,14 @@ # argument: 2: `man_path' and `dir' # output: colon-separated path of the retrieved subdirectories # + func_check _manpath_add_lang_sys_single = 2 "$@"; local d; -# if test "$#" -ne 2; then -# error "manpath_add_system_single() needs 2 arguments."; -# fi; _res="$1"; _parent="$2"; eval set -- "$(list_from_split "${_MAN_SYS}" ',')"; for d in "$@" "${_MAN_LANG}" "${_MAN_LANG2}"; do _dir="$(dirname_append "${_parent}" "$d")"; - if path_not_contains "${_res}" "${_dir}" && is_dir "${_dir}"; then + if obj _res path_not_contains "${_dir}" && obj _dir is_dir; then _res="${_res}:${_dir}"; fi; done; @@ -2667,7 +2479,7 @@ _manpath=''; # get a basic man path from $PATH - if is_not_empty "${PATH}"; then + if obj PATH is_not_empty; then eval set -- "$(path_split "${PATH}")"; for d in "$@"; do # delete the final `/bin' part @@ -2687,7 +2499,7 @@ /usr/X11R6/man /usr/openwin/man \ /opt/share/man /opt/man \ /opt/gnome/man /opt/kde/man; do - if path_not_contains "${_manpath}" "$d" && is_dir "$d"; then + if obj _manpath path_not_contains "$d" && obj d is_dir; then _manpath="${_manpath}:$d"; fi; done; @@ -2698,8 +2510,106 @@ ######################################################################## -landmark '9: path_*()'; +landmark '9: obj_*()'; +######################################################################## + +######################################################################## +# obj ( ...) +# +# This works like a method (object function) call for an object. +# Run " $ ...". +# +# The first argument represents an object whose data is given as first +# argument to (). +# +# Argument: >=2 +# : variable name +# : a program or function name +# +obj() +{ + func_check obj '>=' 2 "$@"; + local func; + local var; + if is_empty "$2"; then + error "obj(): function name is empty." + else + func="$2"; + fi; + eval arg1='"${'$1'}"'; + shift; + shift; + eval "${func}"' "${arg1}" "$@"'; +} + + +######################################################################## +# obj_data () +# +# Print the data of , i.e. the content of $. +# For possible later extensions. +# +# Arguments: 1 +# : a variable name +# Output: the data of +# +obj_data() +{ + func_check obj '=' 1 "$@"; + if is_empty "$1"; then + error "obj_data(): object name is empty." + fi; + eval echo -n '"${'$1'}"'; +} + + +######################################################################## +# obj_from_output ( ...) +# +# Run '$="$( ...)"' to set the result of a +# function call to a global variable. +# +# Arguments: >=2 +# : a variable name +# : the name of a function or program +# : optional argument to +# Output: none +# +obj_from_output() +{ + func_check obj_from_output '>=' 2 "$@"; + local result_name; + if is_empty "$1"; then + error "res(): variable name is empty."; + elif is_empty "$2"; then + error "res(): function name is empty." + else + result_name="$1"; + fi; + shift; + eval "${result_name}"'="$('"$@"')"'; +} + + ######################################################################## +# obj_set ( ) +# +# Set the data of , i.e. call "$=". +# +# Arguments: 2 +# : a variable name +# : a string +# Output:: none +# +obj_set() +{ + func_check obj_set '=' 2 "$@"; + if is_empty "$1"; then + error "obj_set(): object name is empty." + fi; + eval "$1"='"$2"'; +} + ######################################################################## # path_chop () @@ -2738,16 +2648,16 @@ local _dir; local _res; local i; - if test "$#" -ne 1; then + if is_not_equal "$#" 1; then error 'path_clean() needs 1 argument.'; fi; _arg="$1"; eval set -- "$(path_split "${_arg}")"; _res=""; for i in "$@"; do - if is_not_empty "$i" \ - && path_not_contains "${_res}" "$i" \ - && is_dir "$i"; + if obj i is_not_empty \ + && obj _res path_not_contains "$i" \ + && obj i is_dir; then case "$i" in ?*/) _res="${_res}$(dirname_chop "$i")"; ;; @@ -2822,15 +2732,6 @@ ######################################################################## -# reset () -# -# Reset the variables that can be affected by options to their default. -# -# -# Defined in section `Preset' after the rudimentary shell tests. - - -######################################################################## landmark '10: register_*()'; ######################################################################## @@ -2880,7 +2781,7 @@ # remove extension `.Z' _title="$(echo -n "${_title}" | sed -e 's/\.Z$//')"; - if is_empty "${_title}"; then + if obj _title is_empty; then eval "${return_ok}"; fi; _REGISTERED_TITLE="${_REGISTERED_TITLE} ${_title}"; @@ -2889,11 +2790,20 @@ ######################################################################## +# reset () +# +# Reset the variables that can be affected by options to their default. +# +# +# Defined in section `Preset' after the rudimentary shell tests. + + +######################################################################## # save_stdin () # # Store standard input to temporary file (with decompression). # -if test "${_HAS_COMPRESSION}" = 'yes'; then +if obj _HAS_COMPRESSION is_yes; then save_stdin() { local _f; @@ -2990,7 +2900,8 @@ { func_check tmp_create '<=' 1 "$@"; local _tmp; - _tmp="${_TMP_DIR}/$1"; + # the output file does not have `,' as first character + _tmp="${_TMP_DIR}/,$1"; echo -n >"${_tmp}"; echo -n "${_tmp}"; # output file name eval "${return_ok}"; @@ -3006,10 +2917,10 @@ { func_check to_tmp = 1 "$@"; if is_file "$1"; then - if is_yes "${_OPT_LOCATION}"; then + if obj _OPT_LOCATION is_yes; then echo2 "$1"; fi; - if is_yes "${_OPT_WHATIS}"; then + if obj _OPT_WHATIS is_yes; then what_is "$1" >>"${_TMP_CAT}"; else catz "$1" >>"${_TMP_CAT}"; @@ -3062,24 +2973,21 @@ ######################################################################## # usage () # -# print usage information to stderr +# print usage information to stderr; for groffer option --help. # usage() { func_check usage = 0 "$@"; - echo2; + echo; version; - cat >&2 <&2 <&1 | sed -e '/^ *$/q' | sed -e '1s/^/is part of /' >&2; @@ -3198,7 +3105,7 @@ # grep the line containing `.TH' macro, if any _res="$(catz "$1" | sed -e '/'"${_dot}"'TH /p d')"; - if is_not_empty "${_res}"; then # traditional man style + if obj _res is_not_empty; then # traditional man style # get the text between the first and the second `.SH' macro, by # - delete up to first .SH; # - of this, print everything up to next .SH, and delete the rest; @@ -3212,7 +3119,7 @@ # grep the line containing `.Dd' macro, if any _res="$(catz "$1" | sed -e '/'"${_dot}"'Dd /p d')"; - if is_not_empty "${_res}"; then # BSD doc style + if obj _res is_not_empty; then # BSD doc style # get the text between the first and the second `.Nd' macro, by # - delete up to first .Nd; # - of this, print everything up to next .Nd, and delete the rest; @@ -3244,7 +3151,7 @@ local _arg; local p; _arg="$1"; - if is_empty "${_arg}"; then + if obj _arg is_empty; then eval "${return_bad}"; fi; case "${_arg}" in @@ -3259,8 +3166,8 @@ eval set -- "$(path_split "${PATH}")"; for p in "$@"; do case "$p" in - */) _file=$p${_arg}; ;; - *) _file=$p/${_arg}; ;; + */) _file=${p}${_arg}; ;; + *) _file=${p}/${_arg}; ;; esac; if test -f "${_file}" && test -x "${_file}"; then echo -n "${_file}"; @@ -3302,46 +3209,56 @@ # call clean_up() on any signal trap_set clean_up; - for f in ${_CONFFILES}; do - if is_file "$f"; then - . "$f"; - fi; - done; - # determine temporary directory umask 000; _TMP_DIR=''; for d in "${GROFF_TMPDIR}" "${TMPDIR}" "${TMP}" "${TEMP}" \ "${TEMPDIR}" "${HOME}"'/tmp' '/tmp' "${HOME}" '.'; do - if test "$d" != ""; then - if test -d "$d" && test -r "$d" && test -w "$d"; then + if is_not_empty "$d"; then + if obj d is_dir && obj d is_writable; then _TMP_DIR="${d}/${_PROGRAM_NAME}${_PROCESS_ID}"; - if test -d "${_TMP_DIR}"; then + if obj _TMP_DIR is_dir; then rm -f "${_TMP_DIR}"/*; break; else mkdir "${_TMP_DIR}"; - if test ! -d "${_TMP_DIR}"; then - _TMP_DIR=''; + if obj _TMP_DIR is_not_dir; then + _TMP_DIR=''; continue; - fi; + fi; break; - fi; + fi; fi; - if test ! -w "${_TMP_DIR}"; then + if obj _TMP_DIR is_not_writable; then _TMP_DIR=''; continue; fi; fi; done; unset d; - if test "${_TMP_DIR}" = ''; then + if obj _TMP_DIR is_empty; then error "Couldn't create a directory for storing temporary files."; fi; _TMP_CAT="$(tmp_create groffer_cat)"; _TMP_STDIN="$(tmp_create groffer_input)"; + + # groffer configuration files + for f in ${_CONFFILES}; do + if obj f is_file; then + echo '_groffer_opt=""' >>${_TMP_CAT}; + # collect the lines starting with a minus + cat "$f" | sed -e \ + '/^[ ]*\(-.*\)$/s//_groffer_opt="${_groffer_opt} \1"'/ \ + >>${_TMP_CAT}; + # prepend the collected information to $GROFFER_OPT + echo 'GROFFER_OPT="${_groffer_opt} ${GROFFER_OPT}"' >>${_TMP_CAT}; + fi; + done; + . "${_TMP_CAT}"; + _TMP_CAT="$(tmp_create groffer_cat)"; + eval "${return_ok}"; } # main_init() @@ -3353,7 +3270,7 @@ # string; found man arguments can be overwritten by the command line. # # Globals: -# in: $MANOPT, $_OPTS_MAN_* +# in: $MANOPT, $_OPTS_MANOPT_* # out: $_MANOPT_* # in/out: $GROFFER_OPT # @@ -3364,45 +3281,45 @@ local _opt; local _list; _list=''; - if test "${MANOPT}" != ''; then + if obj MANOPT is_not_empty; then MANOPT="$(echo -n "${MANOPT}" | \ sed -e 's/^'"${_SPACE}${_SPACE}"'*//')"; fi; - if test "${MANOPT}" = ''; then + if obj MANOPT is_empty; then eval "${return_ok}"; fi; # add arguments in $MANOPT by mapping them to groffer options eval set -- "$(list_from_cmdline \ - "${_OPTS_MAN_SHORT_NA}" "${_OPTS_MAN_SHORT_ARG}" \ - "${_OPTS_MAN_LONG_NA}" "${_OPTS_MAN_LONG_ARG}" \ + _OPTS_MANOPT_SHORT_NA _OPTS_MANOPT_SHORT_ARG \ + _OPTS_MANOPT_LONG_NA _OPTS_MANOPT_LONG_ARG \ "${MANOPT}")"; until test "$#" -le 0 || is_equal "$1" '--'; do _opt="$1"; shift; case "${_opt}" in -7|--ascii) - _list="$(list_append "${_list}" '--ascii')"; + list_append _list '--ascii'; ;; -a|--all) - _list="$(list_append "${_list}" '--all')"; + list_append _list '--all'; ;; -c|--catman) do_nothing; shift; ;; -d|--debug) - _list="$(list_append "${_list}" '--debug')"; + list_append _list '--debug'; ;; -D|--default) # undo all man options so far _list=''; ;; -e|--extension) - _list="$(list_append "${_list}" '--extension')"; + list_append _list '--extension'; shift; ;; -f|--whatis) - _list="$(list_append "${_list}" '--whatis')"; + list_append _list '--whatis'; shift; ;; -h|--help) @@ -3410,30 +3327,31 @@ shift; ;; -k|--apropos) - _list="$(list_append "${_list}" '--apropos')"; + # groffer's --apropos takes an argument, but man's does not, so + do_nothing; shift; ;; -l|--local-file) - _list="$(list_append "${_list}" '--local-file')"; + list_append _list '--local-file'; ;; -L|--locale) - _list="$(list_append "${_list}" '--locale' "$1")"; + list_append _list '--locale' "$1"; shift; ;; -m|--systems) - _list="$(list_append "${_list}" '--systems' "$1")"; + list_append _list '--systems' "$1"; shift; ;; -M|--manpath) - _list="$(list_append "${_list}" '--manpath' "$1")"; + list_append _list '--manpath' "$1"; shift; ;; -p|--preprocessor) do_nothing; shift; ;; - -P|--pager) - _list="$(list_append "${_list}" '--pager' "$1")"; + -P|--pager|--tty-viewer) + list_append _list '--pager' "$1"; shift; ;; -r|--prompt) @@ -3441,7 +3359,7 @@ shift; ;; -S|--sections) - _list="$(list_append "${_list}" '--sections' "$1")"; + list_append _list '--sections' "$1"; shift; ;; -t|--troff) @@ -3449,7 +3367,7 @@ shift; ;; -T|--device) - _list="$(list_append "${_list}" '-T' "$1")"; + list_append _list '-T' "$1"; shift; ;; -u|--update) @@ -3460,16 +3378,21 @@ do_nothing; ;; -w|--where|--location) - _list="$(list_append "${_list}" '--location')"; + list_append _list '--location'; ;; -Z|--ditroff) - _list="$(list_append "${_list}" '-Z' "$1")"; + list_append _list '-Z' "$1"; shift; ;; # ignore all other options esac; done; - GROFFER_OPT="$(list_from_lists "${_list}" "${GROFFER_OPT}")"; + # append the 2 lists in $_list and $GROFFER_OPT to $GROFFER_OPT + if obj GROFFER_OPT is_empty; then + GROFFER_OPT="${_list}"; + elif obj _list is_not_empty; then + GROFFER_OPT="${_list} ${GROFFER_OPT}"; + fi; eval "${return_ok}"; } # main_parse_MANOPT() @@ -3502,8 +3425,8 @@ eval set -- "${GROFFER_OPT}" '"$@"'; eval set -- "$(list_from_cmdline \ - "$_OPTS_CMDLINE_SHORT_NA" "$_OPTS_CMDLINE_SHORT_ARG" \ - "$_OPTS_CMDLINE_LONG_NA" "$_OPTS_CMDLINE_LONG_ARG" \ + _OPTS_CMDLINE_SHORT_NA _OPTS_CMDLINE_SHORT_ARG \ + _OPTS_CMDLINE_LONG_NA _OPTS_CMDLINE_LONG_ARG \ "$@")"; # By the call of `eval', unnecessary quoting was removed. So the @@ -3526,9 +3449,9 @@ -Q|--source) # output source code (`Quellcode'). _OPT_MODE='source'; ;; - -T|--device|--troff-device) - # device; arg + -T|--device|--troff-device) # device; arg _OPT_DEVICE="$1"; + _check_device_with_mode; shift; ;; -v|--version) @@ -3538,25 +3461,22 @@ -V) _OPT_V='yes'; ;; - -X) - _OPT_X='yes'; - ;; - -Z|--ditroff|--intermediate-output) - # groff intermediate output + -Z|--ditroff|--intermediate-output) # groff intermediate output _OPT_Z='yes'; ;; + -X|--X|--x) + _OPT_MODE=x; + ;; -?) # delete leading `-' _optchar="$(echo -n "${_opt}" | sed -e 's/^.//')"; - if list_has "${_OPTS_GROFF_SHORT_NA}" "${_optchar}"; + if list_has _OPTS_GROFF_SHORT_NA "${_optchar}"; then - _ADDOPTS_GROFF="$(list_append "${_ADDOPTS_GROFF}" \ - "${_opt}")"; - elif list_has "${_OPTS_GROFF_SHORT_ARG}" "${_optchar}"; + list_append _ADDOPTS_GROFF "${_opt}"; + elif list_has _OPTS_GROFF_SHORT_ARG "${_optchar}"; then - _ADDOPTS_GROFF="$(list_append "${_ADDOPTS_GROFF}" \ - "${_opt}" "$1")"; - shift; + list_append _ADDOPTS_GROFF "${_opt}" "$1"; + shift; else error "Unknown option : \`$1'"; fi; @@ -3565,11 +3485,34 @@ _OPT_ALL="yes"; ;; --ascii) - _ADDOPTS_GROFF="$(list_append "${_ADDOPTS_GROFF}" \ - '-mtty-char')"; + list_append _ADDOPTS_GROFF '-mtty-char'; + if obj _mode is_empty; then + _mode='text'; + fi; ;; - --apropos) - _OPT_APROPOS="yes"; + --apropos) # run `apropos' + apropos_run "$1"; + _code="$?"; + clean_up; + exit "${_code}"; + ;; + --apropos-data) # run `apropos' for data sections + apropos_run "$1" | grep '^[^(]*([457])'; + _code="$?"; + clean_up; + exit "${_code}"; + ;; + --apropos-devel) # run `apropos' for development sections + apropos_run "$1" | grep '^[^(]*([239])'; + _code="$?"; + clean_up; + exit "${_code}"; + ;; + --apropos-progs) # run `apropos' for program sections + apropos_run "$1" | grep '^[^(]*([168])'; + _code="$?"; + clean_up; + exit "${_code}"; ;; --auto) # the default automatic mode _mode=''; @@ -3593,7 +3536,7 @@ _OPT_DEFAULT_MODES="$1"; shift; ;; - --debug) # sequence of modes in auto mode; arg + --debug) # buggy, only for development _OPT_DEBUG='yes'; ;; --display) # set X display, arg @@ -3626,6 +3569,16 @@ --groff) _OPT_MODE='groff'; ;; + --html|--www) # display with web browser + _OPT_MODE=html; + ;; + --html-viewer|--www-viewer) # viewer program for html mode; arg + _OPT_VIEWER_HTML="$1"; + shift; + ;; + --iconic) # start viewers as icons + _OPT_ICONIC='yes'; + ;; --locale) # set language for man pages, arg # argument is xx[_territory[.codeset[@modifier]]] (ISO 639,...) _OPT_LANG="$1"; @@ -3651,12 +3604,15 @@ _arg="$1"; shift; case "${_arg}" in - auto|'') # the default automatic mode + auto|'') # search mode automatically among default _mode=''; ;; groff) # pass input to plain groff _mode='groff'; ;; + html|www) # display with a web browser + _mode='html'; + ;; dvi) # display with xdvi viewer _mode='dvi'; ;; @@ -3666,12 +3622,15 @@ ps) # display with Postscript viewer _mode='ps'; ;; - X|x) # output on X roff viewer - _mode='x'; + text) # output on terminal + _mode='text'; ;; tty) # output on terminal _mode='tty'; ;; + X|x) # output on X roff viewer + _mode='x'; + ;; Q|source) # display source code _mode="source"; ;; @@ -3739,35 +3698,28 @@ _OPT_SYSTEMS="$1"; shift; ;; + --text) # text mode without pager + _OPT_MODE=text; + ;; --title) # title for X viewers; arg _OPT_TITLE="$1"; shift; ;; - --tty) - _OPT_MODE="tty"; + --tty) # tty mode, text with pager + _OPT_MODE=tty; ;; - --tty-device) # device for tty mode; arg - _OPT_TTY_DEVICE="$1"; + --text-device|--tty-device) # device for tty mode; arg + _OPT_TEXT_DEVICE="$1"; shift; ;; --whatis) _OPT_WHATIS='yes'; ;; - --www) # display with web browser - _OPT_MODE='www'; - ;; - --www-viewer) # viewer program for www mode; arg - _OPT_VIEWER_WWW="$1"; - shift; - ;; - --x) - _OPT_MODE='x'; - ;; --xrm) # pass X resource string, arg; - _OPT_XRM="$(list_append "${_OPT_XRM}" "$1")"; + list_append _OPT_XRM "$1"; shift; ;; - --x-viewer) # viewer program for x mode; arg + --x-viewer|--X-viewer) # viewer program for x mode; arg _OPT_VIEWER_X="$1"; shift; ;; @@ -3778,25 +3730,66 @@ done; shift; # remove `--' argument - if test "${_DEBUG}" != 'yes'; then - if test "${_OPT_DEBUG}" = 'yes'; then + if obj _DEBUG is_not_yes; then + if obj _OPT_DEBUG is_yes; then _DEBUG='yes'; fi; fi; # Remaining arguments are file names (filespecs). # Save them to list $_FILEARGS - if test "$#" -eq 0; then # use "-" for standard input + if is_equal "$#" 0; then # use "-" for standard input set -- '-'; fi; - _FILEARGS="$(list_from_args "$@")"; - if list_has "$_FILEARGS" '-'; then + _FILEARGS=''; + list_append _FILEARGS "$@"; + if list_has _FILEARGS '-'; then save_stdin; fi; # $_FILEARGS must be retrieved with `eval set -- "$_FILEARGS"' eval "${return_ok}"; } # main_parse_args() +# Called from main_parse_args() because double `case' is not possible. +# Globals: $_OPT_DEVICE, $_OPT_MODE +_check_device_with_mode() +{ + func_check _check_device_with_mode = 0 "$@"; + case "${_OPT_DEVICE}" in + dvi) + _OPT_MODE=dvi; + eval "${return_ok}"; + ;; + html) + _OPT_MODE=html; + eval "${return_ok}"; + ;; + lbp|lj4) + _OPT_MODE=groff; + eval "${return_ok}"; + ;; + ps) + _OPT_MODE=ps; + eval "${return_ok}"; + ;; + ascii|cp1047|latin1|utf8) + if obj _OPT_MODE is_not_equal text; then + _OPT_MODE=tty; # default text mode + fi; + eval "${return_ok}"; + ;; + X*) + _OPT_MODE=x; + eval "${return_ok}"; + ;; + *) # unknown device, go to groff mode + _OPT_MODE=groff; + eval "${return_ok}"; + ;; + esac; + eval "${return_error}"; +} + ######################################################################## # main_set_mode () @@ -3829,38 +3822,52 @@ local _viewers; # handle apropos - if is_yes "${_OPT_APROPOS}"; then - apropos "$@"; + if obj _OPT_APROPOS is_not_empty; then + apropos "${_OPT_APROPOS}"; + _code="$?"; + clean_up; + exit "${_code}"; + fi; + if obj _OPT_APROPOS_DATA is_not_empty; then + apropos "$@" | grep '^[^(]*([457])'; + _code="$?"; + clean_up; + exit "${_code}"; + fi; + if obj _OPT_APROPOS_DEVEL is_not_empty; then + apropos "$@" | grep '^[^(]*([239])'; + _code="$?"; + clean_up; + exit "${_code}"; + fi; + if obj _OPT_APROPOS_PROGS is_not_empty; then + apropos "$@" | grep '^[^(]*([168])'; _code="$?"; clean_up; exit "${_code}"; fi; # set display - if is_not_empty "${_OPT_DISPLAY}"; then + if obj _OPT_DISPLAY is_not_empty; then DISPLAY="${_OPT_DISPLAY}"; fi; - if is_yes "${_OPT_V}"; then - _DISPLAY_MODE='groff'; - _ADDOPTS_GROFF="$(list_append "${_ADDOPTS_GROFF}" '-V')"; - fi; - if is_yes "${_OPT_X}"; then + if obj _OPT_V is_yes; then _DISPLAY_MODE='groff'; - _ADDOPTS_GROFF="$(list_append "${_ADDOPTS_GROFF}" '-X')"; + list_append _ADDOPTS_GROFF '-V'; fi; - if is_yes "${_OPT_Z}"; then + if obj _OPT_Z is_yes; then _DISPLAY_MODE='groff'; - _ADDOPTS_GROFF="$(list_append "${_ADDOPTS_GROFF}" '-Z')"; + list_append _ADDOPTS_GROFF '-Z'; fi; - if is_equal "${_OPT_MODE}" 'groff'; then + if obj _OPT_MODE is_equal 'groff'; then _DISPLAY_MODE='groff'; fi; - if is_equal "${_DISPLAY_MODE}" 'groff'; then + if obj _DISPLAY_MODE is_equal 'groff'; then eval "${return_ok}"; fi; - if is_equal "${_OPT_MODE}" 'source'; then + if obj _OPT_MODE is_equal 'source'; then _DISPLAY_MODE='source'; eval "${return_ok}"; fi; @@ -3869,34 +3876,40 @@ '') # automatic mode case "${_OPT_DEVICE}" in X*) - if is_empty "${DISPLAY}"; then + if obj DISPLAY is_empty; then error "no X display found for device ${_OPT_DEVICE}"; fi; _DISPLAY_MODE='x'; eval "${return_ok}"; ;; ascii|cp1047|latin1|utf8) - _DISPLAY_MODE='tty'; + if obj _DISPLAY_MODE is_not_equal 'text'; then + _DISPLAY_MODE='tty'; + fi; eval "${return_ok}"; ;; esac; - if is_empty "${DISPLAY}"; then + if obj DISPLAY is_empty; then _DISPLAY_MODE='tty'; eval "${return_ok}"; fi; - if is_empty "${_OPT_DEFAULT_MODES}"; then + if obj _OPT_DEFAULT_MODES is_empty; then _modes="${_DEFAULT_MODES}"; else _modes="${_OPT_DEFAULT_MODES}"; fi; ;; + text) + _DISPLAY_MODE='text'; + eval "${return_ok}"; + ;; tty) _DISPLAY_MODE='tty'; eval "${return_ok}"; ;; *) # display mode was given - if is_empty "${DISPLAY}"; then + if obj DISPLAY is_empty; then error "you must be in X Window for ${_OPT_MODE} mode."; fi; _modes="${_OPT_MODE}"; @@ -3909,18 +3922,22 @@ m="$1"; shift; case "$m" in + text) + _DISPLAY_MODE='text'; + eval "${return_ok}"; + ;; tty) _DISPLAY_MODE='tty'; eval "${return_ok}"; ;; x) - if is_not_empty "${_OPT_VIEWER_X}"; then + if obj _OPT_VIEWER_X is_not_empty; then _viewers="${_OPT_VIEWER_X}"; else _viewers="${_VIEWER_X}"; fi; _viewer="$(_get_first_prog "${_viewers}")"; - if test "$?" -ne 0; then + if is_not_equal "$?" 0; then continue; fi; _DISPLAY_PROG="${_viewer}"; @@ -3928,13 +3945,13 @@ eval "${return_ok}"; ;; dvi) - if is_not_empty "${_OPT_VIEWER_DVI}"; then + if obj _OPT_VIEWER_DVI is_not_empty; then _viewers="${_OPT_VIEWER_DVI}"; else _viewers="${_VIEWER_DVI}"; fi; _viewer="$(_get_first_prog "${_viewers}")"; - if test "$?" -ne 0; then + if is_not_equal "$?" 0; then continue; fi; _DISPLAY_PROG="${_viewer}"; @@ -3942,13 +3959,13 @@ eval "${return_ok}"; ;; pdf) - if is_not_empty "${_OPT_VIEWER_PDF}"; then + if obj _OPT_VIEWER_PDF is_not_empty; then _viewers="${_OPT_VIEWER_PDF}"; else _viewers="${_VIEWER_PDF}"; fi; _viewer="$(_get_first_prog "${_viewers}")"; - if test "$?" -ne 0; then + if is_not_equal "$?" 0; then continue; fi; _DISPLAY_PROG="${_viewer}"; @@ -3956,31 +3973,31 @@ eval "${return_ok}"; ;; ps) - if is_not_empty "${_OPT_VIEWER_PS}"; then + if obj _OPT_VIEWER_PS is_not_empty; then _viewers="${_OPT_VIEWER_PS}"; else _viewers="${_VIEWER_PS}"; fi; _viewer="$(_get_first_prog "${_viewers}")"; - if test "$?" -ne 0; then + if is_not_equal "$?" 0; then continue; fi; _DISPLAY_PROG="${_viewer}"; _DISPLAY_MODE="ps"; eval "${return_ok}"; ;; - www) - if is_not_empty "${_OPT_VIEWER_WWW}"; then - _viewers="${_OPT_VIEWER_WWW}"; + html) + if obj _OPT_VIEWER_HTML is_not_empty; then + _viewers="${_OPT_VIEWER_HTML}"; else - _viewers="${_VIEWER_WWW}"; + _viewers="${_VIEWER_HTML}"; fi; _viewer="$(_get_first_prog "${_viewers}")"; - if test "$?" -ne 0; then + if is_not_equal "$?" 0; then continue; fi; _DISPLAY_PROG="${_viewer}"; - _DISPLAY_MODE="www"; + _DISPLAY_MODE=html; eval "${return_ok}"; ;; esac; @@ -3991,7 +4008,7 @@ _get_first_prog() { local i; - if test "$#" -eq 0; then + if is_equal "$#" 0; then error "_get_first_prog() needs 1 argument."; fi; if is_empty "$1"; then @@ -3999,7 +4016,7 @@ fi; eval set -- "$(list_from_split "$1" ',')"; for i in "$@"; do - if is_empty "$i"; then + if obj i is_empty; then continue; fi; if is_prog "$(get_first_essential $i)"; then @@ -4045,7 +4062,7 @@ continue; ;; ?) - if list_has_not "${_MAN_AUTO_SEC}" "${_filespec}"; then + if list_has_not _MAN_AUTO_SEC "${_filespec}"; then if do_filearg "${_filespec}"; then _exitcode="${_GOOD}"; fi; @@ -4097,7 +4114,9 @@ ######################################################################## # main_set_resources () # -# Determine options for setting X resources with $_DISPLAY_PROG. +# Determine options for setting X resources with $_DISPLAY_PROG. +# +# Globals: $_DISPLAY_PROG, $_OUTPUT_FILE_NAME # landmark '18: main_set_resources()'; main_set_resources() @@ -4105,70 +4124,107 @@ func_check main_set_resources = 0 "$@"; local _prog; # viewer program local _rl; # resource list - _rl=''; - if is_empty "${_DISPLAY_PROG}"; then + local n; + _title="$(get_first_essential \ + "${_OPT_TITLE}" "${_REGISTERED_TITLE}")"; + _OUTPUT_FILE_NAME=''; + set -- ${_title}; + until is_equal "$#" 0; do + n="$1"; + case "$n" in + '') + continue; + ;; + ,*) + n="$(echo -n "$1" | sed -e '/^,,*/s///')"; + ;; + esac + if obj n is_empty; then + continue; + fi; + if obj _OUTPUT_FILE_NAME is_not_empty; then + _OUTPUT_FILE_NAME="${_OUTPUT_FILE_NAME},"; + fi; + _OUTPUT_FILE_NAME="${_OUTPUT_FILE_NAME}$n"; + shift; + done; + case "${_OUTPUT_FILE_NAME}" in + '') + _OUTPUT_FILE_NAME='-'; + ;; + ,*) + error "$_OUTPUT_FILE_NAME starts with a comma."; + ;; + esac; + _OUTPUT_FILE_NAME="${_TMP_DIR}/${_OUTPUT_FILE_NAME}"; + + if obj _DISPLAY_PROG is_empty; then # for example, for groff mode + _DISPLAY_ARGS=''; eval "${return_ok}"; fi; + set -- ${_DISPLAY_PROG}; _prog="$(base_name "$1")"; - if is_not_empty "${_OPT_BD}"; then + _rl=''; + if obj _OPT_BD is_not_empty; then case "${_prog}" in ghostview|gv|gxditview|xditview|xdvi) - _rl="$(list_append "$_rl" '-bd' "${_OPT_BD}")"; + list_append _rl '-bd' "${_OPT_BD}"; ;; esac; fi; - if is_not_empty "${_OPT_BG}"; then + if obj _OPT_BG is_not_empty; then case "${_prog}" in ghostview|gv|gxditview|xditview|xdvi) - _rl="$(list_append "$_rl" '-bg' "${_OPT_BG}")"; + list_append _rl '-bg' "${_OPT_BG}"; ;; xpdf) - _rl="$(list_append "$_rl" '-papercolor' "${_OPT_BG}")"; + list_append _rl '-papercolor' "${_OPT_BG}"; ;; esac; fi; - if is_not_empty "${_OPT_BW}"; then + if obj _OPT_BW is_not_empty; then case "${_prog}" in ghostview|gv|gxditview|xditview|xdvi) - _rl="$(list_append "$_rl" '-bw' "${_OPT_BW}")"; + _list_append _rl '-bw' "${_OPT_BW}"; ;; esac; fi; - if is_not_empty "${_OPT_FG}"; then + if obj _OPT_FG is_not_empty; then case "${_prog}" in ghostview|gv|gxditview|xditview|xdvi) - _rl="$(list_append "$_rl" '-fg' "${_OPT_FG}")"; + list_append _rl '-fg' "${_OPT_FG}"; ;; esac; fi; if is_not_empty "${_OPT_FN}"; then case "${_prog}" in ghostview|gv|gxditview|xditview|xdvi) - _rl="$(list_append "$_rl" '-fn' "${_OPT_FN}")"; + list_append _rl '-fn' "${_OPT_FN}"; ;; esac; fi; if is_not_empty "${_OPT_GEOMETRY}"; then case "${_prog}" in ghostview|gv|gxditview|xditview|xdvi|xpdf) - _rl="$(list_append "$_rl" '-geometry' "${_OPT_GEOMETRY}")"; + list_append _rl '-geometry' "${_OPT_GEOMETRY}"; ;; esac; fi; if is_empty "${_OPT_RESOLUTION}"; then + _OPT_RESOLUTION="${_DEFAULT_RESOLUTION}"; case "${_prog}" in gxditview|xditview) - _rl="$(list_append "$_rl" \ - '-resolution' "${_DEFAULT_RESOLUTION}")"; + list_append _rl '-resolution' "${_DEFAULT_RESOLUTION}"; ;; xpdf) case "${_DEFAULT_RESOLUTION}" in 75) - _rl="$(list_append "$_rl" '-z' '2')"; + # 72dpi is '100' + list_append _rl '-z' '104'; ;; 100) - _rl="$(list_append "$_rl" '-z' '3')"; + list_append _rl '-z' '139'; ;; esac; ;; @@ -4176,24 +4232,32 @@ else case "${_prog}" in ghostview|gv|gxditview|xditview|xdvi) - _rl="$(list_append "$_rl" '-resolution' "${_OPT_RESOLUTION}")"; + list_append _rl '-resolution' "${_OPT_RESOLUTION}"; ;; xpdf) case "${_OPT_RESOLUTION}" in 75) - _rl="$(list_append "$_rl" '-z' '2')"; + list_append _rl '-z' '104'; + # '100' corresponds to 72dpi ;; 100) - _rl="$(list_append "$_rl" '-z' '3')"; + list_append _rl '-z' '139'; ;; esac; ;; esac; fi; - if is_not_empty "${_OPT_RV}"; then + if is_yes "${_OPT_ICONIC}"; then + case "${_prog}" in + ghostview|gv|gxditview|xditview|xdvi) + list_append _rl '-iconic'; + ;; + esac; + fi; + if is_yes "${_OPT_RV}"; then case "${_prog}" in ghostview|gv|gxditview|xditview|xdvi) - _rl="$(list_append "$_rl" '-rv')"; + list_append _rl '-rv'; ;; esac; fi; @@ -4202,21 +4266,20 @@ ghostview|gv|gxditview|xditview|xdvi|xpdf) eval set -- "{$_OPT_XRM}"; for i in "$@"; do - _rl="$(list_append "$_rl" '-xrm' "$i")"; + list_append _rl '-xrm' "$i"; done; ;; esac; fi; - _title="$(get_first_essential \ - "${_OPT_TITLE}" "${_REGISTERED_TITLE}")"; if is_not_empty "${_title}"; then case "${_prog}" in gxditview|xditview) - _rl="$(list_append "$_rl" '-title' "${_title}")"; + list_append _rl '-title' "${_title}"; ;; esac; fi; _DISPLAY_ARGS="${_rl}"; + eval "${return_ok}"; } # main_set_resources @@ -4248,17 +4311,16 @@ export _groggy; export _modefile; - # Some display programs have trouble with empty input. - # This is avoided by feeding a space character in this case. - # Test on non-empty file by tracking a line with at least 1 character. - if is_empty "$(tmp_cat | sed -e '/./q')"; then - echo ' ' > "${_TMP_CAT}"; + if obj _TMP_CAT is_non_empty_file; then + _modefile="${_OUTPUT_FILE_NAME}"; + else + clean_up; + eval "${return_ok}"; fi; - case "${_DISPLAY_MODE}" in groff) _ADDOPTS_GROFF="${_ADDOPTS_GROFF} ${_ADDOPTS_POST}"; - if is_not_empty "${_OPT_DEVICE}"; then + if obj _OPT_DEVICE is_not_empty; then _ADDOPTS_GROFF="${_ADDOPTS_GROFF} -T${_OPT_DEVICE}"; fi; _groggy="$(tmp_cat | eval grog "${_options}")"; @@ -4266,26 +4328,26 @@ # start a new shell program to get another process ID. sh -c ' set -e; - _PROCESS_ID="$$"; - _modefile="${_TMP_DIR}/${_PROGRAM_NAME}${_PROCESS_ID}"; - rm -f "${_modefile}"; + test -f "${_modefile}" && rm -f "${_modefile}"; mv "${_TMP_CAT}" "${_modefile}"; - rm -f "${_TMP_CAT}"; cat "${_modefile}" | \ ( clean_up() { - rm -f "${_modefile}"; + if test -d "${_TMP_DIR}"; then + rm -f "${_TMP_DIR}"/* || true; + rmdir "${_TMP_DIR}"; + fi; } trap clean_up 0 2>/dev/null || true; eval "${_groggy}" "${_ADDOPTS_GROFF}"; ) &' ;; - tty) + text|tty) case "${_OPT_DEVICE}" in '') _device="$(get_first_essential \ - "${_OPT_TTY_DEVICE}" "${_DEFAULT_TTY_DEVICE}")"; + "${_OPT_TEXT_DEVICE}" "${_DEFAULT_TTY_DEVICE}")"; ;; ascii|cp1047|latin1|utf8) _device="${_OPT_DEVICE}"; @@ -4297,19 +4359,23 @@ esac; _addopts="${_ADDOPTS_GROFF} ${_ADDOPTS_POST}"; _groggy="$(tmp_cat | grog -T${_device})"; - _pager=''; - for p in "${_OPT_PAGER}" "${PAGER}" "${_MANOPT_PAGER}" \ - 'less' 'more' 'cat'; do - if is_prog "$p"; then + if obj _DISPLAY_MODE is_equal 'text'; then + tmp_cat | eval "${_groggy}" "${_addopts}"; + else + _pager=''; + for p in "${_OPT_PAGER}" "${PAGER}" "${_MANOPT_PAGER}" \ + 'less -r -R' 'more' 'pager' 'cat'; do + if is_prog $p; then # no "" for is_prog() allows args for $p _pager="$p"; break; fi; - done; - if is_empty "${_pager}"; then - error 'no pager program found for tty mode'; + done; + if obj _pager is_empty; then + error 'no pager program found for tty mode'; + fi; + tmp_cat | eval "${_groggy}" "${_addopts}" | \ + eval "${_pager}"; fi; - tmp_cat | eval "${_groggy}" "${_addopts}" | \ - eval "${_pager}"; clean_up; ;; @@ -4326,6 +4392,18 @@ _groggy="$(tmp_cat | grog -Tdvi)"; _do_display; ;; + html) + case "${_OPT_DEVICE}" in + ''|html) do_nothing; ;; + *) + warning \ + "wrong device for ${_DISPLAY_MODE} mode: ${_OPT_DEVICE}"; + ;; + esac; + _modefile="${_modefile}".html + _groggy="$(tmp_cat | grog -Thtml)"; + _do_display; + ;; pdf) case "${_OPT_DEVICE}" in ''|ps) @@ -4336,26 +4414,29 @@ "wrong device for ${_DISPLAY_MODE} mode: ${_OPT_DEVICE}"; ;; esac; + _modefile="${_modefile}" _groggy="$(tmp_cat | grog -Tps)"; trap_clean; # start a new shell program to get another process ID. sh -c ' set -e; - _PROCESS_ID="$$"; - _psfile="${_TMP_DIR}/${_PROGRAM_NAME}${_PROCESS_ID}"; - _modefile="${_TMP_DIR}/${_PROGRAM_NAME}${_PROCESS_ID}.pdf"; - rm -f "${_psfile}"; - rm -f "${_modefile}"; + _psfile="${_modefile}.ps"; + _modefile="${_modefile}.pdf"; + test -f "${_psfile}" && rm -f "${_psfile}"; + test -f "${_modefile}" && rm -f "${_modefile}"; cat "${_TMP_CAT}" | \ - eval "${_groggy}" "${_ADDOPTS_GROFF}" > "${_psfile}"; + eval "${_groggy}" "${_ADDOPTS_GROFF}" > "${_psfile}"; gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite \ -sOutputFile="${_modefile}" -c save pop -f "${_psfile}"; - rm -f "${_psfile}"; - rm -f "${_TMP_CAT}"; + test -f "${_psfile}" && rm -f "${_psfile}"; + test -f "${_TMP_CAT}" && rm -f "${_TMP_CAT}"; ( - clean_up() - { + clean_up() { rm -f "${_modefile}"; + if test -d "${_TMP_DIR}"; then + rm -f "${_TMP_DIR}"/* || true; + rmdir "${_TMP_DIR}"; + fi; } trap clean_up 0 2>/dev/null || true; eval "${_DISPLAY_PROG}" ${_DISPLAY_ARGS} "${_modefile}"; @@ -4378,17 +4459,6 @@ tmp_cat; clean_up; ;; - www) - case "${_OPT_DEVICE}" in - ''|html) do_nothing; ;; - *) - warning \ - "wrong device for ${_DISPLAY_MODE} mode: ${_OPT_DEVICE}"; - ;; - esac; - _groggy="$(tmp_cat | grog -Thtml)"; - _do_display; - ;; x) case "${_OPT_DEVICE}" in '') @@ -4414,22 +4484,20 @@ _do_display() { + func_check _do_display = 0 "$@"; trap_clean; # start a new shell program for another process ID and better # cleaning-up of the temporary files. sh -c ' set -e; - _PROCESS_ID="$$"; - _modefile="${_TMP_DIR}/${_PROGRAM_NAME}${_PROCESS_ID}"; - rm -f "${_modefile}"; + test -f "${_modefile}" && rm -f "${_modefile}"; cat "${_TMP_CAT}" | \ eval "${_groggy}" "${_ADDOPTS_GROFF}" > "${_modefile}"; rm -f "${_TMP_CAT}"; ( - clean_up() - { + clean_up() { if test -d "${_TMP_DIR}"; then - rm -f "${_TMP_DIR}"/*; + rm -f "${_TMP_DIR}"/* || true; rmdir "${_TMP_DIR}"; fi; } diff -ruN groff-1.19/contrib/mm/ChangeLog groff-1.19.1/contrib/mm/ChangeLog --- groff-1.19/contrib/mm/ChangeLog Wed Apr 2 07:45:12 2003 +++ groff-1.19.1/contrib/mm/ChangeLog Wed Mar 10 07:10:12 2004 @@ -1,3 +1,26 @@ +Sun Mar 7 16:34:46 CET 2004 Jeff Conrad + + * m.tmac (S): Improve debug message. + +Wed Mar 05:38:57 2004 Joergen Haegg + + * Changed default value for Hy in manual to 0 + * Check Hy at each new page + +Mon Mar 1 22:16:38 CET 2004 Jeff Conrad + + * m.tmac (S): Fix scaling indicator for vertical spacing. + +Tue Nov 05:14:45 2003 Joergen Haegg + + * another patch from ulrich lauther to fix the + TOC up to 14 heading levels. + +Mon Oct 13:48:25 2003 Joergen Haegg + + * problem with more than 7 levels of headings fixed with + patch from ulrich lauther. + Wed Apr 06:42:35 2003 Joergen Haegg * the footer was not adjusted by VM due to a missing diff -ruN groff-1.19/contrib/mm/groff_mm.man groff-1.19.1/contrib/mm/groff_mm.man --- groff-1.19/contrib/mm/groff_mm.man Wed Mar 19 23:05:11 2003 +++ groff-1.19.1/contrib/mm/groff_mm.man Thu May 13 15:13:24 2004 @@ -1,5 +1,5 @@ .\" -.\" $Id: groff_mm.man,v 2.9 2003/03/19 22:05:11 wlemb Exp $ +.\" $Id: groff_mm.man,v 2.12 2004/05/13 13:13:24 wlemb Exp $ .\" .de T2 .if t .ne 2v @@ -7,12 +7,14 @@ \\$1 .sp -1 .. +. .de T3 .if t .ne 2v .ti -.5i \fB\\$1\fP .br .. +. .TH GROFF_MM @MAN7EXT@ "@MDATE@" "Groff Version @VERSION@" .SH NAME groff_mm \- groff mm macros @@ -612,7 +614,7 @@ .TP .B "H level [heading-text [heading-suffix]]" Numbered section heading. -Section headers can have a level between 1 and 7, level 1 is the +Section headers can have a level between 1 and 14, 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. @@ -679,8 +681,8 @@ The font of each heading level is controlled by string \fBHF\fP. It contains a fontnumber or fontname 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. +is \fB2\ 2\ 2\ 2\ 2\ 2\ 2\ 2\ 2\ 2\ 2\ 2\ 2\ 2\fP (all headings in italic). +Could also be written as \fBI\ I\ I\ I\ I\ I\ I\ I\ I\ I\ I\ I\ I\ I\fP. Note that some other implementations use \fB3\ 3\ 2\ 2\ 2\ 2\ 2\fP as the default value. All omitted values are presumed to be a 1. @@ -690,7 +692,7 @@ 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. +Default value is \fB0\ 0\ 0\ 0\ 0\ 0\ 0\ 0\ 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 @@ -698,7 +700,7 @@ .sp \fBHeading counters\fP .br -Seven number registers, named \fBH1\fP thru \fBH7\fP contains +Fourteen number registers, named \fBH1\fP thru \fBH14\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). @@ -771,7 +773,7 @@ Hyphenation can be turned off by setting number register \fBHy\fP to 0 in the beginning of the file. .TP -.B "HM [arg1 [arg2 [... [arg7]]]]" +.B "HM [arg1 [arg2 [... [arg14]]]]" Heading mark style. Controls the type of marking for printing of the heading counters. Default is 1 for all levels. @@ -1803,7 +1805,7 @@ be an appendix-entry in the 'List of contents'. .TP .B Cl -Contents level [0:7], contents saved if heading level <= Cl, default 2. +Contents level [0:14], contents saved if heading level <= Cl, default 2. .TP .B Cp Eject page between LIST OF XXXX if Cp == 0, default 0. @@ -1850,10 +1852,10 @@ Useful in user defined header macros. .TP .B Hb -Heading break level [0:7], default\ 2. +Heading break level [0:14], default\ 2. .TP .B Hc -Heading centering level, [0:7]. +Heading centering level, [0:14]. Default\ 0. .TP .B Hi @@ -1885,7 +1887,7 @@ Value is in units, normally\ 1. .TP .B Hs -Heading space level [0:7], default\ 2. +Heading space level [0:14], default\ 2. .TP .B Hss This is the number of lines that follows \fB.H\fP when the heading-level @@ -1902,7 +1904,7 @@ Unnumbered heading level, default 2. .TP .B Hy -Hyphenation in body, default 1. +Hyphenation in body, default 0. .br 0\ ->\ no hyphenation .br diff -ruN groff-1.19/contrib/mm/m.tmac groff-1.19.1/contrib/mm/m.tmac --- groff-1.19/contrib/mm/m.tmac Wed Apr 2 07:45:12 2003 +++ groff-1.19.1/contrib/mm/m.tmac Wed Mar 10 07:11:26 2004 @@ -3,11 +3,11 @@ .ds RE \\$2 .. .\" -.\" $Id: m.tmac,v 2.18 2003/04/02 04:44:59 jhaegg Exp $ -.@revision $Revision: 2.18 $ +.\" $Id: m.tmac,v 2.24 2004/03/10 06:11:26 wlemb Exp $ +.@revision $Revision: 2.24 $ .ig -Copyright (C) 1991-2000 Free Software Foundation, Inc. +Copyright (C) 1991-2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. mgm is written by Jörgen Hägg mgm is free software; you can redistribute it and/or modify it under @@ -37,7 +37,7 @@ .if \n(.C .ab The groff mm macros do not work in compatibility mode. .if (\n[.warn] == 65543) .warn .\" ######## init ####### -.\" Contents level [0:7], contents saved if heading level <= Cl +.\" Contents level [0:14], contents saved if heading level <= Cl .nr Cl 2 .\" Eject page between LIST OF XXXX if Cp == 0 .nr Cp 0 @@ -66,20 +66,27 @@ .nr H5 0 1 .nr H6 0 1 .nr H7 0 1 -.\" Heading break level [0:7] +.nr H8 0 1 +.nr H9 0 1 +.nr H10 0 1 +.nr H11 0 1 +.nr H12 0 1 +.nr H13 0 1 +.nr H14 0 1 +.\" Heading break level [0:14] .nr Hb 2 -.\" heading centering level, [0:7] +.\" heading centering level, [0:14] .nr Hc 0 .\" header format -.ds HF 2 2 2 2 2 2 2 +.ds HF 2 2 2 2 2 2 2 2 2 2 2 2 2 2 .\" heading temp. indent [0:2] .\" 0 -> 0 indent, left margin .\" 1 -> indent to right , like .P 1 .\" 2 -> indent to line up with text part of preceding heading .nr Hi 1 .\" header pointsize -.ds HP 0 0 0 0 0 0 0 -.\" heading space level [0:7] +.ds HP 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +.\" heading space level [0:14] .nr Hs 2 .\" heading numbering type .\" 0 -> multiple (1.1.1 ...) @@ -637,15 +644,21 @@ .if !'\\*[misc*b]'C' \{\ . ie '\\*[misc*b]'P' .vs \\n[misc*S-vs]u . el \{\ -. ie '\\*[misc*b]'D' .vs \\n[.ps]u+2p +. ie '\\*[misc*b]'D' .vs \\n[.ps]s+2p . el .vs \\*[misc*b] . if \\n[D]>2 .tm S: .vs \\*[misc*b] . \} .\} .nr @ps \\n[.ps] +.nr @psu \\n[.ps]s .nr @vs \\n[.v] +.nr @vsp \\n[.v]u/1p +.nr @res 1i .\" -.if \\n[D]>1 .tm S(\\$*): ma:\\*[misc*a], mb:\\*[misc*b] => ps:\\n[@ps]u, vs:\\n[@vs]u +.if \\n[D]>1 \{\ +. tmc "S(\\$*): ma:\\*[misc*a], mb:\\*[misc*b] +. tm1 " => ps:\\n[.s]p (\\n[@psu]u), vs:\\n[@vsp]p (\\n[@vs]u) (res:\\n[@res]) +.\} .nr misc*S-ps \\n[misc*S-ps1] .nr misc*S-vs \\n[misc*S-vs1] .nr misc*S-ps1 \\n[@ps] @@ -930,7 +943,7 @@ .\" .\" clear lower counters .nr hd*i 1 1 -.while \\n+[hd*i]<8 .if \\n[hd*level]<\\n[hd*i] .nr H\\n[hd*i] 0 1 +.while \\n+[hd*i]<15 .if \\n[hd*level]<\\n[hd*i] .nr H\\n[hd*i] 0 1 .\" .\" save last text for use in TP .if \\n[hd*level]=1 .ds H1txt \\$2\\$3 @@ -962,7 +975,7 @@ .if \\n[hd*level]>1 .as hd*mark \\n[H2] .\" .nr hd*i 2 1 -.while \\n+[hd*i]<8 .if \\n[hd*level]>(\\n[hd*i]-1) .as hd*mark .\\n[H\\n[hd*i]] +.while \\n+[hd*i]<15 .if \\n[hd*level]>(\\n[hd*i]-1) .as hd*mark .\\n[H\\n[hd*i]] .if \\n[Ht] .ds hd*mark \\n[H\\n[hd*level]]. .\" .\" special case, no dot after level one heading if not H1dot true @@ -1076,7 +1089,7 @@ .\"-------- .de HM .nr hd*i 0 1 -.while \\n+[hd*i]<8 .af H\\n[hd*i] \\$[\\n[hd*i]] 1 +.while \\n+[hd*i]<15 .af H\\n[hd*i] \\$[\\n[hd*i]] 1 .. .\"---------------------- .\" set page-nr, called from header @@ -1186,6 +1199,9 @@ .\" HEADER .de pg@header .if \\n[D]>1 .tm Page# \\n[%] (\\n[.F]:\\n[c.]) +.\" check if Hy has been changed +.ie \\n[Hy] 'hy 14 +.el 'nh .if \\n[Idxf] \{\ .tl '''' .\} @@ -2426,8 +2442,8 @@ .\" .toc@read-Ci lev1 lev2 lev3 lev4 ... lev7 .de toc@read-Ci .nr toc*i 0 1 -.while \\n+[toc*i]<8 \{\ -. nr toc*hl!\\n[toc*i] \\$\\n[toc*i] +.while \\n+[toc*i]<15 \{\ +. nr toc*hl!\\n[toc*i] \\$[\\n[toc*i]] .\} .. .\"----------- @@ -2883,7 +2899,7 @@ .\} .\" clear lower counters .nr app*i 1 1 -.while \\n+[app*i]<8 .nr H\\n[app*i] 0 1 +.while \\n+[app*i]<15 .nr H\\n[app*i] 0 1 .. .\"------------ .de app@index diff -ruN groff-1.19/contrib/mom/BUGS groff-1.19.1/contrib/mom/BUGS --- groff-1.19/contrib/mom/BUGS Tue Feb 25 17:42:49 2003 +++ groff-1.19.1/contrib/mom/BUGS Mon Mar 22 07:18:36 2004 @@ -7,9 +7,103 @@ df191@ncf.ca +If writing me directly, please include the word "groff" or "mom" in +the Subject line or you risk my spam filter nuking your message. +Also, please--no html email. That, too, gets nuked. + --Peter Schaffter ======================================================================== + +Version 1.1.7-a +=============== + +Suite number in DOCTYPE LETTER not printing. +---Fixed--- + +Footer elements not always vertically aligning. +---Fixed--- + +Footer rule gap not always correctly observed. +---Fixed--- + +Page numbering, when at top of page, not always falling on +HDRFTR_MARGIN. +---Fixed--- + +Default page numbering style for COPYSTYLE draft is DIGIT instead +of roman. +---Fixed--- + +Hyphens around page numbering when style is DIGIT, ROMAN or ALPHA +not vertically centered. +---Fixed--- + +EXT arg not working with DROPCAP. +---Fixed--- + +DOC_QUAD not automatically set immediately after START +---Fixed-- + +Tabs behaving erratically during document processing. +---Fixed--- + +Version 1.1.7 +============= + +When DOCHEADER OFF is given, if falls short +of the top margin of running text, is not respected and +bottom margin falls low. +---Fixed--- + + +Version 1.1.6-e +=============== + +The " mark (doublequote), when entered while not in document +processing mode (i.e. just straightforward typesetting), outputs +nothing unless SMARTQUOTES is invoked explicitly. +---Fixed--- + +Version 1.1.6-c +=============== + +In document processing mode, docs that use *none* of the +docprocessing tags being ignored. +---Fixed--- + +Version 1.1.6-b +=============== + +String tabs not picking up #L_MARGIN when #L_MARGIN not explicitly +set with L_MARGIN, PAPER or PAGE. +---Fixed--- + +Infinite loop when B_MARGIN is set lower than FOOTER_MARGIN during +doc processing. +---Fixed--- + +Version 1.1.6-a +=============== + +Mom partially broken when run with groff 1.19.1. Don't know yet +what this is, whether bad coding in mom, or a problem with 1.19.1. +Only solution for now: run mom 1.1.6 with groff 1.18. +----Fixed--- + +Top margin of endnotes pages after the first endnotes page when +PRINTSTYLE is TYPEWRITE and endnotes single-spacing is turned on +falling one line too high. +---Fixed--- + +Version 1.1.6 +============= + +DOCHEADER OFF (distance) not being respected. +---Fixed--- + +FINIS killing ENDNOTES page numbering and heads. +---Fixed--- Version 1.1.5 ============= diff -ruN groff-1.19/contrib/mom/ChangeLog groff-1.19.1/contrib/mom/ChangeLog --- groff-1.19/contrib/mom/ChangeLog Tue Feb 25 17:44:22 2003 +++ groff-1.19.1/contrib/mom/ChangeLog Mon Mar 22 07:18:36 2004 @@ -1,3 +1,136 @@ +*Mar 15 2004 + +o Added color support + +o Adjusted vertical placement of hyphens around page numbering + so that they are better centered on the height of the page + number. + +o Re-wrote portions of the document processing macros so that tabs + behave in a consistent and intuitive manner. Tab structures are + now properly preserved from page to page and column to column. + +*Feb 20 2004 + +o Rewrote the macros associated with DOCTYPE LETTER so that the + user can enter DATE, TO and FROM in any order s/he likes. For + backward compatibility, if the older, fixed order (DATE-TO-FROM) + is used, the date goes flush right with two linespaces after + it, while the other fields go flush left with a single linespace + separating them. + +o Fixed handling of DOCHEADER OFF when fell + short of the top margin of running text (the change is actually + in the SHIM macro, which is called by DOCHEADER). + +o Added a selection of iso 639 two-letter language codes as + optional arguments to SMARTQUOTES, so that the use can enter + her/his language code to get language specific quoting styles + +o Changed the way the strings for \*[ST], \*[STX], \*[FU] + and \*[BU] are read. Formerly, they were entered literally. + Now they're entered as an array. + +*Jan 24 2004 + +o Added lists and associated macros. Mom now does (nested) lists. + +o Added German-style lowered double quotes and two styles of + guillemets to SMARTQUOTES. + +o Added macro SIZE, intended to be called inline as \*[SIZE ]. + This is to bring mom's inline size change syntax into line with + her other inlines. + +o Added ESC_CHAR as an alias of .ec + +o Added doc entries for lists. + +o Updated SMARTQUOTES entry in docs. + +o Updated reserved words in docs. + +o Fixed a few more typos in docs. + +*Tue Oct 21 2003 + +o Changed \n[#DRAFT] and \n[#REVISION] to strings \*[$DRAFT] and + \*[$REVISION], allowing for the possibility of blank entries that + don't mess up headers/footers with zeros if user doesn't want any + numbers. + +o Extended handling of draft and revision numbers and strings in + headers/footers for increased flexibility. It's possible now to + have just about any combo of DRAFT_STRING, DRAFT, REVISION_STRING + and REVISION, and have them come out in headers/footers as one + intuitively expects/wants. + +*Fri Jul 25 2003 + +o Added a .bp after .if \\n[#START]=1 in FOOTER. Without it, + in document processing mode, documents that use *none* of the + docprocessing tags (yes, there are times when users want to do + this) ignored the footer trap. + +*Fri Jun 6 2003 + +o Changed register #DOCHEADER_LEAD_ADJ to string + +*Wed May 21 2003 + +o DOC_TITLE changed to be used exclusively with DOCTYPE DEFAULT + +o Fixed problem with restoration of previous doc pagenum + style when endnotes use a different pagenum style (set with + ENDNOTES_PAGENUM_STYLE) + +o Fixed handling of headers/footers with respect to endnotes. Now, + when either headers or footers are on, mom picks up the correct + page header/footer on the last page prior to ENDNOTES, gets the + pageheaders correct for endnotes pages *including the last one*, + and picks up correct page headers/footers for the subsequent docs + after COLLATE + +*Sat May 17 2003 + +o Added TOC (finally) and a nearly complete set of associated + control macros + +o Added new control macros to endnotes: + + ENDNOTES_STRING_CAPS - capitalize the endnotes string + ENDNOTES_NO_COLUMNS - allows docs in columns and endnotes not + ENDNOTES_PAGENUM_STYLE - set page numbering style for endnotes + ENDNOTES_FIRST_PAGENUMBER - set first pagenumber for endnotes + ENDNOTES_ALLOWS_HEADERS - page headers on endnotes pages off or on + ENDNOTES_NO_FIRST_PAGENUM - allows non-printing first page number when page footers are being used instead of headers + ENDNOTES_SINGLE_SPACE - for TYPEWRITE, if doc double-spaced + SUSPEND/RESTORE_PAGINATION - turns page numbering off for endnotes + +o Added an ADJUST option to ENDNOTE_LEAD + +o Added DOC_TITLE (like TITLE, but sets document-wide title for collated docs) + +o Added HDRFTR_CENTER_PAD, to allow adjustments to placement of + HDRFTR_CENTER_STRING + +o Added BLANKPAGE macro, to output blank pages (silently numbered) + +o Extensive changes to DEFAULTS, START, COLLATE, HEAD, SUBHEAD and + PARAHEAD because of new TOC and extended flexibility of ENDNOTES + page design + +o Fixed DOCHEADER OFF (distance), FINIS + +----------------------------------------------------------------------- + +*Sat Feb 22 2003 + +o (Re)-fixed handling of post epigraph spacing after #START for + TYPEWRITE double-spaced. + +------------------------------------------------------------------------ + *Sun Feb 16 2003 o Added James Ramsey's proposed CHAPTER_TITLE macro, along with his @@ -57,6 +190,8 @@ The older forms \*[FP#] and \*[BP#] still work (horizontals), as do \*[ALD#] and \*[RLD#] (verticals). +------------------------------------------------------------------------ + *Mon Aug 19 2002 o Fixed ENDNOTES so footnotes output properly when ENDNOTES is called @@ -72,15 +207,6 @@ processing. Updated reserved.html to include number register #FILL_MODE. -*Mon Jul 29 2002 - -o Makefile.sub (FFLAG, TFLAG): Add paths to source directories. - -*Wed Jul 24 2002 - -o Makefile.sub (groff_bin_path): Don't use ' \+' but ' *' for sed. - (GROFF): Set GROFF_COMMAND_PREFIX to empty value. - *Fri Jul 12 2002 o More fixes to underlining. @@ -111,10 +237,6 @@ o Expanded docprocessing.html entry "Special Note on Chapters". Tidied up html a bit. -*Tue Jun 18 2002 - -o examples/macros.mom: Fix path to penguin.ps. - *Sat Jun 15 2002 o Small fix to PAD to make the use of inlines within the pad string @@ -123,17 +245,17 @@ o Added \*[RULE] ( = \l'\n(.lu' ) so that full measure rules (either to full line length or within tabs) are easier to set. -*Sat Jun 8 2002 +*Sat Jun 8 2002 o Macro .PS renamed to .PT_SIZE. Alias .TS removed. -o .tr bits in .CAPS rewritten in the form .tr é\['E]. +o .tr bits in .CAPS rewritten in the form .tr é\[`E]. -o General cleanup of docs to reflect changes. +o General cleanup of docs to reflect changes -o Small changes/additions to `elvis_syntax'. +o Small changes/additions to elvis_syn -*Thu Jun 6 2002 +*Thu Jun 6 2002 o In DOCTYPE, in .if '\\$1'LETTER', added .FOOTER_RIGHT_SIZE +0. Without it, the suite page was printing at the default diff -ruN groff-1.19/contrib/mom/Makefile.sub groff-1.19.1/contrib/mom/Makefile.sub --- groff-1.19/contrib/mom/Makefile.sub Sat Apr 5 00:32:53 2003 +++ groff-1.19.1/contrib/mom/Makefile.sub Fri Mar 5 10:52:10 2004 @@ -1,4 +1,4 @@ -# Copyright (C) 2002, 2003 Free Software Foundation, Inc. +# Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. # Written by Werner Lemberg (wl@gnu.org) # # This file is part of groff. @@ -19,7 +19,7 @@ # These may be overridden if cross-compiling. GROFFBIN=$(top_builddir)/src/roff/groff/groff -GROFF_BIN_PATH=`echo $(groff_bin_dirs) | sed -e 's| *|:|g'` +GROFF_BIN_PATH=`echo $(groff_bin_dirs) | sed -e 's| *|$(SH_SEP)|g'` groff_bin_dirs=\ $(top_builddir)/src/roff/groff \ @@ -67,6 +67,7 @@ examples/typewrite.mom \ examples/README.mom \ examples/elvis_syntax \ + examples/elvis_syntax.new \ examples/penguin.ps PROCESSEDEXAMPLEFILES=\ @@ -77,21 +78,24 @@ CLEANADD=\ penguin.ps \ - $(PROCESSEDEXAMPLEFILES) + $(PROCESSEDEXAMPLEFILES) \ + examples/stamp .SUFFIXES: .mom .ps .mom.ps: $(GROFF) -Tps -mom $< >$@ -all: make_examples +all: $(PROCESSEDEXAMPLEFILES) -.PHONY: make_examples -make_examples: prepare_make_examples $(PROCESSEDEXAMPLEFILES) +$(PROCESSEDEXAMPLEFILES): penguin.ps examples/stamp -prepare_make_examples: examples/penguin.ps +penguin.ps: + cp $(srcdir)/examples/penguin.ps . + +examples/stamp: test -d examples || $(mkinstalldirs) examples - test -f penguin.ps || cp $(srcdir)/examples/penguin.ps . + touch $@ install_data: $(NORMALFILES) $(HTMLDOCFILES) \ $(EXAMPLEFILES) $(PROCESSEDEXAMPLEFILES) diff -ruN groff-1.19/contrib/mom/NEWS groff-1.19.1/contrib/mom/NEWS --- groff-1.19/contrib/mom/NEWS Tue Feb 25 17:42:49 2003 +++ groff-1.19.1/contrib/mom/NEWS Mon Mar 22 07:18:36 2004 @@ -1,3 +1,130 @@ +Release 1.1.8 +------------- + +Added text color support. Users can now define or initialize a color, +and afterwards change text color with an inline of the form +\*[], or with the macro .COLOR. In document processing, +the docelement tag control macros have been expanded to include +_COLOR, e.g. .HEAD_COLOR will colorize +heads, PAGENUM_COLOR ]. +This brings mom's inline size change syntax into line with her other +inlines. \*S[] can still be used for the same thing. + +The file elvis_syntax (for elvis prior to 2.2h) is no longer being +maintained. It was getting messy and long in the tooth. The +official elvis syntax file is elvis_syntax.new, which works for +2.2h of elvis (and higher, one hopes). elvis users are encouraged +to update to 2.2h or higher. + +Release 1.1.6-e +--------------- + +Extended handling of draft and revision numbers and strings in +headers/footers for increased flexibility. It's possible now to +have just about any combo of DRAFT_STRING, DRAFT, REVISION_STRING +and REVISION, and have them come out in headers/footers as one +intuitively expects/wants. + +Also added a new set of syntax highlighting rules for the vi clone, +elvis. Version 2-2h-beta of elvis finally made possible the +highlighting of \*[...] inline escapes, whether or not they're +separated from surrounding text by spaces. This is a terrific +improvement in elvis, and makes for greatly improved readability of +mom files. + +Release 1.1.6-b - 1.1.6d +------------------------ + +Trivial changes to documentation and some cleanups of the main +om.tmac file, including: + +Added a .bp after .if \\n[#START]=1 in FOOTER. Without it, +in document processing mode, documents that use *none* of the +docprocessing tags (yes, there are times when users want to do +this) ignored the footer trap. + +Changed register #DOCHEADER_LEAD_ADJ to string +$DOCHEADER_LEAD_ADJ. This means that .DOCHEADER_LEAD no longer +requires a unit of measure; points is assumed. + +Release 1.1.6-b +--------------- + +Added a SHIM macro that calculates and moves to the next "legal" +baseline during document processing (useful if user starts playing +around with spacing/leading on a page and needs to get the leading +back on track). + +Fixed handling of DOCHEADER OFF so that the first line of +running text falls on a "legal" baseline when is given. + +Release 1.1.6-a +--------------- + +Problem with groff 1.19.1 fixed by Werner (.return handled arguments +incorrectly). + +Fixed handling of page numbering style restoration in endnotes, so +that (collated) docs have the correct page numbering style when the +style has been changed for endnotes (with ENDNOTES_PAGENUM_STYLE). + +DOC_TITLE has been made for use exclusively with DOCTYPE DEFAULT. + +Fixed handling of headers/footers with respect to endnotes. Now, +when either headers or footers are on, mom picks up the correct +page header/footer on the last page prior to ENDNOTES, gets the +pageheaders correct for endnotes pages *including the last one*, and +picks up correct page headers/footers for the subsequent docs after +COLLATE. + + +Release 1.1.6 +------------- + +BAD NEWS: mom appears to be crippled in some areas when run with +groff 1.19.1. Pending a solution, mom must be run with groff 1.18 + +***NEW*** + +Added TOC capabilities. + +Extended range of endnotes control macros. See the documentation +on endnotes control macros. + +Added a new DOC_TITLE macro, to deal with collated documents that +have an overall title, while each doc has its own separate doc +title (from TITLE). + + Release 1.1.5 ------------- diff -ruN groff-1.19/contrib/mom/TODO groff-1.19.1/contrib/mom/TODO --- groff-1.19/contrib/mom/TODO Wed Jul 10 08:07:37 2002 +++ groff-1.19.1/contrib/mom/TODO Mon Mar 22 07:18:36 2004 @@ -1,21 +1,28 @@ +UNDERLINING +----------- +Explore "the ultimative underline macro" for possible inclusion +into mom. + +NUMBERED HEADS, SUBHEADS and PARAHEADS +-------------------------------------- +Macros to set numbering style (roman, arabic, alpha, etc)? + +FOOTNOTES +--------- +In columnar docs, maybe give user the choice of gathering all +footnotes at the bottom of the last column? + +Figure out a way to bypass the \c requirement before .FOOTNOTE. + +Figure out a way to process blockquotes and quotes that contain +footnotes so that the user doesn't have to use the awful kludge +.BREAKQUOTE. + CONTROL MACROS -- _INDENT -------------- Let user be able to enter decimal fractions as the argument to _INDENT control macros, or, instead, let user be able to enter absolute values with a unit of measure in addition to current behaviour, which is relative. - -LISTS ------ -Possbility of indented, nested lists, html-style. Options for numbered, -alpha-ed, bulleted, dashed. Again, not sure how useful these would be -for mom's target users. As things stand now, it's easy enough to -set up lists with string tabs or hanging indents. - -BIBLIOGRAPHY ------------- -Thinking about macros to *assist* in user-written bibliographies (i.e. -not biblios that get generated automatically at the ends of docs). Style -considerations are a nightmare, though. ------------------------------------------------------------------------ diff -ruN groff-1.19/contrib/mom/examples/README.mom groff-1.19.1/contrib/mom/examples/README.mom --- groff-1.19/contrib/mom/examples/README.mom Thu Jun 13 12:42:00 2002 +++ groff-1.19.1/contrib/mom/examples/README.mom Sun Jan 25 08:19:56 2004 @@ -43,8 +43,8 @@ This is just the tutorial example from the momdocs, ready for previewing. -elvis_syntax ------------- +elvis_syntax.new +---------------- For those who use the vi clone, elvis, you can paste this file into your elvis.syn file. Provided your mom documents have the extension @@ -52,5 +52,8 @@ in elvis_syntax aren't exhaustive, but they go a LONG way to making mom files more readable. +The file elvis_syntax (for pre-2.2h versions of elvis) is no longer +being maintained. Users are encouraged to update to elvis 2.2h or +higher, and to use elvis_syntax.new for mom highlighting. I'll be very happy if someone sends me syntax highlighting rules for vim and emacs. :) diff -ruN groff-1.19/contrib/mom/examples/elvis_syntax groff-1.19.1/contrib/mom/examples/elvis_syntax --- groff-1.19/contrib/mom/examples/elvis_syntax Tue Feb 25 17:42:49 2003 +++ groff-1.19.1/contrib/mom/examples/elvis_syntax Mon Jul 7 22:51:54 2003 @@ -4,11 +4,11 @@ startword .\ inword _( keyword .ALD .ALIAS .ALWAYS_FULLSPACE_QUOTES .ATTRIBUTE_STRING -keyword .AUTHOR .AUTHOR_FAMILY .AUTHOR_FONT .AUTHOR_SIZE .AUTOLEAD +keyword .AUTHOR .AUTHOR_FAMILY .AUTHOR_FONT .AUTHOR_SIZE .AUTOLEAD .BLANKPAGE keyword .BLOCKQUOTE .BLOCKQUOTE_FAMILY .BLOCKQUOTE_FONT .BLOCKQUOTE_QUAD .BLOCKQUOTE_SIZE keyword .B_MARGIN .BR .BR_AT_LINE_KERN .BREAK_QUOTE keyword .CAPS .CENTER .CENTRE -keyword .CHAPTER .CHAPTER_TITLE CHAPTER_STRING .CITATION .CITE .CLOSING +keyword .CHAPTER .CHAPTER_TITLE .CHAPTER_STRING .CITATION .CITE .CLOSING keyword .COLLATE .COL_BREAK .COL_BREAK .COL_NEXT .COLUMNS keyword .COMMENT .CONDENSE .COPYSTYLE keyword .DATE .DEFAULTS @@ -18,7 +18,7 @@ keyword .DOC_LLENGTH .DOC_L_LENGTH .DOC_L_MARGIN .DOC_LMARGIN keyword .DOC_LS .DOC_PS .DOC_PT_SIZE .DOC_QUAD keyword .DOC_RIGHT_MARGIN .DOC_R_MARGIN .DOC_RMARGIN -keyword .DOCTYPE .DOCTYPE_FAMILY .DOCTYPE_FONT .DOCTYPE_SIZE +keyword .DOCTYPE .DOCTYPE_FAMILY .DOCTYPE_FONT .DOCTYPE_SIZE .DOC_TITLE keyword .DRAFT .DRAFT_STRING .DRAFT_WITH_PAGENUMBER keyword .DROPCAP .DROPCAP_ADJUST .DROPCAP_FAMILY .DROPCAP_FONT .DROPCAP_GUTTER .DROPCAP_OFF keyword .EL @@ -31,6 +31,9 @@ keyword .ENDNOTE_NUMBER_FAMILY .ENDNOTE_NUMBER_FONT .ENDNOTE_NUMBER_SIZE keyword .ENDNOTE_NUMBERS_ALIGN_RIGHT .ENDNOTE_NUMBERS_ALIGN_LEFT keyword .ENDNOTE_PARA_INDENT .ENDNOTE_PARA_SPACE .ENDNOTES_FOOTER_CENTER .ENDNOTES_HEADER_CENTER +keyword .ENDNOTE_STRING_CAPS .ENDNOTES_NO_COLUMNS .ENDNOTES_NO_FIRST_PAGENUM +keyword .ENDNOTES_ALLOWS_HEADERS .ENDNOTES_PAGENUM_STYLE .ENDNOTES_FIRST_PAGENUMBER +keyword .ENDNOTE_SINGLESPACE keyword .EPIGRAPH .EPIGRAPH_AUTOLEAD .EPIGRAPH_FAMILY .EPIGRAPH_FONT keyword .EPIGRAPH_INDENT .EPIGRAPH_QUAD .EPIGRAPH_SIZE keyword .EW .EXTEND @@ -52,7 +55,7 @@ keyword .FROM .FT keyword .GREETING keyword .HDRFTR_CENTER .HDRFTR_CENTER .HDRFTR_CENTER_CAPS .HDRFTR_CENTER_FAMILY -keyword .HDRFTR_CENTER_FONT .HDRFTR_CENTER_SIZE .HDRFTR_FAMILY .HDRFTR_GAP +keyword .HDRFTR_CENTER_FONT .HDRFTR_CENTER_SIZE .HDRFTR_FAMILY .HDRFTR_GAP .HDRFTR_CENTER_PAD keyword .HDRFTR_LEFT .HDRFTR_LEFT .HDRFTR_LEFT_CAPS .HDRFTR_LEFT_FAMILY keyword .HDRFTR_LEFT_FONT .HDRFTR_LEFT_SIZE .HDRFTR_MARGIN .HDRFTR_PLAIN keyword .HDRFTR_RIGHT .HDRFTR_RIGHT_CAPS .HDRFTR_RIGHT_FAMILY .HDRFTR_RIGHT_FONT @@ -82,7 +85,7 @@ keyword .NEWPAGE .NEW_PAGE .NO_SUITE .NUMBER_HEADS .NUMBER_PARAHEADS .NUMBER_SUBHEADS keyword .PAD .PADMARKER .PAD_STRING .PAGE .PAGE_LENGTH .PAGELENGTH .PAGEWIDTH keyword .PAGENUM .PAGENUM_FAMILY .PAGENUM_FONT .PAGENUM_HYPHENS -keyword .PAGENUM_ON_FIRST_PAGE .PAGENUM_POS .PAGENUM_SIZE .PAGENUM_STYLE +keyword .PAGENUM_ON_FIRST_PAGE .PAGENUM_POS .PAGENUM_SIZE .PAGENUM_STYLE .PAGENUMBER keyword .PAGINATE .PAGINATION .PAPER keyword .PARAHEAD .PARAHEAD_FAMILY .PARAHEAD_FONT .PARAHEAD_INDENT .PARAHEAD_SIZE keyword .PARA_INDENT .PARA_SPACE @@ -94,13 +97,23 @@ keyword .RESET_FOOTNOTE_NUMBER .RESET_HEAD_NUMBER .RESET_PARAHEAD_NUMBER keyword .RESET_SUBHEAD_NUMBER keyword .REVISION .REVISION_STRING .RIGHT .RLD .R_MARGIN .RW -keyword .SETBOLDER .SETSLANT .SILENT .SLANT_MEANS_SLANT .SMARTQUOTES .SP .SPACE +keyword .SETBOLDER .SETSLANT .SHIM .SILENT .SLANT_MEANS_SLANT .SMARTQUOTES .SP .SPACE keyword .SPREAD .SS .ST .START .STRING .SUBHEAD .SUBHEAD_FAMILY .SUBHEAD_FONT .SUBHEAD_SIZE keyword .SUBTITLE .SUBTITLE_FAMILY .SUBTITLE_FONT .SUBTITLE_SIZE keyword .SWITCH_FOOTERS .SWITCH_HDRFTR .SWITCH_HEADERS +keyword .SUSPEND_PAGINATION .RESTORE_PAGINATION keyword .TAB_SET .TAB .TABSET .TB .TI keyword .TITLE .TITLE_FAMILY .TITLE_FONT .TITLE_SIZE .T_MARGIN -keyword .TN .TO .TQ .TRAP .TYPESIZE +keyword .TN .TO .TOC +keyword .TOC_FAMILY .TOC_PT_SIZE .TOC_LEAD .TOC_PAGENUM_STYLE +keyword .TOC_HEADER_FAMILY .TOC_HEADER_FONT .TOC_HEADER_SIZE .TOC_HEADER_QUAD .TOC_HEADER_STRING +keyword .TOC_TITLE_FAMILY .TOC_TITLE_FONT .TOC_TITLE_SIZE .TOC_TITLE_INDENT +keyword .TOC_HEAD_FAMILY .TOC_HEAD_FONT .TOC_HEAD_SIZE .TOC_HEAD_INDENT +keyword .TOC_SUBHEAD_FAMILY .TOC_SUBHEAD_FONT .TOC_SUBHEAD_SIZE .TOC_SUBHEAD_INDENT +keyword .TOC_PARAHEAD_FAMILY .TOC_PARAHEAD_FONT .TOC_PARAHEAD_SIZE .TOC_PARAHEAD_INDENT +keyword .TOC_PN_FAMILY .TOC_PN_FONT .TOC_PN_SIZE +keyword .TOC_APPENDS_AUTHOR .TOC_RV_SWITCH .TOC_PADDING .PAGINATE_TOC +keyword .TQ .TRAP .TYPESIZE keyword .UNDERLINE .UNDERLINE_ITALIC .UNDERLINE_QUOTES .UNDERLINE_SLANT keyword .UNDERSCORE .UNDERSCORE_2 .UNDERSCORE2 keyword .WS @@ -109,7 +122,7 @@ font fixed FINAL DRAFT font fixed BLOCK QUAD font fixed LEFT RIGHT CENTER CENTRE JUSTIFY TOP BOTTOM -font fixed OFF QUIT END EXIT DONE NO +font fixed OFF QUIT END EXIT DONE NO ALL font fixed PAGE NUMBER STAR font fixed COND EXT font fixed LETTER LEGAL EXECUTIVE LEDGER TABLOID QUARTO FOLIO diff -ruN groff-1.19/contrib/mom/examples/elvis_syntax.new groff-1.19.1/contrib/mom/examples/elvis_syntax.new --- groff-1.19/contrib/mom/examples/elvis_syntax.new Thu Jan 1 01:00:00 1970 +++ groff-1.19.1/contrib/mom/examples/elvis_syntax.new Mon Mar 22 07:18:36 2004 @@ -0,0 +1,72 @@ +" Steve Kirkendall has thoughtfully reworked elvis's syntax +" highlighting so that it now supports nroff constructs like \fBword +" and \(emword, with \fB and \(em being highlighted while "word" is +" not. +" +" There are some other enhancements as well, making it possible +" to have any word beginning with punctuation (i.e. groff +" requests) highlighted. I've decided to take advantage of these +" improvements, which apply to elvis-2.2h onwards, and write a new +" simplified set of syntax highlighting rules for mom. Just plug +" this file at the end of /etc/elvis/elvis.syn to use them. +" +" If you're using an older version of elvis, stick with the +" highlighting rules in the files elvis_syntax. +# elvis.syn -- stores descriptions of languages for use with ":display syntax" + +#Mom +language mom +extension .mom + +startword . +color startword normal + +inword _.' +color inword normal + +other initialpunct +mostly normal + +color args like fixed +color chars like emphasized +color decimals normal +color ellipsis normal +color escapes like keyword +color misc green +font args DA DE EN ES FR IT NL NO PT SV +font args DEFAULT CHAPTER NAMED LETTER +font args TYPESET TYPEWRITE +font args FINAL DRAFT +font args BLOCK QUAD +font args LEFT RIGHT CENTER CENTRE JUSTIFY TOP BOTTOM L R C J +font args OFF QUIT END EXIT DONE NO ALL +font args PAGE NUMBER STAR +font args COND EXT +font args LETTER LEGAL EXECUTIVE LEDGER TABLOID QUARTO FOLIO +font args 10x14 A3 A4 A5 B4 B5 +font args SINGLESPACE +font args FACTOR +font args DASH BULLET ALPHA DIGIT USER +font args RGB CYM CMYK GRAY GREY +prefix \/ \/. \/? \/! \/, \/; \/: +font escapes \/ \/. \/? \/! \/, \/; \/: +prefix \, \,. \,? \,! \,, \,; \,: +font escapes \, \,. \,? \,! \,, \,; \,: +prefix \\ \~ \0 \: \| \^ \& \% \! +font escapes \\ \~ \0 \: \| \^ \& \% \! +prefix \b \c \C \d \D \e \f \f( \h \l \L \p \r \s \s+ \s- \S \u \v \w +font escapes \b \c \C \d \D \e \f \f( \h \l \L \p \r \s \s+ \s- \S \u \v \w +prefix \(bu \(co \(ct \(de \(dg \(di \(em \(en \(mu \(pl \(rg \(sc \(sq \(lq \(rq +font chars \(bu \(co \(ct \(de \(dg \(di \(em \(en \(mu \(pl \(rg \(sc \(sq \(lq \(rq +prefix \(14 \(12 \(34 \(+- +font chars \(14 \(12 \(34 \(+- +prefix \fR \fB \fI \fP \f0 \f1 \f2 \f3 +font chars \fR \fB \fI \fP \f0 \f1 \f2 \f3 +prefix ... +font ellipsis ... +prefix .0 .1 .2 .3 .4 .5 .6 .7 .8 .9 +font decimals . .0 .1 .2 .3 .4 .5 .6 .7 .8 .9 +character \] +string ' +comment \# +comment \" diff -ruN groff-1.19/contrib/mom/examples/macros.mom groff-1.19.1/contrib/mom/examples/macros.mom --- groff-1.19/contrib/mom/examples/macros.mom Wed Sep 4 23:52:46 2002 +++ groff-1.19.1/contrib/mom/examples/macros.mom Sun Jan 25 08:19:56 2004 @@ -274,7 +274,7 @@ \# \# .NEWPAGE \" Start a new page -.T_MARGIN 1i \" Set top margin to 1i (approx. equivalent to .ALD |1i-1v above +.T_MARGIN 1i \" Set top margin to 1i (approx. equivalent to .ALD |1i-1v above) \# \# .FAM T @@ -285,7 +285,7 @@ Example 3: .ALD .25v .UNDERSCORE 3.75p "A \*[BU 2]recipe for enumerated lists using indents" -.SP \" Add an extra line space +.SP .5v \" Add an extra half line space .FAM N \" New Century Schoolbook family .FT R .PT_SIZE 11 @@ -296,6 +296,10 @@ simple enumerated lists. Nested lists are possible, as the example shows; however, the more complex the nesting, the wiser it becomes to use (string) tabs, as seen in Example 4. +.TI 1.5m +\*[BD]Please note: mom\*[PREV] has macros that allow you to set +enumerated lists automatically. These examples merely show hanging +indents and string tabs in use. \# \# .JUSTIFY \" Justify text @@ -374,7 +378,7 @@ Example 4: .ALD .25v .UNDERSCORE 3.75p "A \*[BU 2]recipe for nested lists using string tabs" -.SP +.SP .5v .FAM N .FT R .PT_SIZE 11 diff -ruN groff-1.19/contrib/mom/examples/typeset.mom groff-1.19.1/contrib/mom/examples/typeset.mom --- groff-1.19/contrib/mom/examples/typeset.mom Tue Feb 25 17:42:58 2003 +++ groff-1.19.1/contrib/mom/examples/typeset.mom Wed Oct 22 06:29:12 2003 @@ -406,14 +406,15 @@ Sanctus est lorem ipsum dolor sit amet, consetetur sadipscing. Elitr, sed diam nonumy eirmod tempor, invidunt ut labore et do\%lo\%re magna ali\%quyam. Erat sed diam voluptua, at vero eos et accusam et justo -duo do\%lo\%res et ea rebum amet. Consetetur sadipsc\% -ing elitr sed diam nonumy eirmod tempor invidunt ut -.BREAK_QUOTE \" Needed because blockquote crosses page AND contain footnotes -labore. Et do\%lo\%re magna ali\%quyam erat, sed diam voluptua, at -vero. Eos et accusam et justo duo.\c +rebum amet. Consetetur sadipsc\%ing elitr sed diam nonumy eirmod +sed diam nonumy, eirmod tempor. Invidunt tempor invidunt ut labore.\c .FOOTNOTE -Labore et do\%lo\%re magna ali\%quyam erat sed diam voluptua. +Sed diam nonumy eirmod tempor, invidunt ut labore et do\%lo\%re +magna ali\%quyam. Erat sed diam voluptua, at vero eos et accusam et +justo. .FOOTNOTE OFF +Et do\%lo\%re et magna ali\%quyam erat, sed diam voluptua, at vero. +Eos et accusam et justo duo. .BLOCKQUOTE OFF \# .PP @@ -465,12 +466,12 @@ voluptua at vero eos et accusam. Et justo duo do\%lo\%res et ea rebum, stet clita kasd gubergren, no sea takimata. .PP -Sanctus est lorem ipsum. Dolor sit amet consete- -.BREAK_QUOTE \" Needed because blockquote crosses column AND contain footnotes -tur sadipscing elitr. Sed diam nonumy eirmod tempor invidunt ut -labore. Et do\%lo\%re magna ali\%quyam erat, sed diam voluptua. -At vero eos et accusam et justo duo. Dolores et ea rebum stet clita -kasd gubergren no sea. +Sanctus est lorem ipsum. Dolor sit amet consetetur sadipscing elitr. Sed diam nonumy eirmod tempor invidunt ut +labore. Et do\%lo\%re magna ali\%quyam +erat, sed diam voluptua. +At vero eos et accusam et +.BREAK_QUOTE \"Needed because blockquote crosses a column AND contains a footnote +justo duo. Dolores et ea rebum stet clita kasd gubergren no sea. .PP Takimata lorem ipsum dolor sit amet consetetur sadipscing elitr. Sed diam, nonumy eirmod tempor, invidunt ut labore et do\%lo\%re magna. @@ -528,6 +529,12 @@ takimata lorem. Ipsum dolor sit amet, consetetur sadipscing elitr. Sed diam nonumy eirmod tempor invidunt ut labore et do\%lo\%re magna. Ali\%quyam erat, sed diam voluptua. At vero eos et accusam et justo +duo do\%lo\%res et ea rebum. Stet clita kasd gubergren, no sea +takimata sanctus est. +.PP +Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed +diam nonumy eirmod tempor invidunt ut labore et do\%lo\%re magna +ali\%quyam erat, sed diam voluptua. At vero eos et accusam et justo duo do\%lo\%res et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est. .RIGHT diff -ruN groff-1.19/contrib/mom/examples/typewrite.mom groff-1.19.1/contrib/mom/examples/typewrite.mom --- groff-1.19/contrib/mom/examples/typewrite.mom Thu May 23 23:59:21 2002 +++ groff-1.19.1/contrib/mom/examples/typewrite.mom Mon May 19 07:00:37 2003 @@ -27,6 +27,7 @@ \# Additional style macros \# .NUMBER_PARAHEADS +.HEADER_CENTER_PAD RIGHT 15p \" To get "Outline" in the page header visually centered \# .START .PP @@ -151,7 +152,8 @@ \# Additional style macros \# .EPIGRAPH_FONT I \" TYPEWRITE underlines italics -.HEADER_SIZE -1 +.HEADER_SIZE -1 \" Make page header type size smaller +.HEADER_CENTER_PAD RIGHT 6p \# .START .EPIGRAPH BLOCK diff -ruN groff-1.19/contrib/mom/groff_mom.man groff-1.19.1/contrib/mom/groff_mom.man --- groff-1.19/contrib/mom/groff_mom.man Wed Sep 4 23:44:16 2002 +++ groff-1.19.1/contrib/mom/groff_mom.man Fri Jul 18 09:28:43 2003 @@ -1,7 +1,7 @@ .ig This file is part of groff, the GNU roff type-setting system. -Copyright (C) 2002 Free Software Foundation, Inc. +Copyright (C) 2002, 2003 Free Software Foundation, Inc. written by Werner Lemberg Permission is granted to copy, distribute and/or modify this document @@ -14,6 +14,9 @@ FDL in the main directory of the groff source package. .. . +.do nr groff_mom_C \n[.C] +.cp 0 +. .mso www.tmac . .de TQ @@ -89,6 +92,8 @@ Please send bug reports to the .MTO bug-groff@gnu.org "groff bug mailing list" or directly to the author. +. +.cp \n[groff_mom_C] . .\" Local Variables: .\" mode: nroff diff -ruN groff-1.19/contrib/mom/momdoc/appendices.html groff-1.19.1/contrib/mom/momdoc/appendices.html --- groff-1.19/contrib/mom/momdoc/appendices.html Wed Sep 4 23:48:01 2002 +++ groff-1.19.1/contrib/mom/momdoc/appendices.html Sun Feb 22 10:17:08 2004 @@ -7,8 +7,10 @@ +Next   Prev   Back to Table of Contents +

@@ -18,8 +20,8 @@

@@ -58,7 +60,7 @@ but I still regularly call on her documentation. Elvis, with its html capabilities, lets me write and format mom documents AND peruse her documentation, clicking on links as -necessary, without ever leaveing the comfy confines of my +necessary, without ever leaving the comfy confines of my text editor.

Not everyone, of course, uses an editor with html capabilities. @@ -73,7 +75,7 @@ The reason is simple: Lynx. People who, for whatever reason (choice or necessity), use Lynx to read the documentation must be able to make sense of it. All of it. Graphical examples of mom -in action might have made some parts of the documenation easier to +in action might have made some parts of the documentation easier to write, but would have excluded Lynx-only users. And it goes without saying that the documentation looks fine if you're reading it in a graphical browser. @@ -99,7 +101,7 @@ called open source, even if, a mere humble set of macros standing on the shoulders of a giant named troff, she isn't programming at all.

-As a writer living in a perpeptual state of penury, all the computers +As a writer living in a perpetual state of penury, all the computers I've ever owned have been hand-me-downs -- several generations out-of-date and "resource challenged". Disk space has always been an issue, as has processor speed and available RAM. @@ -132,6 +134,13 @@ has often involved days of testing, interpreting the documentation instead of just using the primitive.

+(ADDENDUM to the previous two paragraphs: A tremendous amount of +effort has gone into creating a groff manual that can be read with +"info," as well as creating truly useful man pages. The info +manual is clear and well-written, so my comments are actually out +of date. I leave them in for the benefit of groff newbies, who may +still find the documents a bit intimidating.) +

For some time now, groff users and macro writers have had the option to use "long" names, yet have mostly chosen not to. With long names, it's possible to create macro sets that are humanly @@ -145,15 +154,11 @@ and a host of other groff goodies that have become part of the whole groff picture under the unflagging guidance of groff's current maintainer, Werner Lemberg. Nearly every macro, number register and -string is "recognisable" simply by its name. The file is +string is "recognizable" simply by its name. The file is heavily commented. A consistent, if idiosyncratic, indenting style is used as well, significantly improving readability. Anyone wanting to futz around with mom's macros should be able to do so with a minimum of head scratching. -

-To all you groff-jocks out there who love the aracana of -groff-as-it-used-to-be, I apologise. To everyone else, I simply say: -Welcome, and enjoy.


@@ -171,13 +176,14 @@ (subscription information available
here) or contact me, Peter Schaffter, directly at +df191@ncf.ca.

-

- df191@ncf.ca -
- +Please include the word "mom" or "groff" in the +Subject: line of any message sent to my personal address, or you +risk the wrath of my implacable spam filters. :)


+Next   Prev   Top   Back to Table of Contents diff -ruN groff-1.19/contrib/mom/momdoc/color.html groff-1.19.1/contrib/mom/momdoc/color.html --- groff-1.19/contrib/mom/momdoc/color.html Thu Jan 1 01:00:00 1970 +++ groff-1.19.1/contrib/mom/momdoc/color.html Mon Mar 22 07:16:36 2004 @@ -0,0 +1,337 @@ + + + +Mom -- Colour + + + + + +Next   +Prev   +Back to Table of Contents + + +

+ Coloured text +

+

+Introduction to coloured text +
+Index of colour macros +

+ + +

Introduction to coloured text

+ + +Mom's support for coloured text is straightforward. +You begin by telling mom about the colours you want +to with +NEWCOLOR +or +XCOLOR. +Afterward, any time you want text to be coloured, you either colour +it with an +inline escape +that contains the colour name (e.g. \*[red] or +\*[blue]) or invoke the macro, +COLOR, +with the name of the colour you want. + +

+For example, say you want to have the name "Jack" in the +sentence "All work and no play makes Jack a dull boy" +appear in yellow. You'd begin by telling mom about +the colour, yellow. There are two ways of doing this; see +NEWCOLOR +and +XCOLOR +for a full explanation of the difference between the two. If you +use XCOLOR, you'd enter this: +

+

+	.XCOLOR yellow
+
+ +If you use NEWCOLOR, you might enter +

+

+	.NEWCOLOR yellow RGB #FFFF00
+
+ + +After "defining" (or "initializing") the colour +"yellow", you'd colourize the name, Jack, either with an +inline escape +

+

+	All work and no play makes \*[yellow]Jack\*[black] a dull boy.
+
+ +or with the COLOR macro +

+

+	All work and no play makes
+	.COLOR yellow
+	Jack
+	.COLOR black
+	a dull boy.
+
+ +Notice, in both examples, that a) you have to set the colour back to +black after "Jack", and b) you don't have to define or +intialize the colour, black. Mom predefines +"black", "BLACK", "white" and +"WHITE" for you. +

+For information on using colour during +document processing, +see +Colour support in document processing. +

+Please note: Mom's colour support is for text only. +She doesn't support "fill" (or "background") +colour for drawn objects. Please also note that if you're +accustomed to using groff's .defcolor to define colours, +and groff's inline \m[<colorname>] to call them, you may +continue to do so without confusing mom. + +

+

Index of colour macros

+ +

+ + + +


+

Creating (initializing) a colour with NEWCOLOR

+
+Macro: NEWCOLOR <colour name> [<colour scheme>] <colour components> + +

+NEWCOLOR lets you create a colour, rather like an +artist mixing paint on a palette. The colour isn't used +immediately; NEWCOLOR merely tells +mom how to mix the colour when you need it. If +you haven't invoked NEWCOLOR (or +XCOLOR), +mom doesn't have a clue what you mean when you +reference a colour (with +COLOR +or +\*[<color name>]). +

+The first argument to NEWCOLOR is a name for your +colour. It can be anything you like--provided it's just one word +long--and can be caps, lower case, or any combination of the two. +

+The second argument, which is entirely optional, is the "colour +scheme" you want mom to use when mixing the +colour. Valid arguments are RGB (3 components, +red green blue), CYM (3 components cyan yellow +magenta), CMYK (4 components cyan magenta yellow +black) or GRAY (1 component). If you omit the +second argument, mom assumes you want RGB. +

+The final argument is the components of your colour. This can be +hexadecimal string starting with a pound sign (#) (for colour values +in the 0-255 range) or two pound signs (##) (for colour values +in the 0-65535 range), or it can be a series of decimal digits, +separated by spaces, one digit per component, with the argument +enclosed in double quotes. (If this is all gibberish to you, see +Tips for newbies.) +

+Thus, to tell mom about a colour named +"YELLOW", you could enter one of the following: +

+

+	.NEWCOLOR YELLOW #FFFF00         \"or ##FFFFFFFF0000 or "1 1 0"
+	.NEWCOLOR YELLOW RGB #FFFF00     \"or ##FFFFFFFF0000 or "1 1 0"
+	.NEWCOLOR YELLOW CYM #00FF00     \"or ##0000FFFF0000 or "0 1 0"
+	.NEWCOLOR YELLOW CYMK #00FF0000  \"or ##0000FFFF00000000 or "1 1 0"
+
+ +After you've told mom about a colour, you can then get +her to set text in that colour either with the inline escape +\*[<colorname>] +or the macro +COLOR. +(See the +example, +above.) +
+

Tips for newbies

+Colour manipulation can be tremendously confusing if you don't have +a background in graphic arts or computing. My advice, if color +intimidates you, is to stick to using mom's +default RGB colour scheme, and to fire up a color chooser that +gives you the RGB values you want for the colour you select. Plug +those values into the components argument to +NEWCOLOR, and you'll get the colour you want. +Both the KDE and gnome desktops have colour selectors that provide +you with the shorter RGB hexadecimal string. If you're not running +KDE or gnome, the X utility, xcolorsel, provides you with a similar +functionality, although it only provides RGB values for 256 +pre-defined colours. If you use xcolorsel, be sure to click the +button "Display format" and select "8 bit truncated +rgb". +

+Alternatively, you can use mom's simpler +XCOLOR +macro to initialize one of the 256 pre-defined X colours by +supplying the name of the color as an argument. +
+ + + +


+

Initializing a colour with XCOLOR

+
+Macro: XCOLOR <X color name> [<alias>] +
+*<X color name> must be all one word, all lower case. +
+(See +
Finding X color names +for how to get a list of valid colour names.) + +

+XCOLOR is similar to NEWCOLOR in +that it tells mom to initialize a colour, but it's +easier to use. All you have to do is pass it, as an argument, the +legal name of one of the 256 pre-defined X colours. The name must +be all one word, and, breaking with mom policy, it +must be entered in lower case. +

+For example, if you want to intialize the X colour, coral, all you +have to do is enter +
+

+	.XCOLOR coral
+
+ +Afterwards +

+

+	.COLOR coral
+
+ +will colourize subsequent text coral until you instruct +mom to return to black, or some other pre-defined +initialized colour. (The +inline escape +\*[coral] will equally colourize text coral after you've +initialized the colour with XCOLOR.) +

+The downside of XCOLOR is that you can't create +custom colours. This restriction, however, is mitigated by the +fact that for many users, 256 colours is more than enough to play +around with. +

+While some X colours have fanciful names (peachpuff, papayawhip, +thistle, snow), many are self-explanatory and self-descriptive in +ordinary colour terms. "blue" is pure (rgb) blue, +"green" is pure (rgb) green, and so on. Furthermore, for +many X colors, there exist four variants, each representing +increasingly darker shades of the same colour. For example, +"blue" (and "blue1") are the brightest forms of +(rgb) blue; "blue2", "blue3" and "blue4" +are increasingly darker shades of the same blue. For that reason, +you may find XCOLOR is a better choice than +NEWCOLOR when it comes to initializing common +colors. +

+The whimsical nature of X colour names sometimes makes for names +that are long to type in, e.g. "mediumspringgreen". +The optional second argument to XCOLOR allows you +to come up with more convenient name by which to reference the +colour. For example, you could enter +

+

+	.XCOLOR mediumspringgreen mygreen
+	    or
+	.XCOLOR mediumspringgreen MYGREEN
+
+ +so that whenever you want text mediumspringgreen-ed, you can use +either .COLOR mygreen (or .COLOR MYGREEN) or +the inline escape \*[mygreen] (or +\*[MYGREEN].) +

+

Finding X color names

+
+There are two ways of finding the names of the pre-defined X +colours. One is to consult the file, rgb.txt, included with +all X11 installations. The location of the file on a Debian +GNU/Linux distribution is typically /etc/X11/rgb.txt. Other +distributions and other X installations may have the file in +another location. The file lists the colour names, but doesn't +show you what the colours actually look like. +

+A better way to get the colour names, as well as to see what the +colours look like, is to fire up a colour chooser (like xcolorsel) +that both lists the colour names and shows a swatch of the colour +as well. +

+Whichever method you use to find X color names, remember that the +names, passed as arguments to XCOLOR, must +be all one word, all in lower case. +
+ + + +


+

Invoking a color

+
+Macro: COLOR <colorname> +
+
Inline: \*[<colorname> +

+ +Once you've told mom about a colour (via +NEWCOLOR or XCOLOR), you use either +the macro, COLOR, or the +inline escape, +\*[<colorname>], to cause mom to +set subsequent text in that colour. See the +example, +above, which shows both in action. +

+NOTE: You can use the +\*[<colorname>] inline escape in any +document processing +macro that takes a +string argument. +However, you must remember to reset the colour at the end of the +argument (typically with \*[black]) unless you want all +subsequent invocations of that particular macro to be colourized. +

+Furthermore, if you use \*[<colorname>] in the +string argument passed to +.HEAD, +.SUBHEAD +or +.PARAHEAD, +and you've requested that any of these types of heads be numbered, +the numbers themselves will not be coloured, only the text you +passed the macro. If you wish the numbers to be colourized as +well, you must explicitly tell mom that you wish +all of the head(s), subhead(s) or parahead(s), including the +numbers, colourized by invoking the appropriate +control macro. + +
+ +


+Next   +Prev   +Top   +Back to Table of Contents + + diff -ruN groff-1.19/contrib/mom/momdoc/cover.html groff-1.19.1/contrib/mom/momdoc/cover.html --- groff-1.19/contrib/mom/momdoc/cover.html Wed Jun 12 21:19:32 2002 +++ groff-1.19.1/contrib/mom/momdoc/cover.html Sun Feb 22 10:17:08 2004 @@ -10,10 +10,11 @@ Next   Prev   Back to Table of Contents +

-

CREATING A COVER PAGE

+

CREATING A COVER PAGE

diff -ruN groff-1.19/contrib/mom/momdoc/definitions.html groff-1.19.1/contrib/mom/momdoc/definitions.html --- groff-1.19/contrib/mom/momdoc/definitions.html Wed Sep 4 23:48:01 2002 +++ groff-1.19.1/contrib/mom/momdoc/definitions.html Sun Feb 22 10:17:08 2004 @@ -10,7 +10,7 @@ Next   Prev   Back to Table of Contents - +

DEFINITIONS OF TERMS USED IN THIS MANUAL

@@ -28,7 +28,7 @@ them here. Refer back to this section should you encounter a word or concept you're not familiar with. Words in these definitions that are defined elsewhere in this section are marked with asterisks. -
+


@@ -121,15 +121,15 @@ point text reverts to the left margin.
Em/en -
A relative measurement equal to the width of the letter M at a -given *point size in a given *font. -Since most Ms are designed square, an em is usually (but sometimes -erroneously) considered to be the same size as the current point size -(i.e. if the point size of the type is 12, one em equals 12 points). -An en is equal to the width of a letter N (historically 2/3 of an em, -although groff treats an en as 1/2 of an em). Typically, ems and -ens are used to measure indents, or to define the length of dashes -(long hyphens). +
An em is a relative measurement equal to the width of the +letter M at a given *point size in a given +*font. Since most Ms are designed square, an em is +usually (but sometimes erroneously) considered to be the same size +as the current point size (i.e. if the point size of the type is 12, +one em equals 12 points). An en is equal to the width of a letter +N (historically 2/3 of an em, although groff treats an en as 1/2 of +an em). Typically, ems and ens are used to measure indents, or to +define the length of dashes (long hyphens).
Family
The collective name by which a collection of @@ -187,7 +187,7 @@ type was set from small, rectangular blocks of wood or metal, each block having exactly one letter. Because the edge of each block determined the edge of each letter, certain letter combinations (TA, -for example) didn't fit together well and had to be morticed by hand +for example) didn't fit together well and had to be mortised by hand to bring them visually closer. Modern typesetting systems usually take care of kerning automatically, but they're far from perfect. Professional typesetters still devote a lot of time to fitting letters @@ -256,9 +256,9 @@
When only one margin of type is flush, lines of type are quadded in the direction of the flush margin. Therefore, quad left means the left margin is flush, the right isn't. Quad right means the right -margin is flush, the left isn't. Quad center means neither the left +margin is flush, the left isn't. Quad centre means neither the left nor the right margin is flush; rather, lines of type are quadded on -both sides so that type appears centered on the page. +both sides so that type appears centred on the page.
Rag
Describes a margin that isn't flush. Rag right means the right @@ -282,7 +282,8 @@
Equal to *word space, however words separated by an unbreakable space will always be kept together on the same line. Expands and contracts like word space. Useful for proper names, which -should never be broken. In groff, unbreakable space is entered with +one should, whenever possibly, avoid splitting onto two lines. In +groff, unbreakable space is entered with

 	\~
@@ -300,6 +301,7 @@
 point size.  Generally used to mean the average height of the bowl
 of lower case letters.
 
+


@@ -378,7 +380,7 @@ *input lines are added one at a time to the output line until no more words fit. Then, depending whether text is to be *justified or *quadded (left, -right, or center), and depending on whether automatic hyphenation +right, or centre), and depending on whether automatic hyphenation is turned on, groff attempts to hyphenate the last word, or, barring that, spreads and breaks the line (when justification is turned on) or breaks and quads the line (when quadding is turned on). @@ -481,13 +483,13 @@
Unit of measure
The single letter after a *numeric argument that tells mom what measurement scale the argument -should use. Commonly valid units are: +should use. Common valid units are:

@@ -539,11 +541,12 @@ line. In fill modes, groff treats a space at the beginning of an input line as meaning "start a new line and put a space at the beginning of it." If you want groff to interpret periods -and apostrophes at the beginning of input lines literally (ie. print +and apostrophes at the beginning of input lines literally (i.e. print them), or spaces at the beginning of input lines as just garden variety word spaces, you must start the line with the zero-width character. +


@@ -609,7 +612,7 @@
A horizontal gap in *running text, frequently set off by typographic symbols such as asterisks or daggers. Used to indicate a shift in the content of a document (e.g. a scene change in a -short story). +short story). Also commonly called a scene break.
Paragraph head
A title joined to the body of a paragraph; hierarchically one diff -ruN groff-1.19/contrib/mom/momdoc/docelement.html groff-1.19.1/contrib/mom/momdoc/docelement.html --- groff-1.19/contrib/mom/momdoc/docelement.html Tue Feb 25 17:42:58 2003 +++ groff-1.19.1/contrib/mom/momdoc/docelement.html Mon Mar 22 07:18:36 2004 @@ -10,10 +10,10 @@ Next   Prev   Back to Table of Contents - +

-

THE DOCUMENT ELEMENT TAGS

+

THE DOCUMENT ELEMENT TAGS

Epigraphs -color, flavour, or comment on the document they precede. Typically, -they are centered at the top of a document's first page (underneath the +colour, flavour, or comment on the document they precede. Typically, +they are centred at the top of a document's first page (underneath the title) and set in a smaller point size than that of paragraph text.

-By default, mom sets epigraphs centered and +By default, mom sets epigraphs centred and unfilled; this lets you input them on a line for line basis. This behaviour can be changed to accomodate filled epigraph "blocks." -
+

@@ -298,6 +335,7 @@ QUOTE or BLOCKQUOTE. +

Epigraph control macros

@@ -308,6 +346,7 @@ .EPIGRAPH_FAMILY default = prevailing document family; default is Times Roman .EPIGRAPH_FONT default = roman .EPIGRAPH_SIZE default = -1.5 (points) +.EPIGRAPH_COLOR default = black .EPIGRAPH_AUTOLEAD default = 2 points (The next two apply to "block" style epigraphs only) @@ -337,7 +376,7 @@ care of automatically.

By default, mom does not indent the first paragraph -of a document, nor paragraphs that fall imediately after +of a document, nor paragraphs that fall immediately after heads or subheads. @@ -361,7 +400,7 @@ -- to a new page, which is not what you want.

TIP: The last thing you want while you're writing -and editing drafts of a document (particulary stories and chapters) +and editing drafts of a document (particularly stories and chapters) is a text file cluttered up with PP's. The visual interruption in the flow of text is a serious obstacle to creativity and critiquing. @@ -385,7 +424,7 @@ .blm PP tells groff that all blank lines are really the macro PP. -
+

@@ -416,14 +455,16 @@

  1. Family control
  2. Font control +
  3. Paragraph colour
  4. Leading/linespacing control
  5. Justification/quad control
  6. First-line indent control -
  7. Intitial paragraphs indent control +
  8. Initial paragraphs indent control
  9. Paragraph spacing control

1. Family

+

The paragraph family is set with @@ -442,8 +483,10 @@

Mom's default paragraph (and document) family is Times Roman. +

2. Font -- PP_FONT

+

To change the font used in regular text paragraphs, use .PP_FONT, @@ -460,8 +503,60 @@ with the appropriate control macros.

Mom's default paragraph font is medium roman. +

+ +

3. Paragraph colour

+

+Mom has no special control macro for colourizing +paragraphs. If you wish a colourized paragraph, you must use the +macro, +COLOR, +or the +inline escape, +\*[<colorname>], +after .PP. The colour must be one +pre-defined (or "initialized") with +NEWCOLOR +or +XCOLOR. +

+Please note that unless you change the colour back to it's default +(usually black) at the end of the paragraph, all subsequent +paragraphs will be set in the new colour, although most other +elements of your document will continue to be set in the default +colour (usually black). +

+For example, assuming you have defined the colour, blue, +

+

+	.PP
+	.COLOR blue
+	<first paragraph>
+	.HEAD "Monty Python"
+	.SUBHEAD "The Origins of Spam"
+	.PP
+	<second paragraph>
+
+ +the first paragraph will be blue, the head and subhead will be in +the document's default colour (usually black), and the second +paragraph will be in blue. +

+The one document element that is affected by changing the colour +of paragraphs are +paraheads, +since they are attached directly to the body of paragraphs. In +other words, if you change the colour of a paragraph and do not +reset the paragraph colour back to its default, subsequent paraheads +will appear in the same colour as your paragraphs unless you have +explicitly told mom you want a pre-defined (or +"initialized") color (usually black) for your paraheads. +

+See the footnote to +.PARAHEAD_COLOR. -

3.Leading

+

4. Leading

+

The paragraph leading is set with @@ -483,19 +578,25 @@ HYPER-IMPORTANT NOTE: It is extremely unwise to change paragraph leading with LS, as it will, in all cases, screw up mom's ability to balance the bottom margin -of pages. +of pages. Should you absolutely need to change paragraph leading +with LS, and subsequently want mom +to get back on the right leading track, use the +SHIM +macro.

Mom's default paragraph leading (document leading) is 16 points, adjusted to fill the page. +

-

4. Justification/quad

+

5. Justification/quad

+

The justification/quad-direction of regular text paragraphs (i.e. justified, or filled and quadded -left/right/center) is set with +left/right/centre) is set with JUSTIFY or QUAD @@ -524,12 +625,17 @@ differently; subsequent paragraphs remain unaffected.

Mom's default justification/quad-direction for -paragraphs is justified for -PRINTSTYLE_TYPESET -and quad left for -PRINTSTYLE_TYPEWRITE. - -

5. First-line indent -- PARA_INDENT

+paragraphs is +
+ +

+

6. First-line indent -- PARA_INDENT

+

The first-line indent of paragraphs is controlled by PARA_INDENT, which takes one argument: the size of the indent. PARA_INDENT may be used before @@ -551,7 +657,7 @@ quotes and blockquotes, -whose overal indenting from the left and (where applicable) right +whose overall indenting from the left and (where applicable) right margins is relative to PARA_INDENT. Furthermore, the first-line indent of paragraphs within these document elements (as well as footnotes) is also relative to PARA_INDENT (always @@ -562,8 +668,10 @@ PRINTSTYLE_TYPESET and 3 picas (1/2 inch) for PRINTSTYLE_TYPEWRITE. +

-

6. Indenting initial paragraphs -- INDENT_FIRST_PARAS

+

7. Indenting initial paragraphs -- INDENT_FIRST_PARAS

+

By default, mom does not indent the first paragraph of a document, nor the first paragraph after a head or subhead, nor the first paragraphs of @@ -582,8 +690,10 @@ passing it any argument (OFF, QUIT, Q, X...) cancels its effect, meaning that first paragraphs will once again NOT be indented. +

-

7. Spacing paragraphs -- PARA_SPACE

+

8. Spacing paragraphs -- PARA_SPACE

+

By default, mom does not insert a blank line between paragraphs. If you would like her to do so, invoke the macro .PARA_SPACE with no argument, either @@ -593,6 +703,7 @@ it any argument (OFF, QUIT, Q, X...) cancels its effect, meaning that paragraphs will once again NOT be separated by a blank line. +


@@ -613,14 +724,14 @@ and paraheads.

-By default, heads are centered on the page, underlined, +By default, heads are centred on the page, underlined, all in caps. A double linespace precedes each head. In PRINTSTYLE TYPESET, heads are bold, slightly larger than paragraph text.

If these defaults don't suit you, you can change them with the head control macros. -
+

@@ -639,6 +750,33 @@ and mom is unable to fit the head plus at least one line of text underneath it, she will set the head at the top of the next page. +

+ADDITIONAL NOTE: If an +input line +in a head (i.e. one of the lines surrounded by double-quotes) has +to be broken by mom in order to fit the current +line-length (say, a narrow column measure), the head underline +(underscore) will not behave. You'll recognize the problem as soon +as you preview your document. If you encounter a head that +misbehaves with respect to underlining, the solution is to +supply each line as you want it as a separate argument +(surrounded by double-quotes) to the HEAD macro. +

+For example, if mom breaks +

+	.HEAD "This is a very, very, very long head"
+
+into +
+	This is a very, very, very
+	        long head        
+
+ +you'll see the misbehaving underscore and should change the +argument to HEAD to +
+	.HEAD "This is a very, very very" "long head"
+

Head control macros

@@ -648,7 +786,7 @@ mom's defaults.

    -
  1. Family/font/size/quad +
  2. Family/font/size/colour/quad
  3. Caps
  4. Pre-head space
  5. Underlining @@ -666,10 +804,12 @@ .HEAD_FAMILY default = prevailing document family; default is Times Roman .HEAD_FONT default = bold .HEAD_SIZE default = +1 (point) +.HEAD_COLOR default = black .HEAD_QUAD default = CENTER

    2. Capitalizing heads -- HEAD_CAPS

    +

    By default, mom sets heads in caps, regardless of the string(s) @@ -685,8 +825,10 @@ any argument you like instead of OFF (END, QUIT, Q, X...). To turn HEAD_CAPS back on, simply invoke it without an argument. +

    3. Space before heads -- HEAD_SPACE

    +

    By default, mom deposits 2 blank lines prior to every head. If you'd prefer just a single blank line, do

    @@ -698,8 +840,10 @@ any argument you like instead of OFF (END, QUIT, Q, X...). To restore the space before heads to 2 blank lines, invoke HEAD_SPACE without an argument. +

    4. Underlining heads -- HEAD_UNDERLINE

    +

    By default, mom underlines heads. To change this behaviour, do

    @@ -711,8 +855,10 @@ use any argument you like instead of OFF (END, QUIT, Q, X...). To restore underlining of heads, invoke HEAD_UNDERLINE without an argument. +

    5. Number heads -- NUMBER_HEADS

    +

    If you'd like your heads numbered, simply invoke NUMBER_HEADS with no argument. Mom will number all subsequent heads automatically (in ascending order, @@ -729,8 +875,10 @@ NUMBER_HEADS with any argument (OFF, QUIT, END, X...). Head numbering will cease, and the head number will not be included in the numbering of subheads and/or paraheads. +

    6. Reset head numbering -- RESET_HEAD_NUMBER

    +

    Should you wish to reset the head number to "1", invoke RESET_HEAD_NUMBER with no argument. If, for some reason, you want mom to use a head number that is not @@ -743,8 +891,10 @@ Your next head will be numbered "6" and subsequent heads will be numbered in ascending order from "6". +

    7. Vertical inline escapes inside heads

    +

    If you need to adjust the baseline position of a head (e.g. the head falls at the top of a column and @@ -755,9 +905,9 @@ in other columns), you can embed a vertical motion inline escape (either -mom's +mom's or -groff's +groff's in the string(s) you pass to HEAD

    For example, @@ -779,11 +929,6 @@ or .HEAD "\[DOWN 3p]First line" "\[DOWN 3p]Next line" - - - - -


    @@ -811,7 +956,7 @@

    If these defaults don't suit you, you can change them with the subhead control macros. -
    +

    @@ -836,7 +981,7 @@ macros, there are macros to manage subhead numbering.

      -
    1. Family/font/size/quad +
    2. Family/font/size/colour/quad
    3. Numbering
    4. Reset subhead numbering
    5. Vertical inline escapes inside subheads @@ -851,10 +996,12 @@ .SUBHEAD_FAMILY default = prevailing document family; default is Times Roman .SUBHEAD_FONT default = bold .SUBHEAD_SIZE default = +.5 (point) +.SUBHEAD_COLOR default = black .SUBHEAD_QUAD default = LEFT

      2. Number subheads -- NUMBER_SUBHEADS

      +

      If you'd like your subheads numbered, simply invoke .NUMBER_SUBHEADS with no argument. Mom will number all subsequent subheads automatically @@ -869,8 +1016,10 @@ NUMBER_SUBHEADS with any argument (OFF, QUIT, END, X...). Subhead numbering will cease, and the subhead number will not be included in the numbering of paraheads. +

      3. Reset head numbering -- RESET_SUBHEAD_NUMBER

      +

      Should you wish to reset the subhead number to "1", invoke RESET_SUBHEAD_NUMBER with no argument. If, for some reason, you want mom to use a subhead number that is not @@ -888,9 +1037,7 @@ See Vertical inline escapes inside heads. The information there applies equally to subheads. - - -
      +


      @@ -917,7 +1064,7 @@

      If these defaults don't suit you, you can change them with the parahead control macros. -
      +

      @@ -937,20 +1084,21 @@ HEAD and SUBHEAD). +

      Parahead control macros

      -In addition to the family/font/size/indent control macros, there are -macros to manage parahead numbering. +In addition to the family/font/size/colour/indent control macros, +there are macros to manage parahead numbering.

        -
      1. Family/font/size +
      2. Family/font/colour/size
      3. Indent
      4. Numbering
      5. Reset parahead numbering

      -

      1. Family/font/size

      +

      1. Family/font/size/colour

      See Arguments to the control macros. @@ -959,9 +1107,18 @@ .PARAHEAD_FAMILY default = prevailing document family; default is Times Roman .PARAHEAD_FONT default = bold italic .PARAHEAD_SIZE default = +.5 (point) +.PARAHEAD_COLOR default = black* + +*If you colourize paragraph text, paraheads will appear in the same +colour as the text unless you explicitly tell mom to colour them +otherwise by invoking .PARAHEAD_COLOR. If you do want paraheads +that are coloured the same as paragraph text, it's generally a good +idea to invoke .PARAHEAD_COLOR anyway (with the same colour used +for paragraph text), just to let mom know.

      2. Indent

      +

      Unlike other control macros that end in _INDENT, the argument to the macro that controls indenting of paragraph heads @@ -989,8 +1146,10 @@ are not indented unless you turn INDENT_FIRST_PARAS on. +

      3. Number paraheads -- NUMBER_PARAHEADS

      +

      If you'd like your paraheads numbered, simply invoke .NUMBER_PARAHEADS with no argument. Mom will number all subsequent paraheads automatically @@ -1006,8 +1165,10 @@ Should you wish to stop parahead numbering, invoke NUMBER_PARAHEADS with any argument (OFF, QUIT, END, X...). Parahead numbering will cease. +

      4. Reset head numbering -- RESET_PARAHEAD_NUMBER

      +

      Should you wish to reset the parahead number to "1", invoke RESET_PARAHEAD_NUMBER with no argument. If, for some reason, you want mom to use a parahead number that is not @@ -1020,7 +1181,7 @@ Your next parahead will be numbered "7" and subsequent paraheads will be numbered in ascending order from "7". -
      +


      @@ -1033,10 +1194,10 @@

      By default, mom marks author linebreaks -with three centered asterisks. You can change this behaviour +with three centred asterisks. You can change this behaviour with the linebreak character control macro. -
      +

      @@ -1074,12 +1235,13 @@ [an asterisk], \(dg [a dagger], \f(ZD\N'141\fP [an arbitrary character from Zapf Dingbats], \l'4P' [a 4-pica long rule]). Mom sets the character -centered on the current line length. +centred on the current line length. (See "man groff_char" +for a list of all legal groff characters.)

      The second argument is the number of times to repeat the character.

      The third argument is a +|- value by which to raise (+) or lower (-) -the character in order to make it appear visually centered between +the character in order to make it appear visually centred between sections of text. This lets you make vertical adjustments to characters that don't sit on the baseline @@ -1101,6 +1263,16 @@ PRINTSTYLE TYPESET; the vertical adjustment is -2 points for PRINTSTYLE TYPEWRITE). + +

      Linebreak colour control macro

      +

      + + Macro: LINEBREAK_COLOR <color name> + +

      +To change the colour of the linebreak character(s), simply invoke +LINBREAK_COLOR with the name of a pre-defined (or +"initialized") colour.


      @@ -1131,9 +1303,13 @@ (PRINTSTYLE TYPEWRITE), indented from the left margin. Obviously, she's thinking "quotes from poetry or song lyrics", but with the -quote control macros you can change her defaults so -QUOTE serves other needs, e.g. entering snippets of -programming code, command line instructions, and so on. +quote control macros +you can change her defaults so QUOTE serves other +needs, e.g. entering verbatim snippets of programming code, command +line instructions, and so on. (See the +tip +below for suggestions about including programming code snippets in +documents.)

      Besides indenting quotes, mom further sets them @@ -1158,7 +1334,49 @@ BLOCKQUOTE, as does the control macro QUOTE_INDENT. -
      +

      +TIP: +If you want to include snippets of programming code in +mom documents, you may come acropper of the fact +that groff (and mom's) escape character is the +backslash. In order for mom not to interpret +backslashes that occur in code snippets as escapes, you have to +tell mom that the backslash character is +(temporarily) no longer the escape character. The easiest way +to do this is to set the escape character to something else for +the duration of the code snippet. You accomplish this with +ESC_CHAR, like this: +

      +

      +	.ESC_CHAR c
      +
      + +where "c", above, is the alternate escape character +(which should be a character that does not appear in the code). To +set the escape character back to the backslash, simply invoke +.ESC_CHAR by itself (i.e. with no argument). +

      +Because mom, by default, sets the text after +.QUOTE in italic (for PRINTSTYLE +TYPESET) or underlined (for PRINTSTYLE +TYPEWRITE), you'll want to change that behaviour as +well. Therefore, a recipe for setting verbatim code snippets using +QUOTE could be (assuming you want a fixed width +font like Courier): +

      +

      +	\# You only need the first two lines before the first invocation
      +	\# of QUOTE.  They stay in effect for all subsequent invocations.
      +	\#
      +	.QUOTE_FONT       CR    \" Set quote font to Courier roman
      +	.UNDERLINE_QUOTES OFF   \" Don't underline quotes in TYPEWRITE
      +	.QUOTE
      +	.ESC_CHAR ^             \" Change escape character to ^
      +	<code snippet>
      +	.ESC_CHAR               \" Restore escape character to \
      +	.QUOTE OFF
      +
      +
      @@ -1186,7 +1404,7 @@

      Quote control macros

        -
      1. Family/font/size/indent +
      2. Family/font/size/colour/indent
      3. Spacing above and below (typeset only)
      4. Underline quotes (typewrite only)
      5. Manually break a footnoted quote that crosses pages/columns @@ -1200,13 +1418,15 @@
         .QUOTE_FAMILY default = prevailing document family; default is Times Roman
         .QUOTE_FONT   default = italic
        -.QUOTE_SIZE   default = 0 (i.e. same size as paragraph text)
        +.QUOTE_SIZE   default = +0 (i.e. same size as paragraph text)
        +.QUOTE_COLOR  default = black
         .QUOTE_INDENT default = paragraph indent x 3 (typeset); x 2 (typewrite)
                      (note that this macro also sets the indents (left and right)
                       for blockquotes)
         

        2. Spacing above and below -- ALWAYS_FULLSPACE_QUOTES (typeset only)

        +

        If you'd like mom always to put a full linespace above and below quotes, invoke .ALWAYS_FULLSPACE_QUOTES with no argument. If you wish to restore mom's @@ -1218,8 +1438,10 @@ NOTE: This macro also sets mom's spacing policy for blockquotes. +

        3. Underlining -- UNDERLINE_QUOTES (typewrite only)

        +

        By default in PRINTSTYLE TYPEWRITE, mom underlines quotes. If you'd rather she didn't, @@ -1237,8 +1459,10 @@ you must also make sure that ITALIC_MEANS_ITALIC is enabled (see PRINTSTYLE TYPEWRITE control macros). +

        4. Manually break a footnoted quote -- BREAK_QUOTE

        +

        Exceptionally, a quote or blockquote containing a footnote may cross a page or column. When this happens, the footnote marker may not be correct for its position relative to other footnotes on the page, and @@ -1252,7 +1476,7 @@ BREAK_QUOTE may be used with both quotes and blockquotes, and hence is aliased as BREAK_BLOCKQUOTE, BREAK_CITATION and BREAK_CITE. -
        +


        @@ -1290,8 +1514,11 @@ Reasons for this. If you can't live with the limitation, change the leading of blockquotes (after invoking the tag) with LS, -but know that there will be Bottom Margin Consequences. -
        +but know that there will be Bottom Margin Consequences unless you +use the +SHIM +macro after you turn the blockquote off. +

        @@ -1332,7 +1559,7 @@

        Blockquote control macros

          -
        1. Family/font/size/indent +
        2. Family/font/size/colour/indent
        3. Spacing above and below (typeset only)
        4. Manually break a footnoted blockquote that crosses pages/columns
        @@ -1346,11 +1573,13 @@ .BLOCKQUOTE_FAMILY default = prevailing document family; default is Times Roman .BLOCKQUOTE_FONT default = italic .BLOCKQUOTE_SIZE default = -1 (point) +.BLOCKQUOTE_COLOR default = black .QUOTE_INDENT default = paragraph indent x 3 (typeset); x 2 (typewrite) (note that this macro also sets the left indent for quotes)

        2. Spacing above and below -- ALWAYS_FULLSPACE_QUOTES (typeset only)

        +

        If you'd like mom always to put a full linespace above and below blockquotes, invoke .ALWAYS_FULLSPACE_QUOTES with no argument. If you wish to restore mom's @@ -1362,7 +1591,363 @@ NOTE: This macro also sets mom's spacing policy for quotes. -
        +

        +


        + + + +

        Nested lists

        + +

        +Lists are points or items of interest or importance that are +separated from +running text +by enumerators. Some typical enumerators are +en-dashes, +bullets, +digits and letters. +

        +Setting lists with mom is easy. First, you +initialize a list with the LIST macro. Then, for +every item in the list, you invoke the macro, ITEM, +followed by the text of the item. When a list is finished, you +exit the list with LIST OFF (or +QUIT, END, X, +etc.) +

        +By default mom starts each list with the enumerator +flush with the left margin of running text that comes before it, +like this: +

        +

        +	My daily schedule needs organizing.  I can't
        +	seem to get everything done I want.
        +	o an hour's worth of exercise
        +	o time to prepare at least one healthy
        +	  meal per day
        +	o reading time
        +	o work on mom
        +	o writing
        +	  - changes from publisher
        +	  - current novel
        +	o a couple of hours at the piano
        +
        + +In other words, mom does not, by default, indent +entire lists. Indenting a list is controlled by the macro, +SHIFT_LIST. +(This is a design decision; there are too many instances where a +default indent is not desirable.) Equally, mom +does not add any extra space above or below lists. +

        +Lists can be nested (as in the example above). In other words, you +can set lists within lists, each with an enumerator (and possibly, +indent) of your choosing. In nested lists, each invocation of +LIST OFF takes you back to the previous depth (or +level) of list, with that list's enumerator and indent intact. The +final LIST OFF exits lists completely and returns +you to the left margin of running text. +

        +Finally, lists can be used in documents created with either the +document processing macros or just the typesetting macros. +

        + + + +


        +

        + + Macro: LIST [ BULLET | DASH | DIGIT | ALPHA | USER ] [ <separator> | <user-defined enumerator> ] [ <off> ] + +

        +Invoked by itself (i.e. with no argument), LIST +initializes a list (with bullets as the default enumerator). +Afterwards, each block of input text preceded by +.ITEM, +on a line by itself, is treated as a list item. +

        +The optional arguments BULLET, +DASH, DIGIT (for Arabic +numerals), ALPHA (for lowercase letters) and +USER allow you to say what kind of enumerator you +want for a given list. +

        +If you choose DIGIT or ALPHA, you +may enter the optional argument separator to say +what kind of separator you want after the enumerator. The separator +can be anything you like. The default for DIGIT is +a period (dot), like this: +

        +

        +	1. A list item
        +
        + +The default separator for ALPHA is a right +parenthesis, like this: +

        +

        +	a) A list item
        +
        + +If you want digits with a right-parenthesis separator, you'd do +

        +

        +	.LIST DIGIT )
        +	.ITEM
        +	A list item
        +
        + +which would produce +

        +

        +	1) A list item
        +
        + +BULLET, DASH and +USER do not take a separator. +

        +USER lets you make up your own enumerator. For +example, if you want a list enumerated with =>, +

        +

        +	.LIST USER =>
        +	.ITEM
        +	A list item
        +
        + +will produce +

        +

        +	=> A list item
        +
        + +If the argument to USER contains spaces, you must +enclose the argument in double quotes. +

        +Any single argument other than BULLET, +DASH, DIGIT, +ALPHA or USER takes you out of the +current list. If you are at the first list-level (or -depth), +mom returns you to the left margin of running text. +Any indents that were in effect prior to setting the list are fully +restored. If you are in a nested list, mom moves +you back one list-level and restores the enumerator, separator and +indent appropriate to that level. +

        +Each invocation of LIST must be matched by a +corresponding LIST OFF in order to fully exit +lists. For example, +

        +

        +	Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
        +	sed diam nonumy eirmod tempor invidunt ut labore.
        +	o List item in level 1
        +	o List item in level 1
        +	  - List item in level 2
        +	  - List item in level 2
        +	Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
        +	sed diam nonumy eirmod tempor invidunt ut labore.
        +
        + +is created like this: +

        +

        +	Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
        +	sed diam nonumy eirmod tempor invidunt ut labore.
        +	.LIST BULLET
        +	.ITEM
        +	List item in level 1
        +	.ITEM
        +	List item in level 1
        +	.LIST DASH
        +	.ITEM
        +	List item in level 2
        +	.ITEM
        +	List item in level 2
        +	.LIST OFF    \" Turn level 2 list off
        +	.LIST OFF    \" Turn level 1 list off
        +	Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
        +	sed diam nonumy eirmod tempor invidunt ut labore.
        +
        + +NOTE: Every time you invoke LIST +to start a list (as opposed to exiting one), you must supply an +enumerator (and optionally, a separator) for the list, unless you +want mom's default enumerator, which is a bullet. +Within nested lists, mom stores the enumerator, +separator and indent for any list you return backwards to +(i.e. with LIST OFF), but does not store any +information for lists you move forward to. +

        + +


        +

        + + Macro: ITEM +

        +After you've initialized a list with +LIST, +precede each item you want in the list with ITEM. +Mom takes care of everything else with respect to +setting the item appropriate to the list you're in. +

        +In document processing, it is legal to have list items that contain +multiple paragraphs. Simply issue a +PP +request for each paragraph following the first item. +I.e., don't do this: +

        +

        +	.ITEM
        +	.PP
        +	Some text...
        +	.PP
        +	A second paragraph of text
        +
        + +but rather +

        +

        +	.ITEM
        +	Some text...
        +	.PP
        +	A second paragraph of text
        +
        +
        + +

        List control macros

        +
          +
        1. Indenting lists (SHIFT_LIST) +
        2. Resetting an initialized list's enumerator (RESET_LIST) +
        3. Padding digit enumerators (PAD_LIST_DIGITS) +
        + +

        1. Indenting lists -- SHIFT_LIST

        +

        +If you want a list to be indented to the right of running text, or +indented to the right of a current list, use the macro +SHIFT_LIST immediately after +LIST. +SHIFT_LIST takes just one argument: the amount by +which you want the list shifted to the right. The argument requires +a +unit of measure, +

        +SHIFT_LIST applies only to the list you +just initialized with LIST. It does not carry +over from one invocation of LIST to the next. +However, the indent remains in effect when you return to a +list level in a nested list. +

        +For example, if you want a 2-level list, with each list indented to +the right by 18 +points, +

        +

        +	Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
        +	sed diam nonumy eirmod tempor invidunt ut labore.
        +	.LIST           \" List 1
        +	.SHIFT_LIST 18p \" Indent 18 points right of running text
        +	.ITEM
        +	List 1 item
        +	.ITEM
        +	List 1 item
        +	.LIST DASH      \" List 2
        +	.SHIFT_LIST 18p \" Indent 18 points right of list 1
        +	.ITEM
        +	List 2 item
        +	.ITEM
        +	List 2 item
        +	.LIST OFF       \" Move back to list 1
        +	.ITEM
        +	List 1 item
        +	.ITEM
        +	List 1 item
        +	.LIST OFF       \" Exit lists
        +	Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
        +	sed diam nonumy eirmod tempor invidunt ut labore.
        +
        + +produces (approximately) +

        +

        +	Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
        +	sed diam nonumy eirmod tempor invidunt ut labore.
        +	    o List 1 item
        +	    o List 1 item
        +	        - List 2 item
        +	        - List 2 item
        +	    o List 1 item
        +	    o List 1 item
        +	Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
        +	sed diam nonumy eirmod tempor invidunt ut labore.
        +
        + +

        2. Resetting an initialized list's enumerator -- RESET_LIST

        +

        +In nested lists, if your choice of list enumerator for a given level +of list is either DIGIT or ALPHA, +you may sometimes want to reset the list's enumerator back to +"1" or "a" when you return, within the nest, to +that list. Consider the following: +

        +

        +	Things to do religiously each and every day:
        +	1. Take care of the dog
        +	   a) walk every day
        +	   b) brush once a week
        +	      - trim around the eyes every fourth brushing
        +	      - don't forget to check nails
        +	2. Feed the cat
        +	   a) soft food on Mon., Wed. and Fri.
        +	   b) dry food on Tues., Thurs. and Sat.
        +	   c) canned tuna on Sunday
        +
        + +Normally, within a nested list, when you return to an alpha- or +digit-enumerated list, the enumerator continues incrementing from +where it left off. That means, in the example above, the normal +state of affairs for the alpha'ed list under "2. Feed the +cat" would be c), d) and e). The solution, in such a case, is +simply to reset the enumerator --before ITEM!-- +with the macro, RESET_LIST. +

        +RESET_LIST does exactly what it says -- resets the +list -- and doesn't take any arguments. +

        +

        3. Padding digit enumerators (PAD_LIST_DIGITS)

        +

        +When your choice of enumerators is DIGIT AND the +number of items in the list exceeds nine (9), you have to make a +design decision: should mom leave room for the +extra numeral in two-numeral digits to the right or the left of +the single-numeral digits? If you want the extra space to the +right, just invoke the macro, PAD_LIST_DIGITS by +itself. This will produce something like +

        +

        +	8.  List item
        +	9.  List item
        +	10. List item
        +
        + +If you want the extra space to the left, invoke +PAD_LIST_DIGITS with the single argument, +LEFT, which will produce +

        +

        +	 8. List item
        +	 9. List item
        +	10. List item
        +
        + +Of course, if the number of items in the list is less than ten +(10), there's no need for PAD_LIST_DIGITS. +


        @@ -1394,7 +1979,7 @@ Mom takes care of everything: putting footnote markers in the body of the document, keeping track of how many footnotes are on the page, identifying the footnotes -themeselves appropriately, balancing them properly with the botton +themselves appropriately, balancing them properly with the bottom margin, deferring footnotes that don't fit on the page... Even if you're using COLUMNS, @@ -1402,6 +1987,7 @@

        Footnotes can be sly little beasts, though. If you're writing a document that's footnote-heavy, you might want to read the following. +

        Footnote behaviour

        @@ -1428,7 +2014,7 @@

        In the unfortunate happenstance that a deferred footnote is the only footnote on its page (i.e. it's marked in the document body with -a star) and the page it's deferred has its own footnotes, +a star) and the page it's deferred to has its own footnotes, mom separates the deferred footnote from the page's proper footnote(s) with a blank line. This avoids the confusion that might result from readers seeing two footnote entries on the same page @@ -1453,7 +2039,7 @@ quotes and blockquotes that cross a page or column. See BREAK_QUOTE for a solution. -
        +

        @@ -1462,7 +2048,7 @@ Macro: FOOTNOTE <toggle> | INDENT LEFT | RIGHT | BOTH <indent value>
        - *See
        HYPER-IMPORTANT NOTE!!! + *See HYPER-IMPORTANT NOTE!!!
        <indent value> requires a unit of measure
        @@ -1511,7 +2097,7 @@

        Footnote control macros

          -
        1. Family/font/size/lead/quad +
        2. Family/font/size/colour/lead/quad
        3. Footnote markers -- on or off
        4. Footnote marker style -- star+dagger or numbered
        5. Reset footnote number -- set footnote marker number to 1 @@ -1529,11 +2115,13 @@ .FOOTNOTE_FAMILY default = prevailing document family; default is Times Roman .FOOTNOTE_FONT default = roman .FOOTNOTE_SIZE default = -2 (points) +.FOOTNOTE_COLOR default = black .FOOTNOTE_AUTOLEAD default = 2 points (typeset); single-spaced (typewrite) .FOOTNOTE_QUAD default = same as paragraphs

          2. Footnote markers -- FOOTNOTE_MARKERS

          +

          If you don't want footnote markers, in either the body of the document or beside footnote entries themselves, toggle them off with .FOOTNOTE_MARKERS OFF (or @@ -1541,8 +2129,10 @@ you'll have to roll your own. If you want them back on, invoke .FOOTNOTE_MARKERS with no argument. Footnote markers are on by default. +

          3. Footnote marker style -- FOOTNOTE_MARKER_STYLE

          +

          Mom gives you two choices of footnote marker style: star+dagger (see footnote behaviour @@ -1558,23 +2148,29 @@ (prev. footnote number + 1) throughout the whole document. You can ask mom to start each page's footnote numbers at 1 with .RESET_FOOTNOTE_NUMBER (see below). +

          4. Reset footnote number -- RESET FOOTNOTE NUMBER

          +

          .RESET_FOOTNOTE_NUMBER, by itself, resets footnote numbering so that the next footnote you enter is numbered 1.

          .RESET_FOOTNOTE_NUMBER PAGE tells mom to start every page's footnote numbering at 1. +

          5. Footnote rule -- FOOTNOTE_RULE

          +

          If you don't want a footnote separator rule, toggle it off with .FOOTNOTE_RULE OFF (or END, QUIT, X...). Toggle it back on by invoking .FOOTNOTE_RULE with no argument. The default is to print the rule. +

          6. Footnote rule length -- FOOTNOTE_RULE_LENGTH

          +

          If you want to change the length of the footnote separator rule, invoke .FOOTNOTE_RULE_LENGTH with a length, like this, @@ -1589,7 +2185,10 @@ picas for both printstyles. +

          +

          7. Adjust vertical position of footnote separator rule -- FOOTNOTE_RULE_ADJ

          +

          The footnote separator rule is actually a baseline rule that falls on the baseline @@ -1609,38 +2208,141 @@ the rule, not lower it. A unit of measure is required. -
          +


          -

          Endnotes

          +

          Terminate document processing

          -Embedding endnotes into mom documents is accomplished -the same way as embedding -footnotes. The example below is -identical to the one shown in the -introduction to footnotes, -except that .FOOTNOTE has been replaced with -.ENDNOTE. +The use of FINIS is optional. If you invoke it +(at the end of a document before +TOC +or +ENDNOTES), +mom turns off +footers +(if they're on) and page numbering (if page +numbers are at the bottom of the page) and deposits the word +END, centred after a blank line, beneath the last +line of the document. END is enclosed between +em-dashes.

          - -

          -	...the doctrines of Identity as urged by Schelling\c
          -	.ENDNOTE
          -	<endnote about who the hell is Schelling>
          -	.ENDNOTE OFF
          +If you're writing in a language other than English, you can
          +change what mom prints for END with
          +the control macro FINIS_STRING.
          +

          + + + +


          +

          + + Macro: FINIS + + +

          +The use of FINIS is optional, but if you use +it, it should be the last macro you invoke in a document (before +ENDNOTES +or +TOC). +See +above +for a description of how FINIS behaves. +

          +NOTE: If you don't use FINIS, +and you don't want +footers +(if they're on) or a page number at the bottom of the last page of +a document, you have to turn them off manually, as the last two +lines of your document file, like this: +

          +

          +	.FOOTERS OFF
          +	.PAGINATE OFF
          +
          + +

          Changing the FINIS string

          + +

          +By default, FINIS prints the word +END between +em-dashes. +If you'd like mom to print something else +between the dashes, use the FINIS_STRING macro +(anywhere in the document prior to FINIS). +

          +For example, if your document's in French, you'd do +

          +

          +	.FINIS_STRING "FIN"
          +
          + +Double-quotes must enclose the macro's argument. +

          +NOTE: If you pass FINIS_STRING +a blank string, i.e. +

          +

          +	.FINIS_STRING ""
          +
          + +mom will still print the em-dashes if you +invoke FINIS. This, in effect, produces a +short, centred horizontal rule that terminates the document. +(In +PRINTSTYLE TYPEWRITE, +it's a short, dashed line composed of four hyphens.) + +

          Changing the FINIS colour

          +

          +Invoking FINIS_COLOR with a pre-defined (or +"initalized") color changes the colour of both the FINIS +string and the em-dashes that surround it. If you use the +inline escape, +\*[<colorname>], +in the argument passed to FINIS, only the text +will be in the new colour; the em-dashes will be in the default +document colour (usually black). + +

          +


          + + + +

          Endnotes

          + + +

          +Embedding endnotes into mom documents is accomplished +the same way as embedding +footnotes. The example below is +identical to the one shown in the +introduction to footnotes, +except that .FOOTNOTE has been replaced with +.ENDNOTE. +

          + +

          +	...the doctrines of Identity as urged by Schelling\c
          +	.ENDNOTE
          +	<endnote about who the hell is Schelling>
          +	.ENDNOTE OFF
           	were generally the points of discussion presenting the most
           	of beauty to the imaginative Morella.
           
          @@ -1682,6 +2384,7 @@ undo them prior to terminating the endnote (i.e. before ENDNOTE OFF), otherwise the changes will affect subsequent quotes and blockquotes that appear in the document body as well. +

          Endnote behaviour

          @@ -1697,7 +2400,7 @@ removed.

          By default, mom starts the endnotes page with a -bold, centered, double-underscored head, "ENDNOTES". +bold, centred, double-underscored head, "ENDNOTES". Underneath--flush left, bold, and underscored--she prints the document title (or, in the case of chapters, the chapter number or title). She then prints the endnotes. Each endnote is identified by its appropriate @@ -1716,11 +2419,11 @@ macros. This is because endnotes are like a mini-document unto themselves, and therefore need not be bound by the style parameters of the body of the document. +

          A Note on Endnote Spacing

          -

          On the endnotes page(s), each new endnote is separated from the previous endnote by a full line space. This can result in a bottom margin that hangs, and is the one instance, other than the use of @@ -1736,16 +2439,18 @@ at the end of each endnote (i.e. just before invoking ENDNOTE OFF) rather than at the top. +

          Endnotes and columnar documents

          -

          -At present, there is no way to set a document in columns (see +Formerly (pre 1.1.6), there was no way to set a document in columns +(see COLUMNS) -and then turn off column mode for endnotes. If your document is set in -columns, your endnotes will be, too. -
          +and then turn off column mode for endnotes. As of version 1.1.6, +you may now do so. See +ENDNOTES_NO_COLUMNS. +


          @@ -1754,7 +2459,7 @@ Macro: ENDNOTE <toggle>
          - *See
          HYPER-IMPORTANT NOTE!!! + *See HYPER-IMPORTANT NOTE!!!

          @@ -1780,7 +2485,7 @@ and the number). See the endnote example above. -
          +

          @@ -1810,7 +2515,7 @@ the document. Each subsequent invocation of ENDNOTES outputs only those endnotes that mom collected after the previous invocation. -
          +


          Endnote control macros

          @@ -1829,15 +2534,30 @@
        6. Base family/font/quad for endnotes-pages
        7. Base point size for the endnotes-pages
        8. Leading of endnotes-pages +
        9. Singlespace endnotes (for TYPEWRITE only)
        10. Size of paragraph first line indent in multi-paragraph endnotes
        11. Inserting space between paragraphs of multi-paragraph endnotes +
        12. Turning off column mode during endnotes output +
        13. Pagination of endnotes: + +
        14. Suspending pagination of endnotes pages
        15. Endnotes-page header/footer control -
        16. Endnotes-page head control + +
        17. Endnotes-page head (i.e. the title at the top) control
        18. Endnote document-identification title
            @@ -1859,7 +2579,7 @@

            1. General endnotes page style control

            -

            Endnote family/font/quad

            +

            *Endnote family/font/quad

            See Arguments to the control macros. @@ -1872,7 +2592,7 @@ -

            Endnote point size

            +

            *Endnote point size

            Macro: ENDNOTE_PT_SIZE <base type size of endnotes> @@ -1906,13 +2626,16 @@

            The default for PRINTSTYLE TYPESET -is 12 points (the same default size used in the body of the document). +is 12.5 points (the same default size used in the body of the document). +

            -

            Endnote lead

            +

            *Endnote lead

            -Macro: ENDNOTE_LEAD <base leading of endnotes> +Macro: ENDNOTE_LEAD <base leading of endnotes> [ ADJUST ] +
            +*Does not require a unit of measure; points is assumed

            Unlike most other control macros that deal with leading of document @@ -1939,13 +2662,50 @@ sets the base leading of type on the endnotes page to 1/2 inch.

            +If you want the leading of endnotes adjusted to fill the page, pass +ENDNOTE_LEAD the optional argument +ADJUST. (See +DOC_LEAD_ADJUST +for an explanation of leading adjustment.) +

            The default for PRINTSTYLE TYPESET -is 14 points. +is 14 points, adjusted. +

            +NOTE: Even if you give mom a +DOC_LEAD_ADJUST OFF command, she will still, by +default, adjust endnote leading. You MUST enter +ENDNOTE_LEAD <lead> with no +ADJUST argument to disable this default behaviour. +

            + + + +

            *Singlespace endnotes (TYPEWRITE only)

            +

            +Macro: SINGLESPACE_ENDNOTES <toggle> + +

            +If your +PRINTSTYLE +is TYPEWRITE and you use TYPEWRITE's default +double-spacing, endnotes are double-spaced. If your document is +single-spaced, endnotes are single-spaced. +

            +If, for some reason, you'd prefer that endnotes be single-spaced +in an otherwise double-spaced document (including double-spaced +collated +documents), invoke SINGLESPACE_ENDNOTES with +no argument. And if, god help you, you want to change endnote +single-spacing back to double-spacing for different spacing of +endnotes output at the ends of separate documents in a collated +document, invoke SINGLESPACE_ENDNOTES with any +argument (OFF, QUIT, Q, X...). +

            -

            Endnote paragraph indent

            +

            *Endnote paragraph indenting

            Macro: ENDNOTE_PARA_INDENT <amount to indent first line of paragraphs in endnotes>
            @@ -1969,10 +2729,11 @@ (the one attached immediately to the identifying endnote number) is never indented. Only subsequent paragraphs are affected by ENDNOTE_PARA_INDENT. +

            -

            Endnote paragraph spacing

            +

            *Endnote paragraph spacing

            Macro: ENDNOTE_PARA_SPACE <toggle> @@ -1988,11 +2749,108 @@ NOTE: Each endnote itself is always separated from any previous endnote by a line space. ENDNOTE_PARA_SPACE refers only to paragraphs that appear within each discrete endnote. +

            + + + +

            *Turning off column mode during endnotes output

            +

            +Macro: ENDNOTES_NO_COLUMNS <toggle> + +

            +By default, if your document is +set in columns, +mom sets the endnotes in columns, too. However, +if your document is set in columns and you'd like the endnotes not +to be, just invoke ENDNOTES_NO_COLUMNS with no +argument. The endnotes pages will be set to the full page measure +of your document. +

            +If you output endnotes at the end of each document in a +collated +document set in columns, column mode will automatically +be reinstated for each document, even with +ENDNOTES_NO_COLUMNS turned on. +

            + + + +

            *Endnotes-pages page numbering style

            +

            +Macro: ENDNOTES_PAGENUM_STYLE DIGIT | ROMAN | roman | ALPHA | alpha + +

            +Use this macro to set the page numbering style of endnotes pages. +The arguments are identical to those for +PAGENUM_STYLE. +The default is digit. You may want to change it +to, say, alpha, which you would do with +

            +

            +	.ENDNOTES_PAGENUM_STYLE alpha
            +
            + + + +

            *Setting the first page number of endnotes pages

            +

            +Macro: ENDNOTES_FIRST_PAGENUMBER <page # that appears on page 1 of endnotes> + +

            +Use this macro with caution. If all endnotes for several +collated +documents are to be output at once, i.e. not at the end of each +separate doc, ENDNOTES_FIRST_PAGENUMBER tells +mom what page number to put on the first page of +the endnotes. +

            +If you set ENDNOTES_FIRST_PAGENUMBER in collated +documents where the endnotes are output after each separate doc, +you have to reset every separate document's first page number after +COLLATE +and before +START. +

            + + + +

            *Omitting a page number on the first page of endnotes

            +

            +Macro: ENDNOTES_NO_FIRST_PAGENUM <toggle> + +

            +This macro is for use only if FOOTERS are on. It +tells +ENDNOTES +not to print a page number on the first endnotes page. +Mom's default is to print the page number. +

            + + + +

            *Suspending pagination of endnotes pages

            +

            +Macro: SUSPEND_PAGINATION +
            +Macro: RESTORE_PAGINATION + +

            +SUSPEND_PAGINATION doesn't take an argument. +Invoked immediately prior to +ENDNOTES, +it turns off endnotes pages pagination. Mom +continues, however to increment page numbers silently. +

            +To restore normal document pagination after endnotes, invoke +RESTORE_PAGINATION (again, with no argument) +immediately after ENDNOTES. +

            2. Endnotes-page header/footer control

            -If you wish to modify the header/footer that appears on endnotes -page(s), make the changes before you invoke + +If you wish to modify what appears in the header/footer that appears +on endnotes page(s), make the changes before you invoke ENDNOTES, not afterwards.

            @@ -2007,8 +2865,25 @@ the endnotes page(s) headers/footers, invoke ENDNOTES_HEADER_CENTER with no argument. +

            +An important change you may want to make is to put the word +"Endnotes" in the header/footer centre position. +To do so, do +

            +

            +	.HEADER_CENTER "Endnotes"
            +	           or
            +	.FOOTER_CENTER "Endnotes"
            +
            -

            Endnotes page(s) header/footer center string

            +prior to invoking .ENDNOTES. If your +DOCTYPE +is CHAPTER, you must also invoke +ENDNOTES_HEADER_CENTER +for the HEADER_CENTER to appear. +

            + +

            *Endnotes page(s) header/footer centre string

            Macro: ENDNOTES_HEADER_CENTER toggle @@ -2019,18 +2894,43 @@ a centre string in the headers/footers that appear on endnotes pages, invoke ENDNOTES_HEADER_CENTER (or ENDNOTES_FOOTER_CENTER) with no argument. -Mom's default is NOT to print the center string. +Mom's default is NOT to print the centre string. +

            +If, for some reason, having enabled the header/footer centre string +on endnotes pages, you wish to disable it, invoke the same macro +with any argument (OFF, QUIT, Q, X...). +

            + +

            *Allow headers on endnotes_pages

            +

            +Macro: ENDNOTES_ALLOWS_HEADERS <none> | ALL + +

            +By default, if HEADERS are on, mom +prints page headers on all endnotes pages except the first. If you +don't want her to print headers on endnotes pages, do +

            +

            +	.ENDNOTES_ALLOWS_HEADERS OFF
            +
            + +If you want headers on every page including the first, do +

            +

            +	.ENDNOTES_ALLOWS_HEADERS ALL
            +
            + +NOTE: If FOOTERS are on, +mom prints footers on every endnotes page. This is +a style convention. In mom, there is no such beast +as ENDNOTES_ALLOWS_FOOTERS OFF.

            -If, for some -reason, having enabled the header/footer center string on endnotes -pages, you wish to disable it, invoke the same macro with any argument -(OFF, QUIT, Q, X...). -

            3. Endnotes page head control

            +

            3. Endnotes-page first page head (title) control

            -

            Endnotes-page head string

            +

            *Endnotes-page first page head (title) string

            Macro: ENDNOTE_STRING "<head to print at the top of endnotes>" @@ -2043,10 +2943,11 @@ ENDNOTE_STRING with a blank argument (either two double-quotes side by side -- "" -- or no argument at all). +

            -

            Endnotes-page head control

            +

            *Endnotes-page first page head (title) control

            See Arguments to the control macros. @@ -2055,14 +2956,14 @@ .ENDNOTE_STRING_FAMILY default = prevailing document family; default is Times Roman .ENDNOTE_STRING_FONT* default = bold .ENDNOTE_STRING_SIZE default = +1 -.ENDNOTE_STRING_QUAD default = centered +.ENDNOTE_STRING_QUAD default = centred *Relative to the size of the endnotes text (set with ENDNOTE_PT_SIZE)

        19. -

          Endnotes-page head underscoring

          +

          *Endnotes-page head (title) underscoring

          Macro: ENDNOTE_STRING_UNDERSCORE toggle | 2 @@ -2079,10 +2980,33 @@ NONE, etc.) into your document prior to outputting endnotes with ENDNOTES. + + +

          *Endnotes-page head (title) automatic capitalization

          +

          +Macro: ENDNOTE_STRING_CAPS toggle + +

          +Invoked by itself, ENDNOTE_STRING_CAPS will +automatically capitalize the endnotes-page head. Invoked with any +other argument, the macro disables automatic capitalization of the +head. +

          +If you're generating a table of contents, you may want the +endnotes-pages head string in caps, but the toc entry in caps/lower +case. If the argument to +ENDNOTE_STRING +is in caps/lower case and ENDNOTE_STRING_CAPS is +on, this is exactly what will happen. +

          +Mom's default is to capitalize the endnotes-pages +head string. +

          +

          4. Endnote document-identification title

          -

          Endnote document-identification title string

          +

          *Endnote document-identification title string

          Macro: ENDNOTE_TITLE "<title to identify a document in endnotes>" @@ -2090,16 +3014,21 @@ By default, mom identifies the document(s) to which endnotes belong by the document title(s) given to the TITLE -macro. If you want her to identify the document(s) another way, -invoke ENDNOTE_TITLE with the identifying title you -want, surrounded by double-quotes. If you don't any identifying title, -invoke ENDNOTE_TITLE with a blank argument (either two -double-quotes side by side -- "" -- or no argument -at all). +macro. If you'd want her to identify the document(s) another way, +just invoke ENDNOTE_TITLE with the identifying +title you want, surrounded by double-quotes. +

          +If you don't want any identifying title, invoke +ENDNOTE_TITLE with a blank argument (either two +double-quotes side by side -- "" -- or no +argument at all). This is particularly useful if you have a single +(i.e. non-collated) document and find having the document's title +included in the endnotes redundant. +

          -

          Endnote document-identification title control

          +

          *Endnote document-identification title control

          See Arguments to the control macros. @@ -2115,27 +3044,26 @@ -

          Endnote document-identification title underscoring

          +

          *Endnote document-identification title underscoring

          Macro: ENDNOTE_TITLE_UNDERSCORE toggle

          -Inovked by itself, ENDNOTE_TITLE_UNDERSCORE will -underscore the endnote document-identification title. Invoked with any -other argument, the macro disables underscoring of the title. +Invoked by itself, ENDNOTE_TITLE_UNDERSCORE will +underscore the endnote document-identification title(s). Invoked with any +other argument, the macro disables underscoring of the title(s).

          Mom's default is to underscore the document-identification title, therefore if you want no underscoring, you must insert .ENDNOTE_TITLE_UNDERSCORE OFF (or QUIT, X, NO, NONE, etc.) into your document prior to outputting endnotes with ENDNOTES. - -at all. +

          5. Endnotes-pages endnote numbering style

          -

          Endnote numbering style control

          +

          *Endnote numbering style control

          See Arguments to the control macros. @@ -2152,7 +3080,7 @@ *Relative to the size of the endnotes text (set with ENDNOTE_PT_SIZE) -

          Endnote numbering alignment

          +

          *Endnote numbering alignment

          By default, mom hangs the numbers on endnotes pages, aligned right to two placeholders, producing this: @@ -2203,7 +3131,7 @@ to ensure that the numbers hang and are properly right-aligned. -
          +


          @@ -2229,93 +3157,553 @@ sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. - -

          -

          Terminate document processing

          +

          Table of contents

          -The use of FINIS is optional. If you invoke it -(at the end of a document, of course), mom turns off -footers -(if they're on) and page numbering (if page -numbers are at the bottom of the page) and deposits the word -END, centered after a blank line, beneath the last -line of the document. END is enclosed between -em-dashes. +Want a table of contents for your document? Easy. Just enter

          -If you're writing in a language other than English, you can -change what mom prints for END with -the control macro FINIS_STRING. -
          +

          +	.TOC
          +
          - +as the very last macro of your document file. Mom +will have picked up all document titles (in +collated +documents), all heads, subheads, and paragraph heads, as well as any +endnotes pages that have been output, and assigned them the +appropriate page number (and page numbering style). Talk about a +no-brainer! + +That said, tables of contents (tocs) have even more control macros +than endnotes. As always, the reason for so many control macros is +so that if you want to change just about any aspect of the toc's +typographic appearance, you can. Mom is all about +simplicity AND flexibility. +

          + +

          TOC behaviour

          +

          +When you output a toc (with +TOC), +mom finishes processing the last page of your document, +then breaks to a new page for printing the toc. +

          +Mom follows standard typesetting conventions for +tables of contents. To this end, if +HEADERS +are on for the document, the first page of the toc has no page +header, but does have a first page (roman numeral) number, always +"1", in the bottom margin. If +FOOTERS +are on for the document, the first page has neither a footer, nor a +page number in the top margin. (If you absolutely must have a page +footer on the first page of the toc, simply invoke +FOOTER_ON_FIRST_PAGE +immediately before TOC.) Subsequent toc pages have +both page headers or footers and a page number. +

          +Entries in the toc are hierarchically indented, as you would +expect. By default, each type of entry (e.g. a head or a subhead) +is set in a different font as well. If any of heads, subheads or +paragraph heads are numbered in the body of the document, they are +also numbered in the toc. Head numbering in the toc is NOT +concatenated as it is in the body of the document, which would be +visually redundant in a toc. +

          +Tocs are never set in columns, regardless of whether the rest of +the document is. Lastly, if +recto/verso +printing is enabled, the toc respects it. This sometimes leads to +tocs that begin with the wrong margins, but the margins can be +corrected either by outputting a +BLANKPAGE +or by using the toc control macro +TOC_RV_SWITCH. +

          +The overall toc +family, +point size +and +lead +can be altered with the toc +control macros, +as can the family, +font, +point size and indent of each type of toc entry (i.e. title, head, +subhead, paragraph head). Furthermore, the page numbering style +can be changed, as can the amount of visual space reserved for toc +entry page numbers. +

          + +


          - - Macro: FINIS +Macro: TOC + +

          +If you want a toc, just put TOC as the last macro +in a document. Mom takes care of the rest. +

          +


          + +

          TOC control macros

          +

          +Toc entries are not actually processed when mom +collects them, so you can put any toc control macros anywhere you +like in your document. Some may prefer to place them at the top of +the file. Others may prefer to place them just before outputting +the toc. The choice is yours. +
          +

            +
          1. General toc page style control + +
          2. Toc page numbering + +
          3. Changing the toc header (title), string and style + +
          4. Changing the style for toc entries + +
          5. Additional toc control macros + +
          +
          + +

          1. General toc page style control

          + +

          *Toc family

          +

          +See +Arguments to the control macros. +

          +Set the family of toc pages with TOC_FAMILY, which +establishes the default family for every element of a toc page, +including the toc title ("Contents") and the page number +in the top or bottom margin. The default is the prevailing document +family. +

          +All elements on a toc page also have their own _FAMILY +control macros, which override the default set by +TOC_FAMILY. +

          + + + +

          *Toc point size

          +

          +Macro: TOC_PT_SIZE <base type size of the toc> + +

          +Unlike most other control macros that deal with size of document +elements, TOC_PT_SIZE takes as its argument an +absolute value, relative to nothing. Therefore, the argument +represents the size of toc type in +points, +unless you append an alternative +unit of measure. +For example, +

          +

          +	.TOC_PT_SIZE 12
          +
          + +sets the base point size of type for the toc to 12 points, whereas +

          +

          +	.TOC_PT_SIZE .6i
          +
          + +sets the base point size of type for the toc to 1/6 of an inch. +

          +The type size set with TOC_PT_SIZE forms the basis +from which the point size of other toc page elements are calculated. +

          +The default for +PRINTSTYLE TYPESET +is 12.5 points (the same default size used in the body of the +document). +

          + + + +

          *Toc lead

          +

          +Macro: TOC_LEAD <leading of the toc> [ ADJUST ] +
          +*Does not require a unit of measure; points is assumed + +

          +Unlike most other control macros that deal with leading of document +elements, TOC_LEAD takes as its argument an +absolute value, relative to nothing. Therefore, the argument +represents the +leading +of tocs in +points +unless you append an alternative +unit of measure. +For example, +

          +

          +	.TOC_LEAD 14
          +
          + +sets the base leading of type on the endnotes page to 14 +points, whereas +

          +

          +	.TOC_LEAD .5i
          +
          + +sets the base leading of type on the endnotes page to 1/2 inch. +

          +If you want the leading of toc pages adjusted to fill the +page, pass TOC_LEAD the optional argument +ADJUST. (See +DOC_LEAD_ADJUST +for an explanation of leading adjustment.) +

          +The default for +PRINTSTYLE TYPESET +is the prevailing document lead (16 by default), adjusted. +

          +NOTE: Even if you give mom a +DOC_LEAD_ADJUST OFF command, she will still, by +default, adjust toc leading. You MUST enter +TOC_LEAD <lead> with no +ADJUST argument to disable this default behaviour. +

          +ADDITIONAL NOTE: Tocs are always double-spaced in +PRINTSTYLE TYPEWRITE, regardless of whether the +body of the document is single-spaced. +

          + +

          2. Toc page numbering

          +

          +The page numbering of toc pages is controlled by the same macros +that control +document page numbering, +except +PAGENUM +(tocs always start on page 1). The defaults are the same as the +rest of the document. +

          +If you wish to change some aspect of toc pagination, use the +document pagination control macros immediately prior to +.TOC. +

          +A special macro, +TOC_PAGENUM_STYLE +controls the style of toc pages page numbers. +

          + +


          + + + +

          + + Macro: PAGINATE_TOC <toggle> +

          +By default, mom paginates the toc. If you'd like +her not to, do +

          +

          +	.PAGINATE_TOC OFF
          +
          +NOTE: Simply invoking PAGINATION +OFF or PAGINATE OFF disables toc +pagination for the first toc page only. You MUST use +.PAGINATE_TOC OFF to disable toc pagination, even +if pagination is turned off elsewhere in your document.

          -The use of FINIS is optional, but if you use -it, it should be the last macro you invoke in a document. See -above -for a description of how FINIS behaves. + +


          -NOTE: If you don't use FINIS, -and you don't want -footers -(if they're on) or a page number at the bottom of the last page of -a document, you have to turn them off manually, as the last two -lines of your document file, like this: + + + + + Macro: TOC_PAGENUM_STYLE <DIGIT | ROMAN | roman | ALPHA | alpha> + +

          +By default, mom uses roman numerals to number +toc pages. Use TOC_PAGENUM_STYLE if you'd prefer +something else. For example, to have standard digits instead of +roman numerals, do the following:

          -	.FOOTERS OFF
          -	.PAGINATE OFF
          +	.TOC_PAGENUM_STYLE DIGIT
           
          -

          Changing the FINIS string

          +
          +

          +

          3. Changing the toc header (title) string and style

          -By default, FINIS prints the word -END between -em-dashes. -If you'd like mom to print something else -between the dashes, use the FINIS_STRING macro -(anywhere in the document prior to FINIS). +The toc header string is the title that appears at to top of the +toc. By default, it's "Contents". If you'd like +something else, say, "Table of Contents", do

          -For example, if your document's in French, you'd do + +

          +	.TOC_HEADER_STRING "Table of Contents"
          +
          + + +The style of the toc header (title) is managed by the usual control +macros (see +arguments to the control macros).

          -	.FINIS_STRING "FIN"
          +	.TOC_HEADER_FAMILY  default = prevailing doc family (Times Roman in TYPEWRITE)
          +	.TOC_HEADER_FONT    default = bold
          +	.TOC_HEADER_SIZE    default = +4
          +	.TOC_HEADER_QUAD    default = left
           
          -Double-quotes must enclose the macro's argument. +

          4. Changing the style for toc entries

          -NOTE: If you pass FINIS_STRING -a blank string, i.e. +"Toc entries" refers to titles, heads, subheads and +paragraph heads as they appear in the toc. Their style is managed +by the usual +control macros, +starting with TOC_ +

          + +

          The toc _INDENT control macros

          +

          +The toc control macros that end in _INDENT all take a single +argument that requires a +unit of measure. +The argument is the distance to indent the entry, always measured +from the left margin. For example,

          -	.FINIS_STRING ""
          +	.TOC_HEAD_INDENT 2P
           
          -mom will still print the em-dashes if you -invoke FINIS. This, in effect, produces a -short, centered horizontal rule that terminates the document. -(In -PRINTSTYLE TYPEWRITE, -it's a short, dashed line composed of four hyphens.) +indents head entries 2 +picas +from the left margin. +

          + +

          *Changing the style for toc title entries

          +

          +(See +arguments to the control macros). +

          +Toc title entries are the titles of documents that have been +collated +together. +

          +

          +	.TOC_TITLE_FAMILY  default = prevailing doc family (Times Roman in TYPEWRITE)
          +	.TOC_TITLE_FONT    default = bold italic
          +	.TOC_TITLE_SIZE    default = +0
          +	.TOC_TITLE_INDENT  default = 0 for TYPESET and TYPEWRITE
          +
          + +

          *Changing the style for toc head entries

          +

          +(See +arguments to the control macros). +

          +Toc head entries are main heads that appear in the body of a +document. +

          +

          +	.TOC_HEAD_FAMILY  default = prevailing doc family (Times Roman in TYPEWRITE)
          +	.TOC_HEAD_FONT    default = bold
          +	.TOC_HEAD_SIZE    default = +.5
          +	.TOC_HEAD_INDENT  default = 18p for TYPESET; 2m for TYPEWRITE
          +
          + +

          *Changing the style for toc subhead entries

          +

          +(See +arguments to the control macros). +

          +Toc subhead entries are subheads that appear in the body of a +document. +

          +

          +	.TOC_SUBHEAD_FAMILY  default = prevailing doc family (Times Roman in TYPEWRITE)
          +	.TOC_SUBHEAD_FONT    default = roman
          +	.TOC_SUBHEAD_SIZE    default = +0
          +	.TOC_SUBHEAD_INDENT  default = 30p for TYPESET; 4m for TYPEWRITE
          +
          + +

          *Changing the style for toc paragraph head entries

          +

          +(See +arguments to the control macros). +

          +Toc paragraph head entries are paragraph heads that appear in the +body of a document. +

          +

          +	.TOC_PARAHEAD_FAMILY  default = prevailing doc family (Times Roman in TYPEWRITE)
          +	.TOC_PARAHEAD_FONT    default = italic
          +	.TOC_PARAHEAD_SIZE    default = +0
          +	.TOC_PARAHEAD_INDENT  default = 42p for TYPESET; 6m for TYPEWRITE
          +
          + +

          *Changing the style for toc paragraph page number listings

          +

          +(See +arguments to the control macros). +

          +Toc paragraph head entries are paragraph heads that appear in the +body of a document. +

          +

          +	.TOC_PN_FAMILY  default = prevailing doc family (Times Roman in TYPEWRITE)
          +	.TOC_PN_FONT    default = roman
          +	.TOC_PN_SIZE    default = +0
          +
          + +

          5. Additional toc macros

          +

          +The following macros allow you to switch page margins should +they be incorrect for recto/verso printing, to establish how +many placeholders to leave for page listings, and to have +mom append author(s) to toc title entries. +

          +


          + + + +

          + + Macro: TOC_RV_SWITCH + +

          +TOC_RV_SWITCH doesn't take an argument. It simply +instructs mom to switch the left and right margins +of +recto/verso +documents should the toc happen to begin on an even page when you +want an odd, or vice versa. +

          +The same result can be accomplished by outputting a +BLANKPAGE. +

          + +


          + + + +

          + + Macro: TOC_APPENDS_AUTHOR <none> | <"name(s) of authors"> + +

          +In certain kinds of collated documents, different authors are +responsible for the articles or stories contained within them. In +such documents, you may wish to have the author or authors +appended to the toc's title entry for each story or article. +

          +If you invoke TOC_APPENDS_AUTHOR with no argument, +mom appends the first argument you passed to +AUTHOR +to toc title entries, separated by a front-slash.

          +If you invoke TOC_APPENDS_AUTHOR with an argument +(surrounded by double-quotes), mom will append it +to the toc title entries instead. This is useful if you have +multiple authors you wish to identify by last name only. For +example, if three authors--Joe Blough, Jane Doe, and John +Deere--are responsible for a single article +

          +

          +	.TOC_APPENDS_AUTHOR "Blough et al."
          +
          + +would be a good way to identify them in the toc. +

          + +


          + + + +

          + + Macro: TOC_PADDING <# of placeholders to allow for page number listings> + +

          +By default, mom allows room for 3 digits in the +page number listings of tocs. If you'd like some other number of +placeholders, say 2, do +

          +

          +	.TOC_PADDING 2
          +
          +
          + + + +

          Inserting a blank page into the document

          +

          + + Macro: BLANKPAGE <# of blank pages to insert> + + +

          +This one does exactly what you'd expect -- inserts a blank page into +the document. Mom silently increments the page +number of every blank page and keeps track of +recto/verso +stuff, but otherwise, does nothing. It's up to you, the user, to +figure out what to do with this feature. However, it's worth +noting that without it, inserting completely blank pages, to use +a vernacular Québécois phrase, "c'est pas évident" +(somewhere between "isn't easy", "isn't +obvious" and "isn't fun"). +

          +The argument to BLANK_PAGE is the number of blank +pages to insert. The argument is not optional, hence even if you +only want one blank page, you have to tell mom: +

          +

          +	.BLANKPAGE 1
          +
          +
          + Next   Prev   Top   diff -ruN groff-1.19/contrib/mom/momdoc/docprocessing.html groff-1.19.1/contrib/mom/momdoc/docprocessing.html --- groff-1.19/contrib/mom/momdoc/docprocessing.html Tue Feb 25 17:42:58 2003 +++ groff-1.19.1/contrib/mom/momdoc/docprocessing.html Mon Mar 22 07:18:36 2004 @@ -8,21 +8,22 @@ Next   -Prev   +Prev   Back to Table of Contents - +

          -

          DOCUMENT PROCESSING WITH MOM -

          +

          DOCUMENT PROCESSING WITH MOM

          - Introduction to document processing
          Some document defaults -

          +
          * IMPORTANT NOTE on leading/spacing and bottom margins * -

          +
          +The SHIM macro +
          +

          Table of Contents for document processing

          • DOCUMENT SETUP
            @@ -32,6 +33,7 @@
          • The Reference Macros +

            Introduction to document processing

            -

            + As explained in Document processing with mom, document processing uses markup tags to identify document elements -like heads, paragraphs, and so on. The tags are, of course, macros, +such as heads, paragraphs, and so on. The tags are, of course, macros, but with sensible, readable names that make them easy to grasp and easy to remember. (And don't forget: if you don't like the "official" name of a tag -- too long, cumbersome @@ -224,13 +230,13 @@ You begin by entering information about the document itself (title, subtitle, author, etc.). Next, you tell mom what kind of document you're creating (e.g. chapter, letter, abstract, -etc...) and what kind of output you want (typeset, typewrittten, +etc...) and what kind of output you want (typeset, typewritten, draft-style, etc). Thirdly, you make as many or as few changes to mom's default behaviour as you wish. Lastly, you invoke the START macro. Voilà! You're ready to write. -
            +


            @@ -248,7 +254,7 @@
          • the left and right margins are 1-inch
          • the top and bottom margins for document text are plus/minus visually 1-inch -
          • pages are numbered; the number appears centered, at the +
          • pages are numbered; the number appears centred, at the bottom, surrounded by hyphens ( e.g. -6- )
          • the first page of a document begins with a document header @@ -261,7 +267,7 @@ a look at the macro file (om.tmac). Each macro is preceded by a description that (generally) says what its default is (if it has one). -
            +


            @@ -277,11 +283,11 @@ In order to ensure even bottom margins, mom uses the "base" document leading -in effect at the start of each page (i.e. the leading used -in paragraphs) to calculate the spacing of every document element. -Prior to invoking +in effect at the start of running text on each page (i.e. +the leading used in paragraphs) to calculate the spacing of every +document element. Prior to invoking START, -this is done with the +this is set with the typesetting macro LS, afterwards with the document @@ -310,15 +316,80 @@ half linespaces and quarter linespaces with "v" as well, provided you compensate for the fractional linespace somewhere else on the page. -
            +

            +If all this seems like too much work, mom +provides a special macro to get you out of trouble if you've played +around with leading and/or spacing. The macro is called +SHIM (like those little pieces of wood carpenters +use to get their work even, level and snug), and it's described +below. +

            + + + +


            +

            + +Macro: SHIM + +

            +SHIM doesn't take any argument. Use it whenever +you've played around with the +leading +or spacing on a page and you +need to get mom's document leading back on track. +

            +For example, say you want to insert a picture into a document with +the special groff macro, PSPIC (see the +grops man page for usage). +

            +Pictures aren't usually conveniently sized in multiples of document +leading, which means that when you insert the picture, you disrupt +mom's ordered placement of baselines on the page. +This will certainly result in a bottom margin that doesn't match the +bottom margins of your document's other pages. +

            +The solution is to insert SHIM after the picture, +like this: +

            +

            +	<some lines of text>
            +	.PSPIC <full path to picture>
            +	.SHIM
            +	<more lines of text>
            +
            +SHIM instructs mom to insert as +much or a little space after the picture as is needed to ensure that +the baseline of the next +output line +falls where mom would have put it had you not +disrupted the normal flow of output lines with the picture. +

            +And say, on previewing the above example, you find that the picture +doesn't centre nicely between the lines of text, you can always do +

            +

            +	<some lines of text>
            +	.RLD 3p
            +	.PSPIC <full path to picture>
            +	.SHIM
            +	<more lines of text>
            +
            + +to raise the picture slightly +(Reverse LeaD +3 points; see +RLD), +and still have SHIM ensure that text underneath +falls exactly where it's supposed to. +


            Document setup

            - +

            Tutorial -- Setting up a mom document

            -

            There are four "parts" to setting up a mom doc (three, actually, with one optional). Before we proceed, though, be reassured that something as simple as @@ -366,6 +437,7 @@

            • TITLE +
            • DOCTITLE
            • SUBTITLE
            • AUTHOR
            • CHAPTER -- the chapter number @@ -467,7 +539,7 @@ .FAMILY H .PT_SIZE 12 .LS 14 - .QUAD LEFT \"ie. rag right + .QUAD LEFT \"i.e. rag right .FOOTERS .LINEBREAK_CHAR * @@ -494,7 +566,7 @@ .FAMILY H .PT_SIZE 12 .LS 14 - .QUAD LEFT \"ie. rag right + .QUAD LEFT \"i.e. rag right .FOOTERS .LINEBREAK_CHAR * \# @@ -548,7 +620,7 @@ as well leave in the superfluous macros. That way, when draft 7, rev. 62 becomes draft 8, rev. 1, he'll be ready to tackle his Pulitzer winner again. -
              +


              @@ -564,19 +636,21 @@ page headers. They must go at the top of any file that uses mom's document processing macros. - +

              Reference macros list

              +
              @@ -605,7 +679,54 @@ DOCTYPE is CHAPTER, TITLE should be the title of the opus, not "CHAPTER whatever". +

              + + + +


              +

              + +Macro: DOCTITLE "<overall document title>"
              +*Argument must be enclosed in double-quotes + +

              +NOTE: This macro should be used only if your +DOCTYPE +is DEFAULT (which is mom's +default). +

              +When you're creating a single document, say, an essay or a short +story, you have no need of this macro. +TITLE +takes care of all your title needs. +

              +However if you're +collating +a bunch of documents together, say, to print out a report containing +many articles with different titles, or a book of short stories, you +need DOCTITLE. +

              +DOCTITLE tells mom the title +of the complete document (as opposed to the title of each article +or entitled section). +

              +The doctitle string can be caps or caps/lower-case; it's up to you. +In +PRINTSTYLE TYPESET, +by default, the doctitle appears in the rightmost position of +page headers, +all in caps unless you turn that feature off (see +HEADER_<POSITION>_CAPS). In +PRINTSTYLE TYPEWRITE, +the doctitle always gets converted to caps. +

              +NOTE: If your +DOCTYPE +is CHAPTER, you don't need +DOCTITLE. TITLE takes care of +everything. +

              @@ -621,7 +742,7 @@ document's subtitle appears only in the docheader, and the title is most likely in caps, I recommend caps/lower case. -
              +

              @@ -653,7 +774,7 @@

              The strings can be caps or caps/lower-case. I recommend caps/lower case. -
              +

              @@ -676,12 +797,12 @@ If you're not using DOCTYPE CHAPTER, the macro serves no purpose and mom ignores it.

              -CHAPTER_STRING +CHAPTER_STRING

              If you're not writing in English, you can ask mom -to use the word for chapter in your own language by telling -her what it is with the CHAPTER_STRING macro, -like this: +to use the word for "chapter" in your own language by +telling her what it is with the CHAPTER_STRING +macro, like this:

               	.CHAPTER_STRING "Chapître"
              @@ -690,7 +811,7 @@
               You can also use CHAPTER_STRING if you want
               "CHAPTER" instead of "Chapter" in the doc- and
               page-headers.
              -
              +

              @@ -725,7 +846,7 @@ If you omit CHAPTER when setting up your reference macros, only the title will appear, both at the top of page one and in subsequent page headers. -
              +

              @@ -739,24 +860,61 @@ COPYSTYLE DRAFT. If the COPYSTYLE is FINAL (the default), mom ignores DRAFT. -DRAFT only accepts a -numeric argument. +DRAFT accepts both alphabetic and numeric +arguments, hence it's possible to do either

              -Mom prints the draft number beside the word -"Draft" in the middle part of +

              +	.DRAFT 2
              +	   or
              +	.DRAFT Two
              +
              + +Mom prints the argument to .DRAFT +(i.e. the draft number) beside the word "Draft" in the +middle part of page headers.

              -DRAFT STRING +A small word of caution: If your argument to +.DRAFT is more than one word long, you must +enclose the argument in double-quotes. +

              +You may, if you wish, invoke .DRAFT without an +argument, in which case, no draft number will be printed beside +"Draft" in headers or footers. +

              +DRAFT_STRING

              If you're not writing in English, you can ask mom -to use the word for draft in your own language by telling -her what it is with the DRAFT_STRING macro, +to use the word for "draft" in your own language by +telling her what it is with the DRAFT_STRING macro, like this:

               	.DRAFT_STRING "Jet"
               
              +Equally, DRAFT_STRING can be used to roll your own +solution to something other than the word "Draft." For +example, you might want "Trial run alpha-three" to appear +in the headers of a draft version. You'd accomplish this by doing +

              +

              +	.DRAFT alpha-three
              +	.DRAFT_STRING "Trial run
              +
              + +.DRAFT without an argument, above, ensures that +only the DRAFT_STRING gets printed. +

              +NOTE: If you define both a blank .DRAFT +and a blank .DRAFT_STRING, mom +skips the draft field in headers entirely. If this is what you +want, this is also the only way to do it. Simply leaving out +.DRAFT and .DRAFT_STRING will +result in mom using her default, which is to print +"Draft 1". +

              +


              @@ -769,24 +927,70 @@ COPYSTYLE DRAFT. If the COPYSTYLE is FINAL (the default), mom ignores the -REVISION macro. REVISION only -accepts a -numeric argument. +REVISION macro. REVISION accepts +both alphabetic and numeric arguments, hence it's possible to do +either

              +

              +	.REVISION 2
              +	   or
              +	.REVISION Two
              +
              + Mom prints the revision number beside the shortform "Rev." in the middle part of page headers.

              -REVISION STRING +A small word of caution: If your argument to +.REVISION is more than one word long, you must +enclose the argument in double-quotes. +

              +You may, if you wish, invoke .REVISION without an +argument, in which case, no revision number will be printed beside +"Rev." in headers or footers. +

              +REVISION_STRING

              If you're not writing in English, you can ask mom -to use the word for revision, or a shortform therof in your own language -by telling her what it is with the REVISION_STRING -macro, like this: +to use the word for "revision," or a shortform +thereof, in your own language by telling her what it is with the +REVISION_STRING macro, like this:

               	.REVISION_STRING "Rév."
               
              + +Additionally, you may sometimes want to make use of +mom's +COPYSTYLE DRAFT +but not actually require any draft information. For example, you +might like mom to indicate only the revision number +of your document. The way to do that is to define an empty +.DRAFT and .DRAFT_STRING in +addition to .REVISION, like this: +

              +

              +	.DRAFT
              +	.DRAFT_STRING
              +	.REVISION 2
              +
              + +

              +Equally, if you want to roll your own solution to what revision +information appears in headers, you could do something like this: +

              +	.DRAFT
              +	.DRAFT_STRING
              +	.REVISION "two-twenty-two"
              +	.REVISION_STRING "Revision"
              +
              + +

              +The above, naturally, has no draft information. If you want to +roll your own .DRAFT and/or +.DRAFT_STRING as well, simply supply arguments to +either or both. +


              @@ -816,6 +1020,7 @@
          • COPYSTYLE
          +
          @@ -831,7 +1036,7 @@ and page headers. LETTER tells her that you want to write a -lettter. +letter.

          Mom's default DOCTYPE is DEFAULT. If that's what you want, you don't @@ -844,7 +1049,7 @@ and page headers with the author and title. (See Default specs for headers -for how mom's outputs each part of the page header.) +for how mom outputs each part of the page header.)

          CHAPTER prints "Chapter #" in place of a docheader @@ -854,17 +1059,18 @@ If you give the chapter a title with CHAPTER TITLE, mom prints "Chapter #" and the title -underneath. If you omit the CHAPTER reference -macro but supply a +underneath. If you omit the +CHAPTER +reference macro but supply a CHAPTER_TITLE, mom prints only the chapter title. (*For -backward compatability with pre-1.1.5 versions of +backward compatibility with pre-1.1.5 versions of mom, you can also supply a chapter title by -ommitting the CHAPTER reference macro and -supplying a chapter title with -CHAPTER_STRING. +omitting the CHAPTER reference macro and +supplying a chapter title with +CHAPTER_STRING.)

          -The page headers in DOCTYPE CHAPTER contain the author, +The page headers in DOCTYPE CHAPTER contain the author, the title of the book (which you gave with TITLE), and "Chapter #" (or the chapter title). See @@ -882,13 +1088,30 @@ as well as in page headers. (See Default specs for headers -for how mom's outputs each part of the page header.) +for how mom outputs each part of the page header.) +

          +Additionally, if you wish the name of this particular kind of +document to be coloured, you can pass DOCTYPE NAMED +a third (optional) argument: the name of a colour pre-defined (or +"initialized") with +NEWCOLOR +or +XCOLOR. +For example, if you have a doctype named "Warning", and +you'd like "Warning" to be in red, assuming you've +pre-defined (or "initialized") the color, red, this is +what the DOCTYPE entry would look like: +

          +

          +	.DOCTYPE NAME "Warning" red
          +
          +

          LETTER tells mom you're writing a letter. See the section Writing Letters for instructions on using mom to format letters. -
          +

          @@ -898,6 +1121,8 @@ Macro: PRINTSTYLE TYPESET | TYPEWRITE [ SINGLESPACE ]
          *Required for document processing. +
          +*Must come before any changes to default document style

          PRINTSTYLE tells mom whether to typeset @@ -907,7 +1132,10 @@ document processing to take place, mom requires a PRINTSTYLE. If you don't give one, mom will warn you on stderr and print a single -page with a nasty message. +page with a nasty message. Furthermore, PRINTSTYLE +must come before any changes to mom's default +typestyle parameters. (This applies primarily to +PRINTSTYLE TYPESET.

          TYPESET, as the argument implies, typesets documents (by default in Times Roman; see @@ -918,6 +1146,25 @@ style control macros of document processing.

          +As mentioned in the above paragraph, PRINTSTYLE +TYPESET must come before any changes to +mom's default typographic settings. For example, + +

          +	.LS 14
          +	.PRINTSTYLE TYPESET
          +
          + +will not changes mom's default document leading +of 16 points to 14 points, whereas + +
          +	.PRINTSTYLE TYPESET
          +	.LS 14
          +
          + +will. +

          With TYPEWRITE, mom does her best to reproduce the look and feel of typewritten, double-spaced copy (see TYPEWRITE defaults). @@ -958,7 +1205,7 @@ macro, and then ONLY if DOC_LEAD is set before you invoke the START macro. - +

          TYPESET defaults

           	Family            = Times Roman
          @@ -1039,7 +1286,7 @@
           happen if the title of your document is long and your
           COPYSTYLE
           is DRAFT).
          -
          +

          @@ -1066,13 +1313,13 @@ REVISION (see reference macros), - appear in the center part of + appear in the centre part of page headers - (or footers, depending on which you'ves selected) along with + (or footers, depending on which you've selected) along with any other information that normally appears there.

        -IMPORTANT: If you define your own center part for page +IMPORTANT: If you define your own centre part for page headers with HEADER_CENTER, no draft and/or revision number will appear there. If you want draft @@ -1083,11 +1330,11 @@

        1. it respects the starting page number you give the document -
        2. page numbers are set in normal (arabic) digits +
        3. page numbers are set in normal (Arabic) digits
        4. no draft or revision number appears in the page headers

        -NOTE: The center part of page headers can get crowded, +NOTE: The centre part of page headers can get crowded, especially with DOCTYPE CHAPTER and @@ -1100,17 +1347,17 @@ PRINTSTYLE TYPESET, is to reduce the size of the header's centre part only (with HEADER_CENTER_SIZE). -And finally, you can elect to have the draft/revsion information -attached to page numbers instead of having it appear in the center +And finally, you can elect to have the draft/revision information +attached to page numbers instead of having it appear in the centre of page headers (see DRAFT_WITH_PAGENUMBER). -
        +


        Changing type/style parameters prior to START

        - +

        In the third (optional) part of setting up a document (see Tutorial -- setting up a mom document), you can use the @@ -1139,39 +1386,62 @@

      6. Docheader control +

        Using the typesetting macros prior to START

        - -When used before the -START -macro, the following +

        +From time to time (or maybe frequently), you'll want the overall +look of a document to differ from mom's defaults. +Perhaps you'd like her to use a different +family, +or a different overall +leading, +or have different left and/or right page margins. +

        +To accomplish such alterations, use the appropriate +typesetting macros +(listed below) prior to +START. +Do NOT use the macros listed in +Changing document-wide typesetting parameters after START +prior to START; they are exclusively for use afterwards. +

        +When used before +START, +the typesetting macros -have these meanings: +(below) have the following meanings:

        -	L_MARGIN         Left margin of pages, including headers/footers
        -	R_MARGIN         Right margin of pages, including headers/footers
        -	T_MARGIN         The point at which running text (i.e. not
        -	                 headers/footers or page numbers) starts on each page
        -	B_MARGIN         The point at which running text (i.e. not
        -	                 headers/footers or page numbers) ends on each page
        -
        -	(PAGE            If you use PAGE, its first four arguments have the
        -	                 same meaning as L_ R_ T_ and B_MARGIN above.)
        -
        -	LL               The line length for everything on the page;
        -	                 equivalent to setting the right margin with R_MARGIN
        -	FAMILY           The family of all type in the document
        -	PT_SIZE          The point size of type in paragraphs; mom uses this
        -	                 calculate automatic point size changes (eg. for heads,
        -	                 footnotes, quotes, headers, etc)
        -	*LS or AUTOLEAD  The leading used in paragraphs; all leading and spacing
        -	                 of running text is calculated from this
        -	QUAD             Affects paragraphs only
        +	L_MARGIN       Left margin of pages, including headers/footers
        +	R_MARGIN       Right margin of pages, including headers/footers
        +	T_MARGIN       The point at which running text (i.e. not
        +	               headers/footers or page numbers) starts on each page
        +	B_MARGIN*      The point at which running text (i.e. not
        +	(see note)     headers/footers or page numbers) ends on each page
        +
        +	PAGE           If you use PAGE, its final four arguments have the
        +	               same meaning as L_ R_ T_ and B_MARGIN above.)
        +
        +	LL             The line length for everything on the page;
        +	               equivalent to setting the right margin with R_MARGIN
        +	FAMILY         The family of all type in the document
        +	PT_SIZE        The point size of type in paragraphs; mom uses this
        +	               calculate automatic point size changes (e.g. for heads,
        +	               footnotes, quotes, headers, etc)
        +	LS/AUTOLEAD**  The leading used in paragraphs; all leading and spacing
        +	               of running text is calculated from this
        +
        +	QUAD/JUSTIFY   Affects paragraphs only
        +	LEFT           No effect***
        +	RIGHT          No effect***
        +	CENTER         No effect***
         
         ------
        -*See DOC_LEAD_ADJUST
        +  *See FOOTER MARGIN AND BOTTOM MARGIN for an important warning
        + **See DOC_LEAD_ADJUST
        +***See Special note
         
        Other macros that deal with type style, or refinements thereof @@ -1179,11 +1449,59 @@ It is not recommended that you set up tabs or indents prior to START.

        -If you want to change any of the basic parameters above +If you want to change any of the basic parameters (above) after START and have them affect a document globally (as if you'd entered them before START), you must use the macros listed in Changing document-wide style parameters after START. + + +

        Special note on .LEFT, .RIGHT and .CENTER prior to START

        +

        +In a word, these three macros have no effect on document processing +when invoked prior to START. +

        +All mom's document element tags +(PP, HEAD, +BLOCKQUOTE, FOOTNOTE, etc.) +except +QUOTE +set a +fill mode +as soon as they're invoked. If you wish to turn fill mode off for +the duration of any tag (with +.LEFT, .RIGHT or .CENTER) +you must do so immediately after invoking the tag. Furthermore, +the change affects only the current invocation of the tag. +Subsequent invocations of the same tag for which you want the same +change require that you invoke LEFT, +RIGHT or CENTER immediately after +every invocation of the tag. + + +

        Colour

        + +Although it doesn't really matter where you define/initialize +colours for use in document processing (see +NEWCOLOR +and +XCOLOR +in the section +Coloured text), +I recommend doing so before you begin document processing with +START. +

        +The macro, +COLOR, +and the +inline escape, +\[<colorname>], +can be used at any time during document processing for occasional +colour effects. However, consistent and reliable colourizing of +various document elements (the docheader, heads, linebreaks, +footnotes, pagenumbers, and so on) must be managed through the use +of the +document element control macros.
        @@ -1208,42 +1526,58 @@ to the leading until the maximum number of lines at the new leading matches the bottom margin. In most instances, the difference between the requested lead and the adjusted lead is -unnoticeable. +unnoticeable, and since in almost all cases adjusted leading is +what you want, it's mom's default.

        -Mom uses DOC_LEAD_ADJUST with -her default document settings, but if you invoke -LS -or -AUTOLEAD -prior to -START, -you have to do +Should you NOT want adjusted document leading, you MUST turn it +off manually, like this:

        -	.DOC_LEAD_ADJUST
        +	.DOC_LEAD_ADJUST OFF
         
        -in order to enable it. -

        -If you don't like the idea of mom playing around -with the leading by default, you can turn adjusting off with + If you set the document leading prior to START +with +LS +or +AUTOLEAD, +DOC_LEAD_ADJUST OFF must come afterwards, like +this:

        +	.LS 12
         	.DOC_LEAD_ADJUST OFF
         
        In this scenario, the maximum number of lines that fit on a page at -the current document leading determine where mom ends +a +leading +of 12 +points +determine where mom ends a page. The effect will be that last lines usually fall (slightly) -short of your expected bottom margin. +short of the "official" bottom margin. +

        +In +PRINTSTYLE +TYPEWRITE, the leading is always adjusted and +can't be turned off.

        NOTE: DOC_LEAD_ADJUST, if used, must be invoked after -LS +LS or AUTOLEAD and before START -
        +

        +ADDITIONAL NOTE: Even if you disable +DOC_LEAD_ADJUST, mom will still +adjust the leading of endnotes pages and toc pages. See +ENDNOTE_LEAD +and +TOC_LEAD +for an explanation of how to disable this default behaviour. +

        @@ -1270,17 +1604,22 @@ have to be OFF; it can be anything you like.

        If you turn the docheader off, mom, by default, starts -your document in the same place she would if the docheader were there. -If you'd like her to start at a different vertical position, give -her the distance you'd like as a second argument. +the running text of your document on the same top +baseline +as all subsequent pages. If you'd like her to start at a different +vertical position, give her the distance you'd like as a second +argument.

         	.DOCHEADER OFF 1.5i
         
        -This starts the document 1.5 inches from the top of the page. -The distance you give is measured from the top edge of the paper -to the +This starts the document 1.5 inches from the top of the page PLUS +whatever spacing adjustment mom has to make in +order to ensure that the first baseline of running text falls on a +"legal" baseline (i.e. one that ensures that the bottom +margin of the first page falls where it should). The distance is +measured from the top edge of the paper to the baseline of the first line of type.

        @@ -1294,7 +1633,7 @@ to ensure that the body of your document starts where you want. You can even insert a PostScript file (with .PSPIC; see the grops man page for usage). - +

        How to change the look of docheaders: docheader control macros

        @@ -1336,6 +1675,25 @@ The family is the prevailing family of the whole document. +

        +NOTE: If your DOCTYPE is +CHAPTER and you have both "Chapter #" +and a "Chapter Title" (as above), you may find the +leading +a bit cramped (owing to mom's default docheader +leading. If this is the case, you can adjust the leading either +with +DOCHEADER_LEAD +or by including the +inline escape, +\*[DOWN], +in the argument you pass to +CHAPTER_TITLE, like this: +

        +

        +	.CHAPTER_TITLE "\*[DOWN 2p]Why Not Patent Calculus?"
        +
        +

        The docheader macros to:

          @@ -1343,11 +1701,13 @@
        1. Adjust the docheader leading
        2. Change the family of docheader elements
        3. Change the font of docheader elements +
        4. Change the colour of the docheader
        5. Adjust the size of docheader elements
        6. Change the attribution string ("by")

        1. Change the starting position

        +

        By default, a docheader starts on the same baseline as @@ -1379,14 +1739,15 @@ Use DOCHEADER_ADVANCE to place them where you want. - +

        2. Adjust the leading

        +

        The -leading of -docheaders is the same as running text (except when +leading +of docheaders is the same as running text (except when DOCTYPE -is CHAPTER and both a chapter number and a +is CHAPTER and both a chapter number and a chapter title have been supplied, in which case the default is 4 points more than running text.)

        @@ -1394,16 +1755,18 @@ points more than the lead of running text, use:

        -	.DOCHEADER_LEAD +2p
        +	.DOCHEADER_LEAD +2
         
        Since the leading of docheaders is calculated from the lead of running text, a + or - sign is required before the argument (how much to add -or subtract from the lead of running text). The +or subtract from the lead of running text). No unit of measure -is also required. +is required; points is assumed. +

        3. Change the family of docheader elements

        +

        The following macros let you change the family of each docheader element separately: @@ -1417,9 +1780,13 @@ DOCTYPE is NAMED)

        -Simply pass the appropriate macro the family you want. +Simply pass the appropriate macro the family you want, just as you +would with +FAMILY. +

        4. Change the font of docheader elements

        +

        The following macros let you change the font of each docheader element separately: @@ -1437,9 +1804,50 @@ B, I and BI have the same meaning as they do for FT. +

        +

        5. Change the colour of the docheader

        +

        +The following macros let you change the color of each docheader +element separately. You must pre-define (or +"initialize") the color with +NEWCOLOR +or +XCOLOR. +

        +

          +
        • TITLE_COLOR <colorname> +
        • SUBTITLE_COLOR <colorname> +
        • ATTRIBUTE_COLOR <colorname> +(the "by" string that precedes the author[s] name[s]) +
        • AUTHOR_COLOR <colorname> +
        • DOCTYPE_COLOR <colorname> (if +DOCTYPE is NAMED) +
        +

        +It is not recommended that you embed colour (with the +inline escape, +\*[<colorname>]) +in the strings passed to +TITLE, SUBTITLE, +AUTHOR or the name you give DOCTYPE +NAMED. The strings passed to these macros are used to +generate page +headers +and +footers. +An embedded colour will cause the string to be colourized any time +it appears in headers or footers. (If you want headers or footers +colourized, or parts thereof, use the header/footer control macros +

        +If you want to colourize the entire docheader, use the macro +

        +

          +
        • DOCHEADER_COLOR <color name>. +
        -

        5. Adjust the size of docheader elements

        +

        6. Adjust the size of docheader elements

        +

        The following macros let you adjust the point size of each docheader element separately.

        @@ -1471,8 +1879,9 @@

        Simply pass the appropriate macro the size adjustment you want. +

        -

        6. Change the attribution string ("by")

        +

        7. Change the attribution string ("by")

        If you're not writing in English, you can change what mom prints where "by" appears in @@ -1507,7 +1916,7 @@ would set "by" in Helvetica bold italic, 2 points smaller than normal. -
        +


        @@ -1545,7 +1954,7 @@ (and probably the paragraph first-line indent as well). -
        +

        @@ -1580,9 +1989,21 @@ is TYPEWRITE. The notion of typewriter-style output in columns is just too ghastly for her to bear. +

        Using tabs when COLUMNS are enabled

        +Mom's tabs +(both +typesetting tabs +and +string tabs) +behave normally during document processing EXCEPT when +COLUMNS are enabled. Your tabs will work in the +document column in which they were originally set, but not across +columns. When mom (or you) breaks to a new column, +you must redefine your tabs to make them function properly in the +new column. +

        Breaking columns manually

        -

        Mom takes care of breaking columns when they reach the bottom margin of a page. However, there may be times you want to break the columns yourself. There are two macros for breaking columns @@ -1634,7 +2055,7 @@ and prepares mom to process your document using the document element tags. No document processing takes place until you invoke START. -
        +

        @@ -1655,7 +2076,7 @@ At a barest minimum before START, you must enter a PRINTSTYLE command. -
        +


        @@ -1672,7 +2093,7 @@ (L_MARGIN, FAMILY, PT_SIZE, LS, etc). After START, you must use the following macros to make global changes to the basic type parameters of a document. -
        +

        Macro list

        @@ -1687,6 +2108,7 @@
      7. DOC_LEAD_ADJUST
      8. DOC_QUAD +

        @@ -1703,7 +2125,6 @@

      9. the line length remains the same (i.e. the right margin shifts when you change the left margin) -

        @@ -1814,6 +2235,16 @@ .NEWPAGE +NOTE: Even if you don't pass +DOC_LEAD the optional argument +ADJUST, mom will still adjust the +leading of endnotes pages and toc pages. See +ENDNOTE_LEAD +and +TOC_LEAD +for an explanation of how to disable this default behaviour. +

        +


        @@ -1826,11 +2257,11 @@

      10. affects paragraphs, epigraphs and footnotes; does not affect blockquotes +
        -


        Next   -Prev   +Prev   Top   Back to Table of Contents diff -ruN groff-1.19/contrib/mom/momdoc/goodies.html groff-1.19.1/contrib/mom/momdoc/goodies.html --- groff-1.19/contrib/mom/momdoc/goodies.html Tue Feb 25 17:42:58 2003 +++ groff-1.19.1/contrib/mom/momdoc/goodies.html Mon Mar 22 07:18:36 2004 @@ -10,16 +10,16 @@ Next   Prev   Back to Table of Contents - +

        -

        Goodies

        +

        Goodies

        - +

        The macros in this section are a collection of useful (and sometimes -nearly indispensible) routines to simplify typesetting. - +nearly indispensable) routines to simplify typesetting. +

        Goodies list

        @@ -28,7 +28,7 @@
      11. ALIAS (rename macros)
      12. SILENT ("hide" input lines from output)
      13. TRAP (suspend/re-invoke traps) -
      14. SMARTQUOTES +
      15. SMARTQUOTES (convert typewriter doublequotes to proper doublequotes)
      16. CAPS (convert to upper case)
      17. Underscore/underline @@ -59,12 +59,21 @@
      18. DROPCAP_GUTTER (change space between drop cap and running text) -
      19. Superscript +
      20. Superscripts +
      21. Lists + @@ -142,7 +151,7 @@ EXPERTS: ALIAS is an alias of .als. You can use either, or mix 'n' match with impunity. -
        +

        @@ -195,7 +204,7 @@ to which you've passed the J or QUAD argument. You must insert .BR yourself, or risk a portion of your text disappearing into a black hole. -
        +

        @@ -213,9 +222,9 @@

        Sometimes, traps get sprung when you don't want them, notably when using the -EL +EL and -TN +TN macros. If this happens, surround just the offending macros and input lines with

        @@ -232,19 +241,28 @@ Have a look at the IMPORTANT sections of EL and TN to see TRAP in action. -
        +


        -

        Smartquotes

        +

        Convert typewriter doublequotes to proper doublequotes


        -Macro: SMARTQUOTES toggle +Macro: SMARTQUOTES [<off>] [ ,, | >> | << ] +
        +or +
        +Macro: SMARTQUOTES DA | DE | ES | FR | IT | NL | NO | PT | SV

        -SMARTQUOTES converts all instances of the -inch-mark, (" -- also called a "doublequote"), -into the appropriate instances of true open- and close-doublequotes. +If you invoke SMARTQUOTES without an argument, +mom converts all instances of the inch-mark, +(" -- also called a "doublequote"), into +the appropriate instances of true Anglo-American open- and +close-doublequotes. (See +Internationalization +for how to get SMARTQUOTES to behave correctly for non-English +quoting styles.)

        Typographically, there is a difference between the inch-mark and doublequotes -- a BIG difference. Sadly, typewriters and computer @@ -255,20 +273,83 @@ a professional typesetter notices in documents prepared by amateurs. And you don't want to look like an amateur, do you?

        -When preparing documents for typesetting, by all means, use the -inch-mark. Just make sure to turn SMARTQUOTES -on. SMARTQUOTES is a toggle, so invoking it with -no argument turns it on, and invoking it with any argument at all -turns it off. +

        Internationalization

        +

        +If you invoke SMARTQUOTES with one of the optional +arguments (,, or >> or +<<) you can use " as "cheap" +open- and close-quotes when inputting text in a language other than +English, and have mom convert them, on output, +into the chosen open- and close-quote style. +

        +,, opens quotes with "lowered doublequotes" and +closes them with "raised doublequotes", as in this ascii +approximation: +

        +

        +	,,Hilfe !``
        +
        + +>> opens quotes with guillemets pointing to the +right, and closes them with guillemets pointing to the left, as in +this ascii approximation: +

        +

        +	>>Zurück !<<
        +
        + +<< opens quotes with guillemets pointing to the +left, and closes them with guillemets pointing to the right, as in +this ascii approximation: +

        +

        +	<<Mais monsieur! Je ne suis pas ce genre de fille!>>
        +
        + +Please note: the above arguments to SMARTQUOTES +are literal ASCII characters. ,, is two commas, +<< is two less-than signs and >> +is two greater-than signs. +

        +Alternatively, you can pass SMARTQUOTES the +two-letter, ISO 639 abbreviation for the language you're writing in, +and mom will output the correct quotes. +

        +

        +	.SMARTQUOTES DA     = Danish      >>text<<
        +	.SMARTQUOTES DE     = German      ,,text``
        +	.SMARTQUOTES ES     = Spanish     ``text´´
        +	.SMARTQUOTES FR     = French      << text >>
        +	.SMARTQUOTES IT     = Italian     << text >>
        +	.SMARTQUOTES NL     = Dutch       ´´text´´
        +	.SMARTQUOTES NO     = Norwegian   <<text>>
        +	.SMARTQUOTES PT     = Portuguese  <<text>>
        +	.SMARTQUOTES SV     = Swedish     >>text>>
        +
        +

        +Turn SMARTQUOTES off by passing it any argument +not in the argument list (e.g. OFF, +QUIT, X, etc.)

        If you're using the document processing macros with PRINTSTYLE TYPESET, -SMARTQUOTES is on by default; with +SMARTQUOTES is on by default (in the Anglo-American +style); with PRINTSTYLE TYPEWRITE, it's off by default (and should probably stay that way).

        +Finally, if you're fussy about the kerning of quote marks in +relation to the text they surround, or have special quoting needs, +you have to enter quote marks by hand using groff's native +inline escapes +for special characters (see man groff_char for a complete list of +special characters). Entering quote marks this way allows you to +use mom's +inline kerning escapes +to fine-tune the look of quotes. +

        NOTE: SMARTQUOTES does not work on single quotes, which most people input with the apostrophe (found at the right-hand end of the "home row" on a QWERTY keyboard). @@ -289,7 +370,7 @@ inline escapes \*[FOOT] and \*[INCH], instead of ' and ". -
        +

        @@ -383,7 +464,7 @@ printed, looks fine. Generally, I recommend using gv to preview files anyway. See the section on previewing. -
        +

        @@ -427,7 +508,7 @@ UNDERSCORE. See the NOTES for UNDERSCORE. -
        +

        @@ -440,7 +521,7 @@ If your font is Courier, or you're using the document processing macro PRINTSTYLE TYPEWRITE, UNDERLINE allows you to underline words and -passages that, in typeset copy, would be italicised. You invoke +passages that, in typeset copy, would be italicized. You invoke UNDERLINE as you do with all toggle macros -- by itself (i.e. with no argument) to initiate underlining, and with any argument to turn underlining off. @@ -453,7 +534,7 @@ inline with the escapes \*[UL]...\*[ULX]. -
        +

        @@ -466,7 +547,7 @@ If your font is Courier, or you're using the document processing macro PRINTSTYLE TYPEWRITE, \*[UL]...\*[ULX] underlines words and -passages that, in typeset copy, would be italicised. +passages that, in typeset copy, would be italicized.

        \*[UL] underlines all letters, words and numbers following it, but not punctuation or spaces. This makes for more @@ -560,8 +641,13 @@ string tabs. The following uses the Date/Signature example above, but adds rules into the whitespace through the use of string tabs and +mom's +inline escape +\*[RULE]. +(Instead of \*[RULE], groff's line drawing function, -\l. +\l +could be used.)

         	.LL 30P
        @@ -570,45 +656,36 @@
         	.ST 1 J
         	.ST 2 J
         	.TAB 1
        -	\l'\n(.lu'
        +	\*[RULE]
         	.TN
        -	\l'\n(.lu'
        +	\*[RULE]
         	.TQ
         
        If you're not a typesetter, and if you're new to groff, the example probably looks like gibberish. My apologies. However, remember that typesetting is a craft, and without having studied -the craft, it takes a while to grasp its concepts. Also, -although mom tries very hard to provide -consistent-looking, comprehensible alternatives to groff's -native -inline escapes, -mom has not yet found a replacement for -\l. +the craft, it takes a while to grasp its concepts.

        Basically, what the example does is:

        1. Pads the Date/Signature line (using the pad marker #), encloses the padded space with two string tabs markers, - and outputs the line + and outputs the line.
        2. Sets the two string tabs (notice the use of EL beforehand; you don't want mom - to advance a line at this point) + to advance a line at this point).
        3. Calls the first string tab and draws a rule to its full - length (\l'\n(.lu'; for an easier way to draw a rule - that fills a tab, see - Full measure - rules). + length.
        4. Calls the second tab with TN (which moves to tab 2 and stays on the same baseline) - then draws a rule to the full length of string tab 2 + then draws a rule to the full length of string tab 2.

        Often, when setting up string tabs this way, you don't want the @@ -632,7 +709,7 @@ \(lq and \(rq (leftquote and rightquote respectively) whenever double-quotes are required in the string passed to PAD. -
        +

        @@ -658,7 +735,7 @@ effect for every instance of PAD until you change it again (say, back to the pound sign). -
        +

        @@ -862,7 +939,7 @@ points, therefore do not append any unit of measure -to the argument. And always be sure to preprend the plus or +to the argument. And always be sure to prepend the plus or minus sign, depending on whether you want the drop cap larger or smaller. @@ -916,7 +993,6 @@ Of course, anyone who wishes to contribute a subscript routine to mom will receive eternal blessings not only in this lifetime, but in all lifetimes to come. -


        Next   diff -ruN groff-1.19/contrib/mom/momdoc/headfootpage.html groff-1.19.1/contrib/mom/momdoc/headfootpage.html --- groff-1.19/contrib/mom/momdoc/headfootpage.html Wed Jun 12 21:19:32 2002 +++ groff-1.19.1/contrib/mom/momdoc/headfootpage.html Mon Mar 22 07:18:36 2004 @@ -10,10 +10,11 @@ Next   Prev   Back to Table of Contents +

        -

        DOCUMENT HEADERS, FOOTERS, AND PAGINATION

        +

        PAGE HEADERS, FOOTERS, AND PAGINATION

        +
      22. Control macros for headers/footers
        • Header/footer strings +
        • Header/footer style
        • Pagination @@ -64,7 +70,6 @@

          Introduction

          -

          Headers and footers, @@ -110,16 +115,17 @@ above or below running text is technically a kind of header/footer, mom and this documentation treat it as a separate page element. +

          General description of headers/footers

          -Headers comprise three distinct parts: a left part, a center part, +Headers comprise three distinct parts: a left part, a centre part, and a right part. Each part contains text (a "string") that identifies some aspect of the document as a whole.

          The left part ("header left") lines up with the document's -left margin. The center part ("header center") is -centered on the document's line length. The right part ("header +left margin. The centre part ("header centre") is +centred on the document's line length. The right part ("header right") lines up with the document's right margin. Not all parts need contain a string, and if you don't want headers at all, you can turn them off completely. @@ -134,7 +140,7 @@ DOCTYPE. You can, however, supply whatever strings you like -- including page numbers -- to go in any part of headers. What's more, you can set the -family, font, size and capitalisation style (caps or caps/lower-case) +family, font, size and capitalization style (caps or caps/lower-case) for each header part individually.

          By default, mom prints a horizontal rule beneath @@ -143,11 +149,12 @@ or decrease the space between the header and the rule if you like (with HEADER_RULE_GAP), or remove it completely. +

          Default specs for headers/footers

          Mom makes small type adjustments to each part of -the header (left, center, right) to achieve an aesthetically +the header (left, centre, right) to achieve an aesthetically pleasing result. The defaults are listed below. (The strings mom puts by default in each part are explained in DOCTYPE.) @@ -161,6 +168,7 @@ --------- ----------- ------------- ------------ Family document default document default document default Font roman italic roman +Colour (black) (black) (black) All caps no no yes Size* -.5 (points) -.5 (points) -2 (points) (-2 if all caps) (-2 if all caps) (-.5 if not all caps) @@ -175,7 +183,9 @@ that removes all type adjustments to headers. The straightforward type specs for paragraphs are used instead, providing a simple reference point for any alterations you want to make to the family, -font, size and capitalisation style of any header part. +font, size and capitalization style of any header part. +

          +

          Vertical placement and spacing of headers/footers

          As explained in the section on @@ -184,7 +194,7 @@ are the vertical start and end positions of running text, not the vertical positions of headers or footers, which, by definition, -appear in the margin above (or below) running text. +appear in the margins above (or below) running text.

          The vertical placement of headers is controlled by the macro @@ -208,7 +218,10 @@ FOOTER_GAP and B_MARGIN work similarly, except they determine where running text -ends on the page. +ends on the page. (See +FOOTER MARGIN AND BOTTOM MARGIN -- VERY IMPORTANT! +for a warning about possible conflicts between the footer margin +and the bottom margin.)

          Confused? Mom apologizes. It's really quite simple. By default, mom sets headers 4-1/2 @@ -238,7 +251,7 @@ page numbers were headers (or footers), and are controlled by the same macros. See Pagination control. -
          +


          @@ -272,7 +285,7 @@ you'd prefer footers in a document, you need only invoke FOOTERS; there's no need to turn headers off first. -
          +

          @@ -311,7 +324,7 @@ top of the page, where its placement and spacing are the same as for headers. (I.e. the top margin of running text remains 7.5 picas.) -
          +

          @@ -342,7 +355,7 @@ COLLATE. If you don't want this behaviour, you can change it with PAGENUM_ON_FIRST_PAGE. -
          +

          @@ -359,7 +372,7 @@ docheader on page makes it redundant.) However, should you wish a footer on page 1, invoke FOOTER_ON_FIRST_PAGE without any argument. -
          +


          @@ -377,8 +390,8 @@ as is often the case with recto/verso documents.

          Say, for example, you want recto page headers to contain a document's -author, centered, and verso page headers to contain the document's -title, also centered, like this: +author, centred, and verso page headers to contain the document's +title, also centred, like this:

           	+------------------------+   +------------------------+     
          @@ -403,17 +416,17 @@
           possible, even when
           RECTO_VERSO
           is enabled.  RECTO_VERSO switches the left and
          -right parts of headers on alternate pages, but the center
          +right parts of headers on alternate pages, but the centre
           part remains unchanged.
           

          -Anytime you need distinctly different headers on alternate +Any time you need distinctly different headers on alternate pages, mom has macros that let you manually design and determine what goes into headers on recto pages, and what goes into headers on verso pages. The macros are HEADER_RECTO and HEADER_VERSO. -Both allow you to state whether the header is flush left, centered, +Both allow you to state whether the header is flush left, centred, or flush right, and both take a single string argument with which, by combining text and @@ -421,10 +434,10 @@ you can make the headers come out just about any way you want. Use of the \*[PAGE#] escape is permitted in the string argument (see -Including the page number in header-left, -center or -right), -and mom provides a special mechanism whereby -it's possible to "pad" it as well. -
          +Including the page number in header-left, -centre or -right), +and as an added bonus, mom provides a special +mechanism whereby it's possible to "pad" the string as well. +

          @@ -432,6 +445,7 @@

          Macro: HEADER_RECTO LEFT | CENTER | RIGHT "<header recto string>" +
          Macro: HEADER_VERSO LEFT | CENTER | RIGHT "<header verso string>"
          @@ -451,7 +465,10 @@ surrounded by double-quotes, containing what you want in the header. HEADER_RECTO disables mom's normal 3-part headers, therefore anything you want in the -headers must be entered by hand in the string. +headers must be entered by hand in the string, including colours +(via the +inline escape +\*[<colorname>]).

          By default, HEADER_RECTO is set at the same size, and in the same family and font, as paragraph text. The @@ -471,9 +488,9 @@

          To include the current page number in the string, use the \*[PAGE#] inline. +
          -

          Padding the HEADER_RECTO/HEADER_VERSO string

          -

          +

          *Padding the HEADER_RECTO/HEADER_VERSO string

          You can "pad" the header-recto string, a convenience you'll appreciate in circumstances such as the following.

          @@ -504,7 +521,9 @@ inserted. (If you're unsure what padding is, see Insert space into lines.) Note that if you're padding the string, it doesn't matter what -quad direction you give HEADER_RECTO. +quad direction you give HEADER_RECTO since +padding, by its nature, justifies text to the left and right +margins.

          The situation depicted above is accomplished like this:

          @@ -517,6 +536,16 @@ in \*[PAGE#] as a padding marker (i.e. as a place to insert whitespace).

          +Also, notice that the argument LEFT is used in both +cases. When padding a header, it doesn't matter whether you use +LEFT, CENTER or RIGHT as the argument. +

          +Furthermore, should you need a user-defined header of +the sort provided by HEADER_RECTO and +HEADER_VERSO but aren't actually printing +recto/verso, you can use HEADER_RECTO to design the +header that appears at the top of every page. +

          IMPORTANT: The PAD_MARKER macro, which changes the default pad marker (#) used by @@ -524,20 +553,20 @@ has no effect on the pad marker used in the HEADER_RECTO string. If you absolutely must have a literal pound sign in your HEADER_RECTO -string, use the escape sequence \N'35' where you want -the pound sign to go. -
          +string, use the escape sequence for the pound sign +(\[sh]) where you want the pound sign to go. +


          Control macros for headers/footers

          -

          Virtually every part of headers (see the paragraph on how "headers" means "footers" in the introduction to headers/footers) can be designed to your own specifications. +

          Header/footer control macros

          @@ -548,23 +577,28 @@
        • STYLE
          • Part-by-part changes -
          • _FAMILY -- left, center or right family -
          • _FONT   -- left, center or right font -
          • _SIZE   -- left, center or right size -
          • _CAPS   -- left, center or right all caps +
          • _FAMILY -- left, centre or right family +
          • _FONT   -- left, centre or right font +
          • _SIZE   -- left, centre or right size +
          • _CAPS   -- left, centre or right all caps +
          • _COLOR  -- left, centre or right colour
        • VERTICAL PLACEMENT AND SPACING @@ -588,7 +623,7 @@
          - Macro: HEADER_CENTER "<text of header center>" | # + Macro: HEADER_CENTER "<text of header centre>" | #
          @@ -596,8 +631,8 @@

          -To change the text (the "string") of the left, center, -or right part of headers, invoke the appopriate macro above with +To change the text (the "string") of the left, centre, +or right part of headers, invoke the appropriate macro above with the string you want. For example, mom, by default, prints the document's author in the header-left position. If your document has, say, two authors, and you want both their names to @@ -614,11 +649,155 @@

          NOTE: Replace HEADER_, above, with FOOTER_ to change the strings in footers. + +

          *Padding the header/footer centre string

          +

          +Macro: HEADER_CENTER_PAD LEFT | RIGHT <amount of space by which to pad centre string left or right>
          +*Requires a unit of measure +

          +By default, mom centres the header centre string +literally on the line length in effect for page headers. In some +cases, notably when the header left or header right strings are +particularly long, the effect isn't pretty. The offendingly long +header left or right crowds, or even overprints, the header centre. +That's where HEADER_CENTER_PAD comes in. With a +bit of experimentation (yes, you have to preview the document), you +can use HEADER_CENTER_PAD to move the header +centre string left or right until it looks acceptably centred +between the two other strings. +

          +For example, say your document is an outline for a novel called "By +the Shores of Lake Attica." You've told mom +you want +

          +    DOCTYPE + +NAMED "Outline" +

          +but when you preview your work, you see that "Outline", in the +centre of the page header, is uncomfortably close to the title, +which is to the right of it. By invoking +

          +

          +	.HEADER_CENTER_PAD RIGHT 3P
          +
          + +you can scoot the word "Outline" over three +picas +to the left (the padding's added to the right of the string) +so that your head looks nicely spaced out. Invoking +HEADER_CENTER_PAD with the LEFT +argument obviously puts the padding on the left side of the string. +

          +Most reassuring of all is that if you use +HEADER_CENTER_PAD conjunction with +RECTO_VERSO, +mom will pad the centre string appropriately left +OR right, depending on which page you're on, without you having to +tell her to do so. +

          + +


          +

          +

          Using mom's "reserved" strings in header/footer definitions

          +

          +As pointed out in the author's note in the introduction to +headers/footers, headers and footers are something you don't +normally have to worry much about. Mom usually +knows what to do. +

          +However, situations do arise where you need to manipulate what goes +in the header/footer strings, setting and resetting them as you go +along. A case where you might want to do this would be if you want +to output endnotes at the end of each document in a series of +collated +documents, and you want the word "Endnotes" to go in the header +centre position of the endnotes, but want, say, the +TITLE +to go back into the centre position for the next output document. +

          +In scenarios like the above, mom has a number of +"reserved" strings that you can plug into the +HEADER_LEFT, _CENTER and _RIGHT +macros. They are: +

          +

          +	\*[$TITLE]          -- the argument passed to .TITLE
          +	\*[$DOCTITLE]       -- the argument passed to .DOCTITLE
          +	\*[$AUTHOR_1]       -- the first argument passed to .AUTHOR
          +	\*[$CHAPTER_STRING] -- the argument passed to .CHAPTER_STRING,
          +	                       if invoked, otherwise, "Chapter"
          +	\*[$CHAPTER]        -- the argument (typically a number) passed
          +	                       to .CHAPTER
          +	\*[$CHAPTER_TITLE]  -- the argument passed to .CHAPTER_TITLE
          +
          + +Returning to the scenario above, first, you'd define a centre +string for the endnotes page: +

          +

          +	.HEADER_CENTER "Endnotes"
          +
          + +Then, you'd output the endnotes: +

          +

          +	.ENDNOTES
          +
          + +Then, you'd prepare mom for the next document: +

          +

          +	.COLLATE
          +	.TITLE "New Doc Title"
          +	.AUTHOR "Josephine Blough"
          +
          + +Then, you'd redefine the header centre string using the reserved +string \*[$TITLE], like this: +

          +

          +	.HEADER_CENTER "\*[$TITLE]"
          +
          + +And last, you'd do: +

          +

          +	.START
          +
          + +Voilà! Any argument you pass to TITLE from here +on in (say, for subsequent documents) is back in the header centre +position. Here's the whole routine again: +

          +

          +	.HEADER_CENTER "Endnotes"
          +	.ENDNOTES
          +	.COLLATE
          +	.TITLE         "New Doc Title"
          +	.AUTHOR        "Josephine Blough"
          +	.HEADER_CENTER "\*[$TITLE]"
          +	.START
          +
          + +If need be, you can concatenate the strings, as in the following +example. +

          +

          +	.HEADER_CENTER "\*[$CHAPTER_STRING] \*[$CHAPTER]"
          +
          + +which, assuming a .CHAPTER_STRING of +"Chapter" and a .CHAPTER of +"2", would put "Chapter 2" in the header centre +position. +

          -

          Replacing header-left, -center or -right with the page number

          +

          *Replacing header-left, -CENTER or -right with the page number

          +

          If you would like to have the current page number to appear header-left, -center, or -right instead of a text string, invoke the appropriate macro, above, with the single @@ -630,12 +809,14 @@ .HEADER_CENTER #

        • -will print the current page number in the center part of +will print the current page number in the CENTER part of headers. +

          -

          Including the page number in header-left, -center or -right

          +

          *Including the page number in header-left, -CENTER or -right

          +

          If you would like to include the current page number in the string you pass to HEADER_LEFT, _CENTER, or _RIGHT, use the special @@ -653,7 +834,7 @@ Header-right of page two will read "page 2 of 10", header-right of page three will read "page 3 of 10", and so on. -
          +


          @@ -674,6 +855,7 @@
        • HEADER_FAMILY
        • HEADER_SIZE
        • HEADER_PLAIN +
        • HEADER_COLOR

        @@ -693,7 +875,7 @@

        NOTE: Replace HEADER_, above, with FOOTER_ to change the footer family. -
        +


        @@ -740,7 +922,7 @@ COPYSTYLE is DRAFT, since portions of the header may overprint if, say, the title of your document is very long. -
        +


        @@ -762,7 +944,33 @@ NOTE: Replace HEADER_, above, with FOOTER_ to disable mom's default behaviour for the various elements of footer style. -
        +

        + +


        +

        + + Macro: HEADER_COLOR <colorname> + + +

        +If you want your headers in a colour different from the document +default (usually black), invoke HEADER_COLOR with +the name of a colour pre-defined (or "initialized") with +NEWCOLOR +or +XCOLOR. +

        +HEADER_COLOR will set all the parts of the header +AND the header rule in the colour you give it as an argument. If +you wish finer control over colour in headers, you can use +HEADER_<POSITION>_COLOR +to colourize each part of the header separately, as well as +HEADER_RULE_COLOR +to change the colour of the header rule. +

        +NOTE: Replace HEADER_, above, +with FOOTER_ to colourize footers. +


        @@ -777,6 +985,7 @@

      23. HEADER_<POSITION>_FONT
      24. HEADER_<POSITION>_SIZE
      25. HEADER_<POSITION>_CAPS +
      26. HEADER_<POSITION>_COLOR
        @@ -794,7 +1003,7 @@

        NOTE: Replace HEADER_, above, with FOOTER_ to change a footer part's family. -
        +


        @@ -811,7 +1020,7 @@

        NOTE: Replace HEADER_, above, with FOOTER_ to change a footer part's font. -
        +


        @@ -828,7 +1037,7 @@

        NOTE: Replace HEADER_, above, with FOOTER_ to change a footer part's size. -
        +


        @@ -853,7 +1062,50 @@ NOTE: Replace HEADER_, above, with FOOTER_ to change a footer part's capitalization style. -
        + +

        +


        +

        + + Macro: HEADER_<POSITION>_COLOR <colorname> + +

        +HEADER_<POSITION>_COLOR allows you to set a +colour for each of the three possible parts of a page header +separately. For example, say you want the right part of the header +(by default, the document title) in red, this is how you'd get it: +

        +

        +	.HEADER_RIGHT_COLOR red
        +
        + +The other parts of the header will be in the default header colour +(usually black, but that can be changed with +HEADER_COLOR). +

        +Remember that you have to define (or "initialize") a +colour with +NEWCOLOR +or +XCOLOR +before you can use the colour. +

        +If you create a +user-defined header +with +HEADER_RECTO +or +HEADER_VERSO, +and you want various elements within the header to be colourized, +embed the colours in the string passed to HEADER_RECTO +or HEADER_VERSO with the +\*[<colorname>] +inline escape. +

        +NOTE: Replace HEADER_, above, +with FOOTER_ to set the colours for the various +elements of footers. +


        @@ -867,7 +1119,7 @@ Vertical placement and spacing of headers/footers for an explanation of how mom deals with headers, footers, and top/bottom page margins. -
        +

        @@ -902,11 +1154,60 @@

        Mom's default footer margin is 3 picas. + +

        -NOTE: Mom uses -HEADER_MARGIN and +FOOTER MARGIN AND BOTTOM MARGIN -- VERY IMPORTANT! +

        +Mom requires a footer margin for proper operation, +hence she sets one, even if you don't. (As stated above, her default +footer margin is 3-picas). +

        +If you set a bottom margin for your document (with +B_MARGIN, +prior to +START) +and the margin's too close to mom's default +footer margin (or a footer margin you set yourself +with FOOTER_MARGIN), mom will +not print your footers; additionally, she'll give you a warning +and some advice on standard error. When this happens, you must +reset either B_MARGIN or +FOOTER_MARGIN so there's an adequate amount of +space for mom to print the bottom line of running +text and the footer. +

        +If you see the warning even when footers and/or bottom-of-page page +numbering are disabled, set a nominal footer margin of 0 prior to +START, +as in these examples. +

        +Example 1 +

        +

        +	<reference macros, etc>
        +	.PAGINATION    OFF
        +	.B_MARGIN      .25i
        +	.FOOTER_MARGIN O
        +	.START
        +
        + +Example 2 +

        +

        +	<reference macros, etc>
        +	.HEADERS       OFF
        +	.PAGENUM_POS   TOP RIGHT
        +	.B_MARGIN      .25i
        +	.FOOTER_MARGIN O
        +	.START
        +
        + +

        A note on header/footer margins and page numbering

        +Mom uses HEADER_MARGIN
        and FOOTER_MARGIN to establish the baseline -position of page numbers in addition to headers and footers. +position of page numbers in addition to the baseline position of +headers and footers.

        By default, page numbers appear at the bottom of the page, therefore if you want the default position (bottom), but want to change the @@ -918,7 +1219,7 @@ PAGENUM_POS, you'd use HEADER_MARGIN to change their baseline placement. -
        +

        @@ -950,7 +1251,7 @@

        Mom's default header gap is 3 picas, -but if you want a different gap, say, 2 centimeters, do +but if you want a different gap, say, 2 centimetres, do

         	.HEADER_GAP 2c
        @@ -987,7 +1288,7 @@
         FOOTER_GAP.  If page numbers are at the top of the
         page, change the gap between the number and the first line of running
         text with HEADER_GAP.
        -
        +


        @@ -1010,7 +1311,7 @@ @@ -1036,7 +1337,7 @@ with FOOTER_ to enable/disable the printing of the footer separator rule. (Most likely, if you're using FOOTERS, you'll want it off.) -
        +

        @@ -1057,7 +1358,7 @@ (i.e. HEADER_RULE_GAP is NOT added to HEADER_GAP when mom calculates the space between headers and the start of -running text. +running text).

        By default, the header rule gap is 4 points. @@ -1087,7 +1388,34 @@ Inline changes to the size of type in FOOTER_RECTO and FOOTER_VERSO should always be negative (smaller) than the default. -
        +

        + + + +


        +

        + +Macro: HEADER_RULE_COLOR <colorname> + +

        +If you wish to change the colour of the header rule, invoke +HEADER_RULE_COLOR with the name of a colour +pre-defined (or "initialized") with +NEWCOLOR +or +XCOLOR. +

        +Please note that HEADER_RULE_COLOR overrides the +colour set with +HDRFTR_COLOR, +so that it's possible to have the heads entirely in, say, blue (set +with HEADER_COLOR), and the header rule in, say, +red. +

        +NOTE: Replace HEADER_, above, +with FOOTER_ to change the colour of the footer +rule. +


        @@ -1096,11 +1424,11 @@

        By default, mom paginates documents. Page numbers -appear in the bottom margin of the page, centered between two hyphens. +appear in the bottom margin of the page, centred between two hyphens. As with all elements of mom's document processing, most aspects of pagination style can be altered to suit your taste with control macros. -
        +

        Pagination macros list

        @@ -1114,7 +1442,7 @@
      27. DRAFT_WITH_PAGENUMBER -- attach draft/revision information to page numbers
      28. Control macros -
        +

        @@ -1137,7 +1465,7 @@ To (re)start pagination, invoke PAGINATE without any argument. -
        +

        @@ -1157,7 +1485,7 @@ any time to tell mom what number you want a page to have. Subsequent page numbers will, of course, be incremented by 1 from that number. -
        +

        @@ -1171,13 +1499,13 @@ mom what kind of page numbering you want.

i = inches
p = points
P = picas -
c = centimeters +
c = centimetres
m = ems
n = ens
v = the current leading (line space)
-
DIGIT=arabic digits (1, 2, 3...) +
DIGIT=Arabic digits (1, 2, 3...)
ROMAN=upper case roman numerals (I, II, III...)
roman=lower case roman numerals (i, ii, iii...)
ALPHA=upper case letters (A, B, C...)
alpha=lower case letters (a, b, c...)
-
+

@@ -1207,7 +1535,7 @@ START of the document, then invoke it either just before or after your first COLLATE. -
+

@@ -1219,7 +1547,7 @@

Sometimes, in COPYSTYLE DRAFT, -the center part of page headers gets overcrowded because of the draft +the CENTER part of page headers gets overcrowded because of the draft and revision information that go there by default. DRAFT_WITH_PAGENUMBER is one way to fix the problem. @@ -1236,7 +1564,7 @@ COPYSTYLE DRAFT for other ways of dealing with crowded page headers when formatting draft-style copy. -
+


@@ -1275,7 +1603,7 @@ and footers off (with .HEADERS OFF and .FOOTERS -OFFmom to number your +OFF) and you want mom to number your pages at the top right position, enter

@@ -1283,6 +1611,7 @@
 

3. Enclose page numbers with hyphens (on or off)

+

By default, mom encloses page numbers between hyphens. If you don't want this behaviour, invoke the macro PAGENUM_HYPHENS with any argument (OFF, QUIT, END, X...), @@ -1294,8 +1623,8 @@ If, for some reason, you want to turn page number hyphens back on, invoke the macro without an argument. -

+


Next   Prev   diff -ruN groff-1.19/contrib/mom/momdoc/inlines.html groff-1.19.1/contrib/mom/momdoc/inlines.html --- groff-1.19/contrib/mom/momdoc/inlines.html Tue Feb 25 17:42:58 2003 +++ groff-1.19.1/contrib/mom/momdoc/inlines.html Mon Mar 22 07:18:36 2004 @@ -7,19 +7,19 @@ -Next   +Next   Prev   Back to Table of Contents -

+

Inline escapes -

- + +

Introduction to inline escapes
Index of inline escapes -
+

Introduction to inline escapes

@@ -52,14 +52,14 @@ character." (You can also use \e to print a literal backslash.)

-Groff has a number of ways of recognising what constitutes a complete +Groff has a number of ways of recognizing what constitutes a complete escape sequence. This is both a boon and a curse; some escape sequences have no terminating delimiter and consequently become difficult to distinguish from real input text. Others require the use of an opening parenthesis with no corresponding closing parenthesis. Still others need to be enclosed in square brackets.

-Mom recognises that certain escapes get used more +Mom recognizes that certain escapes get used more often than others. For these, she has a consistent input style that takes the form \*[...], which makes them stand out well from the text of your documents. These escapes are the ones listed under @@ -100,6 +100,7 @@

  • Special characters +


    @@ -129,7 +130,7 @@ document processing macros, inline font changes remain in effect only for the duration of the current macro. -
    +

    @@ -137,42 +138,59 @@

    Changing point size

    -Mom's inline escape for changing point -size, sadly, does not observe her normal inline syntax -\*[whatever]. It's the only exception, and there's -no way around it. The escape for changing point size looks like this: +Mom has two inline escapes for changing point +size: +

    +

    +	\*[SIZE <size>]
    +
    + +and +

    +

    +	\*[S<size>]
    +
    + +where "size" is the new size you want. You can use +either; they behave exactly the same way. For example, to change +the point size of type inline to 12 points, you could enter either

    -	\*S[size]
    +	\*[SIZE 12]
     
    -where "size" is the new size you want. For example, to -change the point size inline to 12 points, you'd enter +or

     	\*S[12]
     
    -Notice that the new size does not require a +The advantage of the first form is that it's easy to remember, and +follows mom's usual inline syntax. The advantage +of the second is that it's more concise. +

    +Notice that in both cases, the new size does not require a unit of measure; points -is assumed. However, a unit of measure may be appended to the size, +is assumed. However, a unit of measure may be appended to the size if that's what you wish. Fractional sizes are, of course, allowed.

    -The size given to \*S may be expressed in plus -or minus terms, which can be very useful. In the following -example, the word "mom" will be output 2 points larger -than the point size of the rest of the line. +The size given to \*[SIZE <size>] or +\*S[<size>] may be expressed in plus or minus +terms, which can be very useful. In the following examples, the word +"mom" will be output 2 points larger than the point size +of the rest of the line.

     	While she isn't perfect, \*S[+2]mom\*S[-2] isn't half bad.
    +	While she isn't perfect, \*[SIZE +2]mom\*[SIZE -2] isn't half bad.
     
    NOTE: If you're accustomed to groff's usual way of handling inline size requests (\sN, \s±N, \s(NN, \s±(NN, \s[NNN], \s±[NNN]), feel free to continue with your old habits. Mom doesn't care. -
    +

    @@ -187,16 +205,15 @@

    Mom permits inline pairwise kerning through the use of the inline escapes -

    +
    -
    \*[BU #]Closes the space between letters (Back Units). -
    \*[FU #]Opens the space between letters (Forward Units). +
    \*[BU #]
    Closes the space between letters (Back Units). +
    \*[FU #]
    Opens the space between letters (Forward Units).

    "#" is the number of kern units -by which to close or open the space between letters. Decimal fractions -are allowed. +by which to close or open the space between letters.

    For example,

    @@ -212,10 +229,10 @@ For backward compatibility, the forms

    -
    \*[BU1]...\*[BU36] +
    \*[BU1]...\*[BU36]
    Move back 1...36 kern units -
    \*[FU1]...\*[FU36] +
    \*[FU1]...\*[FU36]
    Move forward 1...36 kern units
    @@ -227,7 +244,7 @@ between characters pairs that are already automatically kerned disables the automatic kerning and uses the value you give to BU or FU instead. -
    +

    @@ -247,12 +264,12 @@

    -
    \*[FWD #<unit>] +
    \*[FWD #<unit>]
    Move forward inline the specified number of units of measure; decimal fractions are allowed. -
    \*[BCK #<unit>] +
    \*[BCK #<unit>]
    Move backward inline the specified number of units of measure; decimal fractions are allowed. @@ -269,8 +286,8 @@ NOTE: For backward compatibility, the forms

    - +
    \*[BP.25]...\*[BP12.75]Move back .25...12.75 points -
    \*[FP.25]...\*[FP12.75]Move forward .25...12.75 points
    \*[BP.25]...\*[BP12.75]
    Move back .25...12.75 points +
    \*[FP.25]...\*[FP12.75]
    Move forward .25...12.75 points

    also exist (i.e. with no space before the digit and points being @@ -278,7 +295,7 @@ accept quarter points, so it's possible to do, for example, \*[FP.5] or \*[BP1.25] up to a limit of 12.75 points. -
    +

    @@ -291,11 +308,11 @@

    -
    \*[UP #<unit>] +
    \*[UP #<unit>]
    Move up inline the specified number of units of measure -
    \*[DOWN #<unit>] +
    \*[DOWN #<unit>]
    Move down inline the specified number of units of measure
    @@ -313,16 +330,16 @@ also available:

    -
    \*[ALD.25]...\*[ALD12.75] +
    \*[ALD.25]...\*[ALD12.75]
    Advance lead .25...12.75 points (move downward) -
    \*[RLD.25]...\*[RLD12.75] +
    \*[RLD.25]...\*[RLD12.75]
    Reverse lead .5...12.75 points (move upward)

    Both \*[ALD] and \*[RLD] work in -points, hence you musn't use a unit of measure. -
    +points, hence you mustn't use a unit of measure. +

    @@ -344,10 +361,27 @@ The above draws a rule the full measure of the 6-pica line length. -Please note that \*[$RULE] should appear on a line by -itself and that it draws the rule to the full measure, hence it -cannot be used to fill the remainder of a partial line with -a rule in this way: +

    +\*[$RULE] should appear on a line by itself. In +fill modes, +(i.e. +QUAD +or +JUSTIFY), +it requires a +.BR +on the line immediately before it; in +nofill modes +(i.e +LEFT, +RIGHT +or +CENTER), +the .BR is not required. +

    +Please note that \*[$RULE] draws the rule to the +full measure, hence it cannot be used to fill the remainder +of a partial line with a rule in this way:

     	Signature__________________________________________
    @@ -358,13 +392,14 @@
     PAD
     macro and
     string tabs.
    -(See the example provided with
    -.PAD.
    +(See the
    +example
    +provided with PAD.)
     

    See groff's Horizontal line drawing function for more information on drawing horizontal rules. -
    +


    @@ -401,7 +436,7 @@ The Unix command "ls -l" will appear in Courier Bold Italic in a line that is otherwise in Times Roman. -
    +

    @@ -432,7 +467,7 @@ moves you 1.25 inches to the left (backwards). \h'-<distance>' is exactly equivalent to \*[BCK #<unit>]. -
    +

    @@ -479,7 +514,7 @@ will be set too high (if you used \v with the minus sign) or too low (if you used \v without the minus sign). -
    +

    @@ -507,7 +542,7 @@ Furthermore, if the string is composed of several words separated by spaces, you MUST surround the whole escape with double quotes, as in the example above. -
    +

    @@ -550,8 +585,8 @@ when I need to combine type with graphic elements (say, a complex ruled form). Inserting the results into a document is easy enough with .PSPIC (consult the grops -man page for information on this indispensible and easy-to-use macro). -
    +man page for information on this indispensable and easy-to-use macro). +

    @@ -566,8 +601,8 @@ For a more complete list, consult the section Special Character Names at the end of the Tutorial Examples in cstr54, available -here. - +here, +the groff info documentation, or man groff_char.

         CHARACTER                   ESCAPE SEQUENCE
    @@ -603,7 +638,7 @@
     

    -Next   +Next   Prev   Top   Back to Table of Contents diff -ruN groff-1.19/contrib/mom/momdoc/intro.html groff-1.19.1/contrib/mom/momdoc/intro.html --- groff-1.19/contrib/mom/momdoc/intro.html Tue Feb 25 17:42:58 2003 +++ groff-1.19.1/contrib/mom/momdoc/intro.html Sun Feb 22 10:17:08 2004 @@ -50,7 +50,7 @@ started.

    -As might be infered from the above, mom is two macro +As might be inferred from the above, mom is two macro packages in one: a set of typesetting macros, and a set of document processing macros. The typesetting macros govern the physical aspects of page layout and provide sane, comprehensible control over @@ -72,6 +72,7 @@ primitives in order to accomplish what you want; the typesetting macros take care of that. +

    Typesetting with mom

    @@ -107,7 +108,7 @@ the page.

    Years of reading various mailing lists dealing with computer -typesetting (groff, TeX, and friends) have convinced me that no progam +typesetting (groff, TeX, and friends) have convinced me that no program can ever replace the human eye and human input when it comes to high quality typesetting. As of this writing, a thread on the subject of "micro typography" in groff has been going on for nearly a @@ -124,7 +125,7 @@ typesetters to come up with solutions to these problems in ways that are somewhat easier and more intuitive than manipulating groff at the -primtive +primitive level. As a professional typesetter of more than two decades, and a writer, I have encountered few situations that cannot be handled by mom's typesetting macros. @@ -136,7 +137,7 @@ lines. At present, only word spacing is adjusted, requiring what I consider an unnecessary amount of user intervention whenever letter spacing is required. - +

    Document processing with mom

    @@ -149,7 +150,7 @@ placement of the various elements of a document. For example, if you don't want your heads underlined, or you want them bigger/smaller, or you'd prefer them to be in a different font, or you'd rather they -were flush left instead of centered, you can make the changes easily +were flush left instead of centred, you can make the changes easily and have them apply to the whole document. Temporary and one-off changes are easy, too.

    @@ -163,7 +164,7 @@ high-school typing teacher proud. Footnotes, multiple columns, recto/verso printing and user designable headers and footers are also part of the fun. - +

    Mom's philosophy

    @@ -220,8 +221,7 @@ She's designed for printed output, although with PRINTSTYLE TYPEWRITE she produces acceptable terminal copy. She makes no attempt to be -compatible with older versions of troff. And she remains largely -untested with the groff preprocessors (tbl, pic, eqn, etc.) +compatible with older versions of troff.

    One special feature in mom's design is the attention she pays to aligning the bottom margins of every page. Nothing screams @@ -233,7 +233,7 @@ where hanging bottom margins can be avoided, mom does avoid them, by clever adjustments to leading ("line spacing") and the spacing between different elements on the page. - +

    A note on mom's documentation

    @@ -259,26 +259,37 @@ And when explanations aren't enough, I offer examples.

    -The canonical reference materials for groff are cstr54 -(a downloadable PostScript copy of which is available +The canonical reference materials for groff are +cstr54 (a downloadable PostScript copy of which is +available here) -and the troff and groff_diff manpages. -I've tried to avoid reiterating them, however, in a few places, this has -proved impossible. Be forewarned: I have no qualms about sidestepping -excrutiating completeness about groff usage; I'm more concerned with -getting mom users up and running. Mea culpa. +and the troff and groff_diff +manpages. Another excellent source of information (maybe the best) +are the groff info pages, available by typing +

    +

    +	info groff
    +
    + +at the command line (assuming you have info +installed on your system). +

    +I've tried to avoid reiterating the information contained in these +documents; however, in a few places, this has proved impossible. +But be forewarned: I have no qualms about sidestepping excruciating +completeness concerning groff usage; I'm more interested in getting +mom users up and running. Mea culpa.

    Note: Mom's macro file (om.tmac) is heavily commented. Each macro is preceded by a -description of its arguments, function, and usage, which may +description of its arguments, function and usage, which may give you information in addition to what's contained in this documentation. - +

    How to read macro arguments

    -

    The concise descriptions of macros in this documentation typically look like this:

    @@ -299,7 +310,7 @@ which means "or."
  • Arguments that are optional are surrounded by square brackets.
  • <off> in an argument list means that any argument - turns the macro off. + other than those in the argument list turns the macro off.

    Toggle macros

    @@ -315,12 +326,14 @@
    toggle
    +

    Example 1: an argument requiring double-quotes

    Macro: TITLE "<title of document>"
    +

    The required argument to TITLE is the title of your document. Since it's surrounded by double-quotes, you must include them in the argument, like this: @@ -333,6 +346,7 @@

    Macro: TAB_SET <tab #> <indent> <length> [ L | R | C | J [ QUAD ] ]
    +

    The first required argument is a number that identifies the tab (say, "3"). The second required argument is an indent from the left margin (say, 6 picas). The third required argument is the length of the tab @@ -355,12 +369,12 @@ .TAB_SET 3 6P 3P L QUAD

  • -

    Example 3: a sample toggle macro:

    - + +

    Example 3: a sample toggle macro:

    Macro: QUOTE toggle
    - +

    QUOTE begins a section of quoted text in a document and doesn't require an argument. When the quote's finished, you have to tell mom it's done. diff -ruN groff-1.19/contrib/mom/momdoc/letters.html groff-1.19.1/contrib/mom/momdoc/letters.html --- groff-1.19/contrib/mom/momdoc/letters.html Wed Jun 12 21:19:32 2002 +++ groff-1.19.1/contrib/mom/momdoc/letters.html Sun Feb 22 10:17:08 2004 @@ -10,6 +10,7 @@ Next   Prev   Back to Table of Contents +

    @@ -33,11 +34,11 @@ flexibility in the matter of letters, which are, after all, simple communicative documents whose only real style requirements are that they be neat and professional-looking. - +

    Tutorial on writing letters

    - -Mom letters begin, like all mom -processed documents, with a +

    +Mom letters begin, like all +mom-processed documents, with a reference macro (in this case, AUTHOR), @@ -46,7 +47,8 @@ (LETTER, obviously), the essential PRINTSTYLE macro, and -START. +START, +like this:

     	.AUTHOR    "Yannick P. Guique"
    @@ -58,30 +60,40 @@
     PRINTSTYLE, above, could also be
     TYPEWRITE.  Mom has no objection
     to creating letters that look like they were typed on an Underwood
    -by a shapely secretary with great gams back in the 1940s.
    +by a shapely secretary with 1940s gams.
     

    -After the START macro, you enter data pertinent to +After the START macro, you enter headers pertinent to your letter: the date, the addressee (in business correspondence, -typically both name and address), the addressor (that's you; in +typically both name and address), the addresser (that's you; in business correspondence, typically both name and address), and a -greeting (in full, e.g. "Dear Mr. Smith,"). +greeting (in full, e.g. "Dear Mr. Smith," or "Dear +Mr. Smith:").

    -The macros for entering the data are simple (they're not even -toggles) -and entered in an intuitive order. -
    -

      -
    1. .DATE -
    2. .TO -
    3. .FROM -
    4. .GREETING -
    +The macros for entering the headers are simple (they're not even +toggles):

    -Mom ignores any you omit and spaces the letter's -opening according to what you do include. +

    +	.DATE
    +	.TO
    +	.FROM
    +	.GREETING
    +
    + +You may enter them in any order you like, except for +GREETING, which must come last. +Mom ignores any headers you omit and spaces the +letter's opening according to what you do include. See +Default for letters +to find out how mom formats the headers. +

    +(In pre 1.1.7-a releases of mom, the order +of entry was fixed at the above. This has been changed, although +if you do follow the above order, mom will +continue to behave exactly as she did in pre 1.1.7-a.)

    Once you've filled in what you need to get a letter started, simply -type the letter, introducing each and every paragraph with the +type the letter, introducing each and every paragraph, including +the first, with the PP macro.

    @@ -132,19 +144,78 @@ .CLOSING Sincerely,

    + +This produces a letter with headers that follow the North American +standard for business correspondence. If you'd prefer another +style of correspondence, for example, British, you'd set up the +same letter like this: +

    +

    +	.AUTHOR    "Yannick P. Guique"
    +	.DOCTYPE    LETTER
    +	.PRINTSTYLE TYPESET
    +	.START
    +	.FROM
    +	.RIGHT
    +	Y.P. GUIQUE
    +	022 Umask Road
    +	St-Sauveur-en-dehors-de-la-mappe, Québec
    +	.TO
    +	GUILLAUME BARRIÈRES
    +	Minidoux Corporation
    +	5000 Pannes Drive
    +	Redmond, Virginia
    +	.DATE
    +	.RIGHT
    +	August 25, 2004
    +	.GREETING
    +	Dear Mr. Barrières,
    +
    + +Notice the use of .RIGHT after +.FROM and .DATE in this example, +used to change the default quad for these macros. +


    Defaults for letters

    -In letters, mom sets: +In letters, if the order of header macros is

    +

    +	.DATE
    +	.TO
    +	.FROM
    +	.GREETING
    +
    + +mom sets +
      -
    1. the date flush right, page right, at the top of page one -
    2. the addressee in a block flush left, page left -
    3. the addressor in a block flush left, page left -
    4. the greeting flush left +
    5. the date flush right, page right, at the top of page one, +with a gap of two linespaces underneath +
    6. the addressee in a block flush left, page left, with a gap of +one linespace underneath +
    7. the addresser in a block flush left, page left, with a gap of +one linespace underneath +
    8. the greeting flush left, with a gap of one linespace +underneath +
    +

    +which is the standard for North American business correspondence. +

    +If you switch the order of .DATE, +.TO and/or .FROM, +mom sets all the headers flush left, with a gap of +one linespace underneath. (The default left quad of any header can +be changed by invoking the .RIGHT macro, on a line +by itself, immediately before inputting the text of the header.) +

    +Following the headers, mom sets +

    +

    • the body of the letter justified
    • in multi-page letters:
        @@ -152,7 +223,7 @@
      • the page number at the top of every page after page one
    • the closing/signature line flush left, indented halfway across the page - +

    Other important style defaults are listed below, and may be changed via the @@ -185,7 +256,7 @@ Footers* yes yes Footer margin 3 picas 3 picas Footer gap 3 picas 3 picas -Page numbers top, centered top, centered +Page numbers top, centred top, centred *Footers contain a "next page" number of the form .../# @@ -207,6 +278,7 @@

  • CLOSING
  • NO_SUITE -- "next page" number off +
    @@ -224,6 +296,29 @@ October 31, 2002 +If you wish to change the default quad direction for the date, +enter .LEFT or .RIGHT, on a line by itself, +immediately after .DATE. +

    +If you wish to insert additional space between the date and any +letter header that comes after it, do so after inputting the date, +not at the top of the next header macro, like this: +

    +

    +	.DATE
    +	October 31, 2002
    +	.SPACE     \" Or, more simply, .SP
    +
    + +If you wish to remove the default space, +

    +

    +	.SPACE -1v \" Or, more simply, .SP -1v
    +
    + +will do the trick. +

    +


    @@ -242,6 +337,31 @@ Bramladesh, Ont. +If you wish to change the default quad direction for the address, +enter .LEFT or .RIGHT, on a line by itself, +immediately after .TO. +

    +If you wish to insert additional space between the address and +any letter header that comes after it, do so after inputting the +address, not at the top of the next header macro, like this: +

    +

    +	.TO
    +	JOHN SMITH
    +	10 Roberts Crescent
    +	Bramladesh, Ont.
    +	.SPACE     \" Or, more simply, .SP
    +
    + +If you wish to remove the default space, +

    +

    +	.SPACE -1v \" Or, more simply, .SP -1v
    +
    + +will do the trick. +

    +


    @@ -251,14 +371,39 @@

    Invoke FROM on a line by itself, with the name -and address of the addressor underneath, like this: +and address of the addresser underneath, like this: +

    +

    +	.FROM
    +	JOE BLOW
    +	15 Brunette Road
    +	Ste-Vieille-Andouille, Québec
    +
    + +If you wish to change the default quad direction for the address, +enter .LEFT or .RIGHT, on a line by itself, +immediately after .FROM. +

    +If you wish to insert additional space between the address and +any letter header that comes after it, do so after inputting the +address, not at the top of the next header macro, like this:

     	.FROM
     	JOE BLOW
     	15 Brunette Road
     	Ste-Vieille-Andouille, Québec
    +	.SPACE     \" Or, more simply, .SP
     
    + +If you wish to remove the default space, +

    +

    +	.SPACE -1v \" Or, more simply, .SP -1v
    +
    + +will do the trick. +

    diff -ruN groff-1.19/contrib/mom/momdoc/rectoverso.html groff-1.19.1/contrib/mom/momdoc/rectoverso.html --- groff-1.19/contrib/mom/momdoc/rectoverso.html Wed Jul 10 08:07:37 2002 +++ groff-1.19.1/contrib/mom/momdoc/rectoverso.html Sun Feb 22 10:17:08 2004 @@ -10,14 +10,12 @@ Next   Prev   Back to Table of Contents +

    + -

    RECTO/VERSO PRINTING and COLLATING

    - - - -

    Recto/verso and collating

    +

    RECTO/VERSO PRINTING and COLLATING

      @@ -57,7 +55,7 @@ if user-defined, single string recto/verso headers or footers are used in place of the default 3-part headers or footers -
    • switching the page number position (if page numbers are not centered) +
    • switching the page number position (if page numbers are not centred)

    It is beyond the scope of this documentation to cover the different @@ -74,8 +72,7 @@ work from the command line, check out the man pages for pstops and psbook. There are other programs out there as well to help with two-sided printing. -
    - +

    Recto/verso macros list

    @@ -85,6 +82,7 @@
  • RECTO_VERSO
  • SWITCH_HEADERS (also FOOTERS) +


    @@ -92,7 +90,6 @@

    Recto/verso printing

    -
    Macro: RECTO_VERSO

    @@ -122,11 +119,11 @@ (before or after START).

    Equally, recto/verso only switches the page number position if page -numbers aren't centered, which means you have to set the page +numbers aren't centred, which means you have to set the page number position with PAGENUM_POS (before or after START). -
    +

    @@ -134,7 +131,6 @@

    Switch header left part/right part

    -
    Macro: SWITCH_HEADERS

    @@ -144,7 +140,7 @@ mom's default placement of author and title, use SWITCH_HEADERS to reverse it.

    -SWITCH_HEADERS can also be useful in conjuction +SWITCH_HEADERS can also be useful in conjunction with RECTO_VERSO. The assumption of RECTO_VERSO is that the first @@ -160,7 +156,7 @@

    NOTE: Replace _HEADERS, above, with _FOOTERS if your document uses footers. -
    +


    @@ -205,15 +201,14 @@
    1. Do not collate documents of differing PRINTSTYLES (i.e. don't try to - collate a TYPESET document and TYPEWRITE document -- - why would you want to do that anyway?) + collate a TYPESET document and TYPEWRITE document).
    2. Use DOC_FAMILY instead of FAMILY if, for some reason, you want to change the family of all the document elements after COLLATE. FAMILY, by itself, will change the family of paragraph text only.
    -
    +

    @@ -221,7 +216,7 @@

    Collate document files

    -
    + Macro: COLLATE

    @@ -246,7 +241,7 @@ NOTE: See the two words of caution, above. -
    +


    Next   diff -ruN groff-1.19/contrib/mom/momdoc/reserved.html groff-1.19.1/contrib/mom/momdoc/reserved.html --- groff-1.19/contrib/mom/momdoc/reserved.html Tue Feb 25 17:42:58 2003 +++ groff-1.19.1/contrib/mom/momdoc/reserved.html Mon Mar 22 07:18:37 2004 @@ -7,11 +7,26 @@ -Prev   Back to Table of Contents

    LIST OF RESERVED WORDS

    The following is a list of "reserved" words used by mom. Before changing the name of any macro or document element tag with ALIAS, I strongly recommend doing a search of this page for your proposed new name. If you find it in the left hand column, DON'T USE IT. Choose something else instead.

    +Prev   Back to Table of Contents +

    + + + +

    LIST OF RESERVED WORDS

    + +

    The following is a list of "reserved" words used by +mom. Before changing the name of any macro or +document element tag with +ALIAS, +I strongly recommend doing a search of this page for your proposed +new name. If you find it in the left hand column, DON'T USE IT. +Choose something else instead. +

    Anyone interested in playing around inside mom's macro file (om.tmac) will find this list useful as well since it lists all -(I hope) the macros, strings, and number registers mom -uses, along with brief descriptions of their functions. +(I hope) the macros, strings, diversions and number registers +mom uses, along with brief descriptions of their +functions.

     TYPESETTING
    @@ -28,25 +43,31 @@
     
     B_MARGIN  Space to leave at page bottom
     L_MARGIN  Page offset
    -R_MARGIN  Line length as a function of pagewidth - pageoffset - rightmargin
    +R_MARGIN  Line length as a function of
    +          pagewidth minus pageoffset minus rightmargin
     T_MARGIN  Advance lead from page top
     
     Page control
     ------------
    -DO_B_MARGIN  Margin at bottom of page
    -DO_T_MARGIN  Margin at top of page
    +DO_B_MARGIN  Margin at bottom of page; trap-invoked
    +DO_T_MARGIN  Margin at top of page; trap-invoked
     
     Style
     -----
    -CONDENSE   Set percentage of pseudo-condense (alias of CONDENSE_OR_EXTEND)
    -EXTEND     Set percentage of pseudo-extend (alias of CONDENSE_OR_EXTEND)
    +COLOR      Change color of text to predefined value
    +CONDENSE   Set percentage of pseudo-condense (alias of
    +           CONDENSE_OR_EXTEND)
    +EXTEND     Set percentage of pseudo-extend (alias of
    +           CONDENSE_OR_EXTEND)
     FAMILY     Family
     FT         Font
     LL         Line length
     LS         Leading (.vs)
    +NEWCOLOR   Define a text color
     PT_SIZE    Point size
     SETBOLDER  Set degree of emboldening (pseudo-bold) in units
     SETSLANT   Set degree of pseudo-italic
    +XCOLOR     Initialize a color from rgb.txt
     
     Autolead
     --------
    @@ -55,11 +76,11 @@
     Flush
     -----
     JUSTIFY  Justified text
    -QUAD     Filled text, left, right, or center
    +QUAD     Filled text, left, right, or centre
     
     Quad
     ----
    -CENTER  Non-filled text, center
    +CENTER  Non-filled text, centre
     LEFT    Non-filled text, left
     RIGHT   Non-filled text, right
     
    @@ -129,32 +150,44 @@
     BR_AT_LINE_KERN  Deposit a break before RW and WE
     CAPS             Convert u/lc to UC
     COMMENT          Don't print lines till COMMENT OFF (alias of SILENT)
    -DROPCAP_ADJUST   Points (poss. fractional) to add/subtract from drop caps
    +DROPCAP_ADJUST   Points (poss. fractional) to add/subtract
    +                 from drop caps
     DROPCAP          Create drop cap
     DROPCAP_FAMILY   Drop cap family
     DROPCAP_FONT     Drop cap font
     DROPCAP_GUTTER   Drop cap gutter
     DROPCAP_OFF      Support only; restores .in if there was one
    -EW               Extra white -- loosen overall line kern (character spacing)
    +ESC_CHAR         Alias for .ec
    +EW               Extra white -- loosen overall line kern
    +                 (character spacing)
     LEADER_CHARACTER Sets leader character
     PAD              Insert padding spaces at marked places
     PADMARKER        Sets character to use instead of # in PAD
    -PRINT            Simply prints args passed to it; keeps my code indented nicely
    -RW               Reduce white -- tighten overal line kern (character spacing)
    +PRINT            Simply prints args passed to it; keeps my code
    +                 indented nicely
    +RW               Reduce white -- tighten overall line kern
    +                 (character spacing)
     SILENT           Don't print lines till SILENT OFF
    -SIZESPECS        Get cap-height, x-height and descender depth for current point size
    +SIZESPECS        Get cap-height, x-height and descender depth for
    +                 current point size
     TRAP             Turn traps off or on
     
     +++DIVERSIONS+++
     
     NO_FLASH    Diverts output of SILENT or COMMENT so they don't print
    -NULL        Diverts SIZESPECS in PRINT_HDRFTR so it SIZESPECS doesn't screw up FOOTER and FOOTNOTE processing when FOOTERS are on
    +NULL        Diverts SIZESPECS in PRINT_HDRFTR so it doesn't screw up
    +            FOOTER and FOOTNOTE processing when FOOTERS are on
     PAD_STRING  Diverts $PAD_STRING for processing
     TYPESIZE    Diverts SIZESPECS routine so it doesn't print
     
     +++NUMBER REGISTERS+++
     
     #ALD                    ALD value
    +#ARGS_TO_LIST           Tells LIST whether LIST was invoked with a legal
    +                        arg; controls LIST OFF processing
    +#ARGS_TO_SQ             Tells SMARTQUOTES whether it was invoked with a
    +                        legal arg; controls SMARTQUOTES OFF
    +                        processing
     #AUTOLEAD_FACTOR        Using FACTOR arg to AUTOLEAD? (toggle)
     #AUTO_LEAD              Using autolead? (toggle)
     #AUTO_LEAD_VALUE        Auto leading value
    @@ -164,22 +197,29 @@
     #BR_INDENT              Value of right indent when IB
     c                       column mark
     #CONDENSE               Are we in pseudo-condense mode? (toggle)
    -#COND_WIDTH             Width of pseudo-condensed type (pointsize x $COND_PERCENT)
    +#COND_WIDTH             Width of pseudo-condensed type
    +                        (pointsize x $COND_PERCENT)
    +#CURRENT_L_LENGTH       Current line length at first invocation of LIST;
    +                        like #ORIG_L_LENGTH
     #CURRENT_TAB            Current tab number
     #DC_GUT                 Width of dropcap gutter
     #DEGREES                # of degrees slant for pseudo-italic
    +#ENUMERATOR<n>          Number register enumerator for depth <n> in lists 
     #EXTEND                 Are we in pseudo-extend mode? (toggle)
    -#EXT_WIDTH              Width of pseudo-extended type (pointsize x $EXT_PERCENT)
    +#EXT_WIDTH              Width of pseudo-extended type
    +                        (pointsize x $EXT_PERCENT)
     #FILL_MODE              Are we in fill mode (i.e. \n(.u=1)? (toggle)
     #FONT_FOR_PAD           Used to ensure that the font in effect prior
    -                          to PAD is restored at the start of every iteration
    -                          of $PAD_STRING
    +                        to PAD is restored at the start of every
    +                        iteration of $PAD_STRING
     #H_INDENT               Value of left indent when IH
     #HL_INDENT              Value of the hang when IH
     #HYPHENATE              Hyphenation on? (toggle)
    -#HY_SET                 Did we manually set hyphenation parameters? (toggle)
    -#IN_TAB                 Are we in a tab? (toggle)  Set in macro TAB; used in ST to
    -                          determine whether to add #ST_OFFSET to #ST<#>_OFFSETT
    +#HY_SET                 Did we manually set hyphenation parameters?
    +                        (toggle)
    +#IN_TAB                 Are we in a tab? (toggle)
    +                        Set in macro TAB; used in ST to determine
    +                        whether to add #ST_OFFSET to #ST<#>_OFFSET
     #INDENT_ACTIVE          Indicates whether an indent is active (toggle)
     #INDENT_BOTH_ACTIVE     Toggle
     #INDENT_LEFT_ACTIVE     Toggle
    @@ -194,33 +234,46 @@
     #LAST_TAB               Last tab number set in multi-columns
     #LEAD                   Leading (alias)
     #LIGATURES              Ligatures on? (toggle)
    +#LIST_INDENT<n>         Left indent of list <n>
     #L_INDENT               Value of left indent
     #L_LENGTH               Line length
    -#L_MARGIN               Page offset if set with LMARGIN; if .po used, \n(.o returns
    +#L_MARGIN               Page offset if set with LMARGIN;
    +                        if .po used, \n(.o returns page offset
     #LOOP                   #LOOP=1 if a while loop executes; otherwise 0.
    +#NEXT_DEPTH_BACK        Next list level back in lists
     #NEXT_TAB               Current tab number + 1 (used in TN)
     #NEXT_TAB               Next tab in an n+1 sequence
     #OPEN_CLOSE             Manipulates character " to print `` or ''
    -p                       Output line horiz position at end of $PAD_STRING
    +#ORIGINAL_L_LENGTH      Used in LIST for IB processing; holds \n(.l
    +p                       Output line horiz position at end of
    +                        $PAD_STRING
     #PAD_COUNT              Number of times # was included in arg to PAD
    +#PAD_LIST_DIGITS        Pad list digits to the left? <toggle>
     #PAD_SPACE              Size of padding space
     #PAGE_LENGTH            Page length (alias)
     #PAGE_WIDTH             Page width
     #PP_ACTIVE              Are we in the context of a para? (toggle)
     #PRINT_FOOTER_ON_PAGE_1 toggle
     #PT_SIZE                Point size (fractional) in units (alias)
    -#Q_AT_TOP               Does a quote start at the top of a new page? (toggle)
    +#Q_AT_TOP               Does a quote start at the top of a new page?
    +                        (toggle)
     #QUAD                   In autoquad mode? (toggle)
    +#QUIT                   Tells LIST whether to exit lists completely
    +                        <toggle>
    +#REMOVE                 Used in LIST OFF cleanup
     #RESTORE_LEAD           Lead value in effect prior to AUTOLEAD
     #RESTORE_LINE_LENGTH    Restores actual line length in RULE
    -#RESTORE_PT_SIZE        Stores current point size (in units) prior to underscore
    +#RESTORE_PT_SIZE        Stores current point size (in units) prior
    +                        to underscore
     #R_INDENT               Value of right indent
    -#RLD                    RLD value
     #R_MARGIN               Right margin
    +#RESTORE_PREV_INDENT    Tells LIST OFF what kind of indent was active
    +                        prior to first invocation of LIST
    +#RLD                    RLD value
     #SILENT                 Is silent on? (toggle)
     #SIZE_FOR_PAD           Used to ensure that the size in effect prior
    -                          to PAD is restored at the start of every iteration
    -                          of $PAD_STRING
    +                        to PAD is restored at the start of every
    +                        iteration of $PAD_STRING
     #SLANT_ON               Is SLANT on? (toggle)
     #SMART_QUOTES           Smartquotes on? (toggle)
     #SPACE_TO_END           Whitespace at end of string passed to PAD
    @@ -228,45 +281,70 @@
     #ST<#>_MARK             Page offset of autotab <#> at ST<#>X
     #ST_NUM                 Incrementing counter for autotab identification
     #ST_OFFSET              Offset (from current tab) to add to #ST<#>_OFFSET
    -                          when calculating string indents set from within tabs
    +                        when calculating string indents set from within
    +                        tabs
     #ST<#>_OFFSET           Indent of autotab <#> (page offset)
    -t                       "mark" register set in T_MARGIN; recalled in LS and AUTOLEAD if #T_MARGIN_SET is 1
    +#STORED_L_INDENT        Current left indent at first invocation of LIST
    +#STORED_R_INDENT        Current right indent at first invocation of LIST
    +#STORED_BL_INDENT       Current "both, left" indent at first invocation
    +                        of LIST
    +#STORED_BR_INDENT       Current "both, right" indent at first invocation
    +                        of LIST
    +#STORED_HL_INDENT       Current hanging indent at first invocation
    +                        of LIST
    +#STORED_T_INDENT        Current temporary indent at first invocation
    +                        of LIST
    +t                       "mark" register set in T_MARGIN; recalled
    +                        in LS and AUTOLEAD if #T_MARGIN_SET is 1
    +#T_INDENT               Value of temporary indent
    +#T_MARGIN               Top margin
    +#T_MARGIN_SET           Did we set the top margin with T_MARGIN?
    +                        (toggle)
     #TAB_ACTIVE             Are we in a tab? (toggle)
     #TAB_NUMBER             Tab number
     #TAB_OFFSET             Tab indent
    -#T_INDENT               Value of temporary indent
    -#T_MARGIN               Top margin
    -#T_MARGIN_SET           Did we set the top margin with T_MARGIN? (toggle)
    +#TOTAL_LISTS            Total number of lists in a nest
     #USER_SET_L_LENGTH      Did user invoke LL? (toggle)
    +#USER_SET_TITLE_ITEM    Did user invoke TOC_TITLE_ENTRY?
     u                       Horiz position of start of underscore
     
     +++STRINGS+++
     
     $COND_PERCENT        Percentage by which to pseudo-condense type
    +$COLOR_SCHEME        Color scheme used in NEWCOLOR
     $CURRENT_QUAD        Restores current quad value in RULE
     $CURRENT_TAB         Current tab number
     $DC_ADJUST           +|- # of points to subtract from dropcap
     $DC_FAM              Drop cap family
     $DC_FT               Drop cap font
    +$ENUMERATOR<n>       String enumerator for depth <n> in lists 
     $EXT_PERCENT         Percentage by which to pseudo-extend type
     $FAMILY              Family
     $FAMILY_FOR_PAD      Used to ensure that the family in effect prior
    -                       to PAD is restored at the start of every iteration
    -                       of $PAD_STRING
    +                     to PAD is restored at the start of every
    +                     iteration of $PAD_STRING
     $FONT                Font
     $PAD_MARKER          Character to mark off padding in PAD
     $PAD_STRING          Arg passed to PAD
    -$QUAD_VALUE          Quad value (left, right, center, justify)
    +$QUAD_VALUE          Quad value (left, right, centre, justify)
     $QUOTE0              ``
     $QUOTE1              ''
    -$RESTORE_QUAD_VALUE  Quad value for use in restoring L, R, C, J (after tabs)
    +$RESTORE_QUAD_VALUE  Quad value for use in restoring L, R, C, J
    +                     (after tabs)
    +$SEPARATOR<n>        Separator for depth <n> in lists
     $SS_VAR              Holds + or - sentence space value
     $ST<#>_FILL          Always QUAD if QUAD passed to ST <#>
     $ST<#>_QUAD_DIR      Quad direction supplied to ST for <#>
    -$TAB_NUMBER          Argument passed to TAB macro to call TAB# macro created in TAB_SET
    +$TAB_NUMBER          Argument passed to TAB macro to call TAB# macro
    +                     created in TAB_SET
     $WS_CONSTANT         12; used to hold groff default wordspace
    -$WS                  Holds WS value; concatenation of WS_CONSTANT and WS_VAR
    +$WS                  Holds WS value; concatenation of WS_CONSTANT and
    +                     WS_VAR
     $WS_VAR              + or - value to add to $WS_CONSTANT
    +BLACK                Pre-defined black color
    +black                Pre-defined black color
    +WHITE                Pre-defined white color
    +white                Pre-defined white color
     
     +++ALIASES+++
     
    @@ -274,6 +352,7 @@
     ALIASN        aln
     BR            br
     CENTRE        CENTER
    +COLOUR        COLOR
     COMMENT       SILENT
     CONDENSE      CONDENSE_OR_EXTEND
     EXTEND        CONDENSE_OR_EXTEND
    @@ -285,6 +364,7 @@
     LL            LINE_LENGTH
     MAC           de
     NEW_PAGE      bp
    +NEWCOLOUR     NEWCOLOR
     NEWPAGE       NEW_PAGE
     PAGELENGTH    PAGE_LENGTH
     PAGE_LENGTH   pl
    @@ -296,6 +376,7 @@
     TB            TAB
     TI            IT
     UNDERSCORE_2  UNDERSCORE2
    +XCOLOUR       XCOLOR
     
     +++ALIASES FOR NUMBER REGISTERS+++
     
    @@ -316,11 +397,14 @@
     BOLDERX      Pseudo-bold off
     BP           Back points (horizontal movement)
     BU           Back units (inline pairwise kerning)
    -COND_FOR_SUP Pseudo-condense string for use with superscripts (called with CONDSUP)
    -COND_FOR_SUP Pseudo-extend string for use with superscripts (called with EXTSUP)
    +COND_FOR_SUP Pseudo-condense string for use with superscripts
    +             (called with CONDSUP)
    +COND_FOR_SUP Pseudo-extend string for use with superscripts (called
    +             with EXTSUP)
     COND         Pseudo-condense type
     CONDX        Pseudo-condense off
    -CONDSUP      Pseudo-condensed superscript (using value set with CONDENSE)
    +CONDSUP      Pseudo-condensed superscript (using value set with
    +             CONDENSE)
     CONDSUPX     Pseudo-condensed superscript off
     DOWN         Inline downward vertical movement
     EXT          Pseudo-extend type
    @@ -331,7 +415,8 @@
     FU           Forward units (inline pairwise kerning)
     FWD          Inline forward horizontal movement
     LEADER       Deposit leader to end of current LL or TAB
    -RULE         Draw a rule to the full measure of the current line or tab length
    +RULE         Draw a rule to the full measure of the current line or
    +             tab length
     SLANT        Slant (pseudo-italic on
     SLANTX       Slant off
     ST<#>        String tab end marker
    @@ -373,52 +458,69 @@
     
     Document tags
     -------------
    -BLOCKQUOTE  Block-indented, quoted text
    -COL_BREAK   Breaks and spreads line before invocation; moves to next column on page or 1st col of next page.  An alias of COL_NEXT.
    -COL_NEXT    Moves to next column on page or 1st col of next page
    -ENDNOTE     Endnote
    -ENDNOTES    Output endnotes
    -EPIGRAPH    Epigraph before 1st para 
    -FINIS       Prints --END--
    -FOOTNOTE    Collects footnotes in text for printing at bottom of page
    -HEAD        Section title (main heads)
    -LINEBREAK   Break between narrative sections
    -PARAHEAD    Paragraph head
    -PP          Paragraph
    -QUOTE       Poetic or line for line quotes
    -START       Prints info collected with doc info macros
    -SUBHEAD     Subheads
    +BLOCKQUOTE      Block-indented, quoted text
    +COL_BREAK       Breaks and spreads line before invocation; moves to
    +                next column on page or 1st col of next page.  An alias
    +                of COL_NEXT.
    +COL_NEXT        Moves to next column on page or 1st col of next page
    +ENDNOTE         Endnote
    +ENDNOTES        Output endnotes
    +EPIGRAPH        Epigraph before 1st para 
    +FINIS           Prints --END--
    +FOOTNOTE        Collects footnotes in text for printing at bottom of page
    +HEAD            Section title (main heads)
    +ITEM            Begin a list item
    +LINEBREAK       Break between narrative sections
    +LIST            Initialize a list
    +PAD_LIST_DIGITS Leave space for two-numeral digit enumerators in a list
    +PARAHEAD        Paragraph head
    +PP              Paragraph
    +QUOTE           Poetic or line for line quotes
    +RESET_LIST      Reset digit or alpha list enumerator
    +SHIFT_LIST      Move a list over to the right
    +START           Prints info collected with doc info macros
    +SUBHEAD         Subheads
     
     Headers/footers
     --------------
    -BREAK_QUOTE          Manually break a footnoted quote that crosses a page/column
    +BREAK_QUOTE          Manually break a footnoted quote that crosses
    +                     a page/column
     DO_FOOTER            Prints footer (after footnote processing, if any)
     FOOTER_ON_FIRST_PAGE Print footer on first page? (toggle)
     FOOTER               Trap-invoked footer macro
     HEADER               Trap-invoked header macro
     PAGINATE             Turns page numbering on or off (doc default=on)
    -RECTO_VERSO          Enables switch HEADER_LEFT and HEADER_RIGHT on alternate pages
    +PAGINATE_TOC         Turns pagination of toc on or off (default=on)
    +RECTO_VERSO          Enables switch HEADER_LEFT and HEADER_RIGHT on
    +                     alternate pages
     
     Alter doc "look" and/or change defaults
     ---------------------------------------
    -ALWAYS_FULLSPACE_QUOTES  Fullspace quotes instead of default 1/2 spacing them.
    +ALWAYS_FULLSPACE_QUOTES  Fullspace quotes instead of default
    +                         1/2 spacing them.
     ATTRIBUTE_STRING         What to print before author (default is "by")
     AUTHOR_FAMILY            Family to use for author in doc header
     AUTHOR_FONT              Font to use for author in doc header
     AUTHOR_SIZE              ps to use for author in doc header
    +BLOCKQUOTE_COLOR         Blockquote color
     BLOCKQUOTE_FAMILY        Family to use in blockquotes
     BLOCKQUOTE_FONT          Font to use in blockquotes
     BLOCKQUOTE_QUAD          How to quad blockquotes
     BLOCKQUOTE_SIZE          How much to de/increase point size of bquotes
    -CHAPTER_STRING           What to print whenever the word "chapter" is required
    +CHAPTER_STRING           What to print whenever the word "chapter"
    +                         is required
     CHAPTER_TITLE_FAMILY     Family to use for chapter title in doc header
     CHAPTER_TITLE_FONT       Font to use for chapter title in doc header
    -CHAPTER_TITLE_SIZE       ps in/decrease of chapter title (relative to size of running text)
    +CHAPTER_TITLE_SIZE       ps in/decrease of chapter title
    +                         (relative to size of running text)
     COLUMNS                  Print in columns
     DOC_FAMILY               Overall doc family
    -DOCHEADER_ADVANCE        Start position of docheader (relative to top of page)
    -DOCHEADER_LEAD           +|- value applied to #DOC_LEAD to in/decrease leading of doc header
    -DOC_HEADER               Print doc header?
    +DOCHEADER                Print doc header?
    +DOCHEADER_ADVANCE        Start position of docheader (relative to top
    +                         of page)
    +DOCHEADER_COLOR          Color of docheader
    +DOCHEADER_LEAD           +|- value applied to #DOC_LEAD to in/decrease
    +                         leading of doc header
     DOC_LEAD_ADJUST          Adjust #DOC_LEAD to fill page to #B_MARGIN
     DOC_LEAD                 Overall doc leading
     DOC_LEFT_MARGIN          Doc left margin
    @@ -426,378 +528,661 @@
     DOC_PT_SIZE              Overall doc point size
     DOC_QUAD                 Overall quad of document
     DOC_RIGHT_MARGIN         Doc right margin
    +DOC_TITLE                Overall doc title that gets printed in
    +                         headers/footers (mostly for use with collated
    +                         docs where each doc is an article with a
    +                         different title
     DOCTYPE_FAMILY           Family to use for doctype string in doc header
     DOCTYPE_FONT             Font to use for doctype string in doc header
     DOCTYPE_SIZE             ps to use for doctype string in doc header
     DOCTYPE                  Type of doc (DEFAULT, CHAPTER, NAMED, LETTER)
    -DO_QUOTE                 Print quote (invoked from QUOTE or BLOCKQUOTE)
    -DRAFT_STRING             What to print whenever the word "draft" is required
    -DRAFT_WITH_PAGENUMBER    Attach draft/revision info to page number (instead of putting it HEADER center)
    -ENDNOTE_FAMILY           Family for endnotes
    -ENDNOTE_FONT             Font for endnotes
    -ENDNOTE_LEAD             Leading for endnotes page
    -ENDNOTE_PARA_INDENT      First line indent of paras in multi-para endnotes
    -ENDNOTE_PARA_SPACE       Whether to space paras in multi-para endnotes
    -ENDNOTE_PT_SIZE          Base point size for endnotes page
    -ENDNOTE_QUAD             Endnote quad
    -ENDNOTE_STRING           Endnotes page head
    -ENDNOTE_STRING_FAMILY    Family for endnotes page head
    -ENDNOTE_STRING_FONT      Font for endnotes page head
    -ENDNOTE_STRING_QUAD      Quad direction for endnotes page head
    -ENDNOTE_STRING_SIZE      Size for endnotes page head
    -ENDNOTE_STRING_UNDERSCORE Underscoring of endnotes page head
    -ENDNOTE_TITLE            Endnotes identifying title
    -ENDNOTE_TITLE_FAMILY     Family for endnotes identifying title
    -ENDNOTE_TITLE_FONT       Font for endnotes identifying title
    -ENDNOTE_TITLE_QUAD       Quad direction for endnotes identifying title
    -ENDNOTE_TITLE_SIZE       Size for endnotes identifying title
    -ENDNOTE_TITLE_UNDERSCORE Underscoring of endnotes identifying title
    -ENDNOTE_NUMBER_FAMILY    Family of endnote numbers
    -ENDNOTE_NUMBER_FONT      Font of endnote numbers
    -ENDNOTE_NUMBER_SIZE      Size of endnote numbers
    +DO_QUOTE                 Print quote (invoked internally from QUOTE or
    +                         BLOCKQUOTE)
    +DRAFT_STRING             What to print whenever the word "draft" is
    +                         required
    +DRAFT_WITH_PAGENUMBER    Attach draft/revision info to page number
    +                         (instead of putting it HEADER centre)
    +ENDNOTE_FAMILY              Family for endnotes
    +ENDNOTE_FONT                Font for endnotes
    +ENDNOTE_LEAD                Leading for endnotes page
    +ENDNOTE_PARA_INDENT         First line indent of paras in multi-para
    +                            endnotes
    +ENDNOTE_PARA_SPACE          Whether to space paras in multi-para endnotes
    +ENDNOTE_PT_SIZE             Base point size for endnotes page
    +ENDNOTE_QUAD                Endnote quad
    +ENDNOTE_STRING              Endnotes page head
    +ENDNOTE_STRING_CAPS         Capitalize the endnotes string
    +ENDNOTE_STRING_FAMILY       Family for endnotes page head
    +ENDNOTE_STRING_FONT         Font for endnotes page head
    +ENDNOTE_STRING_QUAD         Quad direction for endnotes page head
    +ENDNOTE_STRING_SIZE         Size for endnotes page head***
    +ENDNOTE_STRING_UNDERSCORE   Underscoring of endnotes page head
    +ENDNOTE_TITLE               Endnotes identifying title
    +ENDNOTE_TITLE_FAMILY        Family for endnotes identifying title
    +ENDNOTE_TITLE_FONT          Font for endnotes identifying title
    +ENDNOTE_TITLE_QUAD          Quad direction for endnotes identifying title
    +ENDNOTE_TITLE_SIZE          Size for endnotes identifying title***
    +ENDNOTE_TITLE_UNDERSCORE    Underscoring of endnotes identifying title
    +ENDNOTE_NUMBER_FAMILY       Family of endnote numbers
    +ENDNOTE_NUMBER_FONT         Font of endnote numbers
    +ENDNOTE_NUMBER_SIZE         Size of endnote numbers***
     ENDNOTE_NUMBERS_ALIGN_RIGHT Hang endnote numbers and align right
    -ENDNOTE_NUMBERS_ALIGN_LEFT  Dont' hang endnote numbers and align left
    -ENDNOTES_HDRFTR_CENTER   Print header/footer center string on endnotes pages?
    -ENDNOTES_HEADER_CENTER   Print header center string on endnotes pages?
    -ENDNOTES_FOOTER_CENTER   Print footer center string on endnotes pages?
    +ENDNOTE_NUMBERS_ALIGN_LEFT  Don't hang endnote numbers and align left
    +ENDNOTES_ALLOWS_HEADERS     Page headers on endnotes pages? (toggle)
    +ENDNOTES_FIRST_PAGENUMBER   Page number to appear on page 1 of endnotes
    +                            pages
    +ENDNOTES_HDRFTR_CENTER      Print header/footer centre string on endnotes
    +                            pages?
    +ENDNOTES_HEADER_CENTER      Print header centre string on endnotes pages?
    +ENDNOTES_FOOTER_CENTER      Print footer centre string on endnotes pages?
    +ENDNOTES_NO_COLUMNS         Turn columnar mode off for endnotes pages
    +ENDNOTES_NO_FIRST_PAGENUM   Don't print a pagenumber on page 1 of
    +                            endnotes.
    +ENDNOTES_PAGENUM_STYLE      Set numbering style for endnotes pages page
    +                            numbers
     EPIGRAPH_AUTOLEAD        Autolead value for epigraphs
    +EPIGRAPH_COLOR           Epigraph color
     EPIGRAPH_FAMILY          Family to use in epigraphs
     EPIGRAPH_FONT            Font to use in epigraphs
    -EPIGRAPH_INDENT          Value by which to multiply PP_INDENT for block epigraphs
    +EPIGRAPH_INDENT          Value by which to multiply PP_INDENT for
    +                         block epigraphs
     EPIGRAPH_QUAD            Quad value of block style epigraphs
     EPIGRAPH_SIZE            ps de/increase of epigraphs*
    +FINIS_COLOR              Finis string color
     FINIS_STRING             What to print when FINIS is invoked
    +FOOTER_COLOR             Footer color
     FOOTER_GAP               Distance between running text and footer
     FOOTER_MARGIN            Distance from footer to bottom of page
     FOOTERS                  Turns footers on or off
    +FOOTNOTE_COLOR           Footnote color
     FOOTNOTE_AUTOLEAD        Autolead to use in footnotes
     FOOTNOTE_FAMILY          Family to use in footnotes
     FOOTNOTE_FONT            Font to use in footnotes
     FOOTNOTE_MARKERS         Turns footnote markers on or off
     FOOTNOTE_MARKER_STYLE    STAR or NUMBER; default=STAR
     FOOTNOTE_QUAD            Quad to use in footnotes
    -FOOTNOTE_RULE_ADJ        # of points to raise footnote rule from its baseline
    +FOOTNOTE_RULE_ADJ        # of points to raise footnote rule from its
    +                         baseline
     FOOTNOTE_RULE_LENGTH     Length of footnote separator rule
    -FOOTNOTE_RULE            Turns printing of fn separator rule on or off; default is on
    +FOOTNOTE_RULE            Turns printing of fn separator rule on or off;
    +                         default is on
     FOOTNOTE_SIZE            ps of footnotes
    -HDRFTR_CENTER_CAPS       Center part of header/footer in caps? (toggle)
    -HDRFTR_CENTER_FAMILY     Family of center part of header/footer
    -HDRFTR_CENTER_FONT       Font of center part of header/footer
    -HDRFTR_CENTER_SIZE       ps in/decrease of center part of header/footer**
    -HDRFTR_CENTER            String to go in center part of header/footer; default doctype 
    -HDRFTR_CENTER            The header/footer center string
    +HDRFTR_CENTER            String to go in centre part of header/footer;
    +                         default doctype 
    +HDRFTR_CENTER_CAPS       Centre part of header/footer in caps? (toggle)
    +HDRFTR_CENTER_FAMILY     Family of centre part of header/footer
    +HDRFTR_CENTER_FONT       Font of centre part of header/footer
    +HDRFTR_CENTER_PAD        Pad hdrftr CENTER left or right by specified
    +                         amount
    +HDRFTR_CENTER_SIZE       ps in/decrease of CENTER part of header/footer**
    +HDRFTR_COLOR             Header/footer color
     HDRFTR_FAMILY            Family to use in the headers/footers
     HDRFTR_GAP               Distance from header/footer to running text
     HDRFTR_LEFT_CAPS         Left part of header/footer in caps? (toggle)
     HDRFTR_LEFT_FAMILY       Family of left part of header/footer
     HDRFTR_LEFT_FONT         Font of left part of header/footer
    -HDRFTR_LEFT_SIZE         ps in/decrease of left part of headers/footers**
    -HDRFTR_LEFT              String to go in left part of header/footer; default author
    +HDRFTR_LEFT_SIZE         ps in/decrease of left part of
    +                         headers/footers**
    +HDRFTR_LEFT              String to go in left part of header/footer;
    +                         default is AUTHOR_1
     HDRFTR_LEFT              The header/footer left string
     HDRFTR_MARGIN            Distance from top of page to header
    -HDRFTR_PLAIN             Header/footer fam/ft/ps all same as running text
    -HDRFTR_RECTO             User-defined, single string recto header/footer
    +HDRFTR_PLAIN             Header/footer fam/ft/ps all same as running
    +                         text
    +HDRFTR_RECTO             User-defined, single string recto
    +                         header/footer
     HDRFTR_RIGHT_CAPS        Right part of header/footer in caps? (toggle)
     HDRFTR_RIGHT_FAMILY      Family of right part of headers/footers
     HDRFTR_RIGHT_FONT        Font of right part of headers/footers
     HDRFTR_RIGHT_SIZE        Size of right part of headers/footers
     HDRFTR_RIGHT             The header/footer right string
    -HDRFTR_RULE_GAP          Space between header/footer and header/footer rule
    +HDRFTR_RULE_COLOR        Header/footer rule color
    +HDRFTR_RULE_GAP          Space between header/footer and header/footer
    +                         rule
     HDRFTR_RULE_INTERNAL     Prints the header/footer rule
     HDRFTR_RULE              Turns header/footer rule on or off
    -HDRFTR_RULE              Turns header/footer rule on or off.  When invoked internally, prints the rule.
    +HDRFTR_RULE              Turns header/footer rule on or off.
    +                         When invoked internally, prints the rule.
     HDRFTR_SIZE              ps in/decrease of headers/footers*
    -HDRFTR_VERSO             User-defined, single string verso header/footer
    +HDRFTR_VERSO             User-defined, single string verso
    +                         header/footer
     HEAD_CAPS                Print section titles in caps? (toggle)
    +HEAD_COLOR               Head color
     HEADER_GAP               Space between header and running text
     HEADER_MARGIN            Space from top of page to header
     HEADERS                  Turns headers on or off
     HEAD_FAMILY              Family to use in section titles
     HEAD_FONT                Font to use in section titles
     HEAD_QUAD                Quad value of section titles
    -HEAD_SIZE                How much to in/decrease point size of section titles
    -HEAD_SPACE               Give HEADs 2 line-spaces before. If OFF, only 1.  Default is on.
    +HEAD_SIZE                How much to in/decrease point size of section
    +                         titles*
    +HEAD_SPACE               Give HEADs 2 line-spaces before. If OFF,
    +                         only 1.  Default is on.
     HEAD_UNDERLINE           Underline section titles? (toggle)
     INDENT_FIRST_PARAS       Indent 1st paras? (doc default=not indented) 
     ITALIC_MEANS_ITALIC      For TYPEWRITE; render .FT I in italic.
    +LINEBREAK_CHAR           Linebreak character, iterations and positioning
    +LINEBREAK_COLOR          Linebreak color
     NUMBER_HEADS             Print head numbers
     NUMBER_PARAHEADS         Print parahead numbers
     NUMBER_SUBHEADS          Print subhead numbers
    +PAGENUM_COLOR            Page number color
     PAGENUM_FAMILY           Family to use in footers
     PAGENUM_FONT             Font to use for page numbers
     PAGENUM_HYPHENS          Turns on/off hyphens surrounding page numbers
    -PAGENUM_ON_FIRST_PAGE    Print page number on first page when footers are on (toggle)
    -PAGENUM_POS              Controls placement of page numbers default=bottom/centered
    -PAGENUM_SIZE             How much to in/decrease point size of page numbers
    -PAGENUM_STYLE            Page # in roman, arabic, or alphabetic
    +PAGENUM_ON_FIRST_PAGE    Print page number on first page when footers
    +                         are on (toggle)
    +PAGENUM_POS              Controls placement of page numbers;
    +                         default=bottom/centred
    +PAGENUM_SIZE             How much to in/decrease point size of page
    +                         numbers*
    +PAGENUM_STYLE            Page # in roman, Arabic, or alphabetic
    +PARAHEAD_COLOR           Parahead color
     PARAHEAD_FAMILY          Family to use for paraheads
     PARAHEAD_FONT            Font to use for paraheads
    -PARAHEAD_INDENT          How mucht to indent paraheads
    -PARAHEAD_SIZE            Size of paraheads
    +PARAHEAD_INDENT          How much to indent paraheads
    +PARAHEAD_SIZE            Size of paraheads*
     PARA_INDENT              Size of para indent
     PARA_SPACE               Put a line space before paras
     PP_FONT                  Overall doc font
    +PROCESS_SHIM             Calculates #SHIM when \n(.d is lower on the
    +                         page than #T_MARGIN
    +QUOTE_COLOR              Quote (poetic) color
     QUOTE_FAMILY             Family to use in pquotes
     QUOTE_FONT               Font to use in pquotes
    -QUOTE_INDENT             Value by which to multiply PP_INDENT for block quotes
    -QUOTE_SIZE               How much to de/increase point size of pquotes
    -RESET_FOOTNOTE_NUMBER    Reset fn# to 1, or, if arg PAGE, reset automatically to 1 on every page
    +QUOTE_INDENT             Value by which to multiply PP_INDENT for
    +                         block quotes
    +QUOTE_SIZE               How much to de/increase point size of
    +                         pquotes*
    +RESET_FOOTNOTE_NUMBER    Reset fn# to 1, or, if arg PAGE, reset
    +                         automatically to 1 on every page
     RESET_HEAD_NUMBER        Reset head number
     RESET_PARAHEAD_NUMBER    Reset parahead number
     RESET_SUBHEAD_NUMBER     Reset subhead number
    -REVISION_STRING          What to print whenever the word "revision" is required
    +RESTORE_PAGINATION       Restore pagination after outputting non-
    +                         paginated endnotes.
    +REVISION_STRING          What to print whenever the word "revision"
    +                         is required
    +SHIM                     Advance to next "legal" baseline
    +SINGLESPACE_ENDNOTES     Single space TYPEWRITE endnotes
     SLANT_MEANS_SLANT        In TYPEWRITE, render \*[SLANT] as slant
    +SUBHEAD_COLOR            Subhead color
     SUBHEAD_FAMILY           Family to use in subheads
     SUBHEAD_FONT             Font to use in subheads
    -SUBHEAD_SIZE             How much to in/decrease point size of subheads
    +SUBHEAD_SIZE             How much to in/decrease point size of
    +                         subheads*
     SUBTITLE_FAMILY          Family to use for subtitle in doc header
     SUBTITLE_FONT            Font to use for subtitle in doc header
     SUBTITLE_SIZE            ps to use for subtitle in doc header
    +SUSPEND_PAGINATION       Suspend pagination prior to outputting
    +                         endnotes
     SWITCH_HDRFTR            Switch HDRFTR_LEFT and HDRFTR_RIGHT
     TITLE_FAMILY             Family to use for title in doc headers
     TITLE_FONT               Font to use for title in doc headers
    -TITLE_SIZE               How much to in/decrease title at start of doc
    +TITLE_SIZE               How much to in/decrease title at start of doc*
    +TOC_APPENDS_AUTHORS      Appends author(s) to toc doc title entries
    +TOC_LEAD                 Leading of toc pages
    +TOC_FAMILY               Family to use on toc pages
    +TOC_HEADER_FAMILY        Family to use for "Contents"
    +TOC_HEADER_FONT          Font to use for "Contents"
    +TOC_PADDING              Number of placeholders for toc entries page
    +                         numbers
    +TOC_PN_FAMILY            Family to use for toc entries page numbers
    +TOC_PN_FONT              Font to use for toc entries page numbers
    +TOC_PN_SIZE              How much to in/decrease point size of
    +                         toc entries page numbers****
    +TOC_HEAD_FAMILY          Family of toc head entries
    +TOC_HEAD_FONT            Font of toc head entries
    +TOC_HEAD_INDENT          Indent of toc head entries
    +TOC_HEAD_SIZE            How much to in/decrease ps of head entries****
    +TOC_HEADER_QUAD          Quad direction for "Contents"
    +TOC_HEADER_SIZE          How much to in/decrease point size of
    +                         "Contents"****
    +TOC_HEADER_STRING        TOC header string (default=Contents)
    +TOC_PAGENUM_STYLE        Page numbering style (hdrftr nums) of
    +                         toc pages
    +TOC_PT_SIZE              Point size to use on toc pages
    +TOC_RV_SWITCH            Switch L/R margins of toc pages
    +TOC_PARAHEAD_FAMILY      Family of toc parahead entries
    +TOC_PARAHEAD_FONT        Font of toc parahead entries
    +TOC_PARAHEAD_INDENT      Indent of toc parahead entries
    +TOC_PARAHEAD_SIZE        How much to in/decrease ps of parahead
    +                         entries****
    +TOC_SUBHEAD_FAMILY       Family of toc subhead entries
    +TOC_SUBHEAD_FONT         Font of toc subhead entries
    +TOC_SUBHEAD_INDENT       Indent of toc subhead entries
    +TOC_SUBHEAD_SIZE         How much to in/decrease ps of subhead
    +                         entries****
    +TOC_TITLE_ENTRY          User supplied toc doc title entry
    +TOC_TITLE_FAMILY         Family of toc doc title entries
    +TOC_TITLE_FONT           Font of toc doc title entries
    +TOC_TITLE_INDENT         Indent of toc doc title entries
    +TOC_TITLE_SIZE           How much to in/decrease ps of doc title
    +                         entries****
     UNDERLINE_ITALIC         In TYPEWRITE, render .FT I as underlined
     UNDERLINE_QUOTES         In TYPEWRITE, underline quotes? (toggle)
     UNDERLINE_SLANT          In TYPEWRITE, render \*[SLANT] as underlined
     
    - *relative to #DOC_PT_SIZE
    -**relative to overall ps of headers as set by HEADER_SIZE
    +   *relative to #DOC_PT_SIZE
    +  **relative to overall ps of headers as set by HEADER_SIZE
    + ***relative to overall ps of endnotes pages
    +****relative to overall ps of toc pages
     
     +++LETTER MACROS+++
     
    -CLOSING      Closing (ie. Yours truly,)
    -DATE         Date string for letters
    -FROM         Addressor's name and address
    -GREETING     Full salutation (eg. Dear John Smith,)
    +CLOSING      Closing (i.e. Yours truly,)
    +DATE         Date for letters
    +FROM         Addresser's name and address
    +GREETING     Full salutation (e.g. Dear John Smith,)
     NO_SUITE     Remove suite page numbers from bottom of letter pages
     TO           Addressee's name and address
     ALL_DONE     .em (the "end macro") for letters
     
     +++DIVERSIONS+++
     
    -B_QUOTE      Block (indented) quote text
    -CLOSING      Closing (ie. Yours truly,)
    -DATE         Date string for letters
    -EPI_TEXT     Epigraph text
    -FN_OVERFLOW  Excess footnotes when B_MARGIN is reached
    -FOOTNOTES    Text of footnotes
    -FROM_ADDRESS Addressor's name and address
    -GREETING     Full salutation (eg. Dear John Smith,)
    -P_QUOTE      Line for line (poetic) quote text
    -TO_ADDRESS   Addressee's name and address
    +B_QUOTE       Block (indented) quote text
    +CLOSING       Closing (i.e. Yours truly,)
    +EPI_TEXT      Epigraph text
    +END_NOTES     Endnotes text
    +FN_OVERFLOW   Excess footnotes when B_MARGIN is reached
    +FOOTNOTES     Text of footnotes
    +GREETING      Full salutation (e.g. Dear John Smith,)
    +LETTERHEAD<n> Date, addresser, addressee or greeting;
    +              <n> is from 1 to 4, supplied by #FIELD
    +P_QUOTE       Line for line (poetic) quote text
    +TOC_ENTRIES   TOC entries
     
     +++SUPPORT+++
     
    -CHECK_INDENT         Applies indents to doc elements inside ev's (head, subhead, etc)
    -D0_QUOTE             Outputs quotes with space adjustments before and after
    -DIVERT_FN_LEFTOVER   Diverts excess fn stored in FN_OVERFLOW into FOOTNOTE
    -DIVERT_FN_OVERFLOW   Diverts excess fn stored in FN_OVERFLOW when FN_DEFER into FOOTNOTE
    -DO_EPIGRAPH          Outputs epigraphs with space adjustments before and after
    -FN_OVERFLOW_TRAP     Fixed at B_MARGIN; if footnotes run longer than B_MARGIN, diverts excess into FN_OVERFLOW
    +CHECK_INDENT         Applies indents to doc elements inside ev's
    +                     (head, subhead, etc)
    +D0_QUOTE             Outputs quotes with space adjustments before
    +                     and after
    +DIVERT_FN_LEFTOVER   Diverts excess fn stored in FN_OVERFLOW into
    +                     FOOTNOTE
    +DIVERT_FN_OVERFLOW   Diverts excess fn stored in FN_OVERFLOW when
    +                     FN_DEFER into FOOTNOTE
    +DO_EPIGRAPH          Outputs epigraphs with space adjustments before
    +                     and after
    +FN_OVERFLOW_TRAP     Fixed at B_MARGIN; if footnotes run longer than
    +                     B_MARGIN, diverts excess into FN_OVERFLOW
     HDRFTR_RULE          Prints rule under header or over footer
    -PRINT_FOOTNOTE_RULE  An alias of PRINT_FOOTNOTE; prints footnote separator rule
    +PRINT_FOOTNOTE_RULE  An alias of PRINT_FOOTNOTE; prints footnote
    +                     separator rule
     PRINT_HDRFTR         Prints header/footer (trap invoked)
     PRINT_PAGE_NUMBER    Invoked in HEADER or FOOTER
    -PRINT_USERDEF_HDRFTR Prints user defined, single string recto/verso header/footer
    +PRINT_USERDEF_HDRFTR Prints user defined, single string recto/verso
    +                     header/footer
     REMOVE_INDENT        Removes indents set with CHECK_INDENT
    -TRAPS                Sets hdrftr traps; optionally adjusts #DOC_LEAD to fill page to #B_MARGIN
    +QUIT_LISTS           Exit lists cleanly and completely
    +SET_LIST_INDENT      Restore indent of a prev. level of list
    +TRAPS                Sets hdrftr traps; optionally adjusts #DOC_LEAD
    +                     to fill page to #B_MARGIN
     
     +++NUMBER REGISTERS+++
     
     #ADJ_DOC_LEAD              Adjust DOC_LEAD? (toggle)
    -#ARG_NUM                   Keeps track of number of args passed to a macro
    -#AUTHOR_LINES              # of lines of authors in doc header; odd=0 even=1
    -#AUTHOR_NUM                Keeps track of user-defined string AUTHOR_<#> in AUTHOR
    -#AUTHORS                   Equals final value of AUTHOR_NUM; used for authors in doc header
    +#ADJ_TOC_LEAD              Adjust TOC_LEAD? (toggle)
    +#ARG_NUM                   Keeps track of number of args passed to a
    +                           macro
    +#AUTHOR_[n]                Strings passed to AUTHOR
    +#AUTHOR_LINES              # of lines of authors in doc header; odd=0
    +                           even=1
    +#AUTHOR_NUM                Keeps track of user-defined string
    +                           AUTHOR_<#> in AUTHOR
    +#AUTHORS                   Equals final value of AUTHOR_NUM;
    +                           used for authors in doc header
    +#BQUOTE_COLOR              Colored blockquotes? (toggle)
     #BROKEN_QUOTE              Did we invoke BREAK_QUOTE? (toggle)
    -#CAP_HEIGHT_ADJUST         Tallest cap height of strings LEFT, CENTER, and RIGHT in footers; used to place rule over footer
    -#CAPS_WAS_ON               In HDRFTR, to re-enable running text CAPS (toggle)
    -#CENTER_CAP_HEIGHT         Cap height of center string in headers/footers
    +#CAP_HEIGHT_ADJUST         Tallest cap height of strings LEFT, CENTER,
    +                           and RIGHT in footers; used to place rule
    +                           over footer
    +#CAPS_WAS_ON               In HDRFTR, to re-enable running text CAPS
    +                           (toggle)
    +#CENTER_CAP_HEIGHT         Cap height of CENTER string in
    +                           headers/footers
     #CLOSING                   Is there a closing (for letters)? 1=yes
     #COL_L_LENGTH              Line length of columns
    -#COL_NEXT                  Was COL_NEXT invoked? (toggle; used in FOOTER)
    -#COL_NUM                   Incrementing counter of num of columns; for use with #COL_<#>_L_MARGIN
    -#COL_TOTAL                 #COL_L_LENGTH + #GUTTER; used to calculate #COL_<#>_L_MARGIN
    +#COL_NEXT                  Was COL_NEXT invoked? (toggle; used in
    +                           FOOTER)
    +#COL_NUM                   Incrementing counter of num of columns;
    +                           for use with #COL_<#>_L_MARGIN
    +#COL_TOTAL                 #COL_L_LENGTH + #GUTTER; used to calculate
    +                           #COL_<#>_L_MARGIN
    +#COLLATED_DOC              If 1, instructs TOC that this is a collated
    +                           doc
     #COLUMNS                   Are columns turned on? (toggle)
    +#COLUMNS_WERE_ON           Stores columnar state prior to outputting
    +                           endnotes in no-columns mode
     #COPY_STYLE                1=draft, 2=final
    -#DATE                      Is there a date (for letters)? 1=yes
    +#CURRENT_V_POS             \n(.d ; used in SHIM
    +#DATE_FIRST                Was .DATE invoked as first letter
    +                           header after .START? (toggle)
     dc                         "mark" register for document columns
    -#DEPTH_1                   Doc header depth with lead adjustment (#DOCHEADER_LINES * #DOCHEADER_LEAD)
    -#DEPTH_2                   Doc header depth without lead adjustment (#DOCHEADER_LINES * #DOC_LEAD)
    +#DEFER_PAGINATION          Tells COLLATE to restore pagination (from
    +                           RESTORE_PAGINATION
    +#DEPTH_1                   Doc header depth with lead adjustment
    +                           (#DOCHEADER_LINES * #DOCHEADER_LEAD)
    +#DEPTH_2                   Doc header depth without lead adjustment
    +                           (#DOCHEADER_LINES * #DOC_LEAD)
     #DEPTH_TO_B_MARGIN         Page length minus #B_MARGIN
    -#DOCHEADER_ADVANCE         Distance from top-of-page to baseline of docheader
    -#DOCHEADER_LEAD_ADJ        +|- value applied to #DOC_LEAD to in/decrease leading of doc header
    -#DOCHEADER_LEAD            Lead of doc header (#DOC_LEAD + #DOCHEADER_LEAD_ADJ)
    -#DOCHEADER_SPACE_ADJ       Lead difference between #DEPTH_1 and #DEPTH_2
    +#DOCHEADER_ADVANCE         Distance from top-of-page to baseline of
    +                           docheader
    +#DOCHEADER_COLOR           Colored docheader? (toggle)
    +#DOCHEADER_LEAD            Lead of doc header
    +                           (#DOC_LEAD + #DOCHEADER_LEAD_ADJ)
    +#DOCHEADER_SPACE_ADJ       Lead difference between #DEPTH_1 and
    +                           #DEPTH_2
     #DOC_HEADER                Whether to print a doc header (toggle)
    -#DOC_LEAD_ADJ              Incrementing value (in units) added to #DOC_LEAD to fill page to #B_MARGIN
    +#DOC_LEAD_ADJ              Incrementing value (in units) added to
    +                           #DOC_LEAD to fill page to #B_MARGIN
     #DOC_LEAD                  Leading used in body
     #DOC_L_LENGTH              Global L_LENGTH
     #DOC_L_MARGIN              Global L_MARGIN
    -#DOC_LR_MARGIN_TMP         In HEADER, if RECTO_VERSO=1, temporarily holds DOC_L_MARGIN during page margin switch
    +#DOC_LR_MARGIN_TMP         In HEADER, if RECTO_VERSO=1, temporarily
    +                           holds DOC_L_MARGIN during page margin switch
     #DOC_PT_SIZE               Point size used for body text
     #DOC_R_MARGIN              Global R_MARGIN
     #DOCS                      Always 1 after START
     #DOC_TYPE                  1=default, 2=chapter, 3=named, 4=letter
    -#DRAFT                     The draft number
    -#DRAFT_WITH_PAGENUM        Are we attaching draft/revision info to page number? (toggle)
    +#DRAFT_WITH_PAGENUM        Are we attaching draft/revision info to page
    +                           number? (toggle)
     #EM_ADJUST                 Amount to raise \(em at END
    -#EN_PS                     ps of endnotes
    +#EN_ALLOWS_HEADERS         Put page headers on endnotes pages? (toggle)
    +#EN_ALLOWS_HEADERS_ALL     Put page headers on all endnotes pages?
    +                           (toggle)
    +#EN_FIRST_PAGE             Tells PRINT_PAGE_NUMBER about endnotes
    +                           first page number
    +#EN_FIRST_PN               Page number that appears on page 1 of
    +                           endnotes pages.
     #EN_LEAD                   Lead of endnotes
    -#EN_STRING_UNDERSCORE      Underscore endnotes page head? (toggle)
    -#EN_TITLE_UNDERSCORE       Underscore endnotes document identifier? (toggle)
    -#EN_NUMBERS_ALIGN_RIGHT    Hang and align endnote numbers right? (toggle)
    -#EN_NUMBERS_ALIGN_LEFT     Align endnote numbers with left margin? (toggle)
    -#EN_NUMBERS_PLACEHOLDERS   Number of placeholders when endnote numbers hang and align right
    -#EN_NUMBER_L_LENGTH        Line length for endnote numbers when they're right aligned
    -#EN_PP_INDENT              First line indent of paras in multi-para endnotes
    +#EN_NO_COLS                Do not set endnotes in columns? (toggle)
    +#EN_NO_FIRST_PN            Put pagenumber on 1st page of endnotes?
    +                           (toggle)
    +#EN_NUMBERS_ALIGN_RIGHT    Hang and align endnote numbers right?
    +                           (toggle)
    +#EN_NUMBERS_ALIGN_LEFT     Align endnote numbers with left margin?
    +                           (toggle)
    +#EN_NUMBERS_PLACEHOLDERS   Number of placeholders when endnote numbers
    +                           hang and align right
    +#EN_NUMBER_L_LENGTH        Line length for endnote numbers when they're
    +                           right aligned
    +#EN_PP_INDENT              First line indent of paras in multi-para
    +                           endnotes
     #EN_PP_SPACE               Space multi-paras in endnotes? (toggle)
    -#EN_TEXT_INDENT            Page offset for text of endnotes when numbers right align
    -#END_QUOTE                 For PP=0 indenting; did we just end a quote? (toggle)
    +#EN_PS                     ps of endnotes
    +#EN_SINGLESPACE            Single space endnotes pages? (toggle)
    +#EN_STRING_CAPS            Should ENDNOTES capitalize the endnotes
    +                           string? (toggle)
    +#EN_STRING_UNDERSCORE      Underscore endnotes page head? (toggle)
    +#EN_TITLE_UNDERSCORE       Underscore endnotes document identifier?
    +                           (toggle)
    +#EN_TEXT_INDENT            Page offset for text of endnotes when
    +                           numbers right align
    +#END_QUOTE                 For PP=0 indenting; did we just end a quote?
    +                           (toggle)
     #ENDNOTE                   Are we in an endnote? (toggle)
    -#EN_HDRFTR_CENTER          Should we print centre string of headers/footers on endnotes pages? (toggle)
    +#ENDNOTES                  Are we in an endnote (for FOOTERs; toggle)
    +#EN_HDRFTR_CENTER          Should we print centre string of
    +                           headers/footers on endnotes pages? (toggle)
     #EPI_ACTIVE                Are we in an epigraph? (toggle)
    -#EPI_DEPTH                 Depth of epigraph from first baseline to last
    +#EPI_COLOR                 Colored epigraphs? (toggle)
    +#EPI_DEPTH                 Depth of epigraph from first baseline to
    +                           last
     #EPI_FITS                  Does epigraph fit on page/column? (toggle)
     #EPIGRAPH                  Did we have an epigraph? (toggle) 
     #EPI_LEAD_DIFF             Difference between #DOC_LEAD and #EPI_LEAD
     #EPI_LEAD                  Leading of epigraph; set by AUTOLEAD
    -#EPI_LINES_EVEN            Even # of lines at end of epi crossing page in TYPEWRITE (d-spaced)?
    +#EPI_LINES_EVEN            Even # of lines at end of epi crossing page in
    +                           TYPEWRITE (d-spaced)?
     #EPI_LINES                 Number of lines in the epigraph
    -#EPI_LINES_TO_END          Number of epigraph lines remaining after footer trap is sprung
    -#EPI_LINES_TO_TRAP         Number of epigraph lines till footer trap is sprung
    +#EPI_LINES_TO_END          Number of epigraph lines remaining after
    +                           footer trap is sprung
    +#EPI_LINES_TO_TRAP         Number of epigraph lines till footer trap is
    +                           sprung
     #EPI_L_LENGTH              Epigraph line length
     #EPI_OFFSET                Left margin of epigraphs
     #EPI_OFFSET_VALUE          Epigraph indent as a function of page offset
     #EPI_ON                    Are we in an epigraph? (toggle)
    -#EPI_WHITESPACE            Space after epigraph to compensate for epigraph leading
    +#EPI_WHITESPACE            Space after epigraph to compensate for
    +                           epigraph leading
    +#FIELD                     Incrementing register tacked onto LETTERHEAD
    +#FINIS                     Was FINIS invoked? (toggle)
     #FN_AUTOLEAD               Autolead value of footnotes
     #FN_BL_INDENT              Left indent of INDENT BOTH in footnotes
     #FN_BR_INDENT              Right indent of INDENT BOTH in footnotes
    -#FN_COUNT_FOR_COLS         Holds a separate footnote count for columns (so they don't reset to 0 1 until page break)
    -#FN_DEFER                  Defer footnote to next page/column? (toggle)  If 0, don't defer.
    -#FN_DEFER_SPACE            Whether to deposit space before footnote 1 because there's a deferred footnote on the page
    +#FN_COUNT_FOR_COLS         Holds a separate footnote count for columns
    +                           (so they don't reset to 0 1 until page break)
    +#FN_DEFER                  Defer footnote to next page/column? (toggle)
    +                           If 0, don't defer.
    +#FN_DEFER_SPACE            Whether to deposit space before
    +                           footnote 1 because there's a deferred
    +                           footnote on the page
     #FN_DEPTH                  Depth of footnote diversion(s)
    -#FN_FOR_EPI                Signals to epigraph that a footnote is being processed
    -#FN_LEAD                   Lead in footnotes after FN_AUTOLEAD is applied
    +#FN_FOR_EPI                Signals to epigraph that a footnote is being
    +                           processed
    +#FN_LEAD                   Lead in footnotes after FN_AUTOLEAD is
    +                           applied
     #FN_L_INDENT               Left indent of INDENT LEFT in footnotes
    -#FN_LINES                  Number of lines in fn; used to calculate fn depth
    +#FN_LINES                  Number of lines in fn; used to calculate
    +                           fn depth
     #FN_MARKERS                Print footnote markers? (toggle)
     #FN_MARKER_STYLE           1=STAR; 2=NUMBER
    -#FN_NUMBER                 Running count of fn #; used to print fn marker numbers
    +#FN_NUMBER                 Running count of fn #; used to print fn marker
    +                           numbers
     #FN_R_INDENT               Right indent of INDENT RIGHT in footnotes
    -#FN_RULE_ADJ               # of points to raise footnote separator from its baseline
    +#FN_RULE_ADJ               # of points to raise footnote separator from
    +                           its baseline
     #FN_RULE_LENGTH            Length of footnote separator rule
     #FN_RULE                   Print fn rule? (toggle)
    -#FN_WAS_DEFERED            Tells HEADER about a defered footnote
    -#FOOTER_GAP                Amount of space between end of text and page #
    -#FOOTER_MARGIN             Amount of space between page # and bottom of page
    -#FROM                      Is there an addressor (for letters)? 1=yes
    +#FN_WAS_DEFERED            Tells HEADER about a deferred footnote
    +#FOOTER_GAP                Amount of space between end of text and
    +                           page #
    +#FOOTER_MARGIN             Amount of space between page # and bottom
    +                           of page
    +#FOOTERS_ON                Are we using footers? (toggle)
    +#FOOTERS_WERE_ON           Were footers on? - used in FINIS and BLANKPAGE
    +                           (toggle)
    +#FOOTNOTE_COLOR            Colored footnotes? (toggle)
     #FULLSPACE_QUOTES          Should we fullspace quotes? (toggle)
    -#GREETING                  Is there a greeting (for letters)? 1=yes
     #GUTTER                    Width of gutter between columns
    -#HDRFTR_CENTER_CAPS        Center part of header/footer in caps? (toggle; default=off)
    -#HDRFTR_HEIGHT             Cap height of $HDRFTR_RECTO/$HDRFTR_VERSO strings
    -#HDRFTR_LEFT_CAPS          Left part of header/footer in caps? (toggle; default=off)
    -#HDRFTR_RIGHT_CAPS         Right part of header/footer in caps? (toggle; default=on)
    -#HDRFTR_RULE_GAP           Space between header/footer and header/footer rule
    +#HDRFTR_CENTER_CAPS        CENTER part of header/footer in caps?
    +                           (toggle; default=off)
    +#HDRFTR_COLOR              Colored headers/footers? (toggle)
    +#HDRFTR_CTR_PAD_LEFT       Amount of hdrftr CENTER padding on the left
    +#HDRFTR_CTR_PAD_RIGHT      Amount of hdrftr CENTER padding on the right
    +#HDRFTR_CTR_PAD_TMP        Temp storage of left hdrftr CENTER padding
    +                           (for recto/verso switch)
    +#HDRFTR_HEIGHT             Cap height of $HDRFTR_RECTO/$HDRFTR_VERSO
    +                           strings
    +#HDRFTR_LEFT_CAPS          Left part of header/footer in caps?
    +                           (toggle; default=off)
    +#HDRFTR_RIGHT_CAPS         Right part of header/footer in caps?
    +                           (toggle; default=on)
    +#HDRFTR_RULE_COLOR         Colored header/footer rule? (toggle)
    +#HDRFTR_RULE_GAP           Space between header/footer and
    +                           header/footer rule
     #HDRFTR_RULE               Print head/footer rule? (toggle)
    -#HDRFTR_TMP_CAPS_SWITCH    Temporarily holds HDRFTR_LEFT_CAPS value if #SWITCH_HDRFTR=1
    +#HDRFTR_TMP_CAPS_SWITCH    Temporarily holds HDRFTR_LEFT_CAPS value if
    +                           #SWITCH_HDRFTR=1
     #HEAD                      1=main/section head 2=subhead
     #HEAD_CAPS                 Print section titles in caps? (toggle)
    +#HEAD_COLOR                Colored heads? (toggle)
     #HEADER_GAP                Distance from header to running text
     #HEADER_MARGIN             Distance from top of page to header
     #HEADERS_ON                Headers on? (toggle)
    -#HEADER_STATE              Saves header state in COLLATE for use in START after COLLATE
    +#HEADER_STATE              Saves header state in COLLATE for use in
    +                           START after COLLATE
    +#HEADERS_WERE_ON           Were headers on? - used in BLANKPAGE (toggle)
     #HEAD_NUM                  Head number
    -#HEAD_SPACE                2 line spaces before heads? (toggle; 1=yes, 0=no)
    +#HEAD_SPACE                2 line spaces before heads?
    +                           (toggle; 1=yes, 0=no)
     #HEAD_UNDERLINE            Underline section titles? (toggle)
    -#IGNORE                    Should we ignore this macro? Set to 1 in TYPEWRITE.
    +#HOW_MANY                  Number of blank pages to output
    +#IGNORE                    Should we ignore this macro? Set to 1 in
    +                           TYPEWRITE.
     #INDENT_FIRST_PARAS        Indent first paras? (toggle)
    -#INDENT_FIRSTS             Tells foonotes to leave INDENT_FIRST_PARAS alone if it's on for running text.
    +#INDENT_FIRSTS             Tells footnotes to leave INDENT_FIRST_PARAS
    +                           alone if it's on for running text.
     #ITALIC_MEANS_ITALIC       For TYPEWRITE.  1=yes; 0=no
     #LEFT_CAP_HEIGHT           Cap height of left string in headers/footers
    +#LEGAL_BASELINE            Calculates vet. position of next legal
    +                           baseline in SHIM
     #LETTER_STYLE              1=BUSINESS 2=PERSONAL
     #LINEBREAK                 Did we have a linebreak? (toggle)
    -#LINES_PER_PAGE            # of lines (at DOC_LEAD) that fit on page after #B_MARGIN is set
    -#L_LENGTH_FOR_EPI          Stores line length at top of doc for use with EPIGRAPH when columns are on
    -#L_MARGIN_DIFF             Difference between DOC_L_MARGIN and L_MARGIN
    +#LINES_PER_PAGE            # of lines (at DOC_LEAD) that fit on
    +                           page after #B_MARGIN is set
    +#L_LENGTH_FOR_EPI          Stores line length at top of doc for use
    +                           with EPIGRAPH when columns are on
    +#L_MARGIN_DIFF             Difference between DOC_L_MARGIN and
    +                           L_MARGIN
     #n%_AT_PAGENUM_SET         Page # from n% when PAGENUMBER invoked
    -#NEXT_AUTHOR               Supplies correct digit to AUTHOR_<#> when printing authors in doc header
    +#NEXT_AUTHOR               Supplies correct digit to AUTHOR_<#>
    +                           when printing authors in doc header
     #NO_TRAP_RESET             Should we reset page traps? (toggle)
    -#NUM_AUTHORS               # of authors mod 2 to test if odd or even # of authors
    +#NUM_AUTHORS               # of authors mod 2 to test if odd or even
    +                           # of authors
     #NUMBER_HEAD               Are heads numbered? (toggle)
     #NUMBER_PH                 Are paraheads numbered? (toggle)
     #NUMBER_SH                 Are subheads numbered? (toggle)
     #NUM_COLS                  Number of columns per page
    +#NUM_FIELDS                Incrementing register used to match
    +                           #TOTAL_FIELDS
    +#OK_PROCESS_LEAD           Initial processing of TOC and endnote
    +                           leading is deferred until OK_PROCESS_LEAD=1
     #PAGE_NUM_ADJ              What to add to n% to get #PAGENUMBER
     #PAGENUMBER                The page number
     #PAGENUM_STYLE_SET         Did we set pagenumber style? (toggle)
    -#PAGE_NUM_H_POS            1=left 2=center 3=right; default=2
    -#PAGE_NUM_HYPHENS          Print hyphens surrounding page numbers? (toggle)
    -#PAGE_NUM_HYPHENS_SET      Did user set (or unset) hyphens around page numbers? (toggle)
    +#PAGE_NUM_H_POS            1=left 2=CENTER 3=right; default=2
    +#PAGE_NUM_HYPHENS          Print hyphens surrounding page numbers?
    +                           (toggle)
    +#PAGE_NUM_HYPHENS_SET      Did user set (or unset) hyphens around page
    +                           numbers? (toggle)
     #PAGE_NUM_POS_SET          Did user set page number position? (toggle)
    -#PAGE_NUM_SET              Test if PAGE_1_NUM was used to set 1st page number
    +#PAGE_NUM_SET              Test if PAGE_1_NUM was used to set 1st page
    +                           number
     #PAGE_NUMS                 Print page numbers? (toggle)
     #PAGE_NUM_V_POS            1=top 2=bottom; default=2
     #PAGE_TOP                  \n(nl after HEADER completes itself
    +#PH_COLOR                  Colored paraheads? (toggle)
     #PH_NUM                    Parahead number
    -#PAGINATION_STATE          Saves pagination state in COLLATE for use in START after a COLLATE
    +#PAGINATE_TOC              Is toc pagination on? (toggle)
    +#PAGINATE_WAS_ON           Keeps track of pagination state while
    +                           outputting blank pages
    +#PAGINATION_STATE          Saves pagination state in COLLATE for use in
    +                           START after a COLLATE
    +#PAGINATION_WAS_ON         Was pagination on? - used in FINIS (toggle)
     #PP                        0 at first para; auto-increments
     #PP_AT_PAGE_BREAK          # of last (incl. partial) para on page
     #PP_INDENT                 How much to indent paras
     #PP_SPACE                  Put space before paras? (toggle)
    -#PP_SPACE_SUSPEND          Suspend para spacing for blockquotes and epigraphs
    -#PP_STYLE_PREV             In footnotes, stores PP style in effect prior to invoking FOOTNOTE
    +#PP_SPACE_SUSPEND          Suspend para spacing for blockquotes and
    +                           epigraphs
    +#PP_STYLE_PREV             In footnotes, stores PP style in effect
    +                           prior to invoking FOOTNOTE
     #PP_STYLE                  Regular para=1; quote or epi para=2
    -#PRINT_PAGENUM_ON_PAGE_1   Should we print the page number on first page of doc when footers are on? (toggle)
    +#PRINT_PAGENUM_ON_PAGE_1   Should we print the page number on first
    +                           page of doc when footers are on? (toggle)
     #PRINT_STYLE               Typewrite=1, typeset=2
    -#PT_SIZE_IN_UNITS          Stored value of \n[.ps] from last time PT_SIZE was called
    +#PT_SIZE_IN_UNITS          Stored value of \n[.ps] from last time
    +                           PT_SIZE was called
     #Q_DEPTH                   Depth of quote
    -#Q_FITS                    Does this quote fit on one page/column? (toggle)
    +#Q_FITS                    Does this quote fit on one page/column?
    +                           (toggle)
     #Q_L_LENGTH                Line length of quotes
     #Q_OFFSET                  Page offset for quotes
    -#Q_OFFSET_VALUE            Factor by which to multiply PP_INDENT to offset quotes
    -#Q_PP                      In PP, stores para # in QUOTE.  Removed in ENDQUOTE.
    +#Q_OFFSET_VALUE            Factor by which to multiply PP_INDENT to
    +                           offset quotes
    +#Q_PP                      In PP, stores para # in QUOTE.  Removed in
    +                           ENDQUOTE.
     #Q_TOP                     Vertical place on page that a quote starts
     #QUOTE                     1=PQUOTE, 2=BQUOTE
    -#RECTO_VERSO               Switch HEADER_LEFT and HEADER_RIGHT on alternate pages? (toggle); default=0
    -#REPEAT                    Number of times to repeat linebreak character
    +#QUOTE_COLOR               Color quotes (poetic)? (toggle)
    +#RECTO_VERSO               Switch HEADER_LEFT and HEADER_RIGHT on
    +                           alternate pages? (toggle); default=0
    +#REPEAT                    Number of times to repeat linebreak
    +                           character
     #RESET_EN_PP               Holds value of register #EN_PP_INDENT
    -#RESET_FN_NUMBER           Should fn# start at 1 on every page? (toggle)
    +#RESET_FN_NUMBER           Should fn# start at 1 on every page?
    +                           (toggle)
     #RESET_L_LENGTH            Stores current line length when necessary
    -#RESET_PARA_SPACE          Holds current value of toggle register #PP_SPACE
    +#RESET_PARA_SPACE          Holds current value of toggle register
    +                           #PP_SPACE
     #RESET_PP_INDENT           Stores value of PP_INDENT when necessary
    -#RESET_QUOTE_SPACING       Stores value of toggle register #FULLSPACE_QUOTES (used in endnotes)
    -#RESTORE_DOC_LEAD          Holds value of current doc lead (used in endnotes)
    -#RESTORE_OFFSET            Page offset at moment footer trap is sprung; not currently used
    -#REVISION                  The revision number
    -#RIGHT_CAP_HEIGHT          Cap height of right string in headers/footers
    -#SH_LEAD_ADJUST            #DOC_LEAD/8 (TYPESET) or /2 (TYPEWRITE) (used for subhead spacing)
    +#RESET_QUOTE_SPACING       Stores value of toggle register
    +                           #FULLSPACE_QUOTES (used in endnotes)
    +#RESTORE_DOC_LEAD          Holds value of current doc lead (used in
    +                           endnotes)
    +#RESTORE_OFFSET            Page offset at moment footer trap is sprung;
    +                           not currently used
    +#RESTORE_TOC_PN_PADDING    Saves #TOC_PN_PADDING in TOC prior to
    +                           processing $FIRST_DOC_TITLE
    +#RIGHT_CAP_HEIGHT          Cap height of right string in
    +                           headers/footers
    +#SH_LEAD_ADJUST            #DOC_LEAD/8 (TYPESET) or /2 (TYPEWRITE)
    +                           (used for subhead spacing)
     #SH_NUM                    Subhead number
    +#SHIM                      Amount of lead required to advance to
    +                           next legal baseline
     #SINGLE_SPACE              Is TYPEWRITE in single space mode? (toggle)
    +#SKIP_FOOTER               If 1, instructs DO_FOOTER to do nothing
    +                           if B_MARGIN falls below FOOTER_MARGIN
     #SLANT_MEANS_SLANT         For TYPEWRITE.  1=yes; 0=no
    -#SLANT_WAS_ON              Keeps track of SLANT when it needs to go off for a while
    -#SPACE_REMAINING           Space remaining to footer trap; used to decide whether or not to defer a footnote
    +#SLANT_WAS_ON              Keeps track of SLANT when it needs to go off
    +                           for a while
    +#SPACE_REMAINING           Space remaining to footer trap; used to
    +                           decide whether or not to defer a footnote
     #START                     If 1, signals completion of START
    -#START_FOR_FOOTERS         Toggle set in START; signals to PRINT_HDRFTR that START has been invoked, allowing PRINT_HDRFTR to decide whether or not to print a footer on page 1
    +#START_FOR_FOOTERS         Toggle set in START; signals to
    +                           PRINT_HDRFTR that START has been invoked,
    +                           allowing PRINT_HDRFTR to decide whether or
    +                           not to print a footer on page 1
    +#STORED_PP_INDENT          Temporarily holds value of #PP_INDENT
     #SUITE                     Current page number (for letters)
     #SUP_PT_SIZE               Point size of superscript
    -#SWITCH_HDRFTR             Switch HDRFTR_LEFT and HDRFTR_RIGHT? (toggle)
    +#SUSPEND_PAGINATION        Suspend pagination prior to endnotes?
    +#SWITCH_HDRFTR             Switch HDRFTR_LEFT and HDRFTR_RIGHT?
    +                           (toggle)
     #TAB_OFFSET#               "#" at the end is from $CURRENT_TAB
    -#TO                        Is there an addressee date (for letters)? 1=yes
    +#TOC_AUTHORS               Whether to append author(s) to toc doc
    +                           title entries (toggle)
    +#TOC_ENTRY_PN              Current page number when a toc entry is
    +                           collected
    +#TOC_FIRST_PAGE            If 1, tells PRINT_PAGE_NUMBER that this
    +                           is the first page of the toc
    +#TOC_LEAD                  Leading of toc pages
    +#TOC_PN_PADDING            Max. # of placeholders for toc entries
    +                           page numbers
    +#TOC_PS                    Point size of toc pages
    +#TOC_RV_SWITCH             Switch L/R margins of toc pages
    +#TOC_HEAD_INDENT           Indent of toc head entries
    +#TOC_HEAD_SIZE_CHANGE      ps in/decrease of toc head entries****
    +#TOC_PH_INDENT             Indent of toc parahead entries
    +#TOC_PH_SIZE_CHANGE        ps in/decrease of toc parahead entries****
    +#TOC_SH_INDENT             Indent of toc subhead entries
    +#TOC_SH_SIZE_CHANGE        ps in/decrease of toc subhead entries****
    +#TOC_TITLE_INDENT          Indent of toc doc title entries
    +#TOC_TITLE_SIZE_CHANGE     ps in/decrease of toc doc title entries****
    +#TOTAL_FIELDS              Total number of letter header fields
     #UNDERLINE_ITALIC          For TYPEWRITE.  1=yes; 0=no
     #UNDERLINE_QUOTE           Underline pquotes? (toggle)
     #UNDERLINE_SLANT           For TYPEWRITE.  1=yes; 0=no
    -#UNDERLINE_WAS_ON          In HEADER to re-enable running text UNDERLINE (toggle)
    -#USERDEF_HDRFTR            User defined single string recto/verso header/footer? (toggle)
    -#USERDEF_HDRFTR_RECTO_QUAD 1=left, 2=center, 3=right
    -#USERDEF_HDRFTR_VERSO_QUAD 1=left, 2=center, 3=right
    -#USER_DEF_HEADER_CENTER    User defined center title? (1=yes); used in COPYSTYLE
    -#USER_DEF_HEADER_LEFT      User defined center title? (1=yes); used in COPYSTYLE
    -#USER_DEF_HEADER_RIGHT     User defined center title? (1=yes); used in COPYSTYLE
    -#VARIABLE_FOOTER_POS       Wandering trap position for processing footnotes and footers; pos depends on footnotes
    +#UNDERLINE_WAS_ON          In HEADER to re-enable running text
    +                           UNDERLINE (toggle)
    +#USERDEF_HDRFTR            User defined single string recto/verso
    +                           header/footer? (toggle)
    +#USERDEF_HDRFTR_RECTO_QUAD 1=left, 2=CENTER, 3=right
    +#USERDEF_HDRFTR_VERSO_QUAD 1=left, 2=CENTER, 3=right
    +#USER_DEF_HEADER_CENTER    User defined CENTER title? (1=yes);
    +                           used in COPYSTYLE
    +#USER_DEF_HEADER_LEFT      User defined CENTER title? (1=yes);
    +                           used in COPYSTYLE
    +#USER_DEF_HEADER_RIGHT     User defined CENTER title? (1=yes);
    +                           used in COPYSTYLE
    +#VARIABLE_FOOTER_POS       Wandering trap position for processing
    +                           footnotes and footers; pos depends on
    +                           footnotes
    +y                          Vertical position stored with mk in hdrftrs.
      
     +++STRINGS+++
     
    @@ -807,29 +1192,48 @@
     $AUTHOR_FT                      Font to use for author in doc header
     $AUTHOR_SIZE_CHANGE             ps in/decrease of author in doc header*
     $AUTHOR_PT_SIZE                 Absolute ps of authors
    +$BQUOTE_COLOR                   Blockquote color
     $BQUOTE_FAM                     Family to use for blockquotes
     $BQUOTE_FT                      Font to use for blockquotes
     $BQUOTE_QUAD                    Quad value for blockquotes
     $BQUOTE_SIZE_CHANGE             ps in/decrease of blockquotes*
    -$CENTER_TITLE                   What to put in the middle of header title
    +$CENTER_TITLE                   What to put in the middle of header
    +                                title
     $CHAPTER                        The chapter number
    -$CHAPTER_STRING                 What to print whenever the word "chapter" is required
    +$CHAPTER_STRING                 What to print whenever the word
    +                                "chapter" is required
     $CHAPTER_TITLE                  Chapter title (if there is one)
     $CHAPTER_TITLE_FAM              Family of chapter title
     $CHAPTER_TITLE_FT               Font of chapter title
     $CHAPTER_TITLE_SIZE_CHANGE      ps in/decrease of chapter title*
     $CHAPTER_TITLE_PT_SIZE          Absolute ps of chapter title
     $COPY_STYLE                     DRAFT or FINAL
    -$DOC_FAM                        Predominant font family used in the document
    -$DOC_QUAD                       Quad used for body text (justified or left) 
    -$DOC_TYPE                       Document type (default, chapter, named, letter)
    -$DOCTYPE_FAM                    Family to use for DOCTYPE string in doc header
    -$DOCTYPE_FT                     Font to use for DOCTYPE string in doc header
    -$DOCTYPE_SIZE_CHANGE            ps in/decrease of DOCTYPE string in doc header*
    +$DOC_FAM                        Predominant font family used in the
    +                                document
    +$DOC_QUAD                       Quad used for body text (justified or
    +                                left) 
    +$DOC_TITLE                      Overall doc title that gets printed in
    +                                headers/footers (mostly for use with
    +                                collated docs where each doc is an
    +                                article with a different title
    +$DOC_TYPE                       Document type (default, chapter, named,
    +                                letter)
    +$DOCHEADER_COLOR                Color of docheader
    +$DOCHEADER_LEAD_ADJ             +|- value applied to #DOC_LEAD to
    +                                in/decrease leading of doc header
    +$DOCTYPE_FAM                    Family to use for DOCTYPE string in
    +                                doc header
    +$DOCTYPE_FT                     Font to use for DOCTYPE string in
    +                                doc header
    +$DOCTYPE_SIZE_CHANGE            ps in/decrease of DOCTYPE string in
    +                                doc header*
     $DOCTYPE_PT_SIZE                Absolute ps of DOCTYPE
    -$DRAFT_STRING                   What to print whenever the word "draft" is required
    +$DRAFT                          The draft number (string valued)
    +$DRAFT_STRING                   What to print whenever the word "draft"
    +                                is required
     $EN_FAMILY                      Family for endnotes
     $EN_FT                          Font for endnotes
    +$EN_PN_STYLE                    Pagenumbering style for endnotes pages
     $EN_QUAD                        Quad for endnotes
     $EN_STRING                      Endnotes page head
     $EN_STRING_FAM                  Endnotes page head family
    @@ -839,59 +1243,96 @@
     $EN_TITLE                       Endnote document identifier
     $EN_TITLE_FAM                   Endnote document identifier family
     $EN_TITLE_FT                    Endnote document identifier font
    -$EN_TITLE_QUAD                  Endnote document identifier quad direction
    +$EN_TITLE_QUAD                  Endnote document identifier quad
    +                                direction
     $EN_TITLE_SIZE_CHANGE           Endnote document identifier size***
     $EN_NUMBER_FAM                  Endnote numbering family
     $EN_NUMBER_FT                   Endnote numbering font
     $EN_NUMBER_SIZE_CHANGE          Endnote numbering size***
    -$EPI_AUTOLEAD                   Autolead value (decimals ok) of epigraphs
    +$EPI_AUTOLEAD                   Autolead value (decimals ok) of
    +                                epigraphs
    +$EPI_COLOR                      Color of epigraphs
     $EPI_FAM                        Family to use in epigraphs
     $EPI_FT                         Font to use in epigraphs
    -$EPI_QUAD                       Quad in block-style epigraphs (justified or left)
    +$EPI_QUAD                       Quad in block-style epigraphs
    +                                (justified or left)
     $EPI_SIZE_CHANGE                ps in/decrease of epigraphs*
    -$FINIS_STRING                   What to print when FINIS macro is invoked
    +$FINIS_COLOR                    Color of FINIS string
    +$FINIS_STRING                   What to print when FINIS macro is
    +                                invoked
    +$FIRST_DOC_TITLE                1st doc's title captured in COLLATE
     $FN_FAM                         Family used in footnotes
     $FN_FT                          Font used in footnotes
     $FN_QUAD                        Quad used in footnotes
     $FN_SIZE_CHANGE                 ps in/decrease of footnotes*
    -$HDRFTR_CENTER_FAM              Family of center part of headers
    -$HDRFTR_CENTER_FT               Font of center part of headers
    -$HDRFTR_CENTER_SIZE_CHANGE      ps in/decrease of center title in headers**
    -$HDRFTR_CENTER                  What to put in center part of headers; default doctype
    +$FOOTNOTE_COLOR                 Footnote color
    +$HDRFTR_CENTER                  What to put in CENTER part of headers;
    +                                default doctype
    +$HDRFTR_CENTER_FAM              Family of CENTER part of headers
    +$HDRFTR_CENTER_FT               Font of centre part of headers
    +$HDRFTR_CENTER_NEW              HDRFTR_CENTER after the start of TOC;
    +                                defined in HDRFTR_CENTER if
    +                                HDRFTR_CENTER is called as
    +                                FOOTER_CENTER
    +$HDRFTR_CENTER_OLD              HDRFTR_CENTER just prior to start of
    +                                TOC; defined in HDRFTR_CENTER if
    +                                HDRFTR_CENTER is called as
    +                                FOOTER_CENTER
    +$HDRFTR_CENTER_SIZE_CHANGE      ps in/decrease of centre title in
    +                                headers**
    +$HDRFTR_COLOR                   Color of headers/footers
     $HDRFTR_FAM                     Family to use in headers
     $HDRFTR_LEFT_FAM                Family of left part of headers
     $HDRFTR_LEFT_FT                 Font of left part of headers
     $HDRFTR_LEFT_SIZE_CHANGE        ps in/decrease of author in headers**
    -$HDRFTR_LEFT                    What to put in left part of headers; default author
    +$HDRFTR_LEFT                    What to put in left part of headers;
    +                                default author
     $HDRFTR_RIGHT_FAM               Family of right part of headers
     $HDRFTR_RIGHT_FT                Font of right part of headers
    -$HDRFTR_RIGHT_SIZE_CHANGE       ps in/decrease of right part of headers**
    -$HDRFTR_RIGHT                   What to put in right part of headers; default title
    +$HDRFTR_RIGHT_SIZE_CHANGE       ps in/decrease of right part of
    +                                headers**
    +$HDRFTR_RIGHT                   What to put in right part of headers;
    +                                default title
     $HDRFTR_SIZE_CHANGE             ps in/decrease of headers*
    -$HDRFTR_TMP_SIZE_CHANGE_SWITCH  Temporarily holds HDRFTR_LEFT_SIZE_CHANGE if #SWITCH_HDRFTRS=1
    -$HDRFTR_TMP_SWITCH              Temporarily holds HDRFTR_LEFT if #SWITCH_HDRFTRS=1
    +$HDRFTR_TMP_SIZE_CHANGE_SWITCH  Temporarily holds
    +                                HDRFTR_LEFT_SIZE_CHANGE if
    +                                #SWITCH_HDRFTRS=1
    +$HDRFTR_TMP_SWITCH              Temporarily holds HDRFTR_LEFT if
    +                                #SWITCH_HDRFTRS=1
    +$HEAD_COLOR                     Head color
     $HEAD_FAM                       Family to use for section titles
     $HEAD_FT                        Font to use for section titles
    -$HEAD_QUAD                      Quad valude of section titles
    +$HEAD_QUAD                      Quad value of section titles
     $HEAD_SIZE_CHANGE               ps in/decrease of section titles*
     $LINEBREAK_CHAR                 Character that marks line breaks
    -$LINEBREAK_CHAR_V_ADJ           +|- amount by which to raise/lower linebreak character
    -PAGE#                           For use in hdrftr strings where page # is needed; \*[PAGE]
    +$LINEBREAK_CHAR_V_ADJ           +|- amount by which to raise/lower
    +                                linebreak character
    +$LINEBREAK_COLOR                Linebreak color
    +PAGE#                           For use in hdrftr strings where page #
    +                                is needed; \*[PAGE]
    +$PAGENUM_COLOR                  Page number color
     $PAGENUM_STYLE                  String passed to PAGENUM_STYLE
     $PAGE_NUM_FAM                   Family of page numbers
     $PAGE_NUM_FT                    Font of page numbers
     $PAGE_NUM_SIZE_CHANGE           ps in/decrease of page numbers
    -$PAPER                          Paper size (LETTER, A4, LEGAL); default=LETTER
    +$PAPER                          Paper size (LETTER, A4, LEGAL);
    +                                default=LETTER
    +$PH_COLOR                       Parahead color
     $PP_FT                          Font used in paragraphs
    +$QUOTE_COLOR                    Quote (poetic) color
     $QUOTE_FAM                      Family to use for pquotes
     $QUOTE_FT                       Font to use for pquotes
     $QUOTE_SIZE_CHANGE              ps in/decrease of pquotes*
    -$REVISION_STRING                What to print whenever the word "revision" is required
    +#REVISION                       The revision number (string valued)
    +$REVISION_STRING                What to print whenever the word
    +                                "revision" is required
     $SH_FAM                         Family to use in subheads
     $SH_FT                          Font to use in subheads
     $SH_SIZE_CHANGE                 ps in/decrease of subheads*
    +$SH_COLOR                       Subhead color
     $SUBTITLE                       Document subtitle
    -$SUBTITLE_FAM                   Family to use for subtitle in doc header
    +$SUBTITLE_FAM                   Family to use for subtitle in doc
    +                                header
     $SUBTITLE_FT                    Font to use for subtitle in doc header
     $SUBTITLE_SIZE_CHANGE           ps in/decrease of subtitle*
     $SUBTITLE_PT_SIZE               Absolute ps of subtitle
    @@ -901,12 +1342,44 @@
     $TITLE_FT                       Font to use for title in doc header
     $TITLE_PT_SIZE                  Absolute point size of title in docheader
     $TITLE_SIZE_CHANGE              ps in/decrease of title in doc header*
    +$TOC_AUTHORS                    What to print after toc doc title entry
    +                                if #TOC_AUTHORS=1
    +$TOC_FAM                        Family to use on toc pages
    +$TOC_HEAD_FAM                   Family of toc head entries
    +$TOC_HEAD_FT                    Font of toc head entries
    +$TOC_HEAD_ITEM                  A head as collected for TOC_ENTRIES
    +$TOC_HEADER_FAM                 Family to use for "Contents"
    +$TOC_HEADER_FT                  Font to use for "Contents"
    +$TOC_HEADER_QUAD                Quad direction of "Contents"
    +$TOC_HEADER_SIZE                ps in/decrease of "Contents"****
    +$TOC_HEADER_STRING              Header string of first toc page
    +$TOC_PN                         Sets up toc leaders + entry pn
    +                                (typeset)
    +$TOC_PN_FAM                     Family for toc entries page numbers
    +$TOC_PN_FT                      Font for toc entries page numbers
    +$TOC_PN_SIZE_CHANGE             ps in/decrease of toc entries page
    +                                numbers
    +$TOC_PN_STYLE                   Page-numbering style of toc pages
    +$TOC_PN_TYPEWRITE               Sets up toc leaders + entry pn
    +                                (typewrite)
    +$TOC_PH_FAM                     Family of toc parahead entries
    +$TOC_PH_FT                      Font of toc parahead entries
    +$TOC_PARAHEAD_ITEM              A parahead collected for TOC_ENTRIES
    +$TOC_SH_FAM                     Family of toc subhead entries
    +$TOC_SH_FT                      Font of toc subhead entries
    +$TOC_SH_ITEM                    A subhead collected for TOC_ENTRIES
    +$TOC_TITLE_FAM                  Family of toc doc title entries
    +$TOC_TITLE_FT                   Font of toc doc title entries
    +$USER_SET_TITLE_ITEM            User defined toc doc title entry as
    +                                set by TOC_TITLE_ENTRY
    +$UR_PAGINATION_STYLE            Pagination style prior to endnotes
     $USERDEF_HDRFTR_RECTO           User defined header/footer recto string
     $USERDEF_HDRFTR_VERSO           User defined header/footer verso string
     
    -  *relative to #DOC_PT_SIZE
    - **relative to overall ps of headers as set by HEADER_SIZE
    -***relative to overall ps of endnotes
    +   *relative to #DOC_PT_SIZE
    +  **relative to overall ps of headers as set by HEADER_SIZE
    + ***relative to overall ps of endnotes
    +****relative to overall ps of toc pages
     
     +++PREPROCESSOR KEYWORDS+++
     
    @@ -948,6 +1421,9 @@
     
     +++ALIASES+++
     
    +All macros that include the word COLOR have aliases that use COLOUR instead,
    +e.g. NEWCOLOUR, XCOLOUR, COLOUR, HEAD_COLOUR, SUBHEAD_COLOUR, etc.
    +
     BREAK_BLOCKQUOTE      BREAK_QUOTE
     BREAK_CITATION        BREAK_QUOTE
     BREAK_CITE            BREAK_QUOTE
    @@ -956,7 +1432,7 @@
     COL_BREAK             COL_NEXT
     DOC_FAM               DOC_FAMILY
     DOC_LLENGTH           DOC_LINE_LENGTH
    -DOC_L_LENGTT          DOC_LINE_LENGTH
    +DOC_L_LENGTH          DOC_LINE_LENGTH
     DOC_L_MARGIN          DOC_LEFT_MARGIN
     DOC_LMARGIN           DOC_LEFT_MARGIN
     DOC_LS                DOC_LEAD
    @@ -1049,6 +1525,9 @@
     PRINT_FOOTNOTE_RULE   FOOTNOTE_RULE
     SWITCH_FOOTERS        SWITCH_HDRFTR
     SWITCH_HEADERS        SWITCH_HDRFTR
    +TOC_FAM               TOC_FAMILY
    +TOC_LS                TOC_LEAD
    +TOC_PS                TOC_PT_SIZE
     

    diff -ruN groff-1.19/contrib/mom/momdoc/toc.html groff-1.19.1/contrib/mom/momdoc/toc.html --- groff-1.19/contrib/mom/momdoc/toc.html Tue Feb 25 17:42:58 2003 +++ groff-1.19.1/contrib/mom/momdoc/toc.html Mon Mar 22 07:18:37 2004 @@ -8,7 +8,51 @@

    Table of Contents

    +This link takes you to the top of the Table of Contents proper +

    +


    +

    Quick Table of Contents Navigation

    +INTRODUCTORY STUFF +TYPESETTING WITH MOM + +DOCUMENT PROCESSING WITH MOM + +
    +
    + +

    The Table of Contents Proper

    + +
  • 1. WHAT IS MOM? +
  • 2. DEFINITIONS OF TERMS USED IN THIS MANUAL +
  • 3. USING MOM +
  • 4. THE TYPESETTING MACROS +
  • 4.9 Multi-columns +
  • 4.10 Indents +
  • 4.11 Goodies -- aliases, transparent lines, smartquotes, caps, underscoring/underlining, padding lines, leaders, drop - caps, superscripts + caps, superscripts, (nested) lists +
  • 4.12 Inline Escapes + +
  • 4.13 Coloured text + + +
  • 5. DOCUMENT PROCESSING WITH MOM -
  • 5.8 CREATING A COVER PAGE + +
  • 5.8 CREATING A COVER PAGE
    +
  • 5.9 WRITING LETTERS +
  • 5.10 USING TYPESETTING MACROS DURING DOCUMENT PROCESSING +
  • 6. APPENDICES
    • 6.1 Further notes on this documentation diff -ruN groff-1.19/contrib/mom/momdoc/typemacdoc.html groff-1.19.1/contrib/mom/momdoc/typemacdoc.html --- groff-1.19/contrib/mom/momdoc/typemacdoc.html Wed Jun 12 21:19:32 2002 +++ groff-1.19.1/contrib/mom/momdoc/typemacdoc.html Mon Mar 22 07:18:37 2004 @@ -10,6 +10,7 @@ Next   Prev   Back to Table of Contents +

      @@ -29,13 +30,24 @@ FOOTNOTE macro.)

      -There are, however, some typesetting macros that, used during document +Mom's tabs +(both +typesetting tabs +and +string tabs) +behave as expected in running text during document processing. Tab +structures that do not exceed the line length of running text are +preserved sensibly from page to page, and, if +COLUMNS +are enabled, from column to column. +

      +Some typesetting macros, however, when used during document processing, behave in special ways. These are the macros that deal -with the basic parameters of type style: horizontal and vertical margins, -line length, +with the basic parameters of type style: horizontal and vertical +margins, line length, family, font, -point size, +point size, leading, and quad. @@ -115,9 +127,14 @@ current tag only. As soon as another document element tag is entered, the line space reverts to the current document default for the new - tag. Highly NOT recommended, since changes to - a document's leading interfere with mom's - ability to balance bottom margins. + tag. + + Using LS to temporarily change leading within a + document will almost certainly result in a bottom + margin that doesn't align with the bottom margin + of subsequent pages. You'll need to use the SHIM + macro to get mom back on track when you're ready + to return to the document's default leading. QUAD *Changes quad for the duration of the current tag only. As soon as another document diff -ruN groff-1.19/contrib/mom/momdoc/typesetting.html groff-1.19.1/contrib/mom/momdoc/typesetting.html --- groff-1.19/contrib/mom/momdoc/typesetting.html Tue Feb 25 17:42:58 2003 +++ groff-1.19.1/contrib/mom/momdoc/typesetting.html Mon Mar 22 07:18:37 2004 @@ -10,7 +10,7 @@ Next   Prev   Back to Table of Contents - +

      THE TYPESETTING MACROS

      @@ -83,6 +83,7 @@
    • List of inline escapes
    +


    Introduction to the typesetting macros

    @@ -113,7 +114,7 @@ structured document processing (page headers, paragraphs, heads, footnotes, etc). What they do demand is precise control over every element on the page. The typesetting macros give you that control. -
    +


    @@ -138,7 +139,7 @@ PAGE macro provides a convenient way of setting the page dimensions and some or all of the page margins with a single macro. -
    +

    Page setup macros list

    @@ -155,6 +156,7 @@
  • PAGE (page dimensions and margins all in one fell swoop)
  • NEWPAGE (start a new page) +

    @@ -282,7 +284,7 @@ See Typesetting Macros in Document Processing for an explanation. -
    +

    @@ -356,7 +358,7 @@ See Typesetting Macros in Document Processing for an explanation. -
    +

    @@ -371,7 +373,7 @@ T_MARGIN establishes the distance from the top of the printer sheet at which you want your type to start. It requires a unit of measure, and decimal fractions are allowed. To set a top -margin of 2-1/2 centimeters, you'd enter +margin of 2-1/2 centimetres, you'd enter

     	.T_MARGIN 2.5c
    @@ -408,7 +410,7 @@
     See
     Top and bottom margins in document processing
     for an explanation.
    -
    +

    @@ -449,7 +451,7 @@ See Top and bottom margins in document processing for an explanation. -
    +

    @@ -528,7 +530,7 @@ immediately before entering any text, or, if it's feasible, make PAGE the last macro you invoke prior to entering text. -
    +

    @@ -547,7 +549,7 @@ Experts: NEWPAGE is an alias of .bp. You can use either, or mix 'n' match with impunity. -
    +


    @@ -566,7 +568,7 @@ The document processing macros handle things differently. See Typesetting Macros in Document Processing for an explanation. -
    +

    Basic parameter macros list

      @@ -632,7 +634,7 @@ FAMILY. (You could, of course, shorten GARAMOND to just G, or GD.) R, I, B, and BI after GARAMOND are the roman, italic, bold and bold-italic fonts respectively. -
      +

      @@ -672,7 +674,7 @@

      Fonts can also be changed inline. See Inline Escapes, font control. -
      +

      @@ -714,7 +716,7 @@ The size of type can also be changed inline. See Inline Escapes, changing point size. -
      +

      @@ -767,7 +769,7 @@ ls. LS acts like vs. mom does not provide a macro analogous to ls. -
      +

      @@ -822,7 +824,7 @@ NOTE: There's no need to prepend a plus sign (+) to AUTOLEAD's argument, although you may do so if you wish. -
      +

      @@ -859,7 +861,7 @@ NOTE: The right margin macro (R_MARGIN) can also be used to set line length. -
      +


      @@ -873,7 +875,7 @@ The justification and quadding macros deal with how type aligns along the left and right margins. In a nutshell, type either aligns at the left margin, at the right margin, at both margins, or at neither margin -(centered). +(centred).

      These macros also determine whether or not input lines are joined and @@ -889,18 +891,18 @@ Groff terms for an explanation.

      Justification, quad, fill, and break macro list

      - +

      • Fill modes
        • JUSTIFY (set lines justified) -
        • QUAD (set filled lines flush left, right or centered) +
        • QUAD (set filled lines flush left, right or centred)
      • Nofill modes
        • LEFT (set non-filled lines flush left)
        • RIGHT (set non-filled lines flush right) -
        • CENTER (set non-filled lines centered) +
        • CENTER (set non-filled lines centred)
      • Breaking lines
          @@ -935,12 +937,12 @@ To break lines and prevent them from being filled and justified, use the BR macro. -
          +


          -

          Quad lines left, right, or center

          +

          Quad lines left, right, or centre


          Macro: QUAD L | LEFT | R | RIGHT | C | CENTER | J | JUSTIFY
          @@ -963,7 +965,7 @@ If R or RIGHT, type is set flush along the right margin.

          -If C or CENTER type is set centered +If C or CENTER type is set centred on the current line length.

          J and JUSTIFY justify text, @@ -974,12 +976,12 @@

          To break lines and prevent them from being filled, use the BR macro. -
          +


          -

          Set non-filled lines flush left, right, or centered

          +

          Set non-filled lines flush left, right, or centred


          Macro: LEFT   Macro: RIGHT @@ -1029,7 +1031,7 @@ that run long may exceed it, or get broken in undesirable ways. Therefore, when using these three macros, you should preview your work to ensure that all lines fit as expected. -
          +

          @@ -1069,7 +1071,7 @@

          Experts: BR is an alias for br. You can use either, or mix 'n' match with impunity. -
          +

          @@ -1109,7 +1111,7 @@ The next line of text.

    -may be more instuitive than +may be more intuitive than

     	.LS 12.5
    @@ -1140,16 +1142,17 @@
     mom can't recover.  She places the line after
     the EL on the next page.
     

    -If you need EL functionality on the last line of -a page with a footer trap, turn the trap off with -TRAP, -as in this example: +If you need EL functionality on the last line of a +page that has a footer trap, turn the trap off by surrounding the +line to be EL'd with +TRAP +requests, as in following example.

    -	3.
    -	.TRAP OFF
    -	.EL
    -	.TRAP
    +	.TRAP OFF  \" Turn trap off
    +	3.		   \" Input the first line
    +	.EL        \" Invoke EL...
    +	.TRAP      \" ...and turn trap back on *before* inputting next line
     	\*[FP12]Establish, once and for all, if 42 really is the answer.
     
    @@ -1167,7 +1170,7 @@ "3." would have appeared at the bottom of the page by itself, with "Establish, once and for all..." appearing at the top of the next page. -
    +

    @@ -1225,7 +1228,7 @@

    Experts: SPACE is an alias of sp. You can use either, or mix 'n' match with impunity. -
    +

    @@ -1248,7 +1251,7 @@

    Experts: SPREAD is an alias for brp. You can use either, or mix 'n' match with impunity. -
    +

    @@ -1300,7 +1303,7 @@ Please also note that had the example been in one of the fill modes, there'd have been no need for the \c. -
    +


    @@ -1318,7 +1321,6 @@

    Typographic refinements macro list

    -
    • Word and sentence spacing
        @@ -1412,7 +1414,7 @@ This can be particularly useful if you've been playing around with plus and minus values, and can't remember by how much you have to in/decrease the word space to get it back to normal. -
        +

        @@ -1486,7 +1488,7 @@ ignore this advice and use SS when you habitually put only one space between sentences, you risk producing output where the space between sentences is not equal. -
        +

        @@ -1514,8 +1516,6 @@ separate sections.

        1. HY

        - -

        HY by itself (i.e. with no argument) simply turns automatic hyphenation on. Any argument other than LINES, MARGIN, SPACE or DEFAULT, turns automatic @@ -1541,8 +1541,6 @@

        2. HY LINES

        - -

        HY LINES sets the maximum number of consecutive hyphenated lines that will appear in output copy. 2 is a very good choice, and you'd set it with @@ -1561,8 +1559,6 @@ explicit hyphens do not.

        3. HY MARGIN

        - -

        HY MARGIN sets the amount of room allowed at the end of a line before hyphenation is tripped (e.g. if there's only 6 points left at the end of a line, groff won't try to hyphenate @@ -1585,8 +1581,6 @@ unit of measure.

        4. HY SPACE

        - -

        HY SPACE sets an amount of extra interword space that groff will try to put between words on a line in order to PREVENT hyphenation. HY SPACE @@ -1606,19 +1600,15 @@ SPACE requires a unit of measure. -

        4. HY DEFAULT

        - -

        +

        5. HY DEFAULT

        HY DEFAULT resets automatic hyphenation to its default behaviour, cancelling any changes made with LINES, MARGIN, and/or SPACE.

        A note on hyphenation in general

        - -

        Hyphenation is a necessary evil. If it can be avoided, it should be. If it can't be, it should occur infrequently. That's the reason for -number of parameters you can set with HY. +the number of parameters you can set with HY.

        Furthermore, hyphenation in @@ -1629,7 +1619,7 @@ Since such adjustments are often too fussy for document processing, I recommend playing around with HY MARGIN a bit if your copy looks hyphen-heavy. -
        +

        @@ -1678,7 +1668,7 @@

    is how you'd do it. -
    +

    @@ -1732,7 +1722,7 @@ you can tell mom that's what you want by invoking the BR_AT_LINE_KERN toggle macro. -
    +

    @@ -1772,7 +1762,7 @@ you can tell mom that's what you want by invoking the BR_AT_LINE_KERN toggle macro. -
    +

    @@ -1819,7 +1809,7 @@ inline escapes \*[BU #] and \*[FU #]. See Inline Escapes, kerning. -
    +

    @@ -1845,7 +1835,7 @@ ligature generation off.

    NOTE: Not all fonts support ligatures. -
    +


    @@ -1876,8 +1866,8 @@
    • Pseudo italic
        -
      • SETSLANT -- degree of pseudo-italicising -
      • \*[SLANT] -- inline escape for pseudo-italicising type +
      • SETSLANT -- degree of pseudo-italicizing +
      • \*[SLANT] -- inline escape for pseudo-italicizing type
    • Pseudo bold
        @@ -1899,12 +1889,12 @@
        -

        Set degree of slant for pseudo-italicising

        +

        Set degree of slant for pseudo-italicizing


        Macro: SETSLANT <degrees to slant type> | RESET

        -Pseudo-italicising of type is accomplished by slanting a roman font +Pseudo-italicizing of type is accomplished by slanting a roman font a certain number of degrees to the right. SETSLANT lets you fix the number of degrees. Mom's default is 15, which produces an acceptable approximation of an @@ -1923,12 +1913,12 @@ NOTE: By itself, SETSLANT -will not start pseudo-italicising type; it merely tells +will not start pseudo-italicizing type; it merely tells mom what degree of slant you want. To start -pseudo-italicising, use the +pseudo-italicizing, use the inline escape \*[SLANT]. -
        +

        @@ -1940,7 +1930,7 @@ Inline: \*[SLANTX] -- turn pseudo-italic off

        -\*[SLANT] begins pseudo-italicising type. +\*[SLANT] begins pseudo-italicizing type. \*[SLANTX] turns the feature off. Both are inline escapes, therefore they should not appear as separate lines, but rather @@ -1950,7 +1940,7 @@ Not \*[SLANT]everything\*[SLANTX] is as it seems. -Alternatively, if you wanted the whole line pseudo-italicised, +Alternatively, if you wanted the whole line pseudo-italicized, you'd do

        @@ -1968,7 +1958,7 @@
         mom underlines pseudo-italics by default.  To
         change this behaviour, use the special macro
         SLANT_MEANS_SLANT.
        -
        +

        @@ -2004,7 +1994,7 @@ To start emboldening, use the inline escape \*[BOLDER]. -
        +

        @@ -2043,7 +2033,7 @@ PRINTSTYLE TYPEWRITE, mom ignores \*[BOLDER] requests. -
        +

        @@ -2084,7 +2074,7 @@ \*[CONDX]) before before making any changes to the pseudo-condense percentage with CONDENSE. -
        +

        @@ -2127,7 +2117,7 @@ PRINTSTYLE TYPEWRITE, mom ignores \*[COND] requests. -
        +

        @@ -2148,7 +2138,7 @@ EXTEND, therefore you must set it before using the inline escape \*[EXT]. -120 percent of the normal character width is a good value, and +120% of the normal character width is a good value, and you'd set it like this:

        @@ -2169,7 +2159,7 @@
         \*[EXTX])
         before before making any changes to the pseudo-extend percentage
         with EXTEND.
        -
        +

        @@ -2212,7 +2202,7 @@ PRINTSTYLE TYPEWRITE, mom ignores \*[EXT] requests. -
        +


        @@ -2291,7 +2281,7 @@ T_MARGIN or PAGE. -
        +

        @@ -2328,7 +2318,7 @@ use RLD with points of lead. -
        +


        @@ -2345,26 +2335,32 @@ divorced from groff's notion of tabs. I recommend reading this section carefully in order to understand how mom handles tabs. +

        +NOTE: see the section +Using typesetting macros during document processing +for re-assuring information on the use of tabs during +document processing. +

        Typesetting tabs

        Typesetting tabs are defined by both an indent from the left margin and a line length. This is quite different from typewriter-style tab stops (the groff norm) that only define the left indent. In conjunction -with the multi-column macros, typesetting tabs significantly facilitate +with the +multi-column macros, +typesetting tabs significantly facilitate tabular and columnar work.

        -Typesetting tabs are created with the TAB_SET +Typesetting tabs are created with the +TAB_SET macro. TAB_SET identifies the tab (by number), establishes its left indent and line length, and optionally sets a quad direction and fill mode. After tabs have been created with TAB_SET, they can be called at any time with the -TAB macro. +TAB +macro.

        -NOTE: see the section -Typesetting Macros in Document Processing -for information and advice on using tabs with the -document processing macros.

        Quickie tutorial on typesetting tabs

        @@ -2411,7 +2407,7 @@

        • to begin 8 picas from the left margin
        • to have a length of 9 picas -
        • to be set centered. +
        • to be set centred.

        You set it up like this: @@ -2523,13 +2519,17 @@ mom fills the tab and sets the type flush left. - +

        String tabs (autotabs)

        -String tabs let you mark off tab positions inline. Left indents -and line lengths are calculated from the beginning and end positions of -the marks. This is especially useful when tab indents and lengths -need to be determined from the text that goes in each tab. +String tabs let you mark off tab positions with +inline escapes +embedded in +input lines. +Left indents and line lengths are calculated from the beginning and +end positions of the marks. This is especially useful when tab +indents and lengths need to be determined from the text that goes in +each tab.

        Setting up string tabs is a two-step procedure. First, you enter an input line in which you mark off where you want tabs to begin and end. @@ -2550,10 +2550,10 @@ macro and the groff inline escape \h (move horizontally across the page) or mom's -\*[FP#] -(Forward Points) inline, string tabs provide +\*[FWD <distance>] +(move forward) inline, string tabs provide tremendous flexibility in setting up complex tab structures. - +

        Quickie tutorial on string tabs

        Say you want to set up tabs for the @@ -2577,8 +2577,12 @@ input line with tab positions marked on it. Tabs are marked with the inline escapes -\*[ST#] and \*[ST#X]. (In this -example, we enclose the input line with the +\*[ST<n>] +and +\*[ST<n>X], +where <n> +is the number you want the tab to have. (In this example, we +enclose the input line with the SILENT macro so the line doesn't print. We also use the PAD @@ -2589,7 +2593,7 @@

         	.SILENT
        -	.PAD "\*[ST1]CRITERION\*[ST1X]\*[FP12]\*[ST2]EVALUATION\*[ST2X]\*[FP12]\*[ST3]#\*[ST3X]"
        +	.PAD "\*[ST1]CRITERION\*[ST1X]\*[FWD 12p]\*[ST2]EVALUATION\*[ST2X]\*[FWD 12p]\*[ST3]#\*[ST3X]"
         	.SILENT OFF
         
        @@ -2603,10 +2607,10 @@ \*[ST1]CRITERION\*[ST1X]
      • We want a 1 pica (12 points) gutter between tab 1 and 2, - so we insert 12 points of space with \*[FP12] - (Forward Points 12): + so we insert 12 points of space with \*[FWD 12p] + (ForWarD 12 points):

        - \*[FP12] + \*[FWD 12p]

      • The longest line in tab 2 is "EVALUATION", so we enclose EVALUATION with begin/end markers for string @@ -2615,9 +2619,9 @@ \*[ST2]EVALUATION\*[ST2X]
      • We want 1 pica (12 points) between tab 2 and 3, so we - insert 12 points of space with another \*[FP12]: + insert 12 points of space with another \*[FWD 12p]:

        - \*[FP12] + \*[FWD 12p]

      • We want tab 3 to be as long as whatever space remains on the current line length, so we enclose the @@ -2656,7 +2660,7 @@ typesetting tabs tutorial).

        Here's the complete setup and entry for the sample employee -evaluation form utilising string tabs. +evaluation form utilizing string tabs.

         	.PAGE 8.5i 11i 1i 1i 1i
        @@ -2669,7 +2673,7 @@
         	.HY OFF
         	.SS 0
         	.SILENT
        -	.PAD "\*[ST1]CRITERION\*[ST1X]\*[FP12]\*[ST2]EVALUATION\*[ST2X]\*[FP12]\*[ST3]#\*[ST3X]"
        +	.PAD "\*[ST1]CRITERION\*[ST1X]\*[FWD 12p]\*[ST2]EVALUATION\*[ST2X]\*[FWD 12p]\*[ST3]#\*[ST3X]"
         	.SILENT OFF
         	.ST  1  L
         	.ST  2  L
        @@ -2717,11 +2721,11 @@
         between tabs is still 1 pica), while the position and length 
         of the tabs have altered because of the new point size.
         

        -Now try increasing the gutters to 2 picas (put an additional -\*[FP12] after each \*[FP12]). Preview the +Now try increasing the gutters to 2 picas (\*[FWD 24p] or +\*[FWD 2P] instead of \*[FWD 12p]). Preview the file again, and notice how the tab structure remains the same, but the gutters are wider. - +

        Tabs macro list

        @@ -2739,7 +2743,7 @@
        -

        Set up typsetting tabs

        +

        Set up typesetting tabs


        Macro: TAB_SET <tab number> <indent> <length> L | R | C | J [ QUAD ]
        @@ -2761,7 +2765,7 @@
      • a direction

      -To set up a centered tab 6 picas long and 9 points from the left +To set up a centred tab 6 picas long and 9 points from the left margin, you'd enter

      @@ -2774,7 +2778,7 @@
       

      By default, tabs are in nofill -mode, meaning you can enter text in tabs on a line for line basis +mode, meaning you can enter text in tabs on a line-for-line basis without having to use the BR macro. If you want a tab to be @@ -2816,7 +2820,7 @@ Indents) before setting up tabs with TAB_SET, or mom may get confused. -
      +

      @@ -2870,7 +2874,7 @@ Mom calculates string tab positions and lengths as she reads the input line, not after the line has undergone manipulations to the word spacing. -
      +

      @@ -2911,7 +2915,7 @@ See the Quickie tutorial on string tabs for a full explanation of setting up string tabs. -
      +

      @@ -2980,7 +2984,7 @@ picas turned on, and you call a tab whose indent from the left margin is 6 picas, your new distance from the left margin will be 6 picas, not 6 picas plus the 2 pica indent. -
      +

      @@ -2997,23 +3001,51 @@ in the description of the TAB macro for an example of how TN works.

      -NOTE: TN is like +NOTE: You must put text in the +input line +immediately after TN. "Stacking" of +TN's is not allowed. In other words, you cannot +do +

      +

      +	.TAB 1
      +	Some text
      +	.TN
      +	Some more text
      +	.TN
      +	.TN
      +	Yet more text
      +
      + +The above example, assuming tabs numbered from 1 to 4, should be entered +

      +

      +	.TAB 1
      +	Some text
      +	.TN
      +	Some more text
      +	.TAB 4
      +	Yet more text
      +
      +

      +ADDITIONAL NOTE: TN is like EL in that it doesn't work as advertised on the last line before a -footer trap is sprung. If you need to use TN -on the last line of a page with a footer trap, turn the trap off with +footer trap is sprung. If you need to use TN on +the last line of a page that has a footer trap, turn the trap off by +surrounding the line to be TN'd with TRAP, -as in this example: +requests, as in the following example.

       	.TAB_SET 1 0  1P  L
       	.TAB_SET 2 1P 20P L
       	.TAB 1
      -	.TRAP OFF
      -	1.
      -	.TN
      +	.TRAP OFF  \" Turn trap off
      +	1.         \" Input the first line
      +	.TN        \" Invoke TN...
      +	.TRAP      \" ...and turn trap back on *before* inputting next line
       	The first rule of survival is "make and keep good friends."
      -	.TRAP
       
      The above, at the bottom of a page, will look something like this: @@ -3026,7 +3058,7 @@ "1." would have appeared as the last line on the page, with "The first rule of survival..." being the first line on the next page. -
      +

      @@ -3042,7 +3074,7 @@ quad direction and fill mode that were in effect prior to invoking any tabs. -
      +


      @@ -3123,7 +3155,7 @@ COLUMNS macro in the document processing macros. - +

      Columns macro list

      @@ -3158,7 +3190,7 @@ COLUMNS macro in the document processing macros. -
      +

      @@ -3173,7 +3205,7 @@ MCO), MCR, at any time, returns you to the top of your columns. -
      +

      @@ -3198,7 +3230,7 @@

      If you pass the <distance> argument to MCX, it advances 1 linespace below the longest -column (see above) PLUS the distance specified by the argumemnt. +column (see above) PLUS the distance specified by the argument. The argument requires a unit of measure; therefore, to advance an extra 6 points below where MCX would normally place you, you'd enter @@ -3223,7 +3255,7 @@ The above advances to precisely 24 points below the baseline of the longest column. -
      +


      @@ -3240,7 +3272,7 @@ as at the start of a paragraph) and "hanging" left indents (the reverse of a temporary indent; the first line isn't indented, subsequent lines are). - +

      A brief explanation of how mom handles indents

      Mom provides five kinds of indents: left, right, @@ -3373,7 +3405,7 @@ More text \"Text is still indented 4 picas left

      -If, at .IRX, you wanted the text afterward to have no +If, at .IRX, you wanted the text afterwards to have no indents (either left or right), you would enter .IQ, which exits all indent styles at once.

      @@ -3388,9 +3420,9 @@

      NOTE: see the section Typesetting Macros in Document Processing -for information and advice on using idents with the +for information and advice on using indents with the document processing macros. - +

      Indents macro list

      • IL  (Indent left) @@ -3447,8 +3479,8 @@ automatically cancels any active indents.

        ADDITIONAL NOTE: Invoking IL -automtically turns off IB. -
        +automatically turns off IB. +

        @@ -3468,7 +3500,7 @@ indent measure. A minus sign may be prepended to the argument to subtract from the current indent measure. The \w -inline esacpe +inline escape may be used to specify a text-dependent measure, in which case no unit of measure is required. For example,

        @@ -3488,8 +3520,8 @@ automatically cancels any active indents.

        ADDITIONAL NOTE: Invoking IR -automtically turns off IB. -
        +automatically turns off IB. +

        @@ -3519,12 +3551,12 @@ A minus sign may be prepended to the arguments to subtract from their current values. The \w -inline esacpe +inline escape may be used to specify text-dependent measures, in which case no unit of measure is required. For example,

        -	.IB \w'margaraine' \w'jello'
        +	.IB \w'margarine' \w'jello'
         
        left indents text by the width of the word "margarine" @@ -3540,9 +3572,9 @@ automatically cancels any active indents.

        ADDITIONAL NOTE: Invoking IB -automtically turns off IL and +automatically turns off IL and IR. -
        +

        @@ -3555,7 +3587,7 @@

        A temporary indent is one that applies only to the first line of -text that comes after it. It's chief use is indenting the first +text that comes after it. Its chief use is indenting the first line of paragraphs. (Mom's PP macro, for example, uses a temporary indent.) @@ -3639,10 +3671,15 @@ control lines). And because hanging indents affect only one line, there's no need to turn them off. - +

        A recipe for numbered lists

        -A common use for hanging indents is setting numbered lists. +PLEASE NOTE: mom now has macros for setting lists (see +Nested lists), +making this recipe superfluous. It remains here in the hope that +it will clarify the use of hanging indents generally, if no longer +specifically. +

        Consider the following example:

        @@ -3678,7 +3715,7 @@
         plus a period (using the
         \w
         inline escape).  At this point, the left indent is active; text
        -afterward would normally be indented.  However, we invoke a hanging
        +afterwards would normally be indented.  However, we invoke a hanging
         indent of exactly the same width, which hangs the first line (and
         first line only!) to the left of the indent by the same distance
         (in this case, that means "out to the left margin").
        @@ -3697,7 +3734,7 @@
         IB, measures given to HI
         are NOT additive.  Each time you pass a measure to
         HI, the measure is treated literally.
        -
        +

        diff -ruN groff-1.19/contrib/mom/momdoc/using.html groff-1.19.1/contrib/mom/momdoc/using.html --- groff-1.19/contrib/mom/momdoc/using.html Wed Sep 4 23:48:01 2002 +++ groff-1.19.1/contrib/mom/momdoc/using.html Sun Feb 22 10:17:08 2004 @@ -10,7 +10,7 @@ Next   Prev   Back to Table of Contents - +

        USING MOM

        @@ -23,7 +23,7 @@ Invoking groff
        Previewing documents -
        +


        Introduction

        @@ -50,7 +50,7 @@ In addition, the typesetting macros, in combination with document processing, let you meet all sorts of typesetting needs that just can't be covered by "one macro fits all" markup tags. - +

        How to input mom's macros

        @@ -67,9 +67,9 @@ rules for mom's macros and inline escapes. I use the vi clone called elvis, and find it a pure - joy in this regard. Simply colorizing macros and + joy in this regard. Simply colourizing macros and inlines to half-intensity can be enough to make text stand - out clearly from formattting commands. + out clearly from formatting commands.
      • All mom's macros begin with a period (dot) and must be entered in upper case (capital) letters. @@ -120,12 +120,12 @@ chapter of a book.

        -	.TITLE   "My Pulizter Novel"
        +	.TITLE   "My Pulitzer Novel"
         	.AUTHOR  "Joe Blow"
         	.CHAPTER  1
         	\#
         	.DOCTYPE    CHAPTER
        -	.PRINTSTYPE TYPESET
        +	.PRINTSTYLE TYPESET
         	\#
         	.FAM     P
         	.PT_SIZE 10
        @@ -171,7 +171,7 @@
         only need -U with .open, .opena, .pso, .sy,
         and .pi, however reality seems, at times, to dictate
         otherwise.
        -
        +

        How to preview documents

        diff -ruN groff-1.19/contrib/mom/om.tmac groff-1.19.1/contrib/mom/om.tmac --- groff-1.19/contrib/mom/om.tmac Tue Feb 25 17:45:15 2003 +++ groff-1.19.1/contrib/mom/om.tmac Mon Mar 22 07:18:36 2004 @@ -21,9 +21,9 @@ .\" with groff; see the file COPYING. If not, write to the Free Software .\" Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. .\" -. -. -\# Version 1.1.5 +.\" +.\" +\# Version 1.1.8 \# ------------- \# .if (\n[.x]\n[.y] < 118) \ @@ -55,7 +55,7 @@ .ALIAS PAGELENGTH pl .ALIAS NEWPAGE bp .ALIAS SPREAD brp -.ALIAS STRING ds +.ALIAS ESC_CHAR ec \# \# ALIASES FOR NUMBER REGISTERS \# ---------------------------- @@ -73,7 +73,8 @@ \# \# MISCELLANEOUS \# ============= -.cflags 4 /\(en +.cflags 4 /\(en \" So slash and en-dashes get broken +.nr #L_MARGIN \n(.o \" Tabs, etc require #L_MARGIN \# \# ==================================================================== \# @@ -82,9 +83,9 @@ \# *Arguments: \# none \# *Function: -\# The .em macro executed at the end of letters. Turns footers and -\# pagination off, terminates and outputs diversion CLOSING, indented with -\# the author's name underneath. +\# The .em macro executed at the end of letters. Turns footers +\# and pagination off, terminates and outputs diversion CLOSING +\# (indented with the author's name underneath). \# .MAC ALL_DONE END . br @@ -105,7 +106,7 @@ . ALD \\n[#DOC_LEAD]u*3u . PRINT \\*[$AUTHOR_1] . \} -.DO_FOOTER +. DO_FOOTER .END \# \# @@ -119,7 +120,7 @@ \# PAGE WIDTH \# ---------- \# *Argument: -\# +\# \# *Function: \# Stores user supplied page width in register #PAGE_WIDTH. \# *Notes: @@ -137,7 +138,7 @@ \# L_MARGIN \# -------- \# *Argument: -\# +\# \# *Function: \# Stores user supplied page offset in register #L_MARGIN. \# Sets .po to user supplied offset. @@ -154,7 +155,7 @@ \# R_MARGIN \# -------- \# *Argument: -\# +\# \# *Function: \# Stores user supplied right margin in register #R_MARGIN. \# *Notes: @@ -178,7 +179,7 @@ \# T_MARGIN \# -------- \# *Argument: -\# +\# \# *Function: \# Stores the user supplied top margin in register #T_MARGIN. \# Advances user supplied depth from the top of the page. @@ -200,7 +201,7 @@ \# B_MARGIN \# -------- \# *Argument: -\# +\# \# *Function: \# Stores the user supplied bottom margin in register #B_MARGIN. \# *Notes: @@ -271,9 +272,9 @@ \# The trap is set in .PAGE. \# .MAC DO_B_MARGIN END -.ev 1 +. ev 1 . bp -.ev +. ev .END \# \# ===================================================================== @@ -287,7 +288,7 @@ \# LINE LENGTH \# ----------- \# *Argument: -\# +\# \# *Function: \# Stores user supplied line length in register #L_LENGTH. \# Sets .ll to #L_LENGTHu @@ -369,6 +370,22 @@ .END \# \# +\# SIZE (inline) +\# ------------- +\# *Arguments: +\# +\# *Function: +\# Sets point size to user supplied value in scaled points. +\# Intended to be called inline with \*[SIZE ] +\# *Notes: +\# Can be used with a unit of measure or not. +\# +.MAC SIZE END +\c +.ps \\$1 +.END +\# +\# \# LEADING \# ------- \# *Argument: @@ -409,9 +426,6 @@ \# multiplied by #AUTOLEAD_VALUE instead of the two being added \# together. \# -\# When AUTOLEAD is turned off, the leading reverts to the leading value -\# in effect prior to invoking AUTOLEAD. -\# .MAC AUTOLEAD END . if \\n[#PRINT_STYLE]=1 \{ .return \} . if \\n[#IGNORE] \{ .return \} @@ -442,7 +456,6 @@ .ds PREV \EfP .ds S \Es \# -\# \# ===================================================================== \# \# +++KERNING+++ @@ -460,8 +473,8 @@ . nr #KERN 1 . \} . el \{\ -. kern 0 -. nr #KERN 0 +. kern 0 +. nr #KERN 0 . \} .END \# @@ -478,18 +491,18 @@ \# of kerning between two letters as expressed in Us remains \# visually similar regardless of changes in point size. \# -\# N.B.--the amount of inline kerning supplied by \*[BU#] or -\# \*[FU#] is added to or subtracted from any kerning that already +\# N.B.--the amount of inline kerning supplied by \*[BU] or +\# \*[FU] is added to or subtracted from any kerning that already \# takes place between two characters when automatic kerning is \# turned on. \# \# In groff v. 1.17.2, it was not possible to pass arguments to macros that -\# were executed with inline escapes, nor thence to evaluate conditional -\# expressions. Consequently, each pseudo-escape \[BU#] had to be defined +\# were called with inline escapes, nor thence to evaluate conditional +\# expressions. Consequently, each pseudo-escape \[BU] had to be defined \# separately with ".char". \# \# As of v. 1.18, one can pass arguments to inline strings/macros, -\# hence it is now possible to do \*[BU #] where #, inline, is the desired +\# hence it is now possible to do \*[BU n] where n, inline, is the desired \# number of kern units. The original .char definitions have been left in \# for backward compatibility with documents created prior to mom-1.1.3c. \# @@ -498,88 +511,26 @@ .ds BU \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*\\$1u)' .ds FU \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*\\$1u)' \# -.ds BU1 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*1u)' -.ds BU2 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*2u)' -.ds BU3 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*3u)' -.ds BU4 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*4u)' -.ds BU5 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*5u)' -.ds BU6 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*6u)' -.ds BU7 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*7u)' -.ds BU8 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*8u)' -.ds BU9 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*9u)' -.ds BU10 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*10u)' -.ds BU11 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*11u)' -.ds BU12 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*12u)' -.ds BU13 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*13u)' -.ds BU14 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*14u)' -.ds BU15 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*15u)' -.ds BU16 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*16u)' -.ds BU17 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*17u)' -.ds BU18 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*18u)' -.ds BU19 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*19u)' -.ds BU20 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*20u)' -.ds BU21 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*21u)' -.ds BU22 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*22u)' -.ds BU23 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*23u)' -.ds BU24 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*24u)' -.ds BU25 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*25u)' -.ds BU26 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*26u)' -.ds BU27 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*27u)' -.ds BU28 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*28u)' -.ds BU29 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*29u)' -.ds BU30 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*30u)' -.ds BU31 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*31u)' -.ds BU32 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*32u)' -.ds BU33 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*33u)' -.ds BU34 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*34u)' -.ds BU35 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*35u)' -.ds BU36 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*36u)' -\# -\# -.ds FU1 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*1u)' -.ds FU2 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*2u)' -.ds FU3 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*3u)' -.ds FU4 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*4u)' -.ds FU5 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*5u)' -.ds FU6 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*6u)' -.ds FU7 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*7u)' -.ds FU8 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*8u)' -.ds FU9 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*9u)' -.ds FU10 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*10u)' -.ds FU11 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*11u)' -.ds FU12 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*12u)' -.ds FU13 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*13u)' -.ds FU14 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*14u)' -.ds FU15 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*15u)' -.ds FU16 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*16u)' -.ds FU17 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*17u)' -.ds FU18 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*18u)' -.ds FU19 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*19u)' -.ds FU20 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*20u)' -.ds FU21 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*21u)' -.ds FU22 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*22u)' -.ds FU23 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*23u)' -.ds FU24 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*24u)' -.ds FU25 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*25u)' -.ds FU26 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*26u)' -.ds FU27 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*27u)' -.ds FU28 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*28u)' -.ds FU29 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*29u)' -.ds FU30 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*30u)' -.ds FU31 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*31u)' -.ds FU32 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*32u)' -.ds FU33 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*33u)' -.ds FU34 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*34u)' -.ds FU35 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*35u)' -.ds FU36 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*36u)' +\# Initialize strings for pre-1.1.3c-style BU and FU +\# +.nr #LOOP 0 1 +.while \n+[#LOOP]<37 \{\ +. ds BU\n[#LOOP] \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*\n[#LOOP]u)' +.\} +\# +.nr #LOOP 0 1 +.while \n+[#LOOP]<37 \{\ +. ds FU\n[#LOOP] \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*\n[#LOOP]u)' +.\} +.rr #LOOP \# \# \# *Horizontal movements \# BP1...12.75 and FP1...12.75 move backwards or forwards inline by the \# specified number of points. -\# Left in for backward compatibility with mom-1.1.3c, the preferred -\# methods for inline horizontal movements are now \*[BCK #] and -\# \*[FWD #]. +\# Left in for backward compatibility with mom-1.1.3c, the +\# preferred methods for inline horizontal movements are now +\# \*[BCK ] and \*[FWD ]. \# .ds BCK \h'-\\$1\\$2' .ds FWD \h'\\$1\\$2' @@ -768,7 +719,7 @@ \# *Arguments: \# | | DEFAULT \# or -\# LINES <#> | MARGIN <#> | SPACE <#> +\# LINES | MARGIN | SPACE \# *Function: \# Turns auto hyphenation on or off, resets the hyphenation style \# to default, or permits the setting of various hyphenation @@ -783,9 +734,9 @@ \# above) if that behaviour is desired after changes have been \# made to LINES, MARGIN, or SPACE. \# -\# HY LINES <#> sets the number of allowable consecutive hyphenated lines. +\# HY LINES sets the number of allowable consecutive hyphenated lines. \# -\# HY MARGIN <#> sets the amount of space (ipPcm) allowed at the end +\# HY MARGIN sets the amount of space (ipPcm) allowed at the end \# of a line in QUAD mode before hyphenation is tripped (e.g. if there's \# only 6 points left, groff won't try to hyphenate the next word). \# @@ -852,7 +803,7 @@ \# Creates or modifies register #ALD. Adds user supplied lead \# below current baseline. \# *Notes: -\# Requires unit of measure ipPcmv. +\# Requires a unit of measure. \# .MAC ALD END . nr #ALD (\\$1) @@ -868,7 +819,7 @@ \# Creates or modifies register #RLD. Reverses user supplied \# lead above current baseline. \# *Notes: -\# Requires unit of measure ipPcmv. +\# Requires a unit of measure. \# .MAC RLD END . nr #RLD (\\$1) @@ -877,10 +828,11 @@ \# \# ALD/RLD STRINGS \# --------------- -\# The strings \*[ALD.25]...\*[ALD12.75] and their corresponding \*[RLD] -\# forms have been left in for backward compatibility with documents -\# created using mom-1.1.3c or earlier. The prefered methods of advancing -\# and reversing on the page inline are \*[UP #] and \*[DOWN #]. +\# The strings \*[ALD.25]...\*[ALD12.75] and their corresponding +\# \*[RLD] forms have been left in for backward compatibility with +\# documents created using mom-1.1.3c or earlier. The prefered +\# methods of advancing and reversing on the page inline are \*[UP ] +\# and \*[DOWN ]. \# .ds DOWN \v'\\$1\\$2' .ds UP \v'-\\$1\\$2' @@ -1003,7 +955,7 @@ \# Ligatures may be supplied manually with \(fi, \(fl, etc. \# .MAC LIGATURES END -. ie '\\$1'' \{\ +. ie '\\$1'' \{\ . lg . nr #LIGATURES 1 . \} @@ -1017,32 +969,101 @@ \# SMARTQUOTES \# ----------- \# *Arguments: -\# | +\# [ ,, ] | [ << ] | [ >> ] | +\# or +\# [ DA | DE | ES | FR | IT | NL | NO | PT | SV ] | \# *Function: -\# Turns smartquotes on or off. +\# Turns smartquotes on (optionally with a quoting style from the +\# argument list, or off). \# *Notes: \# The " character is read outside the macro when mom is -\# processed. The strings for open/close ($QUOTE#) are then -\# defined in the macro. \N'34' is the ASCII code for ". If -\# incompatibilities arise, find the code for " that applies -\# to your system and plug in that code instead. +\# processed. The strings for open/close ($QUOTE) are then +\# defined in the macro. +\# +\# (Note to myself: ascii code for " is \N'34'.) \# .char " \\*[$QUOTE\\n[#OPEN_CLOSE]]\R'#OPEN_CLOSE (1-\\n[#OPEN_CLOSE])' \# .MAC SMARTQUOTES END +. rr #ARGS_TO_SQ . ie '\\$1'' \{\ . nr #OPEN_CLOSE 0 -. ds $QUOTE0 `` -. ds $QUOTE1 '' -. nr #SMART_QUOTES 1 +. ds $QUOTE0 \\[lq] +. ds $QUOTE1 \\[rq] . \} . el \{\ -. ds $QUOTE0 \\N'34' -. ds $QUOTE1 \\N'34' -. nr #SMART_QUOTES 0 +. if '\\$1',,' \{\ +. nr #ARGS_TO_SQ 1 +. ds $QUOTE0 \\[Bq] +. ds $QUOTE1 \\[lq] +. \} +. if '\\$1'<<' \{\ +. nr #ARGS_TO_SQ 1 +. ds $QUOTE0 \\[Fo] +. ds $QUOTE1 \\[Fc] +. \} +. if '\\$1'>>' \{\ +. nr #ARGS_TO_SQ 1 +. ds $QUOTE0 \\[Fc] +. ds $QUOTE1 \\[Fo] +. \} +. if '\\$1'DA' \{\ +. nr #ARGS_TO_SQ 1 +. ds $QUOTE0 \\[Fc] +. ds $QUOTE1 \\[Fo] +. \} +. if '\\$1'DE' \{\ +. nr #ARGS_TO_SQ 1 +. ds $QUOTE0 \\[Bq] +. ds $QUOTE1 \\[lq] +. \} +. if '\\$1'ES' \{\ +. nr #ARGS_TO_SQ 1 +. ds $QUOTE0 \\[lq] +. ds $QUOTE1 \\[rq] +. \} +. if '\\$1'FR' \{\ +. nr #ARGS_TO_SQ 1 +. ds $QUOTE0 \\[Fo]\\| +. ds $QUOTE1 \\|\\[Fc] +. \} +. if '\\$1'IT' \{\ +. nr #ARGS_TO_SQ 1 +. ds $QUOTE0 \\[Fo]\\| +. ds $QUOTE1 \\|\\[Fc] +. \} +. if '\\$1'NL' \{\ +. nr #ARGS_TO_SQ 1 +. ds $QUOTE0 \\[rq] +. ds $QUOTE1 \\[rq] +. \} +. if '\\$1'NO' \{\ +. nr #ARGS_TO_SQ 1 +. ds $QUOTE0 \\[Fo] +. ds $QUOTE1 \\[Fc] +. \} +. if '\\$1'PT' \{\ +. nr #ARGS_TO_SQ 1 +. ds $QUOTE0 \\[Fo] +. ds $QUOTE1 \\[Fc] +. \} +. if '\\$1'SV' \{\ +. nr #ARGS_TO_SQ 1 +. ds $QUOTE0 \\[Fc] +. ds $QUOTE1 \\[Fc] +. \} +. if !r#ARGS_TO_SQ \{\ +. ds $QUOTE0 \\[dq] +. ds $QUOTE1 \\[dq] +. \} . \} .END \# +.ds $QUOTE0 \[dq] +.ds $QUOTE1 \[dq] +\# +\# Strings for foot and inch marks +\# .ds FOOT \(fm .ds INCH \(fm\(fm \# @@ -1079,9 +1100,9 @@ \# *Argument: \# \# *Function: -\# Turns fill on and sets .ad to b. +\# Turns fill on and sets .ad to b. \# *Notes: -\# Justifies text left and right. +\# Justifies text left and right. \# .MAC JUSTIFY END . if \\n[#TAB_ACTIVE]=0 \{\ @@ -1160,6 +1181,7 @@ . ce 0 . nf . nr #FILL 1 +. if '\\n(.z'LETTERHEAD1' \{ .rr #DATE_FIRST \} .END \# \# @@ -1215,23 +1237,23 @@ \# Typesetting tabs are set with TAB_SET, which requires a tab number, \# an indent (offset) from the left margin and a length (optionally \# with a quad direction and an instruction to fill lines). After tabs -\# are set with TS, they are called with .TAB <#>, where <#> +\# are set with TS, they are called with .TAB n, where "n" \# corresponds to the number passed to TAB_SET as a valid tab number. \# \# String tabs allow the user to mark off tab positions inline. Tab \# indents and lengths are calculated from the beginning and end \# positions of the marks. Up to 19 string tabs may be created, -\# numbered 1-19. Once created, they are called with .TAB <#>, +\# numbered 1-19. Once created, they are called with .TAB n, \# just like typesetting tabs. \# \# Setting up string tabs is a two-step procedure. First, the user \# enters an input line in which s/he wants to mark off string tabs. -\# The beginning of a tab is marked with \*[ST<#>], where <#> is +\# The beginning of a tab is marked with \*[STn], where "n" is \# the desired number of the tab. The end of the the tab is marked -\# with \*[ST<#>X]. All ST's must have a matching STX. String tabs +\# with \*[STnX]. All ST's must have a matching STX. String tabs \# may be nested. \# -\# Next, the user invokes .ST <#> for every string tab defined, and +\# Next, the user invokes .ST n for every string tab defined, and \# optionally passes quad information to it. That done, string tabs \# can be called just like typesetting tabs. \# @@ -1240,44 +1262,25 @@ \# Strings for string tab inlines \# ------------------------------ \# -.ds ST1 \Ek[#ST1_OFFSET] -.ds ST2 \Ek[#ST2_OFFSET] -.ds ST3 \Ek[#ST3_OFFSET] -.ds ST4 \Ek[#ST4_OFFSET] -.ds ST5 \Ek[#ST5_OFFSET] -.ds ST6 \Ek[#ST6_OFFSET] -.ds ST7 \Ek[#ST7_OFFSET] -.ds ST8 \Ek[#ST8_OFFSET] -.ds ST9 \Ek[#ST9_OFFSET] -.ds ST10 \Ek[#ST10_OFFSET] -.ds ST11 \Ek[#ST11_OFFSET] -.ds ST12 \Ek[#ST12_OFFSET] -.ds ST13 \Ek[#ST13_OFFSET] -.ds ST14 \Ek[#ST14_OFFSET] -.ds ST15 \Ek[#ST15_OFFSET] -.ds ST16 \Ek[#ST16_OFFSET] -.ds ST17 \Ek[#ST17_OFFSET] -.ds ST18 \Ek[#ST18_OFFSET] -.ds ST19 \Ek[#ST19_OFFSET] -.ds ST1X \Ek[#ST1_MARK] -.ds ST2X \Ek[#ST2_MARK] -.ds ST3X \Ek[#ST3_MARK] -.ds ST4X \Ek[#ST4_MARK] -.ds ST5X \Ek[#ST5_MARK] -.ds ST6X \Ek[#ST6_MARK] -.ds ST7X \Ek[#ST7_MARK] -.ds ST8X \Ek[#ST8_MARK] -.ds ST9X \Ek[#ST9_MARK] -.ds ST10X \Ek[#ST10_MARK] -.ds ST11X \Ek[#ST11_MARK] -.ds ST12X \Ek[#ST12_MARK] -.ds ST13X \Ek[#ST13_MARK] -.ds ST14X \Ek[#ST14_MARK] -.ds ST15X \Ek[#ST15_MARK] -.ds ST16X \Ek[#ST16_MARK] -.ds ST17X \Ek[#ST17_MARK] -.ds ST18X \Ek[#ST18_MARK] -.ds ST19X \Ek[#ST19_MARK] +\# Initialize string tab markers numbered 1 to 19. +\# +.nr #LOOP 0 1 +.while \n+[#LOOP]<20 \{\ +. ds ST\n[#LOOP] \Ek[#ST\n[#LOOP]_OFFSET] +.\} +\# +.nr #LOOP 0 1 +.while \n+[#LOOP]<20 \{\ +. ds ST\n[#LOOP]X \Ek[#ST\n[#LOOP]_MARK] +.\} +.rr #LOOP +\# +\# +\# These are reserved ST numbers for internal use +.ds ST100 \Ek[#ST100_OFFSET] +.ds ST100X \Ek[#ST100_MARK] +.ds ST101 \Ek[#ST101_OFFSET] +.ds ST101X \Ek[#ST101_MARK] \# \# \# QUAD AND SET STRING TABS @@ -1311,13 +1314,13 @@ \# TAB SET \# ------- \# *Arguments: -\# <#> ident(ipPcm) length(ipPcm) [L | R | C | J [QUAD]] +\# ident(ipPcm) length(ipPcm) [L | R | C | J [QUAD]] \# *Function: -\# Creates macros TAB<#> and TAB <#>, where # is any arbitrary number. -\# TAB# is a typesetting tab (i.e. a tab defined as an indent +\# Creates macros TABn and TAB n, where "n" is any arbitrary number. +\# TABn is a typesetting tab (i.e. a tab defined as an indent \# from the page left offset plus a line length.) \# *Notes: -\# <#> = arbitrary digit to identify the tab +\# n = arbitrary digit to identify the tab \# indent = indent from left margin; unit of measure required \# length = length of tab (unit of measure required; can be \# \w''u--if more than one word in string, surround @@ -1343,7 +1346,7 @@ \# means exactly the same thing, except that input lines are joined and \# the area delimted by the tab filled with centered text. \# -\# TAB <#> can be called at any time after being set. +\# TAB n can be called at any time after being set. \# \# Tabs are NOT columnar in behaviour. If the text inside a \# tab runs to several lines, when you call the next tab a break @@ -1353,12 +1356,12 @@ \# \# If you want tabs to line up bottom-line to bottom-line (most likely \# single line tabs), use .TN (provided the tabs are numbered sequentially). -\# Otherwise, you must use .EL then .TAB # if you want them to align. +\# Otherwise, you must use .EL then .TAB if you want them to align. \# \# If you want to reset tabs, you must use .TQ before .TAB_SET. \# \# Note that indents are turned off automatically whenever a new -\# tab is called with TAB #. +\# tab is called with TAB . \# \# Tabs themselves are user-invoked using the TAB macro with a numeric \# argument, e.g. TAB 1. @@ -1377,9 +1380,10 @@ . in 0 . nr #TAB_ACTIVE 1 . nr #CURRENT_TAB \\n[#TAB_NUMBER] -. po \\n[#L_MARGIN]u+\\n[#TAB_OFFSET]u -. nr #ST_OFFSET \\n[#TAB_OFFSET] +. ds $CURRENT_TAB \\*[$CURRENT_TAB] . nr #TAB_OFFSET\\*[$CURRENT_TAB] \\n[#TAB_OFFSET] +. nr #ST_OFFSET \\n[#TAB_OFFSET] +. po \\\\n[#L_MARGIN]u+\\\\n[#TAB_OFFSET\\\\*[$CURRENT_TAB]]u . ll \\n[#TAB_LENGTH]u . ta \En(.lu . ie '\\$5'QUAD' \{\ @@ -1411,7 +1415,6 @@ . ds $TAB_NUMBER \\$1 . TAB\\*[$TAB_NUMBER] . nr #IN_TAB 1 -. po \\n[#L_MARGIN]u+\\n[#TAB_OFFSET\\*[$TAB_NUMBER]]u .END \# \# @@ -1420,17 +1423,17 @@ \# *Argument: \# \# *Function: -\# Automagically moves to TAB#+1 on the same line as the last +\# Automagically moves to TAB on the same line as the last \# line of the previous tab. \# *Notes: \# If the tabs being aligned fall too close to the footer -\# trap, the line entered after .TN will appear on the next page. +\# trap, the line entered after .TN will appear on the next page, +\# unless TRAP...TRAP OFF is used. \# .MAC TN END -. br +. EL . nr #NEXT_TAB \\n[#CURRENT_TAB]+1 . TAB\\n[#NEXT_TAB] -. sp -1v .END \# \# @@ -1470,6 +1473,85 @@ . \} .END \# +\# ==================================================================== +\# +\# COLOR HANDLING +\# ============== +\# +\# COLOR +\# ----- +\# *Arguments: +\# +\# *Function: +\# Allows the inline escape for setting color to be called +\# as a macro. +\# +.MAC COLOR END +.ie \\n(.u=1 \{\ +\c +\\*[\\$1]\c +. \} +.el \{ \\*[\\$1] \} +.END +\# +\# +\# NEWCOLOR +\# -------- +\# *Arguments: +\# [] +\# *Function: +\# Based on .defcolor, allows users to name and define colors using +\# one of the four color schemes rgb, cmy, cmyk and grey. The new +\# color is then defined as a string so that it can be called inline +\# with \*[COLORNAME] or with .COLOR. +\# *Notes: +\# With only two args, the default color scheme is rgb. +\# +\# It is highly recommended that users define new colors as +\# all-cap strings, to differentiate them from x colors, which must +\# be in lower case. +\# +.MAC NEWCOLOR END +. if \\n[#NUM_ARGS]=2 \{\ +. defcolor \\$1 rgb \\$2 +. \} +. if \\n[#NUM_ARGS]=3 \{\ +. if '\\$2'RGB' .ds $COLOR_SCHEME rgb +. if '\\$2'CYM' .ds $COLOR_SCHEME cym +. if '\\$2'CMYK' .ds $COLOR_SCHEME cmyk +. if '\\$2'GRAY' .ds $COLOR_SCHEME gray +. if '\\$2'GREY' .ds $COLOR_SCHEME gray +. defcolor \\$1 \\*[$COLOR_SCHEME] \\$3 +. \} +. ds \\$1 \\m[\\$1] +.END +\# +\# +\# XCOLOR +\# ------ +\# *Arguments: +\# [] +\# *Function: +\# Defines a string of x color name (i.e. a predefined x +\# color). If is given, creates a string of +\# that references the x color name of the first argument. +\# *Notes: +\# The color name must be a legal color name from rgb.txt, and +\# must be given entirely in lower case, all one word. +\# +.MAC XCOLOR END +. ds \\$1 \m[\\$1] +. if \\n[#NUM_ARGS]=2 .ds \\$2 \m[\\$1] +.END +\# +\# +\# Pre-define xcolors black and white +\# +.ds black \m[black] +.ds BLACK \m[black] +.ds white \m[white] +.ds WHITE \m[WHITE] +\# \# ===================================================================== \# \# +++MISCELLANEOUS USEFUL MACROS AND STRINGS+++ @@ -2047,11 +2129,12 @@ \# *Argments: \# "" \# *Function: -\# Defines and redefines padding character (default=pound sign unless -\# padding character has been set with PAD_MARKER) several times -\# so that when the string is output at the end of the macro, every # -\# has been converted to an equal-sized amount of padding (blank space) -\# on a line. # is equivalent to CompuGraphic's old . +\# Defines and redefines padding character (default=pound sign +\# unless padding character has been set with PAD_MARKER) +\# several times so that when the string is output at the end +\# of the macro, every # has been converted to an equal-sized +\# amount of padding (blank space) on a line. # is equivalent to +\# CompuGraphic's old . \# *Notes: \# String tabs may be marked off during PAD. \# @@ -2152,6 +2235,23 @@ .END \# \# +\# DROPCAP COLOR +\# ------------- +\# *Arguments: +\# +\# *Function: +\# Defines string $DC_COLOR to argument. +\# *Notes: +\# User must define an XCOLOR or NEWCOLOR before using +\# DC_COLOR. +\# +.MAC DROPCAP_COLOR END +. if \\n[#PRINT_STYLE]=1 \{ .return \} +. nr #DC_COLOR 1 +. ds $DC_COLOR \\$1 +.END +\# +\# \# DROP CAP GUTTER \# --------------- \# *Argument: @@ -2222,7 +2322,6 @@ . ds $DROPCAP \\$1 . nr #DC_LINES \\$2-1 . ds $RESTORE_COND \\*[$COND_PERCENT] -. ds $RESTORE_EXT \\*[$EXT_PERCENT] . if '\\$3'COND' \{ .CONDENSE \\$4 \} . if '\\$3'EXT' \{ .EXTEND \\$4 \} . if !r#DC_GUT \{ .nr #DC_GUT (3p) \} @@ -2244,8 +2343,20 @@ . if d$DC_ADJUST \{ .ps \\*[$DC_ADJUST]p \} . mk x . sp \\n[#DC_LINES]v -. ie '\\$3'COND' \{ .PRINT \\*[COND]\\*[$DROPCAP]\\*[CONDX] \} -. el \{ .PRINT \\*[$DROPCAP] \} +. ie \\n[#DC_COLOR]=1 \{\ +. ie !'\\$3'' \{\ +. ie '\\$3'COND' \{ .PRINT \m[\\*[$DC_COLOR]]\\*[COND]\\*[$DROPCAP]\\*[CONDX]\m[] \} +. el \{ .PRINT \m[\\*[$DC_COLOR]]\\*[EXT]\\*[$DROPCAP]\\*[EXTX]\m[] \} +. \} +. el \{ .PRINT \m[\\*[$DC_COLOR]]\\*[$DROPCAP]\m[] \} +. \} +. el \{\ +. ie !'\\$3'' \{\ +. ie '\\$3'COND' \{ .PRINT \\*[COND]\\*[$DROPCAP]\\*[CONDX] \} +. el \{ .PRINT \\*[EXT]\\*[$DROPCAP]\\*[EXTX] \} +. \} +. el \{ .PRINT \m[\\*[$DC_COLOR]]\\*[$DROPCAP]\m[] \} +. \} . if '\\$3'COND' \{ \E*[COND] \} . if '\\$3'EXT' \{ \E*[EXT] \} . ie \\n(.i \{ .in +\w'\\*[$DROPCAP]'u+\\n[#DC_GUT]u \} @@ -2287,7 +2398,9 @@ \# *Notes: \# .MAC RULE END -. if \\n(.j=1 \{\ +\c +. EL +. if \\n(.u=1 \{\ . ds $CURRENT_QUAD \\*[$QUAD_VALUE] . nf . \} @@ -2297,7 +2410,7 @@ . if \\n[#INDENT_LEFT_ACTIVE] \{ .ll \\n(.lu-\\n[#L_INDENT]u \} . PRINT \El'\En(.lu' . ll \\n[#RESTORE_L_LENGTH]u -. rr #RESTORE_L_LENGTH]u +. rr #RESTORE_L_LENGTH . \} . el \{\ . PRINT \El'\En(.lu' @@ -2383,11 +2496,12 @@ \# .IR means "indent right," and so on. \# \# The first time any of the indent macros is used, it requires an -\# argument--the size of the indent in ipPcm. The size may also -\# be entered using the \w'#' function--very useful for numbered -\# lists using HI). The unit of measure is required. Subsequent -\# invocations don't require the argument; the indent measure remains the -\# same until it's changed by invoking the macro with an argument again. +\# argument--the size of the indent (with a unit of measure). The +\# size may also be entered using the \w escape--very useful +\# for numbered lists using HI. The unit of measure is required. +\# Subsequent invocations don't require the argument; the indent +\# measure remains the same until it's changed by invoking the macro +\# with an argument again. \# \# If no indents are in effect, the arguments passed to indent macros are \# measured from the left and right margins of the page. If a left indent @@ -2397,7 +2511,7 @@ \# to it, its value will be the value last in effect, unless you pass \# it an argument. If you do pass an argument, it is added to the last \# value in effect, unless you cleared the indent with one of -\# .IX macros. +\# .IX/Q macros. \# \# Example \# ------- @@ -2452,9 +2566,9 @@ \# change the value, simply pass a new value. Values for TI and HI \# are *not* additive. \# -\# HI presupposes that you already have a left or both indent -\# on. HI will never hang a line outside the left margin of a -\# document. In other words, you must have IL or IB on before you +\# HI presupposes that you already have a left or both indent on. +\# HI will never hang a line outside the left margin of a document +\# or column. In other words, you must have IL or IB on before you \# can use HI. \# \# INDENT LEFT @@ -2591,7 +2705,7 @@ . if '\\$1'CLEAR' \{\ . rr #L_INDENT . rr #INDENT_STYLE_LEFT -. \} +. \} .END \# \# @@ -2609,7 +2723,7 @@ . ta \\n(.lu . \} . \} -. if '\\$1'CLEAR' \{\ +. if '\\$1'CLEAR' \{\ . rr #R_INDENT . rr #INDENT_STYLE_RIGHT . \} @@ -2699,7 +2813,7 @@ . ie \\n[#COLUMNS] \{\ . ll \\n[#COL_L_LENGTH]u . ta \\n(.lu -. \} +. \} . el \{\ . ll \\n[#L_LENGTH]u . ta \\n(.lu @@ -2783,11 +2897,11 @@ \# *Function: \# Enables/disables traps. \# *Notes: -\# EL and TN don't function as advertised on the last line before a -\# trap (when they break the preceding line, they spring the trap, and -\# groff won't back up to the line preceding the trap). TRAP is a kludge -\# to get EL and TN work properly on last lines. The user simply enloses -\# the offending lines in TRAP OFF/TRAP. +\# EL and TN don't function as advertised on the last line before +\# a trap (when they break the preceding line, they spring the +\# trap, and groff won't back up to the line preceding the trap). +\# TRAP is a kludge to get EL and TN work properly on last lines. +\# The user simply enloses the offending lines in TRAP OFF/TRAP. \# .MAC TRAP END . ie '\\$1'' \{ .vpt 1 \} @@ -2800,7 +2914,7 @@ \# *Arguments: \# | \# *Function: -\# Diverts text so that it doesn't print, or turns to function off. +\# Diverts text so that it doesn't print, or turns the function off. \# *Notes: \# Useful for setting up autotabs where you don't want the line with \# the tab marks to print. @@ -2820,6 +2934,7 @@ . \} .END \# +\# \# PRINT \# ----- \# *Arguments: @@ -2936,6 +3051,7 @@ \# +++TYPESETTING ALIASES+++ \# .ALIAS CENTRE CENTER +.ALIAS COLOUR COLOR .ALIAS COMMENT SILENT .ALIAS CONDENSE CONDENSE_OR_EXTEND .ALIAS EXTEND CONDENSE_OR_EXTEND @@ -2943,15 +3059,17 @@ .ALIAS HYPHENATE HY .ALIAS HYPHENATION HY .ALIAS HYSET HY_SET -.ALIAS LIG LIGATURES .ALIAS IBQ IBX .ALIAS ILQ ILX .ALIAS IQ IX .ALIAS IRQ IRX +.ALIAS LIG LIGATURES +.ALIAS NEWCOLOUR NEWCOLOR .ALIAS PADMARKER PAD_MARKER .ALIAS TABSET TAB_SET .ALIAS TB TAB .ALIAS UNDERSCORE_2 UNDERSCORE2 +.ALIAS XCOLOUR XCOLOUR \# \# \# ==================================================================== @@ -3053,6 +3171,7 @@ . fam C . ft R . ps 12 +. color 0 . ie '\\$2'SINGLESPACE' \{\ . nr #SINGLE_SPACE 1 . vs 12 @@ -3078,6 +3197,7 @@ . UNDERLINE_ITALIC . UNDERLINE_QUOTES . nr #IGNORE_COLUMNS 1 +. char \(em -- . \} . if '\\$1'TYPESET' \{\ . nr #PRINT_STYLE 2 @@ -3224,7 +3344,7 @@ . ds $COPY_STYLE \\$1 . if '\\*[$COPY_STYLE]'DRAFT' \{\ . nr #COPY_STYLE 1 -. if !r#DRAFT \{ .DRAFT 1 \} +. if !d$DRAFT \{ .DRAFT 1 \} . \} . if '\\*[$COPY_STYLE]'FINAL' \{ .nr #COPY_STYLE 2 \} . if !d$CHAPTER_STRING \{ .CHAPTER_STRING "Chapter" \} @@ -3240,14 +3360,14 @@ . ds $HDRFTR_CENTER . \} . el \{\ -. ie !\\n[#REVISION] \{\ +. ie '\\*[$REVISION]'' \{\ . ds $HDRFTR_CENTER \ - \\*[$DRAFT_STRING] \\n[#DRAFT] + \\*[$DRAFT_STRING]\\*[$DRAFT] . \} . el \{\ . ds $HDRFTR_CENTER \ - \\*[$DRAFT_STRING] \\n[#DRAFT], \ - \\*[$REVISION_STRING] \\n[#REVISION] + \\*[$DRAFT_STRING]\\*[$DRAFT], \ + \\*[$REVISION_STRING] \\*[$REVISION] . \} . \} . \} @@ -3255,7 +3375,10 @@ . el \{\ . ie \\n[#PAGENUM_STYLE_SET] \{ .PAGENUM_STYLE \\*[$PAGENUM_STYLE] \} . el \{ .PAGENUM_STYLE DIGIT \} -. if \\n[#USER_DEF_HDRFTR_CENTER]=0 \{ .ds $HDRFTR_CENTER \} +. if \\n[#USER_DEF_HDRFTR_CENTER]=0 \{\ +. ds $HDRFTR_CENTER +. rr #USER_DEF_HDRFTR_CENTER +. \} . \} . \} \# Chapter @@ -3274,65 +3397,115 @@ . \} . el \{\ . ie !'\\*[$CHAPTER_TITLE]'' \{\ -. ds \\*[$CHAPTER_TITLE] +. ds $HDRFTR_CENTER \\*[$CHAPTER_TITLE] . \} . el \{ .ds $HDRFTR_CENTER \\*[$CHAPTER_STRING] \\*[$CHAPTER] \} . \} . \} . el \{\ -. ie !\\n[#REVISION] \{\ +. ie '\\*[$REVISION]'' \{\ . ie '\\*[$CHAPTER]'' \{\ . ie !'\\*[$CHAPTER_TITLE]'' \{\ -. ds $HDRFTR_CENTER \ - \\*[$CHAPTER_TITLE], \ - \\*[$DRAFT_STRING] \\n[#DRAFT] +. ie '\\*[$DRAFT]'' \{\ +. ds $HDRFTR_CENTER \\*[$CHAPTER_TITLE] +. \} +. el \{\ +. ds $HDRFTR_CENTER \ + \\*[$CHAPTER_TITLE], \ + \\*[$DRAFT_STRING]\\*[$DRAFT] +. \} . \} . el \{\ -. ds $HDRFTR_CENTER \ - \\*[$CHAPTER_STRING], \ - \\*[$DRAFT_STRING] \\n[#DRAFT] +. ie '\\*[$DRAFT]'' \{\ +. ds $HDRFTR_CENTER \ + \\*[$CHAPTER_STRING] +. \} +. el \{\ +. ds $HDRFTR_CENTER \ + \\*[$CHAPTER_STRING], \ + \\*[$DRAFT_STRING]\\*[$DRAFT] +. \} . \} . \} . el \{\ . ie !'\\*[$CHAPTER_TITLE]'' \{\ -. ds $HDRFTR_CENTER \ - \\*[$CHAPTER_TITLE], \ - \\*[$DRAFT_STRING] \\n[#DRAFT] +. ie '\\*[$DRAFT]'' \{\ +. ds $HDRFTR_CENTER \\*[$CHAPTER_TITLE] +. \} +. el \{\ +. ds $HDRFTR_CENTER \ + \\*[$CHAPTER_TITLE], \ + \\*[$DRAFT_STRING]\\*[$DRAFT] +. \} . \} . el \{\ -. ds $HDRFTR_CENTER \ - \\*[$CHAPTER_STRING] \\*[$CHAPTER], \ - \\*[$DRAFT_STRING] \\n[#DRAFT] +. ie '\\*[$DRAFT]'' \{\ +. ds $HDRFTR_CENTER \ + \\*[$CHAPTER_STRING] \\*[$CHAPTER] +. \} +. el \{\ +. ds $HDRFTR_CENTER \ + \\*[$CHAPTER_STRING] \\*[$CHAPTER], \ + \\*[$DRAFT_STRING]\\*[$DRAFT] +. \} . \} . \} . \} . el \{\ . ie '\\*[$CHAPTER]'' \{\ . ie !'\\*[$CHAPTER_TITLE]'' \{\ -. ds $HDRFTR_CENTER \ - \\*[$CHAPTER_TITLE], \ - \\*[$DRAFT_STRING] \\n[#DRAFT], \ - \\*[$REVISION_STRING] \\n[#REVISION] +. ie '\\*[$DRAFT]'' \{\ +. ds $HDRFTR_CENTER \ + \\*[$CHAPTER_TITLE], \ + \\*[$REVISION_STRING] \\*[$REVISION] +. \} +. el \{\ +. ds $HDRFTR_CENTER \ + \\*[$CHAPTER_TITLE], \ + \\*[$DRAFT_STRING]\\*[$DRAFT], \ + \\*[$REVISION_STRING] \\*[$REVISION] +. \} . \} . el \{\ -. ds $HDRFTR_CENTER \ - \\*[$CHAPTER_STRING], \ - \\*[$DRAFT_STRING] \\n[#DRAFT], \ - \\*[$REVISION_STRING] \\n[#REVISION] +. ie '\\*[$DRAFT]'' \{\ +. ds $HDRFTR_CENTER \ + \\*[$CHAPTER_STRING], \ + \\*[$REVISION_STRING] \\*[$REVISION] +. \} +. el \{\ +. ds $HDRFTR_CENTER \ + \\*[$CHAPTER_STRING], \ + \\*[$DRAFT_STRING]\\*[$DRAFT], \ + \\*[$REVISION_STRING] \\*[$REVISION] +. \} . \} . \} . el \{\ . ie !'\\*[$CHAPTER_TITLE]'' \{\ -. ds $HDRFTR_CENTER \ - \\*[$CHAPTER_TITLE], \ - \\*[$DRAFT_STRING] \\n[#DRAFT], \ - \\*[$REVISION_STRING] \\n[#REVISION] +. ie '\\*[$DRAFT]'' \{\ +. ds $HDRFTR_CENTER \ + \\*[$CHAPTER_TITLE], \ + \\*[$REVISION_STRING] \\*[$REVISION] +. \} +. el \{\ +. ds $HDRFTR_CENTER \ + \\*[$CHAPTER_TITLE], \ + \\*[$DRAFT_STRING]\\*[$DRAFT], \ + \\*[$REVISION_STRING] \\*[$REVISION] +. \} . \} . el \{\ -. ds $HDRFTR_CENTER \ - \\*[$CHAPTER_STRING] \\*[$CHAPTER], \ - \\*[$DRAFT_STRING] \\n[#DRAFT], \ - \\*[$REVISION_STRING] \\n[#REVISION] +. ie '\\*[$DRAFT]'' \{\ +. ds $HDRFTR_CENTER \ + \\*[$CHAPTER_STRING] \\*[$CHAPTER], \ + \\*[$REVISION_STRING] \\*[$REVISION] +. \} +. el \{\ +. ds $HDRFTR_CENTER \ + \\*[$CHAPTER_STRING] \\*[$CHAPTER], \ + \\*[$DRAFT_STRING]\\*[$DRAFT], \ + \\*[$REVISION_STRING] \\*[$REVISION] +. \} . \} . \} . \} @@ -3373,16 +3546,28 @@ . \} . el \{\ . if \\n[#USER_DEF_HDRFTR_CENTER]=0 \{\ -. ie !\\n[#REVISION] \{\ -. ds $HDRFTR_CENTER \ - \\*[$DOC_TYPE], \ - \\*[$DRAFT_STRING] \\n[#DRAFT] +. ie '\\*[$REVISION]'' \{\ +. ie '\\*[$DRAFT]'' \{\ +. ds $HDRFTR_CENTER \\*[$DOC_TYPE] +. \} +. el \{\ +. ds $HDRFTR_CENTER \ + \\*[$DOC_TYPE], \ + \\*[$DRAFT_STRING]\\*[$DRAFT] +. \} . \} . el \{\ -. ds $HDRFTR_CENTER \ - \\*[$DOC_TYPE], \ - \\*[$DRAFT_STRING] \\n[#DRAFT], \ - \\*[$REVISION_STRING] \\n[#REVISION] +. ie '\\*[$DRAFT]'' \{\ +. ds $HDRFTR_CENTER \ + \\*[$DOC_TYPE], \ + \\*[$REVISION_STRING] \\*[$REVISION] +. \} +. el \{\ +. ds $HDRFTR_CENTER \ + \\*[$DOC_TYPE], \ + \\*[$DRAFT_STRING]\\*[$DRAFT], \ + \\*[$REVISION_STRING] \\*[$REVISION] +. \} . \} . \} . \} @@ -3406,6 +3591,11 @@ \# *Function: \# Collect information about documents. \# +\# +.MAC DOC_TITLE END +. ds $DOC_TITLE \\$1 +.END +\# .MAC TITLE END \"Document title . ds $TITLE \\$1 .END @@ -3427,12 +3617,13 @@ \# \# .MAC DRAFT END \"Draft number -. nr #DRAFT \\$1 +. ie '\\$1'' \{ .ds $DRAFT \} +. el \{ .ds $DRAFT " \\$1\} .END \# \# .MAC REVISION END \"Revision number -. nr #REVISION \\$1 +. ds $REVISION \\$1 .END \# \# @@ -3501,7 +3692,7 @@ . FOOTER_LEFT "" . FOOTER_CENTER "" . FOOTER_RIGHT_SIZE +0 -. FOOTER_RIGHT ".../\E*[$SUITE] +. FOOTER_RIGHT "\&.../\E*[$SUITE] . FOOTER_ON_FIRST_PAGE . em ALL_DONE . \} @@ -3509,17 +3700,29 @@ \# \# +++LETTER MACROS+++ \# +\# First, create a register to hold incrementing numbers to be +\# appended to LETTERHEAD. +\# +.nr #FIELD 0 1 +\# \# DATE \# ---- \# *Arguments: -\# +\# \# *Function: -\# Stores date string in string $DATE. +\# Stores date (entered on the line after .DATE) in diversion +\# LETTERHEAD \# .MAC DATE END -. nr #DATE 1 -. di DATE -. RIGHT +. if !'\\n(.z'' \{ .di \} +. di LETTERHEAD\\n+[#FIELD] +. ie \\n[#FIELD]=1 \{\ +. nr #DATE_FIRST 1 +. RIGHT +. \} +. el \{\ +. LEFT +. \} .END \# \# @@ -3528,12 +3731,12 @@ \# *Arguments: \# \# *Function: -\# Stores "to" info in diversion TO_ADDRESS. +\# Stores addressee address (entered on the line after .TO) in +\# diversion LETTERHEAD \# .MAC TO END . if !'\\n(.z'' \{ .di \} -. nr #TO 1 -. di TO_ADDRESS +. di LETTERHEAD\\n+[#FIELD] . LEFT .END \# @@ -3543,12 +3746,12 @@ \# *Arguments: \# \# *Function: -\# Stores "from" info in diversion FROM_ADDRESS. +\# Stores addresser address (entered on the line after .FROM) in +\# diversion LETTERHEAD \# .MAC FROM END . if !'\\n(.z'' \{ .di \} -. nr #FROM 1 -. di FROM_ADDRESS +. di LETTERHEAD\\n+[#FIELD] . LEFT .END \# @@ -3556,14 +3759,14 @@ \# GREETING \# -------- \# *Arguments: -\# +\# \# *Function: -\# Stores greeting in string $GREETING. +\# Stores greeting (entered on the line after .GREETING) in +\# diversion LETTERHEAD \# .MAC GREETING END . if !'\\n(.z'' \{ .di \} -. nr #GREETING 1 -. di GREETING +. di LETTERHEAD\\n+[#FIELD] . LEFT .END \# @@ -3573,7 +3776,7 @@ \# *Arguments: \# \# *Function: -\# Stores greeting in string $CLOSING. +\# Stores greeting in diversion CLOSING. \# .MAC CLOSING END . br @@ -3588,7 +3791,7 @@ \# *Arguments: \# \# *Function: -\# Redefines $SUITE to blank so that a suite number doesn't +\# Redefines $FOOTER_RIGHT to blank so that a suite number doesn't \# appear at the bottom of letter pages. \# .MAC NO_SUITE END @@ -3612,7 +3815,10 @@ .MAC DEFAULTS END . if !d$PAPER \{ .PAPER LETTER \} . if !\\n[#DOC_TYPE] \{ .DOCTYPE DEFAULT \} -. if \\n[#PAGENUM_STYLE_SET] \{ .PAGENUM_STYLE \\*[$PAGENUM_STYLE] \} +. ie \\n[#PAGENUM_STYLE_SET] \{ .PAGENUM_STYLE \\*[$PAGENUM_STYLE] \} +. el \{\ +. if !\\n[#COPY_STYLE]=1 \{ .PAGENUM_STYLE DIGIT \} +. \} . if !\\n[#COPY_STYLE] \{ .COPYSTYLE FINAL \} . if \\n[#DRAFT_WITH_PAGENUM] \{ .COPYSTYLE \\*[$COPY_STYLE] \} . if \\n[#DOC_TYPE]=4 \{\ @@ -3650,12 +3856,19 @@ . if !r#FOOTER_MARGIN \{ .FOOTER_MARGIN 3P \} . if !r#FOOTER_GAP \{ .FOOTER_GAP 3P \} . if !r#B_MARGIN \{ .B_MARGIN \\n[#FOOTER_MARGIN]u+\\n[#FOOTER_GAP]u \} +. if (\\n[#FOOTER_MARGIN]+\\n(.v)>\\n[#B_MARGIN] \{\ +. tm1 "[mom]: Your chosen bottom margin for running text is too close to the footer margin. +. tm1 " No footers or bottom-of-page page numbers will be printed. +. tm1 " Please reset B_MARGIN or FOOTER_MARGIN to allow enough space. +. tm1 " If no footers or bottom-of-page page numbers are required, +. tm1 " place .FOOTER_MARGIN 0 before .START +. \} . if !r#HDRFTR_RULE_GAP \{\ . if \\n[#HEADERS_ON] \{ .HDRFTR_RULE_GAP 4p \} . if \\n[#FOOTERS_ON] \{ .HDRFTR_RULE_GAP 4p \} . \} -. if !r#HDRFTR_RULE \{ .HDRFTR_RULE \} -. if !r#PAGE_NUM_SET \{ .PAGENUMBER 1 \} +. if !r#HDRFTR_RULE \{ .HDRFTR_RULE \} +. if !r#PAGE_NUM_SET \{ .PAGENUMBER 1 \} . ie r#ADJ_DOC_LEAD \{ . \} . el \{ .DOC_LEAD_ADJUST \} \# Read in number registers and strings for type parameters @@ -3703,13 +3916,15 @@ . if !r#FN_RULE \{ .FOOTNOTE_RULE \} . if !r#FN_MARKERS \{ .FOOTNOTE_MARKERS \} . if !r#FN_MARKER_STYLE \{ .FOOTNOTE_MARKER_STYLE STAR \} +. if !d$EN_PN_STYLE \{ .ENDNOTES_PAGENUM_STYLE digit \} . if !d$EN_FAM \{ .ENDNOTE_FAMILY \\*[$DOC_FAM] \} . if !d$EN_FN \{ .ENDNOTE_FONT R \} . if !d$EN_QUAD \{ .ENDNOTE_QUAD \\*[$DOC_QUAD] \} -. if !d$EN_STRING \{ .ENDNOTE_STRING "ENDNOTES" \} -. if !d$EN_STRING_FAM \{ .ENDNOTE_STRING_FAMILY \\*[$DOC_FAM] \} +. if !d$EN_STRING \{ .ENDNOTE_STRING "Endnotes" \} +. if !d$EN_STRING_FAM \{ .ENDNOTE_STRING_FAMILY \\*[$EN_FAM] \} . if !d$EN_STRING_QUAD \{ .ENDNOTE_STRING_QUAD CENTER \} . if !r#EN_STRING_UNDERSCORE \{ .ENDNOTE_STRING_UNDERSCORE 2 \} +. if !r#EN_STRING_CAPS \{ .ENDNOTE_STRING_CAPS \} . if !d$EN_TITLE \{\ . ie \\n[#DOC_TYPE]=2 \{\ . ie '\\*[$CHAPTER]'' \{ .ENDNOTE_TITLE "\\*[$CHAPTER_STRING]" \} @@ -3717,20 +3932,47 @@ . \} . el \{ .ENDNOTE_TITLE "\\*[$TITLE]" \} . \} -. if !d$EN_TITLE_FAM \{ .ENDNOTE_TITLE_FAM \\*[$DOC_FAM] \} -. if !d$EN_TITLE_QUAD \{ .ENDNOTE_TITLE_QUAD LEFT \} -. if !r#EN_TITLE_UNDERSCORE \{ .ENDNOTE_TITLE_UNDERSCORE \} -. if !d$EN_NUMBER_FAM \{ .ENDNOTE_NUMBER_FAMILY \\*[$DOC_FAM] \} -. if !r#EN_NUMBERS_ALIGN_LEFT \{\ -. if !r#EN_NUMBERS_ALIGN_RIGHT \{ .ENDNOTE_NUMBERS_ALIGN_RIGHT 2 \} -. \} +. if !d$EN_TITLE_FAM \{ .ENDNOTE_TITLE_FAMILY \\*[$EN_FAM] \} +. if !d$EN_TITLE_QUAD \{ .ENDNOTE_TITLE_QUAD LEFT \} +. if !r#EN_TITLE_UNDERSCORE \{ .ENDNOTE_TITLE_UNDERSCORE \} +. if !d$EN_NUMBER_FAM \{ .ENDNOTE_NUMBER_FAMILY \\*[$EN_FAM] \} +. if !r#EN_NUMBERS_ALIGN_LEFT \{\ +. if !r#EN_NUMBERS_ALIGN_RIGHT \{ .ENDNOTE_NUMBERS_ALIGN_RIGHT 2 \} +. \} +. if !d$TOC_HEADER_STRING \{ .TOC_HEADER_STRING "Contents" \} +. if !d$TOC_HEADER_QUAD \{ .TOC_HEADER_QUAD LEFT \} +. if !d$TOC_PN_STYLE \{ .TOC_PAGENUM_STYLE roman \} +. if !r#TOC_PN_PADDING \{ .TOC_PADDING 3 \} +. if !r#TOC_TITLE_INDENT \{ .TOC_TITLE_INDENT 0 \} +. if !r#TOC_HEAD_INDENT \{ .TOC_HEAD_INDENT 18p \} +. if !r#TOC_SH_INDENT \{ .TOC_SUBHEAD_INDENT 30p \} +. if !r#TOC_PH_INDENT \{ .TOC_PARAHEAD_INDENT 42p \} \# String defaults for both PRINTSTYLEs -. if !d$ATTRIBUTE_STRING \{ .ATTRIBUTE_STRING "by" \} -. if \\n[#USER_DEF_HDRFTR_LEFT]=0 \{ .ds $HDRFTR_LEFT \\*[$AUTHOR_1] \} -. rr #USER_DEF_HDRFTR_LEFT -. if \\n[#USER_DEF_HDRFTR_RIGHT]=0 \{ .ds $HDRFTR_RIGHT \\*[$TITLE] \} -. rr #USER_DEF_HDRFTR_RIGHT -. if !d$FINIS_STRING \{ .FINIS_STRING "END" \} +. ie \\n[#DOC_TYPE]=1 \{\ +. ie '\\*[$DOC_TITLE]'' \{\ +. if \\n[#USER_DEF_HDRFTR_LEFT]=0 \{ .ds $HDRFTR_LEFT \\*[$AUTHOR_1] \} +. rr #USER_DEF_HDRFTR_LEFT +. if \\n[#USER_DEF_HDRFTR_RIGHT]=0 \{ .ds $HDRFTR_RIGHT \\*[$TITLE] \} +. rr #USER_DEF_HDRFTR_RIGHT +. \} +. el \{\ +. if \\n[#COPY_STYLE]=1 \{ .DRAFT_WITH_PAGENUMBER \} +. if \\n[#USER_DEF_HDRFTR_LEFT]=0 \{ .ds $HDRFTR_LEFT \\*[$AUTHOR_1] \} +. rr #USER_DEF_HDRFTR_LEFT +. if \\n[#USER_DEF_HDRFTR_CENTER]=0 \{ .ds $HDRFTR_CENTER \\*[$TITLE] \} +. rr #USER_DEF_HDRFTR_CENTER +. if \\n[#USER_DEF_HDRFTR_RIGHT]=0 \{ .ds $HDRFTR_RIGHT \\*[$DOC_TITLE] \} +. rr #USER_DEF_HDRFTR_RIGHT +. \} +. \} +. el \{\ +. if \\n[#USER_DEF_HDRFTR_LEFT]=0 \{ .ds $HDRFTR_LEFT \\*[$AUTHOR_1] \} +. rr #USER_DEF_HDRFTR_LEFT +. if \\n[#USER_DEF_HDRFTR_RIGHT]=0 \{ .ds $HDRFTR_RIGHT \\*[$TITLE] \} +. rr #USER_DEF_HDRFTR_RIGHT +. \} +. if !d$ATTRIBUTE_STRING \{ .ATTRIBUTE_STRING "by" \} +. if !d$FINIS_STRING \{ .FINIS_STRING "END" \} \# Defaults for printstyle TYPEWRITE . if \\n[#PRINT_STYLE]=1 \{\ . if \\n[#UNDERLINE_QUOTES]=1 \{ .UNDERLINE_QUOTES \} @@ -3750,10 +3992,10 @@ . \} \# Defaults for printstyle TYPESET . if \\n[#PRINT_STYLE]=2 \{\ -. if !r#DOCHEADER_LEAD_ADJ \{\ +. if !d$DOCHEADER_LEAD_ADJ \{\ . ie !'\\*[$CHAPTER_TITLE]'' \{\ . ie !'\\*[$CHAPTER_STRING]'' \{\ -. DOCHEADER_LEAD +4p +. DOCHEADER_LEAD +4 . \} . el \{ .DOCHEADER_LEAD +0 \} . \} @@ -3826,16 +4068,64 @@ . if !d$FN_SIZE_CHANGE \{ .FOOTNOTE_SIZE -2 \} . if !r#FN_AUTOLEAD \{ .FOOTNOTE_AUTOLEAD 2 \} . if !r#EN_PS \{ .ENDNOTE_PT_SIZE \\n[#DOC_PT_SIZE]u \} -. if !r#EN_LEAD \{ .ENDNOTE_LEAD 13.5p \} +. if !d$EN_LEAD \{ .ENDNOTE_LEAD 14 ADJUST \} . if !d$EN_STRING_FT \{ .ENDNOTE_STRING_FONT B \} . if !d$EN_STRING_SIZE_CHANGE \{ .ENDNOTE_STRING_SIZE +1 \} . if !d$EN_TITLE_FT \{ .ENDNOTE_TITLE_FONT B \} -. if !d$EN_TITLE_SIZE_CHANGE \{ .ENDNOTE_TITLE_SIZE 0 \} +. if !d$EN_TITLE_SIZE_CHANGE \{ .ENDNOTE_TITLE_SIZE +0 \} . if !d$EN_NUMBER_FT \{ .ENDNOTE_NUMBER_FONT B \} -. if !$EN_NUMBER_SIZE_CHANGE \{ .ENDNOTE_NUMBER_SIZE 0 \} +. if !d$EN_NUMBER_SIZE_CHANGE \{ .ENDNOTE_NUMBER_SIZE +0 \} . if !r#EN_PP_INDENT \{ .ENDNOTE_PARA_INDENT 1.5m \} +. if !d$TOC_FAM \{ .TOC_FAMILY \\*[$DOC_FAM] \} +. if !r#TOC_PS \{ .TOC_PT_SIZE \\n[#DOC_PT_SIZE]u \} +. if !r#TOC_LEAD \{ .TOC_LEAD \\n[#DOC_LEAD]u ADJUST \} +. if !d$TOC_HEADER_FAM \{ .TOC_HEADER_FAMILY \\*[$TOC_FAM] \} +. if !d$TOC_HEADER_SIZE_CHANGE \{ .TOC_HEADER_SIZE +4 \} +. if !d$TOC_HEADER_FT \{ .TOC_HEADER_FONT B \} +. if !d$TOC_TITLE_FAM \{ .TOC_TITLE_FAMILY \\*[$TOC_FAM] \} +. if !d$TOC_PN_FAM \{ .TOC_PN_FAMILY \\*[$TOC_FAM] \} +. if !d$TOC_HEAD_FAM \{ .TOC_HEAD_FAMILY \\*[$TOC_FAM] \} +. if !d$TOC_SH_FAM \{ .TOC_SUBHEAD_FAMILY \\*[$TOC_FAM] \} +. if !d$TOC_PH_FAM \{ .TOC_PARAHEAD_FAMILY \\*[$TOC_FAM] \} +. if !d$TOC_TITLE_FT \{ .TOC_TITLE_FONT BI \} +. if !d$TOC_PN_FT \{ .TOC_PN_FONT R \} +. if !d$TOC_HEAD_FT \{ .TOC_HEAD_FONT B \} +. if !d$TOC_SH_FT \{ .TOC_SUBHEAD_FONT R \} +. if !d$TOC_PH_FT \{ .TOC_PARAHEAD_FONT I \} +. if !d$TOC_TITLE_SIZE_CHANGE \{ .TOC_TITLE_SIZE +.5 \} +. if !d$TOC_PN_SIZE_CHANGE \{ .TOC_PN_SIZE +0 \} +. if !d$TOC_HEAD_SIZE_CHANGE \{ .TOC_HEAD_SIZE +.5 \} +. if !d$TOC_SH_SIZE_CHANGE \{ .TOC_SUBHEAD_SIZE +0 \} +. if !d$TOC_PH_SIZE_CHANGE \{ .TOC_PARAHEAD_SIZE +0 \} +. \} +. if \\n[#PRINT_STYLE]=2 \{\ +. ie \\n[#ADJ_DOC_LEAD]=1 \{ .DOC_LEAD_ADJUST \} +. el \{ . \} +. \} +. if !\\n[#COLLATE] \{\ +. TRAPS +\# Endnote and toc leading +. nr #OK_PROCESS_LEAD 1 +. nr #RESTORE_DOC_LEAD \\n(.v +. if \\n[#PRINT_STYLE]=1 \{\ +. ie \\n[#SINGLE_SPACE] \{\ +. ENDNOTE_LEAD 12 ADJUST +. \} +. el \{\ +. ie \\n[#EN_SINGLESPACE] \{ .ENDNOTE_LEAD 12 ADJUST \} +. el \{ .ENDNOTE_LEAD 24 ADJUST \} +. \} +. \} +. if \\n[#PRINT_STYLE]=2 \{\ +. ie !d$EN_LEAD \{ .ENDNOTE_LEAD 14 ADJUST \} +. el \{ .ENDNOTE_LEAD \\*[$EN_LEAD] \\*[$ADJUST_EN_LEAD] \} +. ie !d$TOC_LEAD \{ .TOC_LEAD \\n[#RESTORE_DOC_LEAD]u \} +. el \{ .TOC_LEAD \\*[$TOC_LEAD] \\*[$ADJUST_TOC_LEAD] \} +. rm $ADJUST_EN_LEAD +. rm $ADJUST_TOC_LEAD +. \} +. DOC_LEAD \\n[#RESTORE_DOC_LEAD]u . \} -. TRAPS . if \\n[#PRINT_STYLE]=1 \{ .nr #IGNORE 1 \} .END \# @@ -3861,7 +4151,7 @@ \# are stored in #DOC_L_LENGTH, $DOC_FAM, and #DOC_PT_SIZE for \# use in the HEADER and FOOTER macros. \# -.\" First, define some strings for point sizes +\# First, define some strings for point sizes \# .ds $TITLE_PT_SIZE \\n[#DOC_PT_SIZE]u\\*[$TITLE_SIZE_CHANGE] .ds $CHAPTER_TITLE_PT_SIZE \\n[#DOC_PT_SIZE]u\\*[$CHAPTER_TITLE_SIZE_CHANGE] @@ -3869,36 +4159,50 @@ .ds $AUTHOR_PT_SIZE \\n[#DOC_PT_SIZE]u\\*[$AUTHOR_SIZE_CHANGE] .ds $DOCTYPE_PT_SIZE \\n[#DOC_PT_SIZE]u\\*[$DOCTYPE_SIZE_CHANGE] \# -.\" Next, some utility macros for various routines to prevent repetition +\# Next, some utility macros for various routines to prevent repetition \# .MAC PRINT_AUTHORS END -. nr #AUTHORS \\n[#AUTHOR_NUM] -. nr #NEXT_AUTHOR 0 1 -. while \\n[#AUTHORS]>\\n[#NEXT_AUTHOR] \{\ -. PRINT \\*[$AUTHOR_\\n+[#NEXT_AUTHOR]] -. \} +. nr #AUTHORS \\n[#AUTHOR_NUM] +. nr #NEXT_AUTHOR 0 1 +. while \\n[#AUTHORS]>\\n[#NEXT_AUTHOR] \{\ +. ie \\n[#AUTHOR_COLOR]=1 \{\ +. PRINT \m[\\*[$AUTHOR_COLOR]]\\*[$AUTHOR_\\n+[#NEXT_AUTHOR]]\m[] +. \} +. el \{ .PRINT \\*[$AUTHOR_\\n+[#NEXT_AUTHOR]] \} +. \} .END \# .MAC DEFAULT_DOCHEADER END -. CENTER -. FAMILY \\*[$TITLE_FAM] -. FT \\*[$TITLE_FT] -. PT_SIZE \\*[$TITLE_PT_SIZE] -. LS \\n[#DOCHEADER_LEAD]u -. PRINT \\*[$TITLE] -. if !'\\*[$SUBTITLE]'' \{\ -. FAMILY \\*[$SUBTITLE_FAM] -. FT \\*[$SUBTITLE_FT] -. PT_SIZE \\*[$SUBTITLE_PT_SIZE] -. PRINT \\*[$SUBTITLE] -. \} -. if !'\\*[$AUTHOR_1]'' \{\ -. FAMILY \\*[$AUTHOR_FAM] -. FT \\*[$AUTHOR_FT] -. PT_SIZE \\*[$AUTHOR_PT_SIZE] -. PRINT \\*[$ATTRIBUTE_STRING] -. PRINT_AUTHORS +. CENTER +. FAMILY \\*[$TITLE_FAM] +. FT \\*[$TITLE_FT] +. PT_SIZE \\*[$TITLE_PT_SIZE] +. LS \\n[#DOCHEADER_LEAD]u +. ie \\n[#TITLE_COLOR]=1 \{\ +. PRINT \m[\\*[$TITLE_COLOR]]\\*[$TITLE]\m[] +. \} +. el \{ .PRINT \\*[$TITLE] \} +. if !'\\*[$SUBTITLE]'' \{\ +. FAMILY \\*[$SUBTITLE_FAM] +. FT \\*[$SUBTITLE_FT] +. PT_SIZE \\*[$SUBTITLE_PT_SIZE] +. ie \\n[#SUBTITLE_COLOR]=1 \{\ +. PRINT \m[\\*[$SUBTITLE_COLOR]]\\*[$TITLE]\m[] +. \} +. el \{ .PRINT \\*[$SUBTITLE] \} +. \} +. if !'\\*[$AUTHOR_1]'' \{\ +. FAMILY \\*[$AUTHOR_FAM] +. FT \\*[$AUTHOR_FT] +. PT_SIZE \\*[$AUTHOR_PT_SIZE] +. if !'\\*[$ATTRIBUTE_STRING]'' \{\ +. ie \\n[#ATTRIBUTE_COLOR]=1 \{\ +. PRINT \m[\\*[$ATTRIBUTE_COLOR]]\\*[$ATTRIBUTE_STRING]\m[] . \} +. el \{ .PRINT \\*[$ATTRIBUTE_STRING] \} +. \} +. PRINT_AUTHORS +. \} .END \# \# @@ -3908,6 +4212,7 @@ . FT \\*[$TITLE_FT] . PT_SIZE \\*[$TITLE_PT_SIZE] . LS \\n[#DOCHEADER_LEAD]u +\# Chapter title only . ie '\\*[$CHAPTER]'' \{\ . ie !'\\*[$CHAPTER_TITLE]'' \{\ . if \\n[#PRINT_STYLE]=2 \{\ @@ -3916,22 +4221,35 @@ . PT_SIZE \\*[$CHAPTER_TITLE_PT_SIZE] . LS \\n[#DOCHEADER_LEAD]u . \} -. PRINT \\*[$CHAPTER_TITLE] +. ie \\n[#TITLE_COLOR]=1 \{\ +. PRINT \m[\\*[$TITLE_COLOR]]\\*[$CHAPTER_TITLE]\m[] +. \} +. el \{ .PRINT \\*[$CHAPTER_TITLE] \} . \} . el \{\ -. PRINT \\*[$CHAPTER_STRING] +. ie \\n[#TITLE_COLOR]=1 \{\ +. PRINT \m[\\*[$TITLE_COLOR]]\\*[$CHAPTER_STRING]\m[] +. \} +. el \{ .PRINT \\*[$CHAPTER_STRING] \} . \} . \} +\# Chapter string, possibly with a chapter title . el \{\ -. PRINT \\*[$CHAPTER_STRING] \\*[$CHAPTER] +. ie \\n[#TITLE_COLOR]=1 \{\ +. PRINT \m[\\*[$TITLE_COLOR]]\\*[$CHAPTER_STRING] \\*[$CHAPTER]\m[] +. \} +. el \{ .PRINT \\*[$CHAPTER_STRING] \\*[$CHAPTER] \} . if !'\\*[$CHAPTER_TITLE]'' \{\ -. if \\n[#PRINT_STYLE]=1 \{ .PRINT \\*[$CHAPTER_TITLE] \} +. if \\n[#PRINT_STYLE]=1 \{ .PRINT \\*[$CHAPTER_TITLE] \} . if \\n[#PRINT_STYLE]=2 \{\ . FAMILY \\*[$CHAPTER_TITLE_FAM] . FT \\*[$CHAPTER_TITLE_FT] . PT_SIZE \\*[$CHAPTER_TITLE_PT_SIZE] . LS \\n[#DOCHEADER_LEAD]u -. PRINT \\*[$CHAPTER_TITLE] +. ie \\n[#TITLE_COLOR]=1 \{\ +. PRINT \m[\\*[$TITLE_COLOR]]\\*[$CHAPTER_TITLE]\m[] +. \} +. el \{ .PRINT \\*[$CHAPTER_TITLE] \} . RLD \\n[#DOC_LEAD]u \" Just looks better this way . \} . \} @@ -3940,31 +4258,47 @@ \# \# .MAC NAMED_DOCHEADER END -. CENTER -. FAMILY \\*[$TITLE_FAM] -. FT \\*[$TITLE_FT] -. PT_SIZE \\*[$TITLE_PT_SIZE] -. LS \\n[#DOCHEADER_LEAD]u -. PRINT \\*[$TITLE] -. if !'\\*[$SUBTITLE]'' \{\ -. FAMILY \\*[$SUBTITLE_FAM] -. FT \\*[$SUBTITLE_FT] -. PT_SIZE \\*[$SUBTITLE_PT_SIZE] -. PRINT \\*[$SUBTITLE] -. \} -. if !'\\*[$AUTHOR_1]'' \{\ -. FAMILY \\*[$AUTHOR_FAM] -. FT \\*[$AUTHOR_FT] -. PT_SIZE \\*[$AUTHOR_PT_SIZE] -. PRINT \\*[$ATTRIBUTE_STRING] -. PRINT_AUTHORS -. \} -. FAMILY \\*[$DOCTYPE_FAM] -. FT \\*[$DOCTYPE_FT] -. PT_SIZE \\*[$DOCTYPE_PT_SIZE] -. LS \\n[#DOCHEADER_LEAD]u -. ALD \\n[#DOCHEADER_LEAD]u -. UNDERSCORE "\\*[$DOC_TYPE] +. CENTER +. FAMILY \\*[$TITLE_FAM] +. FT \\*[$TITLE_FT] +. PT_SIZE \\*[$TITLE_PT_SIZE] +. LS \\n[#DOCHEADER_LEAD]u +. ie \\n[#TITLE_COLOR]=1 \{\ +. PRINT \m[\\*[$TITLE_COLOR]]\\*[$TITLE]\m[] +. \} +. el \{ .PRINT \\*[$TITLE] \} +. if !'\\*[$SUBTITLE]'' \{\ +. FAMILY \\*[$SUBTITLE_FAM] +. FT \\*[$SUBTITLE_FT] +. PT_SIZE \\*[$SUBTITLE_PT_SIZE] +. ie \\n[#SUBTITLE_COLOR]=1 \{\ +. PRINT \m[\\*[$SUBTITLE_COLOR]]\\*[$TITLE]\m[] +. \} +. el \{ .PRINT \\*[$SUBTITLE] \} +. \} +. if !'\\*[$AUTHOR_1]'' \{\ +. FAMILY \\*[$AUTHOR_FAM] +. FT \\*[$AUTHOR_FT] +. PT_SIZE \\*[$AUTHOR_PT_SIZE] +. if !'\\*[$ATTRIBUTE_STRING]'' \{\ +. ie \\n[#ATTRIBUTE_COLOR]=1 \{\ +. PRINT \m[\\*[$ATTRIBUTE_COLOR]]\\*[$ATTRIBUTE_STRING]\m[] +. \} +. el \{ .PRINT \\*[$ATTRIBUTE_STRING] \} +. \} +. \} +. PRINT_AUTHORS +. \} +. FAMILY \\*[$DOCTYPE_FAM] +. FT \\*[$DOCTYPE_FT] +. PT_SIZE \\*[$DOCTYPE_PT_SIZE] +. LS \\n[#DOCHEADER_LEAD]u +. ALD \\n[#DOCHEADER_LEAD]u +. ie \\n[#DOCTYPE_COLOR]=1 \{\ +. COLOR \\*[$DOCTYPE_COLOR] +. UNDERSCORE "\\*[$DOC_TYPE] +. \} +. el .UNDERSCORE "\\*[$DOC_TYPE] .END \# \# @@ -3982,42 +4316,146 @@ . ab PRINTSTYLE missing . \} . nr #DOCS 1 -. DEFAULTS . if \\n[#COLLATE] \{\ . COPYSTYLE \\*[$COPY_STYLE] . nr #HEADERS_ON \\n[#HEADER_STATE] . if \\n[#PAGE_NUM_V_POS]=1 \{ .nr #PAGINATE \\n[#PAGINATION_STATE] \} . sp |\\n[#HEADER_MARGIN]u . PRINT \& +. if !'\\*[$RESTORE_PAGENUM_STYLE]'' \{\ +. PAGENUM_STYLE \\*[$RESTORE_PAGENUM_STYLE] +. rm $RESTORE_PAGENUM_STYLE +. \} . \} -\# +. DEFAULTS +\# Collate stuff +. ie \\n[#COLLATED_DOC]=1 \{\ +\# Collect TITLE for TOC. +. nr #TOC_ENTRY_PN \\n%+\\n[#PAGE_NUM_ADJ] +. af #TOC_ENTRY_PN \\g[#PAGENUMBER] +. ie \\n[#USER_SET_TITLE_ITEM] \{\ +. ds $TOC_TITLE_ITEM \\*[$USER_SET_TITLE_ITEM]\\| +. rr #USER_SET_TITLE_ITEM +. rm $USER_SET_TITLE_ITEM +. \} +. el \{\ +. ie \\n[#DOC_TYPE]=2 \{\ +. ie '\\*[$CHAPTER_TITLE]'' \{\ +. ds $TOC_TITLE_ITEM \\*[$CHAPTER_STRING] \\*[$CHAPTER]\\| +. \} +. el \{\ +. ie '\\*[$CHAPTER]'' \{\ +. ds $TOC_TITLE_ITEM \\*[$CHAPTER_TITLE]\\| +. \} +. el \{\ +. ds $TOC_TITLE_ITEM \\*[$CHAPTER_STRING] \\*[$CHAPTER]: \\*[$CHAPTER_TITLE]\\| +. \} +. \} +. \} +. el \{\ +. ds $TOC_TITLE_ITEM \\*[$TITLE]\\| +. \} +. \} +. if \\n[#TOC_AUTHORS]=1 \{\ +. ie '\\*[$TOC_AUTHORS]'' \{\ +. as $TOC_TITLE_ITEM /\\|\\*[$AUTHOR_1]\\| +. \} +. el \{\ +. as $TOC_TITLE_ITEM /\\|\\*[$TOC_AUTHORS]\\| +. rm $TOC_AUTHORS +. \} +. \} +\# Note the use of \!, which transparently embeds the macros used +\# in the TOC_ENTRIES diversion. The elements they control must be +\# processed literally when the diversion is output. +. ev TOC_EV +. da TOC_ENTRIES +. if \\n[#PRINT_STYLE]=1 \{\ +\!. fam C +\!. ft R +\!. ps 12 +. \} +. if \\n[#PRINT_STYLE]=2 \{\ +\!. FAMILY \\*[$TOC_TITLE_FAM] +\!. FT \\*[$TOC_TITLE_FT] +\!. PT_SIZE \\n[#TOC_PS]u\\*[$TOC_TITLE_SIZE_CHANGE] +. \} +\!. TRAP OFF +. ie \\n[#PRINT_STYLE]=1 \{\ +\!. PAD "\\*[$TOC_TITLE_ITEM]\\*[$TOC_PN_TYPEWRITE]" +. \} +. el \{\ +\!. PAD "\\h'\\n[#TOC_TITLE_INDENT]u'\\*[$TOC_TITLE_ITEM]\\*[$TOC_PN]" +. \} +\!. EL +\!. ST 100 L +\!. ST 101 R +. if \\n[#PRINT_STYLE]=2 \{\ +\!. FAMILY \\*[$TOC_PN_FAM] +\!. FT \\*[$TOC_PN_FT] +\!. PT_SIZE \\n[#TOC_PS]u\\*[$TOC_PN_SIZE_CHANGE] +. \} +\!. TAB 100 +\!. PRINT \\*[LEADER] +\!. TN +\!. TRAP +\!. PRINT \\n[#TOC_ENTRY_PN] +\!. TQ +. di +. ev +. \} +. el \{\ +. nr #FIRST_DOC_TITLE_PN \\n%+\\n[#PAGE_NUM_ADJ] +. af #FIRST_DOC_TITLE_PN \\g[#PAGENUMBER] +. nr #FIRST_DOC_TOC_PN_PADDING \\n[#TOC_PN_PADDING] +. \} +\# End TITLE collection . if \\n[#PRINT_PAGENUM_ON_PAGE_1] \{\ . sp |\\n[#HEADER_MARGIN]u . PRINT_PAGE_NUMBER . \} . rr #COLLATE . rr #PAGINATION_STATE -\# +\# End collate stuff . ie \\n[#DOC_HEADER]=0 \{\ . PRINT \& . if \\n[#DOC_TYPE]=4 \{\ . if !'\\n(.z'' \{ .di \} . \} -. ie r#ADVANCE_FROM_TOP \{ .sp |\\n[#ADVANCE_FROM_TOP]u-1v \} -. el \{ .sp |\\n[#T_MARGIN]u-1v \} +. nr #STORED_PP_INDENT \\n[#PP_INDENT] +. PARA_INDENT 0 . PP +. PARA_INDENT \\n[#STORED_PP_INDENT]u +. rr #STORED_PP_INDENT +. ie r#ADVANCE_FROM_TOP \{\ +. sp |\\n[#ADVANCE_FROM_TOP]u-1v +. SHIM +. \} +. el \{ .sp |\\n[#T_MARGIN]u-1v \} +. if \\n[#COLUMNS] \{\ +. mk dc +. nr #COL_NUM 0 1 +. po \\n[#COL_\\n+[#COL_NUM]_L_MARGIN]u +. nr #L_MARGIN \\n(.o +. ll \\n[#COL_L_LENGTH]u +. \} . nr #PP 0 . rr #DOC_HEADER . if r#ADVANCE_FROM_TOP \{ .rr #ADVANCE_FROM_TOP \} . \} . el \{\ -. if \\n[#PRINT_STYLE]=2 \{ .LS \\n[#DOC_LEAD]u+\\n[#DOCHEADER_LEAD_ADJ]u \} +. if \\n[#PRINT_STYLE]=2 \{ .LS \\n[#DOC_LEAD]u\\*[$DOCHEADER_LEAD_ADJ] \} . nr #DOCHEADER_LEAD \\n[#LEAD] \# Default . if \\n[#DOC_TYPE]=1 \{\ . PRINT \& . sp |\\n[#DOCHEADER_ADVANCE]u-1v -. ev TITLE +. ev DOCHEADER +. if \\n[#DOCHEADER_COLOR]=1 \{\ +. nf +\m[\\*[$DOCHEADER_COLOR]] +. EL +. \} . L_MARGIN \\n[#DOC_L_MARGIN]u . LL \\n[#DOC_L_LENGTH]u . ta \\n(.lu @@ -4085,7 +4523,12 @@ . if \\n[#DOC_TYPE]=2 \{\ . PRINT \& . sp |\\n[#DOCHEADER_ADVANCE]u-1v -. ev TITLE +. ev DOCHEADER +. if \\n[#DOCHEADER_COLOR]=1 \{\ +. nf +\m[\\*[$DOCHEADER_COLOR]] +. EL +. \} . L_MARGIN \\n[#DOC_L_MARGIN]u . LL \\n[#DOC_L_LENGTH]u . ta \\n(.lu @@ -4134,7 +4577,12 @@ . if \\n[#DOC_TYPE]=3 \{\ . PRINT \& . sp |\\n[#DOCHEADER_ADVANCE]u-1v -. ev NAMED +. ev DOCHEADER +. if \\n[#DOCHEADER_COLOR]=1 \{\ +. nf +\m[\\*[$DOCHEADER_COLOR]] +. EL +. \} . L_MARGIN \\n[#DOC_L_MARGIN]u . LL \\n[#DOC_L_LENGTH]u . ta \\n(.lu @@ -4173,8 +4621,8 @@ . ie \\n[#SINGLE_SPACE] \{ .RLD \\n[#DOC_LEAD]u \} . el \{ .ALD \\n[#DOC_LEAD]u/2u \} . \} -. \} . vs \\n[#DOC_LEAD]u +. \} . el \{\ . ie !d$SUBTITLE \{\ . ie \\n[#SINGLE_SPACE] \{ .RLD \\n[#DOC_LEAD]u*2u \} @@ -4205,20 +4653,22 @@ . \} . if !\\n[#DOC_TYPE]=4 \{\ . if \\n[#PRINT_STYLE]=1 \{ .ALD \\n[#DOC_LEAD]u \} -. nr #DOCHEADER_SPACE_ADJ \\n[#DOCHEADER_DEPTH]%\\n[#DOC_LEAD] \"Do we need the units? -. ie !\\n[#DOCHEADER_SPACE_ADJ]=0 \{ .nr #DOCHEADER_EXTRA_SPACE \\n[#DOC_LEAD]u-\\n[#DOCHEADER_SPACE_ADJ]u \} +. nr #DOCHEADER_SPACE_ADJ \\n[#DOCHEADER_DEPTH]%\\n[#DOC_LEAD] +. ie !\\n[#DOCHEADER_SPACE_ADJ]=0 \{ .nr #DOCHEADER_EXTRA_SPACE \\n[#DOC_LEAD]-\\n[#DOCHEADER_SPACE_ADJ] \} . el \{ .nr #DOCHEADER_EXTRA_SPACE 0 \} . if \\n[#PRINT_STYLE]=2 \{ .ALD (\\n[#DOC_LEAD]u*2u)+\\n[#DOCHEADER_EXTRA_SPACE]u \} . if \\n[#COLUMNS] \{\ . nr #COL_NUM 0 1 . nr #L_LENGTH_FOR_EPI \\n[#L_LENGTH] . po \\n[#COL_\\n+[#COL_NUM]_L_MARGIN]u +. nr #L_MARGIN \\n(.o . LL \\n[#COL_L_LENGTH]u . ta \\n(.lu . mk dc . \} . \} . \} +. QUAD \\*[$DOC_QUAD] . rr #DOCHEADER_LEAD . rr #DOCHEADER_LEAD_ADJ . rr #DEPTH_1 @@ -4231,6 +4681,7 @@ . rr #NEXT_AUTHOR . rr #AUTHOR_NUM . rr #NUM_AUTHORS +. rm $TOC_TITLE_ITEM . nr #START 1 . nr #START_FOR_FOOTERS 1 .END @@ -4266,13 +4717,13 @@ \# *Arguments: \# <+|- amount by which to in/decrease leading of doc header> \# *Function: -\# Stores user supplied lead in/decrease in register #DOCHEADER_LEAD_ADJ. +\# Stores user supplied lead in/decrease in string $DOCHEADER_LEAD_ADJ. \# *Notes: \# A unit of measure must be supplied. Decimal fractions OK. \# Default is +0, i.e. same as DOC_LEAD. \# .MAC DOCHEADER_LEAD END -. nr #DOCHEADER_LEAD_ADJ (\\$1) +. ds $DOCHEADER_LEAD_ADJ \\$1 .END \# \# @@ -4291,6 +4742,24 @@ .END \# \# +\# DOCHEADER COLOR +\# --------------- +\# *Arguments: +\# +\# *Function: +\# Sets register #DOCHEADER_COLOR to 1; defines string +\# $DOCHEADER_COLOR to argument. +\# *Notes: +\# User must define an XCOLOR or NEWCOLOR before using +\# DOCHEADER_COLOR. +\# +.MAC DOCHEADER_COLOR END +. if \\n[#PRINT_STYLE]=1 \{ .return \} +. nr #DOCHEADER_COLOR 1 +. ds $DOCHEADER_COLOR \\$1 +.END +\# +\# \# TITLE FAMILY \# ------------ \# *Argument: @@ -4337,6 +4806,21 @@ .END \# \# +\# TITLE COLOR +\# ----------- +\# *Argument: +\# +\# *Function: +\# Sets register #TITLE_COLOR to 1; creates string $TITLE_COLOR +\# *Notes: +\# The color name must be pre-defined with NEWCOLOR or XCOLOR. +\# +.MAC TITLE_COLOR END +. nr #TITLE_COLOR 1 +. ds $TITLE_COLOR \\$1 +.END +\# +\# \# CHAPTER TITLE FAMILY \# -------------------- \# *Argument: @@ -4429,6 +4913,37 @@ .END \# \# +\# SUBTITLE COLOR +\# -------------- +\# *Argument: +\# +\# *Function: +\# Sets register #SUBTITLE_COLOR to 1; creates string +\# $SUBTITLE_COLOR. +\# *Notes: +\# The color name must be pre-defined with NEWCOLOR or XCOLOR. +\# +.MAC SUBTITLE_COLOR END +. nr #SUBTITLE_COLOR 1 +. ds $SUBTITLE_COLOR \\$1 +.END +\# +\# +\# ATTRIBUTE COLOR +\# --------------- +\# *Argument: +\# +\# *Function: +\# Sets register #ATTRIBUTE_COLOR to 1; creates string $ATTRIBUTE_COLOR +\# *Notes: +\# The color name must be pre-defined with NEWCOLOR or XCOLOR. +\# +.MAC ATTRIBUTE_COLOR END +. nr #ATTRIBUTE_COLOR 1 +. ds $ATTRIBUTE_COLOR \\$1 +.END +\# +\# \# AUTHOR FAMILY \# ------------- \# *Argument: @@ -4474,8 +4989,23 @@ .END \# \# -\# DOCTYPE FAMILY -\# -------------- +\# AUTHOR COLOR +\# ------------ +\# *Argument: +\# +\# *Function: +\# Sets register #AUTHOR_COLOR to 1; creates string $AUTHOR_COLOR +\# *Notes: +\# The color name must be pre-defined with NEWCOLOR or XCOLOR. +\# +.MAC AUTHOR_COLOR END +. nr #AUTHOR_COLOR 1 +. ds $AUTHOR_COLOR \\$1 +.END +\# +\# +\# DOCTYPE FAMILY +\# -------------- \# *Argument: \# \# *Function: @@ -4519,6 +5049,21 @@ .END \# \# +\# DOCTYPE COLOR +\# ------------- +\# *Argument: +\# +\# *Function: +\# Sets register #DOCTYPE_COLOR to 1; creates string $DOCTYPE_COLOR +\# *Notes: +\# The color name must be pre-defined with NEWCOLOR or XCOLOR. +\# +.MAC DOCTYPE_COLOR END +. nr #DOCTYPE_COLOR 1 +. ds $DOCTYPE_COLOR \\$1 +.END +\# +\# \# DOCUMENT LEFT MARGIN \# -------------------- \# *Argument: @@ -4601,7 +5146,7 @@ \# *Argument: \# \# *Function: -\# Creates or modifies register $DOC_PT_SIZE. +\# Creates or modifies register #DOC_PT_SIZE. \# *Notes: \# DOC_PT_SIZE is the basis for calculating all type sizes in \# a document. @@ -4640,6 +5185,7 @@ . if '\\$2'ADJUST' \{ .TRAPS \} .END \# +\# \# ADJUST DOCUMENT LEAD \# -------------------- \# *Arguments: @@ -4654,6 +5200,49 @@ .END \# \# +\# SHIM +\# ---- +\# *Argument: +\# None +\# *Function: +\# Advances to the next "legal" baseline. +\# *Notes: +\# If a user plays around with spacing in a doc (say, with ALD), +\# it isn't easy to get mom back on track so she can achieve +\# perfectly flush bottom margins. Any time SHIM is used, it +\# ensures that the next output line falls on a legal baseline. +\# +\# First, a little convenience macro +\# +.MAC PROCESS_SHIM END +. while \\n+[#LEGAL_BASELINE]<\\n[#CURRENT_V_POS] \{\ +. +. \} +. nr #SHIM \\n[#LEGAL_BASELINE]-\\n[#CURRENT_V_POS] +.END +\# +.MAC SHIM END +. nr #CURRENT_V_POS \\n(.d +. nr #LEGAL_BASELINE \\n[#T_MARGIN]-1v \\n[#DOC_LEAD] +. ie r#ADVANCE_FROM_TOP \{\ +. ie \\n[#CURRENT_V_POS]<(\\n[#T_MARGIN]-1v) \{\ +. while \\n-[#LEGAL_BASELINE]>\\n[#CURRENT_V_POS] \{\ +. +. \} +. nr #LEGAL_BASELINE +\\n[#DOC_LEAD] +. nr #SHIM \\n[#LEGAL_BASELINE]-\\n[#CURRENT_V_POS] +. \} +. el \{\ +. PROCESS_SHIM +. \} +. \} +. el \{\ +. PROCESS_SHIM +. \} +. ALD \\n[#SHIM]u +.END +\# +\# \# DOCUMENT QUAD \# ------------- \# *Arguments: @@ -4750,6 +5339,22 @@ . CAPS OFF .END \# +\# FINIS COLOR +\# ----------- +\# *Arguments: +\# +\# *Function: +\# Defines string $FINIS_COLOR to argument. +\# *Notes: +\# User must define an XCOLOR or NEWCOLOR before using +\# FINIS_COLOR. +\# +.MAC FINIS_COLOR END +. if \\n[#PRINT_STYLE]=1 \{ .return \} +. ds $FINIS_COLOR \\$1 +.END +\# +\# \# ==================================================================== \# \# +++RECTO/VERSO+++ @@ -4820,6 +5425,24 @@ .END \# \# +\# EPIGRAPH COLOR +\# -------------- +\# *Arguments: +\# +\# *Function: +\# Sets register #EPI_COLOR to 1; defines string +\# $EPI_COLOR to argument. +\# *Notes: +\# User must define an XCOLOR or NEWCOLOR before using +\# EPI_COLOR. +\# +.MAC EPIGRAPH_COLOR END +. if \\n[#PRINT_STYLE]=1 \{ .return \} +. nr #EPI_COLOR 1 +. ds $EPI_COLOR \\$1 +.END +\# +\# \# EPIGRAPH QUAD \# ------------- \# *Arguments: @@ -4921,6 +5544,11 @@ . FAMILY \\*[$EPI_FAM] . FT \\*[$EPI_FT] . PT_SIZE \\n[#DOC_PT_SIZE]u\\*[$EPI_SIZE_CHANGE] +. if \\n[#EPI_COLOR]=1 \{\ +. nf +\m[\\*[$EPI_COLOR]] +. EL +. \} . AUTOLEAD \\n[#EPI_AUTOLEAD] . nr #EPI_LEAD \\n[#LEAD] . nr #EPI_LEAD_DIFF \\n[#DOC_LEAD]-\\n[#EPI_LEAD] @@ -4971,6 +5599,11 @@ . FAMILY \\*[$EPI_FAM] . FT \\*[$EPI_FT] . PT_SIZE \\n[#DOC_PT_SIZE]u\\*[$EPI_SIZE_CHANGE] +. if \\n[#EPI_COLOR]=1 \{\ +. nf +\m[\\*[$EPI_COLOR]] +. EL +. \} . AUTOLEAD \\n[#EPI_AUTOLEAD] . QUAD \\*[$EPI_QUAD] . HY @@ -5009,7 +5642,9 @@ . nr #EPI_LINES \\n[#EPI_DEPTH]/\\n[#EPI_LEAD] . ie \\n[#START] \{\ . nr #EPI_WHITESPACE (\\n[#DOC_LEAD]*\\n[#EPI_LINES])-\\n[#EPI_DEPTH] -. while \\n[#EPI_WHITESPACE]>\\n[#DOC_LEAD] \{ .nr #EPI_WHITESPACE -\\n[#DOC_LEAD] \} +. while \\n[#EPI_WHITESPACE]>\\n[#DOC_LEAD] \{\ +. nr #EPI_WHITESPACE -\\n[#DOC_LEAD] +. \} . if \\n[#PRINT_STYLE]=2 \{\ . RLD \\n[#DOC_LEAD]u . if \\n[#EPI_WHITESPACE]<\\n[#DOC_LEAD] \{\ @@ -5024,7 +5659,9 @@ . ie \\n[#EPI_DEPTH]<\\n[#TRAP_DISTANCE] \{\ . nr #EPI_FITS 1 . nr #EPI_WHITESPACE (\\n[#DOC_LEAD]*\\n[#EPI_LINES])-\\n[#EPI_DEPTH] -. while \\n[#EPI_WHITESPACE]>\\n[#DOC_LEAD] \{ .nr #EPI_WHITESPACE -\\n[#DOC_LEAD] \} +. while \\n[#EPI_WHITESPACE]>\\n[#DOC_LEAD] \{\ +. nr #EPI_WHITESPACE -\\n[#DOC_LEAD] +. \} . ie \\n[#PRINT_STYLE]=1 \{\ . if \\n[#EPI_WHITESPACE]=\\n[#DOC_LEAD] \{ .ALD \\n[#EPI_WHITESPACE]u/2u \} . \} @@ -5039,17 +5676,24 @@ . \} . el \{\ . nr #EPI_LINES_TO_TRAP 0 1 -. while \\n[#EPI_LEAD]*\\n+[#EPI_LINES_TO_TRAP]<\\n[#TRAP_DISTANCE] \{ .nr #LOOP 1 \} +. while \\n[#EPI_LEAD]*\\n+[#EPI_LINES_TO_TRAP]<\\n[#TRAP_DISTANCE] \{\ +. nr #LOOP 1 +. \} . nr #EPI_LINES_TO_TRAP -1 . nr #EPI_WHITESPACE (\\n[#EPI_LINES_TO_TRAP]*\\n[#DOC_LEAD])-(\\n[#EPI_LINES_TO_TRAP]*\\n[#EPI_LEAD]) -. while \\n[#EPI_WHITESPACE]>\\n[#DOC_LEAD] \{ .nr #EPI_WHITESPACE -\\n[#DOC_LEAD] \} +. while \\n[#EPI_WHITESPACE]>\\n[#DOC_LEAD] \{\ +. nr #EPI_WHITESPACE -\\n[#DOC_LEAD] +. \} . if \\n[#EPI_WHITESPACE]<\\n[#DOC_LEAD] \{ .ALD \\n[#EPI_WHITESPACE]u \} . if \\n[#EPI_WHITESPACE]>\\n[#DOC_LEAD] \{ .ALD \\n[#EPI_WHITESPACE]u-\\n[#DOC_LEAD]u \} . \} . \} . if \\n[#EPIGRAPH]=1 \{\ . po \\n[#L_MARGIN]u -. if \\n[#COLUMNS] \{ .po \\n[#COL_\\n[#COL_NUM]_L_MARGIN]u \} +. if \\n[#COLUMNS] \{\ +. po \\n[#COL_\\n[#COL_NUM]_L_MARGIN]u +. nr #L_MARGIN \\n(.o +. \} . \} . if \\n[#EPIGRAPH]=2 \{\ . nr #EPI_OFFSET \\n[#L_MARGIN]+(\\n[#PP_INDENT]*\\n[#EPI_OFFSET_VALUE]) @@ -5065,7 +5709,8 @@ . if \\n[#PRINT_STYLE]=1 \{\ . ie \\n[#SINGLE_SPACE] \{ .ALD \\n[#DOC_LEAD]u \} . el \{\ -. if \\n[#EPI_WHITESPACE]=\\n[#DOC_LEAD] \{ .ALD \\n[#DOC_LEAD]u/2u \} +. ie \\n[#EPI_LINES]%2=1 \{ .ALD \\n[#DOC_LEAD]u \} +. el \{ .ALD \\n[#DOC_LEAD]u/2u \} . \} . \} . if \\n[#PRINT_STYLE]=2 \{\ @@ -5083,7 +5728,9 @@ . ie \\n[#FN_FOR_EPI] \{\ . nr #EPI_LINES_TO_END 1 . nr #EPI_WHITESPACE (\\n[#EPI_LINES_TO_END]*\\n[#DOC_LEAD])-(\\n[#EPI_LINES_TO_END]*\\n[#EPI_LEAD]) -. while \\n[#EPI_WHITESPACE]>\\n[#DOC_LEAD] \{ .nr #EPI_WHITESPACE -\\n[#DOC_LEAD] \} +. while \\n[#EPI_WHITESPACE]>\\n[#DOC_LEAD] \{\ +. nr #EPI_WHITESPACE -\\n[#DOC_LEAD] +. \} . ALD \\n[#EPI_WHITESPACE]u-(\\n[#DOC_LEAD]u-\\n[#EPI_LEAD]u) . \} . el \{\ @@ -5105,7 +5752,9 @@ . if \\n[#LOOP] \{. nr #EPI_LINES_TO_END +1 \} . rr #LOOP . nr #EPI_WHITESPACE (\\n[#EPI_LINES_TO_END]*\\n[#DOC_LEAD])-(\\n[#EPI_LINES_TO_END]*\\n[#EPI_LEAD]) -. while \\n[#EPI_WHITESPACE]>\\n[#DOC_LEAD] \{ .nr #EPI_WHITESPACE -\\n[#DOC_LEAD] \} +. while \\n[#EPI_WHITESPACE]>\\n[#DOC_LEAD] \{\ +. nr #EPI_WHITESPACE -\\n[#DOC_LEAD] +. \} . ALD \\n[#EPI_WHITESPACE]u-(\\n[#DOC_LEAD]u-\\n[#EPI_LEAD]u) . if \\n[#PRINT_STYLE]=1 \{\ . if !\\n[#SINGLE_SPACE] \{\ @@ -5122,10 +5771,14 @@ . ALD \\n[#DOC_LEAD]u . QUAD \\*[$DOC_QUAD] . po \\n[#L_MARGIN]u -. if \\n[#COLUMNS] \{ .po \\n[#COL_\\n[#COL_NUM]_L_MARGIN]u \} +. if \\n[#COLUMNS] \{\ +. po \\n[#COL_\\n[#COL_NUM]_L_MARGIN]u +. nr #L_MARGIN \\n(.o +. \} . if \\n[#START] \{\ . if \\n[#COLUMNS] \{\ . po \\n[#COL_\\n[#COL_NUM]_L_MARGIN]u +. nr #L_MARGIN \\n(.o . mk dc . \} . \} @@ -5143,18 +5796,33 @@ \# Deposits --END-- at the end of a document. \# .MAC FINIS END +. ev FINIS +. evc 0 +. nr #FINIS 1 . if \\n[#TAB_ACTIVE] \{ .TQ \} . if \\n[#INDENT_ACTIVE] \{ .IQ CLEAR \} -. FOOTERS OFF -. PAGINATION OFF +. if \\n[#FOOTERS_ON] \{\ +. nr #FOOTERS_WERE_ON 1 +. FOOTERS OFF +. \} +. if \\n[#PAGINATE] \{\ +. if \\n[#PAGE_NUM_V_POS]=2 \{\ +. nr #PAGINATION_WAS_ON 1 +. PAGINATION OFF +. \} +. \} . nr #EM_ADJUST (1m/8) -. if \\n[#COLUMNS] \{ .po \\n[#COL_\\n[#COL_NUM]_L_MARGIN]u \} +. if \\n[#COLUMNS] \{\ +. po \\n[#COL_\\n[#COL_NUM]_L_MARGIN]u +. nr #L_MARGIN \\n(.o +. \} . ALD \\n[#DOC_LEAD]u . CENTER . if \\n[#PRINT_STYLE]=1 \{ .PRINT "--\\*[$FINIS_STRING]--\} . if \\n[#PRINT_STYLE]=2 \{\ -. PRINT "\v'-\\n[#EM_ADJUST]u'\(em\v'+\\n[#EM_ADJUST]u'\\*[$FINIS_STRING]\v'-\\n[#EM_ADJUST]u'\*[FU1]\(em +. PRINT "\m[\\*[$FINIS_COLOR]]\v'-\\n[#EM_ADJUST]u'\(em\v'+\\n[#EM_ADJUST]u'\\*[$FINIS_STRING]\v'-\\n[#EM_ADJUST]u'\*[FU1]\(em\m[] . \} +. ev .END \# \# ==================================================================== @@ -5209,6 +5877,24 @@ .END \# \# +\# HDRFTR COLOR +\# ------------ +\# *Arguments: +\# +\# *Function: +\# Sets register #HDRFTR_COLOR to 1; defines string $HDRFTR_COLOR to +\# argument. +\# *Notes: +\# User must define an XCOLOR or NEWCOLOR before using +\# HDRFTR_COLOR. +\# +.MAC HDRFTR_COLOR END +. if \\n[#PRINT_STYLE]=1 \{ .return \} +. nr #HDRFTR_COLOR 1 +. ds $HDRFTR_COLOR \\$1 +.END +\# +\# \# HDRFTR RULE GAP \# --------------- \# *Argument: @@ -5294,6 +5980,22 @@ .END \# \# +\# HDRFTR LEFT COLOR +\# ----------------- +\# *Argument: +\# +\# *Function: +\# Sets register #HDRFTR_LEFT_COLOR to 1; creates string +\# $HDRFTR_LEFT_COLOR +\# *Notes: +\# The color name must be pre-defined with NEWCOLOR or XCOLOR. +\# +.MAC HDRFTR_LEFT_COLOR END +. nr #HDRFTR_LEFT_COLOR 1 +. ds $HDRFTR_LEFT_COLOR \\$1 +.END +\# +\# \# HDRFTR LEFT CAPS \# ---------------- \# *Argument: @@ -5310,7 +6012,7 @@ . \} . el \{\ . nr #HDRFTR_LEFT_CAPS 0 -. ds $HDRFTR_RIGHT_SIZE_CHANGE +0 +. ds $HDRFTR_LEFT_SIZE_CHANGE +0 . \} .END \# @@ -5338,6 +6040,14 @@ \# .MAC HDRFTR_CENTER END . nr #USER_DEF_HDRFTR_CENTER 1 +. if '\\$0'FOOTER_CENTER' \{\ +. ds $HDRFTR_CENTER_OLD \\*[$HDRFTR_CENTER] +. ds $HDRFTR_CENTER_NEW \\$1 +. \} +. if '\\$0'FOOTER_CENTRE' \{\ +. ds $HDRFTR_CENTER_OLD \\*[$HDRFTR_CENTER] +. ds $HDRFTR_CENTER_NEW \\$1 +. \} . ds $HDRFTR_CENTER \\$1 .END \# @@ -5384,6 +6094,22 @@ .END \# \# +\# HDRFTR CENTER COLOR +\# ------------------- +\# *Argument: +\# +\# *Function: +\# Sets register #HDRFTR_CENTER_COLOR to 1; creates string +\# $HDRFTR_CENTER_COLOR +\# *Notes: +\# The color name must be pre-defined with NEWCOLOR or XCOLOR. +\# +.MAC HDRFTR_CENTER_COLOR END +. nr #HDRFTR_CENTER_COLOR 1 +. ds $HDRFTR_CENTER_COLOR \\$1 +.END +\# +\# \# HDRFTR CENTER CAPS \# ------------------ \# *Argument: @@ -5396,7 +6122,7 @@ \# .MAC HDRFTR_CENTER_CAPS END . ie '\\$1'' \{\ -. nr #HDRFTR_CENTER_CAPS 1 +. nr #HDRFTR_CENTER_CAPS 1 . \} . el \{\ . nr #HDRFTR_CENTER_CAPS 0 @@ -5405,6 +6131,50 @@ .END \# \# +\# HDRFTR CENTER PADDING +\# --------------------- +\# *Argument: +\# LEFT | RIGHT +\# *Function: +\# Creates or modifies registers #HDRFTR_CTR_PAD_LEFT or +\# #HDRFTR_CTR_PAD_RIGHT. +\# *Notes: +\# By default, the HDRFTR_CENTER string is centered on the doc +\# line length. Long titles or long author names can screw up +\# visual centering, or create overprints. This macro allows the +\# user to pad the center string by the specified amount of space +\# to fix these problems. Use only one of LEFT or RIGHT. +\# +\# A unit of measure is required. +\# +.MAC HDRFTR_CENTER_PAD END +. if '\\$1'LEFT' \{\ +. nr #HDRFTR_CTR_PAD_LEFT (\\$2) +. \} +. if '\\$1'RIGHT' \{\ +. nr #HDRFTR_CTR_PAD_RIGHT (\\$2) +. \} +.END +\# +\# +\# SWITCH HDRFTR CENTER PADDING SIDE - support macro +\# -------------------------------- +\# *Argument: +\# +\# *Function: +\# Switches the padding side of hdrftr center padding. +\# *Notes: +\# Required to keep spacing around hdrftr string constant +\# in recto/verso documents. +\# +.MAC SWITCH_HDRFTR_CENTER_PAD END +. nr #HDRFTR_CTR_PAD_TMP \\n[#HDRFTR_CTR_PAD_LEFT] +. HDRFTR_CENTER_PAD LEFT \\n[#HDRFTR_CTR_PAD_RIGHT]u +. HDRFTR_CENTER_PAD RIGHT \\n[#HDRFTR_CTR_PAD_TMP]u +.END +\# +\# \# HDRFTR RIGHT \# ------------ \# *Argument: @@ -5473,6 +6243,22 @@ .END \# \# +\# HDRFTR RIGHT COLOR +\# ------------------ +\# *Argument: +\# +\# *Function: +\# Sets register #HDRFTR_RIGHT_COLOR to 1; creates string +\# $HDRFTR_RIGHT_COLOR +\# *Notes: +\# The color name must be pre-defined with NEWCOLOR or XCOLOR. +\# +.MAC HDRFTR_RIGHT_COLOR END +. nr #HDRFTR_RIGHT_COLOR 1 +. ds $HDRFTR_RIGHT_COLOR \\$1 +.END +\# +\# \# HDRFTR RIGHT CAPS \# ----------------- \# *Argument: @@ -5485,7 +6271,7 @@ \# .MAC HDRFTR_RIGHT_CAPS END . ie '\\$1'' \{\ -. nr #HDRFTR_RIGHT_CAPS 1 +. nr #HDRFTR_RIGHT_CAPS 1 . \} . el \{\ . nr #HDRFTR_RIGHT_CAPS 0 @@ -5493,6 +6279,25 @@ . \} .END \# +\# +\# HDRFTR RULE COLOR +\# ----------------- +\# *Arguments: +\# +\# *Function: +\# Sets register #HDRFTR_COLOR to 1; defines string +\# $HDRFTR_RULE_COLOR to argument. +\# *Notes: +\# User must define an XCOLOR or NEWCOLOR before using +\# HDRFTR_RULE_COLOR. +\# +.MAC HDRFTR_RULE_COLOR END +. if \\n[#PRINT_STYLE]=1 \{ .return \} +. nr #HDRFTR_RULE_COLOR 1 +. ds $HDRFTR_RULE_COLOR \\$1 +.END +\# +\# \# HDRFTR RULE \# ----------- \# *Arguments: @@ -5505,12 +6310,21 @@ . ie '\\$0'HDRFTR_RULE_INTERNAL' \{\ . ie \\n[#USERDEF_HDRFTR] \{\ . nr #CAP_HEIGHT_ADJUST \\n[#HDRFTR_HEIGHT] -. PT_SIZE 12 -. if \\n[#HEADERS_ON] \{ .ALD \\n[#HDRFTR_RULE_GAP]u \} +. ps 12 +. if \\n[#HEADERS_ON] \{\ +. rt \\nyu +. ALD \\n[#HDRFTR_RULE_GAP]u +. \} . if \\n[#FOOTERS_ON] \{\ +. rt \\nyu . RLD \\n[#HDRFTR_RULE_GAP]u+\\n[#CAP_HEIGHT_ADJUST]u+1p . \} -. PRINT \\l'\\n[#DOC_L_LENGTH]u' +. ie \\n[#HDRFTR_RULE_COLOR]=1 \{\ +. PRINT \m[\\*[$HDRFTR_RULE_COLOR]]\\l'\\n[#DOC_L_LENGTH]u'\m[] +. \} +. el \{\ +. PRINT \\l'\\n[#DOC_L_LENGTH]u' +. \} . br . \} . el \{\ @@ -5527,12 +6341,21 @@ . \} . el \{ .nr #CAP_HEIGHT_ADJUST \\n[#RIGHT_CAP_HEIGHT] \} . \} -. PT_SIZE 12 -. if \\n[#HEADERS_ON] \{ .ALD \\n[#HDRFTR_RULE_GAP]u \} +. ps 12 +. if \\n[#HEADERS_ON] \{\ +. rt \\nyu +. ALD \\n[#HDRFTR_RULE_GAP]u +. \} . if \\n[#FOOTERS_ON] \{\ -. RLD \\n[#LEAD]u*3u+\\n[#HDRFTR_RULE_GAP]u+\\n[#CAP_HEIGHT_ADJUST]u+1p +. rt \\nyu +. RLD \\n[#HDRFTR_RULE_GAP]u+\\n[#CAP_HEIGHT_ADJUST]u+1p +. \} +. ie \\n[#HDRFTR_RULE_COLOR]=1 \{\ +. PRINT \m[\\*[$HDRFTR_RULE_COLOR]]\\l'\\n[#DOC_L_LENGTH]u'\m[] +. \} +. el \{\ +. PRINT \\l'\\n[#DOC_L_LENGTH]u' . \} -. PRINT \\l'\\n[#DOC_L_LENGTH]u' . br . \} . \} @@ -5613,7 +6436,9 @@ \# *Notes: \# For use when users don't want 3-part headers/footers, but rather \# want to design their own headers/footers and need different -\# headers/footers on recto and verso pages. +\# headers/footers on recto and verso pages. Using just +\# HEADER_RECTO, even when recto/verso is not on, allows users to +\# design their own headers/footers for doc pages. \# .MAC HDRFTR_RECTO END . nr #USERDEF_HDRFTR 1 @@ -5706,7 +6531,6 @@ . if !\\n[#PRINT_FOOTER_ON_PAGE_1] \{ .return \} . \} . \} -. if \\n[#HEADERS_ON] \{ .vs 0 \} . if \\n[#USERDEF_HDRFTR] \{\ . PRINT_USERDEF_HDRFTR . return @@ -5721,12 +6545,17 @@ . nr #HDRFTR_TMP_CAPS_SWITCH \\n[#HDRFTR_LEFT_CAPS] . nr #HDRFTR_LEFT_CAPS \\n[#HDRFTR_RIGHT_CAPS] . nr #HDRFTR_RIGHT_CAPS \\n[#HDRFTR_TMP_CAPS_SWITCH] +. ds $HDRFTR_TMP_COLOR_SWITCH \\*[$HDRFTR_LEFT_COLOR] +. ds $HDRFTR_LEFT_COLOR \\*[$HDRFTR_RIGHT_COLOR] +. ds $HDRFTR_RIGHT_COLOR \\*[$HDRFTR_TMP_COLOR_SWITCH] . rr #HDRFTR_TMP_CAPS_SWITCH . rm $HDRFTR_TMP_SWITCH . rm $HDRFTR_TMP_SIZE_CHANGE_SWITCH +. rm $HDRFTR_TMP_COLOR_SWITCH . nr #SWITCH_HDRFTR 0 . \} . nr #PAGENUMBER \\n%+\\n[#PAGE_NUM_ADJ] +. if \\n[#ENDNOTES] \{ .PAGENUM_STYLE \\*[$EN_PN_STYLE] \} . if \\n[#PRINT_STYLE]=1 \{\ . if \\n[#FOOTERS_ON] \{\ . di NULL @@ -5748,11 +6577,12 @@ . if \\n[#HDRFTR_LEFT_CAPS] \{ .CAPS OFF \} . CENTER . if \\n[#HDRFTR_CENTER_CAPS] \{ .CAPS \} +. rt \\nyu . ie '\\*[$HDRFTR_CENTER]'#' \{\ -. PRINT \\v'-(\\n[#LEAD]u*1u)'\\n[#PAGENUMBER] +. PRINT \\h'\\n[#HDRFTR_CTR_PAD_LEFT]u'\\n[#PAGENUMBER]\\h'\\n[#HDRFTR_CTR_PAD_RIGHT]u' . \} . el \{\ -. ie !'\\*[$HDRFTR_CENTER]'' \{ .PRINT \\v'-(\\n[#LEAD]u*1u)'\\*[$HDRFTR_CENTER] \} +. ie !'\\*[$HDRFTR_CENTER]'' \{ .PRINT \\h'\\n[#HDRFTR_CTR_PAD_LEFT]u'\\*[$HDRFTR_CENTER]\\h'\\n[#HDRFTR_CTR_PAD_RIGHT]u' \} . el \{ .PRINT \& \} . \} . if \\n[#HDRFTR_CENTER_CAPS] \{ .CAPS OFF \} @@ -5760,19 +6590,26 @@ . if e \{ .RIGHT \} . if \\n[#RECTO_VERSO]=0 \{ .RIGHT \} . if \\n[#HDRFTR_RIGHT_CAPS] \{ .CAPS \} +. rt \\nyu . ie '\\*[$HDRFTR_RIGHT]'#' \{\ -. PRINT \\v'-(\\n[#LEAD]u*2u)'\\n[#PAGENUMBER] +. PRINT \\n[#PAGENUMBER] . \} . el \{\ -. ie !'\\*[$HDRFTR_RIGHT]'' \{ .PRINT \v'-(\\n[#LEAD]u*2u)'\\*[$HDRFTR_RIGHT] \} +. ie !'\\*[$HDRFTR_RIGHT]'' \{ .PRINT \\*[$HDRFTR_RIGHT] \} . el \{ .PRINT \& \} . \} . if \\n[#HDRFTR_RIGHT_CAPS] \{ .CAPS OFF \} . \} . if \\n[#PRINT_STYLE]=2 \{\ -. FAMILY \\*[$HDRFTR_LEFT_FAM] -. FT \\*[$HDRFTR_LEFT_FT] -. PT_SIZE \\n[#HDRFTR_PT_SIZE]u\\*[$HDRFTR_LEFT_SIZE_CHANGE] +. if \\n[#HDRFTR_COLOR]=1 \{\ +. nf +\m[\\*[$HDRFTR_COLOR]] +. EL +. \} +. fam \\*[$HDRFTR_LEFT_FAM] +. ft \\*[$HDRFTR_LEFT_FT] +. ps \\n[#HDRFTR_PT_SIZE]u\\*[$HDRFTR_LEFT_SIZE_CHANGE] +. vs 12 . if \\n[#FOOTERS_ON] \{\ . di NULL . SIZESPECS @@ -5783,15 +6620,30 @@ . if e \{ .RIGHT \} . if \\n[#RECTO_VERSO]=0 \{ .LEFT \} . if \\n[#HDRFTR_LEFT_CAPS] \{ .CAPS \} -. ie '\\*[$HDRFTR_LEFT]'#' \{ .PRINT \\n[#PAGENUMBER] \} +. ie '\\*[$HDRFTR_LEFT]'#' \{\ +. ie \\n[#HDRFTR_LEFT_COLOR]=1 \{\ +. PRINT \m[\\*[$HDRFTR_LEFT_COLOR]]\\n[#PAGENUMBER]\m[] +. \} +. el \{\ +. PRINT \\n[#PAGENUMBER] +. \} +. \} . el \{\ -. ie !'\\*[$HDRFTR_LEFT]'' \{ . PRINT \\*[$HDRFTR_LEFT] \} +. ie !'\\*[$HDRFTR_LEFT]'' \{\ +. ie \\n[#HDRFTR_LEFT_COLOR]=1 \{\ +. PRINT \m[\\*[$HDRFTR_LEFT_COLOR]]\\*[$HDRFTR_LEFT]\m[] +. \} +. el \{\ +. PRINT \\*[$HDRFTR_LEFT] +. \} +. \} . el \{ .PRINT \& \} . \} . if \\n[#HDRFTR_LEFT_CAPS] \{ .CAPS OFF \} -. FAMILY \\*[$HDRFTR_CENTER_FAM] -. FT \\*[$HDRFTR_CENTER_FT] -. PT_SIZE \\n[#HDRFTR_PT_SIZE]u\\*[$HDRFTR_CENTER_SIZE_CHANGE] +. fam \\*[$HDRFTR_CENTER_FAM] +. ft \\*[$HDRFTR_CENTER_FT] +. ps \\n[#HDRFTR_PT_SIZE]u\\*[$HDRFTR_CENTER_SIZE_CHANGE] +. vs 12 . if \\n[#FOOTERS_ON] \{\ . di NULL . SIZESPECS @@ -5800,17 +6652,31 @@ . \} . CENTER . if \\n[#HDRFTR_CENTER_CAPS] \{ .CAPS \} +. rt \\nyu . ie '\\*[$HDRFTR_CENTER]'#' \{\ -. PRINT \\v'-(\\n[#LEAD]u*1u)'\\n[#PAGENUMBER] +. ie \\n[#HDRFTR_CENTER_COLOR]=1 \{\ +. PRINT \\h'\\n[#HDRFTR_CTR_PAD_LEFT]u'\m[\\*[$HDRFTR_CENTER_COLOR]]\\n[#PAGENUMBER]\\h'\\n[#HDRFTR_CTR_PAD_RIGHT]u'\m[] +. \} +. el \{\ +. PRINT \\h'\\n[#HDRFTR_CTR_PAD_LEFT]u'\\n[#PAGENUMBER]\\h'\\n[#HDRFTR_CTR_PAD_RIGHT]u' +. \} . \} . el \{\ -. ie !'\\*[$HDRFTR_CENTER]'' \{ .PRINT \\v'-(\\n[#LEAD]u*1u)'\\*[$HDRFTR_CENTER] \} +. ie !'\\*[$HDRFTR_CENTER]'' \{\ +. ie \\n[#HDRFTR_CENTER_COLOR]=1 \{\ +. PRINT \\h'\\n[#HDRFTR_CTR_PAD_LEFT]u'\m[\\*[$HDRFTR_CENTER_COLOR]]\\*[$HDRFTR_CENTER]\\h'\\n[#HDRFTR_CTR_PAD_RIGHT]u'\m[] +. \} +. el \{\ +. PRINT \\h'\\n[#HDRFTR_CTR_PAD_LEFT]u'\\*[$HDRFTR_CENTER]\\h'\\n[#HDRFTR_CTR_PAD_RIGHT]u' +. \} +. \} . el \{ .PRINT \& \} . \} . if \\n[#HDRFTR_CENTER_CAPS] \{ .CAPS OFF \} -. FAMILY \\*[$HDRFTR_RIGHT_FAM] -. FT \\*[$HDRFTR_RIGHT_FT] -. PT_SIZE \\n[#HDRFTR_PT_SIZE]u\\*[$HDRFTR_RIGHT_SIZE_CHANGE] +. fam \\*[$HDRFTR_RIGHT_FAM] +. ft \\*[$HDRFTR_RIGHT_FT] +. ps \\n[#HDRFTR_PT_SIZE]u\\*[$HDRFTR_RIGHT_SIZE_CHANGE] +. vs 12 . if \\n[#FOOTERS_ON] \{\ . di NULL . SIZESPECS @@ -5821,11 +6687,24 @@ . if e \{ .LEFT \} . if \\n[#RECTO_VERSO]=0 \{ .RIGHT \} . if \\n[#HDRFTR_RIGHT_CAPS] \{ .CAPS \} +. rt \\nyu . ie '\\*[$HDRFTR_RIGHT]'#' \{\ -. PRINT \\v'-(\\n[#LEAD]u*2u)'\\n[#PAGENUMBER] +. ie \\n[#HDRFTR_RIGHT_COLOR]=1 \{\ +. PRINT \m[\\*[$HDRFTR_RIGHT_COLOR]]\\n[#PAGENUMBER]\m[] +. \} +. el \{\ +. PRINT \\n[#PAGENUMBER] +. \} . \} . el \{\ -. ie !'\\*[$HDRFTR_RIGHT]'' \{ .PRINT \v'-(\\n[#LEAD]u*2u)'\\*[$HDRFTR_RIGHT] \} +. ie !'\\*[$HDRFTR_RIGHT]'' \{\ +. ie \\n[#HDRFTR_RIGHT_COLOR]=1 \{\ +. PRINT \m[\\*[$HDRFTR_RIGHT_COLOR]]\\*[$HDRFTR_RIGHT]\m[] +. \} +. el \{\ +. PRINT \\*[$HDRFTR_RIGHT] +. \} +. \} . el \{ .PRINT \& \} . \} . if \\n[#HDRFTR_RIGHT_CAPS] \{ .CAPS OFF \} @@ -5853,6 +6732,10 @@ . FAMILY \\*[$HDRFTR_FAM] . FT R . PT_SIZE \\n[#HDRFTR_PT_SIZE]u +. if \\n[#HDRFTR_COLOR]=1 \{\ +. nf +. COLOR \\*[$HDRFTR_COLOR] +. \} . \} . ie \\n[#RECTO_VERSO] \{\ . if o \{\ @@ -5873,14 +6756,14 @@ . if \\n[#USERDEF_HDRFTR_VERSO_QUAD]=1 \{ .LEFT \} . if \\n[#USERDEF_HDRFTR_VERSO_QUAD]=2 \{ .CENTER \} . if \\n[#USERDEF_HDRFTR_VERSO_QUAD]=3 \{ .RIGHT \} -. \} -. PRINT \\*[$USERDEF_HDRFTR_VERSO] -. EL -. if \\n[#FOOTERS_ON] \{\ -. di NULL -. SIZESPECS -. nr #HDRFTR_HEIGHT \\n[#CAP_HEIGHT] -. di +. PRINT \\*[$USERDEF_HDRFTR_VERSO] +. EL +. if \\n[#FOOTERS_ON] \{\ +. di NULL +. SIZESPECS +. nr #HDRFTR_HEIGHT \\n[#CAP_HEIGHT] +. di +. \} . \} . el \{\ . if \\n[#USERDEF_HDRFTR_RECTO_QUAD]=1 \{ .LEFT \} @@ -5911,6 +6794,10 @@ . \} . \} . fc +. if \\n[#PRINT_STYLE]=2 \{\ +. ie \\n[#HDRFTR_COLOR]=1 \m[\\*[$HDRFTR_COLOR]] +. el \m[black] +. \} . if \\n[#HDRFTR_RULE] \{\ . HDRFTR_RULE_INTERNAL . \} @@ -5987,26 +6874,31 @@ . if \\n[#RESET_FN_NUMBER] \{ .nr #FN_NUMBER 0 1 \} . po \\n[#DOC_L_MARGIN]u . if \\n[#RECTO_VERSO] \{\ -. nr #DOC_LR_MARGIN_TMP \\n[#DOC_L_MARGIN] -. DOC_LEFT_MARGIN \\n[#DOC_R_MARGIN]u -. DOC_RIGHT_MARGIN \\n[#DOC_LR_MARGIN_TMP]u +. if !\\n[#TOC_RV_SWITCH] \{\ +. nr #DOC_LR_MARGIN_TMP \\n[#DOC_L_MARGIN] +. DOC_LEFT_MARGIN \\n[#DOC_R_MARGIN]u +. DOC_RIGHT_MARGIN \\n[#DOC_LR_MARGIN_TMP]u +. SWITCH_HDRFTR_CENTER_PAD +. \} +. rr #TOC_RV_SWITCH . \} . ev HEADER -. if \\n[#PRINT_STYLE]=1 \{ .vs 0 \} -. if \\n[#PRINT_STYLE]=2 \{ .LS 0 \} +. if \\n[#PAGE_NUM_V_POS]=1 \{ .vs 0 \} . sp |\\n[#HEADER_MARGIN]u-1v +. mk y . ll \\n[#DOC_L_LENGTH]u . ta \\n(.lu -. if \\n[#PRINT_STYLE]=2 \{\ -. FAMILY \\*[$HDRFTR_FAM] -. FT R -. PT_SIZE \\n[#DOC_PT_SIZE]u\\*[$HDRFTR_SIZE_CHANGE] -. \} . if \\n[#PRINT_STYLE]=1 \{\ . fam C . ft R . ps 12\\*[$HDRFTR_SIZE_CHANGE] . \} +. if \\n[#PRINT_STYLE]=2 \{\ +. fam \\*[$HDRFTR_FAM] +. ft R +. ps \\n[#DOC_PT_SIZE]u\\*[$HDRFTR_SIZE_CHANGE] +. vs 12 +. \} . nr #HDRFTR_PT_SIZE \\n[#PT_SIZE] . if \\n[#CAPS_ON] \{\ . nr #CAPS_WAS_ON 1 @@ -6016,6 +6908,14 @@ . nr #UNDERLINE_WAS_ON 1 . UNDERLINE OFF . \} +. if \\n[#PRINT_STYLE]=1 \{\ +. if \\n[#ENDNOTES]=1 \{\ +. if \\n[#EN_SINGLESPACE] \{\ \"Endnotes s-spaced have different lead +. nr #RESTORE_DOC_LEAD \\n[#DOC_LEAD] +. nr #DOC_LEAD \\n[#EN_LEAD]u +. \} +. \} +. \} . ie \\n[#HEADERS_ON] \{\ . PRINT_HDRFTR . sp |\\n[#T_MARGIN]u-\\n[#DOC_LEAD]u @@ -6030,6 +6930,14 @@ . \} . el \{ .sp |\\n[#T_MARGIN]u-\\n[#DOC_LEAD]u \} . \} +. if \\n[#PRINT_STYLE]=1 \{\ +. if \\n[#ENDNOTES]=1 \{\ +. if \\n[#EN_SINGLESPACE] \{\ +. nr #DOC_LEAD \\n[#RESTORE_DOC_LEAD]u +. rr #RESTORE_DOC_LEAD +. \} +. \} +. \} . nr #PAGE_TOP \\n(nl . ev . po \\n[#L_MARGIN]u @@ -6067,15 +6975,18 @@ . el \{\ . ie \\n[#EPI_FITS] \{ .ns \} . el \{ .ALD \\n[#DOC_LEAD]u-\\n[#EPI_LEAD]u \} -. \} +. \} . \} . el \{ .ns \} . ns . if \\n[#COLUMNS] \{\ +. nr #L_MARGIN \\n[#DOC_L_MARGIN] . if \\n[#RECTO_VERSO] \{ .COLUMNS \\n[#NUM_COLS] \\n[#GUTTER]u \} . nr #COL_NUM 0 1 . mk dc . po \\n[#COL_\\n+[#COL_NUM]_L_MARGIN]u +. nr #L_MARGIN \\n(.o +. if \\n[#TAB_ACTIVE] \{ .TAB \\n[#CURRENT_TAB] \} . ll \\n[#COL_L_LENGTH]u . ta \\n(.lu . if \\n[#QUOTE] \{\ @@ -6167,13 +7078,23 @@ \# .MAC FOOTER END . ev PAGE_BOTTOM +\# Removed this next bit; can't figure out why I needed it. +\#. if \\n[#START]=1 \{\ +\#. bp +\#. ev +\#. rr #START +\#. return +\#. \} . nr #L_MARGIN_DIFF \\n[#L_MARGIN]-\\n[#DOC_L_MARGIN] . if !\\n[#FN_DEFER] \{\ . nr #DIVER_DEPTH 0 . if \\n[#FN_COUNT] \{\ . sp |\\n[#PAGE_LENGTH]u-(\\n[#B_MARGIN]u+\\n[#FN_DEPTH]u) . po \\n[#DOC_L_MARGIN]u -. if \\n[#COLUMNS] \{ .po \\n[#COL_\\n[#COL_NUM]_L_MARGIN]u \} +. if \\n[#COLUMNS] \{\ +. po \\n[#COL_\\n[#COL_NUM]_L_MARGIN]u +. nr #L_MARGIN \\n(.o +. \} . nf . FOOTNOTES . rm FOOTNOTES @@ -6188,20 +7109,29 @@ . ie \\n[#COLUMNS] \{\ . ie \\n[#COL_NUM]=\\n[#NUM_COLS] \{ .DO_FOOTER \} . el \{\ -. sp |\\n(dcu +. ie \\n[#ENDNOTES] \{ .sp |\\n(ecu-\\n[#EN_LEAD]u \} +. el \{ .sp |\\n(dcu \} . po \\n[#COL_\\n+[#COL_NUM]_L_MARGIN]u +. nr #L_MARGIN \\n(.o . PROCESS_FN_LEFTOVER . if !\\n[#EPIGRAPH] \{ .rr #COL_NEXT \} . if !\\n[#QUOTE] \{ .rr #COL_NEXT \} +. if \\n[#TAB_ACTIVE] \{ .TAB \\n[#CURRENT_TAB] \} . if \\n[#QUOTE] \{\ -. nr #Q_OFFSET \\n[#L_MARGIN]+(\\n[#PP_INDENT]*\\n[#Q_OFFSET_VALUE]) -. if \\n[#COLUMNS] \{ .nr #Q_OFFSET \\n[#COL_\\n[#COL_NUM]_L_MARGIN]+(\\n[#PP_INDENT]*\\n[#Q_OFFSET_VALUE]) \} -. po \\n[#Q_OFFSET]u +. ie \\n[#TAB_ACTIVE] \{ .TAB \\n[#CURRENT_TAB] \} +. el \{\ +. nr #Q_OFFSET \\n[#L_MARGIN]+(\\n[#PP_INDENT]*\\n[#Q_OFFSET_VALUE]) +. if \\n[#COLUMNS] \{ .nr #Q_OFFSET \\n[#COL_\\n[#COL_NUM]_L_MARGIN]+(\\n[#PP_INDENT]*\\n[#Q_OFFSET_VALUE]) \} +. po \\n[#Q_OFFSET]u +. \} . \} . if \\n[#EPIGRAPH] \{\ -. nr #EPI_OFFSET \\n[#L_MARGIN]+(\\n[#PP_INDENT]*\\n[#EPI_OFFSET_VALUE]) -. if \\n[#COLUMNS] \{ .nr #EPI_OFFSET \\n[#COL_\\n[#COL_NUM]_L_MARGIN]+(\\n[#PP_INDENT]*\\n[#EPI_OFFSET_VALUE]) \} -. po \\n[#EPI_OFFSET]u +. ie \\n[#TAB_ACTIVE] \{ .TAB \\n[#CURRENT_TAB] \} +. el \{\ +. nr #EPI_OFFSET \\n[#L_MARGIN]+(\\n[#PP_INDENT]*\\n[#EPI_OFFSET_VALUE]) +. if \\n[#COLUMNS] \{ .nr #EPI_OFFSET \\n[#COL_\\n[#COL_NUM]_L_MARGIN]+(\\n[#PP_INDENT]*\\n[#EPI_OFFSET_VALUE]) \} +. po \\n[#EPI_OFFSET]u +. \} . \} . ie \\n[#EPIGRAPH] \{\ . ie !\\n[#EPI_ACTIVE] \{\ @@ -6231,7 +7161,14 @@ \# Resets CAPS and UNDERLINE if they were on. \# .MAC DO_FOOTER END -. sp |\\n[#PAGE_LENGTH]u-\\n[#FOOTER_MARGIN]u-1v +. ie (\\n[#FOOTER_MARGIN]+\\n(.v)>\\n[#B_MARGIN] \{\ +. nr #SKIP_FOOTER 1 +. \} +. el \{\ +. vs 12 +. sp |\\n[#PAGE_LENGTH]u-\\n[#FOOTER_MARGIN]u-1v +. mk y +. \} . ev FOOTER . po \\n[#DOC_L_MARGIN]u . ll \\n[#DOC_L_LENGTH]u @@ -6254,13 +7191,16 @@ . UNDERLINE OFF . \} . ie \\n[#FOOTERS_ON] \{\ -. PRINT_HDRFTR +. if !\\n[#SKIP_FOOTER]=1 \{ .PRINT_HDRFTR \} . \} . el \{\ . if \\n[#PAGINATE] \{\ -. if \\n[#PAGE_NUM_V_POS]=2 \{ .PRINT_PAGE_NUMBER \} +. if \\n[#PAGE_NUM_V_POS]=2 \{\ +. if !\\n[#SKIP_FOOTER]=1 \{ .PRINT_PAGE_NUMBER \} +. \} . \} . \} +. rr #SKIP_FOOTER . if \\n[#CAPS_WAS_ON] \{\ . CAPS . rr #CAPS_WAS_ON @@ -6473,6 +7413,23 @@ .END \# \# +\# HEAD COLOR +\# ---------- +\# *Arguments: +\# +\# *Function: +\# Defines string $HEAD_COLOR to argument. +\# *Notes: +\# User must define an XCOLOR or NEWCOLOR before using +\# HEAD_COLOR. +\# +.MAC HEAD_COLOR END +. if \\n[#PRINT_STYLE]=1 \{ .return \} +. nr #HEAD_COLOR 1 +. ds $HEAD_COLOR \\$1 +.END +\# +\# \# HEAD SPACE \# ---------- \# *Arguments: @@ -6519,23 +7476,87 @@ \# .MAC HEAD END . br +\# Collect head for TOC. . nr #ARG_NUM 0 1 -. nr #HEAD 1 -. ev HEAD -. ll \\n[#L_LENGTH]u -. ta \\n(.lu -. if \\n[#COLUMNS] \{\ -. ll \\n[#COL_L_LENGTH]u -. ta \\n(.lu -. \} -. CHECK_INDENT -. QUAD \\*[$HEAD_QUAD] -. if \\n[#PRINT_STYLE]=1 \{\ -. fam C -. ft R -. ps 12 -. vs \\n[#DOC_LEAD]u -. UNDERLINE OFF +. nr #TOC_ENTRY_PN \\n%+\\n[#PAGE_NUM_ADJ] +. af #TOC_ENTRY_PN \\g[#PAGENUMBER] +. while \\n[#ARG_NUM]<\\n[#NUM_ARGS] \{\ +. ie \\n[#ARG_NUM]=\\n[#NUM_ARGS] \{\ +. as $TOC_HEAD_ITEM \\$[\\n+[#ARG_NUM]]\\| +. \} +. el \{\ +\# Note that in the .as lines, below, \ at the end has a literal +\# space after it. +. ie \\n[#NUMBER_HEAD] \{\ +. ie \\n[#ARG_NUM]=0 \{\ +. as $TOC_HEAD_ITEM \\n+[#HEAD_NUM].\0\\$[\\n+[#ARG_NUM]]\ +. nr #HEAD_NUM \\n-[#HEAD_NUM] +. \} +. el \{\ +. as $TOC_HEAD_ITEM \\$[\\n+[#ARG_NUM]]\ +. \} +. \} +. el \{\ +. as $TOC_HEAD_ITEM \\$[\\n+[#ARG_NUM]]\ +. \} +. \} +. \} +\# Note the use of \!, which transparently embeds the macros used +\# in the TOC_ENTRIES diversion. The elements they control must be +\# processed literally when the diversion is output. +. ev TOC_EV +. da TOC_ENTRIES +. if \\n[#PRINT_STYLE]=1 \{\ +\!. fam C +\!. ft R +\!. ps 12 +. \} +. if \\n[#PRINT_STYLE]=2 \{\ +\!. FAMILY \\*[$TOC_HEAD_FAM] +\!. FT \\*[$TOC_HEAD_FT] +\!. PT_SIZE \\n[#TOC_PS]u\\*[$TOC_HEAD_SIZE_CHANGE] +. \} +\!. TRAP OFF +. ie \\n[#PRINT_STYLE]=1 \{\ +\!. PAD "\\h'2m'\\*[$TOC_HEAD_ITEM]\\*[$TOC_PN_TYPEWRITE]" +. \} +. el \{\ +\!. PAD "\\h'\\n[#TOC_HEAD_INDENT]u'\\*[$TOC_HEAD_ITEM]\\*[$TOC_PN]" +. \} +\!. EL +\!. ST 100 L +\!. ST 101 R +. if \\n[#PRINT_STYLE]=2 \{\ +\!. FAMILY \\*[$TOC_PN_FAM] +\!. FT \\*[$TOC_PN_FT] +\!. PT_SIZE \\n[#TOC_PS]u\\*[$TOC_PN_SIZE_CHANGE] +. \} +\!. TAB 100 +\!. PRINT \\*[LEADER] +\!. TN +\!. TRAP +\!. PRINT \\n[#TOC_ENTRY_PN] +\!. TQ +. di +. ev +\# End collection of head for TOC +\# Process head +. nr #HEAD 1 +. ev HEAD +. ll \\n[#L_LENGTH]u +. ta \\n(.lu +. if \\n[#COLUMNS] \{\ +. ll \\n[#COL_L_LENGTH]u +. ta \\n(.lu +. \} +. CHECK_INDENT +. QUAD \\*[$HEAD_QUAD] +. if \\n[#PRINT_STYLE]=1 \{\ +. fam C +. ft R +. ps 12 +. vs \\n[#DOC_LEAD]u +. UNDERLINE OFF . \} . if \\n[#PRINT_STYLE]=2 \{\ . FAMILY \\*[$HEAD_FAM] @@ -6547,8 +7568,8 @@ . if r#EPIGRAPH \{ .rr #EPIGRAPH \} . if \\n[#PRINT_STYLE]=1 \{ .ne 3 \} . if \\n[#PRINT_STYLE]=2 \{\ -. ie \\n[#HEAD_SPACE] \{ .ne 4 \} -. el \{ .ne 3 \} +. ie \\n[#HEAD_SPACE] \{ .ne 4 \} +. el \{ .ne 3 \} . \} . ie \\n[#START] \{\ . if \\n[#DOC_HEADER]=0 \{ . \} @@ -6574,7 +7595,7 @@ . el \{ .ALD \\n[#DOC_LEAD]u \} . \} . if \\n[#END_QUOTE] \{\ -. if !\\n[#Q_FITS] \{\ +. if !\\n[#Q_FITS] \{\ . RLD \\n[#DOC_LEAD]u . if \\n[#PP_ACTIVE] \{ .ALD \\n[#DOC_LEAD]u \} . \} @@ -6588,7 +7609,17 @@ . \} . \} . \} +\# Print head +. nr #ARG_NUM 0 1 . if \\n[#HEAD_CAPS] \{ .CAPS \} +. if \\n[#PRINT_STYLE]=2 \{\ +. if \\n[#HEAD_COLOR]=1 \{\ +. TRAP OFF +. COLOR \\*[$HEAD_COLOR] +. EL +. TRAP +. \} +. \} . while \\n[#ARG_NUM]<\\n[#NUM_ARGS] \{\ . ie \\n[#NUMBER_HEAD] \{\ . ie \\n[#ARG_NUM]=0 \{\ @@ -6626,6 +7657,7 @@ . if r#Q_AT_TOP \{ .rr #Q_AT_TOP \} . if r#PP_ACTIVE \{ .rr #PP_ACTIVE \} . rr #ARG_NUM +. rm $TOC_HEAD_ITEM . nr #PP 0 .END \# @@ -6677,6 +7709,23 @@ .END \# \# +\# SUBHEAD COLOR +\# ------------- +\# *Arguments: +\# +\# *Function: +\# Defines string $SH_COLOR to argument. +\# *Notes: +\# User must define an XCOLOR or NEWCOLOR before using +\# SUBHEAD_COLOR. +\# +.MAC SUBHEAD_COLOR END +. if \\n[#PRINT_STYLE]=1 \{ .return \} +. nr #SH_COLOR 1 +. ds $SH_COLOR \\$1 +.END +\# +\# \# SUBHEAD QUAD \# ------------ \# *Argument: @@ -6707,6 +7756,70 @@ \# .MAC SUBHEAD END . br +\# Collect subhead for TOC. +. nr #ARG_NUM 0 1 +. nr #TOC_ENTRY_PN \\n%+\\n[#PAGE_NUM_ADJ] +. while \\n[#ARG_NUM]<\\n[#NUM_ARGS] \{\ +. ie \\n[#ARG_NUM]=\\n[#NUM_ARGS] \{\ +. as $TOC_SH_ITEM \\$[\\n+[#ARG_NUM]]\\| +. \} +. el \{\ +\# Note that in the .as lines, below, \ at the end has a literal +\# space after it. +. ie \\n[#NUMBER_SH] \{\ +. ie \\n[#ARG_NUM]=0 \{\ +. as $TOC_SH_ITEM \\n+[#SH_NUM].\0\\$[\\n+[#ARG_NUM]]\ +. nr #SH_NUM \\n-[#SH_NUM] +. \} +. el \{\ +. as $TOC_SH_ITEM \\$[\\n+[#ARG_NUM]]\ +. \} +. \} +. el \{\ +. as $TOC_SH_ITEM \\$[\\n+[#ARG_NUM]]\ +. \} +. \} +. \} +\# Note the use of \!, which transparently embeds the macros used +\# in the TOC_ENTRIES diversion. The elements they control must be +\# processed literally when the diversion is output. +. ev TOC_EV +. da TOC_ENTRIES +. if \\n[#PRINT_STYLE]=1 \{\ +\!. fam C +\!. ft R +\!. ps 12 +. \} +. if \\n[#PRINT_STYLE]=2 \{\ +\!. FAMILY \\*[$TOC_SH_FAM] +\!. FT \\*[$TOC_SH_FT] +\!. PT_SIZE \\n[#TOC_PS]u\\*[$TOC_SH_SIZE_CHANGE] +. \} +\!. TRAP OFF +. ie \\n[#PRINT_STYLE]=1 \{\ +\!. PAD "\\h'4m'\\*[$TOC_SH_ITEM]\\*[$TOC_PN_TYPEWRITE]" +. \} +. el \{\ +\!. PAD "\\h'\\n[#TOC_SH_INDENT]u'\\*[$TOC_SH_ITEM]\\*[$TOC_PN]" +. \} +\!. EL +\!. ST 100 L +\!. ST 101 R +. if \\n[#PRINT_STYLE]=2 \{\ +\!. FAMILY \\*[$TOC_PN_FAM] +\!. FT \\*[$TOC_PN_FT] +\!. PT_SIZE \\n[#TOC_PS]u\\*[$TOC_PN_SIZE_CHANGE] +. \} +\!. TAB 100 +\!. PRINT \\*[LEADER] +\!. TN +\!. TRAP +\!. PRINT \\n[#TOC_ENTRY_PN] +\!. TQ +. di +. ev +\# End collection of head for TOC +\# Process subhead . nr #ARG_NUM 0 1 . if r#QUOTE \{ .rr #QUOTE \} . if r#Q_AT_TOP \{ .rr #Q_AT_TOP \} @@ -6759,6 +7872,7 @@ . \} . \} . \} +\# Print subhead . if \\n[#PRINT_STYLE]=1 \{\ . while \\n[#ARG_NUM]<\\n[#NUM_ARGS] \{\ . ie \\n[#NUMBER_SH] \{\ @@ -6792,6 +7906,7 @@ . if \\n[#SINGLE_SPACE] \{ .ALD \\n[#DOC_LEAD]u \} . \} . if \\n[#PRINT_STYLE]=2 \{\ +. if \\n[#SH_COLOR]=1 \{ .COLOR \\*[$SH_COLOR] \} . ie \\n[#PP_SPACE]=0 \{\ . while \\n[#ARG_NUM]<\\n[#NUM_ARGS] \{\ . ie \\n[#NUMBER_SH] \{\ @@ -6839,6 +7954,7 @@ . if r#Q_FITS \{ .rr #Q_FITS \} . if r#END_QUOTE \{ .rr #END_QUOTE \} . if r#LINEBREAK \{ .rr #LINEBREAK \} +. rm $TOC_SH_ITEM . nr #PP 0 . nr #HEAD 2 .END @@ -6890,6 +8006,23 @@ .END \# \# +\# PARAHEAD COLOR +\# -------------- +\# *Arguments: +\# +\# *Function: +\# Defines string $PH_COLOR to argument. +\# *Notes: +\# User must define an XCOLOR or NEWCOLOR before using +\# PARAHEAD_COLOR. +\# +.MAC PARAHEAD_COLOR END +. if \\n[#PRINT_STYLE]=1 \{ .return \} +. nr #PH_COLOR 1 +. ds $PH_COLOR \\$1 +.END +\# +\# \# PARAHEAD INDENT \# --------------- \# *Argument: @@ -6915,6 +8048,52 @@ \# PARAHEAD *must* come after PP. \# .MAC PARAHEAD END +\# Collect parahead for TOC. +. nr #TOC_ENTRY_PN \\n%+\\n[#PAGE_NUM_ADJ] +. ie \\n[#NUMBER_PH] \{\ +. ds $TOC_PH_ITEM \\n+[#PH_NUM].\0\\$1\\| +. nr #PH_NUM \\n-[#PH_NUM] +. \} +. el \{\ +. ds $TOC_PH_ITEM \\$1\\| +. \} +. ev TOC_EV +. da TOC_ENTRIES +. if \\n[#PRINT_STYLE]=1 \{\ +\!. fam C +\!. ft R +\!. ps 12 +. \} +. if \\n[#PRINT_STYLE]=2 \{\ +\!. FAMILY \\*[$TOC_PH_FAM] +\!. FT \\*[$TOC_PH_FT] +\!. PT_SIZE \\n[#TOC_PS]u\\*[$TOC_PH_SIZE_CHANGE] +. \} +\!. TRAP OFF +. ie \\n[#PRINT_STYLE]=1 \{\ +\!. PAD "\\h'6m'\\*[$TOC_PH_ITEM]\\*[$TOC_PN_TYPEWRITE]" +. \} +. el \{\ +\!. PAD "\\h'\\n[#TOC_PH_INDENT]u'\\*[$TOC_PH_ITEM]\\*[$TOC_PN]" +. \} +\!. EL +\!. ST 100 L +\!. ST 101 R +. if \\n[#PRINT_STYLE]=2 \{\ +\!. FAMILY \\*[$TOC_PN_FAM] +\!. FT \\*[$TOC_PN_FT] +\!. PT_SIZE \\n[#TOC_PS]u\\*[$TOC_PN_SIZE_CHANGE] +. \} +\!. TAB 100 +\!. PRINT \\*[LEADER] +\!. TN +\!. TRAP +\!. PRINT \\n[#TOC_ENTRY_PN] +\!. TQ +. di +. ev +\# End collection of parahead for TOC +\# Process parahead . if \\n[#SLANT_ON] \{\ . nr #SLANT_WAS_ON 1 \E*[SLANTX] @@ -6970,38 +8149,42 @@ . FAM \\*[$PH_FAM] . FT \\*[$PH_FT] . PT_SIZE \\*[$PH_SIZE_CHANGE] -. ie \\n[#NUMBER_PH] \{\ -. if \\n[#NUMBER_HEAD] \{\ +. if \\n[#PH_COLOR]=1 \{ .COLOR \\*[$PH_COLOR] \} +. ie \\n[#NUMBER_PH] \{\ +. if \\n[#NUMBER_HEAD] \{\ +. ie \\n[#NUMBER_SH] \{\ +. PRINT "\R'#NUMBERED 1'\\n[#HEAD_NUM].\\n[#SH_NUM].\\n+[#PH_NUM].\0\\$1\h'.6m'\c" +. \} +. el \{\ +. PRINT "\R'#NUMBERED 1'\\n[#HEAD_NUM].\\n+[#PH_NUM].\0\\$1\h'.6m'\c" +. \} +. \} . ie \\n[#NUMBER_SH] \{\ -. PRINT "\R'#NUMBERED 1'\\n[#HEAD_NUM].\\n[#SH_NUM].\\n+[#PH_NUM].\0\\$1\h'.6m'\c" +. if !\\n[#NUMBERED] \{\ +. PRINT "\\n[#SH_NUM].\\n+[#PH_NUM].\0\\$1\h'.6m'\c" +. \} . \} . el \{\ -. PRINT "\R'#NUMBERED 1'\\n[#HEAD_NUM].\\n+[#PH_NUM].\0\\$1\h'.6m'\c" -. \} -. \} -. ie \\n[#NUMBER_SH] \{\ -. if !\\n[#NUMBERED] \{\ -. PRINT "\\n[#SH_NUM].\\n+[#PH_NUM].\0\\$1\h'.6m'\c" +. if !\\n[#NUMBERED] \{\ +. PRINT "\\n+[#PH_NUM].\0\\$1\h'.6m'\c" +. \} . \} . \} . el \{\ -. if !\\n[#NUMBERED] \{\ -. PRINT "\\n+[#PH_NUM].\0\\$1\h'.6m'\c" -. \} +. PRINT "\\$1\h'.6m'\c" . \} . \} -. el \{\ -. PRINT "\\$1\h'.6m'\c" -. \} . FAMILY \\*[$DOC_FAM] . FT \\*[$PP_FT] . PT_SIZE \\n[#DOC_PT_SIZE]u +. if \\n[#PH_COLOR]=1 \m[]\c . if \\n[#SLANT_WAS_ON] \{\ . rr #SLANT_WAS_ON 1 \E*[SLANT]\c . \} . \} . rr #NUMBERED +. rm $TOC_PH_ITEM .END \# \# @@ -7037,6 +8220,22 @@ .END \# \# +\# LINEBREAK COLOR +\# --------------- +\# *Arguments: +\# +\# *Function: +\# Defines string $LINEBREAK_COLOR to argument. +\# *Notes: +\# User must define an XCOLOR or NEWCOLOR before using +\# LINEBREAK_COLOR. +\# +.MAC LINEBREAK_COLOR END +. if \\n[#PRINT_STYLE]=1 \{ .return \} +. ds $LINEBREAK_COLOR \\$1 +.END +\# +\# \# LINE BREAK \# ---------- \# *Arguments: @@ -7059,10 +8258,13 @@ . ie \\n[#END_QUOTE] \{ . \} . el \{ .ALD \\n[#DOC_LEAD]u \} . \} +. ev LINEBREAK +. evc 0 . CENTER -. PRINT \\v'\\*[$LINEBREAK_CHAR_V_ADJ]'\\*[$LINEBREAK_CHAR]\\v'\\*[$LINEBREAK_CHAR_V_ADJ]' +. PRINT \m[\\*[$LINEBREAK_COLOR]]\\v'\\*[$LINEBREAK_CHAR_V_ADJ]'\\*[$LINEBREAK_CHAR]\\v'\\*[$LINEBREAK_CHAR_V_ADJ]'\m[] . if \\n[#PRINT_STYLE]=1 \{ .ALD \\n[#DOC_LEAD]u \} . if \\n[#PRINT_STYLE]=2 \{ .ALD \\n[#DOC_LEAD]u \} +. ev . QUAD \\*[$DOC_QUAD] . \} . nr #LINEBREAK 1 @@ -7165,30 +8367,22 @@ . br . if \\n[#DOC_TYPE]=4 \{\ . if !'\\n(.z'' \{ .di \} -. if \\n[#DATE] \{\ -. nf -. DATE -. QUAD \\*[$DOC_QUAD] -. ALD \\n[#DOC_LEAD]u*2u -. rr #DATE -. \} -. if \\n[#TO] \{\ -. nf -. TO_ADDRESS -. ALD \\n[#DOC_LEAD]u -. rr #TO -. \} -. if \\n[#FROM] \{\ -. nf -. FROM_ADDRESS -. ALD \\n[#DOC_LEAD]u -. rr #FROM -. \} -. if \\n[#GREETING] \{\ -. nf -. GREETING -. ALD \\n[#DOC_LEAD]u -. rr #GREETING +. nr #TOTAL_FIELDS \\n[#FIELD] +. nr #FIELD 0 1 +. nr #NUM_FIELDS 0 1 +. if \\n[#TOTAL_FIELDS]>0 \{\ +. while \\n+[#NUM_FIELDS]<=\\n[#TOTAL_FIELDS] \{\ +. nf +. LETTERHEAD\\n+[#FIELD] +. QUAD \\*[$DOC_QUAD] +. ALD \\n[#DOC_LEAD]u +. if \\n[#DATE_FIRST]=1 \{ .ALD \\n[#DOC_LEAD]u \} +. rr #DATE_FIRST +. rm LETTERHEAD\\n[#FIELD] +. \} +. rr #FIELD +. rr #NUM_FIELDS +. rr #TOTAL_FIELDS . \} . \} . rr #PP_ACTIVE @@ -7202,14 +8396,18 @@ . br . if !\\n[#ENDNOTE] \{ .po \\n[#L_MARGIN]u \} . if \\n[#COLUMNS] \{\ -. if !\\n[#ENDNOTE] \{ .po \\n[#COL_\\n[#COL_NUM]_L_MARGIN]u \} +. if !\\n[#ENDNOTE] \{\ +. po \\n[#COL_\\n[#COL_NUM]_L_MARGIN]u +. nr #L_MARGIN \\n(.o +. \} . \} . if \\n[#TAB_ACTIVE] \{ .TAB \\n[#CURRENT_TAB] \} . ie \\n[#PRINT_STYLE]=1 \{\ . fam C . ft R . ps 12 -. vs \\n[#DOC_LEAD]u +. ie \\n[#ENDNOTE] \{ .vs \\n[#EN_LEAD]u \} +. el \{ .vs \\n[#DOC_LEAD]u \} . QUAD \\*[$DOC_QUAD] . UNDERLINE OFF . if \\n[#SLANT_ON] \{\ @@ -7221,7 +8419,7 @@ . FAMILY \\*[$EN_FAM] . FT \\*[$EN_FT] . PT_SIZE \\n[#EN_PS]u -. LS \\n[#DOC_LEAD]u +. vs \\n[#EN_LEAD]u . QUAD \\*[$EN_QUAD] . \} . el \{\ @@ -7276,8 +8474,8 @@ . if r#Q_FITS \{ .rr #Q_FITS \} . if r#LINEBREAK \{ .rr #LINEBREAK \} . if \\n[#ENDNOTE] \{\ -. ie \\n[#RESET_PARA_SPACE] \{ .PARA_SPACE \} -. el \{ .PARA_SPACE OFF \} +. ie \\n[#RESET_PARA_SPACE] \{ .PARA_SPACE \} +. el \{ .PARA_SPACE OFF \} . \} . if \\n[#CONDENSE] \{\ \E*[COND]\c @@ -7368,6 +8566,24 @@ .END \# \# +\# QUOTE COLOR +\# ----------- +\# *Arguments: +\# +\# *Function: +\# Sets register #QUOTE_COLOR to 1; defines string $QUOTE_COLOR to +\# argument. +\# *Notes: +\# User must define an XCOLOR or NEWCOLOR before using +\# QUOTE_COLOR. +\# +.MAC QUOTE_COLOR END +. if \\n[#PRINT_STYLE]=1 \{ .return \} +. nr #QUOTE_COLOR 1 +. ds $QUOTE_COLOR \\$1 +.END +\# +\# \# UNDERLINE QUOTES \# ---------------- \# *Arguments: @@ -7453,6 +8669,11 @@ . PT_SIZE \\n[#DOC_PT_SIZE]u\\*[$QUOTE_SIZE_CHANGE] . LS \\n[#DOC_LEAD]u . LEFT +. if \\n[#QUOTE_COLOR]=1 \{\ +. nf +\m[\\*[$QUOTE_COLOR]] +. EL +. \} . \} . nr #Q_TOP \\n(nl . if \\n[#PRINT_STYLE]=1 \{\ @@ -7512,6 +8733,24 @@ .END \# \# +\# BLOCKQUOTE COLOR +\# ---------------- +\# *Arguments: +\# +\# *Function: +\# Sets register #BQUOTE_COLOR to 1; defines string +\# $BQUOTE_COLOR to argument. +\# *Notes: +\# User must define an XCOLOR or NEWCOLOR before using +\# BLOCKQUOTE_COLOR. +\# +.MAC BLOCKQUOTE_COLOR END +. if \\n[#PRINT_STYLE]=1 \{ .return \} +. nr #BQUOTE_COLOR 1 +. ds $BQUOTE_COLOR \\$1 +.END +\# +\# \# BLOCKQUOTE QUAD \# --------------- \# *Arguments: @@ -7588,7 +8827,12 @@ . if \\n[#ENDNOTE] \{\ . PT_SIZE \\n[#EN_PS]u\\*[$BQUOTE_SIZE_CHANGE] . \} -. QUAD \\*[$BQUOTE_QUAD] +. if \\n[#BQUOTE_COLOR]=1 \{\ +. nf +\m[\\*[$BQUOTE_COLOR]] +. EL +. \} +. QUAD \\*[$BQUOTE_QUAD] . HY . \} . nr #Q_TOP \\n(nl @@ -7615,7 +8859,7 @@ \# \# *Function: \# Ends the diversion P_QUOTE or B_QUOTE. Spaces them according to -\# PRINT_STYLE, whether there's inter-paragraph spacing, and page +\# PRINTSTYLE, whether there's inter-paragraph spacing, and page \# position. TYPEWRITE treats spacing the same way in all circumstance \# (viz. an extra line space). TYPESET puts in only half \# line spaces if the entire quote plus 1 line of body under the quote @@ -7657,11 +8901,15 @@ . ie \\n[#START] \{ . \} . el \{\ . ie \\n[#FULLSPACE_QUOTES] \{\ -. ie \\n[#ENDNOTE] \{ .ALD \\n[#EN_LEAD]u \} +. ie \\n[#ENDNOTE] \{\ +. ALD \\n[#EN_LEAD]u +. \} . el \{ .ALD \\n[#DOC_LEAD]u \} . \} . el \{\ -. ie \\n[#ENDNOTE] \{ .ALD \\n[#EN_LEAD]u/2u \} +. ie \\n[#ENDNOTE] \{\ +. ALD \\n[#EN_LEAD]u/2u +. \} . el \{ .ALD \\n[#DOC_LEAD]u/2u \} . \} . \} @@ -7710,14 +8958,14 @@ . ie \\n[#HEAD]=1 \{ .ALD \\n[#DOC_LEAD]u \} . el \{\ . ie \\n[#Q_FITS] \{\ -. ie \\n[#Q_TOP]=\\n[#PAGE_TOP] \{\ -. nr #Q_AT_TOP 1 -. ALD \\n[#DOC_LEAD]u -. \} -. el \{\ -. ie \\n[#FULLSPACE_QUOTES] \{ .ALD \\n[#DOC_LEAD]u \} -. el \{ .ALD \\n[#DOC_LEAD]u/2u \} -. \} +. ie \\n[#Q_TOP]=\\n[#PAGE_TOP] \{\ +. nr #Q_AT_TOP 1 +. ALD \\n[#DOC_LEAD]u +. \} +. el \{\ +. ie \\n[#FULLSPACE_QUOTES] \{ .ALD \\n[#DOC_LEAD]u \} +. el \{ .ALD \\n[#DOC_LEAD]u/2u \} +. \} . \} . el \{ .ALD \\n[#DOC_LEAD]u \} . \} @@ -7736,7 +8984,10 @@ . in \\n[#EN_TEXT_INDENT]u . \} . if \\n[#COLUMNS] \{\ -. if !\\n[#ENDNOTE] \{ .po \\n[#COL_\\n[#COL_NUM]_L_MARGIN]u \} +. if !\\n[#ENDNOTE] \{\ +. po \\n[#COL_\\n[#COL_NUM]_L_MARGIN]u +. nr #L_MARGIN \\n(.o +. \} . if \\n[#ENDNOTE] \{\ . in \\n[#EN_TEXT_INDENT]u . \} @@ -7780,7 +9031,7 @@ . nr #BROKEN_QUOTE 1 . REMOVE_INDENT . ev -. nr #Q_DEPTH \\n[#DIVER_DEPTH]+(\\n[#LEAD]*1) +. nr #Q_DEPTH \\n[#DIVER_DEPTH]+\\n[#LEAD] . if \\n[#PRINT_STYLE]=1 \{\ . if !\\n[#LINEBREAK] \{ .ALD \\n[#DOC_LEAD]u \} . if \\n[#HEAD] \{\ @@ -7826,7 +9077,10 @@ . \} . \} . po \\n[#L_MARGIN]u -. if \\n[#COLUMNS] \{ .po \\n[#COL_\\n[#COL_NUM]_L_MARGIN]u \} +. if \\n[#COLUMNS] \{\ +. po \\n[#COL_\\n[#COL_NUM]_L_MARGIN]u +. nr #L_MARGIN \\n(.o +. \} . QUAD \\*[$DOC_QUAD] . sp |\\n[#PAGE_LENGTH]u \" To trip footer/header . BLOCKQUOTE @@ -7841,9 +9095,8 @@ \# *Arguments: \# | \# *Function: -\# Turns page numbering off or on. +\# Turns page numbering off or on during document processing. \# *Notes: -\# Page numbering is on by default with .PAPER. \# Default is on. \# .MAC PAGINATE END @@ -7852,6 +9105,36 @@ .END \# \# +\# SUSPEND PAGINATION (before ENDNOTES) +\# ------------------ +\# *Argument: +\# +\# *Function: +\# Creates register #SUSPEND_PAGINATION +\# *Notes: +\# Useful only to suspend pagination before outputting endnotes. +\# +.MAC SUSPEND_PAGINATION END +. nr #SUSPEND_PAGINATION 1 +.END +\# +\# RESTORE PAGINATION (after ENDNOTES) +\# ------------------ +\# *Argument: +\# +\# *Function: +\# Removes register #SUSPEND_PAGINATION. Creates register +\# #DEFER_PAGINATION +\# *Notes: +\# Useful only to restore pagination after outputting endnotes. +\# +.MAC RESTORE_PAGINATION END +. rr #SUSPEND_PAGINATION +. if \\n[#PAGE_NUM_V_POS]=1 \{ .PAGINATE \} +. if \\n[#PAGE_NUM_V_POS]=2 \{ .nr #DEFER_PAGINATION 1 \} +.END +\# +\# \# PAGENUMBER FAMILY \# ----------------- \# *Argument: @@ -7897,6 +9180,22 @@ .END \# \# +\# PAGNUMBER COLOR +\# --------------- +\# *Arguments: +\# +\# *Function: +\# Defines string $PAGENUM_COLOR to argument. +\# *Notes: +\# User must define an XCOLOR or NEWCOLOR before using +\# PAGENUM_COLOR. +\# +.MAC PAGENUM_COLOR END +. if \\n[#PRINT_STYLE]=1 \{ .return \} +. ds $PAGENUM_COLOR \\$1 +.END +\# +\# \# PAGE NUMBER FORMAT \# ------------------ \# *Arguments: @@ -7967,15 +9266,24 @@ .END \# \# +.MAC PN_WITH_HYPHENS END +. nr #HYPHEN_ADJ \\n[#CAP_HEIGHT]/12 +. ds $HYPHEN \v'-\En[#HYPHEN_ADJ]u'-\v'\En[#HYPHEN_ADJ]u' +. PRINT \m[\\*[$PAGENUM_COLOR]]\\*[$HYPHEN]\|\\n[#PAGENUMBER]\|\\*[$HYPHEN] +.END +\# +\# \# PRINT PAGE NUMBER \# ----------------- \# *Arguments: \# \# *Function: -\# Prints page number if PAGEINATE=1. +\# Prints page number if PAGINATE=1. \# .MAC PRINT_PAGE_NUMBER END . ev PAGENUMBER +. nf +. na . po \\n[#DOC_L_MARGIN]u . ll \\n[#DOC_L_LENGTH]u . ta \\n(.lu @@ -7987,29 +9295,71 @@ . ft R . ps 12 . \} -. if \\n[#PAGE_NUM_V_POS]=1 \{ .vs 0 \} +. if \\n[#PAGE_NUM_V_POS]=1 \{ .EL \} . if o \{\ . ie \\n[#PAGE_NUM_H_POS]=1 \{ .LEFT \} . el \{ .RIGHT \} . \} . if e \{\ -. ie \\n[#PAGE_NUM_H_POS]=1 \{ .RIGHT \} -. el \{ .LEFT \} +. ie \\n[#PAGE_NUM_H_POS]=1 \{ .RIGHT \} +. el \{ .LEFT \} . \} -. if \\n[#PAGE_NUM_H_POS]=2 \{.CENTER \} +. if \\n[#PAGE_NUM_H_POS]=2 \{ .CENTER \} . if \\n[#RECTO_VERSO]=0 \{\ . if \\n[#PAGE_NUM_H_POS]=1 \{ .LEFT \} . if \\n[#PAGE_NUM_H_POS]=2 \{ .CENTER \} . if \\n[#PAGE_NUM_H_POS]=3 \{ .RIGHT \} . \} . nr #PAGENUMBER \\n%+\\n[#PAGE_NUM_ADJ] +. if \\n[#EN_FIRST_PAGE] \{\ +. if \\n[#EN_FIRST_PN] \{ .PAGENUMBER \\n[#EN_FIRST_PN] \} +. rr #EN_FIRST_PAGE +. \} +. if \\n[#TOC_FIRST_PAGE] \{\ +. PAGENUMBER 1 +. rr #TOC_FIRST_PAGE +. \} . ie \\n[#DRAFT_WITH_PAGENUM] \{\ -. ie !\\n[#REVISION] \{ .PRINT "\\*[$DRAFT_STRING] \\n[#DRAFT] / \\n[#PAGENUMBER]" \} -. el \{ .PRINT "\\*[$DRAFT_STRING] \\n[#DRAFT], \\*[$REVISION_STRING] \\n[#REVISION] / \\n[#PAGENUMBER]" \} +. ie '\\*[$REVISION]'' \{\ +. PRINT "\\*[$DRAFT_STRING]\\*[$DRAFT] / \\n[#PAGENUMBER]" +. \} +. el \{\ +. ie '\\*[$DRAFT]'' \{\ +. PRINT "\\*[$REVISION_STRING] \\*[$REVISION] / \\n[#PAGENUMBER]" +. \} +. el \{\ +. PRINT "\\*[$DRAFT_STRING]\\*[$DRAFT], \\*[$REVISION_STRING] \\*[$REVISION] / \\n[#PAGENUMBER]" +. \} +. \} . \} . el \{\ -. ie \\n[#PAGE_NUM_HYPHENS] \{ .PRINT "- \\n[#PAGENUMBER] -" \} -. el \{ .PRINT "\\n[#PAGENUMBER]" \} +. ie \\n[#PAGE_NUM_HYPHENS] \{\ +. if '\\*[$PAGENUM_STYLE]'DIGIT' \{\ +. di NULL +1\\R'#CAP_HEIGHT \\n[.cht]' +. di +. PN_WITH_HYPHENS +. \} +. if '\\*[$PAGENUM_STYLE]'ROMAN' \{\ +. di NULL +I\\R'#CAP_HEIGHT \\n[.cht]' +. di +. PN_WITH_HYPHENS +. \} +. if '\\*[$PAGENUM_STYLE]'ALPHA' \{\ +. di NULL +E\\R'#CAP_HEIGHT \\n[.cht]' +. di +. PN_WITH_HYPHENS +. \} +. if '\\*[$PAGENUM_STYLE]'roman' \{\ +. PRINT \m[\\*[$PAGENUM_COLOR]]-\|\\n[#PAGENUMBER]\|- +. \} +. if '\\*[$PAGENUM_STYLE]'alpha' \{\ +. PRINT "\m[\\*[$PAGENUM_COLOR]]-\|\\n[#PAGENUMBER]\|-" +. \} +. \} +. el \{ .PRINT "\m[\\*[$PAGENUM_COLOR]]\\n[#PAGENUMBER]" \} . \} . ev .END @@ -8063,6 +9413,24 @@ .END \# \# +\# FOOTNOTE COLOR +\# -------------- +\# *Arguments: +\# +\# *Function: +\# Sets register #FOOTNOTE_COLOR to 1; defines string +\# $FOOTNOTE_COLOR to argument. +\# *Notes: +\# User must define an XCOLOR or NEWCOLOR before using +\# FOOTNOTE_COLOR. +\# +.MAC FOOTNOTE_COLOR END +. if \\n[#PRINT_STYLE]=1 \{ .return \} +. nr #FOOTNOTE_COLOR 1 +. ds $FOOTNOTE_COLOR \\$1 +.END +\# +\# \# FOOTNOTE AUTOLEAD \# ----------------- \# *Arguments: @@ -8232,37 +9600,37 @@ . \} . \} . if !\\n[#NO_FN_MARKER] \{\ -. if \\n[#FN_MARKER_STYLE]=1 \{\ -. ie \\n[#FN_COUNT_FOR_COLS] \{\ -. if \\n[#FN_COUNT_FOR_COLS]=0 \{ .PRINT \*[BU3]* \} -. if \\n[#FN_COUNT_FOR_COLS]=1 \{ .PRINT \*[BU3]\(dg \} -. if \\n[#FN_COUNT_FOR_COLS]=2 \{ .PRINT \*[BU3]** \} -. if \\n[#FN_COUNT_FOR_COLS]=3 \{ .PRINT \*[BU3]\(dg\(dg \} -. if \\n[#FN_COUNT_FOR_COLS]=4 \{ .PRINT \*[BU3]*** \} -. if \\n[#FN_COUNT_FOR_COLS]=5 \{ .PRINT \*[BU3]\(dg\(dg\(dg \} -. if \\n[#FN_COUNT_FOR_COLS]=6 \{ .PRINT \*[BU3]**** \} -. if \\n[#FN_COUNT_FOR_COLS]=7 \{ .PRINT \*[BU3]\(dg\(dg\(dg\(dg \} -. if \\n[#FN_COUNT_FOR_COLS]=8 \{ .PRINT \*[BU3]***** \} -. if \\n[#FN_COUNT_FOR_COLS]=9 \{ .PRINT \*[BU3]\(dg\(dg\(dg\(dg\(dg \} -. \} -. el \{\ -. if \\n[#FN_COUNT]=0 \{ .PRINT \*[BU3]* \} -. if \\n[#FN_COUNT]=1 \{ .PRINT \*[BU3]\(dg \} -. if \\n[#FN_COUNT]=2 \{ .PRINT \*[BU3]** \} -. if \\n[#FN_COUNT]=3 \{ .PRINT \*[BU3]\(dg\(dg \} -. if \\n[#FN_COUNT]=4 \{ .PRINT \*[BU3]*** \} -. if \\n[#FN_COUNT]=5 \{ .PRINT \*[BU3]\(dg\(dg\(dg \} -. if \\n[#FN_COUNT]=6 \{ .PRINT \*[BU3]**** \} -. if \\n[#FN_COUNT]=7 \{ .PRINT \*[BU3]\(dg\(dg\(dg\(dg \} -. if \\n[#FN_COUNT]=8 \{ .PRINT \*[BU3]***** \} -. if \\n[#FN_COUNT]=9 \{ .PRINT \*[BU3]\(dg\(dg\(dg\(dg\(dg\(dg \} -. \} -. \} -. if \\n[#FN_MARKER_STYLE]=2 \{\ +. if \\n[#FN_MARKER_STYLE]=1 \{\ +. ie \\n[#FN_COUNT_FOR_COLS] \{\ +. if \\n[#FN_COUNT_FOR_COLS]=0 \{ .PRINT \*[BU3]* \} +. if \\n[#FN_COUNT_FOR_COLS]=1 \{ .PRINT \*[BU3]\(dg \} +. if \\n[#FN_COUNT_FOR_COLS]=2 \{ .PRINT \*[BU3]** \} +. if \\n[#FN_COUNT_FOR_COLS]=3 \{ .PRINT \*[BU3]\(dg\(dg \} +. if \\n[#FN_COUNT_FOR_COLS]=4 \{ .PRINT \*[BU3]*** \} +. if \\n[#FN_COUNT_FOR_COLS]=5 \{ .PRINT \*[BU3]\(dg\(dg\(dg \} +. if \\n[#FN_COUNT_FOR_COLS]=6 \{ .PRINT \*[BU3]**** \} +. if \\n[#FN_COUNT_FOR_COLS]=7 \{ .PRINT \*[BU3]\(dg\(dg\(dg\(dg \} +. if \\n[#FN_COUNT_FOR_COLS]=8 \{ .PRINT \*[BU3]***** \} +. if \\n[#FN_COUNT_FOR_COLS]=9 \{ .PRINT \*[BU3]\(dg\(dg\(dg\(dg\(dg \} +. \} +. el \{\ +. if \\n[#FN_COUNT]=0 \{ .PRINT \*[BU3]* \} +. if \\n[#FN_COUNT]=1 \{ .PRINT \*[BU3]\(dg \} +. if \\n[#FN_COUNT]=2 \{ .PRINT \*[BU3]** \} +. if \\n[#FN_COUNT]=3 \{ .PRINT \*[BU3]\(dg\(dg \} +. if \\n[#FN_COUNT]=4 \{ .PRINT \*[BU3]*** \} +. if \\n[#FN_COUNT]=5 \{ .PRINT \*[BU3]\(dg\(dg\(dg \} +. if \\n[#FN_COUNT]=6 \{ .PRINT \*[BU3]**** \} +. if \\n[#FN_COUNT]=7 \{ .PRINT \*[BU3]\(dg\(dg\(dg\(dg \} +. if \\n[#FN_COUNT]=8 \{ .PRINT \*[BU3]***** \} +. if \\n[#FN_COUNT]=9 \{ .PRINT \*[BU3]\(dg\(dg\(dg\(dg\(dg\(dg \} +. \} +. \} +. if \\n[#FN_MARKER_STYLE]=2 \{\ . if \\n[#PRINT_STYLE]=1 \{ .PRINT "\s-2\v'-\\n[#DOC_LEAD]u/5u'\\n+[#FN_NUMBER]\v'+\\n[#DOC_LEAD]u/5u'\s+2" \} . if \\n[#PRINT_STYLE]=2 \{ .PRINT "\*[SUP]\\n+[#FN_NUMBER]\*[SUPX]" \} -. \} -. \} +. \} +. \} . \} . nr #SPACE_REMAINING \\n[#PAGE_LENGTH]-\\n[#B_MARGIN]-(\\n(nl+1v) . nr #PP_STYLE_PREV \\n[#PP_STYLE] @@ -8300,6 +9668,14 @@ . \} . nr #FN_LEAD \\n[#LEAD] . da FOOTNOTES +. if \\n[#FOOTNOTE_COLOR]=1 \{\ +. TRAP OFF +. nf +\m[\\*[$FOOTNOTE_COLOR]] +. EL +. fi +. TRAP +. \} . if \\n[#EPIGRAPH] \{ .nr #FN_FOR_EPI 1 \} . if \\n[#FN_DEFER_SPACE] \{\ . if \\n[#FN_MARKER_STYLE]=1 \{ .ALD 1v \} @@ -8315,38 +9691,38 @@ . \} . if \\n[#FN_MARKERS] \{\ . if !\\n[#NO_FN_MARKER] \{\ -. if \\n[#FN_MARKER_STYLE]=1 \{\ -. ie \\n+[#FN_COUNT_FOR_COLS] \{\ -. if \\n[#FN_COUNT_FOR_COLS]=1 \{ .PRINT *\c \} -. if \\n[#FN_COUNT_FOR_COLS]=2 \{ .PRINT \(dg\c \} -. if \\n[#FN_COUNT_FOR_COLS]=3 \{ .PRINT **\c \} -. if \\n[#FN_COUNT_FOR_COLS]=4 \{ .PRINT \(dg\(dg\c \} -. if \\n[#FN_COUNT_FOR_COLS]=5 \{ .PRINT ***\c \} -. if \\n[#FN_COUNT_FOR_COLS]=6 \{ .PRINT \(dg\(dg\(dg\c \} -. if \\n[#FN_COUNT_FOR_COLS]=7 \{ .PRINT ****\c \} -. if \\n[#FN_COUNT_FOR_COLS]=8 \{ .PRINT \(dg\(dg\(dg\(dg\c \} -. if \\n[#FN_COUNT_FOR_COLS]=9 \{ .PRINT *****\c \} -. if \\n[#FN_COUNT_FOR_COLS]=10 \{ .PRINT \(dg\(dg\(dg\(dg\(dg\c \} -. \} -. el \{\ -. if \\n[#FN_COUNT]=1 \{ .PRINT *\c \} -. if \\n[#FN_COUNT]=2 \{ .PRINT \(dg\c \} -. if \\n[#FN_COUNT]=3 \{ .PRINT **\c \} -. if \\n[#FN_COUNT]=4 \{ .PRINT \(dg\(dg\c \} -. if \\n[#FN_COUNT]=5 \{ .PRINT ***\c \} -. if \\n[#FN_COUNT]=6 \{ .PRINT \(dg\(dg\(dg\c \} -. if \\n[#FN_COUNT]=7 \{ .PRINT ****\c \} -. if \\n[#FN_COUNT]=8 \{ .PRINT \(dg\(dg\(dg\(dg\c \} -. if \\n[#FN_COUNT]=9 \{ .PRINT *****\c \} -. if \\n[#FN_COUNT]=10 \{ .PRINT \(dg\(dg\(dg\(dg\(dg\c \} -. \} -. \} -. if \\n[#FN_MARKER_STYLE]=2 \{\ -. if \\n[#PRINT_STYLE]=1 \{ .PRINT "(\\n[#FN_NUMBER])\c" \} -. if \\n[#PRINT_STYLE]=2 \{ .PRINT "\*[SUP]\\n[#FN_NUMBER]\*[SUPX]\c" \} -. \} -. \} -. \} +. if \\n[#FN_MARKER_STYLE]=1 \{\ +. ie \\n+[#FN_COUNT_FOR_COLS] \{\ +. if \\n[#FN_COUNT_FOR_COLS]=1 \{ .PRINT *\c \} +. if \\n[#FN_COUNT_FOR_COLS]=2 \{ .PRINT \(dg\c \} +. if \\n[#FN_COUNT_FOR_COLS]=3 \{ .PRINT **\c \} +. if \\n[#FN_COUNT_FOR_COLS]=4 \{ .PRINT \(dg\(dg\c \} +. if \\n[#FN_COUNT_FOR_COLS]=5 \{ .PRINT ***\c \} +. if \\n[#FN_COUNT_FOR_COLS]=6 \{ .PRINT \(dg\(dg\(dg\c \} +. if \\n[#FN_COUNT_FOR_COLS]=7 \{ .PRINT ****\c \} +. if \\n[#FN_COUNT_FOR_COLS]=8 \{ .PRINT \(dg\(dg\(dg\(dg\c \} +. if \\n[#FN_COUNT_FOR_COLS]=9 \{ .PRINT *****\c \} +. if \\n[#FN_COUNT_FOR_COLS]=10 \{ .PRINT \(dg\(dg\(dg\(dg\(dg\c \} +. \} +. el \{\ +. if \\n[#FN_COUNT]=1 \{ .PRINT *\c \} +. if \\n[#FN_COUNT]=2 \{ .PRINT \(dg\c \} +. if \\n[#FN_COUNT]=3 \{ .PRINT **\c \} +. if \\n[#FN_COUNT]=4 \{ .PRINT \(dg\(dg\c \} +. if \\n[#FN_COUNT]=5 \{ .PRINT ***\c \} +. if \\n[#FN_COUNT]=6 \{ .PRINT \(dg\(dg\(dg\c \} +. if \\n[#FN_COUNT]=7 \{ .PRINT ****\c \} +. if \\n[#FN_COUNT]=8 \{ .PRINT \(dg\(dg\(dg\(dg\c \} +. if \\n[#FN_COUNT]=9 \{ .PRINT *****\c \} +. if \\n[#FN_COUNT]=10 \{ .PRINT \(dg\(dg\(dg\(dg\(dg\c \} +. \} +. \} +. if \\n[#FN_MARKER_STYLE]=2 \{\ +. if \\n[#PRINT_STYLE]=1 \{ .PRINT "(\\n[#FN_NUMBER])\c" \} +. if \\n[#PRINT_STYLE]=2 \{ .PRINT "\*[SUP]\\n[#FN_NUMBER]\*[SUPX]\c" \} +. \} +. \} +. \} . \} . el \{\ . ie '\\$1'INDENT' \{\ @@ -8402,16 +9778,16 @@ . \} . nr #VARIABLE_FOOTER_POS -\\n[#DIVER_DEPTH] . if \\n[#FN_COUNT]=1 \{ .nr #VARIABLE_FOOTER_POS -1v \} -. \} +. \} +. ch FOOTER \\n[#VARIABLE_FOOTER_POS]u +. if (\\n(nl+1v)>(\\n[#PAGE_LENGTH]+\\n[#VARIABLE_FOOTER_POS]) \{\ +. ch FOOTER \\n(nlu+1v +. \} +. if \\n[#FN_DEFER] \{\ +. nr #VARIABLE_FOOTER_POS 0-\\n[#B_MARGIN]u . ch FOOTER \\n[#VARIABLE_FOOTER_POS]u -. if (\\n(nl+1v)>(\\n[#PAGE_LENGTH]+\\n[#VARIABLE_FOOTER_POS]) \{\ -. ch FOOTER \\n(nlu+1v -. \} -. if \\n[#FN_DEFER] \{\ -. nr #VARIABLE_FOOTER_POS 0-\\n[#B_MARGIN]u -. ch FOOTER \\n[#VARIABLE_FOOTER_POS]u -. \} . \} +. \} . nr #NO_FN_MARKER 0 .END \# @@ -8533,15 +9909,37 @@ \# ENDNOTE LEAD \# ------------ \# *Argument: -\# +\# [ ADJUST ] \# *Function: -\# Creates or modifies register #EN_LEAD. +\# Creates or modifies register #EN_LEAD. Creates or removes +\# register #ADJ_EN_LEAD. Stores arguments in strings if ENDNOTE_LEAD +\# set before START. \# *Notes: -\# Default is 13.5 points for TYPESET; 24 for TYPEWRITE. +\# Default is 14 points for TYPESET, adjusted; 24 for TYPEWRITE. \# .MAC ENDNOTE_LEAD END -. nr #EN_LEAD (p;\\$1) -.END +. if !\\n[#OK_PROCESS_LEAD] \{\ +. ds $EN_LEAD \\$1 +. if !'\\$2'' \{\ +. ds $ADJUST_EN_LEAD \\$2 +. \} +. return +. \} +. rr #ADJ_EN_LEAD +. nr #EN_LEAD (p;\\$1) +. if '\\$2'ADJUST' \{\ +. nr #ORIG_DOC_LEAD \\n[#DOC_LEAD] +. nr #ADJ_DOC_LEAD 1 +. nr #ADJ_EN_LEAD 1 +. nr #NO_TRAP_RESET 1 +. DOC_LEAD \\n[#EN_LEAD]u ADJUST +. nr #EN_LEAD \\n[#DOC_LEAD] +. DOC_LEAD \\n[#ORIG_DOC_LEAD]u +. rr #NO_TRAP_RESET +. rr #ADJ_DOC_LEAD +. rr #ORIG_DOC_LEAD +. \} +.END \# \# \# ENDNOTE QUAD @@ -8583,7 +9981,7 @@ \# *Function: \# Creates or modifies string $EN_STRING. \# *Notes: -\# Default is "ENDNOTES" +\# Default is "Endnotes" \# .MAC ENDNOTE_STRING END . ds $EN_STRING \\$1 @@ -8661,11 +10059,32 @@ . ie '\\$1'' \{ .nr #EN_STRING_UNDERSCORE 1 \} . el \{\ . ie '\\$1'2' \{ .nr #EN_STRING_UNDERSCORE 2 \} -. el \{ .rr #EN_STRING_UNDERSCORE \} +. el \{ .nr #EN_STRING_UNDERSCORE 0 \} . \} .END \# \# +\# ENDNOTE STRING CAPS +\# ------------------- +\# *Arguments: +\# | +\# *Function: +\# Turns capitalization of the endnotes pages title string +\# "Endnotes" on or off. +\# *Notes: +\# Users may want the endnotes pages title string to be in caps, +\# but the toc entry for endnotes in lower case. If the argument +\# to ENDNOTE_STRING is in lower case and ENDNOTE_STRING_CAPS is +\# turned on, this is exactly what will happen. +\# +\# Default is on. +\# +.MAC ENDNOTE_STRING_CAPS END +. ie '\\$1'' \{ .nr #EN_STRING_CAPS 1 \} +. el \{ .rr #EN_STRING_CAPS \} +.END +\# +\# \# ENDNOTE TITLE \# ------------- \# *Argument: @@ -8802,7 +10221,7 @@ \# numbers as they appear on the endnotes page(s). The superscript \# numbers that appear in running text are unaffected. \# -.MAC ENDNOTE_NUMBER_SIZE END \"Default for TYPESET is 0 +.MAC ENDNOTE_NUMBER_SIZE END . ds $EN_NUMBER_SIZE_CHANGE \\$1 .END \# @@ -8856,6 +10275,144 @@ .END \# \# +\# TURN OFF COLUMN MODE FOR ENDNOTES +\# --------------------------------- +\# *Argument: +\# | +\# *Function: +\# Creates or removes register #EN_NO_COLS +\# *Notes: +\# Allows user to tell mom not to set endnotes in columnar +\# documents in columns. Default is to set endnotes in columns. +\# +.MAC ENDNOTES_NO_COLUMNS END +. ie '\\$1'' \{ .nr #EN_NO_COLS 1 \} +. el \{ .rr #EN_NO_COLS \} +.END +\# +\# +\# NO FIRST PAGE NUMBER ON ENDNOTES FIRST PAGE +\# ------------------------------------------- +\# *Argument: +\# | +\# *Function: +\# Creates or removes register #EN_NO_FIRST_PN +\# *Notes: +\# For use if FOOTERS are on. Tells ENDNOTES not to put a page +\# number on the first endnotes page. Some users may want this. +\# Default is to print a page number at the top of the first +\# endnotes page when footers are on. +\# +.MAC ENDNOTES_NO_FIRST_PAGENUM END +. ie '\\$1'' \{ .nr #EN_NO_FIRST_PN 1 \} +. el \{ .rr #EN_NO_FIRST_PN \} +.END +\# +\# +\# PAGE HEADERS ON ENDNOTES PAGES +\# ------------------------------ +\# *Argument: +\# | ALL +\# *Function: +\# Creates or removes register #EN_ALLOWS_HEADERS or +\# #EN_ALLOWS_HEADERS_ALL +\# *Notes: +\# Whether ENDNOTES puts a page header at the top of endnotes +\# pages if page headers are used throughout the document. +\# Default is to insert the page headers, but not on the first +\# page. If the optional argument ALL is given, ENDNOTES puts a +\# page header on the first page as well. +\# +.MAC ENDNOTES_ALLOWS_HEADERS END +. ie '\\$1'' \{ .nr #EN_ALLOWS_HEADERS 1 \} +. el \{\ +. ie '\\$1'ALL' \{\ +. nr #EN_ALLOWS_HEADERS 1 +. nr #EN_ALLOWS_HEADERS_ALL 1 +. \} +. el \{\ +. rr #EN_ALLOWS_HEADERS +. rr #EN_ALLOWS_HEADERS_ALL +. \} +. \} +.END +\# +\# +\# ENDNOTES PAGES PAGE NUMBERING STYLE +\# ----------------------------------- +\# *Argument: +\# DIGIT | ROMAN | roman | ALPHA | alpha +\# *Function: +\# Creates or modifies $EN_PN_STYLE. +\# *Notes: +\# Allows user to define what style should be used for endnotes +\# pages page numbering. Arguments are the same as for +\# PAGENUM_STYLE. +\# +\# Default is DIGIT. +\# +.MAC ENDNOTES_PAGENUM_STYLE END +. ds $EN_PN_STYLE \\$1 +.END +\# +\# +\# FIRST PAGE NUMBER FOR ENDNOTES +\# ------------------------------ +\# *Argument: +\# +\# *Function: +\# Creates or modifies string $EN_FIRST_PN +\# *Notes: +\# To be used with caution, only if all endnotes +\# are to be output at once, i.e. not at the end of the separate +\# docs of a collated doc +\# +.MAC ENDNOTES_FIRST_PAGENUMBER END +. nr #EN_FIRST_PN \\$1 +.END +\# +\# SINGLESPACE ENDNOTES +\# -------------------- +\# *Argument: +\# | +\# *Function: +\# Sets lead of endnotes pages in TYPEWRITE to 12 points, +\# adjusted. +\# *Notes: +\# Default is to double-space endnotes pages. +\# +.MAC SINGLESPACE_ENDNOTES END +. if \\n[#PRINT_STYLE]=1 \{\ +. ie \\n[#SINGLE_SPACE] \{\ +. nr #EN_SINGLESPACE 1 +. rr #IGNORE +. if \\n[#OK_PROCESS_LEAD] \{\ +. ENDNOTE_LEAD 12 ADJUST +. nr #IGNORE 1 +. \} +. \} +. el \{\ +. ie '\\$1'' \{\ +. nr #EN_SINGLESPACE 1 +. rr #IGNORE +. if \\n[#OK_PROCESS_LEAD] \{\ +. ENDNOTE_LEAD 12 ADJUST +. nr #IGNORE 1 +. \} +. \} +. el \{\ +. rr #EN_SINGLESPACE +. rr #IGNORE +. if \\n[#OK_PROCESS_LEAD] \{\ +. ENDNOTE_LEAD 24 ADJUST +. nr #IGNORE 1 +. \} +. \} +. \} +. \} +.END +\# +\# \# ENDNOTE PARAGRAPH SPACE \# ----------------------- \# *Argument: @@ -8898,26 +10455,22 @@ . PRINT "\s-2\v'-\\n[#DOC_LEAD]u/5u'\\n+[#EN_NUMBER]\v'+\\n[#DOC_LEAD]u/5u'\s+2" . \} . if \\n[#PRINT_STYLE]=2 \{ .PRINT "\*[SUP]\\n+[#EN_NUMBER]\*[SUPX]" \} -. nr #RESTORE_DOC_LEAD \\n[#DOC_LEAD] . nr #PP_STYLE_PREV \\n[#PP_STYLE] . nr #PP_STYLE 1 . if \\n[#INDENT_FIRST_PARAS] \{ .nr #INDENT_FIRSTS 1 \} . INDENT_FIRST_PARAS . ev EN . da END_NOTES -. nr #NO_TRAP_RESET 1 -. if \\n[#PRINT_STYLE]=2 \{ .DOC_LEAD \\n[#EN_LEAD]u ADJUST \} -. rr #NO_TRAP_RESET -. vs \\n[#DOC_LEAD]u . LL \\n[#DOC_L_LENGTH]u . ta \\n(.lu . if \\n[#COLUMNS] \{\ -. LL \\n[#COL_L_LENGTH]u +. ie \\n[#EN_NO_COLS] \{ .LL \\n[#DOC_L_LENGTH]u \} +. el \{ .LL \\n[#COL_L_LENGTH]u \} . ta \\n(.lu . \} +. vs \\n[#EN_LEAD]u . if \\n[#EN_NUMBER]=1 \{\ -\!. ne 3 -. if !'\\*[$EN_STRING]'' \{ .sp \} +\!. ne 3 . if \\n[#PRINT_STYLE]=1 \{\ . fam C . ft R @@ -8928,6 +10481,7 @@ . FT \\*[$EN_TITLE_FT] . PT_SIZE \\n[#EN_PS]u\\*[$EN_TITLE_SIZE_CHANGE] . \} +. sp . if !'\\*[$EN_TITLE]'' \{\ . if '\\*[$EN_TITLE_QUAD]'L' \{ .LEFT \} . if '\\*[$EN_TITLE_QUAD]'LEFT' \{ .LEFT \} @@ -9012,12 +10566,11 @@ . in 0 . \} . di -. DOC_LEAD \\n[#RESTORE_DOC_LEAD]u +. ev . nr #PP_STYLE \\n[#PP_STYLE_PREV] . if !\\n[#INDENT_FIRSTS] \{ .INDENT_FIRST_PARAS OFF \} . rr #INDENT_FIRSTS . rr #ENDNOTE -. ev . if \\n[#PRINT_STYLE]=1 \{\ . if \\n[#UNDERLINE_WAS_ON] \{\ . rr #UNDERLINE_WAS_ON @@ -9042,26 +10595,160 @@ \# with endnotes, then outputs diversion END_NOTES. \# .MAC ENDNOTES END -. if \\n[#DOC_TYPE]=2 \{\ +. nr #ENDNOTES 1 +. nr #PAGINATION_STATE \\n[#PAGINATE] +. nr #EN_FIRST_PAGE 1 +. nr #HEADER_STATE \\n[#HEADERS_ON] +. ds $RESTORE_PAGENUM_STYLE \\*[$PAGENUM_STYLE] +. if \\n[#HEADERS_ON]=1 \{\ +. if !\\n[#EN_ALLOWS_HEADERS_ALL] \{ .HEADERS OFF \} +. \} +. if \\n[#HEADER_STATE]=1 \{\ . ie \\n[#EN_HDRFTR_CENTER]=1 \{ . \} -. el \{ .HDRFTR_CENTER \} +. el \{ .rm $HDRFTR_CENTER \} +. \} +. ie !\\n[#SUSPEND_PAGINATION] \{\ +. if \\n[#PAGINATE]=1 \{\ +. if \\n[#PAGE_NUM_V_POS]=1 \{\ +. PAGENUM_STYLE \\*[$EN_PN_STYLE] +. if \\n[#EN_FIRST_PN] \{ .PAGENUMBER \\n[#EN_FIRST_PN]-1 \} +. if r#EN_NO_FIRST_PN \{ .nr #PAGINATE 0 \} +. \} +. \} +. \} +. el \{\ +. ie \\n[#PAGE_NUM_V_POS]=2 \{ .nr #PAGINATE 1 \} +. el \{ .nr #PAGINATE 0 \} +. \} +. if \\n[#FOOTERS_ON]=1 \{\ +. if !'\\*[$HDRFTR_CENTER_OLD]'' \{ .ds $HDRFTR_CENTER \\*[$HDRFTR_CENTER_OLD] \} . \} . NEWPAGE -. nr #RESTORE_DOC_LEAD \\n[#DOC_LEAD] -. if \\n[#PRINT_STYLE]=2 \{ .DOC_LEAD \\n[#EN_LEAD]u ADJUST \} +. if \\n[#FINIS] \{\ +. if \\n[#FOOTERS_WERE_ON] \{\ +. FOOTERS +. rr #FOOTERS_WERE_ON +. \} +. if \\n[#PAGINATION_WAS_ON] \{\ \"This register only set in FINIS +. if \\n[#PAGINATION_STATE]=1 \{\ +. PAGINATE +. rr #PAGINATION_WAS_ON +. \} +. \} +. rr #FINIS +. \} +. if \\n[#FOOTERS_WERE_ON] \{\ +. FOOTERS +. rr #FOOTERS_WERE_ON +. \} +. if \\n[#PAGINATION_WAS_ON] \{\ +. if \\n[#PAGINATION_STATE]=1 \{\ +. PAGINATE +. rr #PAGINATION_WAS_ON +. \} +. \} +. if \\n[#FOOTERS_ON]=1 \{\ +. ds $HDRFTR_CENTER \\*[$HDRFTR_CENTER_NEW] +. rm $HDRFTR_CENTER_OLD +. rm $HDRFTR_CENTER_NEW +. \} +. ie !\\n[#SUSPEND_PAGINATION] \{\ +. if \\n[#PAGE_NUM_V_POS]=1 \{\ +. if r#EN_NO_FIRST_PN \{\ +. if \\n[#PAGINATION_STATE]=1 \{\ +. nr #PAGINATE 1 +. \} +. \} +. \} +. \} +. el \{\ +. if \\n[#PAGE_NUM_V_POS]=2 \{ .nr #PAGINATE 0 \} +. \} +. rr #PAGINATION_STATE +. PAGENUM_STYLE \\*[$EN_PN_STYLE] +. if \\n[#EN_FIRST_PN] \{ .PAGENUMBER \\n[#EN_FIRST_PN] \} +. if \\n[#HEADER_STATE]=1 \{\ +. if \\n[#EN_ALLOWS_HEADERS] \{ .HEADERS \} +. \} +\# Collect endnote title string for TOC +. nr #TOC_ENTRY_PN \\n%+\\n[#PAGE_NUM_ADJ] +. af #TOC_ENTRY_PN \\g[#PAGENUMBER] +. ds $TOC_TITLE_ITEM \\*[$EN_STRING]\\| +. ev TOC_EV +. da TOC_ENTRIES +. if \\n[#PRINT_STYLE]=1 \{\ +. fam C +. ft R +. ps 12 +. \} +. if \\n[#PRINT_STYLE]=2 \{\ +\!. FAMILY \\*[$TOC_TITLE_FAM] +\!. FT \\*[$TOC_TITLE_FT] +\!. PT_SIZE \\n[#TOC_PS]u\\*[$TOC_TITLE_SIZE_CHANGE] +. \} +\!. TRAP OFF +. ie \\n[#PRINT_STYLE]=1 \{\ +\!. PAD "\\*[$TOC_TITLE_ITEM]\\*[$TOC_PN_TYPEWRITE]" +. \} +. el \{\ +\!. PAD "\\h'\\n[#TOC_TITLE_INDENT]u'\\*[$TOC_TITLE_ITEM]\\*[$TOC_PN]" +. \} +\!. EL +\!. ST 100 L +\!. ST 101 R +. if \\n[#PRINT_STYLE]=2 \{\ +\!. FAMILY \\*[$TOC_PN_FAM] +\!. FT \\*[$TOC_PN_FT] +\!. PT_SIZE \\n[#TOC_PS]u\\*[$TOC_PN_SIZE_CHANGE] +. \} +\!. TAB 100 +\!. PRINT \\*[LEADER] +\!. TN +\!. TRAP +\!. PRINT \\n[#TOC_ENTRY_PN] +\!. TQ +. di +. ev +\# End collection of endnote title string for TOC +\# Process endnote +. if \\n[#PRINT_STYLE]=1 \{ .vs \\n[#EN_LEAD]u \} +. if \\n[#PRINT_STYLE]=2 \{\ +. if \\n[#EN_NO_COLS] \{\ +. if \\n[#COLUMNS] \{ .nr #COLUMNS_WERE_ON 1 \} +. nr #COLUMNS 0 +. \} +. nr #RESTORE_DOC_LEAD \\n[#DOC_LEAD] +. ie \\n[#ADJ_EN_LEAD] \{\ +. nr #DOC_LEAD \\n[#EN_LEAD] +. \} +. el \{ .DOC_LEAD \\n[#EN_LEAD]u \} +. \} +. PRINT \& +. sp |\\n[#T_MARGIN]u +. mk ec . if \\n[#SLANT_ON] \{\ \*[SLANTX]\c . \} +. ev ENDNOTES . if !'\\*[$EN_STRING]'' \{\ . if \\n[#PRINT_STYLE]=1 \{\ . fam C . ft R . ps 12 +. vs \\n[#EN_LEAD]u . \} . if \\n[#PRINT_STYLE]=2 \{\ +. LL \\n[#DOC_L_LENGTH]u +. ta \\n(.lu +. if \\n[#COLUMNS] \{\ +. ie \\n[#EN_NO_COLS] \{ .LL \\n[#DOC_L_LENGTH]u \} +. el \{ .LL \\n[#COL_L_LENGTH]u \} +. ta \\n(.lu +. \} . FAMILY \\*[$EN_STRING_FAM] . FT \\*[$EN_STRING_FT] . PT_SIZE \\n[#EN_PS]u\\*[$EN_STRING_SIZE_CHANGE] +. vs \\n[#EN_LEAD]u . \} . if '\\*[$EN_STRING_QUAD]'L' \{ .LEFT \} . if '\\*[$EN_STRING_QUAD]'LEFT' \{ .LEFT \} @@ -9071,6 +10758,7 @@ . if '\\*[$EN_STRING_QUAD]'R' \{ .RIGHT \} . if '\\*[$EN_STRING_QUAD]'RIGHT' \{ .RIGHT \} . EL +. if \\n[#EN_STRING_CAPS] \{ .CAPS \} . ie \\n[#EN_STRING_UNDERSCORE] \{\ . ie \\n[#EN_STRING_UNDERSCORE]=2 \{\ . UNDERSCORE2 "\\*[$EN_STRING] @@ -9083,143 +10771,1080 @@ . PRINT "\\*[$EN_STRING] . \} . \} -. ev EN +. CAPS OFF +. ALD \\n[#EN_LEAD]u +. QUAD \\*[$EN_QUAD] . nf -. vs \\n[#DOC_LEAD]u . END_NOTES . br . ev . rm END_NOTES -. DOC_LEAD \\n[#RESTORE_DOC_LEAD]u +. if \\n[#PRINT_STYLE]=1 \{ .vs \\n[#DOC_LEAD]u \} +. if \\n[#PRINT_STYLE]=2 \{\ +. ie \\n[#ADJ_EN_LEAD] \{\ +. nr #DOC_LEAD \\n[#RESTORE_DOC_LEAD] +. \} +. el \{ .DOC_LEAD \\n[#RESTORE_DOC_LEAD]u \} +. rr #RESTORE_DOC_LEAD +. \} +. if \\n[#COLUMNS_WERE_ON] \{ .nr #COLUMNS 1 \} +. if \\n[#HEADER_STATE]=1 \{ .HEADERS \} +. rr #ENDNOTES .END \# \# ==================================================================== \# -\# +++COLUMNS+++ +\# +++TABLE OF CONTENTS+++ \# -\# COLUMNS -\# ------- -\# *Arguments: -\# +\# Strings to allocate space for leaders and entry page numbers +\# +.ds $TOC_PN \\*[ST100]\\F[\\*[$TOC_PN_FAM]]\\f[\\*[$TOC_PN_FT]]\\s[\\n[#TOC_PS]u]#\\*[ST100X]\\*[ST101]\\s[\\*[$TOC_PN_SIZE_CHANGE]]\\|\\h'\\w'0'u*\\n[#TOC_PN_PADDING]u'\*[ST101X] +.ds $TOC_PN_TYPEWRITE \\*[ST100]#\\*[ST100X]\\*[ST101]\\|\\h'\\w'0'u*\\n[#TOC_PN_PADDING]u'\\*[ST101X] +\# +\# TOC ENTRIES PAGE NUMBERS PADDING +\# -------------------------------- +\# *Argument: +\# \# *Function: -\# Creates registers associated with setting docs in columns. -\# Calculates column line lengths and offsets +\# Creates or modifies register #TOC_PN_PADDING. \# *Notes: -\# COLUMNS, if used, s/b the last macro invoked before START. +\# "Placeholders" is the maximum number of digits in a page +\# number numeral. \# -.MAC COLUMNS END -. if \\n[#IGNORE_COLUMNS]=1 \{ .return \} -. nr #COLUMNS 1 -. nr #NUM_COLS \\$1 -. nr #GUTTER (\\$2) -. nr #COL_L_LENGTH \\n[#L_LENGTH]-(\\n[#GUTTER]*(\\n[#NUM_COLS]-1))/\\n[#NUM_COLS] -. nr #COL_TOTAL 0 \\n[#COL_L_LENGTH]+\\n[#GUTTER] -. nr #COL_NUM 0 1 -. while !\\n[#COL_NUM]=\\n[#NUM_COLS] \{\ -. nr #COL_\\n+[#COL_NUM]_L_MARGIN \\n[#L_MARGIN]+\\n[#COL_TOTAL] -. nr #COL_TOTAL \\n+[#COL_TOTAL] -. \} -. rr #COL_TOTAL -. rr #COL_NUM +\# Default is 3. +\# +.MAC TOC_PADDING END +. nr #TOC_PN_PADDING \\$1 .END \# \# -\# NEXT COLUMN -\# ----------- -\# *Arguments: -\# +\# PAGINATE TOC +\# ------------ +\# *Argument: +\# | \# *Function: -\# Breaks current column and moves to next column. -\# If current column is the last on the page, breaks -\# to a new page. +\# Creates or removes register #PAGINATE_TOC. +\# *Notes: +\# Default is to paginate toc. \# -.MAC COL_NEXT END -. if \\n[#COLUMNS] \{\ -. nr #COL_NEXT 1 -. ie '\\$0'COL_NEXT' \{ .br \} -. el \{\ -. brp -. RLD 1v -. \} -. ie \\n[#COL_NUM]=\\n[#NUM_COLS] \{\ -. bp -. \} -. el \{ .FOOTER \} -. \} +.MAC PAGINATE_TOC END +. ie '\\$1'' \{ .nr #PAGINATE_TOC 1 \} +. el \{ .nr #PAGINATE_TOC 0 \} .END \# -\# ==================================================================== \# -\# +++DOCUMENT PROCESSING MISC AND SUPPORT MACROS+++ +\# TOC FAMILY +\# ---------- +\# *Argument: +\# +\# *Function: +\# Creates string $TOC_FAM. +\# *Notes: +\# Default is same as document family. \# -\# COLLATE -\# ------- -\# *Arguments: -\# +.MAC TOC_FAMILY END +. ds $TOC_FAM \\$1 +.END +\# +\# +\# TOC POINT SIZE +\# -------------- +\# *Argument: +\# \# *Function: -\# Turns headers off (if on) and saves header state, sets register -\# #COLLATE to 1 (toggle), and breaks to a new page. +\# Creates or modifies register #TOC_PS. \# *Notes: -\# COLLATE exists primarily to allow putting multiple chapters in -\# a single file, although it can be used for any document type. After -\# COLLATE, any of the macros that normally precede START may be -\# used, and should behave as expected. +\# This size control macro differs from other size control macros +\# in that it sets an absolute point size, not a relative one. +\# See notes for ENDNOTE_PT_SIZE for explanation. No unit of +\# measure required. \# -\# N.B.--the START macro *must* be used after COLLATE (and any other -\# macros that alter mom's behaviour). +\# No unit of measure required (points assumed). Default is 11.5 +\# for TYPESET. \# -.MAC COLLATE END -. nr #COLLATE 1 -. nr #HEADER_STATE \\n[#HEADERS_ON] -. HEADERS OFF -. if \\n[#PAGE_NUM_V_POS]=1 \{\ -. nr #PAGINATION_STATE \\n[#PAGINATE] -. PAGINATION OFF -. \} -. IQ CLEAR -. TQ -. LL \\n[#DOC_L_LENGTH]u -. QUAD $DOC_QUAD -. LS \\n[#DOC_LEAD]u -\*[SLANTX] -\*[CONDX] -\*[EXTX] -' NEWPAGE -. rr #PAGENUM_STYLE_SET -. rm $EN_TITLE +.MAC TOC_PT_SIZE END +. nr #TOC_PS (p;\\$1) .END \# \# -\# SET TRAPS FOR HEADERS/FOOTERS/FOOTNOTES -\# --------------------------------------- -\# *Arguments: -\# +\# TOC LEADING +\# ----------- +\# *Argument: +\# [ADJUST] \# *Function: -\# Sets header/footer/footnotes/etc... traps. -\# Calculates the number of lines that actually fit on a -\# page based on #B_MARGIN and resets page bottom trap to coincide -\# with the depth of that number of lines , or, if #ADJ_DOC_LEAD=1, -\# adjusts #DOC_LEAD so that the last line of text on a page falls -\# exactly on #B_MARGIN. +\# Creates or modifies register #TOC_LEAD. If optional ADJUST +\# given, adjusts lead to fill page. If #OK_PROCESS_LEAD doesn't +\# exist, stores arguments for when it's okay to run the macro. +\# *Notes: +\# No unit of measure required (points assumed). \# -.MAC TRAPS END -\# *Remove all header/footer traps -. if !\\n[#NO_TRAP_RESET] \{\ -. ch DO_T_MARGIN -. ch DO_B_MARGIN -. ch HEADER -. ch FOOTER -\# *Plant header trap -. wh 0 HEADER -. \} +\# Default is same as DOC_LEAD. +\# +.MAC TOC_LEAD END +. if !\\n[#OK_PROCESS_LEAD] \{\ +. ds $TOC_LEAD \\$1 +. if !'\\$2'' \{\ +. ds $ADJUST_TOC_LEAD \\$2 +. \} +. return +. \} +. rr #ADJ_TOC_LEAD +. nr #TOC_LEAD (p;\\$1) +. if '\\$2'ADJUST' \{\ +. nr #ORIG_DOC_LEAD \\n[#DOC_LEAD] +. nr #ADJ_DOC_LEAD 1 +. nr #ADJ_TOC_LEAD 1 +. nr #NO_TRAP_RESET 1 +. DOC_LEAD \\n[#TOC_LEAD]u ADJUST +. nr #TOC_LEAD \\n[#DOC_LEAD] +. DOC_LEAD \\n[#ORIG_DOC_LEAD]u +. rr #NO_TRAP_RESET +. rr #ADJ_DOC_LEAD +. rr #ORIG_DOC_LEAD +. \} +.END +\# +\# +\# TOC PAGES PAGE-NUMBERING STYLE +\# ------------------------------ +\# *Argument: +\# DIGIT | ROMAN | roman | ALPHA | alpha +\# *Function: +\# Creates or modifies string $TOC_PN_STYLE +\# *Notes: +\# Page numbering style for page numbers that appear in the +\# headers/footers of toc pages. See notes for PAGENUM_STYLE. +\# +\# Default is roman. +\# +.MAC TOC_PAGENUM_STYLE END +. ds $TOC_PN_STYLE \\$1 +.END +\# +\# +\# TOC RECTO_VERSO SWITCH +\# ---------------------- +\# *Argument: +\# | +\# *Function: +\# Creates or removes register #TOC_RV_SWITCH +\# *Notes: +\# Allows switching of L/R margins if a doc is recto/verso and +\# the first toc page happens to fall the wrong way +\# +.MAC TOC_RV_SWITCH END +. ie '\\$1'' \{ .nr #TOC_RV_SWITCH 1 \} +. el \{ .rr #TOC_RV_SWITCH \} +.END +\# +\# - for TOC "doc header" (i.e. "Contents") +\# +\# TOC HEADER FAMILY +\# ----------------- +\# *Argument: +\# +\# *Function: +\# Creates or modifies string $TOC_HEADER_FAM +\# *Notes: +\# Default is same as TOC_FAMILY. +\# +.MAC TOC_HEADER_FAMILY END +. ds $TOC_HEADER_FAM \\$1 +.END +\# +\# +\# TOC HEADER FONT +\# --------------- +\# *Argument: +\# +\# *Function: +\# Creates or modified string $TOC_HEADER_FT +\# *Notes: +\# Default is bold for TYPESET. +\# +.MAC TOC_HEADER_FONT END +. ds $TOC_HEADER_FT \\$1 +.END +\# +\# +\# TOC HEADER SIZE +\# -------------- +\# *Argument: +\# <+|- number of points by which to in/decrease toc header +\# (relative to overall toc point size)> +\# *Function: +\# Creates or modifies string $TOC_HEADER_SIZE_CHANGE. +\# *Notes: +\# Default is +4 +\# +.MAC TOC_HEADER_SIZE END +. ds $TOC_HEADER_SIZE_CHANGE \\$1 +.END +\# +\# +\# TOC HEADER QUAD +\# --------------- +\# *Argument: +\# L | LEFT | C | CENTER | CENTRE | R | RIGHT +\# *Function: +\# Creates or modifies string $TOC_HEADER_QUAD. +\# *Notes: +\# Default is LEFT. +\# +.MAC TOC_HEADER_QUAD END +. ds $TOC_HEADER_QUAD \\$1 +.END +\# +\# +\# TOC HEADER STRING +\# ----------------- +\# *Argument: +\# +\# *Function: +\# Creates or modifies string $TOC_HEADER_STRING +\# *Notes: +\# Default is "Contents". +\# +.MAC TOC_HEADER_STRING END +. ds $TOC_HEADER_STRING \\$1 +.END +\# +\# - for TOC entries page number numerals +\# +\# TOC ENTRIES PAGE NUMBER FAMILY +\# ------------------------------ +\# *Argument: +\# +\# *Function: +\# Creates or modifies string $TOC_PN_FAM. +\# *Notes: +\# Default is same as $TOC_FAM. +\# +.MAC TOC_PN_FAMILY END +. ds $TOC_PN_FAM \\$1 +.END +\# +\# +\# TOC ENTRIES PAGE NUMBER FONT +\# ---------------------------- +\# *Argument: +\# +\# *Function: +\# Creates or modifies string $TOC_PN_FT. +\# *Notes: +\# Default is roman. +\# +.MAC TOC_PN_FONT END +. ds $TOC_PN_FT \\$1 +.END +\# +\# +\# TOC ENTRIES PAGE NUMBER SIZE +\# ---------------------------- +\# *Argument: +\# <+|- number of points by which to in/decrease toc +\# entries page numbers (relative to overall toc point size)> +\# *Function: +\# Creates or modifies string $TOC_PN_SIZE_CHANGE. +\# *Notes: +\# Default is +0. +\# +.MAC TOC_PN_SIZE END +. ds $TOC_PN_SIZE_CHANGE \\$1 +.END +\# +\# +\# Control macros for toc doc titles, heads, subheads and paraheads +\# ---------------------------------------------------------------- +\# +\# All these control macros behave the same way, setting the family, +\# font, point size and indent from the left margin of the different +\# kinds of entries that can appear in the toc. The way they +\# operate is identical to all other _FAMILY, _FONT and _SIZE +\# control macros. _INDENT takes an absolute value. +\# TOC_APPENDS_AUTHORS is unique in this section. +\# +\# - for title entries +\# +.MAC TOC_TITLE_FAMILY END +. ds $TOC_TITLE_FAM \\$1 +.END +\# +\# +.MAC TOC_TITLE_FONT END +. ds $TOC_TITLE_FT \\$1 +.END +\# +\# +.MAC TOC_TITLE_SIZE END +. ds $TOC_TITLE_SIZE_CHANGE \\$1 +.END +\# +\# +.MAC TOC_TITLE_INDENT END +. nr #TOC_TITLE_INDENT (\\$1) +.END +\# +\# +.MAC TOC_TITLE_ENTRY END +. nr #USER_SET_TITLE_ITEM 1 +. ds $USER_SET_TITLE_ITEM \\$1 +.END +\# +\# +\# APPEND AUTHOR(S) TO TOC DOC TITLE ENTRIES +\# ----------------------------------------- +\# *Argument: +\# | +\# *Function: +\# Creates register #TOC_AUTHORS (to tell TOC to append authors +\# to toc doc title entries). Optionally creates string +\# $TOC_AUTHORS. +\# *Notes: +\# Normally, TOC does not append the author(s) to a toc doc title +\# entry. This special macro instructs TOC to do so. +\# +\# If user has multiple authors for each doc when collating, +\# TOC_APPENDS_AUTHOR "" must be inserted somewhere between +\# COLLATE and START in each doc. Otherwise, mom prints only the +\# first author given to AUTHOR. +\# +.MAC TOC_APPENDS_AUTHOR END +. nr #TOC_AUTHORS 1 +. if !'\\$1'' \{\ +. ds $TOC_AUTHORS \\$1 +. \} +.END +\# +\# - for head entries +\# +.MAC TOC_HEAD_FAMILY END +. ds $TOC_HEAD_FAM \\$1 +.END +\# +\# +.MAC TOC_HEAD_FONT END +. ds $TOC_HEAD_FT \\$1 +.END +\# +\# +.MAC TOC_HEAD_SIZE END +. ds $TOC_HEAD_SIZE_CHANGE \\$1 +.END +\# +\# +.MAC TOC_HEAD_INDENT END +. nr #TOC_HEAD_INDENT (\\$1) +.END +\# +\# - for subhead entries +\# +.MAC TOC_SUBHEAD_FAMILY END +. ds $TOC_SH_FAM \\$1 +.END +\# +\# +.MAC TOC_SUBHEAD_FONT END +. ds $TOC_SH_FT \\$1 +.END +\# +\# +.MAC TOC_SUBHEAD_SIZE END +. ds $TOC_SH_SIZE_CHANGE \\$1 +.END +\# +\# +.MAC TOC_SUBHEAD_INDENT END +. nr #TOC_SH_INDENT (\\$1) +.END +\# +\# - for parahead entries +\# +.MAC TOC_PARAHEAD_FAMILY END +. ds $TOC_PH_FAM \\$1 +.END +\# +\# +.MAC TOC_PARAHEAD_FONT END +. ds $TOC_PH_FT \\$1 +.END +\# +\# +.MAC TOC_PARAHEAD_SIZE END +. ds $TOC_PH_SIZE_CHANGE \\$1 +.END +\# +\# +.MAC TOC_PARAHEAD_INDENT END +. nr #TOC_PH_INDENT (\\$1) +.END +\# +\# +.MAC TOC END +. if !r#PAGINATE_TOC \{ .PAGINATE_TOC \} +. nr #TOC_FIRST_PAGE 1 +. if \\n[#FINIS] \{\ +. if \\n[#FOOTERS_WERE_ON] \{\ +. FOOTERS \" Have to turn FOOTERS on for next bit to work, so we can't skip this step +. \} +. \} +. if \\n[#FOOTERS_ON]=1 \{\ +. if !'\\*[$HDRFTR_CENTER_OLD]'' \{ .ds $HDRFTR_CENTER \\*[$HDRFTR_CENTER_OLD] \} +. ie \\n[#PAGINATE_TOC]=1 \{ .PAGINATE \} +. el \{ .PAGINATION OFF \} +. \} +. if \\n[#FOOTERS_WERE_ON] \{ .FOOTERS OFF \} \" But have to turn FOOTERS off again so they don't print when FINIS was called +. COLLATE +. if \\n[#FINIS] \{\ +. if \\n[#FOOTERS_WERE_ON] \{ .FOOTERS \} \" Finally, turn footers on if they were on +. rr #FOOTERS_WERE_ON +. if \\n[#PAGINATION_WAS_ON] \{\ +. nr #PAGINATE 1 +. rr #PAGINATION_WAS_ON +. \} +. rr #FINIS +. \} +. ie \\n[#PAGINATE_TOC]=1 \{ .PAGINATE \} +. el \{ .PAGINATION OFF \} +. if \\n[#FOOTERS_ON]=1 \{\ +. ds $HDRFTR_CENTER \\*[$HDRFTR_CENTER_NEW] +. rm $HDRFTR_CENTER_OLD +. rm $HDRFTR_CENTER_NEW +. \} +. rr #COLLATED_DOC +. DOCHEADER OFF +. PAGENUMBER 1 +. if \\n[#PRINT_STYLE]=1 \{\ +. rr #IGNORE +. DOC_LEAD 24 ADJUST +. nr #IGNORE 1 +. \} +. START +. PP +. nr #COLUMNS 0 +. if \\n[#PRINT_STYLE]=2 \{\ +. ie r#ADJ_TOC_LEAD \{\ +. nr #NO_TRAP_RESET 1 +. DOC_LEAD \\n[#TOC_LEAD]u ADJUST +. rr #NO_TRAP_RESET +. \} +. el \{ .DOC_LEAD \\n[#TOC_LEAD]u \} +. \} +. sp |\\n[#T_MARGIN]u-\\n[#DOC_LEAD]u +. if \\n[#SLANT_ON] \{\ +\*[SLANTX]\c +. \} +. DOC_LINE_LENGTH \\n[#DOC_L_LENGTH]u +. QUAD \\*[$TOC_HEADER_QUAD] +. PAGENUM_STYLE \\*[$TOC_PN_STYLE] +. if \\n[#PRINT_STYLE]=1 \{\ +. fam C +. ft R +. ps 12 +. \} +. if \\n[#PRINT_STYLE]=2 \{\ +. FAMILY \\*[$TOC_HEADER_FAM] +. FT \\*[$TOC_HEADER_FT] +. PT_SIZE \\n[#TOC_PS]u\\*[$TOC_HEADER_SIZE_CHANGE] +. \} +. ie \\n[#PRINT_STYLE]=1 \{\ +. CAPS +. UNDERLINE +. PRINT "\\*[$TOC_HEADER_STRING]" +. UNDERLINE OFF +. CAPS OFF +. \} +. el \{\ +. PRINT "\\*[$TOC_HEADER_STRING]" +. \} +. LEFT +. SP +\# In collated docs, this bit inserts the first doc's title +\# underneath the TOC header, before the TOC_ENTRIES diversion +\# gets output. +. nf +. if d$FIRST_DOC_TITLE \{\ +. nr #RESTORE_TOC_PN_PADDING \\n[#TOC_PN_PADDING] +. TOC_PADDING \\n[#FIRST_DOC_TOC_PN_PADDING] +. if \\n[#PRINT_STYLE]=2 \{\ +. FAMILY \\*[$TOC_TITLE_FAM] +. FT \\*[$TOC_TITLE_FT] +. PT_SIZE \\n[#TOC_PS]u\\*[$TOC_TITLE_SIZE_CHANGE] +. \} +. ie \\n[#PRINT_STYLE]=1 \{\ +. PAD "\\*[$FIRST_DOC_TITLE]\\*[$TOC_PN_TYPEWRITE]" +. \} +. el \{\ +. PAD "\\h'\\n[#TOC_TITLE_INDENT]u'\\*[$FIRST_DOC_TITLE]\\*[$TOC_PN]" +. \} +. EL +. ST 100 L +. ST 101 R +. if \\n[#PRINT_STYLE]=2 \{\ +. FAMILY \\*[$TOC_PN_FAM] +. FT \\*[$TOC_PN_FT] +. PT_SIZE \\n[#TOC_PS]u\\*[$TOC_PN_SIZE_CHANGE] +. \} +. TAB 100 +. PRINT \\*[LEADER] +. TN +. PRINT \\n[#FIRST_DOC_TITLE_PN] +. TQ +. \} +. TOC_PADDING \\n[#RESTORE_TOC_PN_PADDING] +. nf +. TOC_ENTRIES +. br +. rr #TOC +.END +\# +\# ==================================================================== +\# +\# +++COLUMNS+++ +\# +\# COLUMNS +\# ------- +\# *Arguments: +\# +\# *Function: +\# Creates registers associated with setting docs in columns. +\# Calculates column line lengths and offsets +\# *Notes: +\# COLUMNS, if used, s/b the last macro invoked before START. +\# +.MAC COLUMNS END +. if \\n[#IGNORE_COLUMNS]=1 \{ .return \} +. nr #COLUMNS 1 +. nr #NUM_COLS \\$1 +. nr #GUTTER (\\$2) +. nr #COL_L_LENGTH \\n[#L_LENGTH]-(\\n[#GUTTER]*(\\n[#NUM_COLS]-1))/\\n[#NUM_COLS] +. nr #COL_TOTAL 0 \\n[#COL_L_LENGTH]+\\n[#GUTTER] +. nr #COL_NUM 0 1 +. while !\\n[#COL_NUM]=\\n[#NUM_COLS] \{\ +. nr #COL_\\n+[#COL_NUM]_L_MARGIN \\n[#L_MARGIN]+\\n[#COL_TOTAL] +. nr #COL_TOTAL \\n+[#COL_TOTAL] +. \} +. rr #COL_TOTAL +. rr #COL_NUM +.END +\# +\# +\# NEXT COLUMN +\# ----------- +\# *Arguments: +\# +\# *Function: +\# Breaks current column and moves to next column. +\# If current column is the last on the page, breaks +\# to a new page. +\# +.MAC COL_NEXT END +. if \\n[#COLUMNS] \{\ +. nr #COL_NEXT 1 +. ie '\\$0'COL_NEXT' \{ .br \} +. el \{\ +. brp +. RLD 1v +. \} +. ie \\n[#COL_NUM]=\\n[#NUM_COLS] \{\ +. bp +. \} +. el \{ .FOOTER \} +. \} +.END +\# +\# ==================================================================== +\# +\# +++LISTS+++ +\# +\# LIST +\# ---- +\# *Arguments: +\# [ BULLET | DASH | DIGIT | ALPHA | USER ] [ ] [ ] +\# *Function: +\# Stores indent information in effect prior to invocation and +\# initializes a list with the supplied enumerator (and separator). +\# *Notes: +\# Default enumerator is a bullet. +\# +\# Enumerator *must* be supplied for every list that's to the +\# right of another list, every time, unless the default bullet is +\# desired. +\# +\# moves back one list level intuitively, or exits lists +\# completely if the level at which it's invoked is the first. +\# +.MAC LIST END +. if !r#DEPTH \{\ +. nr #STORED_HL_INDENT \\n[#HL_INDENT] +. nr #STORED_T_INDENT \\n[#T_INDENT] +. nr #CURRENT_L_LENGTH \\n(.l +. nr #DEPTH 0 1 +. if \\n[#INDENT_ACTIVE]=1 \{\ +. if \\n[#INDENT_LEFT_ACTIVE]=1 \{\ +. nr #STORED_L_INDENT \\n[#L_INDENT] +. nr #RESTORE_PREV_INDENT 1 +. \} +. if \\n[#INDENT_BOTH_ACTIVE]=1 \{\ +. nr #STORED_BL_INDENT \\n[#BL_INDENT] +. nr #STORED_BR_INDENT \\n[#BR_INDENT] +. IBX +. nr #ORIG_L_LENGTH \\n(.l +. IB +. nr #RESTORE_PREV_INDENT 2 +. \} +. if \\n[#INDENT_RIGHT_ACTIVE]=1 \{\ +. nr #STORED_R_INDENT \\n[#R_INDENT] +. IRX +. nr #ORIG_L_LENGTH \\n(.l +. IR +. nr #RESTORE_PREV_INDENT 3 +. if \\n[#INDENT_LEFT_ACTIVE]=1 \{ .nr #RESTORE_PREV_INDENT 4 \} +. \} +. \} +. \} +. if \\n[#NUM_ARGS]=0 \{\ +. nr #ARGS_TO_LIST 1 \" So default behaves as if LIST BULLET +. ds $ENUMERATOR\\n+[#DEPTH] \(bu +. ds $SEPARATOR +. \} +. if \\n[#NUM_ARGS]>0 \{\ +. rr #ARGS_TO_LIST \" Clear this before processing arg 1. +. if '\\$1'DASH' \{\ +. nr #ARGS_TO_LIST 1 +. ds $ENUMERATOR\\n+[#DEPTH] \(en +. ds $SEPARATOR\\n[#DEPTH] +. \} +. if '\\$1'BULLET' \{\ +. nr #ARGS_TO_LIST 1 +. ds $ENUMERATOR\\n+[#DEPTH] \(bu +. ds $SEPARATOR\\n[#DEPTH] +. \} +. if '\\$1'DIGIT' \{\ +. nr #ARGS_TO_LIST 1 +. nr #ENUMERATOR\\n+[#DEPTH] 0 1 +. ds $ENUMERATOR_TYPE\\n[#DEPTH] register +. ds $SEPARATOR\\n[#DEPTH] . +. if \\n[#NUM_ARGS]=2 \{\ +. ie '\\$2'NONE' \{ .ds $SEPARATOR\\n[#DEPTH]\} +. el \{ .ds $SEPARATOR\\n[#DEPTH] \\$2\} +. \} +. \} +. if '\\$1'ALPHA' \{\ +. nr #ARGS_TO_LIST 1 +. nr #ENUMERATOR\\n+[#DEPTH] 0 1 +. af #ENUMERATOR\\n[#DEPTH] a +. ds $ENUMERATOR_TYPE\\n[#DEPTH] register +. ds $SEPARATOR\\n[#DEPTH] ) +. if \\n[#NUM_ARGS]=2 \{\ +. ie '\\$2'NONE' \{ .ds $SEPARATOR\\n[#DEPTH]\} +. el \{ .ds $SEPARATOR\\n[#DEPTH] \\$2\} +. \} +. \} +. if '\\$1'USER' \{\ +. nr #ARGS_TO_LIST 1 +. ds $ENUMERATOR\\n+[#DEPTH] \\$2 +. ds $SEPARATOR\\n[#DEPTH] +. \} +. if \\n[#NUM_ARGS]=1 \{\ +. if !r#ARGS_TO_LIST \{\ +. ie \\n[#DEPTH]=1 \{\ +. ie \\n[#NEXT_DEPTH_BACK]=0 \{\ +. SET_LIST_INDENT +. if \\n[#QUIT]=1 \{\ +. QUIT_LISTS +. return +. \} +. return +. \} +. el \{\ +. QUIT_LISTS +. return +. \} +. \} +. el \{\ +. SET_LIST_INDENT +. return +. \} +. \} +. \} +. \} +. nr #TOTAL_LISTS \\n[#DEPTH] +. ie '\\*[$ENUMERATOR_TYPE\\n[#DEPTH]]'register' \{\ +. nr #LIST_INDENT\\n[#DEPTH] \\w'm\\*[$SEPARATOR\\n[#DEPTH]]\\ ' +. \} +. el \{\ +. nr #LIST_INDENT\\n[#DEPTH] \\w'\\*[$ENUMERATOR\\n[#DEPTH]]\\0' +. \} +. LL \\n[#CURRENT_L_LENGTH]u +. ie \\n[#DEPTH]=1 \{\ +. ie \\n[#INDENT_ACTIVE]=1 \{\ +. if \\n[#INDENT_LEFT_ACTIVE]=1 \{\ +. nr #L_INDENT \\n[#L_INDENT]+\\n[#LIST_INDENT\\n[#DEPTH]] +. nr #HL_INDENT\\n[#DEPTH] \\n[#LIST_INDENT\\n[#DEPTH]] +. nr #LIST_INDENT\\n[#DEPTH] \\n[#L_INDENT] +. \} +. if \\n[#INDENT_BOTH_ACTIVE]=1 \{\ +. nr #L_INDENT \\n[#BL_INDENT]+\\n[#LIST_INDENT\\n[#DEPTH]] +. nr #HL_INDENT\\n[#DEPTH] \\n[#LIST_INDENT\\n[#DEPTH]] +. nr #LIST_INDENT\\n[#DEPTH] \\n[#L_INDENT] +. \} +. if \\n[#INDENT_RIGHT_ACTIVE]=1 \{\ +. ie \\n[#INDENT_LEFT_ACTIVE]=1 \{\ +. \" Don't do anything; we already have a left indent +. \} +. el \{\ +. nr #L_INDENT +\\n[#LIST_INDENT\\n[#DEPTH]] +. nr #HL_INDENT\\n[#DEPTH] \\n[#LIST_INDENT\\n[#DEPTH]] +. \} +. \} +. \} +. el \{\ +. nr #L_INDENT +\\n[#LIST_INDENT\\n[#DEPTH]] +. nr #HL_INDENT\\n[#DEPTH] \\n[#LIST_INDENT\\n[#DEPTH]] +. \} +. \} +. el \{\ +. nr #L_INDENT +\\n[#LIST_INDENT\\n[#DEPTH]] +. nr #HL_INDENT\\n[#DEPTH] \\n[#LIST_INDENT\\n[#DEPTH]] +. \} +.END +\# +\# +\# ITEM +\# ---- +\# *Arguments: +\# none +\# *Function: +\# Prints enumerator for a given list depth and prepares mom to +\# receive the text of an item. +\# +.MAC ITEM END +. KERN OFF +. IL +. ll \\n[#CURRENT_L_LENGTH]u \" Set ll again because IL turns IB off. +. TRAP OFF +. HI \\n[#HL_INDENT\\n[#DEPTH]]u +. ie '\\*[$ENUMERATOR_TYPE\\n[#DEPTH]]'register' \{\ +. ie '\\g[#ENUMERATOR\\n[#DEPTH]]'0' \{\ +. ie \\n[#PAD_LIST_DIGITS\\n[#DEPTH]]=1 \{\ +. ie \\n[#ENUMERATOR\\n[#DEPTH]]<9 \{\ +. PRINT \\0\\n+[#ENUMERATOR\\n[#DEPTH]]\\*[$SEPARATOR\\n[#DEPTH]] +. \} +. el \{\ +. PRINT \\n+[#ENUMERATOR\\n[#DEPTH]]\\*[$SEPARATOR\\n[#DEPTH]] +. \} +. \} +. el \{\ +. PRINT \\n+[#ENUMERATOR\\n[#DEPTH]]\\*[$SEPARATOR\\n[#DEPTH]] +. \} +. \} +. el \{\ +. PRINT \\n+[#ENUMERATOR\\n[#DEPTH]]\\*[$SEPARATOR\\n[#DEPTH]] +. \} +. \} +. el \{\ +. PRINT \\*[$ENUMERATOR\\n[#DEPTH]]\\*[$SEPARATOR\\n[#DEPTH]] +. \} +. EL +. TRAP +. KERN +.END +\# +\# +\# SHIFT LIST +\# --------- +\# *Arguments: +\# +\# *Function: +\# Adds the value of the arg to the current list's indent. +\# *Notes: +\# Requires a unit of measure. +\# +.MAC SHIFT_LIST END +. nr #LIST_INDENT\\n[#DEPTH] \\n[#L_INDENT]+(\\$1) +. nr #L_INDENT \\n[#LIST_INDENT\\n[#DEPTH]] +.END +\# +\# +\# PAD LIST DIGITS +\# --------------- +\# *Arguments: +\# [ LEFT ] +\# *Function: +\# Adds a figure space to a list's hanging and left indent. If +\# LEFT is given, sets reg. #PAD_LIST_DIGITS to 1 for use in ITEM. +\# +.MAC PAD_LIST_DIGITS END +. if '\\g[#ENUMERATOR\\n[#DEPTH]]'0' \{\ +. nr #LIST_INDENT\\n[#DEPTH] +\\w'\\0' +. nr #L_INDENT \\n[#LIST_INDENT\\n[#DEPTH]]+\\n[#LIST_INDENT\\n-[#DEPTH]] +. nr #HL_INDENT\\n+[#DEPTH] +\\w'\\n[#ENUMERATOR\\n[#DEPTH]]' +. if '\\$1'LEFT' \{ .nr #PAD_LIST_DIGITS\\n[#DEPTH] 1 \} +. \} +.END +\# +\# +\# RESET LIST +\# ---------- +\# *Arguments: +\# none +\# *Function: +\# Resets register enumerators to 1 or a. +\# +.MAC RESET_LIST END +. nr #ENUMERATOR\\n[#DEPTH] 0 1 +.END +\# +\# +\# QUIT LISTS +\# ---------- +\# *Arguments: +\# none +\# *Function: +\# Exits lists cleanly and restores any indents that were in +\# effect prior to LIST. +\# +.MAC QUIT_LISTS END +. IQ CLEAR +. nr #HL_INDENT \\n[#STORED_HL_INDENT] +. nr #T_INDENT \\n[#STORED_T_INDENT] +. rr #STORED_HL_INDENT +. if \\n[#RESTORE_PREV_INDENT]=1 \{\ +. nr #L_INDENT \\n[#STORED_L_INDENT] +. IL +. rr #STORED_L_INDENT +. \} +. if \\n[#RESTORE_PREV_INDENT]=2 \{\ +. nr #BL_INDENT \\n[#STORED_BL_INDENT] +. nr #BR_INDENT \\n[#STORED_BR_INDENT] +. LL \\n[#ORIG_L_LENGTH]u +. IB +. rr #STORED_BL_INDENT +. rr #STORED_BR_INDENT +. \} +. if \\n[#RESTORE_PREV_INDENT]=3 \{\ +. nr #R_INDENT \\n[#STORED_R_INDENT] +. LL \\n[#ORIG_L_LENGTH]u +. IR +. rr #STORED_R_INDENT +. \} +. if \\n[#RESTORE_PREV_INDENT]=4 \{\ +. nr #R_INDENT \\n[#STORED_R_INDENT] +. nr #L_INDENT \\n[#STORED_L_INDENT] +. LL \\n[#ORIG_L_LENGTH]u +. IR +. IL +. rr #STORED_R_INDENT +. rr #STORED_L_INDENT +. \} +.\" Clean up after exiting last depth of list +. nr #REMOVE 0 1 +. while \\n+[#REMOVE]<=\\n[#TOTAL_LISTS] \{\ +. rr #LIST_INDENT\\n[#REMOVE] +. rr #ENUMERATOR\\n[#REMOVE] +. rm $ENUMERATOR\\n[#REMOVE] +. rr #SEPARATOR\\n[#REMOVE] +. rm $ENUMERATOR_TYPE\\n[#REMOVE] +. rr #PAD_LIST_DIGITS\\n[#REMOVE] +. \} +. rr #REMOVE +. rr #TOTAL_LISTS +. rr #QUIT +. rr #DEPTH +. rr #NEXT_DEPTH_BACK +. rr #RESTORE_PREV_INDENT +. rr #ORIG_L_LENGTH +. rr #CURRENT_L_LENGTH +.END +\# +\# +\# SET LIST INDENT +\# --------------- +\# *Arguments: +\# none +\# *Function: +\# Restores indent of prev. list in nested lists. Also sets the +\# #QUIT register if an invocation of LIST OFF applies to the first +\# level of list. +\# +.MAC SET_LIST_INDENT END +. nr #NEXT_DEPTH_BACK \\n[#DEPTH]-1 +. if \\n[#NEXT_DEPTH_BACK]=0 \{\ +. nr #QUIT 1 +. return +. \} +. ie \\n[#NEXT_DEPTH_BACK]=1 \{ .nr #L_INDENT \\n[#LIST_INDENT1] \} +. el \{ .nr #L_INDENT -\\n[#LIST_INDENT\\n[#DEPTH]] \} +. nr #HL_INDENT \\n[#HL_INDENT\\n-[#DEPTH]] +.END +\# +\# ==================================================================== +\# +\# +++DOCUMENT PROCESSING MISC AND SUPPORT MACROS+++ +\# +\# COLLATE +\# ------- +\# *Arguments: +\# +\# *Function: +\# Turns headers off (if on) and saves header state, sets register +\# #COLLATE to 1 (toggle), and breaks to a new page. +\# *Notes: +\# COLLATE exists primarily to allow putting multiple chapters in +\# a single file, although it can be used for any document type. After +\# COLLATE, any of the macros that normally precede START may be +\# used, and should behave as expected. +\# +\# N.B.--the START macro *must* be used after COLLATE (and any other +\# macros that alter mom's behaviour). +\# +.MAC COLLATE END +. nr #COLLATE 1 +. nr #HEADER_STATE \\n[#HEADERS_ON] +. HEADERS OFF +. if \\n[#PAGE_NUM_V_POS]=1 \{\ +. nr #PAGINATION_STATE \\n[#PAGINATE] +. PAGINATION OFF +. \} +. IQ CLEAR +. TQ +\# Collect first doc's title for TOC +. if \\n[#COLLATED_DOC]=0 \{\ +. ie \\n[#USER_SET_TITLE_ITEM] \{\ +. ds $FIRST_DOC_TITLE \\*[$USER_SET_TITLE_ITEM]\\| +. rr #USER_SET_TITLE_ITEM +. rm $USER_SET_TITLE_ITEM +. \} +. el \{\ +. ie \\n[#DOC_TYPE]=2 \{\ +. ie '\\*[$CHAPTER_TITLE]'' \{\ +. ds $FIRST_DOC_TITLE \\*[$CHAPTER_STRING] \\*[$CHAPTER]\\| +. \} +. el \{\ +. ie '\\*[$CHAPTER]'' \{\ +. ds $FIRST_DOC_TITLE \\*[$CHAPTER_TITLE]\\| +. \} +. el \{\ +. ds $FIRST_DOC_TITLE \\*[$CHAPTER_STRING] \\*[$CHAPTER]: \\*[$CHAPTER_TITLE]\\| +. \} +. \} +. \} +. el \{\ +. ds $FIRST_DOC_TITLE \\*[$TITLE]\\| +. \} +. \} +. if \\n[#TOC_AUTHORS]=1 \{\ +. ie '\\*[$TOC_AUTHORS]'' \{\ +. as $FIRST_DOC_TITLE /\\|\\*[$AUTHOR_1]\\| +. \} +. el \{\ +. as $FIRST_DOC_TITLE /\\|\\*[$TOC_AUTHORS]\\| +. rm $TOC_AUTHORS +. \} +. \} +. nr #COLLATED_DOC 1 +. \} +\# End title collection for TOC +. LL \\n[#DOC_L_LENGTH]u +. QUAD $DOC_QUAD +. LS \\n[#DOC_LEAD]u +\*[SLANTX] +\*[CONDX] +\*[EXTX] +' NEWPAGE +. if \\n[#DEFER_PAGINATION] \{ .PAGINATE \} +. if !'\\*[$RESTORE_PAGENUM_STYLE]'' \{\ +. PAGENUM_STYLE \\*[$RESTORE_PAGENUM_STYLE] +. rm $RESTORE_PAGENUM_STYLE +. \} +. rm $EN_TITLE +. rr #PAGENUM_STYLE_SET +.END +\# +\# +\# OUTPUT BLANK PAGES +\# ------------------ +\# *Argument: +\# +\# *Function: +\# Outputs blank pages. +\# *Notes: +\# If recto/verso, each page is recto/verso, even if there's +\# nothing on it. +\# +.MAC BLANKPAGE END +. nr #HOW_MANY \\$1 +. nr #PAGES 0 1 +. while \\n+[#PAGES]<=\\n[#HOW_MANY] \{\ +. if \\n[#HEADERS_ON]=1 \{\ +. nr #HEADERS_WERE_ON 1 +. HEADERS OFF +. \} +. if \\n[#PAGE_NUM_V_POS]=1 \{\ +. if \\n[#PAGINATE]=1 \{ .nr #PAGINATE_WAS_ON 1 \} +. PAGINATION OFF +. \} +. NEWPAGE +. PRINT \& +. if \\n[#FOOTERS_ON]=1 \{\ +. nr #FOOTERS_WERE_ON 1 +. FOOTERS OFF +. \} +. if \\n[#PAGE_NUM_V_POS]=2 \{\ +. if \\n[#PAGINATE]=1 \{ .nr #PAGINATE_WAS_ON 1 \} +. PAGINATION OFF +. \} +. if \\n[#HEADERS_WERE_ON] \{ .HEADERS \} +. if \\n[#PAGE_NUM_V_POS]=1 \{\ +. if \\n[#PAGINATE_WAS_ON] \{ .PAGINATE \} +. \} +. \} +. NEWPAGE +. if \\n[#FOOTERS_WERE_ON] \{ .FOOTERS \} +. if \\n[#PAGE_NUM_V_POS]=2 \{\ +. if \\n[#PAGINATE_WAS_ON] \{ .PAGINATE \} +. \} +. rr #HEADERS_WERE_ON +. rr #FOOTERS_WERE_ON +. rr #PAGINATE_WAS_ON +.END +\# +\# +\# SET TRAPS FOR HEADERS/FOOTERS/FOOTNOTES +\# --------------------------------------- +\# *Arguments: +\# +\# *Function: +\# Sets header/footer/footnotes/etc... traps. +\# Calculates the number of lines that actually fit on a +\# page based on #B_MARGIN and resets page bottom trap to coincide +\# with the depth of that number of lines, or, if #ADJ_DOC_LEAD=1, +\# adjusts #DOC_LEAD so that the last line of text on a page falls +\# exactly on #B_MARGIN. +\# +.MAC TRAPS END +\# *Remove all header/footer traps +. if !\\n[#NO_TRAP_RESET] \{\ +. ch DO_T_MARGIN +. ch DO_B_MARGIN +. ch HEADER +. ch FOOTER +\# *Plant header trap +. wh 0 HEADER +. \} \# *Adjust lead so last line of text falls on B_MARGIN,... -. ie \\n[#ADJ_DOC_LEAD] \{\ +. ie \\n[#ADJ_DOC_LEAD]=1 \{\ . nr #LINES_PER_PAGE 0 1 . nr #DOC_LEAD_ADJ 0 1 . nr #DEPTH_TO_B_MARGIN \\n[#PAGE_LENGTH]-\\n[#B_MARGIN]-1v -. while \\n[#T_MARGIN]+(\\n[#DOC_LEAD]*\\n+[#LINES_PER_PAGE])<\\n[#DEPTH_TO_B_MARGIN] \{ . \} +. while \\n[#T_MARGIN]+(\\n[#DOC_LEAD]*\\n+[#LINES_PER_PAGE])<\\n[#DEPTH_TO_B_MARGIN] \{\ +. +. \} . nr #LINES_PER_PAGE -1 -. while \\n[#T_MARGIN]+(\\n[#DOC_LEAD]+\\n+[#DOC_LEAD_ADJ]*\\n[#LINES_PER_PAGE])<\\n[#DEPTH_TO_B_MARGIN] \{ . \} +. while \\n[#T_MARGIN]+(\\n[#DOC_LEAD]+\\n+[#DOC_LEAD_ADJ]*\\n[#LINES_PER_PAGE])<\\n[#DEPTH_TO_B_MARGIN] \{\ +. +. \} . DOC_LEAD \\n[#DOC_LEAD]u+\\n[#DOC_LEAD_ADJ]u . \} \# *...or calculate new B_MARGIN based on # of lines (at #DOC_LEAD) that fit @@ -9227,7 +11852,9 @@ . el \{\ . nr #LINES_PER_PAGE 0 1 . nr #DEPTH_TO_B_MARGIN \\n[#PAGE_LENGTH]-\\n[#B_MARGIN]-1v -. while \\n[#T_MARGIN]+(\\n[#DOC_LEAD]*\\n+[#LINES_PER_PAGE])<\\n[#DEPTH_TO_B_MARGIN] \{ . \} +. while \\n[#T_MARGIN]+(\\n[#DOC_LEAD]*\\n+[#LINES_PER_PAGE])<\\n[#DEPTH_TO_B_MARGIN] \{\ +. +. \} . nr #B_MARGIN \\n[#PAGE_LENGTH]-(\\n[#T_MARGIN]+(\\n[#DOC_LEAD]*\\n[#LINES_PER_PAGE])) . \} \# *Set footer and footnote overflow traps @@ -9240,6 +11867,7 @@ . wh -\\n[#B_MARGIN]u FN_OVERFLOW_TRAP . ch FOOTER -\\n[#B_MARGIN]u . \} +. rr #ADJ_DOC_LEAD .END \# \# @@ -9278,7 +11906,7 @@ . ie \\n[#BR_INDENT]=\\n[#BL_INDENT] \{\ . ll -\\n[#BR_INDENT]u . ta \\n(.lu -. \} +. \} . el \{\ . ll -(\\n[#BR_INDENT]u/2u) . ta \\n(.lu @@ -9314,7 +11942,9 @@ .END \# \# +\# Set up a default papersize of US letter \# +.PAPER LETTER \# \# ==================================================================== \# @@ -9325,11 +11955,24 @@ \# \# Macros \# ------ +.ALIAS BLOCKQUOTE_COLOUR BLOCKQUOTE_COLOR .ALIAS BREAK_BLOCKQUOTE BREAK_QUOTE .ALIAS BREAK_CITATION BREAK_QUOTE .ALIAS BREAK_CITE BREAK_QUOTE .ALIAS CITATION BLOCKQUOTE +.ALIAS CITATION_COLOUR CITATION_COLOR +.ALIAS CITATION_FAMILY BLOCKQUOTE_FAMILY +.ALIAS CITATION_FONT BLOCKQUOTE_FONT +.ALIAS CITATION_SIZE BLOCKQUOTE_SIZE +.ALIAS CITATION_COLOR BLOCKQUOTE_COLOR +.ALIAS CITATION_QUAD BLOCKQUOTE_QUAD .ALIAS CITE BLOCKQUOTE +.ALIAS CITE_COLOUR CITE_COLOR +.ALIAS CITE_FAMILY BLOCKQUOTE_FAMILY +.ALIAS CITE_FONT BLOCKQUOTE_FONT +.ALIAS CITE_SIZE BLOCKQUOTE_SIZE +.ALIAS CITE_COLOR BLOCKQUOTE_COLOR +.ALIAS CITE_QUAD BLOCKQUOTE_QUAD .ALIAS DOC_R_MARGIN DOC_RIGHT_MARGIN .ALIAS DOC_L_MARGIN DOC_LEFT_MARGIN .ALIAS DOC_L_LENGTH DOC_LINE_LENGTH @@ -9337,101 +11980,140 @@ .ALIAS DOC_LMARGIN DOC_LEFT_MARGIN .ALIAS DOC_LLENGTH DOC_LINE_LENGTH .ALIAS DOC_FAM DOC_FAMILY -.ALIAS FILL QUAD -.ALIAS PP_FT PP_FONT -.ALIAS DOC_PS DOC_PT_SIZE .ALIAS DOC_LS DOC_LEAD +.ALIAS DOC_PS DOC_PT_SIZE +.ALIAS DOCHEADER_COLOUR DOCHEADER_COLOUR +.ALIAS EPIGRAPH_COLOUR EPIGRAPH_COLOR +.ALIAS FILL QUAD +.ALIAS FINIS_COLOUR FINIS_COLOR +.ALIAS HEAD_COLOUR HEAD_COLOR +.ALIAS LINEBREAK_COLOUR LINEBREAK_COLOR .ALIAS PAGENUM PAGENUMBER +.ALIAS PAGENUM_COLOUR PAGENUM_COLOR .ALIAS PAGINATION PAGINATE +.ALIAS PARAHEAD_COLOUR PARAHEAD_COLOR +.ALIAS PP_FT PP_FONT +.ALIAS QUOTE_COLOUR QUOTE_COLOR +.ALIAS SUBHEAD_COLOUR SUBHEAD_COLOR +.ALIAS TOC_FAM TOC_FAM +.ALIAS TOC_PS TOC_PT_SIZE \# \# HEADER and FOOTER aliases for HDRFTR macros. \# -.ALIAS ENDNOTES_HEADER_CENTER ENDNOTES_HDRFTR_CENTER -.ALIAS HEADER_FAMILY HDRFTR_FAMILY -.ALIAS HEADER_FAM HDRFTR_FAMILY -.ALIAS HEADER_SIZE HDRFTR_SIZE -.ALIAS HEADER_PLAIN HDRFTR_PLAIN -.ALIAS HEADER_RULE_GAP HDRFTR_RULE_GAP -.ALIAS HEADER_RULE HDRFTR_RULE -.ALIAS HEADER_LEFT HDRFTR_LEFT -.ALIAS HEADER_LEFT_FAMILY HDRFTR_LEFT_FAMILY -.ALIAS HEADER_LEFT_FAM HDRFTR_LEFT_FAMILY -.ALIAS HEADER_LEFT_FONT HDRFTR_LEFT_FONT -.ALIAS HEADER_LEFT_FT HDRFTR_LEFT_FONT -.ALIAS HEADER_LEFT_SIZE HDRFTR_LEFT_SIZE -.ALIAS HEADER_LEFT_PS HDRFTR_LEFT_SIZE -.ALIAS HEADER_LEFT_CAPS HDRFTR_LEFT_CAPS -.ALIAS HEADER_CENTER HDRFTR_CENTER -.ALIAS HEADER_CENTRE HDRFTR_CENTER -.ALIAS HEADER_CENTER_FAMILY HDRFTR_CENTER_FAMILY -.ALIAS HEADER_CENTRE_FAMILY HDRFTR_CENTER_FAMILY -.ALIAS HEADER_CENTER_FAM HDRFTR_CENTER_FAMILY -.ALIAS HEADER_CENTRE_FAM HDRFTR_CENTER_FAMILY -.ALIAS HEADER_CENTER_FONT HDRFTR_CENTER_FONT -.ALIAS HEADER_CENTRE_FONT HDRFTR_CENTER_FONT -.ALIAS HEADER_CENTER_FT HDRFTR_CENTER_FONT -.ALIAS HEADER_CENTRE_FT HDRFTR_CENTER_FONT -.ALIAS HEADER_CENTER_SIZE HDRFTR_CENTER_SIZE -.ALIAS HEADER_CENTRE_SIZE HDRFTR_CENTER_SIZE -.ALIAS HEADER_CENTER_PS HDRFTR_CENTER_SIZE -.ALIAS HEADER_CENTRE_PS HDRFTR_CENTER_SIZE -.ALIAS HEADER_CENTER_CAPS HDRFTR_CENTER_CAPS -.ALIAS HEADER_CENTRE_CAPS HDRFTR_CENTER_CAPS -.ALIAS HEADER_RIGHT HDRFTR_RIGHT -.ALIAS HEADER_RIGHT_FAMILY HDRFTR_RIGHT_FAMILY -.ALIAS HEADER_RIGHT_FAM HDRFTR_RIGHT_FAMILY -.ALIAS HEADER_RIGHT_FONT HDRFTR_RIGHT_FONT -.ALIAS HEADER_RIGHT_FT HDRFTR_RIGHT_FONT -.ALIAS HEADER_RIGHT_SIZE HDRFTR_RIGHT_SIZE -.ALIAS HEADER_RIGHT_PS HDRFTR_RIGHT_SIZE -.ALIAS HEADER_RIGHT_CAPS HDRFTR_RIGHT_CAPS -.ALIAS HEADER_RECTO HDRFTR_RECTO -.ALIAS HEADER_VERSO HDRFTR_VERSO .ALIAS ENDNOTES_FOOTER_CENTER ENDNOTES_HDRFTR_CENTER -.ALIAS FOOTER_FAMILY HDRFTR_FAMILY -.ALIAS FOOTER_FAM HDRFTR_FAMILY -.ALIAS FOOTER_SIZE HDRFTR_SIZE -.ALIAS FOOTER_PLAIN HDRFTR_PLAIN -.ALIAS FOOTER_RULE_GAP HDRFTR_RULE_GAP -.ALIAS FOOTER_RULE HDRFTR_RULE -.ALIAS FOOTER_LEFT HDRFTR_LEFT -.ALIAS FOOTER_LEFT_FAMILY HDRFTR_LEFT_FAMILY -.ALIAS FOOTER_LEFT_FAM HDRFTR_LEFT_FAMILY -.ALIAS FOOTER_LEFT_FONT HDRFTR_LEFT_FONT -.ALIAS FOOTER_LEFT_FT HDRFTR_LEFT_FONT -.ALIAS FOOTER_LEFT_SIZE HDRFTR_LEFT_SIZE -.ALIAS FOOTER_LEFT_PS HDRFTR_LEFT_SIZE -.ALIAS FOOTER_LEFT_CAPS HDRFTR_LEFT_CAPS -.ALIAS FOOTER_CENTER HDRFTR_CENTER -.ALIAS FOOTER_CENTRE HDRFTR_CENTER -.ALIAS FOOTER_CENTER_FAMILY HDRFTR_CENTER_FAMILY -.ALIAS FOOTER_CENTRE_FAMILY HDRFTR_CENTER_FAMILY +.ALIAS ENDNOTES_HEADER_CENTER ENDNOTES_HDRFTR_CENTER +.ALIAS ENDNOTES_FOOTER_CENTRE ENDNOTES_HDRFTR_CENTRE +.ALIAS ENDNOTES_HEADER_CENTRE ENDNOTES_HDRFTR_CENTRE +.ALIAS FOOTER_CENTER_CAPS HDRFTR_CENTER_CAPS +.ALIAS FOOTER_CENTER_COLOR HDRFTR_CENTER_COLOR +.ALIAS FOOTER_CENTER_COLOUR HDRFTR_CENTER_COLOUR .ALIAS FOOTER_CENTER_FAM HDRFTR_CENTER_FAMILY -.ALIAS FOOTER_CENTRE_FAM HDRFTR_CENTER_FAMILY +.ALIAS FOOTER_CENTER_FAMILY HDRFTR_CENTER_FAMILY .ALIAS FOOTER_CENTER_FONT HDRFTR_CENTER_FONT -.ALIAS FOOTER_CENTRE_FONT HDRFTR_CENTER_FONT .ALIAS FOOTER_CENTER_FT HDRFTR_CENTER_FONT -.ALIAS FOOTER_CENTRE_FT HDRFTR_CENTER_FONT -.ALIAS FOOTER_CENTER_SIZE HDRFTR_CENTER_SIZE -.ALIAS FOOTER_CENTRE_SIZE HDRFTR_CENTER_SIZE +.ALIAS FOOTER_CENTER HDRFTR_CENTER +.ALIAS FOOTER_CENTER_PAD HDRFTR_CENTER_PAD .ALIAS FOOTER_CENTER_PS HDRFTR_CENTER_SIZE -.ALIAS FOOTER_CENTRE_PS HDRFTR_CENTER_SIZE -.ALIAS FOOTER_CENTER_CAPS HDRFTR_CENTER_CAPS +.ALIAS FOOTER_CENTER_SIZE HDRFTR_CENTER_SIZE .ALIAS FOOTER_CENTRE_CAPS HDRFTR_CENTER_CAPS -.ALIAS FOOTER_RIGHT HDRFTR_RIGHT -.ALIAS FOOTER_RIGHT_FAMILY HDRFTR_RIGHT_FAMILY +.ALIAS FOOTER_CENTRE_COLOR HDRFTR_CENTRE_COLOR +.ALIAS FOOTER_CENTRE_COLOUR HDRFTR_CENTRE_COLOUR +.ALIAS FOOTER_CENTRE_FAM HDRFTR_CENTER_FAMILY +.ALIAS FOOTER_CENTRE_FAMILY HDRFTR_CENTER_FAMILY +.ALIAS FOOTER_CENTRE_FONT HDRFTR_CENTER_FONT +.ALIAS FOOTER_CENTRE_FT HDRFTR_CENTER_FONT +.ALIAS FOOTER_CENTRE HDRFTR_CENTER +.ALIAS FOOTER_CENTRE_PAD HDRFTR_CENTER_PAD +.ALIAS FOOTER_CENTRE_PS HDRFTR_CENTER_SIZE +.ALIAS FOOTER_CENTRE_SIZE HDRFTR_CENTER_SIZE +.ALIAS FOOTER_COLOR HDRFTR_COLOR +.ALIAS FOOTER_COLOUR HDRFTR_COLOR +.ALIAS FOOTER_FAM HDRFTR_FAMILY +.ALIAS FOOTER_FAMILY HDRFTR_FAMILY +.ALIAS FOOTER_LEFT_CAPS HDRFTR_LEFT_CAPS +.ALIAS FOOTER_LEFT_COLOR HDRFTR_LEFT_COLOR +.ALIAS FOOTER_LEFT_COLOUR HDRFTR_LEFT_COLOUR +.ALIAS FOOTER_LEFT_FAM HDRFTR_LEFT_FAMILY +.ALIAS FOOTER_LEFT_FAMILY HDRFTR_LEFT_FAMILY +.ALIAS FOOTER_LEFT_FONT HDRFTR_LEFT_FONT +.ALIAS FOOTER_LEFT_FT HDRFTR_LEFT_FONT +.ALIAS FOOTER_LEFT HDRFTR_LEFT +.ALIAS FOOTER_LEFT_PS HDRFTR_LEFT_SIZE +.ALIAS FOOTER_LEFT_SIZE HDRFTR_LEFT_SIZE +.ALIAS FOOTER_PLAIN HDRFTR_PLAIN +.ALIAS FOOTER_RECTO HDRFTR_RECTO +.ALIAS FOOTER_RIGHT_CAPS HDRFTR_RIGHT_CAPS +.ALIAS FOOTER_RIGHT_COLOR HDRFTR_RIGHT_COLOR +.ALIAS FOOTER_RIGHT_COLOUR HDRFTR_RIGHT_COLOUR .ALIAS FOOTER_RIGHT_FAM HDRFTR_RIGHT_FAMILY +.ALIAS FOOTER_RIGHT_FAMILY HDRFTR_RIGHT_FAMILY .ALIAS FOOTER_RIGHT_FONT HDRFTR_RIGHT_FONT .ALIAS FOOTER_RIGHT_FT HDRFTR_RIGHT_FONT -.ALIAS FOOTER_RIGHT_SIZE HDRFTR_RIGHT_SIZE +.ALIAS FOOTER_RIGHT HDRFTR_RIGHT .ALIAS FOOTER_RIGHT_PS HDRFTR_RIGHT_SIZE -.ALIAS FOOTER_RIGHT_CAPS HDRFTR_RIGHT_CAPS -.ALIAS FOOTER_RECTO HDRFTR_RECTO +.ALIAS FOOTER_RIGHT_SIZE HDRFTR_RIGHT_SIZE +.ALIAS FOOTER_RULE_COLOR HDRFTR_RULE_COLOR +.ALIAS FOOTER_RULE_GAP HDRFTR_RULE_GAP +.ALIAS FOOTER_RULE HDRFTR_RULE +.ALIAS FOOTER_SIZE HDRFTR_SIZE .ALIAS FOOTER_VERSO HDRFTR_VERSO -.ALIAS SWITCH_HEADERS SWITCH_HDRFTR +.ALIAS HEADER_CENTER_CAPS HDRFTR_CENTER_CAPS +.ALIAS HEADER_CENTER_COLOR HDRFTR_CENTER_COLOR +.ALIAS HEADER_CENTER_COLOUR HDRFTR_CENTER_COLOUR +.ALIAS HEADER_CENTER_FAM HDRFTR_CENTER_FAMILY +.ALIAS HEADER_CENTER_FAMILY HDRFTR_CENTER_FAMILY +.ALIAS HEADER_CENTER_FONT HDRFTR_CENTER_FONT +.ALIAS HEADER_CENTER_FT HDRFTR_CENTER_FONT +.ALIAS HEADER_CENTER HDRFTR_CENTER +.ALIAS HEADER_CENTER_PAD HDRFTR_CENTER_PAD +.ALIAS HEADER_CENTER_PS HDRFTR_CENTER_SIZE +.ALIAS HEADER_CENTER_SIZE HDRFTR_CENTER_SIZE +.ALIAS HEADER_CENTRE_CAPS HDRFTR_CENTER_CAPS +.ALIAS HEADER_CENTRE_COLOR HDRFTR_CENTRE_COLOR +.ALIAS HEADER_CENTRE_COLOUR HDRFTR_CENTRE_COLOUR +.ALIAS HEADER_CENTRE_FAM HDRFTR_CENTER_FAMILY +.ALIAS HEADER_CENTRE_FAMILY HDRFTR_CENTER_FAMILY +.ALIAS HEADER_CENTRE_FONT HDRFTR_CENTER_FONT +.ALIAS HEADER_CENTRE_FT HDRFTR_CENTER_FONT +.ALIAS HEADER_CENTRE HDRFTR_CENTER +.ALIAS HEADER_CENTRE_PAD HDRFTR_CENTER_PAD +.ALIAS HEADER_CENTRE_PS HDRFTR_CENTER_SIZE +.ALIAS HEADER_CENTRE_SIZE HDRFTR_CENTER_SIZE +.ALIAS HEADER_COLOR HDRFTR_COLOR +.ALIAS HEADER_COLOUR HDRFTR_COLOR +.ALIAS HEADER_FAM HDRFTR_FAMILY +.ALIAS HEADER_FAMILY HDRFTR_FAMILY +.ALIAS HEADER_LEFT_CAPS HDRFTR_LEFT_CAPS +.ALIAS HEADER_LEFT_COLOR HDRFTR_LEFT_COLOR +.ALIAS HEADER_LEFT_COLOUR HDRFTR_LEFT_COLOUR +.ALIAS HEADER_LEFT_FAM HDRFTR_LEFT_FAMILY +.ALIAS HEADER_LEFT_FAMILY HDRFTR_LEFT_FAMILY +.ALIAS HEADER_LEFT_FONT HDRFTR_LEFT_FONT +.ALIAS HEADER_LEFT_FT HDRFTR_LEFT_FONT +.ALIAS HEADER_LEFT HDRFTR_LEFT +.ALIAS HEADER_LEFT_PS HDRFTR_LEFT_SIZE +.ALIAS HEADER_LEFT_SIZE HDRFTR_LEFT_SIZE +.ALIAS HEADER_PLAIN HDRFTR_PLAIN +.ALIAS HEADER_RECTO HDRFTR_RECTO +.ALIAS HEADER_RIGHT_CAPS HDRFTR_RIGHT_CAPS +.ALIAS HEADER_RIGHT_COLOR HDRFTR_RIGHT_COLOR +.ALIAS HEADER_RIGHT_COLOUR HDRFTR_RIGHT_COLOUR +.ALIAS HEADER_RIGHT_FAM HDRFTR_RIGHT_FAMILY +.ALIAS HEADER_RIGHT_FAMILY HDRFTR_RIGHT_FAMILY +.ALIAS HEADER_RIGHT_FONT HDRFTR_RIGHT_FONT +.ALIAS HEADER_RIGHT_FT HDRFTR_RIGHT_FONT +.ALIAS HEADER_RIGHT HDRFTR_RIGHT +.ALIAS HEADER_RIGHT_PS HDRFTR_RIGHT_SIZE +.ALIAS HEADER_RIGHT_SIZE HDRFTR_RIGHT_SIZE +.ALIAS HEADER_RULE_COLOR HDRFTR_RULE_COLOR +.ALIAS HEADER_RULE_GAP HDRFTR_RULE_GAP +.ALIAS HEADER_RULE HDRFTR_RULE +.ALIAS HEADER_SIZE HDRFTR_SIZE +.ALIAS HEADER_VERSO HDRFTR_VERSO .ALIAS SWITCH_FOOTERS SWITCH_HDRFTR +.ALIAS SWITCH_HEADERS SWITCH_HDRFTR \# -\# SUPPORT ALIASES +\# Support aliases \# .ALIAS COL_BREAK COL_NEXT .ALIAS PRINT_FOOTNOTE_RULE FOOTNOTE_RULE diff -ruN groff-1.19/contrib/pic2graph/pic2graph.man groff-1.19.1/contrib/pic2graph/pic2graph.man --- groff-1.19/contrib/pic2graph/pic2graph.man Wed Jul 17 06:55:46 2002 +++ groff-1.19.1/contrib/pic2graph/pic2graph.man Tue Oct 28 08:46:24 2003 @@ -1,4 +1,4 @@ -.\" $Id: pic2graph.man,v 1.3 2002/07/17 04:55:46 wlemb Exp $ +.\" $Id: pic2graph.man,v 1.5 2003/10/28 07:46:24 wlemb Exp $ .\" This documentation is released to the public domain. .TH PIC2GRAPH @MAN1EXT@ "@MDATE@" "Groff Version @VERSION@" .IX pic2graph @@ -106,8 +106,25 @@ initialization file. . . +.SH ENVIRONMENT +.TP +.B GROFF_TMPDIR +The directory in which temporary files will be created. +If this is not set +.B pic2graph +searches the environment variables +.BR \%TMPDIR , +.BR TMP , +and +.B TEMP +(in that order). +Otherwise, temporary files will be created in +.BR /tmp . +. +. .SH "SEE ALSO" .BR eqn2graph (@MAN1EXT@), +.BR grap2graph (@MAN1EXT@), .BR @g@pic (@MAN1EXT@), .BR @g@eqn (@MAN1EXT@), .BR groff (@MAN1EXT@), diff -ruN groff-1.19/contrib/pic2graph/pic2graph.sh groff-1.19.1/contrib/pic2graph/pic2graph.sh --- groff-1.19/contrib/pic2graph/pic2graph.sh Sat Dec 21 09:32:56 2002 +++ groff-1.19.1/contrib/pic2graph/pic2graph.sh Fri Oct 31 20:32:36 2003 @@ -32,7 +32,7 @@ # We don't have complete option coverage on eqn because this is primarily # intended as a pic translator; we can live with eqn defaults. # -# $Id: pic2graph.sh,v 1.3 2002/12/21 08:32:56 wlemb Exp $ +# $Id: pic2graph.sh,v 1.5 2003/10/31 19:32:36 wlemb Exp $ # groffpic_opts="" gs_opts="" @@ -68,16 +68,34 @@ eqndelim="delim $eqndelim" fi +# create temporary directory +tmp= +for d in "$GROFF_TMPDIR" "$TMPDIR" "$TMP" "$TEMP" /tmp; do + test -z "$d" && continue + + tmp=`(umask 077 && mktemp -d -q "$d/pic2graph-XXXXXX") 2> /dev/null` \ + && test -n "$tmp" && test -d "$tmp" \ + && break + + tmp=$d/pic2graph$$-$RANDOM + (umask 077 && mkdir $tmp) 2> /dev/null \ + && break +done; +if test -z "$tmp"; then + echo "$0: cannot create temporary directory" >&2 + { (exit 1); exit 1; } +fi + +trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 2 15 + # Here goes: # 1. Wrap the input in dummy .PS/PE macros (and add possibly null .EQ/.EN) # 2. Process through eqn and pic to emit troff markup. # 3. Process through groff to emit Postscript. # 4. Use convert(1) to crop the PostScript and turn it into a bitmap. -tmp=/usr/tmp/pic2graph-$$ -trap "rm ${tmp}.*" 0 2 15 (echo ".EQ"; echo $eqndelim; echo ".EN"; echo ".PS"; cat; echo ".PE") | \ - groff -e -p $groffpic_opts -Tps >${tmp}.ps \ - && convert -crop 0x0 $convert_opts ${tmp}.ps ${tmp}.${format} \ - && cat ${tmp}.${format} + groff -e -p $groffpic_opts -Tps -P-pletter > $tmp/pic2graph.ps \ + && convert -crop 0x0 $convert_opts $tmp/pic2graph.ps $tmp/pic2graph.$format \ + && cat $tmp/pic2graph.$format # End diff -ruN groff-1.19/doc/Makefile.in groff-1.19.1/doc/Makefile.in --- groff-1.19/doc/Makefile.in Sat Apr 5 00:36:11 2003 +++ groff-1.19.1/doc/Makefile.in Tue Nov 11 08:08:54 2003 @@ -29,9 +29,9 @@ srcdir=@srcdir@ -top_srcdir=@top_srcdir@ +top_srcdir=@abs_top_srcdir@ VPATH=@srcdir@ -top_builddir=@groff_top_builddir@ +top_builddir=@abs_top_builddir@ pnmtops=@pnmtops_nosetpage@ # These may be overridden if cross-compiling. @@ -117,6 +117,11 @@ xpmtoppm $(srcdir)/gnu.xpm | pnmdepth 15 | $(pnmtops) -noturn >$@ gnu.png: gnu.xpm xpmtoppm $(srcdir)/gnu.xpm | pnmdepth 15 | pnmtopng >$@ + +pic.html: pic.ms + $(GROFF) -P-p -P-b -P-I`basename $< | sed -e 's|.ms$$||'` \ + -P-D$(imagedir) -P-j`basename $< | sed -e 's|.ms$$||'` \ + -Thtml -ms >$@ webpage.html: webpage.ms gnu.png gnu.eps webpage.ps: gnu.eps diff -ruN groff-1.19/doc/Makefile.sub groff-1.19.1/doc/Makefile.sub --- groff-1.19/doc/Makefile.sub Sat Apr 5 00:40:05 2003 +++ groff-1.19.1/doc/Makefile.sub Fri Mar 5 10:52:57 2004 @@ -1,4 +1,4 @@ -# Copyright (C) 2002, 2003 Free Software Foundation, Inc. +# Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. # Written by Werner Lemberg # # This file is part of groff. @@ -19,7 +19,7 @@ # These may be overridden if cross-compiling. GROFFBIN=$(top_builddir)/src/roff/groff/groff -GROFF_BIN_PATH=`echo $(groff_bin_dirs) | sed -e 's| *|:|g'` +GROFF_BIN_PATH=`echo $(groff_bin_dirs) | sed -e 's| *|$(SH_SEP)|g'` # Since info files are distributed within the groff package, no # autoconf test for the makeinfo binary is done. @@ -62,6 +62,9 @@ HTMLDOCFILES=\ pic.html +HTMLDOCFILESALL=\ + pic*.html + HTMLDOCIMAGEFILES=\ pic* @@ -88,7 +91,10 @@ $(PROCESSEDDOCFILES) \ $(PROCESSEDEXAMPLEFILES) \ $(HTMLEXAMPLEFILES) \ - $(HTMLDOCFILES) + $(HTMLDOCFILESALL) \ + groff.aux groff.cp* groff.dvi groff.es* groff.fn* groff.ky* groff.log \ + groff.ma* groff.op* groff.pdf groff.pg* groff.ps groff.rq* groff.st* \ + groff.toc groff.tp groff.vr* CLEANDIRADD=\ $(imagedir) @@ -130,6 +136,11 @@ gnu.png: gnu.xpm xpmtoppm $(srcdir)/gnu.xpm | pnmdepth 15 | pnmtopng >$@ +pic.html: pic.ms + $(GROFF) -P-p -P-b -P-I`basename $< | sed -e 's|.ms$$||'` \ + -P-D$(imagedir) -P-j`basename $< | sed -e 's|.ms$$||'` \ + -Thtml -ms >$@ + webpage.html: webpage.ms gnu.png webpage.ps: gnu.eps @@ -144,7 +155,7 @@ # the existence of `groff'. d=.; \ test -f "groff" || d=$(srcdir); \ - for f in $$d/groff $$d/groff-*; do \ + for f in $$d/groff `ls $$d/groff-*`; do \ rm -f $(infodir)/`basename $$f`; \ $(INSTALL_DATA) $$f $(infodir)/`basename $$f`; \ done @@ -170,7 +181,7 @@ install_html: $(HTMLDOCFILES) $(HTMLEXAMPLEFILES) -test -d $(htmldocdir) || $(mkinstalldirs) $(htmldocdir) - for f in $(HTMLDOCFILES); do \ + for f in `ls $(HTMLDOCFILESALL)`; do \ rm -f $(htmldocdir)/$$f; \ $(INSTALL_DATA) $$f $(htmldocdir)/$$f; \ done @@ -187,14 +198,14 @@ $(INSTALL_DATA) $(imagedir)/$(HTMLEXAMPLEIMAGEFILES) $(exampleimagedir) uninstall_sub: - -for f in groff groff-*; do \ + -for f in groff `ls groff-*`; do \ rm -f $(infodir)/$$f; \ done $(INSTALL_INFO) --delete --info-dir=$(infodir) $(infodir)/groff -for f in $(DOCFILES) $(PROCESSEDDOCFILES); do \ rm -f $(docdir)/$$f; \ done - -for f in $(HTMLDOCFILES); do \ + -for f in `ls $(HTMLDOCFILESALL)`; do \ rm -f $(htmldocdir)/$$f; \ done -rm -f $(htmldocimagedir)/$(HTMLDOCIMAGEFILES) diff -ruN groff-1.19/doc/groff groff-1.19.1/doc/groff --- groff-1.19/doc/groff Tue Apr 29 15:37:37 2003 +++ groff-1.19.1/doc/groff Thu May 13 15:31:44 2004 @@ -1,9 +1,9 @@ -This is groff, produced by makeinfo version 4.3d from ./groff.texinfo. +This is groff, produced by makeinfo version 4.6 from ./groff.texinfo. This manual documents GNU `troff' version 1.19. - Copyright (C) 1994-2000, 2001, 2002, 2003 Free Software Foundation, -Inc. + Copyright (C) 1994-2000, 2001, 2002, 2003, 2004 Free Software +Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, @@ -24,278 +24,269 @@  Indirect: -groff-1: 1006 -groff-2: 48734 -groff-3: 96786 -groff-4: 143635 -groff-5: 193057 -groff-6: 242522 -groff-7: 290092 -groff-8: 338472 -groff-9: 384440 -groff-10: 430986 -groff-11: 456663 +groff-1: 1011 +groff-2: 300853  Tag Table: (Indirect) -Node: Top1006 -Node: Introduction2301 -Node: What Is groff?2775 -Node: What Is groff?-Footnotes4281 -Ref: What Is groff?-Footnote-14350 -Node: History4387 -Node: groff Capabilities9338 +Node: Top1011 +Node: Introduction2312 +Node: What Is groff?2783 +Node: What Is groff?-Footnotes4287 +Ref: What Is groff?-Footnote-14356 +Node: History4393 +Node: groff Capabilities9341 Node: Macro Package Intro10524 -Node: Preprocessor Intro11147 -Node: Output device intro12643 -Node: Credits13107 -Node: Invoking groff13611 -Node: Groff Options14903 -Node: Environment24409 -Node: Macro Directories26236 -Node: Font Directories27562 -Node: Paper Size29204 -Node: Invocation Examples30549 -Node: Invocation Examples-Footnotes31741 -Ref: Invocation Examples-Footnote-131820 -Node: grog32053 -Node: Tutorial for Macro Users33322 -Node: Basics33742 -Node: Basics-Footnotes38557 -Ref: Basics-Footnote-138610 -Ref: Basics-Footnote-238704 -Node: Common Features38818 -Node: Paragraphs39604 -Node: Sections and Chapters41102 -Node: Headers and Footers41593 -Node: Page Layout Adjustment42466 -Node: Displays42733 -Node: Footnotes and Annotations43991 -Node: Table of Contents44650 -Node: Indices45164 -Node: Paper Formats45566 -Node: Multiple Columns45939 -Node: Font and Size Changes46187 -Node: Predefined Strings46489 -Node: Preprocessor Support46825 -Node: Configuration and Customization47379 -Node: Macro Packages47746 -Node: man48302 -Node: Man options48734 -Node: Man usage51159 -Node: Man font macros57184 -Node: Miscellaneous man macros58997 -Node: Predefined man strings60715 -Node: Preprocessors in man pages61267 -Node: Optional man extensions61881 -Node: mdoc65860 -Node: ms66029 -Node: ms Intro66505 -Node: General ms Structure67174 -Node: General ms Structure-Footnotes69615 -Ref: General ms Structure-Footnote-169696 -Node: ms Document Control Registers69742 -Node: ms Cover Page Macros72798 -Node: ms Body Text75716 -Node: Paragraphs in ms76185 -Node: Headings in ms77738 -Node: Highlighting in ms78524 -Node: Lists in ms80986 -Node: Indents in ms84219 -Node: Tabstops in ms84785 -Node: ms Displays and Keeps85182 -Node: ms Insertions88634 -Node: Example multi-page table90185 -Node: ms Footnotes90628 -Node: ms Page Layout91500 -Node: ms Headers and Footers92017 -Node: ms Margins93040 -Node: ms Multiple Columns93281 -Node: ms TOC94082 -Node: ms Strings and Special Characters96786 -Node: ms Strings and Special Characters-Footnotes99442 -Ref: ms Strings and Special Characters-Footnote-199549 -Node: Differences from AT&T ms99636 -Node: Missing ms Macros99935 -Node: Additional ms Macros100679 -Node: me101931 -Node: mm102089 -Node: gtroff Reference102236 -Node: Text103154 -Node: Filling and Adjusting103713 -Node: Hyphenation104426 -Node: Sentences105209 -Node: Tab Stops106349 -Node: Implicit Line Breaks107243 -Node: Input Conventions108256 -Node: Input Encodings109047 -Node: Measurements111008 -Node: Measurements-Footnotes113202 -Ref: Measurements-Footnote-1113267 -Node: Default Units113339 -Node: Expressions114385 -Node: Identifiers117109 -Node: Embedded Commands120965 -Node: Requests121712 -Node: Request and Macro Arguments123310 -Node: Request and Macro Arguments-Footnotes125787 -Ref: Request and Macro Arguments-Footnote-1125882 -Ref: Request and Macro Arguments-Footnote-2126010 -Node: Macros126364 -Node: Escapes126741 -Node: Comments129622 -Node: Comments-Footnotes132202 -Ref: Comments-Footnote-1132259 -Node: Registers132358 -Node: Setting Registers132861 -Node: Interpolating Registers135143 -Node: Auto-increment135948 -Node: Assigning Formats137478 -Node: Built-in Registers140386 -Node: Manipulating Filling and Adjusting143635 -Node: Manipulating Hyphenation152167 -Node: Manipulating Hyphenation-Footnotes162506 -Ref: Manipulating Hyphenation-Footnote-1162595 -Node: Manipulating Spacing162670 -Node: Tabs and Fields166677 -Node: Tabs and Fields-Footnotes172663 -Ref: Tabs and Fields-Footnote-1172734 -Node: Leaders172812 -Node: Leaders-Footnotes174403 -Ref: Leaders-Footnote-1174458 -Node: Fields174539 -Node: Character Translations175955 -Node: Troff and Nroff Mode185165 -Node: Line Layout187150 -Node: Line Control193057 -Node: Page Layout195730 -Node: Page Control199458 -Node: Fonts and Symbols203051 -Node: Changing Fonts203624 -Node: Font Families205433 -Node: Font Positions209962 -Node: Using Symbols213089 -Node: Using Symbols-Footnotes227673 -Ref: Using Symbols-Footnote-1227740 -Ref: Using Symbols-Footnote-2228193 -Ref: Using Symbols-Footnote-3228264 -Ref: Using Symbols-Footnote-4228503 -Node: Special Fonts228566 -Node: Artificial Fonts229738 -Node: Ligatures and Kerning235224 -Node: Sizes241230 -Node: Sizes-Footnotes242059 -Ref: Sizes-Footnote-1242110 -Node: Changing Type Sizes242522 -Node: Fractional Type Sizes247658 -Node: Strings250675 -Node: Conditionals and Loops258670 -Node: Operators in Conditionals258887 -Node: Operators in Conditionals-Footnotes261523 -Ref: Operators in Conditionals-Footnote-1261614 -Ref: Operators in Conditionals-Footnote-2261693 -Node: if-else261792 -Node: while263326 -Node: Writing Macros265699 -Node: Copy-in Mode269622 -Node: Parameters270505 -Node: Page Motions272640 -Node: Drawing Requests279907 -Node: Traps289487 -Node: Page Location Traps290092 -Node: Diversion Traps295934 -Node: Input Line Traps296407 -Node: Blank Line Traps297420 -Node: End-of-input Traps297692 -Node: Diversions298350 -Node: Environments305308 -Node: Suppressing output309178 -Node: Colors310992 -Node: I/O313974 -Node: Postprocessor Access321986 -Node: Miscellaneous323541 -Node: Miscellaneous-Footnotes328601 -Ref: Miscellaneous-Footnote-1328668 -Node: Gtroff Internals328738 -Node: Gtroff Internals-Footnotes332460 -Ref: Gtroff Internals-Footnote-1332533 -Node: Debugging332667 -Node: Warnings338472 -Node: Warnings-Footnotes341398 -Ref: Warnings-Footnote-1341455 -Node: Implementation Differences341576 -Node: Implementation Differences-Footnotes346197 -Ref: Implementation Differences-Footnote-1346290 -Node: Preprocessors346425 -Node: geqn346726 -Node: Invoking geqn346852 -Node: gtbl346946 -Node: Invoking gtbl347063 -Node: gpic347157 -Node: Invoking gpic347274 -Node: ggrn347368 -Node: Invoking ggrn347485 -Node: grap347579 -Node: grefer347850 -Node: Invoking grefer347978 -Node: gsoelim348082 -Node: Invoking gsoelim348200 -Node: Output Devices348309 -Node: Special Characters348544 -Node: grotty348708 -Node: Invoking grotty348849 -Node: grops348953 -Node: Invoking grops349104 -Node: Embedding PostScript349232 -Node: grodvi349354 -Node: Invoking grodvi349483 -Node: grolj4349587 -Node: Invoking grolj4349717 -Node: grolbp349821 -Node: Invoking grolbp349952 -Node: grohtml350056 -Node: Invoking grohtml350236 -Node: grohtml specific registers and strings350392 -Node: gxditview351255 -Node: Invoking gxditview351383 -Node: File formats351502 -Node: gtroff Output351772 -Node: gtroff Output-Footnotes353608 -Ref: gtroff Output-Footnote-1353675 -Node: Language Concepts353810 -Node: Separation354547 -Node: Argument Units356785 -Node: Document Parts357925 -Node: Command Reference359314 -Node: Comment Command359716 -Node: Simple Commands360193 -Node: Simple Commands-Footnotes366102 -Ref: Simple Commands-Footnote-1366173 -Node: Graphics Commands366234 -Node: Device Control Commands373543 -Node: Obsolete Command377579 -Node: Intermediate Output Examples378848 -Node: Output Language Compatibility381662 -Node: Font Files383709 -Node: Font Files-Footnotes384318 -Ref: Font Files-Footnote-1384379 -Node: DESC File Format384440 -Node: Font File Format388830 -Node: Font File Format-Footnotes395053 -Ref: Font File Format-Footnote-1395126 -Ref: Font File Format-Footnote-2395217 -Node: Installation395436 -Node: Copying This Manual395558 -Node: GNU Free Documentation License395774 -Node: Request Index415634 -Node: Escape Index425653 -Node: Operator Index429881 -Node: Register Index430986 -Node: Macro Index438803 -Node: String Index445907 -Node: Glyph Name Index450296 -Node: Font File Keyword Index450582 -Node: Program and File Index452983 -Node: Concept Index456663 +Node: Preprocessor Intro11144 +Node: Output device intro12638 +Node: Credits13100 +Node: Invoking groff13601 +Node: Groff Options14890 +Node: Environment25079 +Node: Macro Directories26903 +Node: Font Directories28226 +Node: Paper Size29864 +Node: Invocation Examples31206 +Node: Invocation Examples-Footnotes32395 +Ref: Invocation Examples-Footnote-132474 +Node: grog32707 +Node: Tutorial for Macro Users33973 +Node: Basics34390 +Node: Basics-Footnotes39202 +Ref: Basics-Footnote-139255 +Ref: Basics-Footnote-239349 +Node: Common Features39463 +Node: Paragraphs40245 +Node: Sections and Chapters41740 +Node: Headers and Footers42229 +Node: Page Layout Adjustment43099 +Node: Displays43363 +Node: Footnotes and Annotations44618 +Node: Table of Contents45274 +Node: Indices45786 +Node: Paper Formats46185 +Node: Multiple Columns46555 +Node: Font and Size Changes46800 +Node: Predefined Strings47099 +Node: Preprocessor Support47432 +Node: Configuration and Customization47983 +Node: Macro Packages48347 +Node: man48900 +Node: Man options49329 +Node: Man usage51751 +Node: Man font macros57773 +Node: Miscellaneous man macros59583 +Node: Predefined man strings61298 +Node: Preprocessors in man pages61847 +Node: Optional man extensions62458 +Node: mdoc66425 +Node: ms66591 +Node: ms Intro67064 +Node: General ms Structure67730 +Node: General ms Structure-Footnotes70168 +Ref: General ms Structure-Footnote-170249 +Node: ms Document Control Registers70295 +Node: ms Cover Page Macros73725 +Node: ms Body Text76640 +Node: Paragraphs in ms77105 +Node: Headings in ms78655 +Node: Highlighting in ms79439 +Node: Lists in ms81898 +Node: Indents in ms85128 +Node: Tabstops in ms85691 +Node: ms Displays and Keeps86085 +Node: ms Insertions89630 +Node: Example multi-page table91178 +Node: ms Footnotes91618 +Node: ms Page Layout92487 +Node: ms Headers and Footers93001 +Node: ms Margins94021 +Node: ms Multiple Columns94259 +Node: ms TOC95057 +Node: ms Strings and Special Characters97758 +Node: ms Strings and Special Characters-Footnotes100411 +Ref: ms Strings and Special Characters-Footnote-1100518 +Node: Differences from AT&T ms100605 +Node: Missing ms Macros100901 +Node: Additional ms Macros101642 +Node: me102891 +Node: mm103046 +Node: gtroff Reference103190 +Node: Text104105 +Node: Filling and Adjusting104661 +Node: Hyphenation105371 +Node: Sentences106151 +Node: Tab Stops107289 +Node: Implicit Line Breaks108180 +Node: Input Conventions109190 +Node: Input Encodings109979 +Node: Measurements111937 +Node: Measurements-Footnotes114128 +Ref: Measurements-Footnote-1114193 +Node: Default Units114265 +Node: Expressions115308 +Node: Identifiers118029 +Node: Embedded Commands121882 +Node: Requests122626 +Node: Request and Macro Arguments124220 +Node: Request and Macro Arguments-Footnotes126694 +Ref: Request and Macro Arguments-Footnote-1126789 +Ref: Request and Macro Arguments-Footnote-2126917 +Node: Macros127271 +Node: Escapes127645 +Node: Comments130523 +Node: Comments-Footnotes133100 +Ref: Comments-Footnote-1133157 +Node: Registers133256 +Node: Setting Registers133756 +Node: Interpolating Registers136035 +Node: Auto-increment136837 +Node: Assigning Formats138364 +Node: Built-in Registers141269 +Node: Manipulating Filling and Adjusting144783 +Node: Manipulating Hyphenation153312 +Node: Manipulating Hyphenation-Footnotes163649 +Ref: Manipulating Hyphenation-Footnote-1163738 +Node: Manipulating Spacing163813 +Node: Tabs and Fields167820 +Node: Tabs and Fields-Footnotes173803 +Ref: Tabs and Fields-Footnote-1173874 +Node: Leaders173952 +Node: Leaders-Footnotes175540 +Ref: Leaders-Footnote-1175595 +Node: Fields175676 +Node: Character Translations177089 +Node: Troff and Nroff Mode186296 +Node: Line Layout188279 +Node: Line Control194183 +Node: Page Layout196852 +Node: Page Control200496 +Node: Fonts and Symbols204261 +Node: Changing Fonts204831 +Node: Font Families206640 +Node: Font Positions211166 +Node: Using Symbols214290 +Node: Using Symbols-Footnotes228969 +Ref: Using Symbols-Footnote-1229036 +Ref: Using Symbols-Footnote-2229489 +Ref: Using Symbols-Footnote-3229560 +Ref: Using Symbols-Footnote-4229799 +Node: Special Fonts229862 +Node: Artificial Fonts231031 +Node: Ligatures and Kerning236514 +Node: Sizes242517 +Node: Sizes-Footnotes243343 +Ref: Sizes-Footnote-1243394 +Node: Changing Type Sizes243806 +Node: Fractional Type Sizes249250 +Node: Strings252264 +Node: Conditionals and Loops260256 +Node: Operators in Conditionals260473 +Node: Operators in Conditionals-Footnotes263142 +Ref: Operators in Conditionals-Footnote-1263233 +Ref: Operators in Conditionals-Footnote-2263312 +Node: if-else263411 +Node: while264964 +Node: Writing Macros267334 +Node: Copy-in Mode271764 +Node: Parameters272644 +Node: Page Motions274883 +Node: Drawing Requests282185 +Node: Traps291894 +Node: Page Location Traps292496 +Node: Diversion Traps298310 +Node: Input Line Traps298910 +Node: Blank Line Traps299923 +Node: End-of-input Traps300195 +Node: Diversions300853 +Node: Environments307807 +Node: Suppressing output311674 +Node: Colors313488 +Node: I/O316745 +Node: Postprocessor Access324843 +Node: Miscellaneous326395 +Node: Miscellaneous-Footnotes331869 +Ref: Miscellaneous-Footnote-1331936 +Node: Gtroff Internals332006 +Node: Gtroff Internals-Footnotes335725 +Ref: Gtroff Internals-Footnote-1335798 +Node: Debugging335932 +Node: Warnings341734 +Node: Warnings-Footnotes344657 +Ref: Warnings-Footnote-1344714 +Node: Implementation Differences344835 +Node: Implementation Differences-Footnotes349453 +Ref: Implementation Differences-Footnote-1349546 +Node: Preprocessors349681 +Node: geqn349979 +Node: Invoking geqn350105 +Node: gtbl350199 +Node: Invoking gtbl350316 +Node: gpic350410 +Node: Invoking gpic350527 +Node: ggrn350621 +Node: Invoking ggrn350738 +Node: grap350832 +Node: grefer351100 +Node: Invoking grefer351228 +Node: gsoelim351332 +Node: Invoking gsoelim351450 +Node: Output Devices351559 +Node: Special Characters351794 +Node: grotty351955 +Node: Invoking grotty352096 +Node: grops352200 +Node: Invoking grops352351 +Node: Embedding PostScript352479 +Node: grodvi352601 +Node: Invoking grodvi352730 +Node: grolj4352834 +Node: Invoking grolj4352964 +Node: grolbp353068 +Node: Invoking grolbp353199 +Node: grohtml353303 +Node: Invoking grohtml353483 +Node: grohtml specific registers and strings353639 +Node: gxditview354502 +Node: Invoking gxditview354630 +Node: File formats354749 +Node: gtroff Output355016 +Node: gtroff Output-Footnotes356848 +Ref: gtroff Output-Footnote-1356915 +Node: Language Concepts357050 +Node: Separation357784 +Node: Argument Units360019 +Node: Document Parts361156 +Node: Command Reference362542 +Node: Comment Command362941 +Node: Simple Commands363418 +Node: Simple Commands-Footnotes369322 +Ref: Simple Commands-Footnote-1369393 +Node: Graphics Commands369454 +Node: Device Control Commands376757 +Node: Obsolete Command380789 +Node: Intermediate Output Examples382054 +Node: Output Language Compatibility384864 +Node: Font Files386908 +Node: Font Files-Footnotes387514 +Ref: Font Files-Footnote-1387575 +Node: DESC File Format387636 +Node: Font File Format392023 +Node: Font File Format-Footnotes398243 +Ref: Font File Format-Footnote-1398316 +Ref: Font File Format-Footnote-2398407 +Node: Installation398626 +Node: Copying This Manual398748 +Node: GNU Free Documentation License398964 +Node: Request Index418821 +Node: Escape Index428951 +Node: Operator Index433176 +Node: Register Index434281 +Node: Macro Index442464 +Node: String Index449692 +Node: Glyph Name Index454078 +Node: Font File Keyword Index454361 +Node: Program and File Index456762 +Node: Concept Index460442  End Tag Table diff -ruN groff-1.19/doc/groff-1 groff-1.19.1/doc/groff-1 --- groff-1.19/doc/groff-1 Tue Apr 29 15:37:37 2003 +++ groff-1.19.1/doc/groff-1 Thu May 13 15:31:44 2004 @@ -1,9 +1,9 @@ -This is groff, produced by makeinfo version 4.3d from ./groff.texinfo. +This is groff, produced by makeinfo version 4.6 from ./groff.texinfo. This manual documents GNU `troff' version 1.19. - Copyright (C) 1994-2000, 2001, 2002, 2003 Free Software Foundation, -Inc. + Copyright (C) 1994-2000, 2001, 2002, 2003, 2004 Free Software +Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, @@ -30,8 +30,8 @@ This manual documents GNU `troff' version 1.19. - Copyright (C) 1994-2000, 2001, 2002, 2003 Free Software Foundation, -Inc. + Copyright (C) 1994-2000, 2001, 2002, 2003, 2004 Free Software +Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, @@ -74,7 +74,7 @@ Introduction ************ - GNU `troff' (or `groff') is a system for typesetting documents. +GNU `troff' (or `groff') is a system for typesetting documents. `troff' is very flexible and has been in existence (and use) for about 3 decades. It is quite widespread and firmly entrenched in the UNIX community. @@ -95,13 +95,13 @@ What Is `groff'? ================ - `groff' belongs to an older generation of document preparation -systems, which operate more like compilers than the more recent -interactive WYSIWYG(1) (*note What Is groff?-Footnote-1::) systems. -`groff' and its contemporary counterpart, TeX, both work using a -"batch" paradigm: The input (or "source") files are normal text files -with embedded formatting commands. These files can then be processed -by `groff' to produce a typeset document on a variety of devices. +`groff' belongs to an older generation of document preparation systems, +which operate more like compilers than the more recent interactive +WYSIWYG(1) (*note What Is groff?-Footnote-1::) systems. `groff' and +its contemporary counterpart, TeX, both work using a "batch" paradigm: +The input (or "source") files are normal text files with embedded +formatting commands. These files can then be processed by `groff' to +produce a typeset document on a variety of devices. Likewise, `groff' should not be confused with a "word processor", since that term connotes an integrated system that includes an editor @@ -138,7 +138,7 @@ History ======= - `troff' can trace its origins back to a formatting program called +`troff' can trace its origins back to a formatting program called `runoff', written by J. E. Saltzer, which ran on MIT's CTSS operating system in the mid-sixties. This name came from the common phrase of the time "I'll run off a document." Bob Morris ported it to the 635 @@ -241,8 +241,8 @@ `groff' Capabilities ==================== - So what exactly is `groff' capable of doing? `groff' provides a -wide range of low-level text formatting operations. Using these, it is +So what exactly is `groff' capable of doing? `groff' provides a wide +range of low-level text formatting operations. Using these, it is possible to perform a wide range of formatting tasks, such as footnotes, table of contents, multiple columns, etc. Here's a list of the most important operations supported by `groff': @@ -291,7 +291,7 @@ Macro Packages ============== - Since `groff' provides such low-level facilities, it can be quite +Since `groff' provides such low-level facilities, it can be quite difficult to use by itself. However, `groff' provides a "macro" facility to specify how certain routine operations (e.g. starting paragraphs, printing headers and footers, etc.) should be done. These @@ -305,12 +305,12 @@ Preprocessors ============= - Although `groff' provides most functions needed to format a -document, some operations would be unwieldy (e.g. to draw pictures). -Therefore, programs called "preprocessors" were written which -understand their own language and produce the necessary `groff' -operations. These preprocessors are able to differentiate their own -input from the rest of the document via markers. +Although `groff' provides most functions needed to format a document, +some operations would be unwieldy (e.g. to draw pictures). Therefore, +programs called "preprocessors" were written which understand their own +language and produce the necessary `groff' operations. These +preprocessors are able to differentiate their own input from the rest +of the document via markers. To use a preprocessor, UNIX pipes are used to feed the output from the preprocessor into `groff'. Any number of preprocessors may be used @@ -338,11 +338,11 @@ Output Devices ============== - `groff' actually produces device independent code which may be fed -into a postprocessor to produce output for a particular device. -Currently, `groff' has postprocessors for POSTSCRIPT devices, character -terminals, X Windows (for previewing), TeX DVI format, HP LaserJet 4 -and Canon LBP printers (which use CAPSL), and HTML. +`groff' actually produces device independent code which may be fed into +a postprocessor to produce output for a particular device. Currently, +`groff' has postprocessors for POSTSCRIPT devices, character terminals, +X Windows (for previewing), TeX DVI format, HP LaserJet 4 and Canon LBP +printers (which use CAPSL), and HTML.  File: groff, Node: Credits, Prev: Output device intro, Up: Introduction @@ -350,9 +350,9 @@ Credits ======= - Large portions of this manual were taken from existing documents, -most notably, the manual pages for the `groff' package by James Clark, -and Eric Allman's papers on the `me' macro package. +Large portions of this manual were taken from existing documents, most +notably, the manual pages for the `groff' package by James Clark, and +Eric Allman's papers on the `me' macro package. The section on the `man' macro package is partly based on Susan G. Kleinmann's `groff_man' manual page written for the Debian GNU/Linux @@ -366,7 +366,7 @@ Invoking `groff' **************** - This section focuses on how to invoke the `groff' front end. This +This section focuses on how to invoke the `groff' front end. This front end takes care of the details of constructing the pipeline among the preprocessors, `gtroff' and the postprocessor. @@ -401,7 +401,7 @@ Options ======= - `groff' normally runs the `gtroff' program and a postprocessor +`groff' normally runs the `gtroff' program and a postprocessor appropriate for the selected device. The default device is `ps' (but it can be changed when `groff' is configured and built). It can optionally preprocess with any of `gpic', `geqn', `gtbl', `ggrn', @@ -483,7 +483,9 @@ Make programs run by `groff' print out their version number. `-V' - Print the pipeline on `stdout' instead of executing it. + Print the pipeline on `stdout' instead of executing it. If + specified more than once, print the pipeline on `stderr' and + execute it. `-z' Suppress output from `gtroff'. Only error messages are printed. @@ -683,8 +685,22 @@ directories (*note Macro Directories::). `-IDIR' - This option is as described in *Note gsoelim::. It implies the - `-s' option. + This option may be used to specify a directory to search for files. + It is passed to the following programs: + + * `gsoelim' (see *Note gsoelim:: for more details); it also + implies `groff''s `-s' option. + + * `gtroff'; it is used to search files named in the `psbb' and + `so' requests. + + * `grops'; it is used to search files named in the + `\X'ps: import' and `\X'ps: file' escapes. + + The current directory is always searched first. This option may be + specified more than once; the directories will be searched in the + order specified. No directory search is performed for files + specified using an absolute path.  File: groff, Node: Environment, Next: Macro Directories, Prev: Groff Options, Up: Invoking groff @@ -692,8 +708,8 @@ Environment =========== - There are also several environment variables (of the operating -system, not within `gtroff') which can modify the behavior of `groff'. +There are also several environment variables (of the operating system, +not within `gtroff') which can modify the behavior of `groff'. `GROFF_COMMAND_PREFIX' If this is set to X, then `groff' runs `Xtroff' instead of @@ -740,10 +756,10 @@ Macro Directories ================= - All macro file names must be named `NAME.tmac' or `tmac.NAME' to -make the `-mNAME' command line option work. The `mso' request doesn't -have this restriction; any file name can be used, and `gtroff' won't -try to append or prepend the `tmac' string. +All macro file names must be named `NAME.tmac' or `tmac.NAME' to make +the `-mNAME' command line option work. The `mso' request doesn't have +this restriction; any file name can be used, and `gtroff' won't try to +append or prepend the `tmac' string. Macro files are kept in the "tmac directories", all of which constitute the "tmac path". The elements of the search path for macro @@ -779,14 +795,13 @@ Font Directories ================ - Basically, there is no restriction how font files for `groff' are -named and how long font names are; however, to make the font family -mechanism work (*note Font Families::), fonts within a family should -start with the family name, followed by the shape. For example, the -Times family uses `T' for the family name and `R', `B', `I', and `BI' -to indicate the shapes `roman', `bold', `italic', and `bold italic', -respectively. Thus the final font names are `TR', `TB', `TI', and -`TBI'. +Basically, there is no restriction how font files for `groff' are named +and how long font names are; however, to make the font family mechanism +work (*note Font Families::), fonts within a family should start with +the family name, followed by the shape. For example, the Times family +uses `T' for the family name and `R', `B', `I', and `BI' to indicate +the shapes `roman', `bold', `italic', and `bold italic', respectively. +Thus the final font names are `TR', `TB', `TI', and `TBI'. All font files are kept in the "font directories" which constitute the "font path". The file search functions will always append the @@ -820,9 +835,9 @@ Paper Size ========== - In groff, the page size for `gtroff' and for output devices are -handled separately. *Note Page Layout::, for vertical manipulation of -the page size. *Note Line Layout::, for horizontal changes. +In groff, the page size for `gtroff' and for output devices are handled +separately. *Note Page Layout::, for vertical manipulation of the page +size. *Note Line Layout::, for horizontal changes. A default paper size can be set in the device's `DESC' file. Most output devices also have a command line option `-p' to override the @@ -853,8 +868,8 @@ Invocation Examples =================== - This section lists several common uses of `groff' and the -corresponding command lines. +This section lists several common uses of `groff' and the corresponding +command lines. groff file @@ -904,12 +919,11 @@ `grog' ------ - `grog' reads files, guesses which of the `groff' preprocessors -and/or macro packages are required for formatting them, and prints the -`groff' command including those options on the standard output. It -generates one or more of the options `-e', `-man', `-me', `-mm', -`-mom', `-ms', `-mdoc', `-mdoc-old', `-p', `-R', `-g', `-G', `-s', and -`-t'. +`grog' reads files, guesses which of the `groff' preprocessors and/or +macro packages are required for formatting them, and prints the `groff' +command including those options on the standard output. It generates +one or more of the options `-e', `-man', `-me', `-mm', `-mom', `-ms', +`-mdoc', `-mdoc-old', `-p', `-R', `-g', `-G', `-s', and `-t'. A special file name `-' refers to the standard input. Specifying no files also means to read the standard input. Any specified options are @@ -941,7 +955,7 @@ Tutorial for Macro Users ************************ - Most users tend to use a macro package to format their papers. This +Most users tend to use a macro package to format their papers. This means that the whole breadth of `groff' is not necessary for most people. This chapter covers the material needed to efficiently use a macro package. @@ -957,9 +971,9 @@ Basics ====== - This section covers some of the basic concepts necessary to -understand how to use a macro package.(1) (*note Basics-Footnote-1::) -References are made throughout to more detailed information, if desired. +This section covers some of the basic concepts necessary to understand +how to use a macro package.(1) (*note Basics-Footnote-1::) References +are made throughout to more detailed information, if desired. `gtroff' reads an input file prepared by the user and outputs a formatted document suitable for publication or framing. The input @@ -1092,9 +1106,9 @@ Common Features =============== - `gtroff' provides very low-level operations for formatting a -document. There are many common routine operations which are done in -all documents. These common operations are written into "macros" and +`gtroff' provides very low-level operations for formatting a document. +There are many common routine operations which are done in all +documents. These common operations are written into "macros" and collected into a "macro package". All macro packages provide certain common capabilities which fall @@ -1123,7 +1137,7 @@ Paragraphs ---------- - One of the most common and most used capability is starting a +One of the most common and most used capability is starting a paragraph. There are a number of different types of paragraphs, any of which can be initiated with macros supplied by the macro package. Normally, paragraphs start with a blank line and the first line @@ -1164,11 +1178,11 @@ Sections and Chapters --------------------- - Most macro packages supply some form of section headers. The -simplest kind is simply the heading on a line by itself in bold type. -Others supply automatically numbered section heading or different -heading styles at different levels. Some, more sophisticated, macro -packages supply macros for starting chapters and appendices. +Most macro packages supply some form of section headers. The simplest +kind is simply the heading on a line by itself in bold type. Others +supply automatically numbered section heading or different heading +styles at different levels. Some, more sophisticated, macro packages +supply macros for starting chapters and appendices.  File: groff, Node: Headers and Footers, Next: Page Layout Adjustment, Prev: Sections and Chapters, Up: Common Features @@ -1176,7 +1190,7 @@ Headers and Footers ------------------- - Every macro package gives some way to manipulate the "headers" and +Every macro package gives some way to manipulate the "headers" and "footers" (also called "titles") on each page. This is text put at the top and bottom of each page, respectively, which contain data like the current page number, the current chapter title, and so on. Its @@ -1195,7 +1209,7 @@ Page Layout ----------- - Most macro packages let the user specify top and bottom margins and +Most macro packages let the user specify top and bottom margins and other details about the appearance of the printed pages.  @@ -1204,7 +1218,7 @@ Displays -------- - "Displays" are sections of text to be set off from the body of the +"Displays" are sections of text to be set off from the body of the paper. Major quotes, tables, and figures are types of displays, as are all the examples used in this document. @@ -1233,7 +1247,7 @@ Footnotes and Annotations ------------------------- - There are a number of requests to save text for later printing. +There are a number of requests to save text for later printing. "Footnotes" are printed at the bottom of the current page. @@ -1251,12 +1265,12 @@ Table of Contents ----------------- - "Tables of contents" are a type of delayed text having a tag -(usually the page number) attached to each entry after a row of dots. -The table accumulates throughout the paper until printed, usually after -the paper has ended. Many macro packages provide the ability to have -several tables of contents (e.g. a standard table of contents, a list -of tables, etc). +"Tables of contents" are a type of delayed text having a tag (usually +the page number) attached to each entry after a row of dots. The table +accumulates throughout the paper until printed, usually after the paper +has ended. Many macro packages provide the ability to have several +tables of contents (e.g. a standard table of contents, a list of +tables, etc).  File: groff, Node: Indices, Next: Paper Formats, Prev: Table of Contents, Up: Common Features @@ -1264,9 +1278,9 @@ Indices ------- - While some macro packages use the term "index", none actually -provide that functionality. The facilities they call indices are -actually more appropriate for tables of contents. +While some macro packages use the term "index", none actually provide +that functionality. The facilities they call indices are actually more +appropriate for tables of contents. To produce a real index in a document, external tools like the `makeindex' program are necessary. @@ -1277,7 +1291,7 @@ Paper Formats ------------- - Some macro packages provide stock formats for various kinds of +Some macro packages provide stock formats for various kinds of documents. Many of them provide a common format for the title and opening pages of a technical paper. The `mm' macros in particular provide formats for letters and memoranda. @@ -1288,8 +1302,8 @@ Multiple Columns ---------------- - Some macro packages (but not `man') provide the ability to have two -or more columns on a page. +Some macro packages (but not `man') provide the ability to have two or +more columns on a page.  File: groff, Node: Font and Size Changes, Next: Predefined Strings, Prev: Multiple Columns, Up: Common Features @@ -1297,7 +1311,7 @@ Font and Size Changes --------------------- - The built-in font and size functions are not always intuitive, so all +The built-in font and size functions are not always intuitive, so all macro packages provide macros to make these operations simpler.  @@ -1306,8 +1320,8 @@ Predefined Strings ------------------ - Most macro packages provide various predefined strings for a variety -of uses; examples are sub- and superscripts, printable dates, quotes and +Most macro packages provide various predefined strings for a variety of +uses; examples are sub- and superscripts, printable dates, quotes and various special characters.  @@ -1316,7 +1330,7 @@ Preprocessor Support -------------------- - All macro packages provide support for various preprocessors and may +All macro packages provide support for various preprocessors and may extend their functionality. For example, all macro packages mark tables (which are processed with @@ -1330,9 +1344,9 @@ Configuration and Customization ------------------------------- - Some macro packages provide means of customizing many of the details -of how the package behaves. This ranges from setting the default type -size to changing the appearance of section headers. +Some macro packages provide means of customizing many of the details of +how the package behaves. This ranges from setting the default type size +to changing the appearance of section headers.  File: groff, Node: Macro Packages, Next: gtroff Reference, Prev: Tutorial for Macro Users, Up: Top @@ -1340,8 +1354,7 @@ Macro Packages ************** - This chapter documents the main macro packages that come with -`groff'. +This chapter documents the main macro packages that come with `groff'. Different main macro packages can't be used at the same time; for example @@ -1369,9 +1382,9 @@ `man' ===== - This is the most popular and probably the most important macro -package of `groff'. It is easy to use, and a vast majority of manual -pages are based on it. +This is the most popular and probably the most important macro package +of `groff'. It is easy to use, and a vast majority of manual pages are +based on it. * Menu: @@ -1382,4 +1395,7547 @@ * Predefined man strings:: * Preprocessors in man pages:: * Optional man extensions:: + + +File: groff, Node: Man options, Next: Man usage, Prev: man, Up: man + +Options +------- + +The command line format for using the `man' macros with `groff' is: + + + groff -m man [ -rLL=LENGTH ] [ -rLT=LENGTH ] [ -rFT=DIST ] + [ -rcR=1 ] [ -rC1 ] [ -rD1 ] [-rHY=FLAGS ] + [ -rPNNN ] [ -rSXX ] [ -rXNNN ] + [ -rIN=LENGTH ] [ -rSN=LENGTH ] [ FILES... ] + +It is possible to use `-man' instead of `-m man'. + +`-rcR=1' + This option (the default if a TTY output device is used) creates a + single, very long page instead of multiple pages. Use `-rcR=0' to + disable it. + +`-rC1' + If more than one manual page is given on the command line, number + the pages continuously, rather than starting each at 1. + +`-rD1' + Double-sided printing. Footers for even and odd pages are + formatted differently. + +`-rFT=DIST' + Set the position of the footer text to DIST. If positive, the + distance is measured relative to the top of the page, otherwise it + is relative to the bottom. The default is -0.5i. + +`-rHY=FLAGS' + Set hyphenation flags. Possible values are 1 to hyphenate without + restrictions, 2 to not hyphenate the last word on a page, 4 to + not hyphenate the last two characters of a word, and 8 to not + hyphenate the first two characters of a word. These values are + additive; the default is 14. + +`-rIN=LENGTH' + Set the body text indent to LENGTH. If not specified, the indent + defaults to 7n (7 characters) in nroff mode and 7.2n otherwise. + For nroff, this value should always be an integer multiple of unit + `n' to get consistent indentation. + +`-rLL=LENGTH' + Set line length to LENGTH. If not specified, the line length + defaults to 78 en in nroff mode (this is 78 characters per line) + and 6.5 inch otherwise. + +`-rLT=LENGTH' + Set title length to LENGTH. If not specified, the title length + defaults to the line length. + +`-rPNNN' + Page numbering starts with NNN rather than with 1. + +`-rSXX' + Use XX (which can be 10, 11, or 12pt) as the base document font + size instead of the default value of 10pt. + +`-rSN=LENGTH' + Set the indent for sub-subheadings to LENGTH. If not specified, + the indent defaults to 3n. + +`-rXNNN' + After page NNN, number pages as NNNa, NNNb, NNNc, etc. For + example, the option `-rX2' produces the following page numbers: 1, + 2, 2a, 2b, 2c, etc. + + +File: groff, Node: Man usage, Next: Man font macros, Prev: Man options, Up: man + +Usage +----- + +This section describes the available macros for manual pages. For +further customization, put additional macros and requests into the file +`man.local' which is loaded immediately after the `man' package. + + - Macro: .TH title section [extra1 [extra2 [extra3]]] + Set the title of the man page to TITLE and the section to SECTION, + which must have a value between 1 and 8. The value of SECTION may + also have a string appended, e.g. `.pm', to indicate a specific + subsection of the man pages. + + Both TITLE and SECTION are positioned at the left and right in the + header line (with SECTION in parentheses immediately appended to + TITLE. EXTRA1 is positioned in the middle of the footer line. + EXTRA2 is positioned at the left in the footer line (or at the + left on even pages and at the right on odd pages if double-sided + printing is active). EXTRA3 is centered in the header line. + + For HTML output, headers and footers are completely suppressed. + + Additionally, this macro starts a new page; the new line number + is 1 again (except if the `-rC1' option is given on the command + line) - this feature is intended only for formatting multiple man + pages; a single man page should contain exactly one `TH' macro at + the beginning of the file. + + - Macro: .SH [heading] + Set up an unnumbered section heading sticking out to the left. + Prints out all the text following `SH' up to the end of the line + (or the text in the next line if there is no argument to `SH') in + bold face (or the font specified by the string `HF'), one size + larger than the base document size. Additionally, the left margin + and the indentation for the following text is reset to its default + value. + + - Macro: .SS [heading] + Set up an unnumbered (sub)section heading. Prints out all the text + following `SS' up to the end of the line (or the text in the next + line if there is no argument to `SS') in bold face (or the font + specified by the string `HF'), at the same size as the base + document size. Additionally, the left margin and the indentation + for the following text is reset to its default value. + + - Macro: .TP [nnn] + Set up an indented paragraph with label. The indentation is set to + NNN if that argument is supplied (the default unit is `n' if + omitted), otherwise it is set to the previous indentation value + specified with `TP', `IP', or `HP' (or to the default value if + none of them have been used yet). + + The first line of text following this macro is interpreted as a + string to be printed flush-left, as it is appropriate for a label. + It is not interpreted as part of a paragraph, so there is no + attempt to fill the first line with text from the following input + lines. Nevertheless, if the label is not as wide as the + indentation the paragraph starts at the same line (but indented), + continuing on the following lines. If the label is wider than the + indentation the descriptive part of the paragraph begins on the + line following the label, entirely indented. Note that neither + font shape nor font size of the label is set to a default value; + on the other hand, the rest of the text has default font settings. + + - Macro: .LP + - Macro: .PP + - Macro: .P + These macros are mutual aliases. Any of them causes a line break + at the current position, followed by a vertical space downwards by + the amount specified by the `PD' macro. The font size and shape + are reset to the default value (10pt roman if no `-rS' option is + given on the command line). Finally, the current left margin and + the indentation is restored. + + - Macro: .IP [designator [nnn]] + Set up an indented paragraph, using DESIGNATOR as a tag to mark + its beginning. The indentation is set to NNN if that argument is + supplied (default unit is `n'), otherwise it is set to the + previous indentation value specified with `TP', `IP', or `HP' (or + the default value if none of them have been used yet). Font size + and face of the paragraph (but not the designator) are reset to + their default values. + + To start an indented paragraph with a particular indentation but + without a designator, use `""' (two double quotes) as the first + argument of `IP'. + + For example, to start a paragraph with bullets as the designator + and 4 en indentation, write + + + .IP \(bu 4 + + + - Macro: .HP [nnn] + Set up a paragraph with hanging left indentation. The indentation + is set to NNN if that argument is supplied (default unit is `n'), + otherwise it is set to the previous indentation value specified + with `TP', `IP', or `HP' (or the default value if non of them have + been used yet). Font size and face are reset to their default + values. + + - Macro: .RS [nnn] + Move the left margin to the right by the value NNN if specified + (default unit is `n'); otherwise it is set to the previous + indentation value specified with `TP', `IP', or `HP' (or to the + default value if none of them have been used yet). The + indentation value is then set to the default. + + Calls to the `RS' macro can be nested. + + - Macro: .RE [nnn] + Move the left margin back to level NNN, restoring the previous left + margin. If no argument is given, it moves one level back. The + first level (i.e., no call to `RS' yet) has number 1, and each call + to `RS' increases the level by 1. + + To summarize, the following macros cause a line break with the +insertion of vertical space (which amount can be changed with the `PD' +macro): `SH', `SS', `TP', `LP' (`PP', `P'), `IP', and `HP'. + + The macros `RS' and `RE' also cause a break but do not insert +vertical space. + + Finally, the macros `SH', `SS', `LP' (`PP', `P'), and `RS' reset the +indentation to its default value. + + +File: groff, Node: Man font macros, Next: Miscellaneous man macros, Prev: Man usage, Up: man + +Macros to set fonts +------------------- + +The standard font is roman; the default text size is 10 point. If +command line option `-rS=N' is given, use Npt as the default text size. + + - Macro: .SM [text] + Set the text on the same line or the text on the next line in a + font that is one point size smaller than the default font. + + - Macro: .SB [text] + Set the text on the same line or the text on the next line in bold + face font, one point size smaller than the default font. + + - Macro: .BI text + Set its arguments alternately in bold face and italic, without a + space between the arguments. Thus, + + + .BI this "word and" that + + produces "thisword andthat" with "this" and "that" in bold face, + and "word and" in italics. + + - Macro: .IB text + Set its arguments alternately in italic and bold face, without a + space between the arguments. + + - Macro: .RI text + Set its arguments alternately in roman and italic, without a space + between the arguments. + + - Macro: .IR text + Set its arguments alternately in italic and roman, without a space + between the arguments. + + - Macro: .BR text + Set its arguments alternately in bold face and roman, without a + space between the arguments. + + - Macro: .RB text + Set its arguments alternately in roman and bold face, without a + space between the arguments. + + - Macro: .B [text] + Set TEXT in bold face. If no text is present on the line where + the macro is called, then the text of the next line appears in bold + face. + + - Macro: .I [text] + Set TEXT in italic. If no text is present on the line where the + macro is called, then the text of the next line appears in italic. + + +File: groff, Node: Miscellaneous man macros, Next: Predefined man strings, Prev: Man font macros, Up: man + +Miscellaneous macros +-------------------- + +The default indentation is 7.2n in troff mode and 7n in nroff mode +except for `grohtml' which ignores indentation. + + - Macro: .DT + Set tabs every 0.5 inches. Since this macro is always executed + during a call to the `TH' macro, it makes sense to call it only if + the tab positions have been changed. + + - Macro: .PD [nnn] + Adjust the empty space before a new paragraph (or section). The + optional argument gives the amount of space (default unit is `v'); + without parameter, the value is reset to its default value (1 line + in nroff mode, 0.4v otherwise). + + This affects the macros `SH', `SS', `TP', `LP' (as well as `PP' + and `P'), `IP', and `HP'. + + The following two macros are included for BSD compatibility. + + - Macro: .AT [system [release]] + Alter the footer for use with AT&T manpages. This command exists + only for compatibility; don't use it. The first argument SYSTEM + can be: + + `3' + 7th Edition (the default) + + `4' + System III + + `5' + System V + + An optional second argument RELEASE to `AT' specifies the release + number (such as "System V Release 3"). + + - Macro: .UC [version] + Alters the footer for use with BSD manpages. This command exists + only for compatibility; don't use it. The argument can be: + + `3' + 3rd Berkeley Distribution (the default) + + `4' + 4th Berkeley Distribution + + `5' + 4.2 Berkeley Distribution + + `6' + 4.3 Berkeley Distribution + + `7' + 4.4 Berkeley Distribution + + +File: groff, Node: Predefined man strings, Next: Preprocessors in man pages, Prev: Miscellaneous man macros, Up: man + +Predefined strings +------------------ + +The following strings are defined: + + - String: \*[S] + Switch back to the default font size. + + - String: \*[HF] + The typeface used for headings. The default is `B'. + + - String: \*[R] + The `registered' sign. + + - String: \*[Tm] + The `trademark' sign. + + - String: \*[lq] + - String: \*[rq] + Left and right quote. This is equal to `\(lq' and `\(rq', + respectively. + + +File: groff, Node: Preprocessors in man pages, Next: Optional man extensions, Prev: Predefined man strings, Up: man + +Preprocessors in `man' pages +---------------------------- + +If a preprocessor like `gtbl' or `geqn' is needed, it has become common +usage to make the first line of the man page look like this: + + + '\" WORD + +Note the single space character after the double quote. WORD consists +of letters for the needed preprocessors: `e' for `geqn', `r' for +`grefer', `t' for `gtbl'. Modern implementations of the `man' program +read this first line and automatically call the right preprocessor(s). + + +File: groff, Node: Optional man extensions, Prev: Preprocessors in man pages, Up: man + +Optional `man' extensions +------------------------- + +Use the file `man.local' for local extensions to the `man' macros or +for style changes. + +Custom headers and footers +.......................... + +In groff versions 1.18.2 and later, you can specify custom headers and +footers by redefining the following macros in `man.local'. + + - Macro: .PT + Control the content of the headers. Normally, the header prints + the command name and section number on either side, and the + optional fifth argument to `TH' in the center. + + - Macro: .BT + Control the content of the footers. Normally, the footer prints + the page number and the third and fourth arguments to `TH'. + + Use the `FT' number register to specify the footer position. The + default is -0.5i. + +Ultrix-specific man macros +.......................... + +The `groff' source distribution includes a file named `man.ultrix', +containing macros compatible with the Ultrix variant of `man'. Copy +this file into `man.local' (or use the `mso' request to load it) to +enable the following macros. + + - Macro: .CT key + Print `'. + + - Macro: .CW + Print subsequent text using the constant width (Courier) typeface. + + - Macro: .Ds + Begin a non-filled display. + + - Macro: .De + End a non-filled display started with `Ds'. + + - Macro: .EX [indent] + Begins a non-filled display using the constant width (Courier) + typeface. Use the optional INDENT argument to indent the display. + + - Macro: .EE + End a non-filled display started with `EX'. + + - Macro: .G [text] + Sets TEXT in Helvetica. If no text is present on the line where + the macro is called, then the text of the next line appears in + Helvetica. + + - Macro: .GL [text] + Sets TEXT in Helvetica Oblique. If no text is present on the line + where the macro is called, then the text of the next line appears + in Helvetica Oblique. + + - Macro: .HB [text] + Sets TEXT in Helvetica Bold. If no text is present on the line + where the macro is called, then all text up to the next `HB' + appears in Helvetica Bold. + + - Macro: .TB [text] + Identical to `HB'. + + - Macro: .MS title sect [punct] + Set a manpage reference in Ultrix format. The TITLE is in Courier + instead of italic. Optional punctuation follows the section + number without an intervening space. + + - Macro: .NT [`C'] [title] + Begin a note. Print the optional title, or the word "Note", + centered on the page. Text following the macro makes up the body + of the note, and is indented on both sides. If the first argument + is `C', the body of the note is printed centered (the second + argument replaces the word "Note" if specified). + + - Macro: .NE + End a note begun with `NT'. + + - Macro: .PN path [punct] + Set the path name in constant width (Courier), followed by + optional punctuation. + + - Macro: .Pn [punct] path [punct] + When called with two arguments, identical to `PN'. When called + with three arguments, set the second argument in constant width + (Courier), bracketed by the first and third arguments in the + current font. + + - Macro: .R + Switch to roman font and turn off any underlining in effect. + + - Macro: .RN + Print the string `'. + + - Macro: .VS [`4'] + Start printing a change bar in the margin if the number `4' is + specified. Otherwise, this macro does nothing. + + - Macro: .VE + End printing the change bar begun by `VS'. + +Simple example +.............. + +The following example `man.local' file alters the `SH' macro to add +some extra vertical space before printing the heading. Headings are +printed in Helvetica Bold. + + + .\" Make the heading fonts Helvetica + .ds HF HB + . + .\" Put more whitespace in front of headings. + .rn SH SH-orig + .de SH + . if t .sp (u;\\n[PD]*2) + . SH-orig \\$* + .. + + +File: groff, Node: mdoc, Next: ms, Prev: man, Up: Macro Packages + +`mdoc' +====== + +See the `groff_mdoc(7)' man page (type `man groff_mdoc' at the command +line). + + +File: groff, Node: ms, Next: me, Prev: mdoc, Up: Macro Packages + +`ms' +==== + +The `-ms' macros are suitable for reports, letters, books, user +manuals, and so forth. The package provides macros for cover pages, +section headings, paragraphs, lists, footnotes, pagination, and a table +of contents. + +* Menu: + +* ms Intro:: +* General ms Structure:: +* ms Document Control Registers:: +* ms Cover Page Macros:: +* ms Body Text:: +* ms Page Layout:: +* Differences from AT&T ms:: + + +File: groff, Node: ms Intro, Next: General ms Structure, Prev: ms, Up: ms + +Introduction to `ms' +-------------------- + +The original `-ms' macros were included with AT&T `troff' as well as the +`man' macros. While the `man' package is intended for brief documents +that can be read on-line as well as printed, the `ms' macros are +suitable for longer documents that are meant to be printed rather than +read on-line. + + The `ms' macro package included with `groff' is a complete, +bottom-up re-implementation. Several macros (specific to AT&T or +Berkeley) are not included, while several new commands are. *Note +Differences from AT&T ms::, for more information. + + +File: groff, Node: General ms Structure, Next: ms Document Control Registers, Prev: ms Intro, Up: ms + +General structure of an `ms' document +------------------------------------- + +The `ms' macro package expects a certain amount of structure, but not +as much as packages such as `man' or `mdoc'. + + The simplest documents can begin with a paragraph macro (such as +`LP' or `PP'), and consist of text separated by paragraph macros or +even blank lines. Longer documents have a structure as follows: + +*Document type* + If you invoke the `RP' (report) macro on the first line of the + document, `groff' prints the cover page information on its own + page; otherwise it prints the information on the first page with + your document text immediately following. Other document formats + found in AT&T `troff' are specific to AT&T or Berkeley, and are + not supported in `groff'. + +*Format and layout* + By setting number registers, you can change your document's type + (font and size), margins, spacing, headers and footers, and + footnotes. *Note ms Document Control Registers::, for more + details. + +*Cover page* + A cover page consists of a title, the author's name and + institution, an abstract, and the date. (1) (*note General ms + Structure-Footnote-1::) *Note ms Cover Page Macros::, for more + details. + +*Body* + Following the cover page is your document. You can use the `ms' + macros to write reports, letters, books, and so forth. The + package is designed for structured documents, consisting of + paragraphs interspersed with headings and augmented by lists, + footnotes, tables, and other common constructs. *Note ms Body + Text::, for more details. + +*Table of contents* + Longer documents usually include a table of contents, which you + can invoke by placing the `TC' macro at the end of your document. + The `ms' macros have minimal indexing facilities, consisting of the + `IX' macro, which prints an entry on standard error. Printing the + table of contents at the end is necessary since `groff' is a + single-pass text formatter, thus it cannot determine the page + number of each section until that section has actually been set + and printed. Since `ms' output is intended for hardcopy, you can + manually relocate the pages containing the table of contents + between the cover page and the body text after printing. + + +File: groff, Node: General ms Structure-Footnotes, Up: General ms Structure + + (1) Actually, only the title is required. + + +File: groff, Node: ms Document Control Registers, Next: ms Cover Page Macros, Prev: General ms Structure, Up: ms + +Document control registers +-------------------------- + +The following is a list of document control number registers. For the +sake of consistency, set registers related to margins at the beginning +of your document, or just after the `RP' macro. You can set other +registers later in your document, but you should keep them together at +the beginning to make them easy to find and edit as necessary. + +Margin Settings +............... + + - Register: \n[PO] + Defines the page offset (i.e. the left margin). There is no + explicit right margin setting; the combination of the `PO' and + `LL' registers implicitly define the right margin width. + + Effective: next page. + + Default value: 1i. + + - Register: \n[LL] + Defines the line length (i.e. the width of the body text). + + Effective: next paragraph. + + Default: 6i. + + - Register: \n[LT] + Defines the title length (i.e. the header and footer width). This + is usually the same as `LL', but not necessarily. + + Effective: next paragraph. + + Default: 6i. + + - Register: \n[HM] + Defines the header margin height at the top of the page. + + Effective: next page. + + Default: 1i. + + - Register: \n[FM] + Defines the footer margin height at the bottom of the page. + + Effective: next page. + + Default: 1i. + +Text Settings +............. + + - Register: \n[PS] + Defines the point size of the body text. + + Effective: next paragraph. + + Default: 10p. + + - Register: \n[VS] + Defines the space between lines (line height plus leading). + + Effective: next paragraph. + + Default: 12p. + +Paragraph Settings +.................. + + - Register: \n[PI] + Defines the initial indent of a `.PP' paragraph. + + Effective: next paragraph. + + Default: 5n. + + - Register: \n[PD] + Defines the space between paragraphs. + + Effective: next paragraph. + + Default: 0.3v. + + - Register: \n[QI] + Defines the indent on both sides of a quoted (`.QP') paragraph. + + Effective: next paragraph. + + Default: 5n. + +Footnote Settings +................. + + - Register: \n[FL] + Defines the length of a footnote. + + Effective: next footnote. + + Default: `\n[LL]' * 5 / 6. + + - Register: \n[FI] + Defines the footnote indent. + + Effective: next footnote. + + Default: 2n. + + - Register: \n[FF] + The footnote format: + `0' + Prints the footnote number as a superscript; indents the + footnote (default). + + `1' + Prints the number followed by a period (like 1.) and indents + the footnote. + + `2' + Like 1, without an indent. + + `3' + Like 1, but prints the footnote number as a hanging paragraph. + + Effective: next footnote. + + Default: 0. + + - Register: \n[FPS] + Defines the footnote point size. + + Effective: next footnote. + + Default: `\n[PS]' - 2. + + - Register: \n[FVS] + Defines the footnote vertical spacing. + + Effective: next footnote. + + Default: `\n[FPS]' + 2. + + - Register: \n[FPD] + Defines the footnote paragraph spacing. + + Effective: next footnote. + + Default: `\n[PD]' / 2. + +Miscellaneous Number Registers +.............................. + + - Register: \n[MINGW] + Defines the minimum width between columns in a multi-column + document. + + Effective: next page. + + Default: 2n. + + +File: groff, Node: ms Cover Page Macros, Next: ms Body Text, Prev: ms Document Control Registers, Up: ms + +Cover page macros +----------------- + +Use the following macros to create a cover page for your document in +the order shown. + + - Macro: .RP [`no'] + Specifies the report format for your document. The report format + creates a separate cover page. The default action (no `.RP' + macro) is to print a subset of the cover page on page 1 of your + document. + + If you use the word `no' as an optional argument, `groff' prints a + title page but does not repeat any of the title page information + (title, author, abstract, etc.) on page 1 of the document. + + - Macro: .DA [...] + (optional) Print the current date, or the arguments to the macro + if any, on the title page (if specified) and in the footers. This + is the default for `nroff'. + + - Macro: .ND [...] + (optional) Print the current date, or the arguments to the macro + if any, on the title page (if specified) but not in the footers. + This is the default for `troff'. + + - Macro: .TL + Specifies the document title. `groff' collects text following the + `.TL' macro into the title, until reaching the author name or + abstract. + + - Macro: .AU + Specifies the author's name, which appears on the line (or lines) + immediately following. You can specify multiple authors as + follows: + + + .AU + John Doe + .AI + University of West Bumblefuzz + .AU + Martha Buck + .AI + Monolithic Corporation + + ... + + + - Macro: .AI + Specifies the author's institution. You can specify multiple + institutions in the same way that you specify multiple authors. + + - Macro: .AB [`no'] + Begins the abstract. The default is to print the word ABSTRACT, + centered and in italics, above the text of the abstract. The word + `no' as an optional argument suppresses this heading. + + - Macro: .AE + End the abstract. + + The following is example mark-up for a title page. + + + .RP + .TL + The Inevitability of Code Bloat + in Commercial and Free Software + .AU + J. Random Luser + .AI + University of West Bumblefuzz + .AB + This report examines the long-term growth + of the code bases in two large, popular software + packages; the free Emacs and the commercial + Microsoft Word. + While differences appear in the type or order + of features added, due to the different + methodologies used, the results are the same + in the end. + .PP + The free software approach is shown to be + superior in that while free software can + become as bloated as commercial offerings, + free software tends to have fewer serious + bugs and the added features are in line with + user demand. + .AE + + ... the rest of the paper follows ... + + +File: groff, Node: ms Body Text, Next: ms Page Layout, Prev: ms Cover Page Macros, Up: ms + +Body text +--------- + +This section describes macros used to mark up the body of your document. +Examples include paragraphs, sections, and other groups. + +* Menu: + +* Paragraphs in ms:: +* Headings in ms:: +* Highlighting in ms:: +* Lists in ms:: +* Indents in ms:: +* Tabstops in ms:: +* ms Displays and Keeps:: +* ms Insertions:: +* Example multi-page table:: +* ms Footnotes:: + + +File: groff, Node: Paragraphs in ms, Next: Headings in ms, Prev: ms Body Text, Up: ms Body Text + +Paragraphs +.......... + +The following paragraph types are available. + + - Macro: .PP + Sets a paragraph with an initial indent. + + - Macro: .LP + Sets a paragraph with no initial indent. + + - Macro: .QP + Sets a paragraph that is indented at both left and right margins. + The effect is identical to the HTML `
        ' element. The + next paragraph or heading returns margins to normal. + + - Macro: .XP + Sets a paragraph whose lines are indented, except for the first + line. This is a Berkeley extension. + + The following markup uses all four paragraph macros. + + + .NH 2 + Cases used in the study + .LP + The following software and versions were + considered for this report. + .PP + For commercial software, we chose + .B "Microsoft Word for Windows" , + starting with version 1.0 through the + current version (Word 2000). + .PP + For free software, we chose + .B Emacs , + from its first appearance as a standalone + editor through the current version (v20). + See [Bloggs 2002] for details. + .QP + Franklin's Law applied to software: + software expands to outgrow both + RAM and disk space over time. + .LP + Bibliography: + .XP + Bloggs, Joseph R., + .I "Everyone's a Critic" , + Underground Press, March 2002. + A definitive work that answers all questions + and criticisms about the quality and usability of + free software. + + +File: groff, Node: Headings in ms, Next: Highlighting in ms, Prev: Paragraphs in ms, Up: ms Body Text + +Headings +........ + +Use headings to create a hierarchical structure for your document. The +`ms' macros print headings in *bold*, using the same font family and +point size as the body text. + + The following describes the heading macros: + + - Macro: .NH curr-level + - Macro: .NH S level0 ... + Numbered heading. The argument is either a numeric argument to + indicate the level of the heading, or the letter `S' followed by + numeric arguments to set the heading level explicitly. + + If you specify heading levels out of sequence, such as invoking + `.NH 3' after `.NH 1', `groff' prints a warning on standard error. + + - Macro: .SH + Unnumbered subheading. + + +File: groff, Node: Highlighting in ms, Next: Lists in ms, Prev: Headings in ms, Up: ms Body Text + +Highlighting +............ + +The `ms' macros provide a variety of methods to highlight or emphasize +text: + + - Macro: .B [txt [post [pre]]] + Sets its first argument in *bold type*. If you specify a second + argument, `groff' prints it in the previous font after the bold + text, with no intervening space (this allows you to set + punctuation after the highlighted text without highlighting the + punctuation). Similarly, it prints the third argument (if any) in + the previous font *before* the first argument. For example, + + + .B foo ) ( + + prints (*foo*). + + If you give this macro no arguments, `groff' prints all text + following in bold until the next highlighting, paragraph, or + heading macro. + + - Macro: .R [txt [post [pre]]] + Sets its first argument in roman (or regular) type. It operates + similarly to the `B' macro otherwise. + + - Macro: .I [txt [post [pre]]] + Sets its first argument in _italic type_. It operates similarly + to the `B' macro otherwise. + + - Macro: .CW [txt [post [pre]]] + Sets its first argument in a `constant width face'. It operates + similarly to the `B' macro otherwise. + + - Macro: .BI [txt [post [pre]]] + Sets its first argument in bold italic type. It operates + similarly to the `B' macro otherwise. + + - Macro: .BX [txt] + Prints its argument and draws a box around it. If you want to box + a string that contains spaces, use a digit-width space (`\0'). + + - Macro: .UL [txt [post]] + Prints its first argument with an underline. If you specify a + second argument, `groff' prints it in the previous font after the + underlined text, with no intervening space. + + - Macro: .LG + Prints all text following in larger type (two points larger than + the current point size) until the next font size, highlighting, + paragraph, or heading macro. You can specify this macro multiple + times to enlarge the point size as needed. + + - Macro: .SM + Prints all text following in smaller type (two points smaller than + the current point size) until the next type size, highlighting, + paragraph, or heading macro. You can specify this macro multiple + times to reduce the point size as needed. + + - Macro: .NL + Prints all text following in the normal point size (that is, the + value of the `PS' register). + + +File: groff, Node: Lists in ms, Next: Indents in ms, Prev: Highlighting in ms, Up: ms Body Text + +Lists +..... + +The `.IP' macro handles duties for all lists. + + - Macro: .IP [marker [width]] + The MARKER is usually a bullet glyph (`\[bu]') for unordered + lists, a number (or auto-incrementing number register) for + numbered lists, or a word or phrase for indented (glossary-style) + lists. + + The WIDTH specifies the indent for the body of each list item; its + default unit is `n'. Once specified, the indent remains the same + for all list items in the document until specified again. + + The following is an example of a bulleted list. + + + A bulleted list: + .IP \[bu] 2 + lawyers + .IP \[bu] + guns + .IP \[bu] + money + + Produces: + + + A bulleted list: + + o lawyers + + o guns + + o money + + + The following is an example of a numbered list. + + + .nr step 1 1 + A numbered list: + .IP \n[step] 3 + lawyers + .IP \n+[step] + guns + .IP \n+[step] + money + + Produces: + + + A numbered list: + + 1. lawyers + + 2. guns + + 3. money + + Note the use of the auto-incrementing number register in this +example. + + + The following is an example of a glossary-style list. + + + A glossary-style list: + .IP lawyers 0.4i + Two or more attorneys. + .IP guns + Firearms, preferably + large-caliber. + .IP money + Gotta pay for those + lawyers and guns! + + Produces: + + + A glossary-style list: + + lawyers + Two or more attorneys. + + guns Firearms, preferably large-caliber. + + money + Gotta pay for those lawyers and guns! + + In the last example, the `IP' macro places the definition on the +same line as the term if it has enough space; otherwise, it breaks to +the next line and starts the definition below the term. This may or +may not be the effect you want, especially if some of the definitions +break and some do not. The following examples show two possible ways +to force a break. + + The first workaround uses the `br' request to force a break after +printing the term or label. + + + A glossary-style list: + .IP lawyers 0.4i + Two or more attorneys. + .IP guns + .br + Firearms, preferably large-caliber. + .IP money + Gotta pay for those lawyers and guns! + + + The second workaround uses the `\p' escape to force the break. Note +the space following the escape; this is important. If you omit the +space, `groff' prints the first word on the same line as the term or +label (if it fits) *then* breaks the line. + + + A glossary-style list: + .IP lawyers 0.4i + Two or more attorneys. + .IP guns + \p Firearms, preferably large-caliber. + .IP money + Gotta pay for those lawyers and guns! + + + To set nested lists, use the `RS' and `RE' macros. *Note Indents in +ms::, for more information. + + For example: + + + .IP \[bu] 2 + Lawyers: + .RS + .IP \[bu] + Dewey, + .IP \[bu] + Cheatham, + .IP \[bu] + and Howe. + .RE + .IP \[bu] + Guns + + Produces: + + + o Lawyers: + + o Dewey, + + o Cheatham, + + o and Howe. + + o Guns + + +File: groff, Node: Indents in ms, Next: Tabstops in ms, Prev: Lists in ms, Up: ms Body Text + +Indents +....... + +In many situations, you may need to indent a section of text while +still wrapping and filling. *Note Lists in ms::, for an example of +nested lists. + + - Macro: .RS + - Macro: .RE + These macros begin and end an indented section. The `PI' register + controls the amount of indent, allowing the indented text to line + up under hanging and indented paragraphs. + + *Note ms Displays and Keeps::, for macros to indent and turn off +filling. + + +File: groff, Node: Tabstops in ms, Next: ms Displays and Keeps, Prev: Indents in ms, Up: ms Body Text + +Tab Stops +......... + +Use the `ta' request to define tab stops as needed. *Note Tabs and +Fields::. + + - Macro: .TA + Use this macro to reset the tab stops to the default for `ms' + (every 5n). You can redefine the `TA' macro to create a different + set of default tab stops. + + +File: groff, Node: ms Displays and Keeps, Next: ms Insertions, Prev: Tabstops in ms, Up: ms Body Text + +Displays and keeps +.................. + +Use displays to show text-based examples or figures (such as code +listings). + + Displays turn off filling, so lines of code are displayed as-is +without inserting `br' requests in between each line. Displays can be +"kept" on a single page, or allowed to break across pages. + + - Macro: .DS L + - Macro: .LD + - Macro: .DE + Left-justified display. The `.DS L' call generates a page break, + if necessary, to keep the entire display on one page. The `LD' + macro allows the display to break across pages. The `DE' macro + ends the display. + + - Macro: .DS I + - Macro: .ID + - Macro: .DE + Indents the display as defined by the `DI' register. The `.DS I' + call generates a page break, if necessary, to keep the entire + display on one page. The `ID' macro allows the display to break + across pages. The `DE' macro ends the display. + + - Macro: .DS B + - Macro: .BD + - Macro: .DE + Sets a block-centered display: the entire display is + left-justified, but indented so that the longest line in the + display is centered on the page. The `.DS B' call generates a + page break, if necessary, to keep the entire display on one page. + The `BD' macro allows the display to break across pages. The `DE' + macro ends the display. + + - Macro: .DS C + - Macro: .CD + - Macro: .DE + Sets a centered display: each line in the display is centered. + The `.DS C' call generates a page break, if necessary, to keep the + entire display on one page. The `CD' macro allows the display to + break across pages. The `DE' macro ends the display. + + - Macro: .DS R + - Macro: .RD + - Macro: .DE + Right-justifies each line in the display. The `.DS R' call + generates a page break, if necessary, to keep the entire display + on one page. The `RD' macro allows the display to break across + pages. The `DE' macro ends the display. + + - Macro: .Ds + - Macro: .De + These two macros are aliases for `DS' and `DE', respectively. + + + On occasion, you may want to "keep" other text together on a page. +For example, you may want to keep two paragraphs together, or a +paragraph that refers to a table (or list, or other item) immediately +following. The `ms' macros provide the `KS' and `KE' macros for this +purpose. + + - Macro: .KS + - Macro: .KE + The `KS' macro begins a block of text to be kept on a single page, + and the `KE' macro ends the block. + + - Macro: .KF + - Macro: .KE + Specifies a "floating keep"; if the keep cannot fit on the current + page, `groff' holds the contents of the keep and allows text + following the keep (in the source file) to fill in the remainder of + the current page. When the page breaks, whether by an explicit + `bp' request or by reaching the end of the page, `groff' prints + the floating keep at the top of the new page. This is useful for + printing large graphics or tables that do not need to appear + exactly where specified. + + You can also use the `ne' request to force a page break if there is +not enough vertical space remaining on the page. + + + Use the following macros to draw a box around a section of text +(such as a display). + + - Macro: .B1 + - Macro: .B2 + Marks the beginning and ending of text that is to have a box drawn + around it. The `B1' macro begins the box; the `B2' macro ends it. + Text in the box is automatically placed in a diversion (keep). + + +File: groff, Node: ms Insertions, Next: Example multi-page table, Prev: ms Displays and Keeps, Up: ms Body Text + +Tables, figures, equations, and references +.......................................... + +The `ms' macros support the standard `groff' preprocessors: `tbl', +`pic', `eqn', and `refer'. You mark text meant for preprocessors by +enclosing it in pairs of tags as follows. + + - Macro: .TS [`H'] + - Macro: .TE + Denotes a table, to be processed by the `tbl' preprocessor. The + optional argument `H' to `TS' instructs `groff' to create a + running header with the information up to the `TH' macro. `groff' + prints the header at the beginning of the table; if the table runs + onto another page, `groff' prints the header on the next page as + well. + + - Macro: .PS + - Macro: .PE + Denotes a graphic, to be processed by the `pic' preprocessor. You + can create a `pic' file by hand, using the AT&T `pic' manual + available on the Web as a reference, or by using a graphics + program such as `xfig'. + + - Macro: .EQ [align] + - Macro: .EN + Denotes an equation, to be processed by the `eqn' preprocessor. + The optional ALIGN argument can be `C', `L', or `I' to center (the + default), left-justify, or indent the equation. + + - Macro: .[ + - Macro: .] + Denotes a reference, to be processed by the `refer' preprocessor. + The GNU `refer(1)' man page provides a comprehensive reference to + the preprocessor and the format of the bibliographic database. + +* Menu: + +* Example multi-page table:: + + +File: groff, Node: Example multi-page table, Next: ms Footnotes, Prev: ms Insertions, Up: ms Body Text + +An example multi-page table +........................... + +The following is an example of how to set up a table that may print +across two or more pages. + + + .TS H + allbox expand; + cb | cb . + Text ...of heading... + _ + .TH + .T& + l | l . + ... the rest of the table follows... + .CW + .TE + + +File: groff, Node: ms Footnotes, Prev: Example multi-page table, Up: ms Body Text + +Footnotes +......... + +The `ms' macro package has a flexible footnote system. You can specify +either numbered footnotes or symbolic footnotes (that is, using a +marker such as a dagger symbol). + + - String: \*[*] + Specifies the location of a numbered footnote marker in the text. + + - Macro: .FS + - Macro: .FE + Specifies the text of the footnote. The default action is to + create a numbered footnote; you can create a symbolic footnote by + specifying a "mark" glyph (such as `\[dg]' for the dagger glyph) + in the body text and as an argument to the `FS' macro, followed by + the text of the footnote and the `FE' macro. + + You can control how `groff' prints footnote numbers by changing the +value of the `FF' register. *Note ms Document Control Registers::. + + +File: groff, Node: ms Page Layout, Next: Differences from AT&T ms, Prev: ms Body Text, Up: ms + +Page layout +----------- + +The default output from the `ms' macros provides a minimalist page +layout: it prints a single column, with the page number centered at the +top of each page. It prints no footers. + + You can change the layout by setting the proper number registers and +strings. + +* Menu: + +* ms Headers and Footers:: +* ms Margins:: +* ms Multiple Columns:: +* ms TOC:: +* ms Strings and Special Characters:: + + +File: groff, Node: ms Headers and Footers, Next: ms Margins, Prev: ms Page Layout, Up: ms Page Layout + +Headers and footers +................... + +For documents that do not distinguish between odd and even pages, set +the following strings: + + - String: \*[LH] + - String: \*[CH] + - String: \*[RH] + Sets the left, center, and right headers. + + - String: \*[LF] + - String: \*[CF] + - String: \*[RF] + Sets the left, center, and right footers. + + + For documents that need different information printed in the even +and odd pages, use the following macros: + + - Macro: .OH 'left'center'right' + - Macro: .EH 'left'center'right' + - Macro: .OF 'left'center'right' + - Macro: .EF 'left'center'right' + The `OH' and `EH' macros define headers for the odd and even pages; + the `OF' and `EF' macros define footers for the odd and even pages. + This is more flexible than defining the individual strings. + + You can replace the quote (`'') marks with any character not + appearing in the header or footer text. + + +File: groff, Node: ms Margins, Next: ms Multiple Columns, Prev: ms Headers and Footers, Up: ms Page Layout + +Margins +....... + +You control margins using a set of number registers. *Note ms Document +Control Registers::, for details. + + +File: groff, Node: ms Multiple Columns, Next: ms TOC, Prev: ms Margins, Up: ms Page Layout + +Multiple columns +................ + +The `ms' macros can set text in as many columns as will reasonably fit +on the page. The following macros are available; all of them force a +page break if a multi-column mode is already set. However, if the +current mode is single-column, starting a multi-column mode does *not* +force a page break. + + - Macro: .1C + Single-column mode. + + - Macro: .2C + Two-column mode. + + - Macro: .MC [width [gutter]] + Multi-column mode. If you specify no arguments, it is equivalent + to the `2C' macro. Otherwise, WIDTH is the width of each column + and GUTTER is the space between columns. The `MINGW' number + register controls the default gutter width. + + +File: groff, Node: ms TOC, Next: ms Strings and Special Characters, Prev: ms Multiple Columns, Up: ms Page Layout + +Creating a table of contents +............................ + +The facilities in the `ms' macro package for creating a table of +contents are semi-automated at best. Assuming that you want the table +of contents to consist of the document's headings, you need to repeat +those headings wrapped in `XS' and `XE' macros. + + - Macro: .XS [page] + - Macro: .XA [page] + - Macro: .XE + These macros define a table of contents or an individual entry in + the table of contents, depending on their use. The macros are + very simple; they cannot indent a heading based on its level. The + easiest way to work around this is to add tabs to the table of + contents string. The following is an example: + + + .NH 1 + Introduction + .XS + Introduction + .XE + .LP + ... + .CW + .NH 2 + Methodology + .XS + Methodology + .XE + .LP + ... + + You can manually create a table of contents by beginning with the + `XS' macro for the first entry, specifying the page number for + that entry as the argument to `XS'. Add subsequent entries using + the `XA' macro, specifying the page number for that entry as the + argument to `XA'. The following is an example: + + + .XS 1 + Introduction + .XA 2 + A Brief History of the Universe + .XA 729 + Details of Galactic Formation + ... + .XE + + + - Macro: .TC [`no'] + Prints the table of contents on a new page, setting the page + number to *i* (Roman numeral one). You should usually place this + macro at the end of the file, since `groff' is a single-pass + formatter and can only print what has been collected up to the + point that the `TC' macro appears. + + The optional argument `no' suppresses printing the title specified + by the string register `TOC'. + + - Macro: .PX [`no'] + Prints the table of contents on a new page, using the current page + numbering sequence. Use this macro to print a manually-generated + table of contents at the beginning of your document. + + The optional argument `no' suppresses printing the title specified + by the string register `TOC'. + + The `Groff and Friends HOWTO' includes a `sed' script that +automatically inserts `XS' and `XE' macro entries after each heading in +a document. + + Altering the `NH' macro to automatically build the table of contents +is perhaps initially more difficult, but would save a great deal of +time in the long run if you use `ms' regularly. + + +File: groff, Node: ms Strings and Special Characters, Prev: ms TOC, Up: ms Page Layout + +Strings and Special Characters +.............................. + +The `ms' macros provide the following predefined strings. You can +change the string definitions to help in creating documents in +languages other than English. + + - String: \*[REFERENCES] + Contains the string printed at the beginning of the references + (bibliography) page. The default is `References'. + + - String: \*[ABSTRACT] + Contains the string printed at the beginning of the abstract. The + default is `ABSTRACT'. + + - String: \*[TOC] + Contains the string printed at the beginning of the table of + contents. + + - String: \*[MONTH1] + - String: \*[MONTH2] + - String: \*[MONTH3] + - String: \*[MONTH4] + - String: \*[MONTH5] + - String: \*[MONTH6] + - String: \*[MONTH7] + - String: \*[MONTH8] + - String: \*[MONTH9] + - String: \*[MONTH10] + - String: \*[MONTH11] + - String: \*[MONTH12] + Prints the full name of the month in dates. The default is + `January', `February', etc. + + The following special characters are available(1) (*note ms Strings +and Special Characters-Footnote-1::): + + - String: \*[-] + Prints an em dash. + + - String: \*[*Q] + - String: \*[*U] + Prints typographer's quotes in troff, plain quotes in nroff. `*Q' + is the left quote and `*U' is the right quote. + + Improved accent marks are available in the `ms' macros. + + - Macro: .AM + Specify this macro at the beginning of your document to enable + extended accent marks and special characters. This is a Berkeley + extension. + + To use the accent marks, place them *after* the character being + accented. + + The following accent marks are available after invoking the `AM' +macro: + + - String: \*['] + Acute accent. + + - String: \*[`] + Grave accent. + + - String: \*[^] + Circumflex. + + - String: \*[,] + Cedilla. + + - String: \*[~] + Tilde. + + - String: \*[:] + Umlaut. + + - String: \*[v] + Hacek. + + - String: \*[_] + Macron (overbar). + + - String: \*[.] + Underdot. + + - String: \*[o] + Ring above. + + The following are standalone characters available after invoking the +`AM' macro: + + - String: \*[?] + Upside-down question mark. + + - String: \*[!] + Upside-down exclamation point. + + - String: \*[8] + German ss ligature. + + - String: \*[3] + Yogh. + + - String: \*[Th] + Uppercase thorn. + + - String: \*[th] + Lowercase thorn. + + - String: \*[D-] + Uppercase eth. + + - String: \*[d-] + Lowercase eth. + + - String: \*[q] + Hooked o. + + - String: \*[ae] + Lowercase ae ligature. + + - String: \*[Ae] + Uppercase AE ligature. + + +File: groff, Node: ms Strings and Special Characters-Footnotes, Up: ms Strings and Special Characters + + (1) For an explanation what special characters are see *Note Special +Characters::. + + +File: groff, Node: Differences from AT&T ms, Prev: ms Page Layout, Up: ms + +Differences from AT&T `ms' +-------------------------- + +This section lists the (minor) differences between the `groff -ms' +macros and AT&T `troff -ms' macros. + +* Menu: + +* Missing ms Macros:: +* Additional ms Macros:: + + +File: groff, Node: Missing ms Macros, Next: Additional ms Macros, Prev: Differences from AT&T ms, Up: Differences from AT&T ms + +`troff' macros not appearing in `groff' +....................................... + +Macros missing from `groff -ms' are cover page macros specific to Bell +Labs. The macros known to be missing are: + +`.TM' + Technical memorandum; a cover sheet style + +`.IM' + Internal memorandum; a cover sheet style + +`.MR' + Memo for record; a cover sheet style + +`.MF' + Memo for file; a cover sheet style + +`.EG' + Engineer's notes; a cover sheet style + +`.TR' + Computing Science Tech Report; a cover sheet style + +`.OK' + Other keywords + +`.CS' + Cover sheet information + +`.MH' + A cover sheet macro + + +File: groff, Node: Additional ms Macros, Prev: Missing ms Macros, Up: Differences from AT&T ms + +`groff' macros not appearing in AT&T `troff' +............................................ + +The `groff -ms' macros have a few minor extensions compared to the AT&T +`troff -ms' macros. + + - Macro: .AM + Improved accent marks. *Note ms Strings and Special Characters::, + for details. + + - Macro: .DS I + Indented display. The default behavior of AT&T `troff -ms' was to + indent; the `groff' default prints displays flush left with the + body text. + + - Macro: .CW + Print text in `constant width' (Courier) font. + + - Macro: .IX + Indexing term (printed on standard error). You can write a script + to capture and process an index generated in this manner. + + + The following additional number registers appear in `groff -ms': + + - Register: \n[MINGW] + Specifies a minimum space between columns (for multi-column + output); this takes the place of the `GW' register that was + documented but apparently not implemented in AT&T `troff'. + + + Several new string registers are available as well. You can change +these to handle (for example) the local language. *Note ms Strings and +Special Characters::, for details. + + +File: groff, Node: me, Next: mm, Prev: ms, Up: Macro Packages + +`me' +==== + +See the `meintro.me' and `meref.me' documents in groff's `doc' +directory. + + +File: groff, Node: mm, Prev: me, Up: Macro Packages + +`mm' +==== + +See the `groff_mm(7)' man page (type `man groff_mm' at the command +line). + + +File: groff, Node: gtroff Reference, Next: Preprocessors, Prev: Macro Packages, Up: Top + +`gtroff' Reference +****************** + +This chapter covers *all* of the facilities of `gtroff'. Users of +macro packages may skip it if not interested in details. + +* Menu: + +* Text:: +* Measurements:: +* Expressions:: +* Identifiers:: +* Embedded Commands:: +* Registers:: +* Manipulating Filling and Adjusting:: +* Manipulating Hyphenation:: +* Manipulating Spacing:: +* Tabs and Fields:: +* Character Translations:: +* Troff and Nroff Mode:: +* Line Layout:: +* Line Control:: +* Page Layout:: +* Page Control:: +* Fonts and Symbols:: +* Sizes:: +* Strings:: +* Conditionals and Loops:: +* Writing Macros:: +* Page Motions:: +* Drawing Requests:: +* Traps:: +* Diversions:: +* Environments:: +* Suppressing output:: +* Colors:: +* I/O:: +* Postprocessor Access:: +* Miscellaneous:: +* Gtroff Internals:: +* Debugging:: +* Implementation Differences:: + + +File: groff, Node: Text, Next: Measurements, Prev: gtroff Reference, Up: gtroff Reference + +Text +==== + +`gtroff' input files contain text with control commands interspersed +throughout. But, even without control codes, `gtroff' still does +several things with the input text: + + * filling and adjusting + + * adding additional space after sentences + + * hyphenating + + * inserting implicit line breaks + +* Menu: + +* Filling and Adjusting:: +* Hyphenation:: +* Sentences:: +* Tab Stops:: +* Implicit Line Breaks:: +* Input Conventions:: +* Input Encodings:: + + +File: groff, Node: Filling and Adjusting, Next: Hyphenation, Prev: Text, Up: Text + +Filling and Adjusting +--------------------- + +When `gtroff' reads text, it collects words from the input and fits as +many of them together on one output line as it can. This is known as +"filling". + + Once `gtroff' has a "filled" line, it tries to "adjust" it. This +means it widens the spacing between words until the text reaches the +right margin (in the default adjustment mode). Extra spaces between +words are preserved, but spaces at the end of lines are ignored. +Spaces at the front of a line cause a "break" (breaks are explained in +*Note Implicit Line Breaks::). + + *Note Manipulating Filling and Adjusting::. + + +File: groff, Node: Hyphenation, Next: Sentences, Prev: Filling and Adjusting, Up: Text + +Hyphenation +----------- + +Since the odds are not great for finding a set of words, for every +output line, which fit nicely on a line without inserting excessive +amounts of space between words, `gtroff' hyphenates words so that it +can justify lines without inserting too much space between words. It +uses an internal hyphenation algorithm (a simplified version of the +algorithm used within TeX) to indicate which words can be hyphenated +and how to do so. When a word is hyphenated, the first part of the +word is added to the current filled line being output (with an attached +hyphen), and the other portion is added to the next line to be filled. + + *Note Manipulating Hyphenation::. + + +File: groff, Node: Sentences, Next: Tab Stops, Prev: Hyphenation, Up: Text + +Sentences +--------- + +Although it is often debated, some typesetting rules say there should be +different amounts of space after various punctuation marks. For +example, the `Chicago typsetting manual' says that a period at the end +of a sentence should have twice as much space following it as would a +comma or a period as part of an abbreviation. + + `gtroff' does this by flagging certain characters (normally `!', +`?', and `.') as "end-of-sentence" characters. When `gtroff' +encounters one of these characters at the end of a line, it appends a +normal space followed by a "sentence space" in the formatted output. +(This justifies one of the conventions mentioned in *Note Input +Conventions::.) + + In addition, the following characters and symbols are treated +transparently while handling end-of-sentence characters: `"', `'', `)', +`]', `*', `\[dg]', and `\[rq]'. + + See the `cflags' request in *Note Using Symbols::, for more details. + + To prevent the insertion of extra space after an end-of-sentence +character (at the end of a line), append `\&'. + + +File: groff, Node: Tab Stops, Next: Implicit Line Breaks, Prev: Sentences, Up: Text + +Tab Stops +--------- + +`gtroff' translates "tabulator characters", also called "tabs" +(normally code point ASCII `0x09' or EBCDIC `0x05'), in the input into +movements to the next tabulator stop. These tab stops are initially +located every half inch across the page. Using this, simple tables can +be made easily. However, it can often be deceptive as the appearance +(and width) of the text on a terminal and the results from `gtroff' can +vary greatly. + + Also, a possible sticking point is that lines beginning with tab +characters are still filled, again producing unexpected results. For +example, the following input + + 1 2 3 + 4 5 + +produces + + 1 2 3 4 5 + + *Note Tabs and Fields::. + + +File: groff, Node: Implicit Line Breaks, Next: Input Conventions, Prev: Tab Stops, Up: Text + +Implicit Line Breaks +-------------------- + +An important concept in `gtroff' is the "break". When a break occurs, +`gtroff' outputs the partially filled line (unjustified), and resumes +collecting and filling text on the next output line. + + There are several ways to cause a break in `gtroff'. A blank line +not only causes a break, but it also outputs a one-line vertical space +(effectively a blank line). Note that this behaviour can be modified +with the blank line macro request `blm'. *Note Blank Line Traps::. + + A line that begins with a space causes a break and the space is +output at the beginning of the next line. Note that this space isn't +adjusted, even in fill mode. + + The end of file also causes a break - otherwise the last line of the +document may vanish! + + Certain requests also cause breaks, implicitly or explicitly. This +is discussed in *Note Manipulating Filling and Adjusting::. + + +File: groff, Node: Input Conventions, Next: Input Encodings, Prev: Implicit Line Breaks, Up: Text + +Input Conventions +----------------- + +Since `gtroff' does filling automatically, it is traditional in `groff' +not to try and type things in as nicely formatted paragraphs. These +are some conventions commonly used when typing `gtroff' text: + + * Break lines after punctuation, particularly at the end of a + sentence and in other logical places. Keep separate phrases on + lines by themselves, as entire phrases are often added or deleted + when editing. + + * Try to keep lines less than 40-60 characters, to allow space for + inserting more text. + + * Do not try to do any formatting in a WYSIWYG manner (i.e., don't + try using spaces to get proper indentation). + + +File: groff, Node: Input Encodings, Prev: Input Conventions, Up: Text + +Input Encodings +--------------- + +Currently, the following input encodings are available. + +cp1047 + This input encoding works only on EBCDIC platforms (and vice + versa, the other input encodings don't work with EBCDIC); the file + `cp1047.tmac' is by default loaded at start-up. + +latin-1 + This is the default input encoding on non-EBCDIC platforms; the + file `latin1.tmac' is loaded at start-up. + +latin-2 + To use this encoding, either say `.mso latin2.tmac' at the very + beginning of your document or use `-mlatin2' as a command line + argument for `groff'. + +latin-9 (latin-0) + This encoding is intended (at least in Europe) to replace latin-1 + encoding. The main difference to latin-1 is that latin-9 contains + the Euro character. To use this encoding, either say + `.mso latin9.tmac' at the very beginning of your document or use + `-mlatin9' as a command line argument for `groff'. + + Note that it can happen that some input encoding characters are not +available for a particular output device. For example, saying + + + groff -Tlatin1 -mlatin9 ... + +will fail if you use the Euro character in the input. Usually, this +limitation is present only for devices which have a limited set of +output glyphs (e.g. `-Tascii' and `-Tlatin1'); for other devices it is +usually sufficient to install proper fonts which contain the necessary +glyphs. + + Due to the importance of the Euro glyph in Europe, the groff package +now comes with a POSTSCRIPT font called `freeeuro.pfa' which provides +various glyph shapes for the Euro. With other words, latin-9 encoding +is supported for the `-Tps' device out of the box (latin-2 isn't). + + By its very nature, `-Tutf8' supports all input encodings; `-Tdvi' +has support for both latin-2 and latin-9 if the command line `-mec' is +used also to load the file `ec.tmac' (which flips to the EC fonts). + + +File: groff, Node: Measurements, Next: Expressions, Prev: Text, Up: gtroff Reference + +Measurements +============ + +`gtroff' (like many other programs) requires numeric parameters to +specify various measurements. Most numeric parameters(1) (*note +Measurements-Footnote-1::) may have a "measurement unit" attached. +These units are specified as a single character which immediately +follows the number or expression. Each of these units are understood, +by `gtroff', to be a multiple of its "basic unit". So, whenever a +different measurement unit is specified `gtroff' converts this into its +"basic units". This basic unit, represented by a `u', is a device +dependent measurement which is quite small, ranging from 1/75th to +1/72000th of an inch. The values may be given as fractional numbers; +however, fractional basic units are always rounded to integers. + + Some of the measurement units are completely independent of any of +the current settings (e.g. type size) of `gtroff'. + +`i' + Inches. An antiquated measurement unit still in use in certain + backwards countries with incredibly low-cost computer equipment. + One inch is equal to 2.54cm. + +`c' + Centimeters. One centimeter is equal to 0.3937in. + +`p' + Points. This is a typesetter's measurement used for measure type + size. It is 72 points to an inch. + +`P' + Pica. Another typesetting measurement. 6 Picas to an inch (and + 12 points to a pica). + +`s' +`z' + *Note Fractional Type Sizes::, for a discussion of these units. + +`f' + Fractions. Value is 65536. *Note Colors::, for usage. + + The other measurements understood by `gtroff' depend on settings +currently in effect in `gtroff'. These are very useful for specifying +measurements which should look proper with any size of text. + +`m' + Ems. This unit is equal to the current font size in points. So + called because it is _approximately_ the width of the letter `m' + in the current font. + +`n' + Ens. In `groff', this is half of an em. + +`v' + Vertical space. This is equivalent to the current line spacing. + *Note Sizes::, for more information about this. + +`M' + 100ths of an em. + +* Menu: + +* Default Units:: + + +File: groff, Node: Measurements-Footnotes, Up: Measurements + + (1) those that specify vertical or horizontal motion or a type size + + +File: groff, Node: Default Units, Prev: Measurements, Up: Measurements + +Default Units +------------- + +Many requests take a default unit. While this can be helpful at times, +it can cause strange errors in some expressions. For example, the line +length request expects em units. Here are several attempts to get a +line length of 3.5 inches and their results: + + + 3.5i => 3.5i + 7/2 => 0i + 7/2i => 0i + (7 / 2)u => 0i + 7i/2 => 0.1i + 7i/2u => 3.5i + +Everything is converted to basic units first. In the above example it +is assumed that 1i equals 240u, and 1m equals 10p (thus 1m equals 33u). +The value 7i/2 is first handled as 7i/2m, then converted to 1680u/66u +which is 25u, and this is approximately 0.1i. As can be seen, a +scaling indicator after a closing parenthesis is simply ignored. + + Thus, the safest way to specify measurements is to always attach a +scaling indicator. If you want to multiply or divide by a certain +scalar value, use `u' as the unit for that value. + + +File: groff, Node: Expressions, Next: Identifiers, Prev: Measurements, Up: gtroff Reference + +Expressions +=========== + +`gtroff' has most arithmetic operators common to other languages: + + * Arithmetic: `+' (addition), `-' (subtraction), `/' (division), `*' + (multiplication), `%' (modulo). + + `gtroff' only provides integer arithmetic. The internal type used + for computing results is `int', which is usually a 32bit signed + integer. + + * Comparison: `<' (less than), `>' (greater than), `<=' (less than + or equal), `>=' (greater than or equal), `=' (equal), `==' (the + same as `='). + + * Logical: `&' (logical and), `:' (logical or). + + * Unary operators: `-' (negating, i.e. changing the sign), `+' (just + for completeness; does nothing in expressions), `!' (logical not; + this works only within `if' and `while' requests). See below for + the use of unary operators in motion requests. + + * Extrema: `>?' (maximum), `? \n[y]) + + The register `z' now contains 5. + + * Scaling: `(C;E)'. Evaluate E using C as the default scaling + indicator. If C is missing, ignore scaling indicators in the + evaluation of E. + + Parentheses may be used as in any other language. However, in +`gtroff' they are necessary to ensure order of evaluation. `gtroff' +has no operator precedence; expressions are evaluated left to right. +This means that `gtroff' evaluates `3+5*4' as if it were parenthesized +like `(3+5)*4', not as `3+(5*4)', as might be expected. + + For many requests which cause a motion on the page, the unary +operators `+' and `-' work differently if leading an expression. They +then indicate a motion relative to the current position (down or up, +respectively). + + Similarly, a leading `|' operator indicates an absolute position. +For vertical movements, it specifies the distance from the top of the +page; for horizontal movements, it gives the distance from the beginning +of the _input_ line. + + `+' and `-' are also treated differently by the following requests +and escapes: `bp', `in', `ll', `lt', `nm', `nr', `pl', `pn', `po', `ps', +`pvs', `rt', `ti', `\H', `\R', and `\s'. Here, leading plus and minus +signs indicate increments and decrements. + + *Note Setting Registers::, for some examples. + + - Escape: \B'anything' + Return 1 if ANYTHING is a valid numeric expression; or 0 if + ANYTHING is empty or not a valid numeric expression. + + Due to the way arguments are parsed, spaces are not allowed in +expressions, unless the entire expression is surrounded by parentheses. + + *Note Request and Macro Arguments::, and *Note Conditionals and +Loops::. + + +File: groff, Node: Identifiers, Next: Embedded Commands, Prev: Expressions, Up: gtroff Reference + +Identifiers +=========== + +Like any other language, `gtroff' has rules for properly formed +"identifiers". In `gtroff', an identifier can be made up of almost any +printable character, with the exception of the following characters: + + * Whitespace characters (spaces, tabs, and newlines). + + * Backspace (ASCII `0x08' or EBCDIC `0x16') and character code + `0x01'. + + * The following input characters are invalid and are ignored if + `groff' runs on a machine based on ASCII, causing a warning + message of type `input' (see *Note Debugging::, for more details): + `0x00', `0x0B', `0x0D'-`0x1F', `0x80'-`0x9F'. + + And here are the invalid input characters if `groff' runs on an + EBCDIC host: `0x00', `0x08', `0x09', `0x0B', `0x0D'-`0x14', + `0x17'-`0x1F', `0x30'-`0x3F'. + + Currently, some of these reserved codepoints are used internally, + thus making it non-trivial to extend `gtroff' to cover Unicode or + other character sets and encodings which use characters of these + ranges. + + Note that invalid characters are removed before parsing; an + identifier `foo', followed by an invalid character, followed by + `bar' is treated as `foobar'. + + For example, any of the following is valid. + + + br + PP + (l + end-list + @_ + +Note that identifiers longer than two characters with a closing bracket +(`]') in its name can't be accessed with escape sequences which expect +an identifier as a parameter. For example, `\[foo]]' accesses the +glyph `foo', followed by `]', whereas `\C'foo]'' really asks for glyph +`foo]'. + + To avoid problems with the `refer' preprocessor, macro names should +not start with `[' or `]'. Due to backwards compatibility, everything +after `.[' and `.]' is handled as a special argument to `refer'. For +example, `.[foo' makes `refer' to start a reference, using `foo' as a +parameter. + + - Escape: \A'ident' + Test whether an identifier IDENT is valid in `gtroff'. It expands + to the character 1 or 0 according to whether its argument (usually + delimited by quotes) is or is not acceptable as the name of a + string, macro, diversion, number register, environment, or font. + It returns 0 if no argument is given. This is useful for looking + up user input in some sort of associative table. + + + \A'end-list' + => 1 + + + *Note Escapes::, for details on parameter delimiting characters. + + Identifiers in `gtroff' can be any length, but, in some contexts, +`gtroff' needs to be told where identifiers end and text begins (and in +different ways depending on their length): + + * Single character. + + * Two characters. Must be prefixed with `(' in some situations. + + * Arbitrary length (`gtroff' only). Must be bracketed with `[' + and `]' in some situations. Any length identifier can be put in + brackets. + + Unlike many other programming languages, undefined identifiers are +silently ignored or expanded to nothing. When `gtroff' finds an +undefined identifier, it emits a warning, doing the following: + + * If the identifier is a string, macro, or diversion, `gtroff' + defines it as empty. + + * If the identifier is a number register, `gtroff' defines it with a + value of 0. + + *Note Warnings::., *Note Interpolating Registers::, and *Note +Strings::. + + Note that macros, strings, and diversions share the same name space. + + + .de xxx + . nop foo + .. + . + .di xxx + bar + .br + .di + . + .xxx + => bar + +As can be seen in the previous example, `gtroff' reuses the identifier +`xxx', changing it from a macro to a diversion. No warning is emitted! +The contents of the first macro definition is lost. + + *Note Interpolating Registers::, and *Note Strings::. + + +File: groff, Node: Embedded Commands, Next: Registers, Prev: Identifiers, Up: gtroff Reference + +Embedded Commands +================= + +Most documents need more functionality beyond filling, adjusting and +implicit line breaking. In order to gain further functionality, +`gtroff' allows commands to be embedded into the text, in two ways. + + The first is a "request" which takes up an entire line, and does +some large-scale operation (e.g. break lines, start new pages). + + The other is an "escape" which can be usually embedded anywhere in +the text; most requests can accept it even as an argument. Escapes +generally do more minor operations like sub- and superscripts, print a +symbol, etc. + +* Menu: + +* Requests:: +* Macros:: +* Escapes:: + + +File: groff, Node: Requests, Next: Macros, Prev: Embedded Commands, Up: Embedded Commands + +Requests +-------- + +A request line begins with a control character, which is either a single +quote (`'', the "no-break control character") or a period (`.', the +normal "control character"). These can be changed; see *Note Character +Translations::, for details. After this there may be optional tabs or +spaces followed by an identifier which is the name of the request. +This may be followed by any number of space-separated arguments (_no_ +tabs here). + + Since a control character followed by whitespace only is ignored, it +is common practice to use this feature for structuring the source code +of documents or macro packages. + + + .de foo + . tm This is foo. + .. + . + . + .de bar + . tm This is bar. + .. + + Another possibility is to use the blank line macro request `blm' by +assigning an empty macro to it. + + + .de do-nothing + .. + .blm do-nothing \" activate blank line macro + + .de foo + . tm This is foo. + .. + + + .de bar + . tm This is bar. + .. + + .blm \" deactivate blank line macro + + *Note Blank Line Traps::. + + To begin a line with a control character without it being +interpreted, precede it with `\&'. This represents a zero width space, +which means it does not affect the output. + + In most cases the period is used as a control character. Several +requests cause a break implicitly; using the single quote control +character prevents this. + +* Menu: + +* Request and Macro Arguments:: + + +File: groff, Node: Request and Macro Arguments, Prev: Requests, Up: Requests + +Request and Macro Arguments +........................... + +Arguments to requests and macros are processed much like the shell: The +line is split into arguments according to spaces.(1) (*note Request and +Macro Arguments-Footnote-1::) + + An argument to a macro which is intended to contain spaces can +either be enclosed in double quotes, or have the spaces "escaped" with +backslashes. This is _not_ true for requests. + + Here are a few examples for a hypothetical macro `uh': + + + .uh The Mouse Problem + .uh "The Mouse Problem" + .uh The\ Mouse\ Problem + +The first line is the `uh' macro being called with 3 arguments, `The', +`Mouse', and `Problem'. The latter two have the same effect of calling +the `uh' macro with one argument, `The Mouse Problem'.(2) (*note +Request and Macro Arguments-Footnote-2::) + + A double quote which isn't preceded by a space doesn't start a macro +argument. If not closing a string, it is printed literally. + + For example, + + + .xxx a" "b c" "de"fg" + +has the arguments `a"', `b c', `de', and `fg"'. Don't rely on this +obscure behaviour! + + There are two possibilities to get a double quote reliably. + + * Enclose the whole argument with double quotes and use two + consecutive double quotes to represent a single one. This + traditional solution has the disadvantage that double quotes don't + survive argument expansion again if called in compatibility mode + (using the `-C' option of `groff'): + + + .de xx + . tm xx: `\\$1' `\\$2' `\\$3' + . + . yy "\\$1" "\\$2" "\\$3" + .. + .de yy + . tm yy: `\\$1' `\\$2' `\\$3' + .. + .xx A "test with ""quotes""" . + => xx: `A' `test with "quotes"' `.' + => yy: `A' `test with ' `quotes""' + + If not in compatibility mode, you get the expected result + + + xx: `A' `test with "quotes"' `.' + yy: `A' `test with "quotes"' `.' + + since `gtroff' preserves the input level. + + * Use the double quote glyph `\(dq'. This works with and without + compatibility mode enabled since `gtroff' doesn't convert `\(dq' + back to a double quote input character. + + Not that this method won't work with UNIX `troff' in general since + the glyph `dq' isn't defined normally. + + Double quotes in the `ds' request are handled differently. *Note +Strings::, for more details. + + +File: groff, Node: Request and Macro Arguments-Footnotes, Up: Request and Macro Arguments + + (1) Plan 9's `troff' implementation also allows tabs for argument +separation - `gtroff' intentionally doesn't support this. + + (2) The last solution, i.e., using escaped spaces, is "classical" in +the sense that it can be found in most `troff' documents. +Nevertheless, it is not optimal in all situations, since `\ ' inserts a +fixed-width, non-breaking space character which can't stretch. +`gtroff' provides a different command `\~' to insert a stretchable, +non-breaking space. + + +File: groff, Node: Macros, Next: Escapes, Prev: Requests, Up: Embedded Commands + +Macros +------ + +`gtroff' has a "macro" facility for defining a series of lines which +can be invoked by name. They are called in the same manner as requests +- arguments also may be passed basically in the same manner. + + *Note Writing Macros::, and *Note Request and Macro Arguments::. + + +File: groff, Node: Escapes, Prev: Macros, Up: Embedded Commands + +Escapes +------- + +Escapes may occur anywhere in the input to `gtroff'. They usually +begin with a backslash and are followed by a single character which +indicates the function to be performed. The escape character can be +changed; see *Note Character Translations::. + + Escape sequences which require an identifier as a parameter accept +three possible syntax forms. + + * The next single character is the identifier. + + * If this single character is an opening parenthesis, take the + following two characters as the identifier. Note that there is no + closing parenthesis after the identifier. + + * If this single character is an opening bracket, take all characters + until a closing bracket as the identifier. + +Examples: + + + \fB + \n(XX + \*[TeX] + + Other escapes may require several arguments and/or some special +format. In such cases the argument is traditionally enclosed in single +quotes (and quotes are always used in this manual for the definitions +of escape sequences). The enclosed text is then processed according to +what that escape expects. Example: + + + \l'1.5i\(bu' + + Note that the quote character can be replaced with any other +character which does not occur in the argument (even a newline or a +space character) in the following escapes: `\o', `\b', and `\X'. This +makes e.g. + + + A caf + \o + e\' + + + in Paris + => A cafe' in Paris + +possible, but it is better not to use this feature to avoid confusion. + + The following escapes sequences (which are handled similarly to +characters since they don't take a parameter) are also allowed as +delimiters: `\%', `\ ', `\|', `\^', `\{', `\}', `\'', `\`', `\-', `\_', +`\!', `\?', `\@', `\)', `\/', `\,', `\&', `\:', `\~', `\0', `\a', `\c', +`\d', `\e', `\E', `\p', `\r', `\t', and `\u'. Again, don't use these +if possible. + + No newline characters as delimiters are allowed in the following +escapes: `\A', `\B', `\Z', `\C', and `\w'. + + Finally, the escapes `\D', `\h', `\H', `\l', `\L', `\N', `\R', `\s', +`\S', `\v', and `\x' can't use the following characters as delimiters: + + * The digits `0'-`9'. + + * The (single-character) operators `+-/*%<>=&:().'. + + * The space, tab, and newline characters. + + * All escape sequences except `\%', `\:', `\{', `\}', `\'', `\`', + `\-', `\_', `\!', `\@', `\/', `\c', `\e', and `\p'. + + To have a backslash (actually, the current escape character) appear +in the output several escapes are defined: `\\', `\e' or `\E'. These +are very similar, and only differ with respect to being used in macros +or diversions. *Note Character Translations::, for an exact +description of those escapes. + + *Note Implementation Differences::, *Note Copy-in Mode::, and *Note +Diversions::, *Note Identifiers::, for more information. + +* Menu: + +* Comments:: + + +File: groff, Node: Comments, Prev: Escapes, Up: Escapes + +Comments +........ + +Probably one of the most(1) (*note Comments-Footnote-1::) common forms +of escapes is the comment. + + - Escape: \" + Start a comment. Everything to the end of the input line is + ignored. + + This may sound simple, but it can be tricky to keep the comments + from interfering with the appearance of the final output. + + If the escape is to the right of some text or a request, that + portion of the line is ignored, but the space leading up to it is + noticed by `gtroff'. This only affects the `ds' and `as' request + and its variants. + + One possibly irritating idiosyncracy is that tabs must not be used + to line up comments. Tabs are not treated as whitespace between + the request and macro arguments. + + A comment on a line by itself is treated as a blank line, because + after eliminating the comment, that is all that remains: + + + Test + \" comment + Test + + produces + + + Test + + Test + + To avoid this, it is common to start the line with `.\"' which + causes the line to be treated as an undefined request and thus + ignored completely. + + Another commenting scheme seen sometimes is three consecutive + single quotes (`'''') at the beginning of a line. This works, but + `gtroff' gives a warning about an undefined macro (namely `'''), + which is harmless, but irritating. + + - Escape: \# + To avoid all this, `gtroff' has a new comment mechanism using the + `\#' escape. This escape works the same as `\"' except that the + newline is also ignored: + + + Test + \# comment + Test + + produces + + + Test Test + + as expected. + + - Request: .ig [end] + Ignore all input until `gtroff' encounters the macro named `.'END + on a line by itself (or `..' if END is not specified). This is + useful for commenting out large blocks of text: + + + text text text... + .ig + This is part of a large block + of text that has been + temporarily(?) commented out. + + We can restore it simply by removing + the .ig request and the ".." at the + end of the block. + .. + More text text text... + + produces + + + text text text... More text text text... + + Note that the commented-out block of text does not cause a break. + + The input is read in copy-mode; auto-incremented registers _are_ + affected (*note Auto-increment::). + + +File: groff, Node: Comments-Footnotes, Up: Comments + + (1) Unfortunately, this is a lie. But hopefully future `gtroff' +hackers will believe it `:-)' + + +File: groff, Node: Registers, Next: Manipulating Filling and Adjusting, Prev: Embedded Commands, Up: gtroff Reference + +Registers +========= + +Numeric variables in `gtroff' are called "registers". There are a +number of built-in registers, supplying anything from the date to +details of formatting parameters. + + *Note Identifiers::, for details on register identifiers. + +* Menu: + +* Setting Registers:: +* Interpolating Registers:: +* Auto-increment:: +* Assigning Formats:: +* Built-in Registers:: + + +File: groff, Node: Setting Registers, Next: Interpolating Registers, Prev: Registers, Up: Registers + +Setting Registers +----------------- + +Define or set registers using the `nr' request or the `\R' escape. + + - Request: .nr ident value + - Escape: \R'ident value' + Set number register IDENT to VALUE. If IDENT doesn't exist, + `gtroff' creates it. + + The argument to `\R' usually has to be enclosed in quotes. *Note + Escapes::, for details on parameter delimiting characters. + + The `\R' escape doesn't produce an input token in `gtroff'; with + other words, it vanishes completely after `gtroff' has processed + it. + + For example, the following two lines are equivalent: + + + .nr a (((17 + (3 * 4))) % 4) + \R'a (((17 + (3 * 4))) % 4)' + => 1 + + Both `nr' and `\R' have two additional special forms to increment or +decrement a register. + + - Request: .nr ident +value + - Request: .nr ident -value + - Escape: \R'ident +value' + - Escape: \R'ident -value' + Increment (decrement) register IDENT by VALUE. + + + .nr a 1 + .nr a +1 + \na + => 2 + + To assign the negated value of a register to another register, + some care must be taken to get the desired result: + + + .nr a 7 + .nr b 3 + .nr a -\nb + \na + => 4 + .nr a (-\nb) + \na + => -3 + + The surrounding parentheses prevent the interpretation of the + minus sign as a decrementing operator. An alternative is to start + the assignment with a `0': + + + .nr a 7 + .nr b -3 + .nr a \nb + \na + => 4 + .nr a 0\nb + \na + => -3 + + + - Request: .rr ident + Remove number register IDENT. If IDENT doesn't exist, the request + is ignored. + + - Request: .rnn ident1 ident2 + Rename number register IDENT1 to IDENT2. If either IDENT1 or + IDENT2 doesn't exist, the request is ignored. + + - Request: .aln ident1 ident2 + Create an alias IDENT1 for a number register IDENT2. The new name + and the old name are exactly equivalent. If IDENT1 is undefined, + a warning of type `reg' is generated, and the request is ignored. + *Note Debugging::, for information about warnings. + + +File: groff, Node: Interpolating Registers, Next: Auto-increment, Prev: Setting Registers, Up: Registers + +Interpolating Registers +----------------------- + +Numeric registers can be accessed via the `\n' escape. + + - Escape: \ni + - Escape: \n(id + - Escape: \n[ident] + Interpolate number register with name IDENT (one-character name I, + two-character name ID). This means that the value of the register + is expanded in-place while `gtroff' is parsing the input line. + Nested assignments (also called indirect assignments) are possible. + + + .nr a 5 + .nr as \na+\na + \n(as + => 10 + + + .nr a1 5 + .nr ab 6 + .ds str b + .ds num 1 + \n[a\n[num]] + => 5 + \n[a\*[str]] + => 6 + + + +File: groff, Node: Auto-increment, Next: Assigning Formats, Prev: Interpolating Registers, Up: Registers + +Auto-increment +-------------- + +Number registers can also be auto-incremented and auto-decremented. +The increment or decrement value can be specified with a third argument +to the `nr' request or `\R' escape. + + - Request: .nr ident value incr + Set number register IDENT to VALUE; the increment for + auto-incrementing is set to INCR. Note that the `\R' escape + doesn't support this notation. + + To activate auto-incrementing, the escape `\n' has a special syntax +form. + + - Escape: \n+i + - Escape: \n-i + - Escape: \n(+id + - Escape: \n(-id + - Escape: \n+(id + - Escape: \n-(id + - Escape: \n[+ident] + - Escape: \n[-ident] + - Escape: \n+[ident] + - Escape: \n-[ident] + Before interpolating, increment or decrement IDENT (one-character + name I, two-character name ID) by the auto-increment value as + specified with the `nr' request (or the `\R' escape). If no + auto-increment value has been specified, these syntax forms are + identical to `\n'. + + For example, + + + .nr a 0 1 + .nr xx 0 5 + .nr foo 0 -2 + \n+a, \n+a, \n+a, \n+a, \n+a + .br + \n-(xx, \n-(xx, \n-(xx, \n-(xx, \n-(xx + .br + \n+[foo], \n+[foo], \n+[foo], \n+[foo], \n+[foo] + +produces + + + 1, 2, 3, 4, 5 + -5, -10, -15, -20, -25 + -2, -4, -6, -8, -10 + + To change the increment value without changing the value of a +register (A in the example), the following can be used: + + + .nr a \na 10 + + +File: groff, Node: Assigning Formats, Next: Built-in Registers, Prev: Auto-increment, Up: Registers + +Assigning Formats +----------------- + +When a register is used in the text of an input file (as opposed to +part of an expression), it is textually replaced (or interpolated) with +a representation of that number. This output format can be changed to +a variety of formats (numbers, Roman numerals, etc.). This is done +using the `af' request. + + - Request: .af ident format + Change the output format of a number register. The first argument + IDENT is the name of the number register to be changed, and the + second argument FORMAT is the output format. The following output + formats are available: + + `1' + Decimal arabic numbers. This is the default format: 0, 1, 2, + 3, .... + + `0...0' + Decimal numbers with as many digits as specified. So, `00' + would result in printing numbers as 01, 02, 03, .... + + In fact, any digit instead of zero will do; `gtroff' only + counts how many digits are specified. As a consequence, + `af''s default format `1' could be specified as `0' also (and + exactly this is returned by the `\g' escape, see below). + + `I' + Upper-case Roman numerals: 0, I, II, III, IV, .... + + `i' + Lower-case Roman numerals: 0, i, ii, iii, iv, .... + + `A' + Upper-case letters: 0, A, B, C, ..., Z, AA, AB, .... + + `a' + Lower-case letters: 0, a, b, c, ..., z, aa, ab, .... + + Omitting the number register format causes a warning of type + `missing'. *Note Debugging::, for more details. Specifying a + nonexistent format causes an error. + + The following example produces `10, X, j, 010': + + + .nr a 10 + .af a 1 \" the default format + \na, + .af a I + \na, + .af a a + \na, + .af a 001 + \na + + The largest number representable for the `i' and `I' formats is + 39999 (or -39999); UNIX `troff' uses `z' and `w' to represent + 10000 and 5000 in Roman numerals, and so does `gtroff'. + Currently, the correct glyphs of Roman numeral five thousand and + Roman numeral ten thousand (Unicode code points `U+2182' and + `U+2181', respectively) are not available. + + If IDENT doesn't exist, it is created. + + Changing the output format of a read-only register causes an + error. It is necessary to first copy the register's value to a + writeable register, then apply the `af' request to this other + register. + + - Escape: \gi + - Escape: \g(id + - Escape: \g[ident] + Return the current format of the specified register IDENT + (one-character name I, two-character name ID). For example, `\ga' + after the previous example would produce the string `000'. If the + register hasn't been defined yet, nothing is returned. + + +File: groff, Node: Built-in Registers, Prev: Assigning Formats, Up: Registers + +Built-in Registers +------------------ + +The following lists some built-in registers which are not described +elsewhere in this manual. Any register which begins with a `.' is +read-only. A complete listing of all built-in registers can be found in +*Note Register Index::. + +`\n[.F]' + This string-valued register returns the current input file name. + +`\n[.H]' + Horizontal resolution in basic units. + +`\n[.U]' + If `gtroff' is called with the `-U' command line option, the + number register `.U' is set to 1, and zero otherwise. *Note Groff + Options::. + +`\n[.V]' + Vertical resolution in basic units. + +`\n[seconds]' + The number of seconds after the minute, normally in the range 0 + to 59, but can be up to 61 to allow for leap seconds. Initialized + at start-up of `gtroff'. + +`\n[minutes]' + The number of minutes after the hour, in the range 0 to 59. + Initialized at start-up of `gtroff'. + +`\n[hours]' + The number of hours past midnight, in the range 0 to 23. + Initialized at start-up of `gtroff'. + +`\n[dw]' + Day of the week (1-7). + +`\n[dy]' + Day of the month (1-31). + +`\n[mo]' + Current month (1-12). + +`\n[year]' + The current year. + +`\n[yr]' + The current year minus 1900. Unfortunately, the documentation of + UNIX Version 7's `troff' had a year 2000 bug: It incorrectly + claimed that `yr' contains the last two digits of the year. That + claim has never been true of either AT&T `troff' or GNU `troff'. + Old `troff' input that looks like this: + + + '\" The following line stopped working after 1999 + This document was formatted in 19\n(yr. + + can be corrected as follows: + + + This document was formatted in \n[year]. + + or, to be portable to older `troff' versions, as follows: + + + .nr y4 1900+\n(yr + This document was formatted in \n(y4. + +`\n[.c]' +`\n[c.]' + The current _input_ line number. Register `.c' is read-only, + whereas `c.' (a `gtroff' extension) is writable also, affecting + both `.c' and `c.'. + +`\n[ln]' + The current _output_ line number after a call to the `nm' request + to activate line numbering. + + *Note Miscellaneous::, for more information about line numbering. + +`\n[.x]' + The major version number. For example, if the version number is + 1.03 then `.x' contains `1'. + +`\n[.y]' + The minor version number. For example, if the version number is + 1.03 then `.y' contains `03'. + +`\n[.Y]' + The revision number of `groff'. + +`\n[$$]' + The process ID of `gtroff'. + +`\n[.g]' + Always 1. Macros should use this to determine whether they are + running under GNU `troff'. + +`\n[.A]' + If the command line option `-a' is used to produce an ASCII + approximation of the output, this is set to 1, zero otherwise. + *Note Groff Options::. + +`\n[.P]' + This register is set to 1 (and to 0 otherwise) if the current page + is actually being printed, i.e., if the `-o' option is being used + to only print selected pages. *Note Groff Options::, for more + information. + +`\n[.T]' + If `gtroff' is called with the `-T' command line option, the + number register `.T' is set to 1, and zero otherwise. *Note Groff + Options::. + +`\*[.T]' + A single read-write string register which contains the current + output device (for example, `latin1' or `ps'). This is the only + string register defined by `gtroff'. + + +File: groff, Node: Manipulating Filling and Adjusting, Next: Manipulating Hyphenation, Prev: Registers, Up: gtroff Reference + +Manipulating Filling and Adjusting +================================== + +Various ways of causing "breaks" were given in *Note Implicit Line +Breaks::. The `br' request likewise causes a break. Several other +requests also cause breaks, but implicitly. These are `bp', `ce', +`cf', `fi', `fl', `in', `nf', `rj', `sp', `ti', and `trf'. + + - Request: .br + Break the current line, i.e., the input collected so far is emitted + without adjustment. + + If the no-break control character is used, `gtroff' suppresses the + break: + + + a + 'br + b + => a b + + + Initially, `gtroff' fills and adjusts text to both margins. Filling +can be disabled via the `nf' request and re-enabled with the `fi' +request. + + - Request: .fi + - Register: \n[.u] + Activate fill mode (which is the default). This request implicitly + enables adjusting; it also inserts a break in the text currently + being filled. The read-only number register `.u' is set to 1. + + The fill mode status is associated with the current environment + (*note Environments::). + + See *Note Line Control::, for interaction with the `\c' escape. + + - Request: .nf + Activate no-fill mode. Input lines are output as-is, retaining + line breaks and ignoring the current line length. This command + implicitly disables adjusting; it also causes a break. The number + register `.u' is set to 0. + + The fill mode status is associated with the current environment + (*note Environments::). + + See *Note Line Control::, for interaction with the `\c' escape. + + - Request: .ad [mode] + - Register: \n[.j] + Set adjusting mode. + + Activation and deactivation of adjusting is done implicitly with + calls to the `fi' or `nf' requests. + + MODE can have one of the following values: + + `l' + Adjust text to the left margin. This produces what is + traditionally called ragged-right text. + + `r' + Adjust text to the right margin, producing ragged-left text. + + `c' + Center filled text. This is different to the `ce' request + which only centers text without filling. + + `b' + `n' + Justify to both margins. This is the default used by + `gtroff'. + + Finally, MODE can be the numeric argument returned by the `.j' + register. + + With no argument, `gtroff' adjusts lines in the same way it did + before adjusting was deactivated (with a call to `na', for + example). + + + text + .ad r + .nr ad \n[.j] + text + .ad c + text + .na + text + .ad \" back to centering + text + .ad \n[ad] \" back to right justifying + + The current adjustment mode is available in the read-only number + register `.j'; it can be stored and subsequently used to set + adjustment. + + The adjustment mode status is associated with the current + environment (*note Environments::). + + - Request: .na + Disable adjusting. This request won't change the current + adjustment mode: A subsequent call to `ad' uses the previous + adjustment setting. + + The adjustment mode status is associated with the current + environment (*note Environments::). + + - Request: .brp + - Escape: \p + Adjust the current line and cause a break. + + In most cases this produces very ugly results since `gtroff' + doesn't have a sophisticated paragraph building algorithm (as TeX + have, for example); instead, `gtroff' fills and adjusts a paragraph + line by line: + + + This is an uninteresting sentence. + This is an uninteresting sentence.\p + This is an uninteresting sentence. + + is formatted as + + + This is an uninteresting sentence. This is an + uninteresting sentence. + This is an uninteresting sentence. + + + - Request: .ss word_space_size [sentence_space_size] + - Register: \n[.ss] + - Register: \n[.sss] + Change the size of a space between words. It takes its units as + one twelfth of the space width parameter for the current font. + Initially both the WORD_SPACE_SIZE and SENTENCE_SPACE_SIZE are 12. + In fill mode, the values specify the minimum distance. + + If two arguments are given to the `ss' request, the second + argument sets the sentence space size. If the second argument is + not given, sentence space size is set to WORD_SPACE_SIZE. The + sentence space size is used in two circumstances: If the end of a + sentence occurs at the end of a line in fill mode, then both an + inter-word space and a sentence space are added; if two spaces + follow the end of a sentence in the middle of a line, then the + second space is a sentence space. If a second argument is never + given to the `ss' request, the behaviour of UNIX `troff' is the + same as that exhibited by GNU `troff'. In GNU `troff', as in UNIX + `troff', a sentence should always be followed by either a newline + or two spaces. + + The read-only number registers `.ss' and `.sss' hold the values of + the parameters set by the first and second arguments of the `ss' + request. + + The word space and sentence space values are associated with the + current environment (*note Environments::). + + Contrary to AT&T `troff', this request is _not_ ignored if a TTY + output device is used; the given values are then rounded down to a + multiple of 12 (*note Implementation Differences::). + + The request is ignored if there is no parameter. + + Another useful application of the `ss' request is to insert + discardable horizontal space, i.e., space which is discarded at a + line break. For example, paragraph-style footnotes could be + separated this way: + + + .ll 4.5i + 1.\ This is the first footnote.\c + .ss 48 + .nop + .ss 12 + 2.\ This is the second footnote. + + The result: + + + 1. This is the first footnote. 2. This + is the second footnote. + + Note that the `\h' escape produces unbreakable space. + + - Request: .ce [nnn] + - Register: \n[.ce] + Center text. While the `.ad c' request also centers text, it + fills the text as well. `ce' does not fill the text it affects. + This request causes a break. The number of lines still to be + centered is associated with the current environment (*note + Environments::). + + The following example demonstrates the differences. Here the + input: + + + .ll 4i + .ce 1000 + This is a small text fragment which shows the differences + between the `.ce' and the `.ad c' request. + .ce 0 + + .ad c + This is a small text fragment which shows the differences + between the `.ce' and the `.ad c' request. + + And here the result: + + + This is a small text fragment which + shows the differences + between the `.ce' and the `.ad c' request. + + This is a small text fragment which + shows the differences between the `.ce' + and the `.ad c' request. + + With no arguments, `ce' centers the next line of text. NNN + specifies the number of lines to be centered. If the argument is + zero or negative, centering is disabled. + + The basic length for centering text is the line length (as set + with the `ll' request) minus the indentation (as set with the `in' + request). Temporary indentation is ignored. + + As can be seen in the previous example, it is a common idiom to + turn on centering for a large number of lines, and to turn off + centering after text to be centered. This is useful for any + request which takes a number of lines as an argument. + + The `.ce' read-only number register contains the number of lines + remaining to be centered, as set by the `ce' request. + + - Request: .rj [nnn] + - Register: \n[.rj] + Justify unfilled text to the right margin. Arguments are + identical to the `ce' request. The `.rj' read-only number + register is the number of lines to be right-justified as set by + the `rj' request. This request causes a break. The number of + lines still to be right-justified is associated with the current + environment (*note Environments::). + + +File: groff, Node: Manipulating Hyphenation, Next: Manipulating Spacing, Prev: Manipulating Filling and Adjusting, Up: gtroff Reference + +Manipulating Hyphenation +======================== + +As discussed in *Note Hyphenation::, `gtroff' hyphenates words. There +are a number of ways to influence hyphenation. + + - Request: .hy [mode] + - Register: \n[.hy] + Enable hyphenation. The request has an optional numeric argument, + MODE, to restrict hyphenation if necessary: + + `1' + The default argument if MODE is omitted. Hyphenate without + restrictions. This is also the start-up value of `gtroff'. + + `2' + Do not hyphenate the last word on a page or column. + + `4' + Do not hyphenate the last two characters of a word. + + `8' + Do not hyphenate the first two characters of a word. + + Values in the previous table are additive. For example, the + value 12 causes `gtroff' to neither hyphenate the last two nor the + first two characters of a word. + + The current hyphenation restrictions can be found in the read-only + number register `.hy'. + + The hyphenation mode is associated with the current environment + (*note Environments::). + + - Request: .nh + Disable hyphenation (i.e., set the hyphenation mode to zero). Note + that the hyphenation mode of the last call to `hy' is not + remembered. + + The hyphenation mode is associated with the current environment + (*note Environments::). + + - Request: .hlm [nnn] + - Register: \n[.hlm] + - Register: \n[.hlc] + Set the maximum number of consecutive hyphenated lines to NNN. If + this number is negative, there is no maximum. The default value + is -1 if NNN is omitted. This value is associated with the + current environment (*note Environments::). Only lines output + from a given environment count towards the maximum associated with + that environment. Hyphens resulting from `\%' are counted; + explicit hyphens are not. + + The current setting of `hlm' is available in the `.hlm' read-only + number register. Also the number of immediately preceding + consecutive hyphenated lines are available in the read-only number + register `.hlc'. + + - Request: .hw word1 word2 ... + Define how WORD1, WORD2, etc. are to be hyphenated. The words + must be given with hyphens at the hyphenation points. For example: + + + .hw in-sa-lub-rious + + Besides the space character, any character whose hyphenation code + value is zero can be used to separate the arguments of `hw' (see + the documentation for the `hcode' request below for more + information). In addition, this request can be used more than + once. + + Hyphenation exceptions specified with the `hw' request are + associated with the current hyphenation language; it causes an + error if there is no current hyphenation language. + + This request is ignored if there is no parameter. + + In old versions of `troff' there was a limited amount of space to + store such information; fortunately, with `gtroff', this is no + longer a restriction. + + - Escape: \% + - Escape: \: + To tell `gtroff' how to hyphenate words on the fly, use the `\%' + escape, also known as the "hyphenation character". Preceding a + word with this character prevents it from being hyphenated; + putting it inside a word indicates to `gtroff' that the word may + be hyphenated at that point. Note that this mechanism only + affects that one occurrence of the word; to change the hyphenation + of a word for the entire document, use the `hw' request. + + The `\:' escape inserts a zero-width break point (that is, the + word breaks but without adding a hyphen). + + + ... check the /var/log/\:httpd/\:access_log file ... + + Note that `\X' and `\Y' start a word, that is, the `\%' escape in + (say) `\X'...'\%foobar' and `\Y'...'\%foobar' no longer prevents + hyphenation but inserts a hyphenation point at the beginning of + `foobar'; most likely this isn't what you want to do. + + - Request: .hc [char] + Change the hyphenation character to CHAR. This character then + works the same as the `\%' escape, and thus, no longer appears in + the output. Without an argument, `hc' resets the hyphenation + character to be `\%' (the default) only. + + The hyphenation character is associated with the current + environment (*note Environments::). + + - Request: .hpf pattern_file + - Request: .hpfa pattern_file + - Request: .hpfcode a b [c d ...] + Read in a file of hyphenation patterns. This file is searched for + in the same way as `NAME.tmac' (or `tmac.NAME') is searched for if + the `-mNAME' option is specified. + + It should have the same format as (simple) TeX patterns files. + More specifically, the following scanning rules are implemented. + + * A percent sign starts a comment (up to the end of the line) + even if preceded by a backslash. + + * No support for `digraphs' like `\$'. + + * `^^XX' (X is 0-9 or a-f) and `^^X' (character code of X in + the range 0-127) are recognized; other use of `^' causes an + error. + + * No macro expansion. + + * `hpf' checks for the expression `\patterns{...}' (possibly + with whitespace before and after the braces). Everything + between the braces is taken as hyphenation patterns. + Consequently, `{' and `}' are not allowed in patterns. + + * Similarly, `\hyphenation{...}' gives a list of hyphenation + exceptions. + + * `\endinput' is recognized also. + + * For backwards compatibility, if `\patterns' is missing, the + whole file is treated as a list of hyphenation patterns (only + recognizing the `%' character as the start of a comment). + + If no `hpf' request is specified (either in the document or in a + macro package), `gtroff' won't hyphenate at all. + + The `hpfa' request appends a file of patterns to the current list. + + The `hpfcode' request defines mapping values for character codes in + hyphenation patterns. `hpf' or `hpfa' then apply the mapping + (after reading the patterns) before replacing or appending them to + the current list of patterns. Its arguments are pairs of + character codes - integers from 0 to 255. The request maps + character code A to code B, code C to code D, and so on. You can + use character codes which would be invalid otherwise. + + The set of hyphenation patterns is associated with the current + language set by the `hla' request. The `hpf' request is usually + invoked by the `troffrc' or `troffrc-end' file; by default, + `troffrc' loads hyphenation patterns and exceptions for American + English (in files `hyphen.us' and `hyphenex.us'). + + A second call to `hpf' (for the same language) will replace the + hyphenation patterns with the new ones. + + Invoking `hpf' causes an error if there is no current hyphenation + language. + + - Request: .hcode c1 code1 c2 code2 ... + Set the hyphenation code of character C1 to CODE1, that of C2 to + CODE2, etc. A hyphenation code must be a single input character + (not a special character) other than a digit or a space. + Initially each lower-case letter (`a'-`z') has its hyphenation + code set to itself, and each upper-case letter (`A'-`Z') has a + hyphenation code which is the lower-case version of itself. + + This request is ignored if it has no parameter. + + - Request: .hym [length] + - Register: \n[.hym] + Set the (right) hyphenation margin to LENGTH. If the current + adjustment mode is not `b' or `n', the line is not hyphenated if + it is shorter than LENGTH. Without an argument, the hyphenation + margin is reset to its default value, which is 0. The default + scaling indicator for this request is `m'. The hyphenation margin + is associated with the current environment (*note Environments::). + + A negative argument resets the hyphenation margin to zero, emitting + a warning of type `range'. + + The current hyphenation margin is available in the `.hym' read-only + number register. + + - Request: .hys [hyphenation_space] + - Register: \n[.hys] + Set the hyphenation space to HYPHENATION_SPACE. If the current + adjustment mode is `b' or `n', don't hyphenate the line if it can + be justified by adding no more than HYPHENATION_SPACE extra space + to each word space. Without argument, the hyphenation space is + set to its default value, which is 0. The default scaling + indicator for this request is `m'. The hyphenation space is + associated with the current environment (*note Environments::). + + A negative argument resets the hyphenation space to zero, emitting + a warning of type `range'. + + The current hyphenation space is available in the `.hys' read-only + number register. + + - Request: .shc [glyph] + Set the "soft hyphen character" to GLYPH.(1) (*note Manipulating + Hyphenation-Footnote-1::) If the argument is omitted, the soft + hyphen character is set to the default glyph `\(hy' (this is the + start-up value of `gtroff' also). The soft hyphen character is + the glyph that is inserted when a word is hyphenated at a line + break. If the soft hyphen character does not exist in the font of + the character immediately preceding a potential break point, then + the line is not broken at that point. Neither definitions + (specified with the `char' request) nor translations (specified + with the `tr' request) are considered when finding the soft hyphen + character. + + - Request: .hla language + - Register: \n[.hla] + Set the current hyphenation language to the string LANGUAGE. + Hyphenation exceptions specified with the `hw' request and + hyphenation patterns specified with the `hpf' and `hpfa' requests + are both associated with the current hyphenation language. The + `hla' request is usually invoked by the `troffrc' or the + `troffrc-end' files; `troffrc' sets the default language to `us'. + + The current hyphenation language is available as a string in the + read-only number register `.hla'. + + + .ds curr_language \n[.hla] + \*[curr_language] + => us + + + +File: groff, Node: Manipulating Hyphenation-Footnotes, Up: Manipulating Hyphenation + + (1) "Soft hyphen character" is a misnomer since it is an output +glyph. + + +File: groff, Node: Manipulating Spacing, Next: Tabs and Fields, Prev: Manipulating Hyphenation, Up: gtroff Reference + +Manipulating Spacing +==================== + + - Request: .sp [distance] + Space downwards DISTANCE. With no argument it advances 1 line. A + negative argument causes `gtroff' to move up the page the + specified distance. If the argument is preceded by a `|' then + `gtroff' moves that distance from the top of the page. This + request causes a line break. The default scaling indicator is `v'. + + If a vertical trap is sprung during execution of `sp', the amount + of vertical space after the trap is discarded. For example, this + + + .de xxx + .. + . + .wh 0 xxx + . + .pl 5v + foo + .sp 2 + bar + .sp 50 + baz + + results in + + + foo + + + bar + + baz + + The amount of discarded space is available in the number register + `.trunc'. + + To protect `sp' against vertical traps, use the `vpt' request: + + + .vpt 0 + .sp -3 + .vpt 1 + + + - Request: .ls [nnn] + - Register: \n[.L] + Output NNN-1 blank lines after each line of text. With no + argument, `gtroff' uses the previous value before the last `ls' + call. + + + .ls 2 \" This causes double-spaced output + .ls 3 \" This causes triple-spaced output + .ls \" Again double-spaced + + The line spacing is associated with the current environment (*note + Environments::). + + The read-only number register `.L' contains the current line + spacing setting. + + *Note Changing Type Sizes::, for the requests `vs' and `pvs' as +alternatives to `ls'. + + - Escape: \x'spacing' + - Register: \n[.a] + Sometimes, extra vertical spacing is only needed occasionally, e.g. + to allow space for a tall construct (like an equation). The `\x' + escape does this. The escape is given a numerical argument, + usually enclosed in quotes (like `\x'3p''); the default scaling + indicator is `v'. If this number is positive extra vertical space + is inserted below the current line. A negative number adds space + above. If this escape is used multiple times on the same line, + the maximum of the values is used. + + *Note Escapes::, for details on parameter delimiting characters. + + The `.a' read-only number register contains the most recent + (nonnegative) extra vertical line space. + + Using `\x' can be necessary in combination with the `\b' escape, + as the following example shows. + + + This is a test with the \[rs]b escape. + .br + This is a test with the \[rs]b escape. + .br + This is a test with \b'xyz'\x'-1m'\x'1m'. + .br + This is a test with the \[rs]b escape. + .br + This is a test with the \[rs]b escape. + + produces + + + This is a test with the \b escape. + This is a test with the \b escape. + x + This is a test with y. + z + This is a test with the \b escape. + This is a test with the \b escape. + + + - Request: .ns + - Request: .rs + - Register: \n[.ns] + Enable "no-space mode". In this mode, spacing (either via `sp' or + via blank lines) is disabled. The `bp' request to advance to the + next page is also disabled, except if it is accompanied by a page + number (see *Note Page Control::, for more information). This + mode ends when actual text is output or the `rs' request is + encountered which ends no-space mode. The read-only number + register `.ns' is set to 1 as long as no-space mode is active. + + This request is useful for macros that conditionally insert + vertical space before the text starts (for example, a paragraph + macro could insert some space except when it is the first + paragraph after a section header). + + +File: groff, Node: Tabs and Fields, Next: Character Translations, Prev: Manipulating Spacing, Up: gtroff Reference + +Tabs and Fields +=============== + +A tab character (ASCII char 9, EBCDIC char 5) causes a horizontal +movement to the next tab stop (much like it did on a typewriter). + + - Escape: \t + This escape is a non-interpreted tab character. In copy mode + (*note Copy-in Mode::), `\t' is the same as a real tab character. + + - Request: .ta [n1 n2 ... nn T r1 r2 ... rn] + - Register: \n[.tabs] + Change tab stop positions. This request takes a series of tab + specifiers as arguments (optionally divided into two groups with + the letter `T') which indicate where each tab stop is to be + (overriding any previous settings). + + Tab stops can be specified absolutely, i.e., as the distance from + the left margin. For example, the following sets 6 tab stops every + one inch. + + + .ta 1i 2i 3i 4i 5i 6i + + Tab stops can also be specified using a leading `+' which means + that the specified tab stop is set relative to the previous tab + stop. For example, the following is equivalent to the previous + example. + + + .ta 1i +1i +1i +1i +1i +1i + + `gtroff' supports an extended syntax to specify repeat values after + the `T' mark (these values are always taken as relative) - this is + the usual way to specify tabs set at equal intervals. The + following is, yet again, the same as the previous examples. It + does even more since it defines an infinite number of tab stops + separated by one inch. + + + .ta T 1i + + Now we are ready to interpret the full syntax given at the + beginning: Set tabs at positions N1, N2, ..., NN and then set tabs + at NN+R1, NN+R2, ..., NN+RN and then at NN+RN+R1, NN+RN+R2, ..., + NN+RN+RN, and so on. + + Example: `4c +6c T 3c 5c 2c' is equivalent to `4c 10c 13c 18c 20c + 23c 28c 30c ...'. + + The material in each tab column (i.e., the column between two tab + stops) may be justified to the right or left or centered in the + column. This is specified by appending `R', `L', or `C' to the tab + specifier. The default justification is `L'. Example: + + + .ta 1i 2iC 3iR + + Some notes: + + * The default unit of the `ta' request is `m'. + + * A tab stop is converted into a non-breakable horizontal + movement which can be neither stretched nor squeezed. For + example, + + + .ds foo a\tb\tc + .ta T 5i + \*[foo] + + creates a single line which is a bit longer than 10 inches (a + string is used to show exactly where the tab characters are). + Now consider the following: + + + .ds bar a\tb b\tc + .ta T 5i + \*[bar] + + `gtroff' first converts the tab stops of the line into + unbreakable horizontal movements, then splits the line after + the second `b' (assuming a sufficiently short line length). + Usually, this isn't what the user wants. + + * Superfluous tabs (i.e., tab characters which do not + correspond to a tab stop) are ignored except the first one + which delimits the characters belonging to the last tab stop + for right-justifying or centering. Consider the following + example + + + .ds Z foo\tbar\tfoo + .ds ZZ foo\tbar\tfoobar + .ds ZZZ foo\tbar\tfoo\tbar + .ta 2i 4iR + \*[Z] + .br + \*[ZZ] + .br + \*[ZZZ] + .br + + which produces the following output: + + + foo bar foo + foo bar foobar + foo bar foobar + + The first line right-justifies the second `foo' relative to + the tab stop. The second line right-justifies `foobar'. The + third line finally right-justifies only `foo' because of the + additional tab character which marks the end of the string + belonging to the last defined tab stop. + + * Tab stops are associated with the current environment (*note + Environments::). + + * Calling `ta' without an argument removes all tab stops. + + * The start-up value of `gtroff' is `T 0.8i'. + + The read-only number register `.tabs' contains a string + representation of the current tab settings suitable for use as an + argument to the `ta' request. + + + .ds tab-string \n[.tabs] + \*[tab-string] + => T120u + + The `troff' version of the Plan 9 operating system uses register + `.S' for the same purpose. + + - Request: .tc [fill-glyph] + Normally `gtroff' fills the space to the next tab stop with + whitespace. This can be changed with the `tc' request. With no + argument `gtroff' reverts to using whitespace, which is the + default. The value of this "tab repetition character" is + associated with the current environment (*note Environments::).(1) + (*note Tabs and Fields-Footnote-1::) + + - Request: .linetabs n + - Register: \n[.linetabs] + If N is missing or not zero, enable "line-tabs" mode, or disable + it otherwise (the default). In line-tabs mode, `gtroff' computes + tab distances relative to the (current) output line instead of the + input line. + + For example, the following code: + + + .ds x a\t\c + .ds y b\t\c + .ds z c + .ta 1i 3i + \*x + \*y + \*z + + in normal mode, results in the output + + + a b c + + in line-tabs mode, the same code outputs + + + a b c + + Line-tabs mode is associated with the current environment. The + read-only register `.linetabs' is set to 1 if in line-tabs mode, + and 0 in normal mode. + +* Menu: + +* Leaders:: +* Fields:: + + +File: groff, Node: Tabs and Fields-Footnotes, Up: Tabs and Fields + + (1) "Tab repetition character" is a misnomer since it is an output +glyph. + + +File: groff, Node: Leaders, Next: Fields, Prev: Tabs and Fields, Up: Tabs and Fields + +Leaders +------- + +Sometimes it may may be desirable to use the `tc' request to fill a +particular tab stop with a given glyph (for example dots in a table of +contents), but also normal tab stops on the rest of the line. For this +`gtroff' provides an alternate tab mechanism, called "leaders" which +does just that. + + A leader character (character code 1) behaves similarly to a tab +character: It moves to the next tab stop. The only difference is that +for this movement, the fill glyph defaults to a period character and +not to space. + + - Escape: \a + This escape is a non-interpreted leader character. In copy mode + (*note Copy-in Mode::), `\a' is the same as a real leader + character. + + - Request: .lc [fill-glyph] + Declare the "leader repetition character".(1) (*note + Leaders-Footnote-1::) Without an argument, leaders act the same as + tabs (i.e., using whitespace for filling). `gtroff''s start-up + value is a dot (`.'). The value of the leader repetition + character is associated with the current environment (*note + Environments::). + + For a table of contents, to name an example, tab stops may be +defined so that the section number is one tab stop, the title is the +second with the remaining space being filled with a line of dots, and +then the page number slightly separated from the dots. + + + .ds entry 1.1\tFoo\a\t12 + .lc . + .ta 1i 5i +.25i + \*[entry] + +This produces + + + 1.1 Foo.......................................... 12 + + +File: groff, Node: Leaders-Footnotes, Up: Leaders + + (1) "Leader repetition character" is a misnomer since it is an +output glyph. + + +File: groff, Node: Fields, Prev: Leaders, Up: Tabs and Fields + +Fields +------ + +"Fields" are a more general way of laying out tabular data. A field is +defined as the data between a pair of "delimiting characters". It +contains substrings which are separated by "padding characters". The +width of a field is the distance on the _input_ line from the position +where the field starts to the next tab stop. A padding character +inserts stretchable space similar to TeX's `\hss' command (thus it can +even be negative) to make the sum of all substring lengths plus the +stretchable space equal to the field width. If more than one padding +character is inserted, the available space is evenly distributed among +them. + + - Request: .fc [delim-char [padding-char]] + Define a delimiting and a padding character for fields. If the + latter is missing, the padding character defaults to a space + character. If there is no argument at all, the field mechanism is + disabled (which is the default). Note that contrary to e.g. the + tab repetition character, delimiting and padding characters are + _not_ associated to the current environment (*note Environments::). + + Example: + + + .fc # ^ + .ta T 3i + #foo^bar^smurf# + .br + #foo^^bar^smurf# + + and here the result: + + + foo bar smurf + foo bar smurf + + + +File: groff, Node: Character Translations, Next: Troff and Nroff Mode, Prev: Tabs and Fields, Up: gtroff Reference + +Character Translations +====================== + +The control character (`.') and the no-break control character (`'') +can be changed with the `cc' and `c2' requests, respectively. + + - Request: .cc [c] + Set the control character to C. With no argument the default + control character `.' is restored. The value of the control + character is associated with the current environment (*note + Environments::). + + - Request: .c2 [c] + Set the no-break control character to C. With no argument the + default control character `'' is restored. The value of the + no-break control character is associated with the current + environment (*note Environments::). + + - Request: .eo + Disable the escape mechanism completely. After executing this + request, the backslash character `\' no longer starts an escape + sequence. + + This request can be very helpful in writing macros since it is not + necessary then to double the escape character. Here an example: + + + .\" This is a simplified version of the + .\" .BR request from the man macro package + .eo + .de BR + . ds result \& + . while (\n[.$] >= 2) \{\ + . as result \fB\$1\fR\$2 + . shift 2 + . \} + . if \n[.$] .as result \fB\$1 + \*[result] + . ft R + .. + .ec + + + - Request: .ec [c] + Set the escape character to C. With no argument the default + escape character `\' is restored. It can be also used to + re-enable the escape mechanism after an `eo' request. + + Note that changing the escape character globally will likely break + macro packages since `gtroff' has no mechanism to `intern' macros, + i.e., to convert a macro definition into an internal form which is + independent of its representation (TeX has this mechanism). If a + macro is called, it is executed literally. + + - Request: .ecs + - Request: .ecr + The `ecs' request saves the current escape character in an + internal register. Use this request in combination with the `ec' + request to temporarily change the escape character. + + The `ecr' request restores the escape character saved with `ecs'. + Without a previous call to `ecs', this request sets the escape + character to `\'. + + - Escape: \\ + - Escape: \e + - Escape: \E + Print the current escape character (which is the backslash + character `\' by default). + + `\\' is a `delayed' backslash; more precisely, it is the default + escape character followed by a backslash, which no longer has + special meaning due to the leading escape character. It is _not_ + an escape sequence in the usual sense! In any unknown escape + sequence `\X' the escape character is ignored and X is printed. + But if X is equal to the current escape character, no warning is + emitted. + + As a consequence, only at top-level or in a diversion a backslash + glyph is printed; in copy-in mode, it expands to a single + backslash which then combines with the following character to an + escape sequence. + + The `\E' escape differs from `\e' by printing an escape character + that is not interpreted in copy mode. Use this to define strings + with escapes that work when used in copy mode (for example, as a + macro argument). The following example defines strings to begin + and end a superscript: + + + .ds { \v'-.3m'\s'\En[.s]*60/100' + .ds } \s0\v'.3m' + + Another example to demonstrate the differences between the various + escape sequences, using a strange escape character, `-'. + + + .ec - + .de xxx + --A'123' + .. + .xxx + => -A'foo' + + The result is surprising for most users, expecting `1' since `foo' + is a valid identifier. What has happened? As mentioned above, + the leading escape character makes the following character + ordinary. Written with the default escape character the sequence + `--' becomes `\-' - this is the minus sign. + + If the escape character followed by itself is a valid escape + sequence, only `\E' yields the expected result: + + + .ec - + .de xxx + -EA'123' + .. + .xxx + => 1 + + + - Escape: \. + Similar to `\\', the sequence `\.' isn't a real escape sequence. + As before, a warning message is suppressed if the escape character + is followed by a dot, and the dot itself is printed. + + + .de foo + . nop foo + . + . de bar + . nop bar + \\.. + . + .. + .foo + .bar + => foo bar + + The first backslash is consumed while the macro is read, and the + second is swallowed while exexuting macro `foo'. + + A "translation" is a mapping of an input character to an output +glyph. The mapping occurs at output time, i.e., the input character +gets assigned the metric information of the mapped output character +right before input tokens are converted to nodes (*note Gtroff +Internals::, for more on this process). + + - Request: .tr abcd... + - Request: .trin abcd... + Translate character A to glyph B, character C to glyph D, etc. If + there is an odd number of arguments, the last one is translated to + an unstretchable space (`\ '). + + The `trin' request is identical to `tr', but when you unformat a + diversion with `asciify' it ignores the translation. *Note + Diversions::, for details about the `asciify' request. + + Some notes: + + * Special characters (`\(XX', `\[XXX]', `\C'XXX'', `\'', `\`', + `\-', `\_'), glyphs defined with the `char' request, and + numbered glyphs (`\N'XXX'') can be translated also. + + * The `\e' escape can be translated also. + + * Characters can be mapped onto the `\%' and `\~' escapes (but + `\%' and `\~' can't be mapped onto another glyph). + + * The following characters can't be translated: space (with one + exception, see below), backspace, newline, leader (and `\a'), + tab (and `\t'). + + * Translations are not considered for finding the soft hyphen + character set with the `shc' request. + + * The pair `C\&' (this is an arbitrary character C followed by + the zero width space character) maps this character to + nothing. + + + .tr a\& + foo bar + => foo br + + It is even possible to map the space character to nothing: + + + .tr aa \& + foo bar + => foobar + + As shown in the example, the space character can't be the + first character/glyph pair as an argument of `tr'. + Additionally, it is not possible to map the space character + to any other glyph; requests like `.tr aa x' undo `.tr aa \&' + instead. + + If justification is active, lines are justified in spite of + the `empty' space character (but there is no minimal + distance, i.e. the space character, between words). + + * After an output glyph has been constructed (this happens at + the moment immediately before the glyph is appended to an + output glyph list, either by direct output, in a macro, + diversion, or string), it is no longer affected by `tr'. + + * Translating character to glyphs where one of them or both are + undefined is possible also; `tr' does not check whether the + entities in its argument do exist. + + *Note Gtroff Internals::. + + * `troff' no longer has a hard-coded dependency on Latin-1; all + `charXXX' entities have been removed from the font + description files. This has a notable consequence which + shows up in warnings like `can't find character with input + code XXX' if the `tr' request isn't handled properly. + + Consider the following translation: + + + .tr e'E' + + This maps input character `e'' onto glyph `E'', which is + identical to glyph `char201'. But this glyph intentionally + doesn't exist! Instead, `\[char201]' is treated as an input + character entity and is by default mapped onto `\['E]', and + `gtroff' doesn't handle translations of translations. + + The right way to write the above translation is + + + .tr e'\['E] + + With other words, the first argument of `tr' should be an + input character or entity, and the second one a glyph entity. + + * Without an argument, the `tr' request is ignored. + + - Request: .trnt abcd... + `trnt' is the same as the `tr' request except that the + translations do not apply to text that is transparently throughput + into a diversion with `\!'. *Note Diversions::, for more + information. + + For example, + + + .tr ab + .di x + \!.tm a + .di + .x + + prints `b' to the standard error stream; if `trnt' is used instead + of `tr' it prints `a'. + + +File: groff, Node: Troff and Nroff Mode, Next: Line Layout, Prev: Character Translations, Up: gtroff Reference + +Troff and Nroff Mode +==================== + +Originally, `nroff' and `troff' were two separate programs, the former +for TTY output, the latter for everything else. With GNU `troff', both +programs are merged into one executable, sending its output to a device +driver (`grotty' for TTY devices, `grops' for POSTSCRIPT, etc.) which +interprets the intermediate output of `gtroff'. For UNIX `troff' it +makes sense to talk about "Nroff mode" and "Troff mode" since the +differences are hardcoded. For GNU `troff', this distinction is not +appropriate because `gtroff' simply takes the information given in the +font files for a particular device without handling requests specially +if a TTY output device is used. + + Usually, a macro package can be used with all output devices. +Nevertheless, it is sometimes necessary to make a distinction between +TTY and non-TTY devices: `gtroff' provides two built-in conditions `n' +and `t' for the `if', `ie', and `while' requests to decide whether +`gtroff' shall behave like `nroff' or like `troff'. + + - Request: .troff + Make the `t' built-in condition true (and the `n' built-in + condition false) for `if', `ie', and `while' conditional requests. + This is the default if `gtroff' (_not_ `groff') is started with + the `-R' switch to avoid loading of the start-up files `troffrc' + and `troffrc-end'. Without `-R', `gtroff' stays in troff mode if + the output device is not a TTY (e.g. `ps'). + + - Request: .nroff + Make the `n' built-in condition true (and the `t' built-in + condition false) for `if', `ie', and `while' conditional requests. + This is the default if `gtroff' uses a TTY output device; the + code for switching to nroff mode is in the file `tty.tmac' which + is loaded by the start-up file `troffrc'. + + *Note Conditionals and Loops::, for more details on built-in +conditions. + + +File: groff, Node: Line Layout, Next: Line Control, Prev: Troff and Nroff Mode, Up: gtroff Reference + +Line Layout +=========== + +The following drawing shows the dimensions which `gtroff' uses for +placing a line of output onto the page. They are labeled with the +request which manipulates each dimension. + + + -->| in |<-- + |<-----------ll------------>| + +----+----+----------------------+----+ + | : : : | + +----+----+----------------------+----+ + -->| po |<-- + |<--------paper width---------------->| + +These dimensions are: + +`po' + "Page offset" - this is the leftmost position of text on the final + output, defining the "left margin". + +`in' + "Indentation" - this is the distance from the left margin where + text is printed. + +`ll' + "Line length" - this is the distance from the left margin to right + margin. + + A simple demonstration: + + + .ll 3i + This is text without indentation. + The line length has been set to 3\~inch. + .in +.5i + .ll -.5i + Now the left and right margins are both increased. + .in + .ll + Calling .in and .ll without parameters restore + the previous values. + + Result: + + + This is text without indenta- + tion. The line length has + been set to 3 inch. + Now the left and + right margins are + both increased. + Calling .in and .ll without + parameters restore the previ- + ous values. + + - Request: .po [offset] + - Request: .po +offset + - Request: .po -offset + - Register: \n[.o] + Set horizontal page offset to OFFSET (or increment or decrement + the current value by OFFSET). Note that this request does not + cause a break, so changing the page offset in the middle of text + being filled may not yield the expected result. The initial value + is 1i. For TTY output devices, it is set to 0 in the startup file + `troffrc'; the default scaling indicator is `m' (and not `v' as + incorrectly documented in the original UNIX troff manual). + + The current page offset can be found in the read-only number + register `.o'. + + If `po' is called without an argument, the page offset is reset to + the previous value before the last call to `po'. + + + .po 3i + \n[.o] + => 720 + .po -1i + \n[.o] + => 480 + .po + \n[.o] + => 720 + + + - Request: .in [indent] + - Request: .in +indent + - Request: .in -indent + - Register: \n[.i] + Set indentation to INDENT (or increment or decrement the current + value by INDENT). This request causes a break. Initially, there + is no indentation. + + If `in' is called without an argument, the indentation is reset to + the previous value before the last call to `in'. The default + scaling indicator is `m'. + + The indentation is associated with the current environment (*note + Environments::). + + If a negative indentation value is specified (which is not + allowed), `gtroff' emits a warning of type `range' and sets the + indentation to zero. + + The effect of `in' is delayed until a partially collected line (if + it exists) is output. A temporary indent value is reset to zero + also. + + The current indentation (as set by `in') can be found in the + read-only number register `.i'. + + - Request: .ti offset + - Request: .ti +offset + - Request: .ti -offset + - Register: \n[.in] + Temporarily indent the next output line by OFFSET. If an + increment or decrement value is specified, adjust the temporary + indentation relative to the value set by the `in' request. + + This request causes a break; its value is associated with the + current environment (*note Environments::). The default scaling + indicator is `m'. A call of `ti' without an argument is ignored. + + If the total indentation value is negative (which is not allowed), + `gtroff' emits a warning of type `range' and sets the temporary + indentation to zero. `Total indentation' is either OFFSET if + specified as an absolute value, or the temporary plus normal + indentation, if OFFSET is given as a relative value. + + The effect of `ti' is delayed until a partially collected line (if + it exists) is output. + + The read-only number register `.in' is the indentation that applies + to the current output line. + + The difference between `.i' and `.in' is that the latter takes + into account whether a partially collected line still uses the old + indentation value or a temporary indentation value is active. + + - Request: .ll [length] + - Request: .ll +length + - Request: .ll -length + - Register: \n[.l] + - Register: \n[.ll] + Set the line length to LENGTH (or increment or decrement the + current value by LENGTH). Initially, the line length is set to + 6.5i. The effect of `ll' is delayed until a partially collected + line (if it exists) is output. The default scaling indicator is + `m'. + + If `ll' is called without an argument, the line length is reset to + the previous value before the last call to `ll'. If a negative + line length is specified (which is not allowed), `gtroff' emits a + warning of type `range' and sets the line length to zero. + + The line length is associated with the current environment (*note + Environments::). + + The current line length (as set by `ll') can be found in the + read-only number register `.l'. The read-only number register + `.ll' is the line length that applies to the current output line. + + Similar to `.i' and `.in', the difference between `.l' and `.ll' + is that the latter takes into account whether a partially + collected line still uses the old line length value. + + +File: groff, Node: Line Control, Next: Page Layout, Prev: Line Layout, Up: gtroff Reference + +Line Control +============ + +It is important to understand how `gtroff' handles input and output +lines. + + Many escapes use positioning relative to the input line. For +example, this + + + This is a \h'|1.2i'test. + + This is a + \h'|1.2i'test. + +produces + + + This is a test. + + This is a test. + + The main usage of this feature is to define macros which act exactly +at the place where called. + + + .\" A simple macro to underline a word + .de underline + . nop \\$1\l'|0\[ul]' + .. + +In the above example, `|0' specifies a negative distance from the +current position (at the end of the just emitted argument `\$1') back +to the beginning of the input line. Thus, the `\l' escape draws a line +from right to left. + + `gtroff' makes a difference between input and output line +continuation; the latter is also called "interrupting" a line. + + - Escape: \ + - Escape: \c + - Register: \n[.int] + Continue a line. `\' (this is a backslash at the end of a + line immediately followed by a newline) works on the input level, + suppressing the effects of the following newline in the input. + + + This is a \ + .test + => This is a .test + + The `|' operator is also affected. + + `\c' works on the output level. Anything after this escape on the + same line is ignored, except `\R' which works as usual. Anything + before `\c' on the same line will be appended to the current + partial output line. The next non-command line after an + interrupted line counts as a new input line. + + The visual results depend on whether no-fill mode is active. + + * If no-fill mode is active (using the `nf' request), the next + input text line after `\c' will be handled as a continuation + of the same input text line. + + + .nf + This is a \c + test. + => This is a test. + + * If fill mode is active (using the `fi' request), a word + interrupted with `\c' will be continued with the text on the + next input text line, without an intervening space. + + + This is a te\c + st. + => This is a test. + + + Note that an intervening control line which causes a break is + stronger than `\c', flushing out the current partial line in the + usual way. + + The `.int' register contains a positive value if the last output + line was interrupted with `\c'; this is associated with the + current environment (*note Environments::). + + +File: groff, Node: Page Layout, Next: Page Control, Prev: Line Control, Up: gtroff Reference + +Page Layout +=========== + +`gtroff' provides some very primitive operations for controlling page +layout. + + - Request: .pl [length] + - Request: .pl +length + - Request: .pl -length + - Register: \n[.p] + Set the "page length" to LENGTH (or increment or decrement the + current value by LENGTH). This is the length of the physical + output page. The default scaling indicator is `v'. + + The current setting can be found in the read-only number register + `.p'. + + Note that this only specifies the size of the page, not the top and + bottom margins. Those are not set by `gtroff' directly. *Note + Traps::, for further information on how to do this. + + Negative `pl' values are possible also, but not very useful: No + trap is sprung, and each line is output on a single page (thus + suppressing all vertical spacing). + + If no argument or an invalid argument is given, `pl' sets the page + length to 11i. + + `gtroff' provides several operations which help in setting up top +and bottom titles (or headers and footers). + + - Request: .tl 'left'center'right' + Print a "title line". It consists of three parts: a left + justified portion, a centered portion, and a right justified + portion. The argument separator `'' can be replaced with any + character not occurring in the title line. The `%' character is + replaced with the current page number. This character can be + changed with the `pc' request (see below). + + Without argument, `tl' is ignored. + + Some notes: + + * A title line is not restricted to the top or bottom of a page. + + * `tl' prints the title line immediately, ignoring a partially + filled line (which stays untouched). + + * It is not an error to omit closing delimiters. For example, + `.tl /foo' is equivalent to `.tl /foo///': It prints a title + line with the left justified word `foo'; the centered and + right justfied parts are empty. + + * `tl' accepts the same parameter delimiting characters as the + `\A' escape; see *Note Escapes::. + + - Request: .lt [length] + - Request: .lt +length + - Request: .lt -length + - Register: \n[.lt] + The title line is printed using its own line length, which is + specified (or incremented or decremented) with the `lt' request. + Initially, the title line length is set to 6.5i. If a negative + line length is specified (which is not allowed), `gtroff' emits a + warning of type `range' and sets the title line length to zero. + The default scaling indicator is `m'. If `lt' is called without + an argument, the title length is reset to the previous value + before the last call to `lt'. + + The current setting of this is available in the `.lt' read-only + number register; it is associated with the current environment + (*note Environments::). + + - Request: .pn page + - Request: .pn +page + - Request: .pn -page + - Register: \n[.pn] + Change (increase or decrease) the page number of the _next_ page. + The only argument is the page number; the request is ignored + without a parameter. + + The read-only number register `.pn' contains the number of the next + page: either the value set by a `pn' request, or the number of the + current page plus 1. + + - Request: .pc [char] + Change the page number character (used by the `tl' request) to a + different character. With no argument, this mechanism is disabled. + Note that this doesn't affect the number register `%'. + + *Note Traps::. + + +File: groff, Node: Page Control, Next: Fonts and Symbols, Prev: Page Layout, Up: gtroff Reference + +Page Control +============ + + - Request: .bp [page] + - Request: .bp +page + - Request: .bp -page + - Register: \n[%] + Stop processing the current page and move to the next page. This + request causes a break. It can also take an argument to set + (increase, decrease) the page number of the next page (which + actually becomes the current page after `bp' has finished). The + difference between `bp' and `pn' is that `pn' does not cause a + break or actually eject a page. *Note Page Layout::. + + + .de newpage \" define macro + 'bp \" begin page + 'sp .5i \" vertical space + .tl 'left top'center top'right top' \" title + 'sp .3i \" vertical space + .. \" end macro + + `bp' has no effect if not called within the top-level diversion + (*note Diversions::). + + The read-write register `%' holds the current page number. + + The number register `.pe' is set to 1 while `bp' is active. *Note + Page Location Traps::. + + - Request: .ne [space] + It is often necessary to force a certain amount of space before a + new page occurs. This is most useful to make sure that there is + not a single "orphan" line left at the bottom of a page. The `ne' + request ensures that there is a certain distance, specified by the + first argument, before the next page is triggered (see *Note + Traps::, for further information). The default scaling indicator + for `ne' is `v'; the default value of SPACE is 1v if no argument + is given. + + For example, to make sure that no fewer than 2 lines get orphaned, + do the following before each paragraph: + + + .ne 2 + text text text + + `ne' will then automatically cause a page break if there is space + for one line only. + + - Request: .sv [space] + - Request: .os + `sv' is similar to the `ne' request; it reserves the specified + amount of vertical space. If the desired amount of space exists + before the next trap (or the bottom page boundary if no trap is + set), the space is output immediately (ignoring a partially filled + line which stays untouched). If there is not enough space, it is + stored for later output via the `os' request. The default value + is 1v if no argument is given; the default scaling indicator is + `v'. + + Both `sv' and `os' ignore no-space mode. While the `sv' request + allows negative values for SPACE, `os' will ignore them. + + - Register: \n[nl] + This register contains the current vertical position. If the + vertical position is zero and the top of page transition hasn't + happened yet, `nl' is set to negative value. `gtroff' itself does + this at the very beginning of a document before anything has been + printed, but the main usage is to plant a header trap on a page if + this page has already started. + + Consider the following: + + + .de xxx + . sp + . tl ''Header'' + . sp + .. + . + First page. + .bp + .wh 0 xxx + .nr nl (-1) + Second page. + + Result: + + + First page. + + ... + + Header + + Second page. + + ... + + Without resetting `nl' to a negative value, the just planted trap + would be active beginning with the _next_ page, not the current + one. + + *Note Diversions::, for a comparison with the `.h' and `.d' + registers. + + +File: groff, Node: Fonts and Symbols, Next: Sizes, Prev: Page Control, Up: gtroff Reference + +Fonts and Symbols +================= + +`gtroff' can switch fonts at any point in the text. + + The basic set of fonts is `R', `I', `B', and `BI'. These are Times +Roman, Italic, Bold, and Bold Italic. For non-TTY devices, there is +also at least one symbol font which contains various special symbols +(Greek, mathematics). + +* Menu: + +* Changing Fonts:: +* Font Families:: +* Font Positions:: +* Using Symbols:: +* Special Fonts:: +* Artificial Fonts:: +* Ligatures and Kerning:: + + +File: groff, Node: Changing Fonts, Next: Font Families, Prev: Fonts and Symbols, Up: Fonts and Symbols + +Changing Fonts +-------------- + + - Request: .ft [font] + - Escape: \ff + - Escape: \f(fn + - Escape: \f[font] + The `ft' request and the `\f' escape change the current font to + FONT (one-character name F, two-character name FN). + + If FONT is a style name (as set with the `sty' request or with the + `styles' command in the `DESC' file), use it within the current + font family (as set with the `fam' request, `\F' escape, or with + the `family' command in the `DESC' file). + + With no argument or using `P' as an argument, `.ft' switches to + the previous font. Use `\f[]' to do this with the escape. The + old syntax forms `\fP' or `\f[P]' are also supported. + + Fonts are generally specified as upper-case strings, which are + usually 1 to 4 characters representing an abbreviation or acronym + of the font name. This is no limitation, just a convention. + + The example below produces two identical lines. + + + eggs, bacon, + .ft B + spam + .ft + and sausage. + + eggs, bacon, \fBspam\fP and sausage. + + Note that `\f' doesn't produce an input token in `gtroff'. As a + consequence, it can be used in requests like `mc' (which expects a + single character as an argument) to change the font on the fly: + + + .mc \f[I]x\f[] + + *Note Font Positions::, for an alternative syntax. + + - Request: .ftr f [g] + Translate font F to font G. Whenever a font named F is referred + to in a `\f' escape sequence, or in the `ft', `ul', `bd', `cs', + `tkf', `special', `fspecial', `fp', or `sty' requests, font G is + used. If G is missing or equal to F the translation is undone. + + +File: groff, Node: Font Families, Next: Font Positions, Prev: Changing Fonts, Up: Fonts and Symbols + +Font Families +------------- + +Due to the variety of fonts available, `gtroff' has added the concept +of "font families" and "font styles". The fonts are specified as the +concatenation of the font family and style. Specifying a font without +the family part causes `gtroff' to use that style of the current family. + + Currently, fonts for the devices `-Tps', `-Tdvi', and `-Tlbp' are +set up to this mechanism. By default, `gtroff' uses the Times family +with the four styles `R', `I', `B', and `BI'. + + This way, it is possible to use the basic four fonts and to select a +different font family on the command line (*note Groff Options::). + + - Request: .fam [family] + - Register: \n[.fam] + - Escape: \Ff + - Escape: \F(fm + - Escape: \F[family] + - Register: \n[.fn] + Switch font family to FAMILY (one-character name F, two-character + name FM). If no argument is given, switch back to the previous + font family. Use `\F[]' to do this with the escape. Note that + `\FP' doesn't work; it selects font family `P' instead. + + The value at start-up is `T'. The current font family is + available in the read-only number register `.fam' (this is a + string-valued register); it is associated with the current + environment. + + + spam, + .fam H \" helvetica family + spam, \" used font is family H + style R = HR + .ft B \" family H + style B = font HB + spam, + .fam T \" times family + spam, \" used font is family T + style B = TB + .ft AR \" font AR (not a style) + baked beans, + .ft R \" family T + style R = font TR + and spam. + + Note that `\F' doesn't produce an input token in `gtroff'. As a + consequence, it can be used in requests like `mc' (which expects a + single character as an argument) to change the font family on the + fly: + + + .mc \F[P]x\F[] + + The `.fn' register contains the current "real font name" of the + current font. This is a string-valued register. If the current + font is a style, the value of `\n[.fn]' is the proper + concatenation of family and style name. + + - Request: .sty n style + Associate STYLE with font position N. A font position can be + associated either with a font or with a style. The current font + is the index of a font position and so is also either a font or a + style. If it is a style, the font that is actually used is the + font which name is the concatenation of the name of the current + family and the name of the current style. For example, if the + current font is 1 and font position 1 is associated with style `R' + and the current font family is `T', then font `TR' will be used. + If the current font is not a style, then the current family is + ignored. If the requests `cs', `bd', `tkf', `uf', or `fspecial' + are applied to a style, they will instead be applied to the member + of the current family corresponding to that style. + + N must be a non-negative integer value. + + The default family can be set with the `-f' option (*note Groff + Options::). The `styles' command in the `DESC' file controls + which font positions (if any) are initially associated with styles + rather than fonts. For example, the default setting for + POSTSCRIPT fonts + + + styles R I B BI + + is equivalent to + + + .sty 1 R + .sty 2 I + .sty 3 B + .sty 4 BI + + `fam' and `\F' always check whether the current font position is + valid; this can give surprising results if the current font + position is associated with a style. + + In the following example, we want to access the POSTSCRIPT font + `FooBar' from the font family `Foo': + + + .sty \n[.fp] Bar + .fam Foo + => warning: can't find font `FooR' + + The default font position at start-up is 1; for the POSTSCRIPT + device, this is associated with style `R', so `gtroff' tries to + open `FooR'. + + A solution to this problem is to use a dummy font like the + following: + + + .fp 0 dummy TR \" set up dummy font at position 0 + .sty \n[.fp] Bar \" register style `Bar' + .ft 0 \" switch to font at position 0 + .fam Foo \" activate family `Foo' + .ft Bar \" switch to font `FooBar' + + *Note Font Positions::. + + +File: groff, Node: Font Positions, Next: Using Symbols, Prev: Font Families, Up: Fonts and Symbols + +Font Positions +-------------- + +For the sake of old phototypesetters and compatibility with old versions +of `troff', `gtroff' has the concept of font "positions", on which +various fonts are mounted. + + - Request: .fp pos font [external-name] + - Register: \n[.f] + - Register: \n[.fp] + Mount font FONT at position POS (which must be a non-negative + integer). This numeric position can then be referred to with font + changing commands. When `gtroff' starts it is using font + position 1 (which must exist; position 0 is unused usually at + start-up). + + The current font in use, as a font position, is available in the + read-only number register `.f'. This can be useful to remember the + current font for later recall. It is associated with the current + environment (*note Environments::). + + + .nr save-font \n[.f] + .ft B + ... text text text ... + .ft \n[save-font] + + The number of the next free font position is available in the + read-only number register `.fp'. This is useful when mounting a + new font, like so: + + + .fp \n[.fp] NEATOFONT + + Fonts not listed in the `DESC' file are automatically mounted on + the next available font position when they are referenced. If a + font is to be mounted explicitly with the `fp' request on an unused + font position, it should be mounted on the first unused font + position, which can be found in the `.fp' register. Although + `gtroff' does not enforce this strictly, it is not allowed to + mount a font at a position whose number is much greater (approx. + 1000 positions) than that of any currently used position. + + The `fp' request has an optional third argument. This argument + gives the external name of the font, which is used for finding the + font description file. The second argument gives the internal + name of the font which is used to refer to the font in `gtroff' + after it has been mounted. If there is no third argument then the + internal name is used as the external name. This feature makes it + possible to use fonts with long names in compatibility mode. + + Both the `ft' request and the `\f' escape have alternative syntax +forms to access font positions. + + - Request: .ft nnn + - Escape: \fn + - Escape: \f(nn + - Escape: \f[nnn] + Change the current font position to NNN (one-digit position N, + two-digit position NN), which must be a non-negative integer. + + If NNN is associated with a style (as set with the `sty' request + or with the `styles' command in the `DESC' file), use it within + the current font family (as set with the `fam' request, the `\F' + escape, or with the `family' command in the `DESC' file). + + + this is font 1 + .ft 2 + this is font 2 + .ft \" switch back to font 1 + .ft 3 + this is font 3 + .ft + this is font 1 again + + *Note Changing Fonts::, for the standard syntax form. + + +File: groff, Node: Using Symbols, Next: Special Fonts, Prev: Font Positions, Up: Fonts and Symbols + +Using Symbols +------------- + +A "glyph" is a graphical representation of a "character". While a +character is an abstract entity containing semantic information, a +glyph is something which can be actually seen on screen or paper. It +is possible that a character has multiple glyph representation forms +(for example, the character `A' can be either written in a roman or an +italic font, yielding two different glyphs); sometimes more than one +character maps to a single glyph (this is a "ligature" - the most +common is `fi'). + + A "symbol" is simply a named glyph. Within `gtroff', all glyph +names of a particular font are defined in its font file. If the user +requests a glyph not available in this font, `gtroff' looks up an +ordered list of "special fonts". By default, the POSTSCRIPT output +device supports the two special fonts `SS' (slanted symbols) and `S' +(symbols) (the former is looked up before the latter). Other output +devices use different names for special fonts. Fonts mounted with the +`fonts' keyword in the `DESC' file are globally available. To install +additional special fonts locally (i.e. for a particular font), use the +`fspecial' request. + + Here the exact rules how `gtroff' searches a given symbol: + + * If the symbol has been defined with the `char' request, use it. + This hides a symbol with the same name in the current font. + + * Check the current font. + + * If the symbol has been defined with the `fchar' request, use it. + + * Check whether the current font has a font-specific list of special + fonts; test all fonts in the order of appearance in the last + `fspecial' call if appropriate. + + * If the symbol has been defined with the `fschar' request for the + current font, use it. + + * Check all fonts in the order of appearance in the last `special' + call. + + * If the symbol has been defined with the `schar' request, use it. + + * As a last resort, consult all fonts loaded up to now for special + fonts and check them, starting with the lowest font number. Note + that this can sometimes lead to surprising results since the + `fonts' line in the `DESC' file often contains empty positions + which are filled later on. For example, consider the following: + + + fonts 3 0 0 FOO + + This mounts font `foo' at font position 3. We assume that `FOO' + is a special font, containing glyph `foo', and that no font has + been loaded yet. The line + + + .fspecial BAR BAZ + + makes font `BAZ' special only if font `BAR' is active. We further + assume that `BAZ' is really a special font, i.e., the font + description file contains the `special' keyword, and that it also + contains glyph `foo' with a special shape fitting to font `BAR'. + After executing `fspecial', font `BAR' is loaded at font + position 1, and `BAZ' at position 2. + + We now switch to a new font `XXX', trying to access glyph `foo' + which is assumed to be missing. There are neither font-specific + special fonts for `XXX' nor any other fonts made special with the + `special' request, so `gtroff' starts the search for special fonts + in the list of already mounted fonts, with increasing font + positions. Consequently, it finds `BAZ' before `FOO' even for + `XXX' which is not the intended behaviour. + + *Note Font Files::, and *Note Special Fonts::, for more details. + + The list of available symbols is device dependent; see the +`groff_char(7)' man page for a complete list of all glyphs. For +example, say + + + man -Tdvi groff_char > groff_char.dvi + +for a list using the default DVI fonts (not all versions of the `man' +program support the `-T' option). If you want to use an additional +macro package to change the used fonts, `groff' must be called directly: + + + groff -Tdvi -mec -man groff_char.7 > groff_char.dvi + + Glyph names not listed in groff_char(7) are derived algorithmically, +using a simplified version of the Adobe Glyph List (AGL) algorithm +which is described in +`http://partners.adobe.com/asn/tech/type/unicodegn.jsp'. The (frozen) +set of glyph names which can't be derived algorithmically is called +"groff glyph list (GGL)". + + * A glyph for Unicode character U+XXXX[X[X]] which is not a + composite character will be named `uXXXX[X[X]]'. X must be an + uppercase hexadecimal digit. Examples: `u1234', `u008E', + `u12DB8'. The largest Unicode value is 0x10FFFF. There must be at + least four `X' digits; if necessary, add leading zeroes (after the + `u'). No zero padding is allowed for character codes greater than + 0xFFFF. Surrogates (i.e., Unicode values greater than 0xFFFF + represented with character codes from the surrogate area + U+D800-U+DFFF) are not allowed too. + + * A glyph representing more than a single input character will be + named + + `u' COMPONENT1 `_' COMPONENT2 `_' COMPONENT3 ... + + Example: `u0045_0302_0301'. + + For simplicity, all Unicode characters which are composites must be + decomposed maximally (this is normalization form D in the Unicode + standard); for example, `u00CA_0301' is not a valid glyph name + since U+00CA (LATIN CAPITAL LETTER E WITH CIRCUMFLEX) can be + further decomposed into U+0045 (LATIN CAPITAL LETTER E) and U+0302 + (COMBINING CIRCUMFLEX ACCENT). `u0045_0302_0301' is thus the + glyph name for U+1EBE, LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND + ACUTE. + + * groff maintains a table to decompose all algorithmically derived + glyph names which are composites itself. For example, `u0100' + (LATIN LETTER A WITH MACRON) will be automatically decomposed into + `u0041_0304'. Additionally, a glyph name of the GGL is preferred + to an algorithmically derived glyph name; groff also automatically + does the mapping. Example: The glyph `u0045_0302' will be mapped + to `^E'. + + * glyph names of the GGL can't be used in composite glyph names; for + example, `^E_u0301' is invalid. + + - Escape: \(nm + - Escape: \[name] + - Escape: \[component1 component2 ...] + Insert a symbol NAME (two-character name NM) or a composite glyph + with component glyphs COMPONENT1, COMPONENT2, .... There is no + special syntax for one-character names - the natural form `\N' + would collide with escapes.(1) (*note Using Symbols-Footnote-1::) + + If NAME is undefined, a warning of type `char' is generated, and + the escape is ignored. *Note Debugging::, for information about + warnings. + + groff resolves `\[...]' with more than a single component as + follows: + + * Any component which is found in the GGL will be converted to + the `uXXXX' form. + + * Any component `uXXXX' which is found in the list of + decomposable glyphs will be decomposed. + + * The resulting elements are then concatenated with `_' + inbetween, dropping the leading `u' in all elements but the + first. + + No check for the existence of any component (similar to `tr' + request) will be done. + + Examples: + + `\[A ho]' + `A' maps to `u0041', `ho' maps to `u02DB', thus the final + glyph name would be `u0041_02DB'. Note this is not the + expected result: The ogonek glyph `ho' is a spacing ogonek, + but for a proper composite a non-spacing ogonek (U+0328) is + necessary. Looking into the file `composite.tmac' one can + find `.composite ho u0328' which changes the mapping of `ho' + while a composite glyph name is constructed, causing the + final glyph name to be `u0041_0328'. + + `\[^E u0301]' + `\[^E aa]' + `\[E a^ aa]' + `\[E ^ ']' + `^E' maps to `u0045_0302', thus the final glyph name is + `u0045_0302_0301' in all forms (assuming proper calls of the + `composite' request). + + It is not possible to define glyphs with names like `A ho' within + a groff font file. This is not really a limitation; instead, you + have to define `u0041_0328'. + + - Escape: \C'xxx' + Typeset the glyph named XXX.(2) (*note Using Symbols-Footnote-2::) + Normally it is more convenient to use `\[XXX]', but `\C' has the + advantage that it is compatible with newer versions of AT&T + `troff' and is available in compatibility mode. + + - Request: .composite from to + Map glyph name FROM to glyph name TO if it is used in `\[...]' + with more than one component. See above for examples. + + This mapping is based on glyph names only; no check for the + existence of either glyph is done. + + A set of default mappings for many accents can be found in the file + `composite.tmac' which is loaded at start-up. + + - Escape: \N'n' + Typeset the glyph with code N in the current font (`n' is *not* + the input character code). The number N can be any non-negative + decimal integer. Most devices only have glyphs with codes between + 0 and 255; the Unicode output device uses codes in the range + 0-65535. If the current font does not contain a glyph with that + code, special fonts are _not_ searched. The `\N' escape sequence + can be conveniently used in conjunction with the `char' request: + + + .char \[phone] \f[ZD]\N'37' + + The code of each glyph is given in the fourth column in the font + description file after the `charset' command. It is possible to + include unnamed glyphs in the font description file by using a + name of `---'; the `\N' escape sequence is the only way to use + these. + + No kerning is applied to glyphs accessed with `\N'. + + Some escape sequences directly map onto special glyphs. + + - Escape: \' + This is a backslash followed by the apostrophe character, ASCII + character `0x27' (EBCDIC character `0x7D'). The same as `\[aa]', + the acute accent. + + - Escape: \` + This is a backslash followed by ASCII character `0x60' (EBCDIC + character `0x79' usually). The same as `\[ga]', the grave accent. + + - Escape: \- + This is the same as `\[-]', the minus sign in the current font. + + - Request: .cflags n c1 c2 ... + Input characters and symbols have certain properties associated + with it.(3) (*note Using Symbols-Footnote-3::) These properties + can be modified with the `cflags' request. The first argument is + the sum of the desired flags and the remaining arguments are the + characters or symbols to have those properties. It is possible to + omit the spaces between the characters or symbols. + + `1' + The character ends sentences (initially characters `.?!' have + this property). + + `2' + Lines can be broken before the character (initially no + characters have this property). + + `4' + Lines can be broken after the character (initially the + character `-' and the symbols `\[hy]' and `\[em]' have this + property). + + `8' + The character overlaps horizontally if used as a horizontal + line building element. Initially the symbols `\[ul]', + `\[rn]', `\[ru]', `\[radicalex]', and `\[sqrtex]' have this + property. + + `16' + The character overlaps vertically if used as vertical line + building element. Initially symbol `\[br]' has this property. + + `32' + An end-of-sentence character followed by any number of + characters with this property is treated as the end of a + sentence if followed by a newline or two spaces; in other + words the character is "transparent" for the purposes of + end-of-sentence recognition - this is the same as having a + zero space factor in TeX (initially characters `"')]*' and + the symbols `\[dg]' and `\[rq]' have this property). + + - Request: .char g [string] + - Request: .fchar g [string] + - Request: .fschar f g [string] + - Request: .schar g [string] + Define a new glyph G to be STRING (which can be empty).(4) (*note + Using Symbols-Footnote-4::) Every time glyph G needs to be + printed, STRING is processed in a temporary environment and the + result is wrapped up into a single object. Compatibility mode is + turned off and the escape character is set to `\' while STRING is + being processed. Any emboldening, constant spacing or track + kerning is applied to this object rather than to individual + characters in STRING. + + A glyph defined by these requests can be used just like a normal + glyph provided by the output device. In particular, other + characters can be translated to it with the `tr' or `trin' + requests; it can be made the leader character by the `lc' request; + repeated patterns can be drawn with the glyph using the `\l' and + `\L' escape sequences; words containing the glyph can be + hyphenated correctly if the `hcode' request is used to give the + glyph's symbol a hyphenation code. + + There is a special anti-recursion feature: Use of `g' within the + glyph's definition is handled like normal characters and symbols + not defined with `char'. + + Note that the `tr' and `trin' requests take precedence if `char' + accesses the same symbol. + + + .tr XY + X + => Y + .char X Z + X + => Y + .tr XX + X + => Z + + The `fchar' request defines a fallback glyph: `gtroff' only checks + for glyphs defined with `fchar' if it cannot find the glyph in the + current font. `gtroff' carries out this test before checking + special fonts. + + `fschar' defines a fallback glyph for font F: `gtroff' checks for + glyphs defined with `fschar' after the list of fonts declared as + font-specific special fonts with the `fspecial' request, but + before the list of fonts declared as global special fonts with the + `special' request. + + Finally, the `schar' request defines a global fallback glyph: + `gtroff' checks for glyphs defined with `schar' after the list of + fonts declared as global special fonts with the `special' request, + but before the already mounted special fonts. + + *Note Using Symbols::, for a detailed description of the glyph + searching mechanism in `gtroff'. + + - Request: .rchar c1 c2 ... + - Request: .rfschar f c1 c2 ... + Remove the definitions of glyphs C1, C2, .... This undoes the + effect of a `char', `fchar', or `schar' request. + + It is possible to omit the whitespace between arguments. + + The request `rfschar' removes glyph definitions defined with + `fschar' for glyph f. + + *Note Special Characters::. + + +File: groff, Node: Using Symbols-Footnotes, Up: Using Symbols + + (1) Note that a one-character symbol is not the same as an input +character, i.e., the character `a' is not the same as `\[a]'. By +default, `groff' defines only a single one-character symbol, `\[-]'; it +is usually accessed as `\-'. On the other hand, `gtroff' has the +special feature that `\[charXXX]' is the same as the input character +with character code XXX. For example, `\[char97]' is identical to the +letter `a' if ASCII encoding is active. + + (2) `\C' is actually a misnomer since it accesses an output glyph. + + (3) Note that the output glyphs themselves don't have such +properties. For `gtroff', a glyph is a numbered box with a given +width, depth, and height, nothing else. All manipulations with the +`cflags' request work on the input level. + + (4) `char' is a misnomer since an output glyph is defined. + + +File: groff, Node: Special Fonts, Next: Artificial Fonts, Prev: Using Symbols, Up: Fonts and Symbols + +Special Fonts +------------- + +Special fonts are those that `gtroff' searches when it cannot find the +requested glyph in the current font. The Symbol font is usually a +special font. + + `gtroff' provides the following two requests to add more special +fonts. *Note Using Symbols::, for a detailed description of the glyph +searching mechanism in `gtroff'. + + Usually, only non-TTY devices have special fonts. + + - Request: .special [s1 s2 ...] + - Request: .fspecial f [s1 s2 ...] + Use the `special' request to define special fonts. Initially, this + list is empty. + + Use the `fspecial' request to designate special fonts only when + font F is active. Initially, this list is empty. + + Previous calls to `special' or `fspecial' are overwritten; without + arguments, the particular list of special fonts is set to empty. + Special fonts are searched in the order they appear as arguments. + + All fonts which appear in a call to `special' or `fspecial' are + loaded. + + *Note Using Symbols::, for the exact search order of glyphs. + + +File: groff, Node: Artificial Fonts, Next: Ligatures and Kerning, Prev: Special Fonts, Up: Fonts and Symbols + +Artificial Fonts +---------------- + +There are a number of requests and escapes for artificially creating +fonts. These are largely vestiges of the days when output devices did +not have a wide variety of fonts, and when `nroff' and `troff' were +separate programs. Most of them are no longer necessary in GNU +`troff'. Nevertheless, they are supported. + + - Escape: \H'height' + - Escape: \H'+height' + - Escape: \H'-height' + - Register: \n[.height] + Change (increment, decrement) the height of the current font, but + not the width. If HEIGHT is zero, restore the original height. + Default scaling indicator is `z'. + + The read-only number register `.height' contains the font height as + set by `\H'. + + Currently, only the `-Tps' device supports this feature. + + Note that `\H' doesn't produce an input token in `gtroff'. As a + consequence, it can be used in requests like `mc' (which expects a + single character as an argument) to change the font on the fly: + + + .mc \H'+5z'x\H'0' + + In compatibility mode, `gtroff' behaves differently: If an + increment or decrement is used, it is always taken relative to the + current point size and not relative to the previously selected font + height. Thus, + + + .cp 1 + \H'+5'test \H'+5'test + + prints the word `test' twice with the same font height (five + points larger than the current font size). + + - Escape: \S'slant' + - Register: \n[.slant] + Slant the current font by SLANT degrees. Positive values slant to + the right. Only integer values are possible. + + The read-only number register `.slant' contains the font slant as + set by `\S'. + + Currently, only the `-Tps' device supports this feature. + + Note that `\S' doesn't produce an input token in `gtroff'. As a + consequence, it can be used in requests like `mc' (which expects a + single character as an argument) to change the font on the fly: + + + .mc \S'20'x\S'0' + + This request is incorrectly documented in the original UNIX troff + manual; the slant is always set to an absolute value. + + - Request: .ul [lines] + The `ul' request normally underlines subsequent lines if a TTY + output device is used. Otherwise, the lines are printed in italics + (only the term `underlined' is used in the following). The single + argument is the number of input lines to be underlined; with no + argument, the next line is underlined. If LINES is zero or + negative, stop the effects of `ul' (if it was active). Requests + and empty lines do not count for computing the number of underlined + input lines, even if they produce some output like `tl'. Lines + inserted by macros (e.g. invoked by a trap) do count. + + At the beginning of `ul', the current font is stored and the + underline font is activated. Within the span of a `ul' request, + it is possible to change fonts, but after the last line affected by + `ul' the saved font is restored. + + This number of lines still to be underlined is associated with the + current environment (*note Environments::). The underline font + can be changed with the `uf' request. + + The `ul' request does not underline spaces. + + - Request: .cu [lines] + The `cu' request is similar to `ul' but underlines spaces as well + (if a TTY output device is used). + + - Request: .uf font + Set the underline font (globally) used by `ul' and `cu'. By + default, this is the font at position 2. FONT can be either a + non-negative font position or the name of a font. + + - Request: .bd font [offset] + - Request: .bd font1 font2 [offset] + - Register: \n[.b] + Artificially create a bold font by printing each glyph twice, + slightly offset. + + Two syntax forms are available. + + * Imitate a bold font unconditionally. The first argument + specifies the font to embolden, and the second is the number + of basic units, minus one, by which the two glyphs are + offset. If the second argument is missing, emboldening is + turned off. + + FONT can be either a non-negative font position or the name + of a font. + + OFFSET is available in the `.b' read-only register if a + special font is active; in the `bd' request, its default unit + is `u'. + + * Imitate a bold form conditionally. Embolden FONT1 by OFFSET + only if font FONT2 is the current font. This command can be + issued repeatedly to set up different emboldening values for + different current fonts. If the second argument is missing, + emboldening is turned off for this particular current font. + + This affects special fonts only (either set up with the + `special' command in font files or with the `fspecial' + request). + + - Request: .cs font [width [em-size]] + Switch to and from "constant glyph space mode". If activated, the + width of every glyph is WIDTH/36 ems. The em size is given + absolutely by EM-SIZE; if this argument is missing, the em value + is taken from the current font size (as set with the `ps' request) + when the font is effectively in use. Without second and third + argument, constant glyph space mode is deactivated. + + Default scaling indicator for EM-SIZE is `z'; WIDTH is an integer. + + +File: groff, Node: Ligatures and Kerning, Prev: Artificial Fonts, Up: Fonts and Symbols + +Ligatures and Kerning +--------------------- + +Ligatures are groups of characters that are run together, i.e, producing +a single glyph. For example, the letters `f' and `i' can form a +ligature `fi' as in the word `file'. This produces a cleaner look +(albeit subtle) to the printed output. Usually, ligatures are not +available in fonts for TTY output devices. + + Most POSTSCRIPT fonts support the fi and fl ligatures. The C/A/T +typesetter that was the target of AT&T `troff' also supported `ff', +`ffi', and `ffl' ligatures. Advanced typesetters or `expert' fonts may +include ligatures for `ft' and `ct', although GNU `troff' does not +support these (yet). + + Only the current font is checked for ligatures and kerns; neither +special fonts nor entities defined with the `char' request (and its +siblings) are taken into account. + + - Request: .lg [flag] + - Register: \n[.lg] + Switch the ligature mechanism on or off; if the parameter is + non-zero or missing, ligatures are enabled, otherwise disabled. + Default is on. The current ligature mode can be found in the + read-only number register `.lg' (set to 1 or 2 if ligatures are + enabled, 0 otherwise). + + Setting the ligature mode to 2 enables the two-character ligatures + (fi, fl, and ff) and disables the three-character ligatures (ffi + and ffl). + + "Pairwise kerning" is another subtle typesetting mechanism that +modifies the distance between a glyph pair to improve readability. In +most cases (but not always) the distance is decreased. Typewriter-like +fonts and fonts for terminals where all glyphs have the same width +don't use kerning. + + - Request: .kern [flag] + - Register: \n[.kern] + Switch kerning on or off. If the parameter is non-zero or missing, + enable pairwise kerning, otherwise disable it. The read-only + number register `.kern' is set to 1 if pairwise kerning is enabled, + 0 otherwise. + + If the font description file contains pairwise kerning information, + glyphs from that font are kerned. Kerning between two glyphs can + be inhibited by placing `\&' between them: `V\&A'. + + *Note Font File Format::. + + "Track kerning" expands or reduces the space between glyphs. This +can be handy, for example, if you need to squeeze a long word onto a +single line or spread some text to fill a narrow column. It must be +used with great care since it is usually considered bad typography if +the reader notices the effect. + + - Request: .tkf f s1 n1 s2 n2 + Enable track kerning for font F. If the current font is F the + width of every glyph is increased by an amount between N1 and N2 + (N1, N2 can be negative); if the current point size is less than + or equal to S1 the width is increased by N1; if it is greater than + or equal to S2 the width is increased by N2; if the point size is + greater than or equal to S1 and less than or equal to S2 the + increase in width is a linear function of the point size. + + The default scaling indicator is `z' for S1 and S2, `p' for N1 and + N2. + + Note that the track kerning amount is added even to the rightmost + glyph in a line; for large values it is thus recommended to + increase the line length by the same amount to compensate it. + + Sometimes, when typesetting letters of different fonts, more or less +space at such boundaries are needed. There are two escapes to help +with this. + + - Escape: \/ + Increase the width of the preceding glyph so that the spacing + between that glyph and the following glyph is correct if the + following glyph is a roman glyph. For example, if an italic `f' + is immediately followed by a roman right parenthesis, then in many + fonts the top right portion of the `f' overlaps the top left of + the right parenthesis. Use this escape sequence whenever an + italic glyph is immediately followed by a roman glyph without any + intervening space. This small amount of space is also called + "italic correction". + + + - Escape: \, + Modify the spacing of the following glyph so that the spacing + between that glyph and the preceding glyph is correct if the + preceding glyph is a roman glyph. Use this escape sequence + whenever a roman glyph is immediately followed by an italic glyph + without any intervening space. In analogy to above, this space + could be called "left italic correction", but this term isn't used + widely. + + + - Escape: \& + Insert a zero-width character, which is invisible. Its intended + use is to stop interaction of a character with its surrounding. + + * It prevents the insertion of extra space after an + end-of-sentence character. + + + Test. + Test. + => Test. Test. + Test.\& + Test. + => Test. Test. + + * It prevents interpretation of a control character at the + beginning of an input line. + + + .Test + => warning: `Test' not defined + \&.Test + => .Test + + * It prevents kerning between two glyphs. + + * It is needed to map an arbitrary character to nothing in the + `tr' request (*note Character Translations::). + + - Escape: \) + This escape is similar to `\&' except that it behaves like a + character declared with the `cflags' request to be transparent for + the purposes of an end-of-sentence character. + + Its main usage is in macro definitions to protect against arguments + starting with a control character. + + + .de xxx + \)\\$1 + .. + .de yyy + \&\\$1 + .. + This is a test.\c + .xxx ' + This is a test. + =>This is a test.' This is a test. + This is a test.\c + .yyy ' + This is a test. + =>This is a test.' This is a test. + + + +File: groff, Node: Sizes, Next: Strings, Prev: Fonts and Symbols, Up: gtroff Reference + +Sizes +===== + +`gtroff' uses two dimensions with each line of text, type size and +vertical spacing. The "type size" is approximately the height of the +tallest glyph.(1) (*note Sizes-Footnote-1::) "Vertical spacing" is the +amount of space `gtroff' allows for a line of text; normally, this is +about 20% larger than the current type size. Ratios smaller than this +can result in hard-to-read text; larger than this, it spreads the text +out more vertically (useful for term papers). By default, `gtroff' +uses 10 point type on 12 point spacing. + + The difference between type size and vertical spacing is known, by +typesetters, as "leading" (this is pronounced `ledding'). + +* Menu: + +* Changing Type Sizes:: +* Fractional Type Sizes:: + + +File: groff, Node: Sizes-Footnotes, Up: Sizes + + (1) This is usually the parenthesis. Note that in most cases the +real dimensions of the glyphs in a font are _not_ related to its type +size! For example, the standard POSTSCRIPT font families `Times +Roman', `Helvetica', and `Courier' can't be used together at 10pt; to +get acceptable output, the size of `Helvetica' has to be reduced by one +point, and the size of `Courier' must be increased by one point. + + +File: groff, Node: Changing Type Sizes, Next: Fractional Type Sizes, Prev: Sizes, Up: Sizes + +Changing Type Sizes +------------------- + + - Request: .ps [size] + - Request: .ps +size + - Request: .ps -size + - Escape: \ssize + - Register: \n[.s] + Use the `ps' request or the `\s' escape to change (increase, + decrease) the type size (in points). Specify SIZE as either an + absolute point size, or as a relative change from the current size. + The size 0, or no argument, goes back to the previous size. + + Default scaling indicator of `size' is `z'. If `size' is zero or + negative, it is set to 1u. + + The read-only number register `.s' returns the point size in + points as a decimal fraction. This is a string. To get the point + size in scaled points, use the `.ps' register instead. + + `.s' is associated with the current environment (*note + Environments::). + + + snap, snap, + .ps +2 + grin, grin, + .ps +2 + wink, wink, \s+2nudge, nudge,\s+8 say no more! + .ps 10 + + The `\s' escape may be called in a variety of ways. Much like + other escapes there must be a way to determine where the argument + ends and the text begins. Any of the following forms are valid: + + `\sN' + Set the point size to N points. N must be either 0 or in the + range 4 to 39. + + `\s+N' + `\s-N' + Increase or decrease the point size by N points. N must be + exactly one digit. + + `\s(NN' + Set the point size to NN points. NN must be exactly two + digits. + + `\s+(NN' + `\s-(NN' + `\s(+NN' + `\s(-NN' + Increase or decrease the point size by NN points. NN must be + exactly two digits. + + Note that `\s' doesn't produce an input token in `gtroff'. As a + consequence, it can be used in requests like `mc' (which expects a + single character as an argument) to change the font on the fly: + + + .mc \s[20]x\s[0] + + *Note Fractional Type Sizes::, for yet another syntactical form of + using the `\s' escape. + + - Request: .sizes s1 s2 ... sn [0] + Some devices may only have certain permissible sizes, in which case + `gtroff' rounds to the nearest permissible size. The `DESC' file + specifies which sizes are permissible for the device. + + Use the `sizes' request to change the permissible sizes for the + current output device. Arguments are in scaled points; the + `sizescale' line in the `DESC' file for the output device provides + the scaling factor. For example, if the scaling factor is 1000, + then the value 12000 is 12 points. + + Each argument can be a single point size (such as `12000'), or a + range of sizes (such as `4000-72000'). You can optionally end the + list with a zero. + + - Request: .vs [space] + - Request: .vs +space + - Request: .vs -space + - Register: \n[.v] + Change (increase, decrease) the vertical spacing by SPACE. The + default scaling indicator is `p'. + + If `vs' is called without an argument, the vertical spacing is + reset to the previous value before the last call to `vs'. + + `gtroff' creates a warning of type `range' if SPACE is negative; + the vertical spacing is then set to smallest positive value, the + vertical resolution (as given in the `.V' register). + + Note that `.vs 0' isn't saved in a diversion since it doesn't + result in a vertical motion. You explicitly have to repeat this + command before inserting the diversion. + + The read-only number register `.v' contains the current vertical + spacing; it is associated with the current environment (*note + Environments::). + + The effective vertical line spacing consists of four components. +Breaking a line causes the following actions (in the given order). + + * Move the current point vertically by the "extra pre-vertical line + space". This is the minimum value of all `\x' escapes with a + negative argument in the current output line. + + * Move the current point vertically by the vertical line spacing as + set with the `vs' request. + + * Output the current line. + + * Move the current point vertically by the "extra post-vertical line + space". This is the maximum value of all `\x' escapes with a + positive argument in the line which has just been output. + + * Move the current point vertically by the "post-vertical line + spacing" as set with the `pvs' request. + + It is usually better to use `vs' or `pvs' instead of `ls' to produce +double-spaced documents: `vs' and `pvs' have a finer granularity for +the inserted vertical space compared to `ls'; furthermore, certain +preprocessors assume single-spacing. + + *Note Manipulating Spacing::, for more details on the `\x' escape +and the `ls' request. + + - Request: .pvs [space] + - Request: .pvs +space + - Request: .pvs -space + - Register: \n[.pvs] + Change (increase, decrease) the post-vertical spacing by SPACE. + The default scaling indicator is `p'. + + If `pvs' is called without an argument, the post-vertical spacing + is reset to the previous value before the last call to `pvs'. + + `gtroff' creates a warning of type `range' if SPACE is zero or + negative; the vertical spacing is then set to zero. + + The read-only number register `.pvs' contains the current + post-vertical spacing; it is associated with the current + environment (*note Environments::). + + +File: groff, Node: Fractional Type Sizes, Prev: Changing Type Sizes, Up: Sizes + +Fractional Type Sizes +--------------------- + +A "scaled point" is equal to 1/SIZESCALE points, where SIZESCALE is +specified in the `DESC' file (1 by default). There is a new scale +indicator `z' which has the effect of multiplying by SIZESCALE. +Requests and escape sequences in `gtroff' interpret arguments that +represent a point size as being in units of scaled points, but they +evaluate each such argument using a default scale indicator of `z'. +Arguments treated in this way are the argument to the `ps' request, the +third argument to the `cs' request, the second and fourth arguments to +the `tkf' request, the argument to the `\H' escape sequence, and those +variants of the `\s' escape sequence that take a numeric expression as +their argument (see below). + + For example, suppose SIZESCALE is 1000; then a scaled point is +equivalent to a millipoint; the request `.ps 10.25' is equivalent to +`.ps 10.25z' and thus sets the point size to 10250 scaled points, which +is equal to 10.25 points. + + `gtroff' disallows the use of the `z' scale indicator in instances +where it would make no sense, such as a numeric expression whose +default scale indicator was neither `u' nor `z'. Similarly it would +make no sense to use a scaling indicator other than `z' or `u' in a +numeric expression whose default scale indicator was `z', and so +`gtroff' disallows this as well. + + There is also new scale indicator `s' which multiplies by the number +of units in a scaled point. So, for example, `\n[.ps]s' is equal to +`1m'. Be sure not to confuse the `s' and `z' scale indicators. + + - Register: \n[.ps] + A read-only number register returning the point size in scaled + points. + + `.ps' is associated with the current environment (*note + Environments::). + + - Register: \n[.psr] + - Register: \n[.sr] + The last-requested point size in scaled points is contained in the + `.psr' read-only number register. The last requested point size + in points as a decimal fraction can be found in `.sr'. This is a + string-valued read-only number register. + + Note that the requested point sizes are device-independent, whereas + the values returned by the `.ps' and `.s' registers are not. For + example, if a point size of 11pt is requested, and a `sizes' + request (or a `sizescale' line in a `DESC' file) specifies 10.95pt + instead, this value is actually used. + + Both registers are associated with the current environment (*note + Environments::). + + The `\s' escape has the following syntax for working with fractional +type sizes: + +`\s[N]' +`\s'N'' + Set the point size to N scaled points; N is a numeric expression + with a default scale indicator of `z'. + +`\s[+N]' +`\s[-N]' +`\s+[N]' +`\s-[N]' +`\s'+N'' +`\s'-N'' +`\s+'N'' +`\s-'N'' + Increase or or decrease the point size by N scaled points; N is a + numeric expression with a default scale indicator of `z'. + + *Note Font Files::. + + +File: groff, Node: Strings, Next: Conditionals and Loops, Prev: Sizes, Up: gtroff Reference + +Strings +======= + +`gtroff' has string variables, which are entirely for user convenience +(i.e. there are no built-in strings exept `.T', but even this is a +read-write string variable). + + - Request: .ds name [string] + - Request: .ds1 name [string] + - Escape: \*n + - Escape: \*(nm + - Escape: \*[name arg1 arg2 ...] + Define and access a string variable NAME (one-character name N, + two-character name NM). If NAME already exists, `ds' overwrites + the previous definition. Only the syntax form using brackets can + take arguments which are handled identically to macro arguments; + the single exception is that a closing bracket as an argument must + be enclosed in double quotes. *Note Request and Macro + Arguments::, and *Note Parameters::. + + Example: + + + .ds foo a \\$1 test + . + This is \*[foo nice]. + => This is a nice test. + + The `\*' escape "interpolates" (expands in-place) a + previously-defined string variable. To be more precise, the stored + string is pushed onto the input stack which is then parsed by + `gtroff'. Similar to number registers, it is possible to nest + strings, i.e. string variables can be called within string + variables. + + If the string named by the `\*' escape does not exist, it is + defined as empty, and a warning of type `mac' is emitted (see + *Note Debugging::, for more details). + + *Caution:* Unlike other requests, the second argument to the `ds' + request takes up the entire line including trailing spaces. This + means that comments on a line with such a request can introduce + unwanted space into a string. + + + .ds UX \s-1UNIX\s0\u\s-3tm\s0\d \" UNIX trademark + + Instead the comment should be put on another line or have the + comment escape adjacent with the end of the string. + + + .ds UX \s-1UNIX\s0\u\s-3tm\s0\d\" UNIX trademark + + To produce leading space the string can be started with a double + quote. No trailing quote is needed; in fact, any trailing quote is + included in your string. + + + .ds sign " Yours in a white wine sauce, + + Strings are not limited to a single line of text. A string can + span several lines by escaping the newlines with a backslash. The + resulting string is stored _without_ the newlines. + + + .ds foo lots and lots \ + of text are on these \ + next several lines + + It is not possible to have real newlines in a string. To put a + single double quote character into a string, use two consecutive + double quote characters. + + The `ds1' request turns off compatibility mode while interpreting + a string. To be more precise, a "compatibility save" input token + is inserted at the beginning of the string, and a "compatibility + restore" input token at the end. + + + .nr xxx 12345 + .ds aa The value of xxx is \\n[xxx]. + .ds1 bb The value of xxx ix \\n[xxx]. + . + .cp 1 + . + \*(aa + => warning: number register `[' not defined + => The value of xxx is 0xxx]. + \*(bb + => The value of xxx ix 12345. + + Strings, macros, and diversions (and boxes) share the same name + space. Internally, even the same mechanism is used to store them. + This has some interesting consequences. For example, it is + possible to call a macro with string syntax and vice versa. + + + .de xxx + a funny test. + .. + This is \*[xxx] + => This is a funny test. + + .ds yyy a funny test + This is + .yyy + => This is a funny test. + + Diversions and boxes can be also called with string syntax. + + Another consequence is that you can copy one-line diversions or + boxes to a string. + + + .di xxx + a \fItest\fR + .br + .di + .ds yyy This is \*[xxx]\c + \*[yyy]. + => This is a test. + + As the previous example shows, it is possible to store formatted + output in strings. The `\c' escape prevents the insertion of an + additional blank line in the output. + + Copying diversions longer than a single output line produces + unexpected results. + + + .di xxx + a funny + .br + test + .br + .di + .ds yyy This is \*[xxx]\c + \*[yyy]. + => test This is a funny. + + Usually, it is not predictable whether a diversion contains one or + more output lines, so this mechanism should be avoided. With UNIX + `troff', this was the only solution to strip off a final newline + from a diversion. Another disadvantage is that the spaces in the + copied string are already formatted, making them unstretchable. + This can cause ugly results. + + A clean solution to this problem is available in GNU `troff', + using the requests `chop' to remove the final newline of a + diversion, and `unformat' to make the horizontal spaces + stretchable again. + + + .box xxx + a funny + .br + test + .br + .box + .chop xxx + .unformat xxx + This is \*[xxx]. + => This is a funny test. + + *Note Gtroff Internals::, for more information. + + - Request: .as name [string] + - Request: .as1 name [string] + The `as' request is similar to `ds' but appends STRING to the + string stored as NAME instead of redefining it. If NAME doesn't + exist yet, it is created. + + + .as sign " with shallots, onions and garlic, + + The `as1' request is similar to `as', but compatibility mode is + switched off while the appended string is interpreted. To be more + precise, a "compatibility save" input token is inserted at the + beginning of the appended string, and a "compatibility restore" + input token at the end. + + Rudimentary string manipulation routines are given with the next two +requests. + + - Request: .substring str n1 [n2] + Replace the string named STR with the substring defined by the + indices N1 and N2. The first character in the string has index 0. + If N2 is omitted, it is taken to be equal to the string's length. + If the index value N1 or N2 is negative, it is counted from the + end of the string, going backwards: The last character has + index -1, the character before the last character has index -2, + etc. + + + .ds xxx abcdefgh + .substring xxx 1 -4 + \*[xxx] + => bcde + + + - Request: .length reg str + Compute the number of characters of STR and return it in the + number register REG. If REG doesn't exist, it is created. `str' + is read in copy mode. + + + .ds xxx abcd\h'3i'efgh + .length yyy \*[xxx] + \n[yyy] + => 14 + + + - Request: .rn xx yy + Rename the request, macro, diversion, or string XX to YY. + + - Request: .rm xx + Remove the request, macro, diversion, or string XX. `gtroff' + treats subsequent invocations as if the object had never been + defined. + + - Request: .als new old + Create an alias named NEW for the request, string, macro, or + diversion object named OLD. The new name and the old name are + exactly equivalent (it is similar to a hard rather than a soft + link). If OLD is undefined, `gtroff' generates a warning of type + `mac' and ignores the request. + + - Request: .chop xx + Remove (chop) the last character from the macro, string, or + diversion named XX. This is useful for removing the newline from + the end of diversions that are to be interpolated as strings. + This command can be used repeatedly; see *Note Gtroff Internals::, + for details on nodes inserted additionally by `gtroff'. + + *Note Identifiers::, and *Note Comments::. + + +File: groff, Node: Conditionals and Loops, Next: Writing Macros, Prev: Strings, Up: gtroff Reference + +Conditionals and Loops +====================== + +* Menu: + +* Operators in Conditionals:: +* if-else:: +* while:: + + +File: groff, Node: Operators in Conditionals, Next: if-else, Prev: Conditionals and Loops, Up: Conditionals and Loops + +Operators in Conditionals +------------------------- + +In `if' and `while' requests, there are several more operators +available: + +`e' +`o' + True if the current page is even or odd numbered (respectively). + +`n' + True if the document is being processed in nroff mode (i.e., the + `.nroff' command has been issued). + +`t' + True if the document is being processed in troff mode (i.e., the + `.troff' command has been issued). + +`v' + Always false. This condition is for compatibility with other + `troff' versions only (identifying a `-Tversatec' device). + +`'XXX'YYY'' + True if the string XXX is equal to the string YYY. Other + characters can be used in place of the single quotes; the same set + of delimiters as for the `\D' escape is used (*note Escapes::). + `gtroff' formats the strings before being compared: + + + .ie "|"\fR|\fP" \ + true + .el \ + false + => true + + The resulting motions, glyph sizes, and fonts have to match,(1) + (*note Operators in Conditionals-Footnote-1::) and not the + individual motion, size, and font requests. In the previous + example, `|' and `\fR|\fP' both result in a roman `|' glyph with + the same point size and at the same location on the page, so the + strings are equal. If `.ft I' had been added before the `.ie', + the result would be "false" because (the first) `|' produces an + italic `|' rather than a roman one. + +`r XXX' + True if there is a number register named XXX. + +`d XXX' + True if there is a string, macro, diversion, or request named XXX. + +`m XXX' + True if there is a color named XXX. + +`c G' + True if there is a glyph G available(2) (*note Operators in + Conditionals-Footnote-2::); G is either an ASCII character or a + special character (`\(GG' or `\[GGG]'); the condition is also true + if G has been defined by the `char' request. + + Note that these operators can't be combined with other operators like +`:' or `&'; only a leading `!' (without whitespace between the +exclamation mark and the operator) can be used to negate the result. + + + .nr xxx 1 + .ie !r xxx \ + true + .el \ + false + => false + + A whitespace after `!' always evaluates to zero (this bizarre +behaviour is due to compatibility with UNIX `troff'). + + + .nr xxx 1 + .ie ! r xxx \ + true + .el \ + false + => r xxx true + + It is possible to omit the whitespace before the argument to the +`r', `d', and `c' operators. + + *Note Expressions::. + + +File: groff, Node: Operators in Conditionals-Footnotes, Up: Operators in Conditionals + + (1) The created output nodes must be identical. *Note Gtroff +Internals::. + + (2) The name of this conditional operator is a misnomer since it +tests names of output glyphs. + + +File: groff, Node: if-else, Next: while, Prev: Operators in Conditionals, Up: Conditionals and Loops + +if-else +------- + +`gtroff' has if-then-else constructs like other languages, although the +formatting can be painful. + + - Request: .if expr anything + Evaluate the expression EXPR, and executes ANYTHING (the remainder + of the line) if EXPR evaluates to a value greater than zero + (true). ANYTHING is interpreted as though it was on a line by + itself (except that leading spaces are swallowed). *Note + Expressions::, for more info. + + + .nr xxx 1 + .nr yyy 2 + .if ((\n[xxx] == 1) & (\n[yyy] == 2)) true + => true + + + - Request: .nop anything + Executes ANYTHING. This is similar to `.if 1'. + + - Request: .ie expr anything + - Request: .el anything + Use the `ie' and `el' requests to write an if-then-else. The + first request is the `if' part and the latter is the `else' part. + + + .ie n .ls 2 \" double-spacing in nroff + .el .ls 1 \" single-spacing in troff + + + - Escape: \{ + - Escape: \} + In many cases, an if (or if-else) construct needs to execute more + than one request. This can be done using the `\{' and `\}' + escapes. The following example shows the possible ways to use + these escapes (note the position of the opening and closing + braces). + + + .ie t \{\ + . ds lq `` + . ds rq '' + .\} + .el \ + .\{\ + . ds lq " + . ds rq "\} + + + *Note Expressions::. + + +File: groff, Node: while, Prev: if-else, Up: Conditionals and Loops + +while +----- + +`gtroff' provides a looping construct using the `while' request, which +is used much like the `if' (and related) requests. + + - Request: .while expr anything + Evaluate the expression EXPR, and repeatedly execute ANYTHING (the + remainder of the line) until EXPR evaluates to 0. + + + .nr a 0 1 + .while (\na < 9) \{\ + \n+a, + .\} + \n+a + => 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 + + Some remarks. + + * The body of a `while' request is treated like the body of a + `de' request: `gtroff' temporarily stores it in a macro which + is deleted after the loop has been exited. It can + considerably slow down a macro if the body of the `while' + request (within the macro) is large. Each time the macro is + executed, the `while' body is parsed and stored again as a + temporary macro. + + + .de xxx + . nr num 10 + . while (\\n[num] > 0) \{\ + . \" many lines of code + . nr num -1 + . \} + .. + + The traditional and ofter better solution (UNIX `troff' + doesn't have the `while' request) is to use a recursive macro + instead which is parsed only once during its definition. + + + .de yyy + . if (\\n[num] > 0) \{\ + . \" many lines of code + . nr num -1 + . yyy + . \} + .. + . + .de xxx + . nr num 10 + . yyy + .. + + Note that the number of available recursion levels is set + to 1000 (this is a compile-time constant value of `gtroff'). + + * The closing brace of a `while' body must end a line. + + + .if 1 \{\ + . nr a 0 1 + . while (\n[a] < 10) \{\ + . nop \n+[a] + .\}\} + => unbalanced \{ \} + + + - Request: .break + Break out of a `while' loop. Be sure not to confuse this with the + `br' request (causing a line break). + + - Request: .continue + Finish the current iteration of a `while' loop, immediately + restarting the next iteration. + + *Note Expressions::. + + +File: groff, Node: Writing Macros, Next: Page Motions, Prev: Conditionals and Loops, Up: gtroff Reference + +Writing Macros +============== + +A "macro" is a collection of text and embedded commands which can be +invoked multiple times. Use macros to define common operations. + + - Request: .de name [end] + - Request: .de1 name [end] + - Request: .dei name [end] + - Request: .dei1 name [end] + Define a new macro named NAME. `gtroff' copies subsequent lines + (starting with the next one) into an internal buffer until it + encounters the line `..' (two dots). The optional second argument + to `de' changes this to a macro to `.END'. + + There can be whitespace after the first dot in the line containing + the ending token (either `.' or macro `END'). + + Here a small example macro called `P' which causes a break and + inserts some vertical space. It could be used to separate + paragraphs. + + + .de P + . br + . sp .8v + .. + + The following example defines a macro within another. Remember + that expansion must be protected twice; once for reading the macro + and once for executing. + + + \# a dummy macro to avoid a warning + .de end + .. + . + .de foo + . de bar end + . nop \f[B]Hallo \\\\$1!\f[] + . end + .. + . + .foo + .bar Joe + => Hallo Joe! + + Since `\f' has no expansion, it isn't necessary to protect its + backslash. Had we defined another macro within `bar' which takes + a parameter, eight backslashes would be necessary before `$1'. + + The `de1' request turns off compatibility mode while executing the + macro. On entry, the current compatibility mode is saved and + restored at exit. + + + .nr xxx 12345 + . + .de aa + The value of xxx is \\n[xxx]. + .. + .de1 bb + The value of xxx ix \\n[xxx]. + .. + . + .cp 1 + . + .aa + => warning: number register ' not defined + => The value of xxx is 0xxx]. + .bb + => The value of xxx ix 12345. + + The `dei' request defines a macro indirectly. That is, it expands + strings whose names are NAME or END before performing the append. + + This: + + + .ds xx aa + .ds yy bb + .dei xx yy + + is equivalent to: + + + .de aa bb + + The `dei1' request is similar to `dei' but with compatibility mode + switched off during execution of the defined macro. + + Using `trace.tmac', you can trace calls to `de' and `de1'. + + Note that macro identifiers are shared with identifiers for + strings and diversions. + + - Request: .am name [end] + - Request: .am1 name [end] + - Request: .ami name [end] + - Request: .ami1 name [end] + Works similarly to `de' except it appends onto the macro named + NAME. So, to make the previously defined `P' macro actually do + indented instead of block paragraphs, add the necessary code to the + existing macro like this: + + + .am P + .ti +5n + .. + + The `am1' request turns off compatibility mode while executing the + appended macro piece. To be more precise, a "compatibility save" + input token is inserted at the beginning of the appended code, and + a "compatibility restore" input token at the end. + + The `ami' request appends indirectly, meaning that `gtroff' + expands strings whose names are NAME or END before performing the + append. + + The `ami1' request is similar to `ami' but compatibility mode is + switched off during execution of the defined macro. + + Using `trace.tmac', you can trace calls to `am' and `am1'. + + *Note Strings::, for the `als' request to rename a macro. + + The `de', `am', `di', `da', `ds', and `as' requests (together with +its variants) only create a new object if the name of the macro, +diversion or string diversion is currently undefined or if it is +defined to be a request; normally they modify the value of an existing +object. + + - Request: .return [anything] + Exit a macro, immediately returning to the caller. + + If called with an argument, exit twice, namely the current macro + and the macro one level higher. This is used to define a wrapper + macro for `return' in `trace.tmac'. + +* Menu: + +* Copy-in Mode:: +* Parameters:: + + +File: groff, Node: Copy-in Mode, Next: Parameters, Prev: Writing Macros, Up: Writing Macros + +Copy-in Mode +------------ + +When `gtroff' reads in the text for a macro, string, or diversion, it +copies the text (including request lines, but excluding escapes) into +an internal buffer. Escapes are converted into an internal form, +except for `\n', `\$', `\*', `\\' and `\' which are evaluated and +inserted into the text where the escape was located. This is known as +"copy-in" mode or "copy" mode. + + What this means is that you can specify when these escapes are to be +evaluated (either at copy-in time or at the time of use) by insulating +the escapes with an extra backslash. Compare this to the `\def' and +`\edef' commands in TeX. + + The following example prints the numbers 20 and 10: + + + .nr x 20 + .de y + .nr x 10 + \&\nx + \&\\nx + .. + .y + + +File: groff, Node: Parameters, Prev: Copy-in Mode, Up: Writing Macros + +Parameters +---------- + +The arguments to a macro or string can be examined using a variety of +escapes. + + - Register: \n[.$] + The number of arguments passed to a macro or string. This is a + read-only number register. + + Note that the `shift' request can change its value. + + Any individual argument can be retrieved with one of the following +escapes: + + - Escape: \$n + - Escape: \$(nn + - Escape: \$[nnn] + Retrieve the Nth, NNth or NNNth argument. As usual, the first + form only accepts a single number (larger than zero), the second a + two-digit number (larger or equal to 10), and the third any + positive integer value (larger than zero). Macros and strings can + have an unlimited number of arguments. Note that due to copy-in + mode, use two backslashes on these in actual use to prevent + interpolation until the macro is actually invoked. + + - Request: .shift [n] + Shift the arguments 1 position, or as many positions as specified + by its argument. After executing this request, argument I becomes + argument I-N; arguments 1 to N are no longer available. Shifting + by negative amounts is currently undefined. + + The register `.$' is adjusted accordingly. + + - Escape: \$* + - Escape: \$@ + In some cases it is convenient to use all of the arguments at once + (for example, to pass the arguments along to another macro). The + `\$*' escape concatenates all the arguments separated by spaces. A + similar escape is `\$@', which concatenates all the arguments with + each surrounded by double quotes, and separated by spaces. If not + in compatibility mode, the input level of double quotes is + preserved (see *Note Request and Macro Arguments::). + + - Escape: \$0 + The name used to invoke the current macro. The `als' request can + make a macro have more than one name. + + + .de generic-macro + . ... + . if \\n[error] \{\ + . tm \\$0: Houston, we have a problem. + . return + . \} + .. + . + .als foo generic-macro + .als bar generic-macro + + + *Note Request and Macro Arguments::. + + +File: groff, Node: Page Motions, Next: Drawing Requests, Prev: Writing Macros, Up: gtroff Reference + +Page Motions +============ + +*Note Manipulating Spacing::, for a discussion of the main request for +vertical motion, `sp'. + + - Request: .mk [reg] + - Request: .rt [dist] + The request `mk' can be used to mark a location on a page, for + movement to later. This request takes a register name as an + argument in which to store the current page location. With no + argument it stores the location in an internal register. The + results of this can be used later by the `rt' or the `sp' request + (or the `\v' escape). + + The `rt' request returns _upwards_ to the location marked with the + last `mk' request. If used with an argument, return to a position + which distance from the top of the page is DIST (no previous call + to `mk' is necessary in this case). Default scaling indicator is + `v'. + + Here a primitive solution for a two-column macro. + + + .nr column-length 1.5i + .nr column-gap 4m + .nr bottom-margin 1m + . + + + .de 2c + . br + . mk + . ll \\n[column-length]u + . wh -\\n[bottom-margin]u 2c-trap + . nr right-side 0 + .. + . + + + .de 2c-trap + . ie \\n[right-side] \{\ + . nr right-side 0 + . po -(\\n[column-length]u + \\n[column-gap]u) + . \" remove trap + . wh -\\n[bottom-margin]u + . \} + . el \{\ + . \" switch to right side + . nr right-side 1 + . po +(\\n[column-length]u + \\n[column-gap]u) + . rt + . \} + .. + . + + + .pl 1.5i + .ll 4i + This is a small test which shows how the + rt request works in combination with mk. + + .2c + Starting here, text is typeset in two columns. + Note that this implementation isn't robust + and thus not suited for a real two-column + macro. + + Result: + + + This is a small test which shows how the + rt request works in combination with mk. + + Starting here, isn't robust + text is typeset and thus not + in two columns. suited for a + Note that this real two-column + implementation macro. + + + The following escapes give fine control of movements about the page. + + - Escape: \v'e' + Move vertically, usually from the current location on the page (if + no absolute position operator `|' is used). The argument E + specifies the distance to move; positive is downwards and negative + upwards. The default scaling indicator for this escape is `v'. + Beware, however, that `gtroff' continues text processing at the + point where the motion ends, so you should always balance motions + to avoid interference with text processing. + + `\v' doesn't trigger a trap. This can be quite useful; for + example, consider a page bottom trap macro which prints a marker + in the margin to indicate continuation of a footnote or something + similar. + + There are some special-case escapes for vertical motion. + + - Escape: \r + Move upwards 1v. + + - Escape: \u + Move upwards .5v. + + - Escape: \d + Move down .5v. + + - Escape: \h'e' + Move horizontally, usually from the current location (if no + absolute position operator `|' is used). The expression E + indicates how far to move: positive is rightwards and negative + leftwards. The default scaling indicator for this escape is `m'. + + This horizontal space is not discarded at the end of a line. To + insert discardable space of a certain length use the `ss' request. + + There are a number of special-case escapes for horizontal motion. + + - Escape: \ + An unbreakable and unpaddable (i.e. not expanded during filling) + space. (Note: This is a backslash followed by a space.) + + - Escape: \~ + An unbreakable space that stretches like a normal inter-word space + when a line is adjusted. + + - Escape: \| + A 1/6th em space. Ignored for TTY output devices (rounded to + zero). + + - Escape: \^ + A 1/12th em space. Ignored for TTY output devices (rounded to + zero). + + - Escape: \0 + A space the size of a digit. + + The following string sets the TeX logo: + + + .ds TeX T\h'-.1667m'\v'.224m'E\v'-.224m'\h'-.125m'X + + - Escape: \w'text' + - Register: \n[st] + - Register: \n[sb] + - Register: \n[rst] + - Register: \n[rsb] + - Register: \n[ct] + - Register: \n[ssc] + - Register: \n[skw] + Return the width of the specified TEXT in basic units. This + allows horizontal movement based on the width of some arbitrary + text (e.g. given as an argument to a macro). + + + The length of the string `abc' is \w'abc'u. + => The length of the string `abc' is 72u. + + Font changes may occur in TEXT which don't affect current settings. + + After use, `\w' sets several registers: + + `st' + `sb' + The highest and lowest point of the baseline, respectively, + in TEXT. + + `rst' + `rsb' + Like the `st' and `sb' registers, but takes account of the + heights and depths of glyphs. With other words, this gives + the highest and lowest point of TEXT. Values below the + baseline are negative. + + `ct' + Defines the kinds of glyphs occurring in TEXT: + + 0 + only short glyphs, no descenders or tall glyphs. + + 1 + at least one descender. + + 2 + at least one tall glyph. + + 3 + at least one each of a descender and a tall glyph. + + `ssc' + The amount of horizontal space (possibly negative) that + should be added to the last glyph before a subscript. + + `skw' + How far to right of the center of the last glyph in the `\w' + argument, the center of an accent from a roman font should be + placed over that glyph. + + - Escape: \kp + - Escape: \k(ps + - Escape: \k[position] + Store the current horizontal position in the _input_ line in + number register with name POSITION (one-character name P, + two-character name PS). Use this, for example, to return to the + beginning of a string for highlighting or other decoration. + + - Register: \n[hp] + The current horizontal position at the input line. + + - Register: \n[.k] + A read-only number register containing the current horizontal + output position (relative to the current indentation). + + - Escape: \o'abc' + Overstrike glyphs A, B, C, ...; the glyphs are centered, and the + resulting spacing is the largest width of the affected glyphs. + + - Escape: \zg + Print glyph G with zero width, i.e., without spacing. Use this to + overstrike glyphs left-aligned. + + - Escape: \Z'anything' + Print ANYTHING, then restore the horizontal and vertical position. + The argument may not contain tabs or leaders. + + The following is an example of a strike-through macro: + + + .de ST + .nr ww \w'\\$1' + \Z@\v'-.25m'\l'\\n[ww]u'@\\$1 + .. + . + This is + .ST "a test" + an actual emergency! + + + +File: groff, Node: Drawing Requests, Next: Traps, Prev: Page Motions, Up: gtroff Reference + +Drawing Requests +================ + +`gtroff' provides a number of ways to draw lines and other figures on +the page. Used in combination with the page motion commands (see *Note +Page Motions::, for more info), a wide variety of figures can be drawn. +However, for complex drawings these operations can be quite +cumbersome, and it may be wise to use graphic preprocessors like `gpic' +or `ggrn'. *Note gpic::, and *Note ggrn::, for more information. + + All drawing is done via escapes. + + - Escape: \l'l' + - Escape: \l'lg' + Draw a line horizontally. L is the length of the line to be + drawn. If it is positive, start the line at the current location + and draw to the right; its end point is the new current location. + Negative values are handled differently: The line starts at the + current location and draws to the left, but the current location + doesn't move. + + L can also be specified absolutely (i.e. with a leading `|') which + draws back to the beginning of the input line. Default scaling + indicator is `m'. + + The optional second parameter G is a glyph to draw the line with. + If this second argument is not specified, `gtroff' uses the + underscore glyph, `\[ru]'. + + To separate the two arguments (to prevent `gtroff' from + interpreting a drawing glyph as a scaling indicator if the glyph is + represented by a single character) use `\&'. + + Here a small useful example: + + + .de box + \[br]\\$*\[br]\l'|0\[rn]'\l'|0\[ul]' + .. + + Note that this works by outputting a box rule (a vertical line), + then the text given as an argument and then another box rule. + Finally, the line drawing escapes both draw from the current + location to the beginning of the _input_ line - this works because + the line length is negative, not moving the current point. + + - Escape: \L'l' + - Escape: \L'lg' + Draw vertical lines. Its parameters are similar to the `\l' + escape, except that the default scaling indicator is `v'. The + movement is downwards for positive values, and upwards for + negative values. The default glyph is the box rule glyph, + `\[br]'. As with the vertical motion escapes, text processing + blindly continues where the line ends. + + + This is a \L'3v'test. + + Here the result, produced with `grotty'. + + + This is a + | + | + |test. + + + - Escape: \D'command arg ...' + The `\D' escape provides a variety of drawing functions. Note + that on character devices, only vertical and horizontal lines are + supported within `grotty'; other devices may only support a subset + of the available drawing functions. + + The default scaling indicator for all subcommands of `\D' is `m' + for horizontal distances and `v' for vertical ones. Exceptions + are `\D'f ...'' and `\D't ...'' which use `u' as the default, and + `\D'FX ...'' which arguments are treated similar to the `defcolor' + request. + + `\D'l DX DY'' + Draw a line from the current location to the relative point + specified by (DX,DY), where positive values mean down and + right, respectively. The end point of the line is the new + current location. + + The following example is a macro for creating a box around a + text string; for simplicity, the box margin is taken as a + fixed value, 0.2m. + + + .de BOX + . nr @wd \w'\\$1' + \h'.2m'\ + \h'-.2m'\v'(.2m - \\n[rsb]u)'\ + \D'l 0 -(\\n[rst]u - \\n[rsb]u + .4m)'\ + \D'l (\\n[@wd]u + .4m) 0'\ + \D'l 0 (\\n[rst]u - \\n[rsb]u + .4m)'\ + \D'l -(\\n[@wd]u + .4m) 0'\ + \h'.2m'\v'-(.2m - \\n[rsb]u)'\ + \\$1\ + \h'.2m' + .. + + First, the width of the string is stored in register `@wd'. + Then, four lines are drawn to form a box, properly offset by + the box margin. The registers `rst' and `rsb' are set by the + `\w' escape, containing the largest height and depth of the + whole string. + + `\D'c D'' + Draw a circle with a diameter of D with the leftmost point at + the current position. After drawing, the current location is + positioned at the rightmost point of the circle. + + `\D'C D'' + Draw a solid circle with the same parameters and behaviour as + an outlined circle. No outline is drawn. + + `\D'e X Y'' + Draw an ellipse with a horizontal diameter of X and a vertical + diameter of Y with the leftmost point at the current position. + After drawing, the current location is positioned at the + rightmost point of the ellipse. + + `\D'E X Y'' + Draw a solid ellipse with the same parameters and behaviour + as an outlined ellipse. No outline is drawn. + + `\D'a DX1 DY1 DX2 DY2'' + Draw an arc clockwise from the current location through the + two specified relative locations (DX1,DY1) and (DX2,DY2). + The coordinates of the first point are relative to the + current position, and the coordinates of the second point are + relative to the first point. After drawing, the current + position is moved to the final point of the arc. + + `\D'~ DX1 DY1 DX2 DY2 ...'' + Draw a spline from the current location to the relative point + (DX1,DY1) and then to (DX2,DY2), and so on. The current + position is moved to the terminal point of the drawn curve. + + `\D'f N'' + Set the shade of gray to be used for filling solid objects + to N; N must be an integer between 0 and 1000, where 0 + corresponds solid white and 1000 to solid black, and values + in between correspond to intermediate shades of gray. This + applies only to solid circles, solid ellipses, and solid + polygons. By default, a level of 1000 is used. + + Despite of being silly, the current point is moved + horizontally to the right by N. + + Don't use this command! It has the serious drawback that it + will be always rounded to the next integer multiple of the + horizontal resolution (the value of the `hor' keyword in the + `DESC' file). Use `\M' (*note Colors::) or `\D'Fg ...'' + instead. + + `\D'p DX1 DY1 DX2 DY2 ...'' + Draw a polygon from the current location to the relative + position (DX1,DY1) and then to (DX2,DY2) and so on. When the + specified data points are exhausted, a line is drawn back to + the starting point. The current position is changed by + adding the sum of all arguments with odd index to the actual + horizontal position and the even ones to the vertical + position. + + `\D'P DX1 DY1 DX2 DY2 ...'' + Draw a solid polygon with the same parameters and behaviour + as an outlined polygon. No outline is drawn. + + Here a better variant of the box macro to fill the box with + some color. Note that the box must be drawn before the text + since colors in `gtroff' are not transparent; the filled + polygon would hide the text completely. + + + .de BOX + . nr @wd \w'\\$1' + \h'.2m'\ + \h'-.2m'\v'(.2m - \\n[rsb]u)'\ + \M[lightcyan]\ + \D'P 0 -(\\n[rst]u - \\n[rsb]u + .4m) \ + (\\n[@wd]u + .4m) 0 \ + 0 (\\n[rst]u - \\n[rsb]u + .4m) \ + -(\\n[@wd]u + .4m) 0'\ + \h'.2m'\v'-(.2m - \\n[rsb]u)'\ + \M[]\ + \\$1\ + \h'.2m' + .. + + `\D't N'' + Set the current line thickness to N machine units. A value of + zero selects the smallest available line thickness. A + negative value makes the line thickness proportional to the + current point size (this is the default behaviour of AT&T + `troff'). + + Despite of being silly, the current point is moved + horizontally to the right by N. + + `\D'FSCHEME COLOR_COMPONENTS'' + Change current fill color. SCHEME is a single letter + denoting the color scheme: `r' (rgb), `c' (cmy), `k' (cmyk), + `g' (gray), or `d' (default color). The color components use + exactly the same syntax as in the `defcolor' request (*note + Colors::); the command `\D'Fd'' doesn't take an argument. + + _No_ position changing! + + Examples: + + + \D'Fg .3' \" same gray as \D'f 700' \D'Fr #0000ff' \" + blue + + *Note Graphics Commands::. + + - Escape: \b'string' + "Pile" a sequence of glyphs vertically, and center it vertically + on the current line. Use it to build large brackets and braces. + + Here an example how to create a large opening brace: + + + \b'\[lt]\[bv]\[lk]\[bv]\[lb]' + + The first glyph is on the top, the last glyph in STRING is at the + bottom. Note that `gtroff' separates the glyphs vertically by 1m, + and the whole object is centered 0.5m above the current baseline; + the largest glyph width is used as the width for the whole object. + This rather unflexible positioning algorithm doesn't work with + `-Tdvi' since the bracket pieces vary in height for this device. + Instead, use the `eqn' preprocessor. + + *Note Manipulating Spacing::, how to adjust the vertical spacing + with the `\x' escape. + + +File: groff, Node: Traps, Next: Diversions, Prev: Drawing Requests, Up: gtroff Reference + +Traps +===== + +"Traps" are locations, which, when reached, call a specified macro. +These traps can occur at a given location on the page, at a given +location in the current diversion, at a blank line, after a certain +number of input lines, or at the end of input. + + Setting a trap is also called "planting". It is also said that a +trap is "sprung" if the associated macro is executed. + +* Menu: + +* Page Location Traps:: +* Diversion Traps:: +* Input Line Traps:: +* Blank Line Traps:: +* End-of-input Traps:: + + +File: groff, Node: Page Location Traps, Next: Diversion Traps, Prev: Traps, Up: Traps + +Page Location Traps +------------------- + +"Page location traps" perform an action when `gtroff' reaches or passes +a certain vertical location on the page. Page location traps have a +variety of purposes, including: + + * setting headers and footers + + * setting body text in multiple columns + + * setting footnotes + + - Request: .vpt flag + - Register: \n[.vpt] + Enable vertical position traps if FLAG is non-zero, or disables + them otherwise. Vertical position traps are traps set by the `wh' + or `dt' requests. Traps set by the `it' request are not vertical + position traps. The parameter that controls whether vertical + position traps are enabled is global. Initially vertical position + traps are enabled. The current setting of this is available in the + `.vpt' read-only number register. + + Note that a page can't be ejected if `vpt' is set to zero. + + - Request: .wh dist [macro] + Set a page location trap. Non-negative values for DIST set the + trap relative to the top of the page; negative values set the trap + relative to the bottom of the page. Default scaling indicator is + `v'. + + MACRO is the name of the macro to execute when the trap is sprung. + If MACRO is missing, remove the first trap (if any) at DIST. + + The following is a simple example of how many macro packages set + headers and footers. + + + .de hd \" Page header + ' sp .5i + . tl 'Title''date' + ' sp .3i + .. + . + .de fo \" Page footer + ' sp 1v + . tl ''%'' + ' bp + .. + . + .wh 0 hd \" trap at top of the page + .wh -1i fo \" trap one inch from bottom + + A trap at or below the bottom of the page is ignored; it can be + made active by either moving it up or increasing the page length + so that the trap is on the page. + + It is possible to have more than one trap at the same location; to + do so, the traps must be defined at different locations, then + moved together with the `ch' request; otherwise the second trap + would replace the first one. Earlier defined traps hide later + defined traps if moved to the same position (the many empty lines + caused by the `bp' request are omitted in the following example): + + + .de a + . nop a + .. + .de b + . nop b + .. + .de c + . nop c + .. + . + .wh 1i a + .wh 2i b + .wh 3i c + .bp + => a b c + + + .ch b 1i + .ch c 1i + .bp + => a + + + .ch a 0.5i + .bp + => a b + + + - Register: \n[.t] + A read-only number register holding the distance to the next trap. + + If there are no traps between the current position and the bottom + of the page, it contains the distance to the page bottom. In a + diversion, the distance to the page bottom is infinite (the + returned value is the biggest integer which can be represented in + `groff') if there are no diversion traps. + + - Request: .ch macro [dist] + Change the location of a trap. The first argument is the name of + the macro to be invoked at the trap, and the second argument is + the new location for the trap (note that the parameters are + specified in opposite order as in the `wh' request). This is + useful for building up footnotes in a diversion to allow more + space at the bottom of the page for them. + + Default scaling indicator for DIST is `v'. If DIST is missing, + the trap is removed. + + + - Register: \n[.ne] + The read-only number register `.ne' contains the amount of space + that was needed in the last `ne' request that caused a trap to be + sprung. Useful in conjunction with the `.trunc' register. *Note + Page Control::, for more information. + + Since the `.ne' register is only set by traps it doesn't make much + sense to use it outside of trap macros. + + - Register: \n[.trunc] + A read-only register containing the amount of vertical space + truncated by the most recently sprung vertical position trap, or, + if the trap was sprung by an `ne' request, minus the amount of + vertical motion produced by the `ne' request. In other words, at + the point a trap is sprung, it represents the difference of what + the vertical position would have been but for the trap, and what + the vertical position actually is. + + Since the `.trunc' register is only set by traps it doesn't make + much sense to use it outside of trap macros. + + - Register: \n[.pe] + A read-only register which is set to 1 while a page is ejected with + the `bp' request (or by the end of input). + + Outside of traps this register is always zero. In the following + example, only the second call to `x' is caused by `bp'. + + + .de x + \&.pe=\\n[.pe] + .br + .. + .wh 1v x + .wh 4v x + A line. + .br + Another line. + .br + => A line. + .pe=0 + Another line. + + .pe=1 + + + An important fact to consider while designing macros is that +diversions and traps do not interact normally. For example, if a trap +invokes a header macro (while outputting a diversion) which tries to +change the font on the current page, the effect will not be visible +before the diversion has completely been printed (except for input +protected with `\!' or `\?') since the data in the diversion is already +formatted. In most cases, this is not the expected behaviour. + + +File: groff, Node: Diversion Traps, Next: Input Line Traps, Prev: Page Location Traps, Up: Traps + +Diversion Traps +--------------- + + - Request: .dt [dist macro] + Set a trap _within_ a diversion. DIST is the location of the trap + (identical to the `wh' request; default scaling indicator is `v') + and MACRO is the name of the macro to be invoked. If called + without arguments, the diversion trap is removed. + + Note that there exists only a single diversion trap. + + The number register `.t' still works within diversions. *Note + Diversions::, for more information. + + +File: groff, Node: Input Line Traps, Next: Blank Line Traps, Prev: Diversion Traps, Up: Traps + +Input Line Traps +---------------- + + - Request: .it n macro + - Request: .itc n macro + Set an input line trap. N is the number of lines of input which + may be read before springing the trap, MACRO is the macro to be + invoked. Request lines are not counted as input lines. + + For example, one possible use is to have a macro which prints the + next N lines in a bold font. + + + .de B + . it \\$1 B-end + . ft B + .. + . + .de B-end + . ft R + .. + + The `itc' request is identical except that an interrupted text + line (ending with `\c') is not counted as a separate line. + + Both requests are associated with the current environment (*note + Environments::); switching to another environment disables the + current input trap, and going back reactivates it, restoring the + number of already processed lines. + + +File: groff, Node: Blank Line Traps, Next: End-of-input Traps, Prev: Input Line Traps, Up: Traps + +Blank Line Traps +---------------- + + - Request: .blm macro + Set a blank line trap. `gtroff' executes MACRO when it encounters + a blank line in the input file. + + +File: groff, Node: End-of-input Traps, Prev: Blank Line Traps, Up: Traps + +End-of-input Traps +------------------ + + - Request: .em macro + Set a trap at the end of input. MACRO is executed after the last + line of the input file has been processed. + + For example, if the document had to have a section at the bottom + of the last page for someone to approve it, the `em' request could + be used. + + + .de approval + . ne 5v + . sp |(\\n[.t] - 6v) + . in +4i + . lc _ + . br + Approved:\t\a + . sp + Date:\t\t\a + .. + . + .em approval + diff -ruN groff-1.19/doc/groff-10 groff-1.19.1/doc/groff-10 --- groff-1.19/doc/groff-10 Tue Apr 29 15:37:37 2003 +++ groff-1.19.1/doc/groff-10 Thu Jan 1 01:00:00 1970 @@ -1,485 +0,0 @@ -This is groff, produced by makeinfo version 4.3d from ./groff.texinfo. - -This manual documents GNU `troff' version 1.19. - - Copyright (C) 1994-2000, 2001, 2002, 2003 Free Software Foundation, -Inc. - - Permission is granted to copy, distribute and/or modify this - document under the terms of the GNU Free Documentation License, - Version 1.1 or any later version published by the Free Software - Foundation; with no Invariant Sections, with the Front-Cover texts - being `A GNU Manual," and with the Back-Cover Texts as in (a) - below. A copy of the license is included in the section entitled - `GNU Free Documentation License." - - (a) The FSF's Back-Cover Text is: `You have freedom to copy and - modify this GNU Manual, like GNU software. Copies published by - the Free Software Foundation raise funds for GNU development." - -INFO-DIR-SECTION Typesetting -START-INFO-DIR-ENTRY -* Groff: (groff). The GNU troff document formatting system. -END-INFO-DIR-ENTRY - - -File: groff, Node: Register Index, Next: Macro Index, Prev: Operator Index, Up: Top - -Register Index -************** - - The macro package or program a specific register belongs to is -appended in brackets. - - A register name `x' consisting of exactly one character can be -accessed as `\nx'. A register name `xx' consisting of exactly two -characters can be accessed as `\n(xx'. Register names `xxx' of any -length can be accessed as `\n[xxx]'. - -* Menu: - -* $$: Built-in Registers. -* %: Page Layout. -* .$: Parameters. -* .a: Manipulating Spacing. -* .A: Built-in Registers. -* .b: Artificial Fonts. -* .C: Implementation Differences. -* .c: Built-in Registers. -* .cdp: Environments. -* .ce: Manipulating Filling and Adjusting. -* .cht: Environments. -* .color: Colors. -* .csk: Environments. -* .d: Diversions. -* .ev: Environments. -* .f: Font Positions. -* .F: Built-in Registers. -* .fam: Font Families. -* .fn: Font Families. -* .fp: Font Positions. -* .g: Built-in Registers. -* .h: Diversions. -* .H: Built-in Registers. -* .height: Artificial Fonts. -* .hla: Manipulating Hyphenation. -* .hlc: Manipulating Hyphenation. -* .hlm: Manipulating Hyphenation. -* .hy: Manipulating Hyphenation. -* .hym: Manipulating Hyphenation. -* .hys: Manipulating Hyphenation. -* .i: Line Layout. -* .in: Line Layout. -* .int: Line Control. -* .j: Manipulating Filling and Adjusting. -* .k: Page Motions. -* .kern: Ligatures and Kerning. -* .l: Line Layout. -* .L: Manipulating Spacing. -* .lg: Ligatures and Kerning. -* .linetabs: Tabs and Fields. -* .ll: Line Layout. -* .lt: Page Layout. -* .n: Environments. -* .ne: Page Location Traps. -* .ns: Manipulating Spacing. -* .o: Line Layout. -* .p: Page Layout. -* .P: Built-in Registers. -* .pe: Page Location Traps. -* .pn: Page Layout. -* .ps: Fractional Type Sizes. -* .psr: Fractional Type Sizes. -* .pvs: Changing Type Sizes. -* .rj: Manipulating Filling and Adjusting. -* .s: Changing Type Sizes. -* .slant: Artificial Fonts. -* .sr: Fractional Type Sizes. -* .ss: Manipulating Filling and Adjusting. -* .sss: Manipulating Filling and Adjusting. -* .t: Page Location Traps. -* .T: Built-in Registers. -* .tabs: Tabs and Fields. -* .trunc: Page Location Traps. -* .u: Manipulating Filling and Adjusting. -* .v: Changing Type Sizes. -* .V: Built-in Registers. -* .vpt: Page Location Traps. -* .w: Environments. -* .warn: Debugging. -* .x: Built-in Registers. -* .Y: Built-in Registers. -* .y: Built-in Registers. -* .z: Diversions. -* c.: Built-in Registers. -* ct: Page Motions. -* dl: Diversions. -* dn: Diversions. -* dw: Built-in Registers. -* dy: Built-in Registers. -* FF [ms]: ms Document Control Registers. -* FI [ms]: ms Document Control Registers. -* FL [ms]: ms Document Control Registers. -* FM [ms]: ms Document Control Registers. -* HM [ms]: ms Document Control Registers. -* hours: Built-in Registers. -* hp: Page Motions. -* LL [ms]: ms Document Control Registers. -* llx: Miscellaneous. -* lly: Miscellaneous. -* ln: Built-in Registers. -* LT [ms]: ms Document Control Registers. -* MINGW [ms] <1>: Additional ms Macros. -* MINGW [ms]: ms Document Control Registers. -* minutes: Built-in Registers. -* mo: Built-in Registers. -* nl: Page Control. -* opmaxx: Suppressing output. -* opmaxy: Suppressing output. -* opminx: Suppressing output. -* opminy: Suppressing output. -* PD [ms]: ms Document Control Registers. -* PI [ms]: ms Document Control Registers. -* PO [ms]: ms Document Control Registers. -* PS [ms]: ms Document Control Registers. -* ps4html [grohtml]: grohtml specific registers and strings. -* QI [ms]: ms Document Control Registers. -* rsb: Page Motions. -* rst: Page Motions. -* sb: Page Motions. -* seconds: Built-in Registers. -* skw: Page Motions. -* slimit: Debugging. -* ssc: Page Motions. -* st: Page Motions. -* systat: I/O. -* urx: Miscellaneous. -* ury: Miscellaneous. -* VS [ms]: ms Document Control Registers. -* year: Built-in Registers. -* yr: Built-in Registers. - - -File: groff, Node: Macro Index, Next: String Index, Prev: Register Index, Up: Top - -Macro Index -*********** - - The macro package a specific macro belongs to is appended in -brackets. They appear without the leading control character (normally -`.'). - -* Menu: - -* 1C [ms]: ms Multiple Columns. -* 2C [ms]: ms Multiple Columns. -* [ [ms]: ms Insertions. -* ] [ms]: ms Insertions. -* AB [ms]: ms Cover Page Macros. -* AE [ms]: ms Cover Page Macros. -* AI [ms]: ms Cover Page Macros. -* AM [ms] <1>: Additional ms Macros. -* AM [ms]: ms Strings and Special Characters. -* AT [man]: Miscellaneous man macros. -* AU [ms]: ms Cover Page Macros. -* B [man]: Man font macros. -* B [ms]: Highlighting in ms. -* B1 [ms]: ms Displays and Keeps. -* B2 [ms]: ms Displays and Keeps. -* BD [ms]: ms Displays and Keeps. -* BI [man]: Man font macros. -* BI [ms]: Highlighting in ms. -* BR [man]: Man font macros. -* BT [man]: Optional man extensions. -* BX [ms]: Highlighting in ms. -* CD [ms]: ms Displays and Keeps. -* CT [man]: Optional man extensions. -* CW [man]: Optional man extensions. -* CW [ms] <1>: Additional ms Macros. -* CW [ms]: Highlighting in ms. -* DA [ms]: ms Cover Page Macros. -* De [man]: Optional man extensions. -* DE [ms]: ms Displays and Keeps. -* Ds [man]: Optional man extensions. -* DS [ms] <1>: Additional ms Macros. -* DS [ms]: ms Displays and Keeps. -* DT [man]: Miscellaneous man macros. -* EE [man]: Optional man extensions. -* EF [ms]: ms Headers and Footers. -* EH [ms]: ms Headers and Footers. -* EN [ms]: ms Insertions. -* EQ [ms]: ms Insertions. -* EX [man]: Optional man extensions. -* FE [ms]: ms Footnotes. -* FS [ms]: ms Footnotes. -* G [man]: Optional man extensions. -* GL [man]: Optional man extensions. -* HB [man]: Optional man extensions. -* HP [man]: Man usage. -* I [man]: Man font macros. -* I [ms]: Highlighting in ms. -* IB [man]: Man font macros. -* ID [ms]: ms Displays and Keeps. -* IP [man]: Man usage. -* IP [ms]: Lists in ms. -* IR [man]: Man font macros. -* IX [ms]: Additional ms Macros. -* KE [ms]: ms Displays and Keeps. -* KF [ms]: ms Displays and Keeps. -* KS [ms]: ms Displays and Keeps. -* LD [ms]: ms Displays and Keeps. -* LG [ms]: Highlighting in ms. -* LP [man]: Man usage. -* LP [ms]: Paragraphs in ms. -* MC [ms]: ms Multiple Columns. -* MS [man]: Optional man extensions. -* ND [ms]: ms Cover Page Macros. -* NE [man]: Optional man extensions. -* NH [ms]: Headings in ms. -* NL [ms]: Highlighting in ms. -* NT [man]: Optional man extensions. -* OF [ms]: ms Headers and Footers. -* OH [ms]: ms Headers and Footers. -* P [man]: Man usage. -* PD [man]: Miscellaneous man macros. -* PE [ms]: ms Insertions. -* Pn [man]: Optional man extensions. -* PN [man]: Optional man extensions. -* PP [man]: Man usage. -* PP [ms]: Paragraphs in ms. -* PS [ms]: ms Insertions. -* PT [man]: Optional man extensions. -* PX [ms]: ms TOC. -* QP [ms]: Paragraphs in ms. -* R [man]: Optional man extensions. -* R [ms]: Highlighting in ms. -* RB [man]: Man font macros. -* RD [ms]: ms Displays and Keeps. -* RE [man]: Man usage. -* RE [ms]: Indents in ms. -* RI [man]: Man font macros. -* RN [man]: Optional man extensions. -* RP [ms]: ms Cover Page Macros. -* RS [man]: Man usage. -* RS [ms]: Indents in ms. -* SB [man]: Man font macros. -* SH [man]: Man usage. -* SH [ms]: Headings in ms. -* SM [man]: Man font macros. -* SM [ms]: Highlighting in ms. -* SS [man]: Man usage. -* TA [ms]: Tabstops in ms. -* TB [man]: Optional man extensions. -* TC [ms]: ms TOC. -* TE [ms]: ms Insertions. -* TH [man]: Man usage. -* TL [ms]: ms Cover Page Macros. -* TP [man]: Man usage. -* TS [ms]: ms Insertions. -* UC [man]: Miscellaneous man macros. -* UL [ms]: Highlighting in ms. -* VE [man]: Optional man extensions. -* VS [man]: Optional man extensions. -* XA [ms]: ms TOC. -* XE [ms]: ms TOC. -* XP [ms]: Paragraphs in ms. -* XS [ms]: ms TOC. - - -File: groff, Node: String Index, Next: Glyph Name Index, Prev: Macro Index, Up: Top - -String Index -************ - - The macro package or program a specific string belongs to is -appended in brackets. - - A string name `x' consisting of exactly one character can be -accessed as `\*x'. A string name `xx' consisting of exactly two -characters can be accessed as `\*(xx'. String names `xxx' of any -length can be accessed as `\*[xxx]'. - -* Menu: - -* ! [ms]: ms Strings and Special Characters. -* ' [ms]: ms Strings and Special Characters. -* * [ms]: ms Footnotes. -* *Q [ms]: ms Strings and Special Characters. -* *U [ms]: ms Strings and Special Characters. -* , [ms]: ms Strings and Special Characters. -* - [ms]: ms Strings and Special Characters. -* . [ms]: ms Strings and Special Characters. -* .T: Built-in Registers. -* 3 [ms]: ms Strings and Special Characters. -* 8 [ms]: ms Strings and Special Characters. -* ? [ms]: ms Strings and Special Characters. -* \*[] [ms]: ms Strings and Special Characters. -* ^ [ms]: ms Strings and Special Characters. -* _ [ms]: ms Strings and Special Characters. -* ` [ms]: ms Strings and Special Characters. -* ABSTRACT [ms]: ms Strings and Special Characters. -* Ae [ms]: ms Strings and Special Characters. -* ae [ms]: ms Strings and Special Characters. -* CF [ms]: ms Headers and Footers. -* CH [ms]: ms Headers and Footers. -* d- [ms]: ms Strings and Special Characters. -* D- [ms]: ms Strings and Special Characters. -* HF [man]: Predefined man strings. -* LF [ms]: ms Headers and Footers. -* LH [ms]: ms Headers and Footers. -* lq [man]: Predefined man strings. -* MONTH1 [ms]: ms Strings and Special Characters. -* MONTH10 [ms]: ms Strings and Special Characters. -* MONTH11 [ms]: ms Strings and Special Characters. -* MONTH12 [ms]: ms Strings and Special Characters. -* MONTH2 [ms]: ms Strings and Special Characters. -* MONTH3 [ms]: ms Strings and Special Characters. -* MONTH4 [ms]: ms Strings and Special Characters. -* MONTH5 [ms]: ms Strings and Special Characters. -* MONTH6 [ms]: ms Strings and Special Characters. -* MONTH7 [ms]: ms Strings and Special Characters. -* MONTH8 [ms]: ms Strings and Special Characters. -* MONTH9 [ms]: ms Strings and Special Characters. -* o [ms]: ms Strings and Special Characters. -* q [ms]: ms Strings and Special Characters. -* R [man]: Predefined man strings. -* REFERENCES [ms]: ms Strings and Special Characters. -* RF [ms]: ms Headers and Footers. -* RH [ms]: ms Headers and Footers. -* rq [man]: Predefined man strings. -* S [man]: Predefined man strings. -* th [ms]: ms Strings and Special Characters. -* Th [ms]: ms Strings and Special Characters. -* Tm [man]: Predefined man strings. -* TOC [ms]: ms Strings and Special Characters. -* v [ms]: ms Strings and Special Characters. -* www-image-template [grohtml]: grohtml specific registers and strings. -* ~ [ms]: ms Strings and Special Characters. - - -File: groff, Node: Glyph Name Index, Next: Font File Keyword Index, Prev: String Index, Up: Top - -Glyph Name Index -**************** - - A glyph name `xx' consisting of exactly two characters can be -accessed as `\(xx'. Glyph names `xxx' of any length can be accessed as -`\[xxx]'. - - -File: groff, Node: Font File Keyword Index, Next: Program and File Index, Prev: Glyph Name Index, Up: Top - -Font File Keyword Index -*********************** - -* Menu: - -* #: Font File Format. -* ---: Font File Format. -* biggestfont: DESC File Format. -* charset <1>: Font File Format. -* charset: DESC File Format. -* family <1>: DESC File Format. -* family <2>: Font Positions. -* family: Changing Fonts. -* fonts <1>: DESC File Format. -* fonts <2>: Special Fonts. -* fonts: Using Symbols. -* hor: DESC File Format. -* kernpairs: Font File Format. -* ligatures: Font File Format. -* name: Font File Format. -* papersize: DESC File Format. -* pass_filenames: DESC File Format. -* postpro: DESC File Format. -* prepro: DESC File Format. -* print: DESC File Format. -* res: DESC File Format. -* sizes: DESC File Format. -* sizescale: DESC File Format. -* slant: Font File Format. -* spacewidth: Font File Format. -* spare1: DESC File Format. -* spare2: DESC File Format. -* special <1>: Font File Format. -* special: Artificial Fonts. -* styles <1>: DESC File Format. -* styles <2>: Font Positions. -* styles <3>: Font Families. -* styles: Changing Fonts. -* tcommand: DESC File Format. -* unitwidth: DESC File Format. -* use_charnames_in_special <1>: DESC File Format. -* use_charnames_in_special: Postprocessor Access. -* vert: DESC File Format. - - -File: groff, Node: Program and File Index, Next: Concept Index, Prev: Font File Keyword Index, Up: Top - -Program and File Index -********************** - -* Menu: - -* an.tmac: man. -* changebar: Miscellaneous. -* composite.tmac: Using Symbols. -* cp1047.tmac: Input Encodings. -* DESC <1>: Special Fonts. -* DESC <2>: Using Symbols. -* DESC <3>: Font Positions. -* DESC <4>: Font Families. -* DESC: Changing Fonts. -* DESC file format: DESC File Format. -* DESC, and font mounting: Font Positions. -* DESC, and use_charnames_in_special: Postprocessor Access. -* ditroff: History. -* ec.tmac: Input Encodings. -* eqn: ms Insertions. -* freeeuro.pfa: Input Encodings. -* geqn: Groff Options. -* geqn, invocation in manual pages: Preprocessors in man pages. -* ggrn: Groff Options. -* gpic: Groff Options. -* grap: Groff Options. -* grefer: Groff Options. -* grefer, invocation in manual pages: Preprocessors in man pages. -* groff: Groff Options. -* grog: grog. -* grohtml: Miscellaneous man macros. -* gsoelim: Groff Options. -* gtbl: Groff Options. -* gtbl, invocation in manual pages: Preprocessors in man pages. -* gtroff: Groff Options. -* hyphen.us: Manipulating Hyphenation. -* hyphenex.us: Manipulating Hyphenation. -* latin1.tmac: Input Encodings. -* latin2.tmac: Input Encodings. -* latin9.tmac: Input Encodings. -* makeindex: Indices. -* man, invocation of preprocessors: Preprocessors in man pages. -* man-old.tmac: man. -* man.local <1>: Optional man extensions. -* man.local: Man usage. -* man.tmac: man. -* man.ultrix: Optional man extensions. -* nrchbar: Miscellaneous. -* papersize.tmac: Paper Size. -* perl: I/O. -* pic: ms Insertions. -* post-grohtml: Groff Options. -* pre-grohtml: Groff Options. -* refer: ms Insertions. -* soelim: Debugging. -* tbl: ms Insertions. -* trace.tmac: Writing Macros. -* troffrc <1>: Line Layout. -* troffrc <2>: Troff and Nroff Mode. -* troffrc <3>: Manipulating Hyphenation. -* troffrc <4>: Paper Size. -* troffrc: Groff Options. -* troffrc-end <1>: Troff and Nroff Mode. -* troffrc-end <2>: Manipulating Hyphenation. -* troffrc-end: Groff Options. -* tty.tmac: Troff and Nroff Mode. - diff -ruN groff-1.19/doc/groff-11 groff-1.19.1/doc/groff-11 --- groff-1.19/doc/groff-11 Tue Apr 29 15:37:37 2003 +++ groff-1.19.1/doc/groff-11 Thu Jan 1 01:00:00 1970 @@ -1,1623 +0,0 @@ -This is groff, produced by makeinfo version 4.3d from ./groff.texinfo. - -This manual documents GNU `troff' version 1.19. - - Copyright (C) 1994-2000, 2001, 2002, 2003 Free Software Foundation, -Inc. - - Permission is granted to copy, distribute and/or modify this - document under the terms of the GNU Free Documentation License, - Version 1.1 or any later version published by the Free Software - Foundation; with no Invariant Sections, with the Front-Cover texts - being `A GNU Manual," and with the Back-Cover Texts as in (a) - below. A copy of the license is included in the section entitled - `GNU Free Documentation License." - - (a) The FSF's Back-Cover Text is: `You have freedom to copy and - modify this GNU Manual, like GNU software. Copies published by - the Free Software Foundation raise funds for GNU development." - -INFO-DIR-SECTION Typesetting -START-INFO-DIR-ENTRY -* Groff: (groff). The GNU troff document formatting system. -END-INFO-DIR-ENTRY - - -File: groff, Node: Concept Index, Prev: Program and File Index, Up: Top - -Concept Index -************* - -* Menu: - -* ", at end of sentence <1>: Using Symbols. -* ", at end of sentence: Sentences. -* ", in a macro argument: Request and Macro Arguments. -* %, as delimiter: Escapes. -* &, as delimiter: Escapes. -* ', as a comment: Comments. -* ', at end of sentence <1>: Using Symbols. -* ', at end of sentence: Sentences. -* ', delimiting arguments: Escapes. -* (, as delimiter: Escapes. -* (, starting a two-character identifier <1>: Escapes. -* (, starting a two-character identifier: Identifiers. -* ), as delimiter: Escapes. -* ), at end of sentence <1>: Using Symbols. -* ), at end of sentence: Sentences. -* *, as delimiter: Escapes. -* *, at end of sentence <1>: Using Symbols. -* *, at end of sentence: Sentences. -* +, and page motion: Expressions. -* +, as delimiter: Escapes. -* -, and page motion: Expressions. -* -, as delimiter: Escapes. -* ., as delimiter: Escapes. -* .h register, difference to nl: Diversions. -* .ps register, in comparison with .psr: Fractional Type Sizes. -* .s register, in comparison with .sr: Fractional Type Sizes. -* .S register, Plan 9 alias for .tabs: Tabs and Fields. -* .t register, and diversions: Diversion Traps. -* .tabs register, Plan 9 alias (.S): Tabs and Fields. -* .V register, and vs: Changing Type Sizes. -* /, as delimiter: Escapes. -* 8-bit input: Font File Format. -* <, as delimiter: Escapes. -* , as delimiter: Escapes. -* =, as delimiter: Escapes. -* >, as delimiter: Escapes. -* [, macro names starting with, and refer: Identifiers. -* [, starting an identifier <1>: Escapes. -* [, starting an identifier: Identifiers. -* \!, and output: Diversions. -* \!, and trnt: Character Translations. -* \!, in top-level diversion: Diversions. -* \!, incompatibilities with AT&T troff: Implementation Differences. -* \!, used as delimiter: Escapes. -* \$, when reading text for a macro: Copy-in Mode. -* \%, and translations: Character Translations. -* \%, following \X or \Y: Manipulating Hyphenation. -* \%, in \X: Postprocessor Access. -* \%, incompatibilities with AT&T troff: Implementation Differences. -* \%, used as delimiter: Escapes. -* \&, and glyph definitions: Using Symbols. -* \&, and translations: Character Translations. -* \&, at end of sentence: Sentences. -* \&, escaping control characters: Requests. -* \&, in \X: Postprocessor Access. -* \&, incompatibilities with AT&T troff: Implementation Differences. -* \&, used as delimiter: Escapes. -* \', and translations: Character Translations. -* \', incompatibilities with AT&T troff: Implementation Differences. -* \', used as delimiter: Escapes. -* \(, and translations: Character Translations. -* \), in \X: Postprocessor Access. -* \), used as delimiter: Escapes. -* \*, and warnings: Warnings. -* \*, incompatibilities with AT&T troff: Implementation Differences. -* \*, when reading text for a macro: Copy-in Mode. -* \, disabling (eo): Character Translations. -* \,, used as delimiter: Escapes. -* \-, and translations: Character Translations. -* \-, incompatibilities with AT&T troff: Implementation Differences. -* \-, used as delimiter: Escapes. -* \/, used as delimiter: Escapes. -* \0, used as delimiter: Escapes. -* \, in \X: Postprocessor Access. -* \, used as delimiter: Escapes. -* \, when reading text for a macro: Copy-in Mode. -* \, difference to \~: Request and Macro Arguments. -* \, incompatibilities with AT&T troff: Implementation Differences. -* \, used as delimiter: Escapes. -* \?, in top-level diversion: Diversions. -* \?, incompatibilities with AT&T troff: Implementation Differences. -* \?, used as delimiter: Escapes. -* \@, used as delimiter: Escapes. -* \[, and translations: Character Translations. -* \\, when reading text for a macro: Copy-in Mode. -* \^, incompatibilities with AT&T troff: Implementation Differences. -* \^, used as delimiter: Escapes. -* \_, and translations: Character Translations. -* \_, incompatibilities with AT&T troff: Implementation Differences. -* \_, used as delimiter: Escapes. -* \`, and translations: Character Translations. -* \`, incompatibilities with AT&T troff: Implementation Differences. -* \`, used as delimiter: Escapes. -* \A, allowed delimiters: Escapes. -* \a, and translations: Character Translations. -* \A, incompatibilities with AT&T troff: Implementation Differences. -* \a, used as delimiter: Escapes. -* \B, allowed delimiters: Escapes. -* \b, limitations: Drawing Requests. -* \b, possible quote characters: Escapes. -* \C, allowed delimiters: Escapes. -* \c, and fill mode: Line Control. -* \c, and no-fill mode: Line Control. -* \C, and translations: Character Translations. -* \c, incompatibilities with AT&T troff: Implementation Differences. -* \c, used as delimiter: Escapes. -* \D'f ...' and horizontal resolution: Drawing Requests. -* \D, allowed delimiters: Escapes. -* \d, used as delimiter: Escapes. -* \e, and glyph definitions: Using Symbols. -* \e, and translations: Character Translations. -* \e, incompatibilities with AT&T troff: Implementation Differences. -* \e, used as delimiter: Escapes. -* \E, used as delimiter: Escapes. -* \e, used as delimiter: Escapes. -* \F, and changing fonts: Changing Fonts. -* \F, and font positions: Font Positions. -* \f, and font translations: Changing Fonts. -* \f, incompatibilities with AT&T troff: Implementation Differences. -* \H, allowed delimiters: Escapes. -* \h, allowed delimiters: Escapes. -* \H, incompatibilities with AT&T troff: Implementation Differences. -* \H, using + and -: Expressions. -* \H, with fractional type sizes: Fractional Type Sizes. -* \L, allowed delimiters: Escapes. -* \l, allowed delimiters: Escapes. -* \L, and glyph definitions: Using Symbols. -* \l, and glyph definitions: Using Symbols. -* \N, allowed delimiters: Escapes. -* \N, and translations: Character Translations. -* \n, and warnings: Warnings. -* \n, incompatibilities with AT&T troff: Implementation Differences. -* \n, when reading text for a macro: Copy-in Mode. -* \o, possible quote characters: Escapes. -* \p, used as delimiter: Escapes. -* \R, after \c: Line Control. -* \R, allowed delimiters: Escapes. -* \R, and warnings: Warnings. -* \R, difference to nr: Auto-increment. -* \r, used as delimiter: Escapes. -* \R, using + and -: Expressions. -* \S, allowed delimiters: Escapes. -* \s, allowed delimiters: Escapes. -* \S, incompatibilities with AT&T troff: Implementation Differences. -* \s, incompatibilities with AT&T troff: Implementation Differences. -* \s, using + and -: Expressions. -* \s, with fractional type sizes: Fractional Type Sizes. -* \t, and translations: Character Translations. -* \t, and warnings: Warnings. -* \t, used as delimiter: Escapes. -* \u, used as delimiter: Escapes. -* \v, allowed delimiters: Escapes. -* \v, internal representation: Gtroff Internals. -* \w, allowed delimiters: Escapes. -* \x, allowed delimiters: Escapes. -* \X, and special characters: Postprocessor Access. -* \X, followed by \%: Manipulating Hyphenation. -* \X, possible quote characters: Escapes. -* \Y, followed by \%: Manipulating Hyphenation. -* \Z, allowed delimiters: Escapes. -* \{, incompatibilities with AT&T troff: Implementation Differences. -* \{, used as delimiter: Escapes. -* \|, incompatibilities with AT&T troff: Implementation Differences. -* \|, used as delimiter: Escapes. -* \}, and warnings: Warnings. -* \}, incompatibilities with AT&T troff: Implementation Differences. -* \}, used as delimiter: Escapes. -* \~, and translations: Character Translations. -* \~, difference to \: Request and Macro Arguments. -* \~, used as delimiter: Escapes. -* ], as part of an identifier: Identifiers. -* ], at end of sentence <1>: Using Symbols. -* ], at end of sentence: Sentences. -* ], ending an identifier <1>: Escapes. -* ], ending an identifier: Identifiers. -* ], macro names starting with, and refer: Identifiers. -* aborting (ab): Debugging. -* absolute position operator (|): Expressions. -* accent marks [ms]: ms Strings and Special Characters. -* access of postprocessor: Postprocessor Access. -* accessing unnamed glyphs with \N: Font File Format. -* activating kerning (kern): Ligatures and Kerning. -* activating ligatures (lg): Ligatures and Kerning. -* activating track kerning (tkf): Ligatures and Kerning. -* ad request, and hyphenation margin: Manipulating Hyphenation. -* ad request, and hyphenation space: Manipulating Hyphenation. -* adjusting: Filling and Adjusting. -* adjusting and filling, manipulating: Manipulating Filling and Adjusting. -* adjustment mode register (.j): Manipulating Filling and Adjusting. -* adobe glyph list (AGL): Using Symbols. -* AGL (adobe glyph list): Using Symbols. -* alias, diversion, creating (als): Strings. -* alias, macro, creating (als): Strings. -* alias, number register, creating (aln): Setting Registers. -* alias, string, creating (als): Strings. -* als request, and \$0: Parameters. -* am, am1, ami requests, and warnings: Warnings. -* annotations: Footnotes and Annotations. -* appending to a diversion (da): Diversions. -* appending to a file (opena): I/O. -* appending to a macro (am): Writing Macros. -* appending to a string (as): Strings. -* arc, drawing (\D'a ...'): Drawing Requests. -* argument delimiting characters: Escapes. -* arguments to requests and macros: Request and Macro Arguments. -* arguments, macro (\$): Parameters. -* arguments, of strings: Strings. -* arithmetic operators: Expressions. -* artificial fonts: Artificial Fonts. -* as, as1 requests, and comments: Comments. -* as, as1 requests, and warnings: Warnings. -* ASCII approximation output register (.A) <1>: Built-in Registers. -* ASCII approximation output register (.A): Groff Options. -* ASCII, output encoding: Groff Options. -* asciify request, and writem: I/O. -* assigning formats (af): Assigning Formats. -* assignments, indirect: Interpolating Registers. -* assignments, nested: Interpolating Registers. -* AT&T troff, ms macro package differences: Differences from AT&T ms. -* auto-increment: Auto-increment. -* available glyphs, list (`groff_char(7)' man page): Using Symbols. -* backslash, printing (\\, \e, \E, \[rs]) <1>: Implementation Differences. -* backslash, printing (\\, \e, \E, \[rs]): Escapes. -* backspace character: Identifiers. -* backspace character, and translations: Character Translations. -* backtrace of input stack (backtrace): Debugging. -* baseline: Sizes. -* basic unit (u): Measurements. -* basics of macros: Basics. -* bd request, and font styles: Font Families. -* bd request, and font translations: Changing Fonts. -* bd request, incompatibilities with AT&T troff: Implementation Differences. -* begin of conditional block (\{): if-else. -* beginning diversion (di): Diversions. -* blank line <1>: Requests. -* blank line: Implicit Line Breaks. -* blank line (sp): Basics. -* blank line macro (blm) <1>: Blank Line Traps. -* blank line macro (blm) <2>: Requests. -* blank line macro (blm): Implicit Line Breaks. -* blank line traps: Blank Line Traps. -* blank lines, disabling: Manipulating Spacing. -* block, conditional, begin (\{): if-else. -* block, condititional, end (\}): if-else. -* bold face [man]: Man font macros. -* bold face, imitating (bd): Artificial Fonts. -* bottom margin: Page Layout. -* bounding box: Miscellaneous. -* box rule glyph (\[br]): Drawing Requests. -* box, boxa requests, and warnings: Warnings. -* boxa request, and dn (dl): Diversions. -* bp request, and top-level diversion: Page Control. -* bp request, and traps (.pe): Page Location Traps. -* bp request, causing implicit linebreak: Manipulating Filling and Adjusting. -* bp request, using + and -: Expressions. -* br glyph, and cflags: Using Symbols. -* break <1>: Manipulating Filling and Adjusting. -* break: Basics. -* break (br): Basics. -* break request, in a while loop: while. -* break, implicit: Implicit Line Breaks. -* built-in registers: Built-in Registers. -* bulleted list, example markup [ms]: Lists in ms. -* c unit: Measurements. -* calling convention of preprocessors: Preprocessors in man pages. -* capabilities of groff: groff Capabilities. -* ce request, causing implicit linebreak: Manipulating Filling and Adjusting. -* ce request, difference to .ad c: Manipulating Filling and Adjusting. -* centered text: Manipulating Filling and Adjusting. -* centering lines (ce) <1>: Manipulating Filling and Adjusting. -* centering lines (ce): Basics. -* centimeter unit (c): Measurements. -* cf request, causing implicit linebreak: Manipulating Filling and Adjusting. -* changing font family (fam, \F): Font Families. -* changing font position (\f): Font Positions. -* changing font style (sty): Font Families. -* changing fonts (ft, \f): Changing Fonts. -* changing format, and read-only registers: Assigning Formats. -* changing the font height (\H): Artificial Fonts. -* changing the font slant (\S): Artificial Fonts. -* changing the page number character (pc): Page Layout. -* changing trap location (ch): Page Location Traps. -* changing type sizes (ps, \s): Changing Type Sizes. -* changing vertical line spacing (vs): Changing Type Sizes. -* char request, and soft hyphen character: Manipulating Hyphenation. -* char request, and translations: Character Translations. -* char request, used with \N: Using Symbols. -* character: Using Symbols. -* character properties (cflags): Using Symbols. -* character translations: Character Translations. -* character, backspace: Identifiers. -* character, backspace, and translations: Character Translations. -* character, control (.): Requests. -* character, control, changing (cc): Character Translations. -* character, defining (char): Using Symbols. -* character, defining fallback (fchar, fschar, schar): Using Symbols. -* character, escape, changing (ec): Character Translations. -* character, escape, while defining glyph: Using Symbols. -* character, field delimiting (fc): Fields. -* character, field padding (fc): Fields. -* character, hyphenation (\%): Manipulating Hyphenation. -* character, leader repetition (lc): Leaders. -* character, leader, and translations: Character Translations. -* character, leader, non-interpreted (\a): Leaders. -* character, named (\C): Using Symbols. -* character, newline: Escapes. -* character, newline, and translations: Character Translations. -* character, no-break control ('): Requests. -* character, no-break control, changing (c2): Character Translations. -* character, soft hyphen, setting (shc): Manipulating Hyphenation. -* character, space: Escapes. -* character, special: Character Translations. -* character, tab: Escapes. -* character, tab repetition (tc): Tabs and Fields. -* character, tab, and translations: Character Translations. -* character, tab, non-interpreted (\t): Tabs and Fields. -* character, tabulator: Tab Stops. -* character, transparent <1>: Using Symbols. -* character, transparent: Sentences. -* character, whitespace: Identifiers. -* character, zero width space (\&) <1>: Drawing Requests. -* character, zero width space (\&) <2>: Ligatures and Kerning. -* character, zero width space (\&): Requests. -* characters, argument delimiting: Escapes. -* characters, end-of-sentence: Using Symbols. -* characters, hyphenation: Using Symbols. -* characters, input, and output glyphs, compatibility with AT&T troff: Implementation Differences. -* characters, invalid for trf request: I/O. -* characters, invalid input: Identifiers. -* characters, overlapping: Using Symbols. -* characters, special: Special Characters. -* characters, unnamed, accessing with \N: Font File Format. -* circle, drawing (\D'c ...'): Drawing Requests. -* circle, solid, drawing (\D'C ...'): Drawing Requests. -* closing file (close): I/O. -* code, hyphenation (hcode): Manipulating Hyphenation. -* color, default: Colors. -* colors: Colors. -* colors, fill, unnamed (\D'F...'): Drawing Requests. -* command prefix: Environment. -* command-line options: Groff Options. -* commands, embedded: Embedded Commands. -* comments: Comments. -* comments in font files: Font File Format. -* comments, lining up with tabs: Comments. -* comments, with ds: Strings. -* common features: Common Features. -* common name space of macros, diversions, and strings: Strings. -* comparison operators: Expressions. -* compatibility mode <1>: Implementation Differences. -* compatibility mode: Warnings. -* composite glyph names: Using Symbols. -* conditional block, begin (\{): if-else. -* conditional block, end (\}): if-else. -* conditional page break (ne): Page Control. -* conditionals and loops: Conditionals and Loops. -* consecutive hyphenated lines (hlm): Manipulating Hyphenation. -* constant glyph space mode (cs): Artificial Fonts. -* contents, table of <1>: Leaders. -* contents, table of: Table of Contents. -* continuation, input line (\): Line Control. -* continuation, output line (\c): Line Control. -* continue request, in a while loop: while. -* continuous underlining (cu): Artificial Fonts. -* control character (.): Requests. -* control character, changing (cc): Character Translations. -* control character, no-break ('): Requests. -* control character, no-break, changing (c2): Character Translations. -* control, line: Line Control. -* control, page: Page Control. -* conventions for input: Input Conventions. -* copy-in mode: Copy-in Mode. -* copy-in mode, and macro arguments: Parameters. -* copy-in mode, and write requests: I/O. -* copying environment (evc): Environments. -* correction between italic and roman glyph (\/, \,): Ligatures and Kerning. -* correction, italic (\/): Ligatures and Kerning. -* correction, left italic (\,): Ligatures and Kerning. -* cover page macros, [ms]: ms Cover Page Macros. -* cp request, and glyph definitions: Using Symbols. -* cp1047, input encoding: Input Encodings. -* cp1047, output encoding: Groff Options. -* creating alias, for diversion (als): Strings. -* creating alias, for macro (als): Strings. -* creating alias, for number register (aln): Setting Registers. -* creating alias, for string (als): Strings. -* creating new characters (char): Using Symbols. -* credits: Credits. -* cs request, and font styles: Font Families. -* cs request, and font translations: Changing Fonts. -* cs request, incompatibilities with AT&T troff: Implementation Differences. -* cs request, with fractional type sizes: Fractional Type Sizes. -* current directory: Macro Directories. -* current input file name register (.F): Built-in Registers. -* current time: I/O. -* current time, hours (hours): Built-in Registers. -* current time, minutes (minutes): Built-in Registers. -* current time, seconds (seconds): Built-in Registers. -* da request, and dn (dl): Diversions. -* da request, and warnings: Warnings. -* date, day of the month register (dy): Built-in Registers. -* date, day of the week register (dw): Built-in Registers. -* date, month of the year register (mo): Built-in Registers. -* date, year register (year, yr): Built-in Registers. -* day of the month register (dy): Built-in Registers. -* day of the week register (dw): Built-in Registers. -* de request, and while: while. -* de, de1, dei requests, and warnings: Warnings. -* debugging: Debugging. -* default color: Colors. -* default indentation [man]: Miscellaneous man macros. -* default indentation, resetting [man]: Man usage. -* default units: Default Units. -* defining character (char): Using Symbols. -* defining fallback character (fchar, fschar, schar): Using Symbols. -* defining glyph (char): Using Symbols. -* defining symbol (char): Using Symbols. -* delayed text: Footnotes and Annotations. -* delimited arguments, incompatibilities with AT&T troff: Implementation Differences. -* delimiting character, for fields (fc): Fields. -* delimiting characters for arguments: Escapes. -* depth, of last glyph (.cdp): Environments. -* DESC file, format: DESC File Format. -* device resolution: DESC File Format. -* devices for output <1>: Output Devices. -* devices for output: Output device intro. -* dg glyph, at end of sentence <1>: Using Symbols. -* dg glyph, at end of sentence: Sentences. -* di request, and warnings: Warnings. -* differences in implementation: Implementation Differences. -* digit width space (\0): Page Motions. -* digits, and delimiters: Escapes. -* dimensions, line: Line Layout. -* directories for fonts: Font Directories. -* directories for macros: Macro Directories. -* directory, current: Macro Directories. -* directory, for tmac files: Macro Directories. -* directory, home: Macro Directories. -* directory, platform-specific: Macro Directories. -* directory, site-specific <1>: Font Directories. -* directory, site-specific: Macro Directories. -* disabling \ (eo): Character Translations. -* disabling hyphenation (\%): Manipulating Hyphenation. -* discardable horizontal space: Manipulating Filling and Adjusting. -* discarded space in traps: Manipulating Spacing. -* displays: Displays. -* displays [ms]: ms Displays and Keeps. -* distance to next trap register (.t): Page Location Traps. -* ditroff, the program: History. -* diversion name register (.z): Diversions. -* diversion trap, setting (dt): Diversion Traps. -* diversion traps: Diversion Traps. -* diversion, appending (da): Diversions. -* diversion, beginning (di): Diversions. -* diversion, creating alias (als): Strings. -* diversion, ending (di): Diversions. -* diversion, nested: Diversions. -* diversion, removing (rm): Strings. -* diversion, renaming (rn): Strings. -* diversion, stripping final newline: Strings. -* diversion, top-level: Diversions. -* diversion, top-level, and \!: Diversions. -* diversion, top-level, and \?: Diversions. -* diversion, top-level, and bp: Page Control. -* diversion, unformatting (asciify): Diversions. -* diversion, vertical position in, register (.d): Diversions. -* diversions: Diversions. -* diversions, and traps: Page Location Traps. -* diversions, shared name space with macros and strings: Strings. -* dl register, and da (boxa): Diversions. -* dn register, and da (boxa): Diversions. -* documents, multi-file: Debugging. -* documents, structuring the source code: Requests. -* double quote, in a macro argument: Request and Macro Arguments. -* double-spacing (ls) <1>: Manipulating Spacing. -* double-spacing (ls): Basics. -* double-spacing (vs, pvs): Changing Type Sizes. -* drawing a circle (\D'c ...'): Drawing Requests. -* drawing a line (\D'l ...'): Drawing Requests. -* drawing a polygon (\D'p ...'): Drawing Requests. -* drawing a solid circle (\D'C ...'): Drawing Requests. -* drawing a solid ellipse (\D'E ...'): Drawing Requests. -* drawing a solid polygon (\D'P ...'): Drawing Requests. -* drawing a spline (\D'~ ...'): Drawing Requests. -* drawing an arc (\D'a ...'): Drawing Requests. -* drawing an ellipse (\D'e ...'): Drawing Requests. -* drawing horizontal lines (\l): Drawing Requests. -* drawing requests: Drawing Requests. -* drawing vertical lines (\L): Drawing Requests. -* ds request, and comments: Strings. -* ds request, and double quotes: Request and Macro Arguments. -* ds request, and leading spaces: Strings. -* ds, ds1 requests, and comments: Comments. -* ds, ds1 requests, and warnings: Warnings. -* dumping number registers (pnr): Debugging. -* dumping symbol table (pm): Debugging. -* dumping traps (ptr): Debugging. -* EBCDIC encoding: Tab Stops. -* EBCDIC encoding of a tab: Tabs and Fields. -* EBCDIC encoding of backspace: Identifiers. -* EBCDIC, input encoding: Input Encodings. -* EBCDIC, output encoding: Groff Options. -* el request, and warnings: Warnings. -* ellipse, drawing (\D'e ...'): Drawing Requests. -* ellipse, solid, drawing (\D'E ...'): Drawing Requests. -* em glyph, and cflags: Using Symbols. -* em unit (m): Measurements. -* embedded commands: Embedded Commands. -* embedding PostScript: Embedding PostScript. -* embolding of special fonts: Artificial Fonts. -* empty line: Implicit Line Breaks. -* empty line (sp): Basics. -* empty space before a paragraph [man]: Miscellaneous man macros. -* en unit (n): Measurements. -* enabling vertical position traps (vpt): Page Location Traps. -* encoding, EBCDIC: Tab Stops. -* encoding, input, cp1047: Input Encodings. -* encoding, input, EBCDIC: Input Encodings. -* encoding, input, latin-1 (ISO 8859-1): Input Encodings. -* encoding, input, latin-2 (ISO 8859-2): Input Encodings. -* encoding, input, latin-9 (latin-0, ISO 8859-15): Input Encodings. -* encoding, output, ASCII: Groff Options. -* encoding, output, cp1047: Groff Options. -* encoding, output, EBCDIC: Groff Options. -* encoding, output, latin-1 (ISO 8859-1): Groff Options. -* encoding, output, utf-8: Groff Options. -* end of conditional block (\}): if-else. -* end-of-input macro (em): End-of-input Traps. -* end-of-input trap, setting (em): End-of-input Traps. -* end-of-input traps: End-of-input Traps. -* end-of-sentence characters: Using Symbols. -* ending diversion (di): Diversions. -* environment number/name register (.ev): Environments. -* environment variables: Environment. -* environment, copying (evc): Environments. -* environment, dimensions of last glyph (.w, .cht, .cdp, .csk): Environments. -* environment, previous line length (.n): Environments. -* environment, switching (ev): Environments. -* environments: Environments. -* eqn, the program: geqn. -* equations [ms]: ms Insertions. -* escape character, changing (ec): Character Translations. -* escape character, while defining glyph: Using Symbols. -* escapes: Escapes. -* escaping newline characters, in strings: Strings. -* ex request, use in debugging: Debugging. -* ex request, used with nx and rd: I/O. -* example markup, bulleted list [ms]: Lists in ms. -* example markup, glossary-style list [ms]: Lists in ms. -* example markup, multi-page table [ms]: Example multi-page table. -* example markup, numbered list [ms]: Lists in ms. -* example markup, title page: ms Cover Page Macros. -* examples of invocation: Invocation Examples. -* exiting (ex): Debugging. -* expansion of strings (\*): Strings. -* explicit hyphen (\%): Manipulating Hyphenation. -* expression, order of evaluation: Expressions. -* expressions: Expressions. -* expressions, and space characters: Expressions. -* extra post-vertical line space (\x): Changing Type Sizes. -* extra post-vertical line space register (.a): Manipulating Spacing. -* extra pre-vertical line space (\x): Changing Type Sizes. -* extra spaces: Filling and Adjusting. -* extremum operators (>?, : Warnings. -* fill mode <2>: Manipulating Filling and Adjusting. -* fill mode: Implicit Line Breaks. -* fill mode (fi): Manipulating Filling and Adjusting. -* fill mode, and \c: Line Control. -* filling: Filling and Adjusting. -* filling and adjusting, manipulating: Manipulating Filling and Adjusting. -* final newline, stripping in diversions: Strings. -* fl request, causing implicit linebreak: Manipulating Filling and Adjusting. -* floating keep: Displays. -* flush output (fl): Debugging. -* font description file, format <1>: Font File Format. -* font description file, format: DESC File Format. -* font directories: Font Directories. -* font families: Font Families. -* font family, changing (fam, \F): Font Families. -* font file, format: Font File Format. -* font files: Font Files. -* font files, comments: Font File Format. -* font for underlining (uf): Artificial Fonts. -* font height, changing (\H): Artificial Fonts. -* font path: Font Directories. -* font position register (.f): Font Positions. -* font position, changing (\f): Font Positions. -* font positions: Font Positions. -* font selection [man]: Man font macros. -* font slant, changing (\S): Artificial Fonts. -* font style, changing (sty): Font Families. -* font styles: Font Families. -* font, mounting (fp): Font Positions. -* font, previous (ft, \f[], \fP): Changing Fonts. -* fonts <1>: Changing Fonts. -* fonts: Fonts and Symbols. -* fonts, artificial: Artificial Fonts. -* fonts, changing (ft, \f): Changing Fonts. -* fonts, PostScript: Font Families. -* fonts, searching: Font Directories. -* fonts, special: Special Fonts. -* footers <1>: Page Location Traps. -* footers: Page Layout. -* footers [ms]: ms Headers and Footers. -* footnotes: Footnotes and Annotations. -* footnotes [ms]: ms Footnotes. -* form letters: I/O. -* format of font description file: DESC File Format. -* format of font description files: Font File Format. -* format of font files: Font File Format. -* format of register (\g): Assigning Formats. -* formats, assigning (af): Assigning Formats. -* formats, file: File formats. -* fp request, and font translations: Changing Fonts. -* fp request, incompatibilities with AT&T troff: Implementation Differences. -* fractional point sizes <1>: Implementation Differences. -* fractional point sizes: Fractional Type Sizes. -* fractional type sizes <1>: Implementation Differences. -* fractional type sizes: Fractional Type Sizes. -* french-spacing: Sentences. -* fspecial request, and font styles: Font Families. -* fspecial request, and font translations: Changing Fonts. -* fspecial request, and glyph search order: Using Symbols. -* fspecial request, and imitating bold: Artificial Fonts. -* ft request, and font translations: Changing Fonts. -* geqn, invoking: Invoking geqn. -* geqn, the program: geqn. -* GGL (groff glyph list): Using Symbols. -* ggrn, invoking: Invoking ggrn. -* ggrn, the program: ggrn. -* glossary-style list, example markup [ms]: Lists in ms. -* glyph: Using Symbols. -* glyph for line drawing: Drawing Requests. -* glyph names, composite: Using Symbols. -* glyph pile (\b): Drawing Requests. -* glyph properties (cflags): Using Symbols. -* glyph, box rule (\[br]): Drawing Requests. -* glyph, constant space: Artificial Fonts. -* glyph, defining (char): Using Symbols. -* glyph, for line drawing: Drawing Requests. -* glyph, for margins (mc): Miscellaneous. -* glyph, italic correction (\/): Ligatures and Kerning. -* glyph, last, dimensions (.w, .cht, .cdp, .csk): Environments. -* glyph, leader repetition (lc): Leaders. -* glyph, left italic correction (\,): Ligatures and Kerning. -* glyph, numbered (\N) <1>: Using Symbols. -* glyph, numbered (\N): Character Translations. -* glyph, removing definition (rchar, rfschar): Using Symbols. -* glyph, soft hyphen (hy): Manipulating Hyphenation. -* glyph, tab repetition (tc): Tabs and Fields. -* glyph, underscore (\[ru]): Drawing Requests. -* glyphs, available, list (`groff_char(7)' man page): Using Symbols. -* glyphs, output, and input characters, compatibility with AT&T troff: Implementation Differences. -* glyphs, overstriking (\o): Page Motions. -* glyphs, unnamed: Using Symbols. -* glyphs, unnamed, accessing with \N: Font File Format. -* GNU-specific register (.g): Built-in Registers. -* gpic, invoking: Invoking gpic. -* gpic, the program: gpic. -* grap, the program: grap. -* gray shading (\D'f ...'): Drawing Requests. -* grefer, invoking: Invoking grefer. -* grefer, the program: grefer. -* grn, the program: ggrn. -* grodvi, invoking: Invoking grodvi. -* grodvi, the program: grodvi. -* groff - what is it?: What Is groff?. -* groff capabilities: groff Capabilities. -* groff glyph list (GGL): Using Symbols. -* groff invocation: Invoking groff. -* groff, and pi request: I/O. -* GROFF_BIN_PATH, environment variable: Environment. -* GROFF_COMMAND_PREFIX, environment variable: Environment. -* GROFF_FONT_PATH, environment variable <1>: Font Directories. -* GROFF_FONT_PATH, environment variable: Environment. -* GROFF_TMAC_PATH, environment variable <1>: Macro Directories. -* GROFF_TMAC_PATH, environment variable: Environment. -* GROFF_TMPDIR, environment variable: Environment. -* GROFF_TYPESETTER, environment variable: Environment. -* grohtml, invoking: Invoking grohtml. -* grohtml, registers and strings: grohtml specific registers and strings. -* grohtml, the program <1>: grohtml. -* grohtml, the program: Groff Options. -* grolbp, invoking: Invoking grolbp. -* grolbp, the program: grolbp. -* grolj4, invoking: Invoking grolj4. -* grolj4, the program: grolj4. -* grops, invoking: Invoking grops. -* grops, the program: grops. -* grotty, invoking: Invoking grotty. -* grotty, the program: grotty. -* gsoelim, invoking: Invoking gsoelim. -* gsoelim, the program: gsoelim. -* gtbl, invoking: Invoking gtbl. -* gtbl, the program: gtbl. -* gtroff, identification register (.g): Built-in Registers. -* gtroff, interactive use: Debugging. -* gtroff, output: gtroff Output. -* gtroff, process ID register ($$): Built-in Registers. -* gtroff, reference: gtroff Reference. -* gxditview, invoking: Invoking gxditview. -* gxditview, the program: gxditview. -* hanging indentation [man]: Man usage. -* hcode request, and glyph definitions: Using Symbols. -* headers <1>: Page Location Traps. -* headers: Page Layout. -* headers [ms]: ms Headers and Footers. -* height, font, changing (\H): Artificial Fonts. -* height, of last glyph (.cht): Environments. -* high-water mark register (.h): Diversions. -* history: History. -* home directory: Macro Directories. -* horizontal discardable space: Manipulating Filling and Adjusting. -* horizontal input line position register (hp): Page Motions. -* horizontal input line position, saving (\k): Page Motions. -* horizontal line, drawing (\l): Drawing Requests. -* horizontal motion (\h): Page Motions. -* horizontal output line position register (.k): Page Motions. -* horizontal resolution: DESC File Format. -* horizontal resolution register (.H): Built-in Registers. -* horizontal space (\h): Page Motions. -* horizontal space, unformatting: Strings. -* hours, current time (hours): Built-in Registers. -* hpf request, and hyphenation language: Manipulating Hyphenation. -* hw request, and hyphenation language: Manipulating Hyphenation. -* hy glyph, and cflags: Using Symbols. -* hyphen, explicit (\%): Manipulating Hyphenation. -* hyphenated lines, consecutive (hlm): Manipulating Hyphenation. -* hyphenating characters: Using Symbols. -* hyphenation: Hyphenation. -* hyphenation character (\%): Manipulating Hyphenation. -* hyphenation code (hcode): Manipulating Hyphenation. -* hyphenation language register (.hla): Manipulating Hyphenation. -* hyphenation margin (hym): Manipulating Hyphenation. -* hyphenation margin register (.hym): Manipulating Hyphenation. -* hyphenation patterns (hpf): Manipulating Hyphenation. -* hyphenation restrictions register (.hy): Manipulating Hyphenation. -* hyphenation space (hys): Manipulating Hyphenation. -* hyphenation space register (.hys): Manipulating Hyphenation. -* hyphenation, disabling (\%): Manipulating Hyphenation. -* hyphenation, manipulating: Manipulating Hyphenation. -* i unit: Measurements. -* i/o: I/O. -* IBM cp1047 input encoding: Input Encodings. -* IBM cp1047 output encoding: Groff Options. -* identifiers: Identifiers. -* identifiers, undefined: Identifiers. -* ie request, and warnings: Warnings. -* if request, and the ! operator: Expressions. -* if request, operators to use with: Operators in Conditionals. -* if-else: if-else. -* imitating bold face (bd): Artificial Fonts. -* implementation differences: Implementation Differences. -* implicit breaks of lines: Implicit Line Breaks. -* implicit line breaks: Implicit Line Breaks. -* in request, causing implicit linebreak: Manipulating Filling and Adjusting. -* in request, using + and -: Expressions. -* inch unit (i): Measurements. -* including a file (so): I/O. -* incompatibilities with AT&T troff: Implementation Differences. -* increment value without changing the register: Auto-increment. -* increment, automatic: Auto-increment. -* indentaion, resetting to default [man]: Man usage. -* indentation (in): Line Layout. -* index, in macro package: Indices. -* indirect assignments: Interpolating Registers. -* input and output requests: I/O. -* input characters and output glyphs, compatibility with AT&T troff: Implementation Differences. -* input characters, invalid: Identifiers. -* input conventions: Input Conventions. -* input encoding, cp1047: Input Encodings. -* input encoding, EBCDIC: Input Encodings. -* input encoding, latin-1 (ISO 8859-1): Input Encodings. -* input encoding, latin-2 (ISO 8859-2): Input Encodings. -* input encoding, latin-9 (latin-9, ISO 8859-15): Input Encodings. -* input file name, current, register (.F): Built-in Registers. -* input level in delimited arguments: Implementation Differences. -* input line continuation (\): Line Control. -* input line number register (.c, c.): Built-in Registers. -* input line number, setting (lf): Debugging. -* input line position, horizontal, saving (\k): Page Motions. -* input line trap, setting (it): Input Line Traps. -* input line traps: Input Line Traps. -* input line traps and interrupted lines (itc): Input Line Traps. -* input line, horizontal position, register (hp): Page Motions. -* input stack, backtrace (backtrace): Debugging. -* input stack, setting limit: Debugging. -* input token: Gtroff Internals. -* input, 8-bit: Font File Format. -* input, standard, reading from (rd): I/O. -* inserting horizontal space (\h): Page Motions. -* installation: Installation. -* interactive use of gtroff: Debugging. -* intermediate output: gtroff Output. -* interpolating registers (\n): Interpolating Registers. -* interpolation of strings (\*): Strings. -* interrupted line: Line Control. -* interrupted line register (.int): Line Control. -* interrupted lines and input line traps (itc): Input Line Traps. -* introduction: Introduction. -* invalid characters for trf request: I/O. -* invalid input characters: Identifiers. -* invocation examples: Invocation Examples. -* invoking geqn: Invoking geqn. -* invoking ggrn: Invoking ggrn. -* invoking gpic: Invoking gpic. -* invoking grefer: Invoking grefer. -* invoking grodvi: Invoking grodvi. -* invoking groff: Invoking groff. -* invoking grohtml: Invoking grohtml. -* invoking grolbp: Invoking grolbp. -* invoking grolj4: Invoking grolj4. -* invoking grops: Invoking grops. -* invoking grotty: Invoking grotty. -* invoking gsoelim: Invoking gsoelim. -* invoking gtbl: Invoking gtbl. -* invoking gxditview: Invoking gxditview. -* ISO 8859-1 (latin-1), input encoding: Input Encodings. -* ISO 8859-1 (latin-1), output encoding: Groff Options. -* ISO 8859-15 (latin-9, latin-0), input encoding: Input Encodings. -* ISO 8859-2 (latin-2), input encoding: Input Encodings. -* italic correction (\/): Ligatures and Kerning. -* italic fonts [man]: Man font macros. -* italic glyph, correction after roman glyph (\,): Ligatures and Kerning. -* italic glyph, correction before roman glyph (\/): Ligatures and Kerning. -* justifying text: Manipulating Filling and Adjusting. -* justifying text (rj): Manipulating Filling and Adjusting. -* keep: Displays. -* keep, floating: Displays. -* keeps [ms]: ms Displays and Keeps. -* kerning and ligatures: Ligatures and Kerning. -* kerning enabled register (.kern): Ligatures and Kerning. -* kerning, activating (kern): Ligatures and Kerning. -* kerning, track: Ligatures and Kerning. -* landscape page orientation: Paper Size. -* last glyph, dimensions (.w, .cht, .cdp, .csk): Environments. -* last-requested point size registers (.psr, .sr): Fractional Type Sizes. -* latin-1 (ISO 8859-1), input encoding: Input Encodings. -* latin-1 (ISO 8859-1), output encoding: Groff Options. -* latin-2 (ISO 8859-2), input encoding: Input Encodings. -* latin-9 (latin-0, ISO 8859-15), input encoding: Input Encodings. -* layout, line: Line Layout. -* layout, page: Page Layout. -* lc request, and glyph definitions: Using Symbols. -* leader character: Leaders. -* leader character, and translations: Character Translations. -* leader character, non-interpreted (\a): Leaders. -* leader repetition character (lc): Leaders. -* leaders: Leaders. -* leading: Sizes. -* leading spaces: Filling and Adjusting. -* leading spaces with ds: Strings. -* left italic correction (\,): Ligatures and Kerning. -* left margin (po): Line Layout. -* left margin, how to move [man]: Man usage. -* length of a string (length): Strings. -* length of line (ll): Line Layout. -* length of page (pl): Page Layout. -* length of previous line (.n): Environments. -* length of title line (lt): Page Layout. -* letters, form: I/O. -* level of warnings (warn): Debugging. -* ligature: Using Symbols. -* ligatures and kerning: Ligatures and Kerning. -* ligatures enabled register (.lg): Ligatures and Kerning. -* ligatures, activating (lg): Ligatures and Kerning. -* limitations of \b escape: Drawing Requests. -* line break <1>: Manipulating Filling and Adjusting. -* line break <2>: Implicit Line Breaks. -* line break: Basics. -* line break (br): Basics. -* line breaks, with vertical space [man]: Man usage. -* line breaks, without vertical space [man]: Man usage. -* line control: Line Control. -* line dimensions: Line Layout. -* line drawing glyph: Drawing Requests. -* line indentation (in): Line Layout. -* line layout: Line Layout. -* line length (ll): Line Layout. -* line length register (.l): Line Layout. -* line length, previous (.n): Environments. -* line number, input, register (.c, c.): Built-in Registers. -* line number, output, register (ln): Built-in Registers. -* line numbers, printing (nm): Miscellaneous. -* line space, extra post-vertical (\x): Changing Type Sizes. -* line space, extra pre-vertical (\x): Changing Type Sizes. -* line spacing register (.L): Manipulating Spacing. -* line spacing, post-vertical (pvs): Changing Type Sizes. -* line thickness (\D't ...'): Drawing Requests. -* line, blank: Implicit Line Breaks. -* line, drawing (\D'l ...'): Drawing Requests. -* line, empty (sp): Basics. -* line, horizontal, drawing (\l): Drawing Requests. -* line, implicit breaks: Implicit Line Breaks. -* line, input, continuation (\): Line Control. -* line, input, horizontal position, register (hp): Page Motions. -* line, input, horizontal position, saving (\k): Page Motions. -* line, interrupted: Line Control. -* line, output, continuation (\c): Line Control. -* line, output, horizontal position, register (.k): Page Motions. -* line, vertical, drawing (\L): Drawing Requests. -* line-tabs mode: Tabs and Fields. -* lines, blank, disabling: Manipulating Spacing. -* lines, centering (ce) <1>: Manipulating Filling and Adjusting. -* lines, centering (ce): Basics. -* lines, consecutive hyphenated (hlm): Manipulating Hyphenation. -* lines, interrupted, and input line traps (itc): Input Line Traps. -* list: Displays. -* list of available glyphs (`groff_char(7)' man page): Using Symbols. -* ll request, using + and -: Expressions. -* location, vertical, page, marking (mk): Page Motions. -* location, vertical, page, returning to marked (rt): Page Motions. -* logical operators: Expressions. -* long names: Implementation Differences. -* loops and conditionals: Conditionals and Loops. -* lq glyph, and lq string [man]: Predefined man strings. -* ls request, alternative to (pvs): Changing Type Sizes. -* lt request, using + and -: Expressions. -* M unit: Measurements. -* m unit: Measurements. -* machine unit (u): Measurements. -* macro arguments: Request and Macro Arguments. -* macro basics: Basics. -* macro directories: Macro Directories. -* macro files, searching: Macro Directories. -* macro name register (\$0): Parameters. -* macro names, starting with [ or ], and refer: Identifiers. -* macro packages <1>: Macro Packages. -* macro packages: Macro Package Intro. -* macro packages, structuring the source code: Requests. -* macro, appending (am): Writing Macros. -* macro, arguments (\$): Parameters. -* macro, creating alias (als): Strings. -* macro, end-of-input (em): End-of-input Traps. -* macro, removing (rm): Strings. -* macro, renaming (rn): Strings. -* macros: Macros. -* macros for manual pages [man]: Man usage. -* macros, recursive: while. -* macros, searching: Macro Directories. -* macros, shared name space with strings and diversions: Strings. -* macros, tutorial for users: Tutorial for Macro Users. -* macros, writing: Writing Macros. -* major quotes: Displays. -* major version number register (.x): Built-in Registers. -* man macros: Man usage. -* man macros, bold face: Man font macros. -* man macros, custom headers and footers: Optional man extensions. -* man macros, default indentation: Miscellaneous man macros. -* man macros, empty space before a paragraph: Miscellaneous man macros. -* man macros, hanging indentation: Man usage. -* man macros, how to set fonts: Man font macros. -* man macros, italic fonts: Man font macros. -* man macros, line breaks with vertical space: Man usage. -* man macros, line breaks without vertical space: Man usage. -* man macros, moving left margin: Man usage. -* man macros, resetting default indentation: Man usage. -* man macros, tab stops: Miscellaneous man macros. -* man macros, Ultrix-specific: Optional man extensions. -* man pages: man. -* manipulating filling and adjusting: Manipulating Filling and Adjusting. -* manipulating hyphenation: Manipulating Hyphenation. -* manipulating spacing: Manipulating Spacing. -* manmacros, BSD compatibility: Miscellaneous man macros. -* manual pages: man. -* margin for hyphenation (hym): Manipulating Hyphenation. -* margin glyph (mc): Miscellaneous. -* margin, bottom: Page Layout. -* margin, left (po): Line Layout. -* margin, top: Page Layout. -* mark, high-water, register (.h): Diversions. -* marking vertical page location (mk): Page Motions. -* maximum values of Roman numerals: Assigning Formats. -* mdoc macros: mdoc. -* me macro package: me. -* measurement unit: Measurements. -* measurements: Measurements. -* measurements, specifying safely: Default Units. -* minimum values of Roman numerals: Assigning Formats. -* minor version number register (.y): Built-in Registers. -* minutes, current time (minutes): Built-in Registers. -* mm macro package: mm. -* mode for constant glyph space (cs): Artificial Fonts. -* mode, compatibility: Implementation Differences. -* mode, copy-in: Copy-in Mode. -* mode, copy-in, and write requests: I/O. -* mode, fill <1>: Warnings. -* mode, fill <2>: Manipulating Filling and Adjusting. -* mode, fill: Implicit Line Breaks. -* mode, fill (fi): Manipulating Filling and Adjusting. -* mode, fill, and \c: Line Control. -* mode, line-tabs: Tabs and Fields. -* mode, no-fill (nf): Manipulating Filling and Adjusting. -* mode, no-fill, and \c: Line Control. -* mode, no-space (ns): Manipulating Spacing. -* mode, nroff: Troff and Nroff Mode. -* mode, safer <1>: I/O. -* mode, safer <2>: Macro Directories. -* mode, safer: Groff Options. -* mode, troff: Troff and Nroff Mode. -* mode, unsafe <1>: I/O. -* mode, unsafe <2>: Macro Directories. -* mode, unsafe: Groff Options. -* month of the year register (mo): Built-in Registers. -* motion operators: Expressions. -* motion, horizontal (\h): Page Motions. -* motion, vertical (\v): Page Motions. -* motions, page: Page Motions. -* mounting font (fp): Font Positions. -* ms macros: ms. -* ms macros, accent marks: ms Strings and Special Characters. -* ms macros, body text: ms Body Text. -* ms macros, cover page: ms Cover Page Macros. -* ms macros, creating table of contents: ms TOC. -* ms macros, differences from AT&T: Differences from AT&T ms. -* ms macros, displays: ms Displays and Keeps. -* ms macros, document control registers: ms Document Control Registers. -* ms macros, equations: ms Insertions. -* ms macros, figures: ms Insertions. -* ms macros, footers: ms Headers and Footers. -* ms macros, footnotes: ms Footnotes. -* ms macros, general structure: General ms Structure. -* ms macros, headers: ms Headers and Footers. -* ms macros, headings: Headings in ms. -* ms macros, highlighting: Highlighting in ms. -* ms macros, keeps: ms Displays and Keeps. -* ms macros, lists: Lists in ms. -* ms macros, margins: ms Margins. -* ms macros, multiple columns: ms Multiple Columns. -* ms macros, nested lists: Lists in ms. -* ms macros, page layout: ms Page Layout. -* ms macros, paragraph handling: Paragraphs in ms. -* ms macros, references: ms Insertions. -* ms macros, special characters: ms Strings and Special Characters. -* ms macros, strings: ms Strings and Special Characters. -* ms macros, tables: ms Insertions. -* multi-file documents: Debugging. -* multi-line strings: Strings. -* multi-page table, example markup [ms]: Example multi-page table. -* multiple columns [ms]: ms Multiple Columns. -* n unit: Measurements. -* name space, common, of macros, diversions, and strings: Strings. -* named character (\C): Using Symbols. -* names, long: Implementation Differences. -* ne request, and the .trunc register: Page Location Traps. -* ne request, comparison with sv: Page Control. -* negating register values: Setting Registers. -* nested assignments: Interpolating Registers. -* nested diversions: Diversions. -* nested lists [ms]: Lists in ms. -* new page (bp) <1>: Page Control. -* new page (bp): Basics. -* newline character <1>: Escapes. -* newline character: Identifiers. -* newline character, and translations: Character Translations. -* newline character, in strings, escaping: Strings. -* newline, final, stripping in diversions: Strings. -* next file, processing (nx): I/O. -* next free font position register (.fp): Font Positions. -* nf request, causing implicit linebreak: Manipulating Filling and Adjusting. -* nl register, and .d: Diversions. -* nl register, difference to .h: Diversions. -* nm request, using + and -: Expressions. -* no-break control character ('): Requests. -* no-break control character, changing (c2): Character Translations. -* no-fill mode (nf): Manipulating Filling and Adjusting. -* no-fill mode, and \c: Line Control. -* no-space mode (ns): Manipulating Spacing. -* node, output: Gtroff Internals. -* nr request, and warnings: Warnings. -* nr request, using + and -: Expressions. -* nroff mode: Troff and Nroff Mode. -* nroff, the program: History. -* number of arguments register (.$): Parameters. -* number register, creating alias (aln): Setting Registers. -* number register, removing (rr): Setting Registers. -* number register, renaming (rnn): Setting Registers. -* number registers, dumping (pnr): Debugging. -* number, input line, setting (lf): Debugging. -* number, page (pn): Page Layout. -* numbered glyph (\N) <1>: Using Symbols. -* numbered glyph (\N): Character Translations. -* numbered list, example markup [ms]: Lists in ms. -* numbers, and delimiters: Escapes. -* numbers, line, printing (nm): Miscellaneous. -* numerals, Roman: Assigning Formats. -* numeric expression, valid: Expressions. -* offset, page (po): Line Layout. -* open request, and safer mode: Groff Options. -* opena request, and safer mode: Groff Options. -* opening file (open): I/O. -* operator, scaling: Expressions. -* operators, arithmetic: Expressions. -* operators, as delimiters: Escapes. -* operators, comparison: Expressions. -* operators, extremum (>?, : Built-in Registers. -* output device name string register (.T): Groff Options. -* output device usage number register (.T): Groff Options. -* output devices <1>: Output Devices. -* output devices: Output device intro. -* output encoding, ASCII: Groff Options. -* output encoding, cp1047: Groff Options. -* output encoding, EBCDIC: Groff Options. -* output encoding, latin-1 (ISO 8859-1): Groff Options. -* output encoding, utf-8: Groff Options. -* output glyphs, and input characters,compatibility with AT&T troff: Implementation Differences. -* output line number register (ln): Built-in Registers. -* output line, continuation (\c): Line Control. -* output line, horizontal position, register (.k): Page Motions. -* output node: Gtroff Internals. -* output request, and \!: Diversions. -* output, flush (fl): Debugging. -* output, gtroff: gtroff Output. -* output, intermediate: gtroff Output. -* output, suppressing (\O): Suppressing output. -* output, transparent (\!, \?): Diversions. -* output, transparent (cf, trf): I/O. -* output, transparent, incompatibilities with AT&T troff: Implementation Differences. -* output, troff: gtroff Output. -* overlapping characters: Using Symbols. -* overstriking glyphs (\o): Page Motions. -* P unit: Measurements. -* p unit: Measurements. -* packages, macros: Macro Packages. -* padding character, for fields (fc): Fields. -* page break, conditional (ne): Page Control. -* page control: Page Control. -* page ejecting register (.pe): Page Location Traps. -* page footers: Page Location Traps. -* page headers: Page Location Traps. -* page layout: Page Layout. -* page layout [ms]: ms Page Layout. -* page length (pl): Page Layout. -* page length register (.p): Page Layout. -* page location traps: Page Location Traps. -* page location, vertical, marking (mk): Page Motions. -* page location, vertical, returning to marked (rt): Page Motions. -* page motions: Page Motions. -* page number (pn): Page Layout. -* page number character (%): Page Layout. -* page number character, changing (pc): Page Layout. -* page number register (%): Page Layout. -* page offset (po): Line Layout. -* page orientation, landscape: Paper Size. -* page, new (bp): Page Control. -* paper formats: Paper Formats. -* paper size: Paper Size. -* paragraphs: Paragraphs. -* parameters: Parameters. -* parentheses: Expressions. -* path, for font files: Font Directories. -* path, for tmac files: Macro Directories. -* patterns for hyphenation (hpf): Manipulating Hyphenation. -* pi request, and groff: I/O. -* pi request, and safer mode: Groff Options. -* pic, the program: gpic. -* pica unit (P): Measurements. -* pile, glyph (\b): Drawing Requests. -* pl request, using + and -: Expressions. -* planting a trap: Traps. -* platform-specific directory: Macro Directories. -* pn request, using + and -: Expressions. -* po request, using + and -: Expressions. -* point size registers (.s, .ps): Changing Type Sizes. -* point size registers, last-requested (.psr, .sr): Fractional Type Sizes. -* point sizes, changing (ps, \s): Changing Type Sizes. -* point sizes, fractional <1>: Implementation Differences. -* point sizes, fractional: Fractional Type Sizes. -* point unit (p): Measurements. -* polygon, drawing (\D'p ...'): Drawing Requests. -* polygon, solid, drawing (\D'P ...'): Drawing Requests. -* position of lowest text line (.h): Diversions. -* position, absolute, operator (|): Expressions. -* position, horizontal input line, saving (\k): Page Motions. -* position, horizontal, in input line, register (hp): Page Motions. -* position, horizontal, in output line, register (.k): Page Motions. -* position, vertical, in diversion, register (.d): Diversions. -* positions, font: Font Positions. -* post-vertical line spacing: Changing Type Sizes. -* post-vertical line spacing register (.pvs): Changing Type Sizes. -* post-vertical line spacing, changing (pvs): Changing Type Sizes. -* postprocessor access: Postprocessor Access. -* postprocessors: Output device intro. -* PostScript fonts: Font Families. -* PostScript, bounding box: Miscellaneous. -* PostScript, embedding: Embedding PostScript. -* prefix, for commands: Environment. -* preprocessor, calling convention: Preprocessors in man pages. -* preprocessors <1>: Preprocessors. -* preprocessors: Preprocessor Intro. -* previous font (ft, \f[], \fP): Changing Fonts. -* previous line length (.n): Environments. -* print current page register (.P): Groff Options. -* printing backslash (\\, \e, \E, \[rs]) <1>: Implementation Differences. -* printing backslash (\\, \e, \E, \[rs]): Escapes. -* printing line numbers (nm): Miscellaneous. -* printing to stderr (tm, tm1, tmc): Debugging. -* printing, zero-width (\z, \Z): Page Motions. -* process ID of gtroff register ($$): Built-in Registers. -* processing next file (nx): I/O. -* properties of characters (cflags): Using Symbols. -* properties of glyphs (cflags): Using Symbols. -* ps request, and constant glyph space mode: Artificial Fonts. -* ps request, incompatibilities with AT&T troff: Implementation Differences. -* ps request, using + and -: Expressions. -* ps request, with fractional type sizes: Fractional Type Sizes. -* pso request, and safer mode: Groff Options. -* pvs request, using + and -: Expressions. -* quotes, major: Displays. -* quotes, trailing: Strings. -* radicalex glyph, and cflags: Using Symbols. -* ragged-left: Manipulating Filling and Adjusting. -* ragged-right: Manipulating Filling and Adjusting. -* rc request, and glyph definitions: Using Symbols. -* read-only register, changing format: Assigning Formats. -* reading from standard input (rd): I/O. -* recursive macros: while. -* refer, and macro names starting with [ or ]: Identifiers. -* refer, the program: grefer. -* reference, gtroff: gtroff Reference. -* references [ms]: ms Insertions. -* register, creating alias (aln): Setting Registers. -* register, format (\g): Assigning Formats. -* register, removing (rr): Setting Registers. -* register, renaming (rnn): Setting Registers. -* registers: Registers. -* registers specific to grohtml: grohtml specific registers and strings. -* registers, built-in: Built-in Registers. -* registers, interpolating (\n): Interpolating Registers. -* registers, setting (nr, \R): Setting Registers. -* removing diversion (rm): Strings. -* removing glyph definition (rchar, rfschar): Using Symbols. -* removing macro (rm): Strings. -* removing number register (rr): Setting Registers. -* removing request (rm): Strings. -* removing string (rm): Strings. -* renaming diversion (rn): Strings. -* renaming macro (rn): Strings. -* renaming number register (rnn): Setting Registers. -* renaming request (rn): Strings. -* renaming string (rn): Strings. -* request arguments: Request and Macro Arguments. -* request, removing (rm): Strings. -* request, renaming (rn): Strings. -* request, undefined: Comments. -* requests: Requests. -* requests for drawing: Drawing Requests. -* requests for input and output: I/O. -* resolution, device: DESC File Format. -* resolution, horizontal: DESC File Format. -* resolution, horizontal, register (.H): Built-in Registers. -* resolution, vertical: DESC File Format. -* resolution, vertical, register (.V): Built-in Registers. -* returning to marked vertical page location (rt): Page Motions. -* revision number register (.Y): Built-in Registers. -* rf, the program: History. -* right-justifying (rj): Manipulating Filling and Adjusting. -* rj request, causing implicit linebreak: Manipulating Filling and Adjusting. -* rn glyph, and cflags: Using Symbols. -* roff, the program: History. -* roman glyph, correction after italic glyph (\/): Ligatures and Kerning. -* roman glyph, correction before italic glyph (\,): Ligatures and Kerning. -* Roman numerals: Assigning Formats. -* Roman numerals, maximum and minimum: Assigning Formats. -* rq glyph, and rq string [man]: Predefined man strings. -* rq glyph, at end of sentence <1>: Using Symbols. -* rq glyph, at end of sentence: Sentences. -* rt request, using + and -: Expressions. -* ru glyph, and cflags: Using Symbols. -* runoff, the program: History. -* s unit <1>: Fractional Type Sizes. -* s unit: Measurements. -* safer mode <1>: I/O. -* safer mode <2>: Macro Directories. -* safer mode: Groff Options. -* saving horizontal input line position (\k): Page Motions. -* scaling operator: Expressions. -* searching fonts: Font Directories. -* searching macro files: Macro Directories. -* searching macros: Macro Directories. -* seconds, current time (seconds): Built-in Registers. -* sentence space: Sentences. -* sentence space size register (.sss): Manipulating Filling and Adjusting. -* sentences: Sentences. -* setting diversion trap (dt): Diversion Traps. -* setting end-of-input trap (em): End-of-input Traps. -* setting input line number (lf): Debugging. -* setting input line trap (it): Input Line Traps. -* setting registers (nr, \R): Setting Registers. -* shading filled objects (\D'f ...'): Drawing Requests. -* shc request, and translations: Character Translations. -* site-specific directory <1>: Font Directories. -* site-specific directory: Macro Directories. -* size of sentence space register (.sss): Manipulating Filling and Adjusting. -* size of type: Sizes. -* size of word space register (.ss): Manipulating Filling and Adjusting. -* size, paper: Paper Size. -* sizes: Sizes. -* sizes, fractional <1>: Implementation Differences. -* sizes, fractional: Fractional Type Sizes. -* skew, of last glyph (.csk): Environments. -* slant, font, changing (\S): Artificial Fonts. -* soelim, the program: gsoelim. -* soft hyphen character, setting (shc): Manipulating Hyphenation. -* soft hyphen glyph (hy): Manipulating Hyphenation. -* solid circle, drawing (\D'C ...'): Drawing Requests. -* solid ellipse, drawing (\D'E ...'): Drawing Requests. -* solid polygon, drawing (\D'P ...'): Drawing Requests. -* sp request, and no-space mode: Manipulating Spacing. -* sp request, and traps: Manipulating Spacing. -* sp request, causing implicit linebreak: Manipulating Filling and Adjusting. -* space between sentences: Sentences. -* space between sentences register (.sss): Manipulating Filling and Adjusting. -* space between words register (.ss): Manipulating Filling and Adjusting. -* space character: Escapes. -* space character, zero width (\&) <1>: Drawing Requests. -* space character, zero width (\&) <2>: Ligatures and Kerning. -* space character, zero width (\&): Requests. -* space characters, in expressions: Expressions. -* space, discardable, horizontal: Manipulating Filling and Adjusting. -* space, discarded, in traps: Manipulating Spacing. -* space, horizontal (\h): Page Motions. -* space, horizontal, unformatting: Strings. -* space, unbreakable: Page Motions. -* space, vertical, unit (v): Measurements. -* space, width of a digit (\0): Page Motions. -* spaces with ds: Strings. -* spaces, in a macro argument: Request and Macro Arguments. -* spaces, leading and trailing: Filling and Adjusting. -* spacing: Basics. -* spacing, manipulating: Manipulating Spacing. -* spacing, vertical: Sizes. -* special characters <1>: Special Characters. -* special characters: Character Translations. -* special characters [ms]: ms Strings and Special Characters. -* special fonts <1>: Font File Format. -* special fonts <2>: Special Fonts. -* special fonts: Using Symbols. -* special fonts, emboldening: Artificial Fonts. -* special request, and font translations: Changing Fonts. -* special request, and glyph search order: Using Symbols. -* spline, drawing (\D'~ ...'): Drawing Requests. -* springing a trap: Traps. -* sqrtex glyph, and cflags: Using Symbols. -* stacking glyphs (\b): Drawing Requests. -* standard input, reading from (rd): I/O. -* stderr, printing to (tm, tm1, tmc): Debugging. -* stops, tabulator: Tab Stops. -* string arguments: Strings. -* string expansion (\*): Strings. -* string interpolation (\*): Strings. -* string, appending (as): Strings. -* string, creating alias (als): Strings. -* string, length of (length): Strings. -* string, removing (rm): Strings. -* string, renaming (rn): Strings. -* strings: Strings. -* strings [ms]: ms Strings and Special Characters. -* strings specific to grohtml: grohtml specific registers and strings. -* strings, multi-line: Strings. -* strings, shared name space with macros and diversions: Strings. -* stripping final newline in diversions: Strings. -* structuring source code of documents or macro packages: Requests. -* sty request, and changing fonts: Changing Fonts. -* sty request, and font positions: Font Positions. -* sty request, and font translations: Changing Fonts. -* styles, font: Font Families. -* substring (substring): Strings. -* suppressing output (\O): Suppressing output. -* sv request, and no-space mode: Page Control. -* switching environments (ev): Environments. -* sy request, and safer mode: Groff Options. -* symbol: Using Symbols. -* symbol table, dumping (pm): Debugging. -* symbol, defining (char): Using Symbols. -* symbols, using: Using Symbols. -* system() return value register (systat): I/O. -* tab character <1>: Escapes. -* tab character: Tab Stops. -* tab character, and translations: Character Translations. -* tab character, non-interpreted (\t): Tabs and Fields. -* tab repetition character (tc): Tabs and Fields. -* tab settings register (.tabs): Tabs and Fields. -* tab stops: Tab Stops. -* tab stops [man]: Miscellaneous man macros. -* tab stops, for TTY output devices: Tabs and Fields. -* tab, line-tabs mode: Tabs and Fields. -* table of contents <1>: Leaders. -* table of contents: Table of Contents. -* table of contents, creating [ms]: ms TOC. -* tables [ms]: ms Insertions. -* tabs, and fields: Tabs and Fields. -* tabs, before comments: Comments. -* tbl, the program: gtbl. -* text line, position of lowest (.h): Diversions. -* text, gtroff processing: Text. -* text, justifying: Manipulating Filling and Adjusting. -* text, justifying (rj): Manipulating Filling and Adjusting. -* thickness of lines (\D't ...'): Drawing Requests. -* three-part title (tl): Page Layout. -* ti request, causing implicit linebreak: Manipulating Filling and Adjusting. -* ti request, using + and -: Expressions. -* time, current: I/O. -* time, current, hours (hours): Built-in Registers. -* time, current, minutes (minutes): Built-in Registers. -* time, current, seconds (seconds): Built-in Registers. -* title line (tl): Page Layout. -* title line length register (.lt): Page Layout. -* title line, length (lt): Page Layout. -* title page, example markup: ms Cover Page Macros. -* titles: Page Layout. -* tkf request, and font styles: Font Families. -* tkf request, and font translations: Changing Fonts. -* tkf request, with fractional type sizes: Fractional Type Sizes. -* tl request, and mc: Miscellaneous. -* tmac, directory: Macro Directories. -* tmac, path: Macro Directories. -* TMPDIR, environment variable: Environment. -* token, input: Gtroff Internals. -* top margin: Page Layout. -* top-level diversion: Diversions. -* top-level diversion, and \!: Diversions. -* top-level diversion, and \?: Diversions. -* top-level diversion, and bp: Page Control. -* tr request, and glyph definitions: Using Symbols. -* tr request, and soft hyphen character: Manipulating Hyphenation. -* tr request, incompatibilities with AT&T troff: Implementation Differences. -* track kerning: Ligatures and Kerning. -* track kerning, activating (tkf): Ligatures and Kerning. -* trailing quotes: Strings. -* trailing spaces: Filling and Adjusting. -* translations of characters: Character Translations. -* transparent characters <1>: Using Symbols. -* transparent characters: Sentences. -* transparent output (\!, \?): Diversions. -* transparent output (cf, trf): I/O. -* transparent output, incompatibilities with AT&T troff: Implementation Differences. -* trap, changing location (ch): Page Location Traps. -* trap, distance, register (.t): Page Location Traps. -* trap, diversion, setting (dt): Diversion Traps. -* trap, end-of-input, setting (em): End-of-input Traps. -* trap, input line, setting (it): Input Line Traps. -* trap, planting: Traps. -* trap, springing: Traps. -* traps: Traps. -* traps, and discarded space: Manipulating Spacing. -* traps, and diversions: Page Location Traps. -* traps, blank line: Blank Line Traps. -* traps, diversion: Diversion Traps. -* traps, dumping (ptr): Debugging. -* traps, end-of-input: End-of-input Traps. -* traps, input line: Input Line Traps. -* traps, input line, and interrupted lines (itc): Input Line Traps. -* traps, page location: Page Location Traps. -* traps, sprung by bp request (.pe): Page Location Traps. -* trf request, and invalid characters: I/O. -* trf request, causing implicit linebreak: Manipulating Filling and Adjusting. -* trin request, and asciify: Diversions. -* troff mode: Troff and Nroff Mode. -* troff output: gtroff Output. -* truncated vertical space register (.trunc): Page Location Traps. -* tutorial for macro users: Tutorial for Macro Users. -* type size: Sizes. -* type size registers (.s, .ps): Changing Type Sizes. -* type sizes, changing (ps, \s): Changing Type Sizes. -* type sizes, fractional <1>: Implementation Differences. -* type sizes, fractional: Fractional Type Sizes. -* u unit: Measurements. -* uf request, and font styles: Font Families. -* ul glyph, and cflags: Using Symbols. -* ul request, and font translations: Changing Fonts. -* Ultrix-specific man macros: Optional man extensions. -* unary operators: Expressions. -* unbreakable space: Page Motions. -* undefined identifiers: Identifiers. -* undefined request: Comments. -* underline font (uf): Artificial Fonts. -* underlining (ul): Artificial Fonts. -* underlining, continuous (cu): Artificial Fonts. -* underscore glyph (\[ru]): Drawing Requests. -* unformatting diversions (asciify): Diversions. -* unformatting horizontal space: Strings. -* Unicode <1>: Using Symbols. -* Unicode: Identifiers. -* unit, c: Measurements. -* unit, f: Measurements. -* unit, f, and colors: Colors. -* unit, i: Measurements. -* unit, M: Measurements. -* unit, m: Measurements. -* unit, n: Measurements. -* unit, P: Measurements. -* unit, p: Measurements. -* unit, s <1>: Fractional Type Sizes. -* unit, s: Measurements. -* unit, u: Measurements. -* unit, v: Measurements. -* unit, z <1>: Fractional Type Sizes. -* unit, z: Measurements. -* units of measurement: Measurements. -* units, default: Default Units. -* unnamed fill colors (\D'F...'): Drawing Requests. -* unnamed glyphs: Using Symbols. -* unnamed glyphs, accessing with \N: Font File Format. -* unsafe mode <1>: I/O. -* unsafe mode <2>: Macro Directories. -* unsafe mode: Groff Options. -* user's macro tutorial: Tutorial for Macro Users. -* user's tutorial for macros: Tutorial for Macro Users. -* using symbols: Using Symbols. -* utf-8, output encoding: Groff Options. -* v unit: Measurements. -* valid numeric expression: Expressions. -* value, incrementing without changing the register: Auto-increment. -* variables in environment: Environment. -* version number, major, register (.x): Built-in Registers. -* version number, minor, register (.y): Built-in Registers. -* vertical line drawing (\L): Drawing Requests. -* vertical line spacing register (.v): Changing Type Sizes. -* vertical line spacing, changing (vs): Changing Type Sizes. -* vertical line spacing, effective value: Changing Type Sizes. -* vertical motion (\v): Page Motions. -* vertical page location, marking (mk): Page Motions. -* vertical page location, returning to marked (rt): Page Motions. -* vertical position in diversion register (.d): Diversions. -* vertical position trap enable register (.vpt): Page Location Traps. -* vertical position traps, enabling (vpt): Page Location Traps. -* vertical resolution: DESC File Format. -* vertical resolution register (.V): Built-in Registers. -* vertical space unit (v): Measurements. -* vertical spacing: Sizes. -* warnings <1>: Warnings. -* warnings: Debugging. -* warnings, level (warn): Debugging. -* what is groff?: What Is groff?. -* while: while. -* while request, and the ! operator: Expressions. -* while request, confusing with br: while. -* while request, operators to use with: Operators in Conditionals. -* whitespace characters: Identifiers. -* width escape (\w): Page Motions. -* width, of last glyph (.w): Environments. -* word space size register (.ss): Manipulating Filling and Adjusting. -* writing macros: Writing Macros. -* writing to file (write): I/O. -* year, current, register (year, yr): Built-in Registers. -* z unit <1>: Fractional Type Sizes. -* z unit: Measurements. -* zero width space character (\&) <1>: Drawing Requests. -* zero width space character (\&) <2>: Ligatures and Kerning. -* zero width space character (\&): Requests. -* zero-width printing (\z, \Z): Page Motions. -* |, and page motion: Expressions. - - diff -ruN groff-1.19/doc/groff-2 groff-1.19.1/doc/groff-2 --- groff-1.19/doc/groff-2 Tue Apr 29 15:37:37 2003 +++ groff-1.19.1/doc/groff-2 Thu May 13 15:31:44 2004 @@ -1,9 +1,9 @@ -This is groff, produced by makeinfo version 4.3d from ./groff.texinfo. +This is groff, produced by makeinfo version 4.6 from ./groff.texinfo. This manual documents GNU `troff' version 1.19. - Copyright (C) 1994-2000, 2001, 2002, 2003 Free Software Foundation, -Inc. + Copyright (C) 1994-2000, 2001, 2002, 2003, 2004 Free Software +Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, @@ -23,1545 +23,5641 @@ END-INFO-DIR-ENTRY  -File: groff, Node: Man options, Next: Man usage, Prev: man, Up: man +File: groff, Node: Diversions, Next: Environments, Prev: Traps, Up: gtroff Reference -Options -------- +Diversions +========== - The command line format for using the `man' macros with `groff' is: +In `gtroff' it is possible to "divert" text into a named storage area. +Due to the similarity to defining macros it is sometimes said to be +stored in a macro. This is used for saving text for output at a later +time, which is useful for keeping blocks of text on the same page, +footnotes, tables of contents, and indices. + + For orthogonality it is said that `gtroff' is in the "top-level +diversion" if no diversion is active (i.e., the data is diverted to the +output device). + + - Request: .di macro + - Request: .da macro + Begin a diversion. Like the `de' request, it takes an argument of + a macro name to divert subsequent text into. The `da' macro + appends to an existing diversion. + + `di' or `da' without an argument ends the diversion. + + - Request: .box macro + - Request: .boxa macro + Begin (or appends to) a diversion like the `di' and `da' requests. + The difference is that `box' and `boxa' do not include a + partially-filled line in the diversion. + + Compare this: + + + Before the box. + .box xxx + In the box. + .br + .box + After the box. + .br + => Before the box. After the box. + .xxx + => In the box. + + with this: + + + Before the diversion. + .di yyy + In the diversion. + .br + .di + After the diversion. + .br + => After the diversion. + .yyy + => Before the diversion. In the diversion. + + `box' or `boxa' without an argument ends the diversion. + + - Register: \n[.z] + - Register: \n[.d] + Diversions may be nested. The read-only number register `.z' + contains the name of the current diversion (this is a string-valued + register). The read-only number register `.d' contains the current + vertical place in the diversion. If not in a diversion it is the + same as register `nl'. + + - Register: \n[.h] + The "high-water mark" on the current page. It corresponds to the + text baseline of the lowest line on the page. This is a read-only + register. + + + .tm .h==\n[.h], nl==\n[nl] + => .h==0, nl==-1 + This is a test. + .br + .sp 2 + .tm .h==\n[.h], nl==\n[nl] + => .h==40, nl==120 + + As can be seen in the previous example, empty lines are not + considered in the return value of the `.h' register. + + - Register: \n[dn] + - Register: \n[dl] + After completing a diversion, the read-write number registers `dn' + and `dl' contain the vertical and horizontal size of the diversion. + Note that only the just processed lines are counted: For the + computation of `dn' and `dl', the requests `da' and `boxa' are + handled as if `di' and `box' had been used - lines which have been + already stored in a macro are not taken into account. + + + .\" Center text both horizontally & vertically + . + .\" Enclose macro definitions in .eo and .ec + .\" to avoid the doubling of the backslash + .eo + .\" macro .(c starts centering mode + .de (c + . br + . ev (c + . evc 0 + . in 0 + . nf + . di @c + .. + + + .\" macro .)c terminates centering mode + .de )c + . br + . ev + . di + . nr @s (((\n[.t]u - \n[dn]u) / 2u) - 1v) + . sp \n[@s]u + . ce 1000 + . @c + . ce 0 + . sp \n[@s]u + . br + . fi + . rr @s + . rm @s + . rm @c + .. + .\" End of macro definitions, restore escape mechanism + .ec + + + - Escape: \! + - Escape: \?anything\? + Prevent requests, macros, and escapes from being interpreted when + read into a diversion. Both escapes take the given text and + "transparently" embed it into the diversion. This is useful for + macros which shouldn't be invoked until the diverted text is + actually output. + + The `\!' escape transparently embeds text up to and including the + end of the line. The `\?' escape transparently embeds text until + the next occurrence of the `\?' escape. Example: + + + \?ANYTHING\? + + ANYTHING may not contain newlines; use `\!' to embed newlines in + a diversion. The escape sequence `\?' is also recognized in copy + mode and turned into a single internal code; it is this code that + terminates ANYTHING. Thus the following example prints 4. + + + .nr x 1 + .nf + .di d + \?\\?\\\\?\\\\\\\\nx\\\\?\\?\? + .di + .nr x 2 + .di e + .d + .di + .nr x 3 + .di f + .e + .di + .nr x 4 + .f + + Both escapes read the data in copy mode. + + If `\!' is used in the top-level diversion, its argument is + directly embedded into the `gtroff' intermediate output. This can + be used for example to control a postprocessor which processes the + data before it is sent to the device driver. + + The `\?' escape used in the top-level diversion produces no output + at all; its argument is simply ignored. + + - Request: .output string + Emit STRING directly to the `gtroff' intermediate output (subject + to copy-mode interpretation); this is similar to `\!' used at the + top level. An initial double quote in STRING is stripped off to + allow initial blanks. + + This request can't be used before the first page has started - if + you get an error, simply insert `.br' before the `output' request. + + Without argument, `output' is ignored. + + Use with caution! It is normally only needed for mark-up used by a + postprocessor which does something with the output before sending + it to the output device, filtering out STRING again. + + - Request: .asciify div + "Unformat" the diversion specified by DIV in such a way that ASCII + characters, characters translated with the `trin' request, space + characters, and some escape sequences that were formatted and + diverted are treated like ordinary input characters when the + diversion is reread. It can be also used for gross hacks; for + example, the following sets register `n' to 1. + + + .tr @. + .di x + @nr n 1 + .br + .di + .tr @@ + .asciify x + .x + + *Note Copy-in Mode::. + + - Request: .unformat div + Like `asciify', unformat the specified diversion. However, + `unformat' only unformats spaces and tabs between words. + Unformatted tabs are treated as input tokens, and spaces are + stretchable again. + The vertical size of lines is not preserved; glyph information + (font, font size, space width, etc.) is retained. - groff -m man [ -rLL=LENGTH ] [ -rLT=LENGTH ] [ -rFT=DIST ] - [ -rcR=1 ] [ -rC1 ] [ -rD1 ] [-rHY=FLAGS ] - [ -rPNNN ] [ -rSXX ] [ -rXNNN ] - [ -rIN=LENGTH ] [ -rSN=LENGTH ] [ FILES... ] - -It is possible to use `-man' instead of `-m man'. - -`-rcR=1' - This option (the default if a TTY output device is used) creates a - single, very long page instead of multiple pages. Use `-rcR=0' to - disable it. - -`-rC1' - If more than one manual page is given on the command line, number - the pages continuously, rather than starting each at 1. - -`-rD1' - Double-sided printing. Footers for even and odd pages are - formatted differently. - -`-rFT=DIST' - Set the position of the footer text to DIST. If positive, the - distance is measured relative to the top of the page, otherwise it - is relative to the bottom. The default is -0.5i. - -`-rHY=FLAGS' - Set hyphenation flags. Possible values are 1 to hyphenate without - restrictions, 2 to not hyphenate the last word on a page, 4 to - not hyphenate the last two characters of a word, and 8 to not - hyphenate the first two characters of a word. These values are - additive; the default is 14. - -`-rIN=LENGTH' - Set the body text indent to LENGTH. If not specified, the indent - defaults to 7n (7 characters) in nroff mode and 7.2n otherwise. - For nroff, this value should always be an integer multiple of unit - `n' to get consistent indentation. - -`-rLL=LENGTH' - Set line length to LENGTH. If not specified, the line length - defaults to 78 en in nroff mode (this is 78 characters per line) - and 6.5 inch otherwise. - -`-rLT=LENGTH' - Set title length to LENGTH. If not specified, the title length - defaults to the line length. - -`-rPNNN' - Page numbering starts with NNN rather than with 1. - -`-rSXX' - Use XX (which can be 10, 11, or 12pt) as the base document font - size instead of the default value of 10pt. - -`-rSN=LENGTH' - Set the indent for sub-subheadings to LENGTH. If not specified, - the indent defaults to 3n. - -`-rXNNN' - After page NNN, number pages as NNNa, NNNb, NNNc, etc. For - example, the option `-rX2' produces the following page numbers: 1, - 2, 2a, 2b, 2c, etc. - - -File: groff, Node: Man usage, Next: Man font macros, Prev: Man options, Up: man - -Usage ------ - - This section describes the available macros for manual pages. For -further customization, put additional macros and requests into the file -`man.local' which is loaded immediately after the `man' package. - - - Macro: .TH title section [extra1 [extra2 [extra3]]] - Set the title of the man page to TITLE and the section to SECTION, - which must have a value between 1 and 8. The value of SECTION may - also have a string appended, e.g. `.pm', to indicate a specific - subsection of the man pages. - - Both TITLE and SECTION are positioned at the left and right in the - header line (with SECTION in parentheses immediately appended to - TITLE. EXTRA1 is positioned in the middle of the footer line. - EXTRA2 is positioned at the left in the footer line (or at the - left on even pages and at the right on odd pages if double-sided - printing is active). EXTRA3 is centered in the header line. - - For HTML output, headers and footers are completely suppressed. - - Additionally, this macro starts a new page; the new line number - is 1 again (except if the `-rC1' option is given on the command - line) - this feature is intended only for formatting multiple man - pages; a single man page should contain exactly one `TH' macro at - the beginning of the file. - - - Macro: .SH [heading] - Set up an unnumbered section heading sticking out to the left. - Prints out all the text following `SH' up to the end of the line - (or the text in the next line if there is no argument to `SH') in - bold face (or the font specified by the string `HF'), one size - larger than the base document size. Additionally, the left margin - and the indentation for the following text is reset to its default - value. - - - Macro: .SS [heading] - Set up an unnumbered (sub)section heading. Prints out all the text - following `SS' up to the end of the line (or the text in the next - line if there is no argument to `SS') in bold face (or the font - specified by the string `HF'), at the same size as the base - document size. Additionally, the left margin and the indentation - for the following text is reset to its default value. - - - Macro: .TP [nnn] - Set up an indented paragraph with label. The indentation is set to - NNN if that argument is supplied (the default unit is `n' if - omitted), otherwise it is set to the previous indentation value - specified with `TP', `IP', or `HP' (or to the default value if - none of them have been used yet). - - The first line of text following this macro is interpreted as a - string to be printed flush-left, as it is appropriate for a label. - It is not interpreted as part of a paragraph, so there is no - attempt to fill the first line with text from the following input - lines. Nevertheless, if the label is not as wide as the - indentation the paragraph starts at the same line (but indented), - continuing on the following lines. If the label is wider than the - indentation the descriptive part of the paragraph begins on the - line following the label, entirely indented. Note that neither - font shape nor font size of the label is set to a default value; - on the other hand, the rest of the text has default font settings. - - - Macro: .LP - - Macro: .PP - - Macro: .P - These macros are mutual aliases. Any of them causes a line break - at the current position, followed by a vertical space downwards by - the amount specified by the `PD' macro. The font size and shape - are reset to the default value (10pt roman if no `-rS' option is - given on the command line). Finally, the current left margin and - the indentation is restored. - - - Macro: .IP [designator [nnn]] - Set up an indented paragraph, using DESIGNATOR as a tag to mark - its beginning. The indentation is set to NNN if that argument is - supplied (default unit is `n'), otherwise it is set to the - previous indentation value specified with `TP', `IP', or `HP' (or - the default value if none of them have been used yet). Font size - and face of the paragraph (but not the designator) are reset to - their default values. - - To start an indented paragraph with a particular indentation but - without a designator, use `""' (two double quotes) as the first - argument of `IP'. - - For example, to start a paragraph with bullets as the designator - and 4 en indentation, write - - - .IP \(bu 4 - - - - Macro: .HP [nnn] - Set up a paragraph with hanging left indentation. The indentation - is set to NNN if that argument is supplied (default unit is `n'), - otherwise it is set to the previous indentation value specified - with `TP', `IP', or `HP' (or the default value if non of them have - been used yet). Font size and face are reset to their default - values. - - - Macro: .RS [nnn] - Move the left margin to the right by the value NNN if specified - (default unit is `n'); otherwise it is set to the previous - indentation value specified with `TP', `IP', or `HP' (or to the - default value if none of them have been used yet). The - indentation value is then set to the default. - - Calls to the `RS' macro can be nested. - - - Macro: .RE [nnn] - Move the left margin back to level NNN, restoring the previous left - margin. If no argument is given, it moves one level back. The - first level (i.e., no call to `RS' yet) has number 1, and each call - to `RS' increases the level by 1. - - To summarize, the following macros cause a line break with the -insertion of vertical space (which amount can be changed with the `PD' -macro): `SH', `SS', `TP', `LP' (`PP', `P'), `IP', and `HP'. - - The macros `RS' and `RE' also cause a break but do not insert -vertical space. - - Finally, the macros `SH', `SS', `LP' (`PP', `P'), and `RS' reset the -indentation to its default value. - - -File: groff, Node: Man font macros, Next: Miscellaneous man macros, Prev: Man usage, Up: man - -Macros to set fonts -------------------- - - The standard font is roman; the default text size is 10 point. If -command line option `-rS=N' is given, use Npt as the default text size. - - - Macro: .SM [text] - Set the text on the same line or the text on the next line in a - font that is one point size smaller than the default font. - - - Macro: .SB [text] - Set the text on the same line or the text on the next line in bold - face font, one point size smaller than the default font. - - - Macro: .BI text - Set its arguments alternately in bold face and italic, without a - space between the arguments. Thus, - - - .BI this "word and" that - - produces "thisword andthat" with "this" and "that" in bold face, - and "word and" in italics. - - - Macro: .IB text - Set its arguments alternately in italic and bold face, without a - space between the arguments. - - - Macro: .RI text - Set its arguments alternately in roman and italic, without a space - between the arguments. - - - Macro: .IR text - Set its arguments alternately in italic and roman, without a space - between the arguments. - - - Macro: .BR text - Set its arguments alternately in bold face and roman, without a - space between the arguments. - - - Macro: .RB text - Set its arguments alternately in roman and bold face, without a - space between the arguments. - - - Macro: .B [text] - Set TEXT in bold face. If no text is present on the line where - the macro is called, then the text of the next line appears in bold - face. - - - Macro: .I [text] - Set TEXT in italic. If no text is present on the line where the - macro is called, then the text of the next line appears in italic. + +File: groff, Node: Environments, Next: Suppressing output, Prev: Diversions, Up: gtroff Reference + +Environments +============ + +It happens frequently that some text should be printed in a certain +format regardless of what may be in effect at the time, for example, in +a trap invoked macro to print headers and footers. To solve this +`gtroff' processes text in "environments". An environment contains +most of the parameters that control text processing. It is possible to +switch amongst these environments; by default `gtroff' processes text +in environment 0. The following is the information kept in an +environment. + + * font parameters (size, family, style, glyph height and slant, space + and sentence space size) + + * page parameters (line length, title length, vertical spacing, line + spacing, indentation, line numbering, centering, right-justifying, + underlining, hyphenation data) + + * fill and adjust mode + + * tab stops, tab and leader characters, escape character, no-break + and hyphen indicators, margin character data + + * partially collected lines + + * input traps + + * drawing and fill colours + + These environments may be given arbitrary names (see *Note +Identifiers::, for more info). Old versions of `troff' only had +environments named `0', `1', and `2'. + + - Request: .ev [env] + - Register: \n[.ev] + Switch to another environment. The argument ENV is the name of + the environment to switch to. With no argument, `gtroff' switches + back to the previous environment. There is no limit on the number + of named environments; they are created the first time that they + are referenced. The `.ev' read-only register contains the name or + number of the current environment. This is a string-valued + register. + + Note that a call to `ev' (with argument) pushes the previously + active environment onto a stack. If, say, environments `foo', + `bar', and `zap' are called (in that order), the first `ev' + request without parameter switches back to environment `bar' + (which is popped off the stack), and a second call switches back + to environment `foo'. + + Here is an example: + + + .ev footnote-env + .fam N + .ps 6 + .vs 8 + .ll -.5i + .ev + + ... + + .ev footnote-env + \(dg Note the large, friendly letters. + .ev + + + - Request: .evc env + Copy the environment ENV into the current environment. + + The following environment data is not copied: + + * Partially filled lines. + + * The status whether the previous line was interrupted. + + * The number of lines still to center, or to right-justify, or + to underline (with or without underlined spaces); they are + set to zero. + + * The status whether a temporary indent is active. + + * Input traps and its associated data. + + * Line numbering mode is disabled; it can be reactivated with + `.nm +0'. + + * The number of consecutive hyphenated lines (set to zero). + + - Register: \n[.w] + - Register: \n[.cht] + - Register: \n[.cdp] + - Register: \n[.csk] + The `\n[.w]' register contains the width of the last glyph added + to the current environment. + + The `\n[.cht]' register contains the height of the last glyph + added to the current environment. + + The `\n[.cdp]' register contains the depth of the last glyph added + to the current environment. It is positive for glyphs extending + below the baseline. + + The `\n[.csk]' register contains the "skew" (how far to the right + of the glyph's center that `gtroff' should place an accent) of the + last glyph added to the current environment. + + - Register: \n[.n] + The `\n[.n]' register contains the length of the previous output + line in the current environment.  -File: groff, Node: Miscellaneous man macros, Next: Predefined man strings, Prev: Man font macros, Up: man +File: groff, Node: Suppressing output, Next: Colors, Prev: Environments, Up: gtroff Reference -Miscellaneous macros --------------------- +Suppressing output +================== + + - Escape: \Onum + Disable or enable output depending on the value of NUM: + + `\O0' + Disable any glyphs from being emitted to the device driver, + provided that the escape occurs at the outer level (see + `\O[3]' and `\O[4]'). Motion is not suppressed so + effectively `\O[0]' means _pen up_. + + `\O1' + Enable output of glyphs, provided that the escape occurs at + the outer level. + + `\O0' and `\O1' also reset the four registers `opminx', `opminy', + `opmaxx', and `opmaxy' to -1. *Note Register Index::. These four + registers mark the top left and bottom right hand corners of a box + which encompasses all written glyphs. + + For example the input text: + + + Hello \O[0]world \O[1]this is a test. + + produces the following output: + + + Hello this is a test. + + `\O2' + Provided that the escape occurs at the outer level, enable + output of glyphs and also write out to `stderr' the page + number and four registers encompassing the glyphs previously + written since the last call to `\O'. + + `\O3' + Begin a nesting level. At start-up, `gtroff' is at outer + level. + + `\O4' + End a nesting level. + + `\O[5PFILENAME]' + This escape is `grohtml' specific. Provided that this escape + occurs at the outer nesting level write the `filename' to + `stderr'. The position of the image, P, must be specified + and must be one of `l', `r', `c', or `i' (left, right, + centered, inline). FILENAME will be associated with the + production of the next inline image. + + +File: groff, Node: Colors, Next: I/O, Prev: Suppressing output, Up: gtroff Reference + +Colors +====== + + - Request: .color [n] + - Register: \n[.color] + If N is missing or non-zero, activate colors (this is the default); + otherwise, turn it off. + + The read-only number register `.color' is 1 if colors are active, + 0 otherwise. + + Internally, `color' sets a global flag; it does not produce a + token. Similar to the `cp' request, you should use it at the + beginning of your document to control color output. + + Colors can be also turned off with the `-c' command line option. + + - Request: .defcolor ident scheme color_components + Define color with name IDENT. SCHEME can be one of the following + values: `rgb' (three components), `cmy' (three components), `cmyk' + (four components), and `gray' or `grey' (one component). - The default indentation is 7.2n in troff mode and 7n in nroff mode -except for `grohtml' which ignores indentation. + Color components can be given either as a hexadecimal string or as + positive decimal integers in the range 0-65535. A hexadecimal + string contains all color components concatenated. It must start + with either `#' or `##'; the former specifies hex values in the + range 0-255 (which are internally multiplied by 257), the latter + in the range 0-65535. Examples: `#FFC0CB' (pink), `##ffff0000ffff' + (magenta). The default color name value is device-specific + (usually black). It is possible that the default color for `\m' + and `\M' is not identical. - - Macro: .DT - Set tabs every 0.5 inches. Since this macro is always executed - during a call to the `TH' macro, it makes sense to call it only if - the tab positions have been changed. + A new scaling indicator `f' has been introduced which multiplies + its value by 65536; this makes it convenient to specify color + components as fractions in the range 0 to 1 (1f equals 65536u). + Example: - - Macro: .PD [nnn] - Adjust the empty space before a new paragraph (or section). The - optional argument gives the amount of space (default unit is `v'); - without parameter, the value is reset to its default value (1 line - in nroff mode, 0.4v otherwise). - This affects the macros `SH', `SS', `TP', `LP' (as well as `PP' - and `P'), `IP', and `HP'. + .defcolor darkgreen rgb 0.1f 0.5f 0.2f - The following two macros are included for BSD compatibility. + Note that `f' is the default scaling indicator for the `defcolor' + request, thus the above statement is equivalent to - - Macro: .AT [system [release]] - Alter the footer for use with AT&T manpages. This command exists - only for compatibility; don't use it. The first argument SYSTEM - can be: - `3' - 7th Edition (the default) + .defcolor darkgreen rgb 0.1 0.5 0.2 - `4' - System III - `5' - System V + - Escape: \mc + - Escape: \m(co + - Escape: \m[color] + - Register: \n[.m] + Set drawing color. The following example shows how to turn the + next four words red. - An optional second argument RELEASE to `AT' specifies the release - number (such as "System V Release 3"). - - Macro: .UC [version] - Alters the footer for use with BSD manpages. This command exists - only for compatibility; don't use it. The argument can be: + \m[red]these are in red\m[] and these words are in black. - `3' - 3rd Berkeley Distribution (the default) + The escape `\m[]' returns to the previous color. - `4' - 4th Berkeley Distribution + The name of the current drawing color is available in the + read-only, string-valued number register `.m'. - `5' - 4.2 Berkeley Distribution + The drawing color is associated with the current environment + (*note Environments::). - `6' - 4.3 Berkeley Distribution + Note that `\m' doesn't produce an input token in `gtroff'. As a + consequence, it can be used in requests like `mc' (which expects a + single character as an argument) to change the color on the fly: - `7' - 4.4 Berkeley Distribution + + .mc \m[red]x\m[] + + + - Escape: \Mc + - Escape: \M(co + - Escape: \M[color] + - Register: \n[.M] + Set background color for filled objects drawn with the `\D'...'' + commands. + + A red ellipse can be created with the following code: + + + \M[red]\h'0.5i'\D'E 2i 1i'\M[] + + The escape `\M[]' returns to the previous fill color. + + The name of the current background color is available in the + read-only, string-valued number register `.M'. + + The fill color is associated with the current environment (*note + Environments::). + + Note that `\M' doesn't produce an input token in `gtroff'.  -File: groff, Node: Predefined man strings, Next: Preprocessors in man pages, Prev: Miscellaneous man macros, Up: man +File: groff, Node: I/O, Next: Postprocessor Access, Prev: Colors, Up: gtroff Reference -Predefined strings ------------------- +I/O +=== + +`gtroff' has several requests for including files: + + - Request: .so file + Read in the specified FILE and includes it in place of the `so' + request. This is quite useful for large documents, e.g. keeping + each chapter in a separate file. *Note gsoelim::, for more + information. + + Since `gtroff' replaces the `so' request with the contents of + `file', it makes a difference whether the data is terminated with + a newline or not: Assuming that file `xxx' contains the word `foo' + without a final newline, this + + + This is + .so xxx + bar + + yields `This is foobar'. + + The search path for FILE can be controlled with the `-I' command + line option. + + - Request: .pso command + Read the standard output from the specified COMMAND and includes + it in place of the `pso' request. + + This request causes an error if used in safer mode (which is the + default). Use `groff''s or `troff''s `-U' option to activate + unsafe mode. + + The comment regarding a final newline for the `so' request is valid + for `pso' also. + + - Request: .mso file + Identical to the `so' request except that `gtroff' searches for + the specified FILE in the same directories as macro files for the + the `-m' command line option. If the file name to be included has + the form `NAME.tmac' and it isn't found, `mso' tries to include + `tmac.NAME' and vice versa. + + - Request: .trf file + - Request: .cf file + Transparently output the contents of FILE. Each line is output as + if it were preceded by `\!'; however, the lines are not subject to + copy mode interpretation. If the file does not end with a newline, + then a newline is added (`trf' only). For example, to define a + macro `x' containing the contents of file `f', use + + + .di x + .trf f + .di + + Both `trf' and `cf', when used in a diversion, embeds an object in + the diversion which, when reread, causes the contents of FILE to + be transparently copied through to the output. In UNIX `troff', + the contents of FILE is immediately copied through to the output + regardless of whether there is a current diversion; this behaviour + is so anomalous that it must be considered a bug. + + While `cf' copies the contents of FILE completely unprocessed, + `trf' disallows characters such as NUL that are not valid `gtroff' + input characters (*note Identifiers::). + + Both requests cause a line break. + + - Request: .nx [file] + Force `gtroff' to continue processing of the file specified as an + argument. If no argument is given, immediately jump to the end of + file. + + - Request: .rd [prompt [arg1 arg2 ...]] + Read from standard input, and include what is read as though it + were part of the input file. Text is read until a blank line is + encountered. + + If standard input is a TTY input device (keyboard), write PROMPT + to standard error, followed by a colon (or send BEL for a beep if + no argument is given). + + Arguments after PROMPT are available for the input. For example, + the line + + + .rd data foo bar + + with the input `This is \$2.' prints + + + This is bar. + + + Using the `nx' and `rd' requests, it is easy to set up form letters. +The form letter template is constructed like this, putting the +following lines into a file called `repeat.let': + + + .ce + \*(td + .sp 2 + .nf + .rd + .sp + .rd + .fi + Body of letter. + .bp + .nx repeat.let + +When this is run, a file containing the following lines should be +redirected in. Note that requests included in this file are executed +as though they were part of the form letter. The last block of input +is the `ex' request which tells `groff' to stop processing. If this +was not there, `groff' would not know when to stop. + + + Trent A. Fisher + 708 NW 19th Av., #202 + Portland, OR 97209 + + Dear Trent, + + Len Adollar + 4315 Sierra Vista + San Diego, CA 92103 + + Dear Mr. Adollar, + + .ex - The following strings are defined: + - Request: .pi pipe + Pipe the output of `gtroff' to the shell command(s) specified by + PIPE. This request must occur before `gtroff' has a chance to + print anything. - - String: \*[S] - Switch back to the default font size. + `pi' causes an error if used in safer mode (which is the default). + Use `groff''s or `troff''s `-U' option to activate unsafe mode. - - String: \*[HF] - The typeface used for headings. The default is `B'. + Multiple calls to `pi' are allowed, acting as a chain. For + example, - - String: \*[R] - The `registered' sign. - - String: \*[Tm] - The `trademark' sign. + .pi foo + .pi bar + ... + + is the same as `.pi foo | bar'. - - String: \*[lq] - - String: \*[rq] - Left and right quote. This is equal to `\(lq' and `\(rq', - respectively. + Note that the intermediate output format of `gtroff' is piped to + the specified commands. Consequently, calling `groff' without the + `-Z' option normally causes a fatal error. + + - Request: .sy cmds + - Register: \n[systat] + Execute the shell command(s) specified by CMDS. The output is not + saved anyplace, so it is up to the user to do so. + + This request causes an error if used in safer mode (which is the + default). Use `groff''s or `troff''s `-U' option to activate + unsafe mode. + + For example, the following code fragment introduces the current + time into a document: + + + .sy perl -e 'printf ".nr H %d\\n.nr M %d\\n.nr S %d\\n",\ + (localtime(time))[2,1,0]' > /tmp/x\n[$$] + .so /tmp/x\n[$$] + .sy rm /tmp/x\n[$$] + \nH:\nM:\nS + + Note that this works by having the `perl' script (run by `sy') + print out the `nr' requests which set the number registers `H', + `M', and `S', and then reads those commands in with the `so' + request. + + For most practical purposes, the number registers `seconds', + `minutes', and `hours' which are initialized at start-up of + `gtroff' should be sufficient. Use the `af' request to get a + formatted output: + + + .af hours 00 + .af minutes 00 + .af seconds 00 + \n[hours]:\n[minutes]:\n[seconds] + + The `systat' read-write number register contains the return value + of the `system()' function executed by the last `sy' request. + + - Request: .open stream file + - Request: .opena stream file + Open the specified FILE for writing and associates the specified + STREAM with it. + + The `opena' request is like `open', but if the file exists, append + to it instead of truncating it. + + Both `open' and `opena' cause an error if used in safer mode + (which is the default). Use `groff''s or `troff''s `-U' option to + activate unsafe mode. + + - Request: .write stream data + - Request: .writec stream data + Write to the file associated with the specified STREAM. The + stream must previously have been the subject of an open request. + The remainder of the line is interpreted as the `ds' request reads + its second argument: A leading `"' is stripped, and it is read in + copy-in mode. + + The `writec' request is like `write', but only `write' appends a + newline to the data. + + - Request: .writem stream xx + Write the contents of the macro or string XX to the file + associated with the specified STREAM. + + XX is read in copy mode, i.e., already formatted elements are + ignored. Consequently, diversions must be unformatted with the + `asciify' request before calling `writem'. Usually, this means a + loss of information. + + - Request: .close stream + Close the specified STREAM; the stream is no longer an acceptable + argument to the `write' request. + + Here a simple macro to write an index entry. + + + .open idx test.idx + . + .de IX + . write idx \\n[%] \\$* + .. + . + .IX test entry + . + .close idx + + + - Escape: \Ve + - Escape: \V(ev + - Escape: \V[env] + Interpolate the contents of the specified environment variable ENV + (one-character name E, two-character name EV) as returned by the + function `getenv'. `\V' is interpreted in copy-in mode.  -File: groff, Node: Preprocessors in man pages, Next: Optional man extensions, Prev: Predefined man strings, Up: man +File: groff, Node: Postprocessor Access, Next: Miscellaneous, Prev: I/O, Up: gtroff Reference -Preprocessors in `man' pages ----------------------------- +Postprocessor Access +==================== - If a preprocessor like `gtbl' or `geqn' is needed, it has become -common usage to make the first line of the man page look like this: +There are two escapes which give information directly to the +postprocessor. This is particularly useful for embedding POSTSCRIPT +into the final document. + + - Escape: \X'xxx' + Embeds its argument into the `gtroff' output preceded with `x X'. + + The escapes `\&', `\)', `\%', and `\:' are ignored within `\X', + `\ ' and `\~' are converted to single space characters. All other + escapes (except `\\' which produces a backslash) cause an error. + + If the `use_charnames_in_special' keyword is set in the `DESC' + file, special characters no longer cause an error; the name XX is + represented as `\(XX)' in the `x X' output command. Additionally, + the backslash is represented as `\\'. + + `use_charnames_in_special' is currently used by `grohtml' only. + + - Escape: \Yn + - Escape: \Y(nm + - Escape: \Y[name] + This is approximately equivalent to `\X'\*[NAME]'' (one-character + name N, two-character name NM). However, the contents of the + string or macro NAME are not interpreted; also it is permitted for + NAME to have been defined as a macro and thus contain newlines (it + is not permitted for the argument to `\X' to contain newlines). + The inclusion of newlines requires an extension to the UNIX `troff' + output format, and confuses drivers that do not know about this + extension (*note Device Control Commands::). + *Note Output Devices::. - '\" WORD + +File: groff, Node: Miscellaneous, Next: Gtroff Internals, Prev: Postprocessor Access, Up: gtroff Reference + +Miscellaneous +============= + +This section documents parts of `gtroff' which cannot (yet) be +categorized elsewhere in this manual. -Note the single space character after the double quote. WORD consists -of letters for the needed preprocessors: `e' for `geqn', `r' for -`grefer', `t' for `gtbl'. Modern implementations of the `man' program -read this first line and automatically call the right preprocessor(s). + - Request: .nm [start [inc [space [indent]]]] + Print line numbers. START is the line number of the _next_ output + line. INC indicates which line numbers are printed. For example, + the value 5 means to emit only line numbers which are multiples + of 5; this defaults to 1. SPACE is the space to be left between + the number and the text; this defaults to one digit space. The + fourth argument is the indentation of the line numbers, defaulting + to zero. Both SPACE and INDENT are given as multiples of digit + spaces; they can be negative also. Without any arguments, line + numbers are turned off. + + `gtroff' reserves three digit spaces for the line number (which is + printed right-justified) plus the amount given by INDENT; the + output lines are concatenated to the line numbers, separated by + SPACE, and _without_ reducing the line length. Depending on the + value of the horizontal page offset (as set with the `po' + request), line numbers which are longer than the reserved space + stick out to the left, or the whole line is moved to the right. + + Parameters corresponding to missing arguments are not changed; any + non-digit argument (to be more precise, any argument starting with + a character valid as a delimiter for identifiers) is also treated + as missing. + + If line numbering has been disabled with a call to `nm' without an + argument, it can be reactivated with `.nm +0', using the + previously active line numbering parameters. + + The parameters of `nm' are associated with the current environment + (*note Environments::). The current output line number is + available in the number register `ln'. + + + .po 1m + .ll 2i + This test shows how line numbering works with groff. + .nm 999 + This test shows how line numbering works with groff. + .br + .nm xxx 3 2 + .ll -\w'0'u + This test shows how line numbering works with groff. + .nn 2 + This test shows how line numbering works with groff. + + And here the result: + + + This test shows how + line numbering works + 999 with groff. This + 1000 test shows how line + 1001 numbering works with + 1002 groff. + This test shows how + line numbering + works with groff. + This test shows how + 1005 line numbering + works with groff. + + + - Request: .nn [skip] + Temporarily turn off line numbering. The argument is the number + of lines not to be numbered; this defaults to 1. + + - Request: .mc glyph [dist] + Print a "margin character" to the right of the text.(1) (*note + Miscellaneous-Footnote-1::) The first argument is the glyph to be + printed. The second argument is the distance away from the right + margin. If missing, the previously set value is used; default is + 10pt). For text lines that are too long (that is, longer than the + text length plus DIST), the margin character is directly appended + to the lines. + + With no arguments the margin character is turned off. If this + occurs before a break, no margin character is printed. + + For compatibility with AT&T `troff', a call to `mc' to set the + margin character can't be undone immediately; at least one line + gets a margin character. Thus + + + .ll 1i + .mc \[br] + .mc + xxx + .br + xxx + + produces + + + xxx | + xxx + + For empty lines and lines produced by the `tl' request no margin + character is emitted. + + The margin character is associated with the current environment + (*note Environments::). + + This is quite useful for indicating text that has changed, and, in + fact, there are programs available for doing this (they are called + `nrchbar' and `changebar' and can be found in any + `comp.sources.unix' archive). + + + .ll 3i + .mc | + This paragraph is highlighted with a margin + character. + .sp + Note that vertical space isn't marked. + .br + \& + .br + But we can fake it with `\&'. + + Result: + + + This paragraph is highlighted | + with a margin character. | + + Note that vertical space isn't | + marked. | + | + But we can fake it with `\&'. | + + + - Request: .psbb filename + - Register: \n[llx] + - Register: \n[lly] + - Register: \n[urx] + - Register: \n[ury] + Retrieve the bounding box of the PostScript image found in + FILENAME. The file must conform to Adobe's "Document Structuring + Conventions" (DSC); the command searches for a `%%BoundingBox' + comment and extracts the bounding box values into the number + registers `llx', `lly', `urx', and `ury'. If an error occurs (for + example, `psbb' cannot find the `%%BoundingBox' comment), it sets + the four number registers to zero. + + The search path for FILENAME can be controlled with the `-I' + command line option.  -File: groff, Node: Optional man extensions, Prev: Preprocessors in man pages, Up: man +File: groff, Node: Miscellaneous-Footnotes, Up: Miscellaneous -Optional `man' extensions -------------------------- + (1) "Margin character" is a misnomer since it is an output glyph. - Use the file `man.local' for local extensions to the `man' macros or -for style changes. + +File: groff, Node: Gtroff Internals, Next: Debugging, Prev: Miscellaneous, Up: gtroff Reference -Custom headers and footers -.......................... +`gtroff' Internals +================== - In groff versions 1.18.2 and later, you can specify custom headers -and footers by redefining the following macros in `man.local'. +`gtroff' processes input in three steps. One or more input characters +are converted to an "input token".(1) (*note Gtroff +Internals-Footnote-1::) Then, one or more input tokens are converted +to an "output node". Finally, output nodes are converted to the +intermediate output language understood by all output devices. + + Actually, before step one happens, `gtroff' converts certain escape +sequences into reserved input characters (not accessible by the user); +such reserved characters are used for other internal processing also - +this is the very reason why not all characters are valid input. *Note +Identifiers::, for more on this topic. + + For example, the input string `fi\[:u]' is converted into a +character token `f', a character token `i', and a special token `:u' +(representing u umlaut). Later on, the character tokens `f' and `i' +are merged to a single output node representing the ligature glyph `fi' +(provided the current font has a glyph for this ligature); the same +happens with `:u'. All output glyph nodes are `processed' which means +that they are invariably associated with a given font, font size, +advance width, etc. During the formatting process, `gtroff' itself +adds various nodes to control the data flow. + + Macros, diversions, and strings collect elements in two chained +lists: a list of input tokens which have been passed unprocessed, and a +list of output nodes. Consider the following the diversion. + + + .di xxx + a + \!b + c + .br + .di - - Macro: .PT - Control the content of the headers. Normally, the header prints - the command name and section number on either side, and the - optional fifth argument to `TH' in the center. +It contains these elements. - - Macro: .BT - Control the content of the footers. Normally, the footer prints - the page number and the third and fourth arguments to `TH'. +node list token list element number +line start node -- 1 +glyph node `a' -- 2 +word space node -- 3 +-- `b' 4 +-- `\n' 5 +glyph node `c' -- 6 +vertical size node -- 7 +vertical size node -- 8 +-- `\n' 9 + +Elements 1, 7, and 8 are inserted by `gtroff'; the latter two (which +are always present) specify the vertical extent of the last line, +possibly modified by `\x'. The `br' request finishes the current +partial line, inserting a newline input token which is subsequently +converted to a space when the diversion is reread. Note that the word +space node has a fixed width which isn't stretchable anymore. To +convert horizontal space nodes back to input tokens, use the `unformat' +request. + + Macros only contain elements in the token list (and the node list is +empty); diversions and strings can contain elements in both lists. + + Note that the `chop' request simply reduces the number of elements +in a macro, string, or diversion by one. Exceptions are "compatibility +save" and "compatibility ignore" input tokens which are ignored. The +`substring' request also ignores those input tokens. + + Some requests like `tr' or `cflags' work on glyph identifiers only; +this means that the associated glyph can be changed without destroying +this association. This can be very helpful for substituting glyphs. +In the following example, we assume that glyph `foo' isn't available by +default, so we provide a substitution using the `fchar' request and map +it to input character `x'. + + + .fchar \[foo] foo + .tr x \[foo] + +Now let us assume that we install an additional special font `bar' +which has glyph `foo'. + + + .special bar + .rchar \[foo] + +Since glyphs defined with `fchar' are searched before glyphs in special +fonts, we must call `rchar' to remove the definition of the fallback +glyph. Anyway, the translation is still active; `x' now maps to the +real glyph `foo'. - Use the `FT' number register to specify the footer position. The - default is -0.5i. + +File: groff, Node: Gtroff Internals-Footnotes, Up: Gtroff Internals -Ultrix-specific man macros -.......................... + (1) Except the escapes `\f', `\F', `\H', `\m', `\M', `\R', `\s', and +`\S' which are processed immediately if not in copy-in mode. - The `groff' source distribution includes a file named `man.ultrix', -containing macros compatible with the Ultrix variant of `man'. Copy -this file into `man.local' (or use the `mso' request to load it) to -enable the following macros. + +File: groff, Node: Debugging, Next: Implementation Differences, Prev: Gtroff Internals, Up: gtroff Reference - - Macro: .CT key - Print `'. +Debugging +========= - - Macro: .CW - Print subsequent text using the constant width (Courier) typeface. +`gtroff' is not easy to debug, but there are some useful features and +strategies for debugging. - - Macro: .Ds - Begin a non-filled display. + - Request: .lf line [filename] + Change the line number and optionally the file name `gtroff' shall + use for error and warning messages. LINE is the input line number + of the _next_ line. - - Macro: .De - End a non-filled display started with `Ds'. + Without argument, the request is ignored. - - Macro: .EX [indent] - Begins a non-filled display using the constant width (Courier) - typeface. Use the optional INDENT argument to indent the display. + This is a debugging aid for documents which are split into many + files, then put together with `soelim' and other preprocessors. + Usually, it isn't invoked manually. - - Macro: .EE - End a non-filled display started with `EX'. + Note that other `troff' implementations (including the original + AT&T version) handle `lf' differently. For them, LINE changes the + line number of the _current_ line. - - Macro: .G [text] - Sets TEXT in Helvetica. If no text is present on the line where - the macro is called, then the text of the next line appears in - Helvetica. + - Request: .tm string + - Request: .tm1 string + - Request: .tmc string + Send STRING to the standard error output; this is very useful for + printing debugging messages among other things. - - Macro: .GL [text] - Sets TEXT in Helvetica Oblique. If no text is present on the line - where the macro is called, then the text of the next line appears - in Helvetica Oblique. + STRING is read in copy mode. - - Macro: .HB [text] - Sets TEXT in Helvetica Bold. If no text is present on the line - where the macro is called, then all text up to the next `HB' - appears in Helvetica Bold. + The `tm' request ignores leading spaces of STRING; `tm1' handles + its argument similar to the `ds' request: a leading double quote + in STRING is stripped to allow initial blanks. - - Macro: .TB [text] - Identical to `HB'. + The `tmc' request is similar to `tm1' but does not append a + newline (as is done in `tm' and `tm1'). - - Macro: .MS title sect [punct] - Set a manpage reference in Ultrix format. The TITLE is in Courier - instead of italic. Optional punctuation follows the section - number without an intervening space. + - Request: .ab [string] + Similar to the `tm' request, except that it causes `gtroff' to + stop processing. With no argument it prints `User Abort.' to + standard error. - - Macro: .NT [`C'] [title] - Begin a note. Print the optional title, or the word "Note", - centered on the page. Text following the macro makes up the body - of the note, and is indented on both sides. If the first argument - is `C', the body of the note is printed centered (the second - argument replaces the word "Note" if specified). + - Request: .ex + The `ex' request also causes `gtroff' to stop processing; see also + *Note I/O::. - - Macro: .NE - End a note begun with `NT'. + When doing something involved it is useful to leave the debugging +statements in the code and have them turned on by a command line flag. - - Macro: .PN path [punct] - Set the path name in constant width (Courier), followed by - optional punctuation. - - Macro: .Pn [punct] path [punct] - When called with two arguments, identical to `PN'. When called - with three arguments, set the second argument in constant width - (Courier), bracketed by the first and third arguments in the - current font. + .if \n(DB .tm debugging output - - Macro: .R - Switch to roman font and turn off any underlining in effect. +To activate these statements say - - Macro: .RN - Print the string `'. - - Macro: .VS [`4'] - Start printing a change bar in the margin if the number `4' is - specified. Otherwise, this macro does nothing. + groff -rDB=1 file - - Macro: .VE - End printing the change bar begun by `VS'. + If it is known in advance that there will be many errors and no +useful output, `gtroff' can be forced to suppress formatted output with +the `-z' flag. + + - Request: .pm + Print the entire symbol table on `stderr'. Names of all defined + macros, strings, and diversions are print together with their size + in bytes. Since `gtroff' sometimes adds nodes by itself, the + returned size can be larger than expected. + + This request differs from UNIX `troff': `gtroff' reports the sizes + of diversions, ignores an additional argument to print only the + total of the sizes, and the size isn't returned in blocks of 128 + characters. + + - Request: .pnr + Print the names and contents of all currently defined number + registers on `stderr'. + + - Request: .ptr + Print the names and positions of all traps (not including input + line traps and diversion traps) on `stderr'. Empty slots in the + page trap list are printed as well, because they can affect the + priority of subsequently planted traps. + + - Request: .fl + Instruct `gtroff' to flush its output immediately. The intent is + for interactive use, but this behaviour is currently not + implemented in `gtroff'. Contrary to UNIX `troff', TTY output is + sent to a device driver also (`grotty'), making it non-trivial to + communicate interactively. + + This request causes a line break. + + - Request: .backtrace + Print a backtrace of the input stack to the standard error stream. + + Consider the following in file `test': + + + .de xxx + . backtrace + .. + .de yyy + . xxx + .. + . + .yyy + + On execution, `gtroff' prints the following: + + + test:2: backtrace: macro `xxx' + test:5: backtrace: macro `yyy' + test:8: backtrace: file `test' + + The option `-b' of `gtroff' internally calls a variant of this + request on each error and warning. + + - Register: \n[slimit] + Use the `slimit' number register to set the maximum number of + objects on the input stack. If `slimit' is less than or equal + to 0, there is no limit set. With no limit, a buggy recursive + macro can exhaust virtual memory. + + The default value is 1000; this is a compile-time constant. + + - Request: .warnscale si + Set the scaling indicator used in warnings to SI. Valid values for + SI are `u', `i', `c', `p', and `P'. At startup, it is set to `i'. + + - Request: .spreadwarn [limit] + Make `gtroff' emit a warning if the additional space inserted for + each space between words in an output line is larger or equal to + LIMIT. A negative value is changed to zero; no argument toggles + the warning on and off without changing LIMIT. The default scaling + indicator is `m'. At startup, `spreadwarn' is deactivated, and + LIMIT is set to 3m. + + For example, + + + .spreadwarn 0.2m + + will cause a warning if `gtroff' must add 0.2m or more for each + interword space in a line. + + This request is active only if text is justified to both margins + (using `.ad b'). + + `gtroff' has command line options for printing out more warnings +(`-w') and for printing backtraces (`-b') when a warning or an error +occurs. The most verbose level of warnings is `-ww'. + + - Request: .warn [flags] + - Register: \n[.warn] + Control the level of warnings checked for. The FLAGS are the sum + of the numbers associated with each warning that is to be enabled; + all other warnings are disabled. The number associated with each + warning is listed below. For example, `.warn 0' disables all + warnings, and `.warn 1' disables all warnings except that about + missing glyphs. If no argument is given, all warnings are enabled. + + The read-only number register `.warn' contains the current warning + level. + +* Menu: + +* Warnings:: + + +File: groff, Node: Warnings, Prev: Debugging, Up: Debugging + +Warnings +-------- + +The warnings that can be given to `gtroff' are divided into the +following categories. The name associated with each warning is used by +the `-w' and `-W' options; the number is used by the `warn' request and +by the `.warn' register. + +`char' +`1' + Non-existent glyphs.(1) (*note Warnings-Footnote-1::) This is + enabled by default. + +`number' +`2' + Invalid numeric expressions. This is enabled by default. *Note + Expressions::. + +`break' +`4' + In fill mode, lines which could not be broken so that their length + was less than the line length. This is enabled by default. + +`delim' +`8' + Missing or mismatched closing delimiters. + +`el' +`16' + Use of the `el' request with no matching `ie' request. *Note + if-else::. + +`scale' +`32' + Meaningless scaling indicators. + +`range' +`64' + Out of range arguments. + +`syntax' +`128' + Dubious syntax in numeric expressions. + +`di' +`256' + Use of `di' or `da' without an argument when there is no current + diversion. + +`mac' +`512' + Use of undefined strings, macros and diversions. When an undefined + string, macro, or diversion is used, that string is automatically + defined as empty. So, in most cases, at most one warning is given + for each name. + +`reg' +`1024' + Use of undefined number registers. When an undefined number + register is used, that register is automatically defined to have a + value of 0. So, in most cases, at most one warning is given for + use of a particular name. + +`tab' +`2048' + Use of a tab character where a number was expected. + +`right-brace' +`4096' + Use of `\}' where a number was expected. + +`missing' +`8192' + Requests that are missing non-optional arguments. + +`input' +`16384' + Invalid input characters. + +`escape' +`32768' + Unrecognized escape sequences. When an unrecognized escape + sequence `\X' is encountered, the escape character is ignored, and + X is printed. + +`space' +`65536' + Missing space between a request or macro and its argument. This + warning is given when an undefined name longer than two characters + is encountered, and the first two characters of the name make a + defined name. The request or macro is not invoked. When this + warning is given, no macro is automatically defined. This is + enabled by default. This warning never occurs in compatibility + mode. + +`font' +`131072' + Non-existent fonts. This is enabled by default. + +`ig' +`262144' + Invalid escapes in text ignored with the `ig' request. These are + conditions that are errors when they do not occur in ignored text. + +`color' +`524288' + Color related warnings. + +`all' + All warnings except `di', `mac' and `reg'. It is intended that + this covers all warnings that are useful with traditional macro + packages. + +`w' + All warnings. + + +File: groff, Node: Warnings-Footnotes, Up: Warnings + + (1) `char' is a misnomer since it reports missing glyphs - there +aren't missing input characters, only invalid ones. + + +File: groff, Node: Implementation Differences, Prev: Debugging, Up: gtroff Reference + +Implementation Differences +========================== + +GNU `troff' has a number of features which cause incompatibilities with +documents written with old versions of `troff'. + + Long names cause some incompatibilities. UNIX `troff' interprets + + + .dsabcd + +as defining a string `ab' with contents `cd'. Normally, GNU `troff' +interprets this as a call of a macro named `dsabcd'. Also UNIX `troff' +interprets `\*[' or `\n[' as references to a string or number register +called `['. In GNU `troff', however, this is normally interpreted as +the start of a long name. In compatibility mode GNU `troff' interprets +long names in the traditional way (which means that they are not +recognized as names). + + - Request: .cp [n] + - Request: .do cmd + - Register: \n[.C] + If N is missing or non-zero, turn on compatibility mode; + otherwise, turn it off. + + The read-only number register `.C' is 1 if compatibility mode is + on, 0 otherwise. + + Compatibility mode can be also turned on with the `-C' command line + option. + + The `do' request turns off compatibility mode while executing its + arguments as a `gtroff' command. -Simple example -.............. - The following example `man.local' file alters the `SH' macro to add -some extra vertical space before printing the heading. Headings are -printed in Helvetica Bold. + .do fam T + executes the `fam' request when compatibility mode is enabled. - .\" Make the heading fonts Helvetica - .ds HF HB - . - .\" Put more whitespace in front of headings. - .rn SH SH-orig - .de SH - . if t .sp (u;\\n[PD]*2) - . SH-orig \\$* + `gtroff' restores the previous compatibility setting before + interpreting any files sourced by the CMD. + + Two other features are controlled by `-C'. If not in compatibility +mode, GNU `troff' preserves the input level in delimited arguments: + + + .ds xx ' + \w'abc\*(xxdef' + +In compatibility mode, the string `72def'' is returned; without `-C' +the resulting string is `168' (assuming a TTY output device). + + Finally, the escapes `\f', `\H', `\m', `\M', `\R', `\s', and `\S' +are transparent for recognizing the beginning of a line only in +compatibility mode (this is a rather obscure feature). For example, +the code + + + .de xx + Hallo! .. + \fB.xx\fP + +prints `Hallo!' in bold face if in compatibility mode, and `.xx' in +bold face otherwise. + + GNU `troff' does not allow the use of the escape sequences `\|', +`\^', `\&', `\{', `\}', `\', `\'', `\`', `\-', `\_', `\!', `\%', +and `\c' in names of strings, macros, diversions, number registers, +fonts or environments; UNIX `troff' does. The `\A' escape sequence +(*note Identifiers::) may be helpful in avoiding use of these escape +sequences in names. + + Fractional point sizes cause one noteworthy incompatibility. In +UNIX `troff' the `ps' request ignores scale indicators and thus + + + .ps 10u + +sets the point size to 10 points, whereas in GNU `troff' it sets the +point size to 10 scaled points. *Note Fractional Type Sizes::, for +more information. + + In GNU `troff' there is a fundamental difference between +(unformatted) input characters and (formatted) output glyphs. +Everything that affects how a glyph is output is stored with the glyph +node; once a glyph node has been constructed it is unaffected by any +subsequent requests that are executed, including `bd', `cs', `tkf', +`tr', or `fp' requests. Normally glyphs are constructed from input +characters at the moment immediately before the glyph is added to the +current output line. Macros, diversions and strings are all, in fact, +the same type of object; they contain lists of input characters and +glyph nodes in any combination. A glyph node does not behave like an +input character for the purposes of macro processing; it does not +inherit any of the special properties that the input character from +which it was constructed might have had. For example, + + + .di x + \\\\ + .br + .di + .x + +prints `\\' in GNU `troff'; each pair of input backslashes is turned +into one output backslash and the resulting output backslashes are not +interpreted as escape characters when they are reread. UNIX `troff' +would interpret them as escape characters when they were reread and +would end up printing one `\'. The correct way to obtain a printable +backslash is to use the `\e' escape sequence: This always prints a +single instance of the current escape character, regardless of whether +or not it is used in a diversion; it also works in both GNU `troff' and +UNIX `troff'.(1) (*note Implementation Differences-Footnote-1::) To +store, for some reason, an escape sequence in a diversion that will be +interpreted when the diversion is reread, either use the traditional +`\!' transparent output facility, or, if this is unsuitable, the new +`\?' escape sequence. + + *Note Diversions::, and *Note Gtroff Internals::, for more +information. + + +File: groff, Node: Implementation Differences-Footnotes, Up: Implementation Differences + + (1) To be completely independent of the current escape character, +use `\(rs' which represents a reverse solidus (backslash) glyph. + + +File: groff, Node: Preprocessors, Next: Output Devices, Prev: gtroff Reference, Up: Top + +Preprocessors +************* + +This chapter describes all preprocessors that come with `groff' or +which are freely available. + +* Menu: + +* geqn:: +* gtbl:: +* gpic:: +* ggrn:: +* grap:: +* grefer:: +* gsoelim::  -File: groff, Node: mdoc, Next: ms, Prev: man, Up: Macro Packages +File: groff, Node: geqn, Next: gtbl, Prev: Preprocessors, Up: Preprocessors -`mdoc' +`geqn' ====== - See the `groff_mdoc(7)' man page (type `man groff_mdoc' at the -command line). +* Menu: + +* Invoking geqn::  -File: groff, Node: ms, Next: me, Prev: mdoc, Up: Macro Packages +File: groff, Node: Invoking geqn, Prev: geqn, Up: geqn + +Invoking `geqn' +--------------- -`ms' -==== + +File: groff, Node: gtbl, Next: gpic, Prev: geqn, Up: Preprocessors - The `-ms' macros are suitable for reports, letters, books, user -manuals, and so forth. The package provides macros for cover pages, -section headings, paragraphs, lists, footnotes, pagination, and a table -of contents. +`gtbl' +====== * Menu: -* ms Intro:: -* General ms Structure:: -* ms Document Control Registers:: -* ms Cover Page Macros:: -* ms Body Text:: -* ms Page Layout:: -* Differences from AT&T ms:: +* Invoking gtbl::  -File: groff, Node: ms Intro, Next: General ms Structure, Prev: ms, Up: ms +File: groff, Node: Invoking gtbl, Prev: gtbl, Up: gtbl -Introduction to `ms' --------------------- +Invoking `gtbl' +--------------- - The original `-ms' macros were included with AT&T `troff' as well as -the `man' macros. While the `man' package is intended for brief -documents that can be read on-line as well as printed, the `ms' macros -are suitable for longer documents that are meant to be printed rather -than read on-line. - - The `ms' macro package included with `groff' is a complete, -bottom-up re-implementation. Several macros (specific to AT&T or -Berkeley) are not included, while several new commands are. *Note -Differences from AT&T ms::, for more information. - - -File: groff, Node: General ms Structure, Next: ms Document Control Registers, Prev: ms Intro, Up: ms - -General structure of an `ms' document -------------------------------------- - - The `ms' macro package expects a certain amount of structure, but -not as much as packages such as `man' or `mdoc'. - - The simplest documents can begin with a paragraph macro (such as -`LP' or `PP'), and consist of text separated by paragraph macros or -even blank lines. Longer documents have a structure as follows: - -*Document type* - If you invoke the `RP' (report) macro on the first line of the - document, `groff' prints the cover page information on its own - page; otherwise it prints the information on the first page with - your document text immediately following. Other document formats - found in AT&T `troff' are specific to AT&T or Berkeley, and are - not supported in `groff'. - -*Format and layout* - By setting number registers, you can change your document's type - (font and size), margins, spacing, headers and footers, and - footnotes. *Note ms Document Control Registers::, for more - details. - -*Cover page* - A cover page consists of a title, the author's name and - institution, an abstract, and the date. (1) (*note General ms - Structure-Footnote-1::) *Note ms Cover Page Macros::, for more - details. - -*Body* - Following the cover page is your document. You can use the `ms' - macros to write reports, letters, books, and so forth. The - package is designed for structured documents, consisting of - paragraphs interspersed with headings and augmented by lists, - footnotes, tables, and other common constructs. *Note ms Body - Text::, for more details. - -*Table of contents* - Longer documents usually include a table of contents, which you - can invoke by placing the `TC' macro at the end of your document. - The `ms' macros have minimal indexing facilities, consisting of the - `IX' macro, which prints an entry on standard error. Printing the - table of contents at the end is necessary since `groff' is a - single-pass text formatter, thus it cannot determine the page - number of each section until that section has actually been set - and printed. Since `ms' output is intended for hardcopy, you can - manually relocate the pages containing the table of contents - between the cover page and the body text after printing. - - -File: groff, Node: General ms Structure-Footnotes, Up: General ms Structure - - (1) Actually, only the title is required. - - -File: groff, Node: ms Document Control Registers, Next: ms Cover Page Macros, Prev: General ms Structure, Up: ms - -Document control registers --------------------------- - - The following is a list of document control number registers. For -the sake of consistency, set registers related to margins at the -beginning of your document, or just after the `RP' macro. You can set -other registers later in your document, but you should keep them -together at the beginning to make them easy to find and edit as -necessary. + +File: groff, Node: gpic, Next: ggrn, Prev: gtbl, Up: Preprocessors -Margin Settings -............... +`gpic' +====== - - Register: \n[PO] - Defines the page offset (i.e. the left margin). There is no - explicit right margin setting; the combination of the `PO' and - `LL' registers implicitly define the right margin width. +* Menu: - Effective: next page. +* Invoking gpic:: - Default value: 1i. + +File: groff, Node: Invoking gpic, Prev: gpic, Up: gpic - - Register: \n[LL] - Defines the line length (i.e. the width of the body text). +Invoking `gpic' +--------------- - Effective: next paragraph. + +File: groff, Node: ggrn, Next: grap, Prev: gpic, Up: Preprocessors - Default: 6i. +`ggrn' +====== - - Register: \n[LT] - Defines the title length (i.e. the header and footer width). This - is usually the same as `LL', but not necessarily. +* Menu: - Effective: next paragraph. +* Invoking ggrn:: - Default: 6i. + +File: groff, Node: Invoking ggrn, Prev: ggrn, Up: ggrn - - Register: \n[HM] - Defines the header margin height at the top of the page. +Invoking `ggrn' +--------------- - Effective: next page. + +File: groff, Node: grap, Next: grefer, Prev: ggrn, Up: Preprocessors - Default: 1i. +`grap' +====== - - Register: \n[FM] - Defines the footer margin height at the bottom of the page. +A free implementation of `grap', written by Ted Faber, is available as +an extra package from the following address: - Effective: next page. + `http://www.lunabase.org/~faber/Vault/software/grap/' - Default: 1i. + +File: groff, Node: grefer, Next: gsoelim, Prev: grap, Up: Preprocessors -Text Settings -............. +`grefer' +======== - - Register: \n[PS] - Defines the point size of the body text. +* Menu: - Effective: next paragraph. +* Invoking grefer:: - Default: 10p. + +File: groff, Node: Invoking grefer, Prev: grefer, Up: grefer - - Register: \n[VS] - Defines the space between lines (line height plus leading). +Invoking `grefer' +----------------- - Effective: next paragraph. + +File: groff, Node: gsoelim, Prev: grefer, Up: Preprocessors - Default: 12p. +`gsoelim' +========= -Paragraph Settings -.................. +* Menu: - - Register: \n[PI] - Defines the initial indent of a `.PP' paragraph. +* Invoking gsoelim:: - Effective: next paragraph. + +File: groff, Node: Invoking gsoelim, Prev: gsoelim, Up: gsoelim - Default: 5n. +Invoking `gsoelim' +------------------ - - Register: \n[PD] - Defines the space between paragraphs. + +File: groff, Node: Output Devices, Next: File formats, Prev: Preprocessors, Up: Top - Effective: next paragraph. +Output Devices +************** - Default: 0.3v. +* Menu: - - Register: \n[QI] - Defines the indent on both sides of a quoted (`.QP') paragraph. +* Special Characters:: +* grotty:: +* grops:: +* grodvi:: +* grolj4:: +* grolbp:: +* grohtml:: +* gxditview:: - Effective: next paragraph. + +File: groff, Node: Special Characters, Next: grotty, Prev: Output Devices, Up: Output Devices - Default: 5n. +Special Characters +================== -Footnote Settings -................. +*Note Font Files::. + + +File: groff, Node: grotty, Next: grops, Prev: Special Characters, Up: Output Devices + +`grotty' +======== - - Register: \n[FL] - Defines the length of a footnote. +* Menu: - Effective: next footnote. +* Invoking grotty:: - Default: `\n[LL]' * 5 / 6. + +File: groff, Node: Invoking grotty, Prev: grotty, Up: grotty - - Register: \n[FI] - Defines the footnote indent. +Invoking `grotty' +----------------- - Effective: next footnote. + +File: groff, Node: grops, Next: grodvi, Prev: grotty, Up: Output Devices - Default: 2n. +`grops' +======= - - Register: \n[FF] - The footnote format: - `0' - Prints the footnote number as a superscript; indents the - footnote (default). +* Menu: - `1' - Prints the number followed by a period (like 1.) and indents - the footnote. +* Invoking grops:: +* Embedding PostScript:: - `2' - Like 1, without an indent. + +File: groff, Node: Invoking grops, Next: Embedding PostScript, Prev: grops, Up: grops - `3' - Like 1, but prints the footnote number as a hanging paragraph. +Invoking `grops' +---------------- - Effective: next footnote. + +File: groff, Node: Embedding PostScript, Prev: Invoking grops, Up: grops - Default: 0. +Embedding POSTSCRIPT +-------------------- -Miscellaneous Number Registers -.............................. + +File: groff, Node: grodvi, Next: grolj4, Prev: grops, Up: Output Devices - - Register: \n[MINGW] - Defines the minimum width between columns in a multi-column - document. +`grodvi' +======== + +* Menu: + +* Invoking grodvi:: + + +File: groff, Node: Invoking grodvi, Prev: grodvi, Up: grodvi + +Invoking `grodvi' +----------------- - Effective: next page. + +File: groff, Node: grolj4, Next: grolbp, Prev: grodvi, Up: Output Devices + +`grolj4' +======== + +* Menu: - Default: 2n. +* Invoking grolj4::  -File: groff, Node: ms Cover Page Macros, Next: ms Body Text, Prev: ms Document Control Registers, Up: ms +File: groff, Node: Invoking grolj4, Prev: grolj4, Up: grolj4 -Cover page macros +Invoking `grolj4' ----------------- - Use the following macros to create a cover page for your document in -the order shown. + +File: groff, Node: grolbp, Next: grohtml, Prev: grolj4, Up: Output Devices - - Macro: .RP [`no'] - Specifies the report format for your document. The report format - creates a separate cover page. The default action (no `.RP' - macro) is to print a subset of the cover page on page 1 of your - document. +`grolbp' +======== - If you use the word `no' as an optional argument, `groff' prints a - title page but does not repeat any of the title page information - (title, author, abstract, etc.) on page 1 of the document. - - - Macro: .DA [...] - (optional) Print the current date, or the arguments to the macro - if any, on the title page (if specified) and in the footers. This - is the default for `nroff'. - - - Macro: .ND [...] - (optional) Print the current date, or the arguments to the macro - if any, on the title page (if specified) but not in the footers. - This is the default for `troff'. - - - Macro: .TL - Specifies the document title. `groff' collects text following the - `.TL' macro into the title, until reaching the author name or - abstract. - - - Macro: .AU - Specifies the author's name, which appears on the line (or lines) - immediately following. You can specify multiple authors as - follows: - - - .AU - John Doe - .AI - University of West Bumblefuzz - .AU - Martha Buck - .AI - Monolithic Corporation - - ... +* Menu: +* Invoking grolbp:: - - Macro: .AI - Specifies the author's institution. You can specify multiple - institutions in the same way that you specify multiple authors. - - - Macro: .AB [`no'] - Begins the abstract. The default is to print the word ABSTRACT, - centered and in italics, above the text of the abstract. The word - `no' as an optional argument suppresses this heading. - - - Macro: .AE - End the abstract. - - The following is example mark-up for a title page. - - - .RP - .TL - The Inevitability of Code Bloat - in Commercial and Free Software - .AU - J. Random Luser - .AI - University of West Bumblefuzz - .AB - This report examines the long-term growth - of the code bases in two large, popular software - packages; the free Emacs and the commercial - Microsoft Word. - While differences appear in the type or order - of features added, due to the different - methodologies used, the results are the same - in the end. - .PP - The free software approach is shown to be - superior in that while free software can - become as bloated as commercial offerings, - free software tends to have fewer serious - bugs and the added features are in line with - user demand. - .AE - - ... the rest of the paper follows ... + +File: groff, Node: Invoking grolbp, Prev: grolbp, Up: grolbp + +Invoking `grolbp' +-----------------  -File: groff, Node: ms Body Text, Next: ms Page Layout, Prev: ms Cover Page Macros, Up: ms +File: groff, Node: grohtml, Next: gxditview, Prev: grolbp, Up: Output Devices + +`grohtml' +========= -Body text ---------- +* Menu: - This section describes macros used to mark up the body of your -document. Examples include paragraphs, sections, and other groups. +* Invoking grohtml:: +* grohtml specific registers and strings:: + + +File: groff, Node: Invoking grohtml, Next: grohtml specific registers and strings, Prev: grohtml, Up: grohtml + +Invoking `grohtml' +------------------ + + +File: groff, Node: grohtml specific registers and strings, Prev: Invoking grohtml, Up: grohtml + +`grohtml' specific registers and strings +---------------------------------------- + + - Register: \n[ps4html] + - String: \*[www-image-template] + The registers `ps4html' and `www-image-template' are defined by + the `pre-grohtml' preprocessor. `pre-grohtml' reads in the + `troff' input, marks up the inline equations and passes the result + firstly to + + + troff -Tps -rps4html=1 -dwww-image-template=TEMPLATE + + and secondly to + + + troff -Thtml + + The PostScript device is used to create all the image files, and + the register `ps4html' enables the macro sets to ignore floating + keeps, footers, and headings. + + The register `www-image-template' is set to the user specified + template name or the default name. + + +File: groff, Node: gxditview, Prev: grohtml, Up: Output Devices + +`gxditview' +=========== * Menu: -* Paragraphs in ms:: -* Headings in ms:: -* Highlighting in ms:: -* Lists in ms:: -* Indents in ms:: -* Tabstops in ms:: -* ms Displays and Keeps:: -* ms Insertions:: -* Example multi-page table:: -* ms Footnotes:: +* Invoking gxditview::  -File: groff, Node: Paragraphs in ms, Next: Headings in ms, Prev: ms Body Text, Up: ms Body Text +File: groff, Node: Invoking gxditview, Prev: gxditview, Up: gxditview -Paragraphs -.......... +Invoking `gxditview' +-------------------- + + +File: groff, Node: File formats, Next: Installation, Prev: Output Devices, Up: Top - The following paragraph types are available. +File formats +************ - - Macro: .PP - Sets a paragraph with an initial indent. +All files read and written by `gtroff' are text files. The following +two sections describe their format. + +* Menu: - - Macro: .LP - Sets a paragraph with no initial indent. +* gtroff Output:: +* Font Files:: - - Macro: .QP - Sets a paragraph that is indented at both left and right margins. - The effect is identical to the HTML `
        ' element. The - next paragraph or heading returns margins to normal. + +File: groff, Node: gtroff Output, Next: Font Files, Prev: File formats, Up: File formats - - Macro: .XP - Sets a paragraph whose lines are indented, except for the first - line. This is a Berkeley extension. +`gtroff' Output +=============== - The following markup uses all four paragraph macros. +This section describes the intermediate output format of GNU `troff'. +This output is produced by a run of `gtroff' before it is fed into a +device postprocessor program. + + As `groff' is a wrapper program around `gtroff' that automatically +calls a postprocessor, this output does not show up normally. This is +why it is called "intermediate". `groff' provides the option `-Z' to +inhibit postprocessing, such that the produced intermediate output is +sent to standard output just like calling `gtroff' manually. + + Here, the term "troff output" describes what is output by `gtroff', +while "intermediate output" refers to the language that is accepted by +the parser that prepares this output for the postprocessors. This +parser is smarter on whitespace and implements obsolete elements for +compatibility, otherwise both formats are the same.(1) (*note gtroff +Output-Footnote-1::) + + The main purpose of the intermediate output concept is to facilitate +the development of postprocessors by providing a common programming +interface for all devices. It has a language of its own that is +completely different from the `gtroff' language. While the `gtroff' +language is a high-level programming language for text processing, the +intermediate output language is a kind of low-level assembler language +by specifying all positions on the page for writing and drawing. + + The intermediate output produced by `gtroff' is fairly readable, +while output from AT&T `troff' is rather hard to understand because of +strange habits that are still supported, but not used any longer by +`gtroff'. +* Menu: - .NH 2 - Cases used in the study - .LP - The following software and versions were - considered for this report. - .PP - For commercial software, we chose - .B "Microsoft Word for Windows" , - starting with version 1.0 through the - current version (Word 2000). - .PP - For free software, we chose - .B Emacs , - from its first appearance as a standalone - editor through the current version (v20). - See [Bloggs 2002] for details. - .QP - Franklin's Law applied to software: - software expands to outgrow both - RAM and disk space over time. - .LP - Bibliography: - .XP - Bloggs, Joseph R., - .I "Everyone's a Critic" , - Underground Press, March 2002. - A definitive work that answers all questions - and criticisms about the quality and usability of - free software. +* Language Concepts:: +* Command Reference:: +* Intermediate Output Examples:: +* Output Language Compatibility::  -File: groff, Node: Headings in ms, Next: Highlighting in ms, Prev: Paragraphs in ms, Up: ms Body Text +File: groff, Node: gtroff Output-Footnotes, Up: gtroff Output -Headings -........ + (1) The parser and postprocessor for intermediate output can be +found in the file +`GROFF-SOURCE-DIR/src/libs/libdriver/input.cpp'. - Use headings to create a hierarchical structure for your document. -The `ms' macros print headings in *bold*, using the same font family -and point size as the body text. + +File: groff, Node: Language Concepts, Next: Command Reference, Prev: gtroff Output, Up: gtroff Output - The following describes the heading macros: +Language Concepts +----------------- - - Macro: .NH curr-level - - Macro: .NH S level0 ... - Numbered heading. The argument is either a numeric argument to - indicate the level of the heading, or the letter `S' followed by - numeric arguments to set the heading level explicitly. +During the run of `gtroff', the input data is cracked down to the +information on what has to be printed at what position on the intended +device. So the language of the intermediate output format can be quite +small. Its only elements are commands with and without arguments. In +this section, the term "command" always refers to the intermediate +output language, and never to the `gtroff' language used for document +formatting. There are commands for positioning and text writing, for +drawing, and for device controlling. - If you specify heading levels out of sequence, such as invoking - `.NH 3' after `.NH 1', `groff' prints a warning on standard error. +* Menu: - - Macro: .SH - Unnumbered subheading. +* Separation:: +* Argument Units:: +* Document Parts::  -File: groff, Node: Highlighting in ms, Next: Lists in ms, Prev: Headings in ms, Up: ms Body Text +File: groff, Node: Separation, Next: Argument Units, Prev: Language Concepts, Up: Language Concepts -Highlighting -............ +Separation +.......... - The `ms' macros provide a variety of methods to highlight or -emphasize text: +AT&T `troff' output has strange requirements on whitespace. The +`gtroff' output parser, however, is smart about whitespace by making it +maximally optional. The whitespace characters, i.e., the tab, space, +and newline characters, always have a syntactical meaning. They are +never printable because spacing within the output is always done by +positioning commands. + + Any sequence of space or tab characters is treated as a single +"syntactical space". It separates commands and arguments, but is only +required when there would occur a clashing between the command code and +the arguments without the space. Most often, this happens when +variable-length command names, arguments, argument lists, or command +clusters meet. Commands and arguments with a known, fixed length need +not be separated by syntactical space. + + A line break is a syntactical element, too. Every command argument +can be followed by whitespace, a comment, or a newline character. Thus +a "syntactical line break" is defined to consist of optional +syntactical space that is optionally followed by a comment, and a +newline character. + + The normal commands, those for positioning and text, consist of a +single letter taking a fixed number of arguments. For historical +reasons, the parser allows to stack such commands on the same line, but +fortunately, in `gtroff''s intermediate output, every command with at +least one argument is followed by a line break, thus providing +excellent readability. + + The other commands - those for drawing and device controlling - have +a more complicated structure; some recognize long command names, and +some take a variable number of arguments. So all `D' and `x' commands +were designed to request a syntactical line break after their last +argument. Only one command, `x X', has an argument that can stretch +over several lines; all other commands must have all of their arguments +on the same line as the command, i.e., the arguments may not be +splitted by a line break. - - Macro: .B [txt [post [pre]]] - Sets its first argument in *bold type*. If you specify a second - argument, `groff' prints it in the previous font after the bold - text, with no intervening space (this allows you to set - punctuation after the highlighted text without highlighting the - punctuation). Similarly, it prints the third argument (if any) in - the previous font *before* the first argument. For example, + Empty lines (these are lines containing only space and/or a +comment), can occur everywhere. They are just ignored. + +File: groff, Node: Argument Units, Next: Document Parts, Prev: Separation, Up: Language Concepts - .B foo ) ( +Argument Units +.............. - prints (*foo*). +Some commands take integer arguments that are assumed to represent +values in a measurement unit, but the letter for the corresponding +scale indicator is not written with the output command arguments. Most +commands assume the scale indicator `u', the basic unit of the device, +some use `z', the scaled point unit of the device, while others, such +as the color commands, expect plain integers. + + Note that single characters can have the eighth bit set, as can the +names of fonts and special characters. The names of characters and +fonts can be of arbitrary length. A character that is to be printed +will always be in the current font. + + A string argument is always terminated by the next whitespace +character (space, tab, or newline); an embedded `#' character is +regarded as part of the argument, not as the beginning of a comment +command. An integer argument is already terminated by the next +non-digit character, which then is regarded as the first character of +the next argument or command. - If you give this macro no arguments, `groff' prints all text - following in bold until the next highlighting, paragraph, or - heading macro. + +File: groff, Node: Document Parts, Prev: Argument Units, Up: Language Concepts - - Macro: .R [txt [post [pre]]] - Sets its first argument in roman (or regular) type. It operates - similarly to the `B' macro otherwise. +Document Parts +.............. - - Macro: .I [txt [post [pre]]] - Sets its first argument in _italic type_. It operates similarly - to the `B' macro otherwise. +A correct intermediate output document consists of two parts, the +"prologue" and the "body". - - Macro: .CW [txt [post [pre]]] - Sets its first argument in a `constant width face'. It operates - similarly to the `B' macro otherwise. + The task of the prologue is to set the general device parameters +using three exactly specified commands. `gtroff''s prologue is +guaranteed to consist of the following three lines (in that order): + + + x T DEVICE + x res N H V + x init + +with the arguments set as outlined in *Note Device Control Commands::. +Note that the parser for the intermediate output format is able to +swallow additional whitespace and comments as well even in the prologue. + + The body is the main section for processing the document data. +Syntactically, it is a sequence of any commands different from the ones +used in the prologue. Processing is terminated as soon as the first +`x stop' command is encountered; the last line of any `gtroff' +intermediate output always contains such a command. + + Semantically, the body is page oriented. A new page is started by a +`p' command. Positioning, writing, and drawing commands are always +done within the current page, so they cannot occur before the first `p' +command. Absolute positioning (by the `H' and `V' commands) is done +relative to the current page; all other positioning is done relative to +the current location within this page. - - Macro: .BI [txt [post [pre]]] - Sets its first argument in bold italic type. It operates - similarly to the `B' macro otherwise. + +File: groff, Node: Command Reference, Next: Intermediate Output Examples, Prev: Language Concepts, Up: gtroff Output - - Macro: .BX [txt] - Prints its argument and draws a box around it. If you want to box - a string that contains spaces, use a digit-width space (`\0'). +Command Reference +----------------- - - Macro: .UL [txt [post]] - Prints its first argument with an underline. If you specify a - second argument, `groff' prints it in the previous font after the - underlined text, with no intervening space. +This section describes all intermediate output commands, both from AT&T +`troff' as well as the `gtroff' extensions. - - Macro: .LG - Prints all text following in larger type (two points larger than - the current point size) until the next font size, highlighting, - paragraph, or heading macro. You can specify this macro multiple - times to enlarge the point size as needed. +* Menu: + +* Comment Command:: +* Simple Commands:: +* Graphics Commands:: +* Device Control Commands:: +* Obsolete Command:: + + +File: groff, Node: Comment Command, Next: Simple Commands, Prev: Command Reference, Up: Command Reference - - Macro: .SM - Prints all text following in smaller type (two points smaller than - the current point size) until the next type size, highlighting, - paragraph, or heading macro. You can specify this macro multiple - times to reduce the point size as needed. +Comment Command +............... - - Macro: .NL - Prints all text following in the normal point size (that is, the - value of the `PS' register). +`#ANYTHING' + A comment. Ignore any characters from the `#' character up to the + next newline character. + + This command is the only possibility for commenting in the + intermediate output. Each comment can be preceded by arbitrary + syntactical space; every command can be terminated by a comment.  -File: groff, Node: Lists in ms, Next: Indents in ms, Prev: Highlighting in ms, Up: ms Body Text +File: groff, Node: Simple Commands, Next: Graphics Commands, Prev: Comment Command, Up: Command Reference -Lists -..... +Simple Commands +............... - The `.IP' macro handles duties for all lists. +The commands in this subsection have a command code consisting of a +single character, taking a fixed number of arguments. Most of them are +commands for positioning and text writing. These commands are smart +about whitespace. Optionally, syntactical space can be inserted +before, after, and between the command letter and its arguments. All +of these commands are stackable, i.e., they can be preceded by other +simple commands or followed by arbitrary other commands on the same +line. A separating syntactical space is only necessary when two +integer arguments would clash or if the preceding argument ends with a +string argument. + +`C XXX' + Print a special character named XXX. The trailing syntactical + space or line break is necessary to allow glyph names of arbitrary + length. The glyph is printed at the current print position; the + glyph's size is read from the font file. The print position is + not changed. + +`c G' + Print glyph G at the current print position;(1) (*note Simple + Commands-Footnote-1::) the glyph's size is read from the font + file. The print position is not changed. + +`f N' + Set font to font number N (a non-negative integer). + +`H N' + Move right to the absolute vertical position N (a non-negative + integer in basic units `u' relative to left edge of current page. + +`h N' + Move N (a non-negative integer) basic units `u' horizontally to + the right. The original UNIX troff manual allows negative values + for N also, but `gtroff' doesn't use this. + +`m COLOR-SCHEME [COMPONENT ...]' + Set the color for text (glyphs), line drawing, and the outline of + graphic objects using different color schemes; the analoguous + command for the filling color of graphic objects is `DF'. The + color components are specified as integer arguments between 0 and + 65536. The number of color components and their meaning vary for + the different color schemes. These commands are generated by + `gtroff''s escape sequence `\m'. No position changing. These + commands are a `gtroff' extension. + + `mc CYAN MAGENTA YELLOW' + Set color using the CMY color scheme, having the 3 color + components CYAN, MAGENTA, and YELLOW. + + `md' + Set color to the default color value (black in most cases). + No component arguments. + + `mg GRAY' + Set color to the shade of gray given by the argument, an + integer between 0 (black) and 65536 (white). + + `mk CYAN MAGENTA YELLOW BLACK' + Set color using the CMYK color scheme, having the 4 color + components CYAN, MAGENTA, YELLOW, and BLACK. + + `mr RED GREEN BLUE' + Set color using the RGB color scheme, having the 3 color + components RED, GREEN, and BLUE. + +`N N' + Print glyph with index N (a non-negative integer) of the current + font. This command is a `gtroff' extension. + +`n B A' + Inform the device about a line break, but no positioning is done by + this command. In AT&T `troff', the integer arguments B and A + informed about the space before and after the current line to make + the intermediate output more human readable without performing any + action. In `groff', they are just ignored, but they must be + provided for compatibility reasons. + +`p N' + Begin a new page in the outprint. The page number is set to N. + This page is completely independent of pages formerly processed + even if those have the same page number. The vertical position on + the outprint is automatically set to 0. All positioning, writing, + and drawing is always done relative to a page, so a `p' command + must be issued before any of these commands. + +`s N' + Set point size to N scaled points (this is unit `z'). AT&T + `troff' used the unit points (`p') instead. *Note Output Language + Compatibility::. + +`t XXX' +`t XXX DUMMY-ARG' + Print a word, i.e., a sequence of characters XXX representing + output glyphs which names are single characters, terminated by a + space character or a line break; an optional second integer + argument is ignored (this allows the formatter to generate an even + number of arguments). The first glyph should be printed at the + current position, the current horizontal position should then be + increased by the width of the first glyph, and so on for each + glyph. The widths of the glyphs are read from the font file, + scaled for the current point size, and rounded to a multiple of + the horizontal resolution. Special characters cannot be printed + using this command (use the `C' command for special characters). + This command is a `gtroff' extension; it is only used for devices + whose `DESC' file contains the `tcommand' keyword (*note DESC File + Format::). + +`u N XXX' + Print word with track kerning. This is the same as the `t' + command except that after printing each glyph, the current + horizontal position is increased by the sum of the width of that + glyph and N (an integer in basic units `u'). This command is a + `gtroff' extension; it is only used for devices whose `DESC' file + contains the `tcommand' keyword (*note DESC File Format::). + +`V N' + Move down to the absolute vertical position N (a non-negative + integer in basic units `u') relative to upper edge of current page. + +`v N' + Move N basic units `u' down (N is a non-negative integer). The + original UNIX troff manual allows negative values for N also, but + `gtroff' doesn't use this. + +`w' + Informs about a paddable white space to increase readability. The + spacing itself must be performed explicitly by a move command. - - Macro: .IP [marker [width]] - The MARKER is usually a bullet glyph (`\[bu]') for unordered - lists, a number (or auto-incrementing number register) for - numbered lists, or a word or phrase for indented (glossary-style) - lists. + +File: groff, Node: Simple Commands-Footnotes, Up: Simple Commands - The WIDTH specifies the indent for the body of each list item; its - default unit is `n'. Once specified, the indent remains the same - for all list items in the document until specified again. + (1) `c' is actually a misnomer since it outputs a glyph. - The following is an example of a bulleted list. + +File: groff, Node: Graphics Commands, Next: Device Control Commands, Prev: Simple Commands, Up: Command Reference +Graphics Commands +................. - A bulleted list: - .IP \[bu] 2 - lawyers - .IP \[bu] - guns - .IP \[bu] - money +Each graphics or drawing command in the intermediate output starts with +the letter `D', followed by one or two characters that specify a +subcommand; this is followed by a fixed or variable number of integer +arguments that are separated by a single space character. A `D' +command may not be followed by another command on the same line (apart +from a comment), so each `D' command is terminated by a syntactical +line break. + + `gtroff' output follows the classical spacing rules (no space +between command and subcommand, all arguments are preceded by a single +space character), but the parser allows optional space between the +command letters and makes the space before the first argument optional. +As usual, each space can be any sequence of tab and space characters. + + Some graphics commands can take a variable number of arguments. In +this case, they are integers representing a size measured in basic +units `u'. The arguments called H1, H2, ..., HN stand for horizontal +distances where positive means right, negative left. The arguments +called V1, V2, ..., VN stand for vertical distances where positive +means down, negative up. All these distances are offsets relative to +the current location. + + Each graphics command directly corresponds to a similar `gtroff' +`\D' escape sequence. *Note Drawing Requests::. + + Unknown `D' commands are assumed to be device-specific. Its +arguments are parsed as strings; the whole information is then sent to +the postprocessor. + + In the following command reference, the syntax element +means a syntactical line break as defined above. + +`D~ H1 V1 H2 V2 ... HN VN' + Draw B-spline from current position to offset (H1,V1), then to + offset (H2,V2), if given, etc. up to (HN,VN). This command takes + a variable number of argument pairs; the current position is moved + to the terminal point of the drawn curve. + +`Da H1 V1 H2 V2' + Draw arc from current position to (H1,V1)+(H2,V2) with center at + (H1,V1); then move the current position to the final point of the + arc. + +`DC D' +`DC D DUMMY-ARG' + Draw a solid circle using the current fill color with diameter D + (integer in basic units `u') with leftmost point at the current + position; then move the current position to the rightmost point of + the circle. An optional second integer argument is ignored (this + allows the formatter to generate an even number of arguments). + This command is a `gtroff' extension. + +`Dc D' + Draw circle line with diameter D (integer in basic units `u') with + leftmost point at the current position; then move the current + position to the rightmost point of the circle. + +`DE H V' + Draw a solid ellipse in the current fill color with a horizontal + diameter of H and a vertical diameter of V (both integers in basic + units `u') with the leftmost point at the current position; then + move to the rightmost point of the ellipse. This command is a + `gtroff' extension. + +`De H V' + Draw an outlined ellipse with a horizontal diameter of H and a + vertical diameter of V (both integers in basic units `u') with the + leftmost point at current position; then move to the rightmost + point of the ellipse. + +`DF COLOR-SCHEME [COMPONENT ...]' + Set fill color for solid drawing objects using different color + schemes; the analoguous command for setting the color of text, line + graphics, and the outline of graphic objects is `m'. The color + components are specified as integer arguments between 0 and 65536. + The number of color components and their meaning vary for the + different color schemes. These commands are generated by + `gtroff''s escape sequences `\D'F ...'' and `\M' (with no other + corresponding graphics commands). No position changing. This + command is a `gtroff' extension. + + `DFc CYAN MAGENTA YELLOW' + Set fill color for solid drawing objects using the CMY color + scheme, having the 3 color components CYAN, MAGENTA, and + YELLOW. + + `DFd' + Set fill color for solid drawing objects to the default fill + color value (black in most cases). No component arguments. + + `DFg GRAY' + Set fill color for solid drawing objects to the shade of gray + given by the argument, an integer between 0 (black) and 65536 + (white). + + `DFk CYAN MAGENTA YELLOW BLACK' + Set fill color for solid drawing objects using the CMYK color + scheme, having the 4 color components CYAN, MAGENTA, YELLOW, + and BLACK. + + `DFr RED GREEN BLUE' + Set fill color for solid drawing objects using the RGB color + scheme, having the 3 color components RED, GREEN, and BLUE. + +`Df N' + The argument N must be an integer in the range -32767 to 32767. + + 0 <= N <= 1000 + Set the color for filling solid drawing objects to a shade of + gray, where 0 corresponds to solid white, 1000 (the default) + to solid black, and values in between to intermediate shades + of gray; this is obsoleted by command `DFg'. + + N < 0 or N > 1000 + Set the filling color to the color that is currently being + used for the text and the outline, see command `m'. For + example, the command sequence + + + mg 0 0 65536 + Df -1 + + sets all colors to blue. + + No position changing. This command is a `gtroff' extension. + +`Dl H V' + Draw line from current position to offset (H,V) (integers in basic + units `u'); then set current position to the end of the drawn line. + +`Dp H1 V1 H2 V2 ... HN VN' + Draw a polygon line from current position to offset (H1,V1), from + there to offset (H2,V2), etc. up to offset (HN,VN), and from there + back to the starting position. For historical reasons, the + position is changed by adding the sum of all arguments with odd + index to the actual horizontal position and the even ones to the + vertical position. Although this doesn't make sense it is kept + for compatibility. This command is a `gtroff' extension. + +`Dp H1 V1 H2 V2 ... HN VN' + Draw a solid polygon in the current fill color rather than an + outlined polygon, using the same arguments and positioning as the + corresponding `Dp' command. This command is a `gtroff' extension. + +`Dt N' + Set the current line thickness to N (an integer in basic units + `u') if N>0; if N=0 select the smallest available line thickness; + if N<0 set the line thickness proportional to the point size (this + is the default before the first `Dt' command was specified). For + historical reasons, the horizontal position is changed by adding + the argument to the actual horizontal position, while the vertical + position is not changed. Although this doesn't make sense it is + kept for compatibility. This command is a `gtroff' extension. - Produces: + +File: groff, Node: Device Control Commands, Next: Obsolete Command, Prev: Graphics Commands, Up: Command Reference +Device Control Commands +....................... - A bulleted list: - - o lawyers - - o guns - - o money +Each device control command starts with the letter `x', followed by a +space character (optional or arbitrary space or tab in `gtroff') and a +subcommand letter or word; each argument (if any) must be preceded by a +syntactical space. All `x' commands are terminated by a syntactical +line break; no device control command can be followed by another +command on the same line (except a comment). + The subcommand is basically a single letter, but to increase +readability, it can be written as a word, i.e., an arbitrary sequence +of characters terminated by the next tab, space, or newline character. +All characters of the subcommand word but the first are simply ignored. +For example, `gtroff' outputs the initialization command `x i' as +`x init' and the resolution command `x r' as `x res'. - The following is an example of a numbered list. + In the following, the syntax element means a +syntactical line break (*note Separation::). +`xF NAME' + The `F' stands for FILENAME. - .nr step 1 1 - A numbered list: - .IP \n[step] 3 - lawyers - .IP \n+[step] - guns - .IP \n+[step] - money + Use NAME as the intended name for the current file in error + reports. This is useful for remembering the original file name + when `gtroff' uses an internal piping mechanism. The input file is + not changed by this command. This command is a `gtroff' extension. - Produces: +`xf N S' + The `f' stands for FONT. + Mount font position N (a non-negative integer) with font named S + (a text word). *Note Font Positions::. - A numbered list: - - 1. lawyers - - 2. guns - - 3. money +`xH N' + The `H' stands for HEIGHT. - Note the use of the auto-incrementing number register in this -example. + Set glyph height to N (a positive integer in scaled points `z'). + AT&T `troff' uses the unit points (`p') instead. *Note Output + Language Compatibility::. +`xi' + The `i' stands for INIT. - The following is an example of a glossary-style list. + Initialize device. This is the third command of the prologue. +`xp' + The `p' stands for PAUSE. - A glossary-style list: - .IP lawyers 0.4i - Two or more attorneys. - .IP guns - Firearms, preferably - large-caliber. - .IP money - Gotta pay for those - lawyers and guns! + Parsed but ignored. The original UNIX troff manual writes - Produces: + pause device, can be restarted +`xr N H V' + The `r' stands for RESOLUTION. - A glossary-style list: - - lawyers - Two or more attorneys. - - guns Firearms, preferably large-caliber. - - money - Gotta pay for those lawyers and guns! + Resolution is N, while H is the minimal horizontal motion, and V + the minimal vertical motion possible with this device; all + arguments are positive integers in basic units `u' per inch. This + is the second command of the prologue. - In the last example, the `IP' macro places the definition on the -same line as the term if it has enough space; otherwise, it breaks to -the next line and starts the definition below the term. This may or -may not be the effect you want, especially if some of the definitions -break and some do not. The following examples show two possible ways -to force a break. - - The first workaround uses the `br' request to force a break after -printing the term or label. - - - A glossary-style list: - .IP lawyers 0.4i - Two or more attorneys. - .IP guns - .br - Firearms, preferably large-caliber. - .IP money - Gotta pay for those lawyers and guns! +`xS N' + The `S' stands for SLANT. + Set slant to N (an integer in basic units `u'). - The second workaround uses the `\p' escape to force the break. Note -the space following the escape; this is important. If you omit the -space, `groff' prints the first word on the same line as the term or -label (if it fits) *then* breaks the line. +`xs' + The `s' stands for STOP. + Terminates the processing of the current file; issued as the last + command of any intermediate troff output. - A glossary-style list: - .IP lawyers 0.4i - Two or more attorneys. - .IP guns - \p Firearms, preferably large-caliber. - .IP money - Gotta pay for those lawyers and guns! +`xt' + The `t' stands for TRAILER. + Generate trailer information, if any. In GTROFF, this is actually + just ignored. - To set nested lists, use the `RS' and `RE' macros. *Note Indents in -ms::, for more information. +`xT XXX' + The `T' stands for TYPESETTER. - For example: + Set name of device to word XXX, a sequence of characters ended by + the next white space character. The possible device names coincide + with those from the `groff' `-T' option. This is the first + command of the prologue. +`xu N' + The `u' stands for UNDERLINE. - .IP \[bu] 2 - Lawyers: - .RS - .IP \[bu] - Dewey, - .IP \[bu] - Cheatham, - .IP \[bu] - and Howe. - .RE - .IP \[bu] - Guns + Configure underlining of spaces. If N is 1, start underlining of + spaces; if N is 0, stop underlining of spaces. This is needed for + the `cu' request in nroff mode and is ignored otherwise. This + command is a `gtroff' extension. - Produces: +`xX ANYTHING' + The `x' stands for X-ESCAPE. + Send string ANYTHING uninterpreted to the device. If the line + following this command starts with a `+' character this line is + interpreted as a continuation line in the following sense. The + `+' is ignored, but a newline character is sent instead to the + device, the rest of the line is sent uninterpreted. The same + applies to all following lines until the first character of a line + is not a `+' character. This command is generated by the `gtroff' + escape sequence `\X'. The line-continuing feature is a `gtroff' + extension. - o Lawyers: - - o Dewey, - - o Cheatham, - - o and Howe. - - o Guns + +File: groff, Node: Obsolete Command, Prev: Device Control Commands, Up: Command Reference + +Obsolete Command +................ + +In AT&T `troff' output, the writing of a single glyph is mostly done by +a very strange command that combines a horizontal move and a single +character giving the glyph name. It doesn't have a command code, but +is represented by a 3-character argument consisting of exactly 2 digits +and a character. + +DDG + Move right DD (exactly two decimal digits) basic units `u', then + print glyph G (represented as a single character). + + In `gtroff', arbitrary syntactical space around and within this + command is allowed to be added. Only when a preceding command on + the same line ends with an argument of variable length a + separating space is obligatory. In AT&T `troff', large clusters + of these and other commands are used, mostly without spaces; this + made such output almost unreadable. + + For modern high-resolution devices, this command does not make sense +because the width of the glyphs can become much larger than two decimal +digits. In `gtroff', this is only used for the devices `X75', +`X75-12', `X100', and `X100-12'. For other devices, the commands `t' +and `u' provide a better functionality.  -File: groff, Node: Indents in ms, Next: Tabstops in ms, Prev: Lists in ms, Up: ms Body Text +File: groff, Node: Intermediate Output Examples, Next: Output Language Compatibility, Prev: Command Reference, Up: gtroff Output -Indents -....... +Intermediate Output Examples +---------------------------- - In many situations, you may need to indent a section of text while -still wrapping and filling. *Note Lists in ms::, for an example of -nested lists. +This section presents the intermediate output generated from the same +input for three different devices. The input is the sentence `hell +world' fed into `gtroff' on the command line. - - Macro: .RS - - Macro: .RE - These macros begin and end an indented section. The `PI' register - controls the amount of indent, allowing the indented text to line - up under hanging and indented paragraphs. +High-resolution device `ps' + This is the standard output of `gtroff' if no `-T' option is given. - *Note ms Displays and Keeps::, for macros to indent and turn off -filling. + shell> echo "hell world" | groff -Z -T ps + + x T ps + x res 72000 1 1 + x init + p1 + x font 5 TR + f5 + s10000 + V12000 + H72000 + thell + wh2500 + tw + H96620 + torld + n12000 0 + x trailer + V792000 + x stop + + This output can be fed into `grops' to get its representation as a + PostScript file. + +Low-resolution device `latin1' + This is similar to the high-resolution device except that the + positioning is done at a minor scale. Some comments (lines + starting with `#') were added for clarification; they were not + generated by the formatter. - -File: groff, Node: Tabstops in ms, Next: ms Displays and Keeps, Prev: Indents in ms, Up: ms Body Text + shell> echo "hell world" | groff -Z -T latin1 + + # prologue + x T latin1 + x res 240 24 40 + x init + # begin a new page + p1 + # font setup + x font 1 R + f1 + s10 + # initial positioning on the page + V40 + H0 + # write text `hell' + thell + # inform about space, and issue a horizontal jump + wh24 + # write text `world' + tworld + # announce line break, but do nothing because ... + n40 0 + # ... the end of the document has been reached + x trailer + V2640 + x stop + + This output can be fed into `grotty' to get a formatted text + document. + +AT&T `troff' output + Since a computer monitor has a very low resolution compared to + modern printers the intermediate output for the X Window devices + can use the jump-and-write command with its 2-digit displacements. -Tab Stops -......... + shell> echo "hell world" | groff -Z -T X100 + + x T X100 + x res 100 1 1 + x init + p1 + x font 5 TR + f5 + s10 + V16 + H100 + # write text with jump-and-write commands + ch07e07l03lw06w11o07r05l03dh7 + n16 0 + x trailer + V1100 + x stop - Use the `ta' request to define tab stops as needed. *Note Tabs and -Fields::. + This output can be fed into `xditview' or `gxditview' for + displaying in X. - - Macro: .TA - Use this macro to reset the tab stops to the default for `ms' - (every 5n). You can redefine the `TA' macro to create a different - set of default tab stops. + Due to the obsolete jump-and-write command, the text clusters in + the AT&T `troff' output are almost unreadable.  -File: groff, Node: ms Displays and Keeps, Next: ms Insertions, Prev: Tabstops in ms, Up: ms Body Text +File: groff, Node: Output Language Compatibility, Prev: Intermediate Output Examples, Up: gtroff Output -Displays and keeps -.................. +Output Language Compatibility +----------------------------- - Use displays to show text-based examples or figures (such as code -listings). +The intermediate output language of AT&T `troff' was first documented +in the UNIX troff manual, with later additions documented in `A +Typesetter-indenpendent TROFF', written by Brian Kernighan. + + The `gtroff' intermediate output format is compatible with this +specification except for the following features. + + * The classical quasi device independence is not yet implemented. + + * The old hardware was very different from what we use today. So the + `groff' devices are also fundamentally different from the ones in + AT&T `troff'. For example, the AT&T PostScript device is called + `post' and has a resolution of only 720 units per inch, suitable + for printers 20 years ago, while `groff''s `ps' device has a + resolution of 72000 units per inch. Maybe, by implementing some + rescaling mechanism similar to the classical quasi device + independence, `groff' could emulate AT&T's `post' device. + + * The B-spline command `D~' is correctly handled by the intermediate + output parser, but the drawing routines aren't implemented in some + of the postprocessor programs. + + * The argument of the commands `s' and `x H' has the implicit unit + scaled point `z' in `gtroff', while AT&T `troff' has point (`p'). + This isn't an incompatibility but a compatible extension, for both + units coincide for all devices without a `sizescale' parameter in + the `DESC' file, including all postprocessors from AT&T and + `groff''s text devices. The few `groff' devices with a + `sizescale' parameter either do not exist for AT&T `troff', have a + different name, or seem to have a different resolution. So + conflicts are very unlikely. + + * The position changing after the commands `Dp', `DP', and `Dt' is + illogical, but as old versions of `gtroff' used this feature it is + kept for compatibility reasons. - Displays turn off filling, so lines of code are displayed as-is -without inserting `br' requests in between each line. Displays can be -"kept" on a single page, or allowed to break across pages. - - Macro: .DS L - - Macro: .LD - - Macro: .DE - Left-justified display. The `.DS L' call generates a page break, - if necessary, to keep the entire display on one page. The `LD' - macro allows the display to break across pages. The `DE' macro - ends the display. + +File: groff, Node: Font Files, Prev: gtroff Output, Up: File formats + +Font Files +========== - - Macro: .DS I - - Macro: .ID - - Macro: .DE - Indents the display as defined by the `DI' register. The `.DS I' - call generates a page break, if necessary, to keep the entire - display on one page. The `ID' macro allows the display to break - across pages. The `DE' macro ends the display. +The `gtroff' font format is roughly a superset of the `ditroff' font +format (as used in later versions of AT&T `troff' and its descendants). +Unlike the `ditroff' font format, there is no associated binary +format; all files are text files.(1) (*note Font Files-Footnote-1::) +The font files for device NAME are stored in a directory `devNAME'. +There are two types of file: a device description file called `DESC' +and for each font F a font file called `F'. - - Macro: .DS B - - Macro: .BD - - Macro: .DE - Sets a block-centered display: the entire display is - left-justified, but indented so that the longest line in the - display is centered on the page. The `.DS B' call generates a - page break, if necessary, to keep the entire display on one page. - The `BD' macro allows the display to break across pages. The `DE' - macro ends the display. +* Menu: - - Macro: .DS C - - Macro: .CD - - Macro: .DE - Sets a centered display: each line in the display is centered. - The `.DS C' call generates a page break, if necessary, to keep the - entire display on one page. The `CD' macro allows the display to - break across pages. The `DE' macro ends the display. +* DESC File Format:: +* Font File Format:: - - Macro: .DS R - - Macro: .RD - - Macro: .DE - Right-justifies each line in the display. The `.DS R' call - generates a page break, if necessary, to keep the entire display - on one page. The `RD' macro allows the display to break across - pages. The `DE' macro ends the display. + +File: groff, Node: Font Files-Footnotes, Up: Font Files + (1) Plan 9 `troff' has also abandoned the binary format. - On occasion, you may want to "keep" other text together on a page. -For example, you may want to keep two paragraphs together, or a -paragraph that refers to a table (or list, or other item) immediately -following. The `ms' macros provide the `KS' and `KE' macros for this -purpose. + +File: groff, Node: DESC File Format, Next: Font File Format, Prev: Font Files, Up: Font Files - - Macro: .KS - - Macro: .KE - The `KS' macro begins a block of text to be kept on a single page, - and the `KE' macro ends the block. +`DESC' File Format +------------------ - - Macro: .KF - - Macro: .KE - Specifies a "floating keep"; if the keep cannot fit on the current - page, `groff' holds the contents of the keep and allows text - following the keep (in the source file) to fill in the remainder of - the current page. When the page breaks, whether by an explicit - `bp' request or by reaching the end of the page, `groff' prints - the floating keep at the top of the new page. This is useful for - printing large graphics or tables that do not need to appear - exactly where specified. +The `DESC' file can contain the following types of line. Except for +the `charset' keyword which must comes last (if at all), the order of +the lines is not important. + +`res N' + There are N machine units per inch. + +`hor N' + The horizontal resolution is N machine units. All horizontal + quantities are rounded to be multiples of this value. + +`vert N' + The vertical resolution is N machine units. All vertical + quantities are rounded to be multiples of this value. + +`sizescale N' + The scale factor for point sizes. By default this has a value + of 1. One scaled point is equal to one point/N. The arguments to + the `unitwidth' and `sizes' commands are given in scaled points. + *Note Fractional Type Sizes::, for more information. + +`unitwidth N' + Quantities in the font files are given in machine units for fonts + whose point size is N scaled points. + +`prepro PROGRAM' + Call PROGRAM as a preprocessor. Currently, this keyword is used + by `groff' with option `-Thtml' only. + +`postpro PROGRAM' + Call PROGRAM as a postprocessor. For example, the line + + + postpro grodvi + + in the file `devdvi/DESC' makes `groff' call `grodvi' if option + `-Tdvi' is given (and `-Z' isn't used). + +`tcommand' + This means that the postprocessor can handle the `t' and `u' + intermediate output commands. + +`sizes S1 S2 ... SN 0' + This means that the device has fonts at S1, S2, ... SN scaled + points. The list of sizes must be terminated by 0 (this is digit + zero). Each SI can also be a range of sizes M-N. The list can + extend over more than one line. + +`styles S1 S2 ... SM' + The first M font positions are associated with styles S1 ... SM. + +`fonts N F1 F2 F3 ... FN' + Fonts F1 ... FN are mounted in the font positions M+1, ..., M+N + where M is the number of styles. This command may extend over + more than one line. A font name of 0 means no font is mounted on + the corresponding font position. + +`family FAM' + The default font family is FAM. + +`use_charnames_in_special' + This command indicates that `gtroff' should encode special + characters inside special commands. Currently, this is only used + by the HTML output device. *Note Postprocessor Access::. + +`papersize STRING ...' + Select a paper size. Valid values for STRING are the ISO paper + types `A0'-`A7', `B0'-`B7', `C0'-`C7', `D0'-`D7', `DL', and the US + paper types `letter', `legal', `tabloid', `ledger', `statement', + `executive', `com10', and `monarch'. Case is not significant for + STRING if it holds predefined paper types. Alternatively, STRING + can be a file name (e.g. `/etc/papersize'); if the file can be + opened, `groff' reads the first line and tests for the above paper + sizes. Finally, STRING can be a custom paper size in the format + `LENGTH,WIDTH' (no spaces before and after the comma). Both + LENGTH and WIDTH must have a unit appended; valid values are `i' + for inches, `C' for centimeters, `p' for points, and `P' for + picas. Example: `12c,235p'. An argument which starts with a + digit is always treated as a custom paper format. `papersize' + sets both the vertical and horizontal dimension of the output + medium. + + More than one argument can be specified; `groff' scans from left to + right and uses the first valid paper specification. + +`pass_filenames' + Tell `gtroff' to emit the name of the source file currently being + processed. This is achieved by the intermediate output command + `F'. Currently, this is only used by the HTML output device. + +`print PROGRAM' + Use PROGRAM as a spooler program for printing. If omitted, the + `-l' and `-L' options of `groff' are ignored. + +`charset' + This line and everything following in the file are ignored. It is + allowed for the sake of backwards compatibility. + + The `res', `unitwidth', `fonts', and `sizes' lines are mandatory. +Other commands are ignored by `gtroff' but may be used by +postprocessors to store arbitrary information about the device in the +`DESC' file. - You can also use the `ne' request to force a page break if there is -not enough vertical space remaining on the page. + Here a list of obsolete keywords which are recognized by `groff' but +completely ignored: `spare1', `spare2', `biggestfont'. + +File: groff, Node: Font File Format, Prev: DESC File Format, Up: Font Files - Use the following macros to draw a box around a section of text -(such as a display). +Font File Format +---------------- - - Macro: .B1 - - Macro: .B2 - Marks the beginning and ending of text that is to have a box drawn - around it. The `B1' macro begins the box; the `B2' macro ends it. - Text in the box is automatically placed in a diversion (keep). +A "font file", also (and probably better) called a "font description +file", has two sections. The first section is a sequence of lines each +containing a sequence of blank delimited words; the first word in the +line is a key, and subsequent words give a value for that key. + +`name F' + The name of the font is F. + +`spacewidth N' + The normal width of a space is N. + +`slant N' + The glyphs of the font have a slant of N degrees. (Positive means + forward.) + +`ligatures LIG1 LIG2 ... LIGN [0]' + Glyphs LIG1, LIG2, ..., LIGN are ligatures; possible ligatures are + `ff', `fi', `fl', `ffi' and `ffl'. For backwards compatibility, + the list of ligatures may be terminated with a 0. The list of + ligatures may not extend over more than one line. + +`special' + The font is "special"; this means that when a glyph is requested + that is not present in the current font, it is searched for in any + special fonts that are mounted. + + Other commands are ignored by `gtroff' but may be used by +postprocessors to store arbitrary information about the font in the font +file. + + The first section can contain comments which start with the `#' +character and extend to the end of a line. + + The second section contains one or two subsections. It must contain +a `charset' subsection and it may also contain a `kernpairs' +subsection. These subsections can appear in any order. Each +subsection starts with a word on a line by itself. + + The word `charset' starts the character set subsection.(1) (*note +Font File Format-Footnote-1::) The `charset' line is followed by a +sequence of lines. Each line gives information for one glyph. A line +comprises a number of fields separated by blanks or tabs. The format is + + NAME METRICS TYPE CODE [ENTITY-NAME] [`--' COMMENT] + +NAME identifies the glyph name(2) (*note Font File Format-Footnote-2::): +If NAME is a single character C then it corresponds to the `gtroff' +input character C; if it is of the form `\C' where C is a single +character, then it corresponds to the special character `\[C]'; +otherwise it corresponds to the special character `\[NAME]'. If it is +exactly two characters XX it can be entered as `\(XX'. Note that +single-letter special characters can't be accessed as `\C'; the only +exception is `\-' which is identical to `\[-]'. + + `gtroff' supports 8-bit input characters; however some utilities +have difficulties with eight-bit characters. For this reason, there is +a convention that the entity name `charN' is equivalent to the single +input character whose code is N. For example, `char163' would be +equivalent to the character with code 163 which is the pounds sterling +sign in the ISO Latin-1 character set. You shouldn't use `charN' +entities in font description files since they are related to input, not +output. Otherwise, you get hard-coded connections between input and +output encoding which prevents use of different (input) character sets. + + The name `---' is special and indicates that the glyph is unnamed; +such glyphs can only be used by means of the `\N' escape sequence in +`gtroff'. + + The TYPE field gives the glyph type: + +`1' + the glyph has a descender, for example, `p'; + +`2' + the glyph has an ascender, for example, `b'; + +`3' + the glyph has both an ascender and a descender, for example, `('. + + The CODE field gives the code which the postprocessor uses to print +the glyph. The glyph can also be input to `gtroff' using this code by +means of the `\N' escape sequence. CODE can be any integer. If it +starts with `0' it is interpreted as octal; if it starts with `0x' or +`0X' it is interpreted as hexadecimal. Note, however, that the `\N' +escape sequence only accepts a decimal integer. + + The ENTITY-NAME field gives an ASCII string identifying the glyph +which the postprocessor uses to print the `gtroff' glyph NAME. This +field is optional and has been introduced so that the HTML device +driver can encode its character set. For example, the glyph `\[Po]' is +represented as `£' in HTML 4.0. + + Anything on the line after the ENTITY-NAME field resp. after `--' +will be ignored. + + The METRICS field has the form: + + WIDTH[`,'HEIGHT[`,'DEPTH[`,'ITALIC-CORRECTION + [`,'LEFT-ITALIC-CORRECTION[`,'SUBSCRIPT-CORRECTION]]]]] + +There must not be any spaces between these subfields (it has been split +here into two lines for better legibility only). Missing subfields are +assumed to be 0. The subfields are all decimal integers. Since there +is no associated binary format, these values are not required to fit +into a variable of type `char' as they are in `ditroff'. The WIDTH +subfield gives the width of the glyph. The HEIGHT subfield gives the +height of the glyph (upwards is positive); if a glyph does not extend +above the baseline, it should be given a zero height, rather than a +negative height. The DEPTH subfield gives the depth of the glyph, that +is, the distance from the baseline to the lowest point below the +baseline to which the glyph extends (downwards is positive); if a glyph +does not extend below the baseline, it should be given a zero depth, +rather than a negative depth. The ITALIC-CORRECTION subfield gives the +amount of space that should be added after the glyph when it is +immediately to be followed by a glyph from a roman font. The +LEFT-ITALIC-CORRECTION subfield gives the amount of space that should +be added before the glyph when it is immediately to be preceded by a +glyph from a roman font. The SUBSCRIPT-CORRECTION gives the amount of +space that should be added after a glyph before adding a subscript. +This should be less than the italic correction. + + A line in the `charset' section can also have the format + + + NAME " + +This indicates that NAME is just another name for the glyph mentioned +in the preceding line. + + The word `kernpairs' starts the kernpairs section. This contains a +sequence of lines of the form: + + + C1 C2 N + +This means that when glyph C1 appears next to glyph C2 the space +between them should be increased by N. Most entries in the kernpairs +section have a negative value for N.  -File: groff, Node: ms Insertions, Next: Example multi-page table, Prev: ms Displays and Keeps, Up: ms Body Text +File: groff, Node: Font File Format-Footnotes, Up: Font File Format -Tables, figures, equations, and references -.......................................... + (1) This keyword is misnamed since it starts a list of ordered +glyphs, not characters. - The `ms' macros support the standard `groff' preprocessors: `tbl', -`pic', `eqn', and `refer'. You mark text meant for preprocessors by -enclosing it in pairs of tags as follows. + (2) The distinction between input, characters, and output, glyphs, +is not clearly separated in the terminology of `groff'; for example, +the `char' request should be called `glyph' since it defines an output +entity. - - Macro: .TS [`H'] - - Macro: .TE - Denotes a table, to be processed by the `tbl' preprocessor. The - optional argument `H' to `TS' instructs `groff' to create a - running header with the information up to the `TH' macro. `groff' - prints the header at the beginning of the table; if the table runs - onto another page, `groff' prints the header on the next page as - well. + +File: groff, Node: Installation, Next: Copying This Manual, Prev: File formats, Up: Top - - Macro: .PS - - Macro: .PE - Denotes a graphic, to be processed by the `pic' preprocessor. You - can create a `pic' file by hand, using the AT&T `pic' manual - available on the Web as a reference, or by using a graphics - program such as `xfig'. +Installation +************ - - Macro: .EQ [align] - - Macro: .EN - Denotes an equation, to be processed by the `eqn' preprocessor. - The optional ALIGN argument can be `C', `L', or `I' to center (the - default), left-justify, or indent the equation. + +File: groff, Node: Copying This Manual, Next: Request Index, Prev: Installation, Up: Top - - Macro: .[ - - Macro: .] - Denotes a reference, to be processed by the `refer' preprocessor. - The GNU `refer(1)' man page provides a comprehensive reference to - the preprocessor and the format of the bibliographic database. +Copying This Manual +******************* * Menu: -* Example multi-page table:: +* GNU Free Documentation License:: License for copying this manual.  -File: groff, Node: Example multi-page table, Next: ms Footnotes, Prev: ms Insertions, Up: ms Body Text +File: groff, Node: GNU Free Documentation License, Up: Copying This Manual -An example multi-page table -........................... +GNU Free Documentation License +============================== - The following is an example of how to set up a table that may print -across two or more pages. + Version 1.1, March 2000 + Copyright (C) 2000 Free Software Foundation, Inc. + 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. + 0. PREAMBLE - .TS H - allbox expand; - cb | cb . - Text ...of heading... - _ - .TH - .T& - l | l . - ... the rest of the table follows... - .CW - .TE + The purpose of this License is to make a manual, textbook, or other + written document "free" in the sense of freedom: to assure everyone + the effective freedom to copy and redistribute it, with or without + modifying it, either commercially or noncommercially. Secondarily, + this License preserves for the author and publisher a way to get + credit for their work, while not being considered responsible for + modifications made by others. + + This License is a kind of "copyleft", which means that derivative + works of the document must themselves be free in the same sense. + It complements the GNU General Public License, which is a copyleft + license designed for free software. + + We have designed this License in order to use it for manuals for + free software, because free software needs free documentation: a + free program should come with manuals providing the same freedoms + that the software does. But this License is not limited to + software manuals; it can be used for any textual work, regardless + of subject matter or whether it is published as a printed book. + We recommend this License principally for works whose purpose is + instruction or reference. + + 1. APPLICABILITY AND DEFINITIONS + + This License applies to any manual or other work that contains a + notice placed by the copyright holder saying it can be distributed + under the terms of this License. The "Document", below, refers to + any such manual or work. Any member of the public is a licensee, + and is addressed as "you". + + A "Modified Version" of the Document means any work containing the + Document or a portion of it, either copied verbatim, or with + modifications and/or translated into another language. + + A "Secondary Section" is a named appendix or a front-matter + section of the Document that deals exclusively with the + relationship of the publishers or authors of the Document to the + Document's overall subject (or to related matters) and contains + nothing that could fall directly within that overall subject. + (For example, if the Document is in part a textbook of + mathematics, a Secondary Section may not explain any mathematics.) + The relationship could be a matter of historical connection with + the subject or with related matters, or of legal, commercial, + philosophical, ethical or political position regarding them. + + The "Invariant Sections" are certain Secondary Sections whose + titles are designated, as being those of Invariant Sections, in + the notice that says that the Document is released under this + License. + + The "Cover Texts" are certain short passages of text that are + listed, as Front-Cover Texts or Back-Cover Texts, in the notice + that says that the Document is released under this License. + + A "Transparent" copy of the Document means a machine-readable copy, + represented in a format whose specification is available to the + general public, whose contents can be viewed and edited directly + and straightforwardly with generic text editors or (for images + composed of pixels) generic paint programs or (for drawings) some + widely available drawing editor, and that is suitable for input to + text formatters or for automatic translation to a variety of + formats suitable for input to text formatters. A copy made in an + otherwise Transparent file format whose markup has been designed + to thwart or discourage subsequent modification by readers is not + Transparent. A copy that is not "Transparent" is called "Opaque". + + Examples of suitable formats for Transparent copies include plain + ASCII without markup, Texinfo input format, LaTeX input format, + SGML or XML using a publicly available DTD, and + standard-conforming simple HTML designed for human modification. + Opaque formats include PostScript, PDF, proprietary formats that + can be read and edited only by proprietary word processors, SGML + or XML for which the DTD and/or processing tools are not generally + available, and the machine-generated HTML produced by some word + processors for output purposes only. + + The "Title Page" means, for a printed book, the title page itself, + plus such following pages as are needed to hold, legibly, the + material this License requires to appear in the title page. For + works in formats which do not have any title page as such, "Title + Page" means the text near the most prominent appearance of the + work's title, preceding the beginning of the body of the text. + + 2. VERBATIM COPYING + + You may copy and distribute the Document in any medium, either + commercially or noncommercially, provided that this License, the + copyright notices, and the license notice saying this License + applies to the Document are reproduced in all copies, and that you + add no other conditions whatsoever to those of this License. You + may not use technical measures to obstruct or control the reading + or further copying of the copies you make or distribute. However, + you may accept compensation in exchange for copies. If you + distribute a large enough number of copies you must also follow + the conditions in section 3. + + You may also lend copies, under the same conditions stated above, + and you may publicly display copies. + + 3. COPYING IN QUANTITY + + If you publish printed copies of the Document numbering more than + 100, and the Document's license notice requires Cover Texts, you + must enclose the copies in covers that carry, clearly and legibly, + all these Cover Texts: Front-Cover Texts on the front cover, and + Back-Cover Texts on the back cover. Both covers must also clearly + and legibly identify you as the publisher of these copies. The + front cover must present the full title with all words of the + title equally prominent and visible. You may add other material + on the covers in addition. Copying with changes limited to the + covers, as long as they preserve the title of the Document and + satisfy these conditions, can be treated as verbatim copying in + other respects. + + If the required texts for either cover are too voluminous to fit + legibly, you should put the first ones listed (as many as fit + reasonably) on the actual cover, and continue the rest onto + adjacent pages. + + If you publish or distribute Opaque copies of the Document + numbering more than 100, you must either include a + machine-readable Transparent copy along with each Opaque copy, or + state in or with each Opaque copy a publicly-accessible + computer-network location containing a complete Transparent copy + of the Document, free of added material, which the general + network-using public has access to download anonymously at no + charge using public-standard network protocols. If you use the + latter option, you must take reasonably prudent steps, when you + begin distribution of Opaque copies in quantity, to ensure that + this Transparent copy will remain thus accessible at the stated + location until at least one year after the last time you + distribute an Opaque copy (directly or through your agents or + retailers) of that edition to the public. + + It is requested, but not required, that you contact the authors of + the Document well before redistributing any large number of + copies, to give them a chance to provide you with an updated + version of the Document. + + 4. MODIFICATIONS + + You may copy and distribute a Modified Version of the Document + under the conditions of sections 2 and 3 above, provided that you + release the Modified Version under precisely this License, with + the Modified Version filling the role of the Document, thus + licensing distribution and modification of the Modified Version to + whoever possesses a copy of it. In addition, you must do these + things in the Modified Version: + + A. Use in the Title Page (and on the covers, if any) a title + distinct from that of the Document, and from those of + previous versions (which should, if there were any, be listed + in the History section of the Document). You may use the + same title as a previous version if the original publisher of + that version gives permission. + + B. List on the Title Page, as authors, one or more persons or + entities responsible for authorship of the modifications in + the Modified Version, together with at least five of the + principal authors of the Document (all of its principal + authors, if it has less than five). + + C. State on the Title page the name of the publisher of the + Modified Version, as the publisher. + + D. Preserve all the copyright notices of the Document. + + E. Add an appropriate copyright notice for your modifications + adjacent to the other copyright notices. + + F. Include, immediately after the copyright notices, a license + notice giving the public permission to use the Modified + Version under the terms of this License, in the form shown in + the Addendum below. + + G. Preserve in that license notice the full lists of Invariant + Sections and required Cover Texts given in the Document's + license notice. + + H. Include an unaltered copy of this License. + + I. Preserve the section entitled "History", and its title, and + add to it an item stating at least the title, year, new + authors, and publisher of the Modified Version as given on + the Title Page. If there is no section entitled "History" in + the Document, create one stating the title, year, authors, + and publisher of the Document as given on its Title Page, + then add an item describing the Modified Version as stated in + the previous sentence. + + J. Preserve the network location, if any, given in the Document + for public access to a Transparent copy of the Document, and + likewise the network locations given in the Document for + previous versions it was based on. These may be placed in + the "History" section. You may omit a network location for a + work that was published at least four years before the + Document itself, or if the original publisher of the version + it refers to gives permission. + + K. In any section entitled "Acknowledgments" or "Dedications", + preserve the section's title, and preserve in the section all + the substance and tone of each of the contributor + acknowledgments and/or dedications given therein. + + L. Preserve all the Invariant Sections of the Document, + unaltered in their text and in their titles. Section numbers + or the equivalent are not considered part of the section + titles. + + M. Delete any section entitled "Endorsements". Such a section + may not be included in the Modified Version. + + N. Do not retitle any existing section as "Endorsements" or to + conflict in title with any Invariant Section. + + If the Modified Version includes new front-matter sections or + appendices that qualify as Secondary Sections and contain no + material copied from the Document, you may at your option + designate some or all of these sections as invariant. To do this, + add their titles to the list of Invariant Sections in the Modified + Version's license notice. These titles must be distinct from any + other section titles. + + You may add a section entitled "Endorsements", provided it contains + nothing but endorsements of your Modified Version by various + parties--for example, statements of peer review or that the text + has been approved by an organization as the authoritative + definition of a standard. + + You may add a passage of up to five words as a Front-Cover Text, + and a passage of up to 25 words as a Back-Cover Text, to the end + of the list of Cover Texts in the Modified Version. Only one + passage of Front-Cover Text and one of Back-Cover Text may be + added by (or through arrangements made by) any one entity. If the + Document already includes a cover text for the same cover, + previously added by you or by arrangement made by the same entity + you are acting on behalf of, you may not add another; but you may + replace the old one, on explicit permission from the previous + publisher that added the old one. + + The author(s) and publisher(s) of the Document do not by this + License give permission to use their names for publicity for or to + assert or imply endorsement of any Modified Version. + + 5. COMBINING DOCUMENTS + + You may combine the Document with other documents released under + this License, under the terms defined in section 4 above for + modified versions, provided that you include in the combination + all of the Invariant Sections of all of the original documents, + unmodified, and list them all as Invariant Sections of your + combined work in its license notice. + + The combined work need only contain one copy of this License, and + multiple identical Invariant Sections may be replaced with a single + copy. If there are multiple Invariant Sections with the same name + but different contents, make the title of each such section unique + by adding at the end of it, in parentheses, the name of the + original author or publisher of that section if known, or else a + unique number. Make the same adjustment to the section titles in + the list of Invariant Sections in the license notice of the + combined work. + + In the combination, you must combine any sections entitled + "History" in the various original documents, forming one section + entitled "History"; likewise combine any sections entitled + "Acknowledgments", and any sections entitled "Dedications". You + must delete all sections entitled "Endorsements." + + 6. COLLECTIONS OF DOCUMENTS + + You may make a collection consisting of the Document and other + documents released under this License, and replace the individual + copies of this License in the various documents with a single copy + that is included in the collection, provided that you follow the + rules of this License for verbatim copying of each of the + documents in all other respects. + + You may extract a single document from such a collection, and + distribute it individually under this License, provided you insert + a copy of this License into the extracted document, and follow + this License in all other respects regarding verbatim copying of + that document. + + 7. AGGREGATION WITH INDEPENDENT WORKS + + A compilation of the Document or its derivatives with other + separate and independent documents or works, in or on a volume of + a storage or distribution medium, does not as a whole count as a + Modified Version of the Document, provided no compilation + copyright is claimed for the compilation. Such a compilation is + called an "aggregate", and this License does not apply to the + other self-contained works thus compiled with the Document, on + account of their being thus compiled, if they are not themselves + derivative works of the Document. + + If the Cover Text requirement of section 3 is applicable to these + copies of the Document, then if the Document is less than one + quarter of the entire aggregate, the Document's Cover Texts may be + placed on covers that surround only the Document within the + aggregate. Otherwise they must appear on covers around the whole + aggregate. + + 8. TRANSLATION + + Translation is considered a kind of modification, so you may + distribute translations of the Document under the terms of section + 4. Replacing Invariant Sections with translations requires special + permission from their copyright holders, but you may include + translations of some or all Invariant Sections in addition to the + original versions of these Invariant Sections. You may include a + translation of this License provided that you also include the + original English version of this License. In case of a + disagreement between the translation and the original English + version of this License, the original English version will prevail. + + 9. TERMINATION + + You may not copy, modify, sublicense, or distribute the Document + except as expressly provided for under this License. Any other + attempt to copy, modify, sublicense or distribute the Document is + void, and will automatically terminate your rights under this + License. However, parties who have received copies, or rights, + from you under this License will not have their licenses + terminated so long as such parties remain in full compliance. + + 10. FUTURE REVISIONS OF THIS LICENSE + + The Free Software Foundation may publish new, revised versions of + the GNU Free Documentation License from time to time. Such new + versions will be similar in spirit to the present version, but may + differ in detail to address new problems or concerns. See + `http://www.gnu.org/copyleft/'. + + Each version of the License is given a distinguishing version + number. If the Document specifies that a particular numbered + version of this License "or any later version" applies to it, you + have the option of following the terms and conditions either of + that specified version or of any later version that has been + published (not as a draft) by the Free Software Foundation. If + the Document does not specify a version number of this License, + you may choose any version ever published (not as a draft) by the + Free Software Foundation. + +ADDENDUM: How to use this License for your documents +---------------------------------------------------- + +To use this License in a document you have written, include a copy of +the License in the document and put the following copyright and license +notices just after the title page: + + Copyright (C) YEAR YOUR NAME. + Permission is granted to copy, distribute and/or modify this document + under the terms of the GNU Free Documentation License, Version 1.1 + or any later version published by the Free Software Foundation; + with the Invariant Sections being LIST THEIR TITLES, with the + Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. + A copy of the license is included in the section entitled ``GNU + Free Documentation License''. + + If you have no Invariant Sections, write "with no Invariant Sections" +instead of saying which ones are invariant. If you have no Front-Cover +Texts, write "no Front-Cover Texts" instead of "Front-Cover Texts being +LIST"; likewise for Back-Cover Texts. + + If your document contains nontrivial examples of program code, we +recommend releasing these examples in parallel under your choice of +free software license, such as the GNU General Public License, to +permit their use in free software.  -File: groff, Node: ms Footnotes, Prev: Example multi-page table, Up: ms Body Text +File: groff, Node: Request Index, Next: Escape Index, Prev: Copying This Manual, Up: Top + +Request Index +************* + +Requests appear without the leading control character (normally either +`.' or `''). -Footnotes -......... +* Menu: - The `ms' macro package has a flexible footnote system. You can -specify either numbered footnotes or symbolic footnotes (that is, using -a marker such as a dagger symbol). +* ab: Debugging. +* ad: Manipulating Filling and Adjusting. +* af: Assigning Formats. +* aln: Setting Registers. +* als: Strings. +* am: Writing Macros. +* am1: Writing Macros. +* ami: Writing Macros. +* ami1: Writing Macros. +* as: Strings. +* as1: Strings. +* asciify: Diversions. +* backtrace: Debugging. +* bd: Artificial Fonts. +* blm: Blank Line Traps. +* box: Diversions. +* boxa: Diversions. +* bp: Page Control. +* br: Manipulating Filling and Adjusting. +* break: while. +* brp: Manipulating Filling and Adjusting. +* c2: Character Translations. +* cc: Character Translations. +* ce: Manipulating Filling and Adjusting. +* cf: I/O. +* cflags: Using Symbols. +* ch: Page Location Traps. +* char: Using Symbols. +* chop: Strings. +* close: I/O. +* color: Colors. +* composite: Using Symbols. +* continue: while. +* cp: Implementation Differences. +* cs: Artificial Fonts. +* cu: Artificial Fonts. +* da: Diversions. +* de: Writing Macros. +* de1: Writing Macros. +* defcolor: Colors. +* dei: Writing Macros. +* dei1: Writing Macros. +* di: Diversions. +* do: Implementation Differences. +* ds: Strings. +* ds1: Strings. +* dt: Diversion Traps. +* ec: Character Translations. +* ecr: Character Translations. +* ecs: Character Translations. +* el: if-else. +* em: End-of-input Traps. +* eo: Character Translations. +* ev: Environments. +* evc: Environments. +* ex: Debugging. +* fam: Font Families. +* fc: Fields. +* fchar: Using Symbols. +* fi: Manipulating Filling and Adjusting. +* fl: Debugging. +* fp: Font Positions. +* fschar: Using Symbols. +* fspecial: Special Fonts. +* ft <1>: Font Positions. +* ft: Changing Fonts. +* ftr: Changing Fonts. +* hc: Manipulating Hyphenation. +* hcode: Manipulating Hyphenation. +* hla: Manipulating Hyphenation. +* hlm: Manipulating Hyphenation. +* hpf: Manipulating Hyphenation. +* hpfa: Manipulating Hyphenation. +* hpfcode: Manipulating Hyphenation. +* hw: Manipulating Hyphenation. +* hy: Manipulating Hyphenation. +* hym: Manipulating Hyphenation. +* hys: Manipulating Hyphenation. +* ie: if-else. +* if: if-else. +* ig: Comments. +* in: Line Layout. +* it: Input Line Traps. +* itc: Input Line Traps. +* kern: Ligatures and Kerning. +* lc: Leaders. +* length: Strings. +* lf: Debugging. +* lg: Ligatures and Kerning. +* linetabs: Tabs and Fields. +* ll: Line Layout. +* ls: Manipulating Spacing. +* lt: Page Layout. +* mc: Miscellaneous. +* mk: Page Motions. +* mso: I/O. +* na: Manipulating Filling and Adjusting. +* ne: Page Control. +* nf: Manipulating Filling and Adjusting. +* nh: Manipulating Hyphenation. +* nm: Miscellaneous. +* nn: Miscellaneous. +* nop: if-else. +* nr <1>: Auto-increment. +* nr: Setting Registers. +* nroff: Troff and Nroff Mode. +* ns: Manipulating Spacing. +* nx: I/O. +* open: I/O. +* opena: I/O. +* os: Page Control. +* output: Diversions. +* pc: Page Layout. +* pi: I/O. +* pl: Page Layout. +* pm: Debugging. +* pn: Page Layout. +* pnr: Debugging. +* po: Line Layout. +* ps: Changing Type Sizes. +* psbb: Miscellaneous. +* pso: I/O. +* ptr: Debugging. +* pvs: Changing Type Sizes. +* rchar: Using Symbols. +* rd: I/O. +* return: Writing Macros. +* rfschar: Using Symbols. +* rj: Manipulating Filling and Adjusting. +* rm: Strings. +* rn: Strings. +* rnn: Setting Registers. +* rr: Setting Registers. +* rs: Manipulating Spacing. +* rt: Page Motions. +* schar: Using Symbols. +* shc: Manipulating Hyphenation. +* shift: Parameters. +* sizes: Changing Type Sizes. +* so: I/O. +* sp: Manipulating Spacing. +* special: Special Fonts. +* spreadwarn: Debugging. +* ss: Manipulating Filling and Adjusting. +* sty: Font Families. +* substring: Strings. +* sv: Page Control. +* sy: I/O. +* ta: Tabs and Fields. +* tc: Tabs and Fields. +* ti: Line Layout. +* tkf: Ligatures and Kerning. +* tl: Page Layout. +* tm: Debugging. +* tm1: Debugging. +* tmc: Debugging. +* tr: Character Translations. +* trf: I/O. +* trin: Character Translations. +* trnt: Character Translations. +* troff: Troff and Nroff Mode. +* uf: Artificial Fonts. +* ul: Artificial Fonts. +* unformat: Diversions. +* vpt: Page Location Traps. +* vs: Changing Type Sizes. +* warn: Debugging. +* warnscale: Debugging. +* wh: Page Location Traps. +* while: while. +* write: I/O. +* writec: I/O. +* writem: I/O. - - String: \*[*] - Specifies the location of a numbered footnote marker in the text. + +File: groff, Node: Escape Index, Next: Operator Index, Prev: Request Index, Up: Top - - Macro: .FS - - Macro: .FE - Specifies the text of the footnote. The default action is to - create a numbered footnote; you can create a symbolic footnote by - specifying a "mark" glyph (such as `\[dg]' for the dagger glyph) - in the body text and as an argument to the `FS' macro, followed by - the text of the footnote and the `FE' macro. +Escape Index +************ - You can control how `groff' prints footnote numbers by changing the -value of the `FF' register. *Note ms Document Control Registers::. +Any escape sequence `\X' with X not in the list below emits a warning, +printing glyph X. + +* Menu: + +* \: Using Symbols. +* \!: Diversions. +* \": Comments. +* \#: Comments. +* \$: Parameters. +* \$*: Parameters. +* \$0: Parameters. +* \$@: Parameters. +* \%: Manipulating Hyphenation. +* \&: Ligatures and Kerning. +* \': Using Symbols. +* \): Ligatures and Kerning. +* \*: Strings. +* \,: Ligatures and Kerning. +* \-: Using Symbols. +* \.: Character Translations. +* \/: Ligatures and Kerning. +* \0: Page Motions. +* \: Manipulating Hyphenation. +* \: Line Control. +* \: Page Motions. +* \?: Diversions. +* \\: Character Translations. +* \^: Page Motions. +* \`: Using Symbols. +* \a: Leaders. +* \A: Identifiers. +* \b: Drawing Requests. +* \B: Expressions. +* \C: Using Symbols. +* \c: Line Control. +* \D: Drawing Requests. +* \d: Page Motions. +* \E: Character Translations. +* \e: Character Translations. +* \f: Font Positions. +* \F: Font Families. +* \f: Changing Fonts. +* \g: Assigning Formats. +* \h: Page Motions. +* \H: Artificial Fonts. +* \k: Page Motions. +* \L: Drawing Requests. +* \l: Drawing Requests. +* \M: Colors. +* \m: Colors. +* \N: Using Symbols. +* \n <1>: Auto-increment. +* \n: Interpolating Registers. +* \O: Suppressing output. +* \o: Page Motions. +* \p: Manipulating Filling and Adjusting. +* \r: Page Motions. +* \R: Setting Registers. +* \s: Changing Type Sizes. +* \S: Artificial Fonts. +* \t: Tabs and Fields. +* \u: Page Motions. +* \V: I/O. +* \v: Page Motions. +* \w: Page Motions. +* \X: Postprocessor Access. +* \x: Manipulating Spacing. +* \Y: Postprocessor Access. +* \Z: Page Motions. +* \z: Page Motions. +* \{: if-else. +* \|: Page Motions. +* \}: if-else. +* \~: Page Motions.  -File: groff, Node: ms Page Layout, Next: Differences from AT&T ms, Prev: ms Body Text, Up: ms +File: groff, Node: Operator Index, Next: Register Index, Prev: Escape Index, Up: Top -Page layout ------------ +Operator Index +************** - The default output from the `ms' macros provides a minimalist page -layout: it prints a single column, with the page number centered at the -top of each page. It prints no footers. +* Menu: - You can change the layout by setting the proper number registers and -strings. +* !: Expressions. +* %: Expressions. +* &: Expressions. +* (: Expressions. +* ): Expressions. +* *: Expressions. +* +: Expressions. +* -: Expressions. +* /: Expressions. +* <: Expressions. +* <=: Expressions. +* : Expressions. +* =: Expressions. +* ==: Expressions. +* >: Expressions. +* >=: Expressions. +* >?: Expressions. + + +File: groff, Node: Register Index, Next: Macro Index, Prev: Operator Index, Up: Top + +Register Index +************** + +The macro package or program a specific register belongs to is appended +in brackets. + + A register name `x' consisting of exactly one character can be +accessed as `\nx'. A register name `xx' consisting of exactly two +characters can be accessed as `\n(xx'. Register names `xxx' of any +length can be accessed as `\n[xxx]'. * Menu: -* ms Headers and Footers:: -* ms Margins:: -* ms Multiple Columns:: -* ms TOC:: -* ms Strings and Special Characters:: +* $$: Built-in Registers. +* % <1>: Page Control. +* %: Page Layout. +* .$: Parameters. +* .a: Manipulating Spacing. +* .A: Built-in Registers. +* .b: Artificial Fonts. +* .C: Implementation Differences. +* .c: Built-in Registers. +* .cdp: Environments. +* .ce: Manipulating Filling and Adjusting. +* .cht: Environments. +* .color: Colors. +* .csk: Environments. +* .d: Diversions. +* .ev: Environments. +* .f: Font Positions. +* .fam: Font Families. +* .fn: Font Families. +* .fp: Font Positions. +* .g: Built-in Registers. +* .h: Diversions. +* .H: Built-in Registers. +* .height: Artificial Fonts. +* .hla: Manipulating Hyphenation. +* .hlc: Manipulating Hyphenation. +* .hlm: Manipulating Hyphenation. +* .hy: Manipulating Hyphenation. +* .hym: Manipulating Hyphenation. +* .hys: Manipulating Hyphenation. +* .i: Line Layout. +* .in: Line Layout. +* .int: Line Control. +* .j: Manipulating Filling and Adjusting. +* .k: Page Motions. +* .kern: Ligatures and Kerning. +* .l: Line Layout. +* .L: Manipulating Spacing. +* .lg: Ligatures and Kerning. +* .linetabs: Tabs and Fields. +* .ll: Line Layout. +* .lt: Page Layout. +* .M: Colors. +* .m: Colors. +* .n: Environments. +* .ne: Page Location Traps. +* .ns: Manipulating Spacing. +* .o: Line Layout. +* .p: Page Layout. +* .P: Built-in Registers. +* .pe: Page Location Traps. +* .pn: Page Layout. +* .ps: Fractional Type Sizes. +* .psr: Fractional Type Sizes. +* .pvs: Changing Type Sizes. +* .rj: Manipulating Filling and Adjusting. +* .s: Changing Type Sizes. +* .slant: Artificial Fonts. +* .sr: Fractional Type Sizes. +* .ss: Manipulating Filling and Adjusting. +* .sss: Manipulating Filling and Adjusting. +* .t: Page Location Traps. +* .T: Built-in Registers. +* .tabs: Tabs and Fields. +* .trunc: Page Location Traps. +* .u: Manipulating Filling and Adjusting. +* .v: Changing Type Sizes. +* .V: Built-in Registers. +* .vpt: Page Location Traps. +* .w: Environments. +* .warn: Debugging. +* .x: Built-in Registers. +* .Y: Built-in Registers. +* .y: Built-in Registers. +* .z: Diversions. +* \n[.F]: Built-in Registers. +* \n[yr]: Built-in Registers. +* c.: Built-in Registers. +* ct: Page Motions. +* dl: Diversions. +* dn: Diversions. +* dw: Built-in Registers. +* dy: Built-in Registers. +* FF [ms]: ms Document Control Registers. +* FI [ms]: ms Document Control Registers. +* FL [ms]: ms Document Control Registers. +* FM [ms]: ms Document Control Registers. +* FPD [ms]: ms Document Control Registers. +* FPS [ms]: ms Document Control Registers. +* FVS [ms]: ms Document Control Registers. +* HM [ms]: ms Document Control Registers. +* hours: Built-in Registers. +* hp: Page Motions. +* LL [ms]: ms Document Control Registers. +* llx: Miscellaneous. +* lly: Miscellaneous. +* ln: Built-in Registers. +* LT [ms]: ms Document Control Registers. +* MINGW [ms] <1>: Additional ms Macros. +* MINGW [ms]: ms Document Control Registers. +* minutes: Built-in Registers. +* mo: Built-in Registers. +* nl: Page Control. +* opmaxx: Suppressing output. +* opmaxy: Suppressing output. +* opminx: Suppressing output. +* opminy: Suppressing output. +* PD [ms]: ms Document Control Registers. +* PI [ms]: ms Document Control Registers. +* PO [ms]: ms Document Control Registers. +* PS [ms]: ms Document Control Registers. +* ps4html [grohtml]: grohtml specific registers and strings. +* QI [ms]: ms Document Control Registers. +* rsb: Page Motions. +* rst: Page Motions. +* sb: Page Motions. +* seconds: Built-in Registers. +* skw: Page Motions. +* slimit: Debugging. +* ssc: Page Motions. +* st: Page Motions. +* systat: I/O. +* urx: Miscellaneous. +* ury: Miscellaneous. +* VS [ms]: ms Document Control Registers. +* year: Built-in Registers.  -File: groff, Node: ms Headers and Footers, Next: ms Margins, Prev: ms Page Layout, Up: ms Page Layout +File: groff, Node: Macro Index, Next: String Index, Prev: Register Index, Up: Top -Headers and footers -................... +Macro Index +*********** - For documents that do not distinguish between odd and even pages, -set the following strings: +The macro package a specific macro belongs to is appended in brackets. +They appear without the leading control character (normally `.'). - - String: \*[LH] - - String: \*[CH] - - String: \*[RH] - Sets the left, center, and right headers. +* Menu: - - String: \*[LF] - - String: \*[CF] - - String: \*[RF] - Sets the left, center, and right footers. +* 1C [ms]: ms Multiple Columns. +* 2C [ms]: ms Multiple Columns. +* [ [ms]: ms Insertions. +* ] [ms]: ms Insertions. +* AB [ms]: ms Cover Page Macros. +* AE [ms]: ms Cover Page Macros. +* AI [ms]: ms Cover Page Macros. +* AM [ms] <1>: Additional ms Macros. +* AM [ms]: ms Strings and Special Characters. +* AT [man]: Miscellaneous man macros. +* AU [ms]: ms Cover Page Macros. +* B [man]: Man font macros. +* B [ms]: Highlighting in ms. +* B1 [ms]: ms Displays and Keeps. +* B2 [ms]: ms Displays and Keeps. +* BD [ms]: ms Displays and Keeps. +* BI [man]: Man font macros. +* BI [ms]: Highlighting in ms. +* BR [man]: Man font macros. +* BT [man]: Optional man extensions. +* BX [ms]: Highlighting in ms. +* CD [ms]: ms Displays and Keeps. +* CT [man]: Optional man extensions. +* CW [man]: Optional man extensions. +* CW [ms] <1>: Additional ms Macros. +* CW [ms]: Highlighting in ms. +* DA [ms]: ms Cover Page Macros. +* De [man]: Optional man extensions. +* De [ms]: ms Displays and Keeps. +* DE [ms]: ms Displays and Keeps. +* Ds [man]: Optional man extensions. +* DS [ms]: Additional ms Macros. +* Ds [ms]: ms Displays and Keeps. +* DS [ms]: ms Displays and Keeps. +* DT [man]: Miscellaneous man macros. +* EE [man]: Optional man extensions. +* EF [ms]: ms Headers and Footers. +* EH [ms]: ms Headers and Footers. +* EN [ms]: ms Insertions. +* EQ [ms]: ms Insertions. +* EX [man]: Optional man extensions. +* FE [ms]: ms Footnotes. +* FS [ms]: ms Footnotes. +* G [man]: Optional man extensions. +* GL [man]: Optional man extensions. +* HB [man]: Optional man extensions. +* HP [man]: Man usage. +* I [man]: Man font macros. +* I [ms]: Highlighting in ms. +* IB [man]: Man font macros. +* ID [ms]: ms Displays and Keeps. +* IP [man]: Man usage. +* IP [ms]: Lists in ms. +* IR [man]: Man font macros. +* IX [ms]: Additional ms Macros. +* KE [ms]: ms Displays and Keeps. +* KF [ms]: ms Displays and Keeps. +* KS [ms]: ms Displays and Keeps. +* LD [ms]: ms Displays and Keeps. +* LG [ms]: Highlighting in ms. +* LP [man]: Man usage. +* LP [ms]: Paragraphs in ms. +* MC [ms]: ms Multiple Columns. +* MS [man]: Optional man extensions. +* ND [ms]: ms Cover Page Macros. +* NE [man]: Optional man extensions. +* NH [ms]: Headings in ms. +* NL [ms]: Highlighting in ms. +* NT [man]: Optional man extensions. +* OF [ms]: ms Headers and Footers. +* OH [ms]: ms Headers and Footers. +* P [man]: Man usage. +* PD [man]: Miscellaneous man macros. +* PE [ms]: ms Insertions. +* Pn [man]: Optional man extensions. +* PN [man]: Optional man extensions. +* PP [man]: Man usage. +* PP [ms]: Paragraphs in ms. +* PS [ms]: ms Insertions. +* PT [man]: Optional man extensions. +* PX [ms]: ms TOC. +* QP [ms]: Paragraphs in ms. +* R [man]: Optional man extensions. +* R [ms]: Highlighting in ms. +* RB [man]: Man font macros. +* RD [ms]: ms Displays and Keeps. +* RE [man]: Man usage. +* RE [ms]: Indents in ms. +* RI [man]: Man font macros. +* RN [man]: Optional man extensions. +* RP [ms]: ms Cover Page Macros. +* RS [man]: Man usage. +* RS [ms]: Indents in ms. +* SB [man]: Man font macros. +* SH [man]: Man usage. +* SH [ms]: Headings in ms. +* SM [man]: Man font macros. +* SM [ms]: Highlighting in ms. +* SS [man]: Man usage. +* TA [ms]: Tabstops in ms. +* TB [man]: Optional man extensions. +* TC [ms]: ms TOC. +* TE [ms]: ms Insertions. +* TH [man]: Man usage. +* TL [ms]: ms Cover Page Macros. +* TP [man]: Man usage. +* TS [ms]: ms Insertions. +* UC [man]: Miscellaneous man macros. +* UL [ms]: Highlighting in ms. +* VE [man]: Optional man extensions. +* VS [man]: Optional man extensions. +* XA [ms]: ms TOC. +* XE [ms]: ms TOC. +* XP [ms]: Paragraphs in ms. +* XS [ms]: ms TOC. + +File: groff, Node: String Index, Next: Glyph Name Index, Prev: Macro Index, Up: Top - For documents that need different information printed in the even -and odd pages, use the following macros: +String Index +************ - - Macro: .OH 'left'center'right' - - Macro: .EH 'left'center'right' - - Macro: .OF 'left'center'right' - - Macro: .EF 'left'center'right' - The `OH' and `EH' macros define headers for the odd and even pages; - the `OF' and `EF' macros define footers for the odd and even pages. - This is more flexible than defining the individual strings. +The macro package or program a specific string belongs to is appended in +brackets. - You can replace the quote (`'') marks with any character not - appearing in the header or footer text. + A string name `x' consisting of exactly one character can be +accessed as `\*x'. A string name `xx' consisting of exactly two +characters can be accessed as `\*(xx'. String names `xxx' of any +length can be accessed as `\*[xxx]'. + +* Menu: + +* ! [ms]: ms Strings and Special Characters. +* ' [ms]: ms Strings and Special Characters. +* * [ms]: ms Footnotes. +* *Q [ms]: ms Strings and Special Characters. +* *U [ms]: ms Strings and Special Characters. +* , [ms]: ms Strings and Special Characters. +* - [ms]: ms Strings and Special Characters. +* . [ms]: ms Strings and Special Characters. +* .T: Built-in Registers. +* 3 [ms]: ms Strings and Special Characters. +* 8 [ms]: ms Strings and Special Characters. +* ? [ms]: ms Strings and Special Characters. +* \*[] [ms]: ms Strings and Special Characters. +* ^ [ms]: ms Strings and Special Characters. +* _ [ms]: ms Strings and Special Characters. +* ` [ms]: ms Strings and Special Characters. +* ABSTRACT [ms]: ms Strings and Special Characters. +* Ae [ms]: ms Strings and Special Characters. +* ae [ms]: ms Strings and Special Characters. +* CF [ms]: ms Headers and Footers. +* CH [ms]: ms Headers and Footers. +* d- [ms]: ms Strings and Special Characters. +* D- [ms]: ms Strings and Special Characters. +* HF [man]: Predefined man strings. +* LF [ms]: ms Headers and Footers. +* LH [ms]: ms Headers and Footers. +* lq [man]: Predefined man strings. +* MONTH1 [ms]: ms Strings and Special Characters. +* MONTH10 [ms]: ms Strings and Special Characters. +* MONTH11 [ms]: ms Strings and Special Characters. +* MONTH12 [ms]: ms Strings and Special Characters. +* MONTH2 [ms]: ms Strings and Special Characters. +* MONTH3 [ms]: ms Strings and Special Characters. +* MONTH4 [ms]: ms Strings and Special Characters. +* MONTH5 [ms]: ms Strings and Special Characters. +* MONTH6 [ms]: ms Strings and Special Characters. +* MONTH7 [ms]: ms Strings and Special Characters. +* MONTH8 [ms]: ms Strings and Special Characters. +* MONTH9 [ms]: ms Strings and Special Characters. +* o [ms]: ms Strings and Special Characters. +* q [ms]: ms Strings and Special Characters. +* R [man]: Predefined man strings. +* REFERENCES [ms]: ms Strings and Special Characters. +* RF [ms]: ms Headers and Footers. +* RH [ms]: ms Headers and Footers. +* rq [man]: Predefined man strings. +* S [man]: Predefined man strings. +* th [ms]: ms Strings and Special Characters. +* Th [ms]: ms Strings and Special Characters. +* Tm [man]: Predefined man strings. +* TOC [ms]: ms Strings and Special Characters. +* v [ms]: ms Strings and Special Characters. +* www-image-template [grohtml]: grohtml specific registers and strings. +* ~ [ms]: ms Strings and Special Characters.  -File: groff, Node: ms Margins, Next: ms Multiple Columns, Prev: ms Headers and Footers, Up: ms Page Layout +File: groff, Node: Glyph Name Index, Next: Font File Keyword Index, Prev: String Index, Up: Top -Margins -....... +Glyph Name Index +**************** - You control margins using a set of number registers. *Note ms -Document Control Registers::, for details. +A glyph name `xx' consisting of exactly two characters can be accessed +as `\(xx'. Glyph names `xxx' of any length can be accessed as `\[xxx]'.  -File: groff, Node: ms Multiple Columns, Next: ms TOC, Prev: ms Margins, Up: ms Page Layout +File: groff, Node: Font File Keyword Index, Next: Program and File Index, Prev: Glyph Name Index, Up: Top -Multiple columns -................ +Font File Keyword Index +*********************** - The `ms' macros can set text in as many columns as will reasonably -fit on the page. The following macros are available; all of them force -a page break if a multi-column mode is already set. However, if the -current mode is single-column, starting a multi-column mode does *not* -force a page break. - - - Macro: .1C - Single-column mode. - - - Macro: .2C - Two-column mode. - - - Macro: .MC [width [gutter]] - Multi-column mode. If you specify no arguments, it is equivalent - to the `2C' macro. Otherwise, WIDTH is the width of each column - and GUTTER is the space between columns. The `MINGW' number - register controls the default gutter width. - - -File: groff, Node: ms TOC, Next: ms Strings and Special Characters, Prev: ms Multiple Columns, Up: ms Page Layout - -Creating a table of contents -............................ - - The facilities in the `ms' macro package for creating a table of -contents are semi-automated at best. Assuming that you want the table -of contents to consist of the document's headings, you need to repeat -those headings wrapped in `XS' and `XE' macros. - - - Macro: .XS [page] - - Macro: .XA [page] - - Macro: .XE - These macros define a table of contents or an individual entry in - the table of contents, depending on their use. The macros are - very simple; they cannot indent a heading based on its level. The - easiest way to work around this is to add tabs to the table of - contents string. The following is an example: - - - .NH 1 - Introduction - .XS - Introduction - .XE - .LP - ... - .CW - .NH 2 - Methodology - .XS - Methodology - .XE - .LP - ... +* Menu: - You can manually create a table of contents by beginning with the - `XS' macro for the first entry, specifying the page number for - that entry as the argument to `XS'. Add subsequent entries using - the `XA' macro, specifying the page number for that entry as the - argument to `XA'. The following is an example: +* #: Font File Format. +* ---: Font File Format. +* biggestfont: DESC File Format. +* charset <1>: Font File Format. +* charset: DESC File Format. +* family <1>: DESC File Format. +* family <2>: Font Positions. +* family: Changing Fonts. +* fonts <1>: DESC File Format. +* fonts <2>: Special Fonts. +* fonts: Using Symbols. +* hor: DESC File Format. +* kernpairs: Font File Format. +* ligatures: Font File Format. +* name: Font File Format. +* papersize: DESC File Format. +* pass_filenames: DESC File Format. +* postpro: DESC File Format. +* prepro: DESC File Format. +* print: DESC File Format. +* res: DESC File Format. +* sizes: DESC File Format. +* sizescale: DESC File Format. +* slant: Font File Format. +* spacewidth: Font File Format. +* spare1: DESC File Format. +* spare2: DESC File Format. +* special <1>: Font File Format. +* special: Artificial Fonts. +* styles <1>: DESC File Format. +* styles <2>: Font Positions. +* styles <3>: Font Families. +* styles: Changing Fonts. +* tcommand: DESC File Format. +* unitwidth: DESC File Format. +* use_charnames_in_special <1>: DESC File Format. +* use_charnames_in_special: Postprocessor Access. +* vert: DESC File Format. + +File: groff, Node: Program and File Index, Next: Concept Index, Prev: Font File Keyword Index, Up: Top - .XS 1 - Introduction - .XA 2 - A Brief History of the Universe - .XA 729 - Details of Galactic Formation - ... - .XE +Program and File Index +********************** + +* Menu: + +* an.tmac: man. +* changebar: Miscellaneous. +* composite.tmac: Using Symbols. +* cp1047.tmac: Input Encodings. +* DESC <1>: Special Fonts. +* DESC <2>: Using Symbols. +* DESC <3>: Font Positions. +* DESC <4>: Font Families. +* DESC: Changing Fonts. +* DESC file format: DESC File Format. +* DESC, and font mounting: Font Positions. +* DESC, and use_charnames_in_special: Postprocessor Access. +* ditroff: History. +* ec.tmac: Input Encodings. +* eqn: ms Insertions. +* freeeuro.pfa: Input Encodings. +* geqn: Groff Options. +* geqn, invocation in manual pages: Preprocessors in man pages. +* ggrn: Groff Options. +* gpic: Groff Options. +* grap: Groff Options. +* grefer: Groff Options. +* grefer, invocation in manual pages: Preprocessors in man pages. +* groff: Groff Options. +* grog: grog. +* grohtml: Miscellaneous man macros. +* gsoelim: Groff Options. +* gtbl: Groff Options. +* gtbl, invocation in manual pages: Preprocessors in man pages. +* gtroff: Groff Options. +* hyphen.us: Manipulating Hyphenation. +* hyphenex.us: Manipulating Hyphenation. +* latin1.tmac: Input Encodings. +* latin2.tmac: Input Encodings. +* latin9.tmac: Input Encodings. +* makeindex: Indices. +* man, invocation of preprocessors: Preprocessors in man pages. +* man-old.tmac: man. +* man.local <1>: Optional man extensions. +* man.local: Man usage. +* man.tmac: man. +* man.ultrix: Optional man extensions. +* nrchbar: Miscellaneous. +* papersize.tmac: Paper Size. +* perl: I/O. +* pic: ms Insertions. +* post-grohtml: Groff Options. +* pre-grohtml: Groff Options. +* refer: ms Insertions. +* soelim: Debugging. +* tbl: ms Insertions. +* trace.tmac: Writing Macros. +* troffrc <1>: Line Layout. +* troffrc <2>: Troff and Nroff Mode. +* troffrc <3>: Manipulating Hyphenation. +* troffrc <4>: Paper Size. +* troffrc: Groff Options. +* troffrc-end <1>: Troff and Nroff Mode. +* troffrc-end <2>: Manipulating Hyphenation. +* troffrc-end: Groff Options. +* tty.tmac: Troff and Nroff Mode. + + +File: groff, Node: Concept Index, Prev: Program and File Index, Up: Top + +Concept Index +************* + +* Menu: +* ", at end of sentence <1>: Using Symbols. +* ", at end of sentence: Sentences. +* ", in a macro argument: Request and Macro Arguments. +* %, as delimiter: Escapes. +* &, as delimiter: Escapes. +* ', as a comment: Comments. +* ', at end of sentence <1>: Using Symbols. +* ', at end of sentence: Sentences. +* ', delimiting arguments: Escapes. +* (, as delimiter: Escapes. +* (, starting a two-character identifier <1>: Escapes. +* (, starting a two-character identifier: Identifiers. +* ), as delimiter: Escapes. +* ), at end of sentence <1>: Using Symbols. +* ), at end of sentence: Sentences. +* *, as delimiter: Escapes. +* *, at end of sentence <1>: Using Symbols. +* *, at end of sentence: Sentences. +* +, and page motion: Expressions. +* +, as delimiter: Escapes. +* -, and page motion: Expressions. +* -, as delimiter: Escapes. +* ., as delimiter: Escapes. +* .h register, difference to nl: Diversions. +* .ps register, in comparison with .psr: Fractional Type Sizes. +* .s register, in comparison with .sr: Fractional Type Sizes. +* .S register, Plan 9 alias for .tabs: Tabs and Fields. +* .t register, and diversions: Diversion Traps. +* .tabs register, Plan 9 alias (.S): Tabs and Fields. +* .V register, and vs: Changing Type Sizes. +* /, as delimiter: Escapes. +* 8-bit input: Font File Format. +* <, as delimiter: Escapes. +* , as delimiter: Escapes. +* =, as delimiter: Escapes. +* >, as delimiter: Escapes. +* [, macro names starting with, and refer: Identifiers. +* [, starting an identifier <1>: Escapes. +* [, starting an identifier: Identifiers. +* \!, and output: Diversions. +* \!, and trnt: Character Translations. +* \!, in top-level diversion: Diversions. +* \!, incompatibilities with AT&T troff: Implementation Differences. +* \!, used as delimiter: Escapes. +* \$, when reading text for a macro: Copy-in Mode. +* \%, and translations: Character Translations. +* \%, following \X or \Y: Manipulating Hyphenation. +* \%, in \X: Postprocessor Access. +* \%, incompatibilities with AT&T troff: Implementation Differences. +* \%, used as delimiter: Escapes. +* \&, and glyph definitions: Using Symbols. +* \&, and translations: Character Translations. +* \&, at end of sentence: Sentences. +* \&, escaping control characters: Requests. +* \&, in \X: Postprocessor Access. +* \&, incompatibilities with AT&T troff: Implementation Differences. +* \&, used as delimiter: Escapes. +* \', and translations: Character Translations. +* \', incompatibilities with AT&T troff: Implementation Differences. +* \', used as delimiter: Escapes. +* \(, and translations: Character Translations. +* \), in \X: Postprocessor Access. +* \), used as delimiter: Escapes. +* \*, and warnings: Warnings. +* \*, incompatibilities with AT&T troff: Implementation Differences. +* \*, when reading text for a macro: Copy-in Mode. +* \, disabling (eo): Character Translations. +* \,, used as delimiter: Escapes. +* \-, and translations: Character Translations. +* \-, incompatibilities with AT&T troff: Implementation Differences. +* \-, used as delimiter: Escapes. +* \/, used as delimiter: Escapes. +* \0, used as delimiter: Escapes. +* \, in \X: Postprocessor Access. +* \, used as delimiter: Escapes. +* \, when reading text for a macro: Copy-in Mode. +* \, difference to \~: Request and Macro Arguments. +* \, incompatibilities with AT&T troff: Implementation Differences. +* \, used as delimiter: Escapes. +* \?, in top-level diversion: Diversions. +* \?, incompatibilities with AT&T troff: Implementation Differences. +* \?, used as delimiter: Escapes. +* \@, used as delimiter: Escapes. +* \[, and translations: Character Translations. +* \\, when reading text for a macro: Copy-in Mode. +* \^, incompatibilities with AT&T troff: Implementation Differences. +* \^, used as delimiter: Escapes. +* \_, and translations: Character Translations. +* \_, incompatibilities with AT&T troff: Implementation Differences. +* \_, used as delimiter: Escapes. +* \`, and translations: Character Translations. +* \`, incompatibilities with AT&T troff: Implementation Differences. +* \`, used as delimiter: Escapes. +* \A, allowed delimiters: Escapes. +* \a, and translations: Character Translations. +* \A, incompatibilities with AT&T troff: Implementation Differences. +* \a, used as delimiter: Escapes. +* \B, allowed delimiters: Escapes. +* \b, limitations: Drawing Requests. +* \b, possible quote characters: Escapes. +* \C, allowed delimiters: Escapes. +* \c, and fill mode: Line Control. +* \c, and no-fill mode: Line Control. +* \C, and translations: Character Translations. +* \c, incompatibilities with AT&T troff: Implementation Differences. +* \c, used as delimiter: Escapes. +* \D'f ...' and horizontal resolution: Drawing Requests. +* \D, allowed delimiters: Escapes. +* \d, used as delimiter: Escapes. +* \e, and glyph definitions: Using Symbols. +* \e, and translations: Character Translations. +* \e, incompatibilities with AT&T troff: Implementation Differences. +* \e, used as delimiter: Escapes. +* \E, used as delimiter: Escapes. +* \e, used as delimiter: Escapes. +* \F, and changing fonts: Changing Fonts. +* \F, and font positions: Font Positions. +* \f, and font translations: Changing Fonts. +* \f, incompatibilities with AT&T troff: Implementation Differences. +* \H, allowed delimiters: Escapes. +* \h, allowed delimiters: Escapes. +* \H, incompatibilities with AT&T troff: Implementation Differences. +* \H, using + and -: Expressions. +* \H, with fractional type sizes: Fractional Type Sizes. +* \L, allowed delimiters: Escapes. +* \l, allowed delimiters: Escapes. +* \L, and glyph definitions: Using Symbols. +* \l, and glyph definitions: Using Symbols. +* \N, allowed delimiters: Escapes. +* \N, and translations: Character Translations. +* \n, and warnings: Warnings. +* \n, incompatibilities with AT&T troff: Implementation Differences. +* \n, when reading text for a macro: Copy-in Mode. +* \o, possible quote characters: Escapes. +* \p, used as delimiter: Escapes. +* \R, after \c: Line Control. +* \R, allowed delimiters: Escapes. +* \R, and warnings: Warnings. +* \R, difference to nr: Auto-increment. +* \r, used as delimiter: Escapes. +* \R, using + and -: Expressions. +* \S, allowed delimiters: Escapes. +* \s, allowed delimiters: Escapes. +* \S, incompatibilities with AT&T troff: Implementation Differences. +* \s, incompatibilities with AT&T troff: Implementation Differences. +* \s, using + and -: Expressions. +* \s, with fractional type sizes: Fractional Type Sizes. +* \t, and translations: Character Translations. +* \t, and warnings: Warnings. +* \t, used as delimiter: Escapes. +* \u, used as delimiter: Escapes. +* \v, allowed delimiters: Escapes. +* \v, internal representation: Gtroff Internals. +* \w, allowed delimiters: Escapes. +* \x, allowed delimiters: Escapes. +* \X, and special characters: Postprocessor Access. +* \X, followed by \%: Manipulating Hyphenation. +* \X, possible quote characters: Escapes. +* \Y, followed by \%: Manipulating Hyphenation. +* \Z, allowed delimiters: Escapes. +* \{, incompatibilities with AT&T troff: Implementation Differences. +* \{, used as delimiter: Escapes. +* \|, incompatibilities with AT&T troff: Implementation Differences. +* \|, used as delimiter: Escapes. +* \}, and warnings: Warnings. +* \}, incompatibilities with AT&T troff: Implementation Differences. +* \}, used as delimiter: Escapes. +* \~, and translations: Character Translations. +* \~, difference to \: Request and Macro Arguments. +* \~, used as delimiter: Escapes. +* ], as part of an identifier: Identifiers. +* ], at end of sentence <1>: Using Symbols. +* ], at end of sentence: Sentences. +* ], ending an identifier <1>: Escapes. +* ], ending an identifier: Identifiers. +* ], macro names starting with, and refer: Identifiers. +* aborting (ab): Debugging. +* absolute position operator (|): Expressions. +* accent marks [ms]: ms Strings and Special Characters. +* access of postprocessor: Postprocessor Access. +* accessing unnamed glyphs with \N: Font File Format. +* activating kerning (kern): Ligatures and Kerning. +* activating ligatures (lg): Ligatures and Kerning. +* activating track kerning (tkf): Ligatures and Kerning. +* ad request, and hyphenation margin: Manipulating Hyphenation. +* ad request, and hyphenation space: Manipulating Hyphenation. +* adjusting: Filling and Adjusting. +* adjusting and filling, manipulating: Manipulating Filling and Adjusting. +* adjustment mode register (.j): Manipulating Filling and Adjusting. +* adobe glyph list (AGL): Using Symbols. +* AGL (adobe glyph list): Using Symbols. +* alias, diversion, creating (als): Strings. +* alias, macro, creating (als): Strings. +* alias, number register, creating (aln): Setting Registers. +* alias, string, creating (als): Strings. +* als request, and \$0: Parameters. +* am, am1, ami requests, and warnings: Warnings. +* annotations: Footnotes and Annotations. +* appending to a diversion (da): Diversions. +* appending to a file (opena): I/O. +* appending to a macro (am): Writing Macros. +* appending to a string (as): Strings. +* arc, drawing (\D'a ...'): Drawing Requests. +* argument delimiting characters: Escapes. +* arguments to requests and macros: Request and Macro Arguments. +* arguments, macro (\$): Parameters. +* arguments, of strings: Strings. +* arithmetic operators: Expressions. +* artificial fonts: Artificial Fonts. +* as, as1 requests, and comments: Comments. +* as, as1 requests, and warnings: Warnings. +* ASCII approximation output register (.A) <1>: Built-in Registers. +* ASCII approximation output register (.A): Groff Options. +* ASCII, output encoding: Groff Options. +* asciify request, and writem: I/O. +* assigning formats (af): Assigning Formats. +* assignments, indirect: Interpolating Registers. +* assignments, nested: Interpolating Registers. +* AT&T troff, ms macro package differences: Differences from AT&T ms. +* auto-increment: Auto-increment. +* available glyphs, list (`groff_char(7)' man page): Using Symbols. +* background color name register (.M): Colors. +* backslash, printing (\\, \e, \E, \[rs]) <1>: Implementation Differences. +* backslash, printing (\\, \e, \E, \[rs]): Escapes. +* backspace character: Identifiers. +* backspace character, and translations: Character Translations. +* backtrace of input stack (backtrace): Debugging. +* baseline: Sizes. +* basic unit (u): Measurements. +* basics of macros: Basics. +* bd request, and font styles: Font Families. +* bd request, and font translations: Changing Fonts. +* bd request, incompatibilities with AT&T troff: Implementation Differences. +* begin of conditional block (\{): if-else. +* beginning diversion (di): Diversions. +* blank line <1>: Requests. +* blank line: Implicit Line Breaks. +* blank line (sp): Basics. +* blank line macro (blm) <1>: Blank Line Traps. +* blank line macro (blm) <2>: Requests. +* blank line macro (blm): Implicit Line Breaks. +* blank line traps: Blank Line Traps. +* blank lines, disabling: Manipulating Spacing. +* block, conditional, begin (\{): if-else. +* block, condititional, end (\}): if-else. +* bold face [man]: Man font macros. +* bold face, imitating (bd): Artificial Fonts. +* bottom margin: Page Layout. +* bounding box: Miscellaneous. +* box rule glyph (\[br]): Drawing Requests. +* box, boxa requests, and warnings: Warnings. +* boxa request, and dn (dl): Diversions. +* bp request, and top-level diversion: Page Control. +* bp request, and traps (.pe): Page Location Traps. +* bp request, causing implicit linebreak: Manipulating Filling and Adjusting. +* bp request, using + and -: Expressions. +* br glyph, and cflags: Using Symbols. +* break <1>: Manipulating Filling and Adjusting. +* break: Basics. +* break (br): Basics. +* break request, in a while loop: while. +* break, implicit: Implicit Line Breaks. +* built-in registers: Built-in Registers. +* bulleted list, example markup [ms]: Lists in ms. +* c unit: Measurements. +* calling convention of preprocessors: Preprocessors in man pages. +* capabilities of groff: groff Capabilities. +* ce request, causing implicit linebreak: Manipulating Filling and Adjusting. +* ce request, difference to .ad c: Manipulating Filling and Adjusting. +* centered text: Manipulating Filling and Adjusting. +* centering lines (ce) <1>: Manipulating Filling and Adjusting. +* centering lines (ce): Basics. +* centimeter unit (c): Measurements. +* cf request, causing implicit linebreak: Manipulating Filling and Adjusting. +* changing font family (fam, \F): Font Families. +* changing font position (\f): Font Positions. +* changing font style (sty): Font Families. +* changing fonts (ft, \f): Changing Fonts. +* changing format, and read-only registers: Assigning Formats. +* changing the font height (\H): Artificial Fonts. +* changing the font slant (\S): Artificial Fonts. +* changing the page number character (pc): Page Layout. +* changing trap location (ch): Page Location Traps. +* changing type sizes (ps, \s): Changing Type Sizes. +* changing vertical line spacing (vs): Changing Type Sizes. +* char request, and soft hyphen character: Manipulating Hyphenation. +* char request, and translations: Character Translations. +* char request, used with \N: Using Symbols. +* character: Using Symbols. +* character properties (cflags): Using Symbols. +* character translations: Character Translations. +* character, backspace: Identifiers. +* character, backspace, and translations: Character Translations. +* character, control (.): Requests. +* character, control, changing (cc): Character Translations. +* character, defining (char): Using Symbols. +* character, defining fallback (fchar, fschar, schar): Using Symbols. +* character, escape, changing (ec): Character Translations. +* character, escape, while defining glyph: Using Symbols. +* character, field delimiting (fc): Fields. +* character, field padding (fc): Fields. +* character, hyphenation (\%): Manipulating Hyphenation. +* character, leader repetition (lc): Leaders. +* character, leader, and translations: Character Translations. +* character, leader, non-interpreted (\a): Leaders. +* character, named (\C): Using Symbols. +* character, newline: Escapes. +* character, newline, and translations: Character Translations. +* character, no-break control ('): Requests. +* character, no-break control, changing (c2): Character Translations. +* character, soft hyphen, setting (shc): Manipulating Hyphenation. +* character, space: Escapes. +* character, special: Character Translations. +* character, tab: Escapes. +* character, tab repetition (tc): Tabs and Fields. +* character, tab, and translations: Character Translations. +* character, tab, non-interpreted (\t): Tabs and Fields. +* character, tabulator: Tab Stops. +* character, transparent <1>: Using Symbols. +* character, transparent: Sentences. +* character, whitespace: Identifiers. +* character, zero width space (\&) <1>: Drawing Requests. +* character, zero width space (\&) <2>: Ligatures and Kerning. +* character, zero width space (\&): Requests. +* characters, argument delimiting: Escapes. +* characters, end-of-sentence: Using Symbols. +* characters, hyphenation: Using Symbols. +* characters, input, and output glyphs, compatibility with AT&T troff: Implementation Differences. +* characters, invalid for trf request: I/O. +* characters, invalid input: Identifiers. +* characters, overlapping: Using Symbols. +* characters, special: Special Characters. +* characters, unnamed, accessing with \N: Font File Format. +* circle, drawing (\D'c ...'): Drawing Requests. +* circle, solid, drawing (\D'C ...'): Drawing Requests. +* closing file (close): I/O. +* code, hyphenation (hcode): Manipulating Hyphenation. +* color name, background, register (.M): Colors. +* color name, drawing, register (.m): Colors. +* color, default: Colors. +* colors: Colors. +* colors, fill, unnamed (\D'F...'): Drawing Requests. +* command prefix: Environment. +* command-line options: Groff Options. +* commands, embedded: Embedded Commands. +* comments: Comments. +* comments in font files: Font File Format. +* comments, lining up with tabs: Comments. +* comments, with ds: Strings. +* common features: Common Features. +* common name space of macros, diversions, and strings: Strings. +* comparison operators: Expressions. +* compatibility mode <1>: Implementation Differences. +* compatibility mode: Warnings. +* composite glyph names: Using Symbols. +* conditional block, begin (\{): if-else. +* conditional block, end (\}): if-else. +* conditional page break (ne): Page Control. +* conditionals and loops: Conditionals and Loops. +* consecutive hyphenated lines (hlm): Manipulating Hyphenation. +* constant glyph space mode (cs): Artificial Fonts. +* contents, table of <1>: Leaders. +* contents, table of: Table of Contents. +* continuation, input line (\): Line Control. +* continuation, output line (\c): Line Control. +* continue request, in a while loop: while. +* continuous underlining (cu): Artificial Fonts. +* control character (.): Requests. +* control character, changing (cc): Character Translations. +* control character, no-break ('): Requests. +* control character, no-break, changing (c2): Character Translations. +* control, line: Line Control. +* control, page: Page Control. +* conventions for input: Input Conventions. +* copy-in mode: Copy-in Mode. +* copy-in mode, and macro arguments: Parameters. +* copy-in mode, and write requests: I/O. +* copying environment (evc): Environments. +* correction between italic and roman glyph (\/, \,): Ligatures and Kerning. +* correction, italic (\/): Ligatures and Kerning. +* correction, left italic (\,): Ligatures and Kerning. +* cover page macros, [ms]: ms Cover Page Macros. +* cp request, and glyph definitions: Using Symbols. +* cp1047, input encoding: Input Encodings. +* cp1047, output encoding: Groff Options. +* creating alias, for diversion (als): Strings. +* creating alias, for macro (als): Strings. +* creating alias, for number register (aln): Setting Registers. +* creating alias, for string (als): Strings. +* creating new characters (char): Using Symbols. +* credits: Credits. +* cs request, and font styles: Font Families. +* cs request, and font translations: Changing Fonts. +* cs request, incompatibilities with AT&T troff: Implementation Differences. +* cs request, with fractional type sizes: Fractional Type Sizes. +* current directory: Macro Directories. +* current input file name register (.F): Built-in Registers. +* current page number (%): Page Control. +* current time: I/O. +* current time, hours (hours): Built-in Registers. +* current time, minutes (minutes): Built-in Registers. +* current time, seconds (seconds): Built-in Registers. +* current vertical position (nl): Page Control. +* da request, and dn (dl): Diversions. +* da request, and warnings: Warnings. +* date, day of the month register (dy): Built-in Registers. +* date, day of the week register (dw): Built-in Registers. +* date, month of the year register (mo): Built-in Registers. +* date, year register (year, yr): Built-in Registers. +* day of the month register (dy): Built-in Registers. +* day of the week register (dw): Built-in Registers. +* de request, and while: while. +* de, de1, dei requests, and warnings: Warnings. +* debugging: Debugging. +* default color: Colors. +* default indentation [man]: Miscellaneous man macros. +* default indentation, resetting [man]: Man usage. +* default units: Default Units. +* defining character (char): Using Symbols. +* defining fallback character (fchar, fschar, schar): Using Symbols. +* defining glyph (char): Using Symbols. +* defining symbol (char): Using Symbols. +* delayed text: Footnotes and Annotations. +* delimited arguments, incompatibilities with AT&T troff: Implementation Differences. +* delimiting character, for fields (fc): Fields. +* delimiting characters for arguments: Escapes. +* depth, of last glyph (.cdp): Environments. +* DESC file, format: DESC File Format. +* device resolution: DESC File Format. +* devices for output <1>: Output Devices. +* devices for output: Output device intro. +* dg glyph, at end of sentence <1>: Using Symbols. +* dg glyph, at end of sentence: Sentences. +* di request, and warnings: Warnings. +* differences in implementation: Implementation Differences. +* digit width space (\0): Page Motions. +* digits, and delimiters: Escapes. +* dimensions, line: Line Layout. +* directories for fonts: Font Directories. +* directories for macros: Macro Directories. +* directory, current: Macro Directories. +* directory, for tmac files: Macro Directories. +* directory, home: Macro Directories. +* directory, platform-specific: Macro Directories. +* directory, site-specific <1>: Font Directories. +* directory, site-specific: Macro Directories. +* disabling \ (eo): Character Translations. +* disabling hyphenation (\%): Manipulating Hyphenation. +* discardable horizontal space: Manipulating Filling and Adjusting. +* discarded space in traps: Manipulating Spacing. +* displays: Displays. +* displays [ms]: ms Displays and Keeps. +* distance to next trap register (.t): Page Location Traps. +* ditroff, the program: History. +* diversion name register (.z): Diversions. +* diversion trap, setting (dt): Diversion Traps. +* diversion traps: Diversion Traps. +* diversion, appending (da): Diversions. +* diversion, beginning (di): Diversions. +* diversion, creating alias (als): Strings. +* diversion, ending (di): Diversions. +* diversion, nested: Diversions. +* diversion, removing (rm): Strings. +* diversion, renaming (rn): Strings. +* diversion, stripping final newline: Strings. +* diversion, top-level: Diversions. +* diversion, top-level, and \!: Diversions. +* diversion, top-level, and \?: Diversions. +* diversion, top-level, and bp: Page Control. +* diversion, unformatting (asciify): Diversions. +* diversion, vertical position in, register (.d): Diversions. +* diversions: Diversions. +* diversions, and traps: Page Location Traps. +* diversions, shared name space with macros and strings: Strings. +* dl register, and da (boxa): Diversions. +* dn register, and da (boxa): Diversions. +* documents, multi-file: Debugging. +* documents, structuring the source code: Requests. +* double quote, in a macro argument: Request and Macro Arguments. +* double-spacing (ls) <1>: Manipulating Spacing. +* double-spacing (ls): Basics. +* double-spacing (vs, pvs): Changing Type Sizes. +* drawing a circle (\D'c ...'): Drawing Requests. +* drawing a line (\D'l ...'): Drawing Requests. +* drawing a polygon (\D'p ...'): Drawing Requests. +* drawing a solid circle (\D'C ...'): Drawing Requests. +* drawing a solid ellipse (\D'E ...'): Drawing Requests. +* drawing a solid polygon (\D'P ...'): Drawing Requests. +* drawing a spline (\D'~ ...'): Drawing Requests. +* drawing an arc (\D'a ...'): Drawing Requests. +* drawing an ellipse (\D'e ...'): Drawing Requests. +* drawing color name register (.m): Colors. +* drawing horizontal lines (\l): Drawing Requests. +* drawing requests: Drawing Requests. +* drawing vertical lines (\L): Drawing Requests. +* ds request, and comments: Strings. +* ds request, and double quotes: Request and Macro Arguments. +* ds request, and leading spaces: Strings. +* ds, ds1 requests, and comments: Comments. +* ds, ds1 requests, and warnings: Warnings. +* dumping number registers (pnr): Debugging. +* dumping symbol table (pm): Debugging. +* dumping traps (ptr): Debugging. +* EBCDIC encoding: Tab Stops. +* EBCDIC encoding of a tab: Tabs and Fields. +* EBCDIC encoding of backspace: Identifiers. +* EBCDIC, input encoding: Input Encodings. +* EBCDIC, output encoding: Groff Options. +* el request, and warnings: Warnings. +* ellipse, drawing (\D'e ...'): Drawing Requests. +* ellipse, solid, drawing (\D'E ...'): Drawing Requests. +* em glyph, and cflags: Using Symbols. +* em unit (m): Measurements. +* embedded commands: Embedded Commands. +* embedding PostScript: Embedding PostScript. +* embolding of special fonts: Artificial Fonts. +* empty line: Implicit Line Breaks. +* empty line (sp): Basics. +* empty space before a paragraph [man]: Miscellaneous man macros. +* en unit (n): Measurements. +* enabling vertical position traps (vpt): Page Location Traps. +* encoding, EBCDIC: Tab Stops. +* encoding, input, cp1047: Input Encodings. +* encoding, input, EBCDIC: Input Encodings. +* encoding, input, latin-1 (ISO 8859-1): Input Encodings. +* encoding, input, latin-2 (ISO 8859-2): Input Encodings. +* encoding, input, latin-9 (latin-0, ISO 8859-15): Input Encodings. +* encoding, output, ASCII: Groff Options. +* encoding, output, cp1047: Groff Options. +* encoding, output, EBCDIC: Groff Options. +* encoding, output, latin-1 (ISO 8859-1): Groff Options. +* encoding, output, utf-8: Groff Options. +* end of conditional block (\}): if-else. +* end-of-input macro (em): End-of-input Traps. +* end-of-input trap, setting (em): End-of-input Traps. +* end-of-input traps: End-of-input Traps. +* end-of-sentence characters: Using Symbols. +* ending diversion (di): Diversions. +* environment number/name register (.ev): Environments. +* environment variables: Environment. +* environment, copying (evc): Environments. +* environment, dimensions of last glyph (.w, .cht, .cdp, .csk): Environments. +* environment, previous line length (.n): Environments. +* environment, switching (ev): Environments. +* environments: Environments. +* eqn, the program: geqn. +* equations [ms]: ms Insertions. +* escape character, changing (ec): Character Translations. +* escape character, while defining glyph: Using Symbols. +* escapes: Escapes. +* escaping newline characters, in strings: Strings. +* ex request, use in debugging: Debugging. +* ex request, used with nx and rd: I/O. +* example markup, bulleted list [ms]: Lists in ms. +* example markup, glossary-style list [ms]: Lists in ms. +* example markup, multi-page table [ms]: Example multi-page table. +* example markup, numbered list [ms]: Lists in ms. +* example markup, title page: ms Cover Page Macros. +* examples of invocation: Invocation Examples. +* exiting (ex): Debugging. +* expansion of strings (\*): Strings. +* explicit hyphen (\%): Manipulating Hyphenation. +* expression, order of evaluation: Expressions. +* expressions: Expressions. +* expressions, and space characters: Expressions. +* extra post-vertical line space (\x): Changing Type Sizes. +* extra post-vertical line space register (.a): Manipulating Spacing. +* extra pre-vertical line space (\x): Changing Type Sizes. +* extra spaces: Filling and Adjusting. +* extremum operators (>?, : Warnings. +* fill mode <2>: Manipulating Filling and Adjusting. +* fill mode: Implicit Line Breaks. +* fill mode (fi): Manipulating Filling and Adjusting. +* fill mode, and \c: Line Control. +* filling: Filling and Adjusting. +* filling and adjusting, manipulating: Manipulating Filling and Adjusting. +* final newline, stripping in diversions: Strings. +* fl request, causing implicit linebreak: Manipulating Filling and Adjusting. +* floating keep: Displays. +* flush output (fl): Debugging. +* font description file, format <1>: Font File Format. +* font description file, format: DESC File Format. +* font directories: Font Directories. +* font families: Font Families. +* font family, changing (fam, \F): Font Families. +* font file, format: Font File Format. +* font files: Font Files. +* font files, comments: Font File Format. +* font for underlining (uf): Artificial Fonts. +* font height, changing (\H): Artificial Fonts. +* font path: Font Directories. +* font position register (.f): Font Positions. +* font position, changing (\f): Font Positions. +* font positions: Font Positions. +* font selection [man]: Man font macros. +* font slant, changing (\S): Artificial Fonts. +* font style, changing (sty): Font Families. +* font styles: Font Families. +* font, mounting (fp): Font Positions. +* font, previous (ft, \f[], \fP): Changing Fonts. +* fonts <1>: Changing Fonts. +* fonts: Fonts and Symbols. +* fonts, artificial: Artificial Fonts. +* fonts, changing (ft, \f): Changing Fonts. +* fonts, PostScript: Font Families. +* fonts, searching: Font Directories. +* fonts, special: Special Fonts. +* footers <1>: Page Location Traps. +* footers: Page Layout. +* footers [ms]: ms Headers and Footers. +* footnotes: Footnotes and Annotations. +* footnotes [ms]: ms Footnotes. +* form letters: I/O. +* format of font description file: DESC File Format. +* format of font description files: Font File Format. +* format of font files: Font File Format. +* format of register (\g): Assigning Formats. +* formats, assigning (af): Assigning Formats. +* formats, file: File formats. +* fp request, and font translations: Changing Fonts. +* fp request, incompatibilities with AT&T troff: Implementation Differences. +* fractional point sizes <1>: Implementation Differences. +* fractional point sizes: Fractional Type Sizes. +* fractional type sizes <1>: Implementation Differences. +* fractional type sizes: Fractional Type Sizes. +* french-spacing: Sentences. +* fspecial request, and font styles: Font Families. +* fspecial request, and font translations: Changing Fonts. +* fspecial request, and glyph search order: Using Symbols. +* fspecial request, and imitating bold: Artificial Fonts. +* ft request, and font translations: Changing Fonts. +* geqn, invoking: Invoking geqn. +* geqn, the program: geqn. +* GGL (groff glyph list): Using Symbols. +* ggrn, invoking: Invoking ggrn. +* ggrn, the program: ggrn. +* glossary-style list, example markup [ms]: Lists in ms. +* glyph: Using Symbols. +* glyph for line drawing: Drawing Requests. +* glyph names, composite: Using Symbols. +* glyph pile (\b): Drawing Requests. +* glyph properties (cflags): Using Symbols. +* glyph, box rule (\[br]): Drawing Requests. +* glyph, constant space: Artificial Fonts. +* glyph, defining (char): Using Symbols. +* glyph, for line drawing: Drawing Requests. +* glyph, for margins (mc): Miscellaneous. +* glyph, italic correction (\/): Ligatures and Kerning. +* glyph, last, dimensions (.w, .cht, .cdp, .csk): Environments. +* glyph, leader repetition (lc): Leaders. +* glyph, left italic correction (\,): Ligatures and Kerning. +* glyph, numbered (\N) <1>: Using Symbols. +* glyph, numbered (\N): Character Translations. +* glyph, removing definition (rchar, rfschar): Using Symbols. +* glyph, soft hyphen (hy): Manipulating Hyphenation. +* glyph, tab repetition (tc): Tabs and Fields. +* glyph, underscore (\[ru]): Drawing Requests. +* glyphs, available, list (`groff_char(7)' man page): Using Symbols. +* glyphs, output, and input characters, compatibility with AT&T troff: Implementation Differences. +* glyphs, overstriking (\o): Page Motions. +* glyphs, unnamed: Using Symbols. +* glyphs, unnamed, accessing with \N: Font File Format. +* GNU-specific register (.g): Built-in Registers. +* gpic, invoking: Invoking gpic. +* gpic, the program: gpic. +* grap, the program: grap. +* gray shading (\D'f ...'): Drawing Requests. +* grefer, invoking: Invoking grefer. +* grefer, the program: grefer. +* grn, the program: ggrn. +* grodvi, invoking: Invoking grodvi. +* grodvi, the program: grodvi. +* groff - what is it?: What Is groff?. +* groff capabilities: groff Capabilities. +* groff glyph list (GGL): Using Symbols. +* groff invocation: Invoking groff. +* groff, and pi request: I/O. +* GROFF_BIN_PATH, environment variable: Environment. +* GROFF_COMMAND_PREFIX, environment variable: Environment. +* GROFF_FONT_PATH, environment variable <1>: Font Directories. +* GROFF_FONT_PATH, environment variable: Environment. +* GROFF_TMAC_PATH, environment variable <1>: Macro Directories. +* GROFF_TMAC_PATH, environment variable: Environment. +* GROFF_TMPDIR, environment variable: Environment. +* GROFF_TYPESETTER, environment variable: Environment. +* grohtml, invoking: Invoking grohtml. +* grohtml, registers and strings: grohtml specific registers and strings. +* grohtml, the program <1>: grohtml. +* grohtml, the program: Groff Options. +* grolbp, invoking: Invoking grolbp. +* grolbp, the program: grolbp. +* grolj4, invoking: Invoking grolj4. +* grolj4, the program: grolj4. +* grops, invoking: Invoking grops. +* grops, the program: grops. +* grotty, invoking: Invoking grotty. +* grotty, the program: grotty. +* gsoelim, invoking: Invoking gsoelim. +* gsoelim, the program: gsoelim. +* gtbl, invoking: Invoking gtbl. +* gtbl, the program: gtbl. +* gtroff, identification register (.g): Built-in Registers. +* gtroff, interactive use: Debugging. +* gtroff, output: gtroff Output. +* gtroff, process ID register ($$): Built-in Registers. +* gtroff, reference: gtroff Reference. +* gxditview, invoking: Invoking gxditview. +* gxditview, the program: gxditview. +* hanging indentation [man]: Man usage. +* hcode request, and glyph definitions: Using Symbols. +* headers <1>: Page Location Traps. +* headers: Page Layout. +* headers [ms]: ms Headers and Footers. +* height, font, changing (\H): Artificial Fonts. +* height, of last glyph (.cht): Environments. +* high-water mark register (.h): Diversions. +* history: History. +* home directory: Macro Directories. +* horizontal discardable space: Manipulating Filling and Adjusting. +* horizontal input line position register (hp): Page Motions. +* horizontal input line position, saving (\k): Page Motions. +* horizontal line, drawing (\l): Drawing Requests. +* horizontal motion (\h): Page Motions. +* horizontal output line position register (.k): Page Motions. +* horizontal resolution: DESC File Format. +* horizontal resolution register (.H): Built-in Registers. +* horizontal space (\h): Page Motions. +* horizontal space, unformatting: Strings. +* hours, current time (hours): Built-in Registers. +* hpf request, and hyphenation language: Manipulating Hyphenation. +* hw request, and hyphenation language: Manipulating Hyphenation. +* hy glyph, and cflags: Using Symbols. +* hyphen, explicit (\%): Manipulating Hyphenation. +* hyphenated lines, consecutive (hlm): Manipulating Hyphenation. +* hyphenating characters: Using Symbols. +* hyphenation: Hyphenation. +* hyphenation character (\%): Manipulating Hyphenation. +* hyphenation code (hcode): Manipulating Hyphenation. +* hyphenation language register (.hla): Manipulating Hyphenation. +* hyphenation margin (hym): Manipulating Hyphenation. +* hyphenation margin register (.hym): Manipulating Hyphenation. +* hyphenation patterns (hpf): Manipulating Hyphenation. +* hyphenation restrictions register (.hy): Manipulating Hyphenation. +* hyphenation space (hys): Manipulating Hyphenation. +* hyphenation space register (.hys): Manipulating Hyphenation. +* hyphenation, disabling (\%): Manipulating Hyphenation. +* hyphenation, manipulating: Manipulating Hyphenation. +* i unit: Measurements. +* i/o: I/O. +* IBM cp1047 input encoding: Input Encodings. +* IBM cp1047 output encoding: Groff Options. +* identifiers: Identifiers. +* identifiers, undefined: Identifiers. +* ie request, and warnings: Warnings. +* if request, and the ! operator: Expressions. +* if request, operators to use with: Operators in Conditionals. +* if-else: if-else. +* imitating bold face (bd): Artificial Fonts. +* implementation differences: Implementation Differences. +* implicit breaks of lines: Implicit Line Breaks. +* implicit line breaks: Implicit Line Breaks. +* in request, causing implicit linebreak: Manipulating Filling and Adjusting. +* in request, using + and -: Expressions. +* inch unit (i): Measurements. +* including a file (so): I/O. +* incompatibilities with AT&T troff: Implementation Differences. +* increment value without changing the register: Auto-increment. +* increment, automatic: Auto-increment. +* indentaion, resetting to default [man]: Man usage. +* indentation (in): Line Layout. +* index, in macro package: Indices. +* indirect assignments: Interpolating Registers. +* input and output requests: I/O. +* input characters and output glyphs, compatibility with AT&T troff: Implementation Differences. +* input characters, invalid: Identifiers. +* input conventions: Input Conventions. +* input encoding, cp1047: Input Encodings. +* input encoding, EBCDIC: Input Encodings. +* input encoding, latin-1 (ISO 8859-1): Input Encodings. +* input encoding, latin-2 (ISO 8859-2): Input Encodings. +* input encoding, latin-9 (latin-9, ISO 8859-15): Input Encodings. +* input file name, current, register (.F): Built-in Registers. +* input level in delimited arguments: Implementation Differences. +* input line continuation (\): Line Control. +* input line number register (.c, c.): Built-in Registers. +* input line number, setting (lf): Debugging. +* input line position, horizontal, saving (\k): Page Motions. +* input line trap, setting (it): Input Line Traps. +* input line traps: Input Line Traps. +* input line traps and interrupted lines (itc): Input Line Traps. +* input line, horizontal position, register (hp): Page Motions. +* input stack, backtrace (backtrace): Debugging. +* input stack, setting limit: Debugging. +* input token: Gtroff Internals. +* input, 8-bit: Font File Format. +* input, standard, reading from (rd): I/O. +* inserting horizontal space (\h): Page Motions. +* installation: Installation. +* interactive use of gtroff: Debugging. +* intermediate output: gtroff Output. +* interpolating registers (\n): Interpolating Registers. +* interpolation of strings (\*): Strings. +* interrupted line: Line Control. +* interrupted line register (.int): Line Control. +* interrupted lines and input line traps (itc): Input Line Traps. +* introduction: Introduction. +* invalid characters for trf request: I/O. +* invalid input characters: Identifiers. +* invocation examples: Invocation Examples. +* invoking geqn: Invoking geqn. +* invoking ggrn: Invoking ggrn. +* invoking gpic: Invoking gpic. +* invoking grefer: Invoking grefer. +* invoking grodvi: Invoking grodvi. +* invoking groff: Invoking groff. +* invoking grohtml: Invoking grohtml. +* invoking grolbp: Invoking grolbp. +* invoking grolj4: Invoking grolj4. +* invoking grops: Invoking grops. +* invoking grotty: Invoking grotty. +* invoking gsoelim: Invoking gsoelim. +* invoking gtbl: Invoking gtbl. +* invoking gxditview: Invoking gxditview. +* ISO 8859-1 (latin-1), input encoding: Input Encodings. +* ISO 8859-1 (latin-1), output encoding: Groff Options. +* ISO 8859-15 (latin-9, latin-0), input encoding: Input Encodings. +* ISO 8859-2 (latin-2), input encoding: Input Encodings. +* italic correction (\/): Ligatures and Kerning. +* italic fonts [man]: Man font macros. +* italic glyph, correction after roman glyph (\,): Ligatures and Kerning. +* italic glyph, correction before roman glyph (\/): Ligatures and Kerning. +* justifying text: Manipulating Filling and Adjusting. +* justifying text (rj): Manipulating Filling and Adjusting. +* keep: Displays. +* keep, floating: Displays. +* keeps [ms]: ms Displays and Keeps. +* kerning and ligatures: Ligatures and Kerning. +* kerning enabled register (.kern): Ligatures and Kerning. +* kerning, activating (kern): Ligatures and Kerning. +* kerning, track: Ligatures and Kerning. +* landscape page orientation: Paper Size. +* last glyph, dimensions (.w, .cht, .cdp, .csk): Environments. +* last-requested point size registers (.psr, .sr): Fractional Type Sizes. +* latin-1 (ISO 8859-1), input encoding: Input Encodings. +* latin-1 (ISO 8859-1), output encoding: Groff Options. +* latin-2 (ISO 8859-2), input encoding: Input Encodings. +* latin-9 (latin-0, ISO 8859-15), input encoding: Input Encodings. +* layout, line: Line Layout. +* layout, page: Page Layout. +* lc request, and glyph definitions: Using Symbols. +* leader character: Leaders. +* leader character, and translations: Character Translations. +* leader character, non-interpreted (\a): Leaders. +* leader repetition character (lc): Leaders. +* leaders: Leaders. +* leading: Sizes. +* leading spaces: Filling and Adjusting. +* leading spaces with ds: Strings. +* left italic correction (\,): Ligatures and Kerning. +* left margin (po): Line Layout. +* left margin, how to move [man]: Man usage. +* length of a string (length): Strings. +* length of line (ll): Line Layout. +* length of page (pl): Page Layout. +* length of previous line (.n): Environments. +* length of title line (lt): Page Layout. +* letters, form: I/O. +* level of warnings (warn): Debugging. +* ligature: Using Symbols. +* ligatures and kerning: Ligatures and Kerning. +* ligatures enabled register (.lg): Ligatures and Kerning. +* ligatures, activating (lg): Ligatures and Kerning. +* limitations of \b escape: Drawing Requests. +* line break <1>: Manipulating Filling and Adjusting. +* line break <2>: Implicit Line Breaks. +* line break: Basics. +* line break (br): Basics. +* line breaks, with vertical space [man]: Man usage. +* line breaks, without vertical space [man]: Man usage. +* line control: Line Control. +* line dimensions: Line Layout. +* line drawing glyph: Drawing Requests. +* line indentation (in): Line Layout. +* line layout: Line Layout. +* line length (ll): Line Layout. +* line length register (.l): Line Layout. +* line length, previous (.n): Environments. +* line number, input, register (.c, c.): Built-in Registers. +* line number, output, register (ln): Built-in Registers. +* line numbers, printing (nm): Miscellaneous. +* line space, extra post-vertical (\x): Changing Type Sizes. +* line space, extra pre-vertical (\x): Changing Type Sizes. +* line spacing register (.L): Manipulating Spacing. +* line spacing, post-vertical (pvs): Changing Type Sizes. +* line thickness (\D't ...'): Drawing Requests. +* line, blank: Implicit Line Breaks. +* line, drawing (\D'l ...'): Drawing Requests. +* line, empty (sp): Basics. +* line, horizontal, drawing (\l): Drawing Requests. +* line, implicit breaks: Implicit Line Breaks. +* line, input, continuation (\): Line Control. +* line, input, horizontal position, register (hp): Page Motions. +* line, input, horizontal position, saving (\k): Page Motions. +* line, interrupted: Line Control. +* line, output, continuation (\c): Line Control. +* line, output, horizontal position, register (.k): Page Motions. +* line, vertical, drawing (\L): Drawing Requests. +* line-tabs mode: Tabs and Fields. +* lines, blank, disabling: Manipulating Spacing. +* lines, centering (ce) <1>: Manipulating Filling and Adjusting. +* lines, centering (ce): Basics. +* lines, consecutive hyphenated (hlm): Manipulating Hyphenation. +* lines, interrupted, and input line traps (itc): Input Line Traps. +* list: Displays. +* list of available glyphs (`groff_char(7)' man page): Using Symbols. +* ll request, using + and -: Expressions. +* location, vertical, page, marking (mk): Page Motions. +* location, vertical, page, returning to marked (rt): Page Motions. +* logical operators: Expressions. +* long names: Implementation Differences. +* loops and conditionals: Conditionals and Loops. +* lq glyph, and lq string [man]: Predefined man strings. +* ls request, alternative to (pvs): Changing Type Sizes. +* lt request, using + and -: Expressions. +* M unit: Measurements. +* m unit: Measurements. +* machine unit (u): Measurements. +* macro arguments: Request and Macro Arguments. +* macro basics: Basics. +* macro directories: Macro Directories. +* macro files, searching: Macro Directories. +* macro name register (\$0): Parameters. +* macro names, starting with [ or ], and refer: Identifiers. +* macro packages <1>: Macro Packages. +* macro packages: Macro Package Intro. +* macro packages, structuring the source code: Requests. +* macro, appending (am): Writing Macros. +* macro, arguments (\$): Parameters. +* macro, creating alias (als): Strings. +* macro, end-of-input (em): End-of-input Traps. +* macro, removing (rm): Strings. +* macro, renaming (rn): Strings. +* macros: Macros. +* macros for manual pages [man]: Man usage. +* macros, recursive: while. +* macros, searching: Macro Directories. +* macros, shared name space with strings and diversions: Strings. +* macros, tutorial for users: Tutorial for Macro Users. +* macros, writing: Writing Macros. +* major quotes: Displays. +* major version number register (.x): Built-in Registers. +* man macros: Man usage. +* man macros, bold face: Man font macros. +* man macros, custom headers and footers: Optional man extensions. +* man macros, default indentation: Miscellaneous man macros. +* man macros, empty space before a paragraph: Miscellaneous man macros. +* man macros, hanging indentation: Man usage. +* man macros, how to set fonts: Man font macros. +* man macros, italic fonts: Man font macros. +* man macros, line breaks with vertical space: Man usage. +* man macros, line breaks without vertical space: Man usage. +* man macros, moving left margin: Man usage. +* man macros, resetting default indentation: Man usage. +* man macros, tab stops: Miscellaneous man macros. +* man macros, Ultrix-specific: Optional man extensions. +* man pages: man. +* manipulating filling and adjusting: Manipulating Filling and Adjusting. +* manipulating hyphenation: Manipulating Hyphenation. +* manipulating spacing: Manipulating Spacing. +* manmacros, BSD compatibility: Miscellaneous man macros. +* manual pages: man. +* margin for hyphenation (hym): Manipulating Hyphenation. +* margin glyph (mc): Miscellaneous. +* margin, bottom: Page Layout. +* margin, left (po): Line Layout. +* margin, top: Page Layout. +* mark, high-water, register (.h): Diversions. +* marking vertical page location (mk): Page Motions. +* maximum values of Roman numerals: Assigning Formats. +* mdoc macros: mdoc. +* me macro package: me. +* measurement unit: Measurements. +* measurements: Measurements. +* measurements, specifying safely: Default Units. +* minimum values of Roman numerals: Assigning Formats. +* minor version number register (.y): Built-in Registers. +* minutes, current time (minutes): Built-in Registers. +* mm macro package: mm. +* mode for constant glyph space (cs): Artificial Fonts. +* mode, compatibility: Implementation Differences. +* mode, copy-in: Copy-in Mode. +* mode, copy-in, and write requests: I/O. +* mode, fill <1>: Warnings. +* mode, fill <2>: Manipulating Filling and Adjusting. +* mode, fill: Implicit Line Breaks. +* mode, fill (fi): Manipulating Filling and Adjusting. +* mode, fill, and \c: Line Control. +* mode, line-tabs: Tabs and Fields. +* mode, no-fill (nf): Manipulating Filling and Adjusting. +* mode, no-fill, and \c: Line Control. +* mode, no-space (ns): Manipulating Spacing. +* mode, nroff: Troff and Nroff Mode. +* mode, safer <1>: I/O. +* mode, safer <2>: Built-in Registers. +* mode, safer <3>: Macro Directories. +* mode, safer: Groff Options. +* mode, troff: Troff and Nroff Mode. +* mode, unsafe <1>: I/O. +* mode, unsafe <2>: Built-in Registers. +* mode, unsafe <3>: Macro Directories. +* mode, unsafe: Groff Options. +* month of the year register (mo): Built-in Registers. +* motion operators: Expressions. +* motion, horizontal (\h): Page Motions. +* motion, vertical (\v): Page Motions. +* motions, page: Page Motions. +* mounting font (fp): Font Positions. +* ms macros: ms. +* ms macros, accent marks: ms Strings and Special Characters. +* ms macros, body text: ms Body Text. +* ms macros, cover page: ms Cover Page Macros. +* ms macros, creating table of contents: ms TOC. +* ms macros, differences from AT&T: Differences from AT&T ms. +* ms macros, displays: ms Displays and Keeps. +* ms macros, document control registers: ms Document Control Registers. +* ms macros, equations: ms Insertions. +* ms macros, figures: ms Insertions. +* ms macros, footers: ms Headers and Footers. +* ms macros, footnotes: ms Footnotes. +* ms macros, general structure: General ms Structure. +* ms macros, headers: ms Headers and Footers. +* ms macros, headings: Headings in ms. +* ms macros, highlighting: Highlighting in ms. +* ms macros, keeps: ms Displays and Keeps. +* ms macros, lists: Lists in ms. +* ms macros, margins: ms Margins. +* ms macros, multiple columns: ms Multiple Columns. +* ms macros, nested lists: Lists in ms. +* ms macros, page layout: ms Page Layout. +* ms macros, paragraph handling: Paragraphs in ms. +* ms macros, references: ms Insertions. +* ms macros, special characters: ms Strings and Special Characters. +* ms macros, strings: ms Strings and Special Characters. +* ms macros, tables: ms Insertions. +* multi-file documents: Debugging. +* multi-line strings: Strings. +* multi-page table, example markup [ms]: Example multi-page table. +* multiple columns [ms]: ms Multiple Columns. +* n unit: Measurements. +* name space, common, of macros, diversions, and strings: Strings. +* name, background color, register (.M): Colors. +* name, drawing color, register (.m): Colors. +* named character (\C): Using Symbols. +* names, long: Implementation Differences. +* ne request, and the .trunc register: Page Location Traps. +* ne request, comparison with sv: Page Control. +* negating register values: Setting Registers. +* nested assignments: Interpolating Registers. +* nested diversions: Diversions. +* nested lists [ms]: Lists in ms. +* new page (bp) <1>: Page Control. +* new page (bp): Basics. +* newline character <1>: Escapes. +* newline character: Identifiers. +* newline character, and translations: Character Translations. +* newline character, in strings, escaping: Strings. +* newline, final, stripping in diversions: Strings. +* next file, processing (nx): I/O. +* next free font position register (.fp): Font Positions. +* nf request, causing implicit linebreak: Manipulating Filling and Adjusting. +* nl register, and .d: Diversions. +* nl register, difference to .h: Diversions. +* nm request, using + and -: Expressions. +* no-break control character ('): Requests. +* no-break control character, changing (c2): Character Translations. +* no-fill mode (nf): Manipulating Filling and Adjusting. +* no-fill mode, and \c: Line Control. +* no-space mode (ns): Manipulating Spacing. +* node, output: Gtroff Internals. +* nr request, and warnings: Warnings. +* nr request, using + and -: Expressions. +* nroff mode: Troff and Nroff Mode. +* nroff, the program: History. +* number of arguments register (.$): Parameters. +* number register, creating alias (aln): Setting Registers. +* number register, removing (rr): Setting Registers. +* number register, renaming (rnn): Setting Registers. +* number registers, dumping (pnr): Debugging. +* number, input line, setting (lf): Debugging. +* number, page (pn): Page Layout. +* numbered glyph (\N) <1>: Using Symbols. +* numbered glyph (\N): Character Translations. +* numbered list, example markup [ms]: Lists in ms. +* numbers, and delimiters: Escapes. +* numbers, line, printing (nm): Miscellaneous. +* numerals, Roman: Assigning Formats. +* numeric expression, valid: Expressions. +* offset, page (po): Line Layout. +* open request, and safer mode: Groff Options. +* opena request, and safer mode: Groff Options. +* opening file (open): I/O. +* operator, scaling: Expressions. +* operators, arithmetic: Expressions. +* operators, as delimiters: Escapes. +* operators, comparison: Expressions. +* operators, extremum (>?, : Built-in Registers. +* output device name string register (.T): Groff Options. +* output device usage number register (.T): Groff Options. +* output devices <1>: Output Devices. +* output devices: Output device intro. +* output encoding, ASCII: Groff Options. +* output encoding, cp1047: Groff Options. +* output encoding, EBCDIC: Groff Options. +* output encoding, latin-1 (ISO 8859-1): Groff Options. +* output encoding, utf-8: Groff Options. +* output glyphs, and input characters,compatibility with AT&T troff: Implementation Differences. +* output line number register (ln): Built-in Registers. +* output line, continuation (\c): Line Control. +* output line, horizontal position, register (.k): Page Motions. +* output node: Gtroff Internals. +* output request, and \!: Diversions. +* output, flush (fl): Debugging. +* output, gtroff: gtroff Output. +* output, intermediate: gtroff Output. +* output, suppressing (\O): Suppressing output. +* output, transparent (\!, \?): Diversions. +* output, transparent (cf, trf): I/O. +* output, transparent, incompatibilities with AT&T troff: Implementation Differences. +* output, troff: gtroff Output. +* overlapping characters: Using Symbols. +* overstriking glyphs (\o): Page Motions. +* P unit: Measurements. +* p unit: Measurements. +* packages, macros: Macro Packages. +* padding character, for fields (fc): Fields. +* page break, conditional (ne): Page Control. +* page control: Page Control. +* page ejecting register (.pe): Page Location Traps. +* page footers: Page Location Traps. +* page headers: Page Location Traps. +* page layout: Page Layout. +* page layout [ms]: ms Page Layout. +* page length (pl): Page Layout. +* page length register (.p): Page Layout. +* page location traps: Page Location Traps. +* page location, vertical, marking (mk): Page Motions. +* page location, vertical, returning to marked (rt): Page Motions. +* page motions: Page Motions. +* page number (pn): Page Layout. +* page number character (%): Page Layout. +* page number character, changing (pc): Page Layout. +* page number register (%): Page Control. +* page offset (po): Line Layout. +* page orientation, landscape: Paper Size. +* page, new (bp): Page Control. +* paper formats: Paper Formats. +* paper size: Paper Size. +* paragraphs: Paragraphs. +* parameters: Parameters. +* parentheses: Expressions. +* path, for font files: Font Directories. +* path, for tmac files: Macro Directories. +* patterns for hyphenation (hpf): Manipulating Hyphenation. +* pi request, and groff: I/O. +* pi request, and safer mode: Groff Options. +* pic, the program: gpic. +* pica unit (P): Measurements. +* pile, glyph (\b): Drawing Requests. +* pl request, using + and -: Expressions. +* planting a trap: Traps. +* platform-specific directory: Macro Directories. +* pn request, using + and -: Expressions. +* po request, using + and -: Expressions. +* point size registers (.s, .ps): Changing Type Sizes. +* point size registers, last-requested (.psr, .sr): Fractional Type Sizes. +* point sizes, changing (ps, \s): Changing Type Sizes. +* point sizes, fractional <1>: Implementation Differences. +* point sizes, fractional: Fractional Type Sizes. +* point unit (p): Measurements. +* polygon, drawing (\D'p ...'): Drawing Requests. +* polygon, solid, drawing (\D'P ...'): Drawing Requests. +* position of lowest text line (.h): Diversions. +* position, absolute, operator (|): Expressions. +* position, horizontal input line, saving (\k): Page Motions. +* position, horizontal, in input line, register (hp): Page Motions. +* position, horizontal, in output line, register (.k): Page Motions. +* position, vertical, current (nl): Page Control. +* position, vertical, in diversion, register (.d): Diversions. +* positions, font: Font Positions. +* post-vertical line spacing: Changing Type Sizes. +* post-vertical line spacing register (.pvs): Changing Type Sizes. +* post-vertical line spacing, changing (pvs): Changing Type Sizes. +* postprocessor access: Postprocessor Access. +* postprocessors: Output device intro. +* PostScript fonts: Font Families. +* PostScript, bounding box: Miscellaneous. +* PostScript, embedding: Embedding PostScript. +* prefix, for commands: Environment. +* preprocessor, calling convention: Preprocessors in man pages. +* preprocessors <1>: Preprocessors. +* preprocessors: Preprocessor Intro. +* previous font (ft, \f[], \fP): Changing Fonts. +* previous line length (.n): Environments. +* print current page register (.P): Groff Options. +* printing backslash (\\, \e, \E, \[rs]) <1>: Implementation Differences. +* printing backslash (\\, \e, \E, \[rs]): Escapes. +* printing line numbers (nm): Miscellaneous. +* printing to stderr (tm, tm1, tmc): Debugging. +* printing, zero-width (\z, \Z): Page Motions. +* process ID of gtroff register ($$): Built-in Registers. +* processing next file (nx): I/O. +* properties of characters (cflags): Using Symbols. +* properties of glyphs (cflags): Using Symbols. +* ps request, and constant glyph space mode: Artificial Fonts. +* ps request, incompatibilities with AT&T troff: Implementation Differences. +* ps request, using + and -: Expressions. +* ps request, with fractional type sizes: Fractional Type Sizes. +* pso request, and safer mode: Groff Options. +* pvs request, using + and -: Expressions. +* quotes, major: Displays. +* quotes, trailing: Strings. +* radicalex glyph, and cflags: Using Symbols. +* ragged-left: Manipulating Filling and Adjusting. +* ragged-right: Manipulating Filling and Adjusting. +* rc request, and glyph definitions: Using Symbols. +* read-only register, changing format: Assigning Formats. +* reading from standard input (rd): I/O. +* recursive macros: while. +* refer, and macro names starting with [ or ]: Identifiers. +* refer, the program: grefer. +* reference, gtroff: gtroff Reference. +* references [ms]: ms Insertions. +* register, creating alias (aln): Setting Registers. +* register, format (\g): Assigning Formats. +* register, removing (rr): Setting Registers. +* register, renaming (rnn): Setting Registers. +* registers: Registers. +* registers specific to grohtml: grohtml specific registers and strings. +* registers, built-in: Built-in Registers. +* registers, interpolating (\n): Interpolating Registers. +* registers, setting (nr, \R): Setting Registers. +* removing diversion (rm): Strings. +* removing glyph definition (rchar, rfschar): Using Symbols. +* removing macro (rm): Strings. +* removing number register (rr): Setting Registers. +* removing request (rm): Strings. +* removing string (rm): Strings. +* renaming diversion (rn): Strings. +* renaming macro (rn): Strings. +* renaming number register (rnn): Setting Registers. +* renaming request (rn): Strings. +* renaming string (rn): Strings. +* request arguments: Request and Macro Arguments. +* request, removing (rm): Strings. +* request, renaming (rn): Strings. +* request, undefined: Comments. +* requests: Requests. +* requests for drawing: Drawing Requests. +* requests for input and output: I/O. +* resolution, device: DESC File Format. +* resolution, horizontal: DESC File Format. +* resolution, horizontal, register (.H): Built-in Registers. +* resolution, vertical: DESC File Format. +* resolution, vertical, register (.V): Built-in Registers. +* returning to marked vertical page location (rt): Page Motions. +* revision number register (.Y): Built-in Registers. +* rf, the program: History. +* right-justifying (rj): Manipulating Filling and Adjusting. +* rj request, causing implicit linebreak: Manipulating Filling and Adjusting. +* rn glyph, and cflags: Using Symbols. +* roff, the program: History. +* roman glyph, correction after italic glyph (\/): Ligatures and Kerning. +* roman glyph, correction before italic glyph (\,): Ligatures and Kerning. +* Roman numerals: Assigning Formats. +* Roman numerals, maximum and minimum: Assigning Formats. +* rq glyph, and rq string [man]: Predefined man strings. +* rq glyph, at end of sentence <1>: Using Symbols. +* rq glyph, at end of sentence: Sentences. +* rt request, using + and -: Expressions. +* ru glyph, and cflags: Using Symbols. +* runoff, the program: History. +* s unit <1>: Fractional Type Sizes. +* s unit: Measurements. +* safer mode <1>: I/O. +* safer mode <2>: Built-in Registers. +* safer mode <3>: Macro Directories. +* safer mode: Groff Options. +* saving horizontal input line position (\k): Page Motions. +* scaling operator: Expressions. +* searching fonts: Font Directories. +* searching macro files: Macro Directories. +* searching macros: Macro Directories. +* seconds, current time (seconds): Built-in Registers. +* sentence space: Sentences. +* sentence space size register (.sss): Manipulating Filling and Adjusting. +* sentences: Sentences. +* setting diversion trap (dt): Diversion Traps. +* setting end-of-input trap (em): End-of-input Traps. +* setting input line number (lf): Debugging. +* setting input line trap (it): Input Line Traps. +* setting registers (nr, \R): Setting Registers. +* shading filled objects (\D'f ...'): Drawing Requests. +* shc request, and translations: Character Translations. +* site-specific directory <1>: Font Directories. +* site-specific directory: Macro Directories. +* size of sentence space register (.sss): Manipulating Filling and Adjusting. +* size of type: Sizes. +* size of word space register (.ss): Manipulating Filling and Adjusting. +* size, paper: Paper Size. +* sizes: Sizes. +* sizes, fractional <1>: Implementation Differences. +* sizes, fractional: Fractional Type Sizes. +* skew, of last glyph (.csk): Environments. +* slant, font, changing (\S): Artificial Fonts. +* soelim, the program: gsoelim. +* soft hyphen character, setting (shc): Manipulating Hyphenation. +* soft hyphen glyph (hy): Manipulating Hyphenation. +* solid circle, drawing (\D'C ...'): Drawing Requests. +* solid ellipse, drawing (\D'E ...'): Drawing Requests. +* solid polygon, drawing (\D'P ...'): Drawing Requests. +* sp request, and no-space mode: Manipulating Spacing. +* sp request, and traps: Manipulating Spacing. +* sp request, causing implicit linebreak: Manipulating Filling and Adjusting. +* space between sentences: Sentences. +* space between sentences register (.sss): Manipulating Filling and Adjusting. +* space between words register (.ss): Manipulating Filling and Adjusting. +* space character: Escapes. +* space character, zero width (\&) <1>: Drawing Requests. +* space character, zero width (\&) <2>: Ligatures and Kerning. +* space character, zero width (\&): Requests. +* space characters, in expressions: Expressions. +* space, discardable, horizontal: Manipulating Filling and Adjusting. +* space, discarded, in traps: Manipulating Spacing. +* space, horizontal (\h): Page Motions. +* space, horizontal, unformatting: Strings. +* space, unbreakable: Page Motions. +* space, vertical, unit (v): Measurements. +* space, width of a digit (\0): Page Motions. +* spaces with ds: Strings. +* spaces, in a macro argument: Request and Macro Arguments. +* spaces, leading and trailing: Filling and Adjusting. +* spacing: Basics. +* spacing, manipulating: Manipulating Spacing. +* spacing, vertical: Sizes. +* special characters <1>: Special Characters. +* special characters: Character Translations. +* special characters [ms]: ms Strings and Special Characters. +* special fonts <1>: Font File Format. +* special fonts <2>: Special Fonts. +* special fonts: Using Symbols. +* special fonts, emboldening: Artificial Fonts. +* special request, and font translations: Changing Fonts. +* special request, and glyph search order: Using Symbols. +* spline, drawing (\D'~ ...'): Drawing Requests. +* springing a trap: Traps. +* sqrtex glyph, and cflags: Using Symbols. +* stacking glyphs (\b): Drawing Requests. +* standard input, reading from (rd): I/O. +* stderr, printing to (tm, tm1, tmc): Debugging. +* stops, tabulator: Tab Stops. +* string arguments: Strings. +* string expansion (\*): Strings. +* string interpolation (\*): Strings. +* string, appending (as): Strings. +* string, creating alias (als): Strings. +* string, length of (length): Strings. +* string, removing (rm): Strings. +* string, renaming (rn): Strings. +* strings: Strings. +* strings [ms]: ms Strings and Special Characters. +* strings specific to grohtml: grohtml specific registers and strings. +* strings, multi-line: Strings. +* strings, shared name space with macros and diversions: Strings. +* stripping final newline in diversions: Strings. +* structuring source code of documents or macro packages: Requests. +* sty request, and changing fonts: Changing Fonts. +* sty request, and font positions: Font Positions. +* sty request, and font translations: Changing Fonts. +* styles, font: Font Families. +* substring (substring): Strings. +* suppressing output (\O): Suppressing output. +* sv request, and no-space mode: Page Control. +* switching environments (ev): Environments. +* sy request, and safer mode: Groff Options. +* symbol: Using Symbols. +* symbol table, dumping (pm): Debugging. +* symbol, defining (char): Using Symbols. +* symbols, using: Using Symbols. +* system() return value register (systat): I/O. +* tab character <1>: Escapes. +* tab character: Tab Stops. +* tab character, and translations: Character Translations. +* tab character, non-interpreted (\t): Tabs and Fields. +* tab repetition character (tc): Tabs and Fields. +* tab settings register (.tabs): Tabs and Fields. +* tab stops: Tab Stops. +* tab stops [man]: Miscellaneous man macros. +* tab stops, for TTY output devices: Tabs and Fields. +* tab, line-tabs mode: Tabs and Fields. +* table of contents <1>: Leaders. +* table of contents: Table of Contents. +* table of contents, creating [ms]: ms TOC. +* tables [ms]: ms Insertions. +* tabs, and fields: Tabs and Fields. +* tabs, before comments: Comments. +* tbl, the program: gtbl. +* text line, position of lowest (.h): Diversions. +* text, gtroff processing: Text. +* text, justifying: Manipulating Filling and Adjusting. +* text, justifying (rj): Manipulating Filling and Adjusting. +* thickness of lines (\D't ...'): Drawing Requests. +* three-part title (tl): Page Layout. +* ti request, causing implicit linebreak: Manipulating Filling and Adjusting. +* ti request, using + and -: Expressions. +* time, current: I/O. +* time, current, hours (hours): Built-in Registers. +* time, current, minutes (minutes): Built-in Registers. +* time, current, seconds (seconds): Built-in Registers. +* title line (tl): Page Layout. +* title line length register (.lt): Page Layout. +* title line, length (lt): Page Layout. +* title page, example markup: ms Cover Page Macros. +* titles: Page Layout. +* tkf request, and font styles: Font Families. +* tkf request, and font translations: Changing Fonts. +* tkf request, with fractional type sizes: Fractional Type Sizes. +* tl request, and mc: Miscellaneous. +* tmac, directory: Macro Directories. +* tmac, path: Macro Directories. +* TMPDIR, environment variable: Environment. +* token, input: Gtroff Internals. +* top margin: Page Layout. +* top-level diversion: Diversions. +* top-level diversion, and \!: Diversions. +* top-level diversion, and \?: Diversions. +* top-level diversion, and bp: Page Control. +* tr request, and glyph definitions: Using Symbols. +* tr request, and soft hyphen character: Manipulating Hyphenation. +* tr request, incompatibilities with AT&T troff: Implementation Differences. +* track kerning: Ligatures and Kerning. +* track kerning, activating (tkf): Ligatures and Kerning. +* trailing quotes: Strings. +* trailing spaces: Filling and Adjusting. +* translations of characters: Character Translations. +* transparent characters <1>: Using Symbols. +* transparent characters: Sentences. +* transparent output (\!, \?): Diversions. +* transparent output (cf, trf): I/O. +* transparent output, incompatibilities with AT&T troff: Implementation Differences. +* trap, changing location (ch): Page Location Traps. +* trap, distance, register (.t): Page Location Traps. +* trap, diversion, setting (dt): Diversion Traps. +* trap, end-of-input, setting (em): End-of-input Traps. +* trap, input line, setting (it): Input Line Traps. +* trap, planting: Traps. +* trap, springing: Traps. +* traps: Traps. +* traps, and discarded space: Manipulating Spacing. +* traps, and diversions: Page Location Traps. +* traps, blank line: Blank Line Traps. +* traps, diversion: Diversion Traps. +* traps, dumping (ptr): Debugging. +* traps, end-of-input: End-of-input Traps. +* traps, input line: Input Line Traps. +* traps, input line, and interrupted lines (itc): Input Line Traps. +* traps, page location: Page Location Traps. +* traps, sprung by bp request (.pe): Page Location Traps. +* trf request, and invalid characters: I/O. +* trf request, causing implicit linebreak: Manipulating Filling and Adjusting. +* trin request, and asciify: Diversions. +* troff mode: Troff and Nroff Mode. +* troff output: gtroff Output. +* truncated vertical space register (.trunc): Page Location Traps. +* tutorial for macro users: Tutorial for Macro Users. +* type size: Sizes. +* type size registers (.s, .ps): Changing Type Sizes. +* type sizes, changing (ps, \s): Changing Type Sizes. +* type sizes, fractional <1>: Implementation Differences. +* type sizes, fractional: Fractional Type Sizes. +* u unit: Measurements. +* uf request, and font styles: Font Families. +* ul glyph, and cflags: Using Symbols. +* ul request, and font translations: Changing Fonts. +* Ultrix-specific man macros: Optional man extensions. +* unary operators: Expressions. +* unbreakable space: Page Motions. +* undefined identifiers: Identifiers. +* undefined request: Comments. +* underline font (uf): Artificial Fonts. +* underlining (ul): Artificial Fonts. +* underlining, continuous (cu): Artificial Fonts. +* underscore glyph (\[ru]): Drawing Requests. +* unformatting diversions (asciify): Diversions. +* unformatting horizontal space: Strings. +* Unicode <1>: Using Symbols. +* Unicode: Identifiers. +* unit, c: Measurements. +* unit, f: Measurements. +* unit, f, and colors: Colors. +* unit, i: Measurements. +* unit, M: Measurements. +* unit, m: Measurements. +* unit, n: Measurements. +* unit, P: Measurements. +* unit, p: Measurements. +* unit, s <1>: Fractional Type Sizes. +* unit, s: Measurements. +* unit, u: Measurements. +* unit, v: Measurements. +* unit, z <1>: Fractional Type Sizes. +* unit, z: Measurements. +* units of measurement: Measurements. +* units, default: Default Units. +* unnamed fill colors (\D'F...'): Drawing Requests. +* unnamed glyphs: Using Symbols. +* unnamed glyphs, accessing with \N: Font File Format. +* unsafe mode <1>: I/O. +* unsafe mode <2>: Built-in Registers. +* unsafe mode <3>: Macro Directories. +* unsafe mode: Groff Options. +* user's macro tutorial: Tutorial for Macro Users. +* user's tutorial for macros: Tutorial for Macro Users. +* using symbols: Using Symbols. +* utf-8, output encoding: Groff Options. +* v unit: Measurements. +* valid numeric expression: Expressions. +* value, incrementing without changing the register: Auto-increment. +* variables in environment: Environment. +* version number, major, register (.x): Built-in Registers. +* version number, minor, register (.y): Built-in Registers. +* vertical line drawing (\L): Drawing Requests. +* vertical line spacing register (.v): Changing Type Sizes. +* vertical line spacing, changing (vs): Changing Type Sizes. +* vertical line spacing, effective value: Changing Type Sizes. +* vertical motion (\v): Page Motions. +* vertical page location, marking (mk): Page Motions. +* vertical page location, returning to marked (rt): Page Motions. +* vertical position in diversion register (.d): Diversions. +* vertical position trap enable register (.vpt): Page Location Traps. +* vertical position traps, enabling (vpt): Page Location Traps. +* vertical position, current (nl): Page Control. +* vertical resolution: DESC File Format. +* vertical resolution register (.V): Built-in Registers. +* vertical space unit (v): Measurements. +* vertical spacing: Sizes. +* warnings <1>: Warnings. +* warnings: Debugging. +* warnings, level (warn): Debugging. +* what is groff?: What Is groff?. +* while: while. +* while request, and the ! operator: Expressions. +* while request, confusing with br: while. +* while request, operators to use with: Operators in Conditionals. +* whitespace characters: Identifiers. +* width escape (\w): Page Motions. +* width, of last glyph (.w): Environments. +* word space size register (.ss): Manipulating Filling and Adjusting. +* writing macros: Writing Macros. +* writing to file (write): I/O. +* year, current, register (year, yr): Built-in Registers. +* z unit <1>: Fractional Type Sizes. +* z unit: Measurements. +* zero width space character (\&) <1>: Drawing Requests. +* zero width space character (\&) <2>: Ligatures and Kerning. +* zero width space character (\&): Requests. +* zero-width printing (\z, \Z): Page Motions. +* |, and page motion: Expressions. - - Macro: .TC [`no'] - Prints the table of contents on a new page, setting the page - number to *i* (Roman numeral one). You should usually place this - macro at the end of the file, since `groff' is a single-pass - formatter and can only print what has been collected up to the - point that the `TC' macro appears. - - The optional argument `no' suppresses printing the title specified - by the string register `TOC'. - - - Macro: .PX [`no'] - Prints the table of contents on a new page, using the current page - numbering sequence. Use this macro to print a manually-generated - table of contents at the beginning of your document. - - The optional argument `no' suppresses printing the title specified - by the string register `TOC'. - - The `Groff and Friends HOWTO' includes a `sed' script that -automatically inserts `XS' and `XE' macro entries after each heading in -a document. - - Altering the `NH' macro to automatically build the table of contents -is perhaps initially more difficult, but would save a great deal of -time in the long run if you use `ms' regularly. diff -ruN groff-1.19/doc/groff-3 groff-1.19.1/doc/groff-3 --- groff-1.19/doc/groff-3 Tue Apr 29 15:37:37 2003 +++ groff-1.19.1/doc/groff-3 Thu Jan 1 01:00:00 1970 @@ -1,1586 +0,0 @@ -This is groff, produced by makeinfo version 4.3d from ./groff.texinfo. - -This manual documents GNU `troff' version 1.19. - - Copyright (C) 1994-2000, 2001, 2002, 2003 Free Software Foundation, -Inc. - - Permission is granted to copy, distribute and/or modify this - document under the terms of the GNU Free Documentation License, - Version 1.1 or any later version published by the Free Software - Foundation; with no Invariant Sections, with the Front-Cover texts - being `A GNU Manual," and with the Back-Cover Texts as in (a) - below. A copy of the license is included in the section entitled - `GNU Free Documentation License." - - (a) The FSF's Back-Cover Text is: `You have freedom to copy and - modify this GNU Manual, like GNU software. Copies published by - the Free Software Foundation raise funds for GNU development." - -INFO-DIR-SECTION Typesetting -START-INFO-DIR-ENTRY -* Groff: (groff). The GNU troff document formatting system. -END-INFO-DIR-ENTRY - - -File: groff, Node: ms Strings and Special Characters, Prev: ms TOC, Up: ms Page Layout - -Strings and Special Characters -.............................. - - The `ms' macros provide the following predefined strings. You can -change the string definitions to help in creating documents in -languages other than English. - - - String: \*[REFERENCES] - Contains the string printed at the beginning of the references - (bibliography) page. The default is `References'. - - - String: \*[ABSTRACT] - Contains the string printed at the beginning of the abstract. The - default is `ABSTRACT'. - - - String: \*[TOC] - Contains the string printed at the beginning of the table of - contents. - - - String: \*[MONTH1] - - String: \*[MONTH2] - - String: \*[MONTH3] - - String: \*[MONTH4] - - String: \*[MONTH5] - - String: \*[MONTH6] - - String: \*[MONTH7] - - String: \*[MONTH8] - - String: \*[MONTH9] - - String: \*[MONTH10] - - String: \*[MONTH11] - - String: \*[MONTH12] - Prints the full name of the month in dates. The default is - `January', `February', etc. - - The following special characters are available(1) (*note ms Strings -and Special Characters-Footnote-1::): - - - String: \*[-] - Prints an em dash. - - - String: \*[*Q] - - String: \*[*U] - Prints typographer's quotes in troff, plain quotes in nroff. `*Q' - is the left quote and `*U' is the right quote. - - Improved accent marks are available in the `ms' macros. - - - Macro: .AM - Specify this macro at the beginning of your document to enable - extended accent marks and special characters. This is a Berkeley - extension. - - To use the accent marks, place them *after* the character being - accented. - - The following accent marks are available after invoking the `AM' -macro: - - - String: \*['] - Acute accent. - - - String: \*[`] - Grave accent. - - - String: \*[^] - Circumflex. - - - String: \*[,] - Cedilla. - - - String: \*[~] - Tilde. - - - String: \*[:] - Umlaut. - - - String: \*[v] - Hacek. - - - String: \*[_] - Macron (overbar). - - - String: \*[.] - Underdot. - - - String: \*[o] - Ring above. - - The following are standalone characters available after invoking the -`AM' macro: - - - String: \*[?] - Upside-down question mark. - - - String: \*[!] - Upside-down exclamation point. - - - String: \*[8] - German ss ligature. - - - String: \*[3] - Yogh. - - - String: \*[Th] - Uppercase thorn. - - - String: \*[th] - Lowercase thorn. - - - String: \*[D-] - Uppercase eth. - - - String: \*[d-] - Lowercase eth. - - - String: \*[q] - Hooked o. - - - String: \*[ae] - Lowercase ae ligature. - - - String: \*[Ae] - Uppercase AE ligature. - - -File: groff, Node: ms Strings and Special Characters-Footnotes, Up: ms Strings and Special Characters - - (1) For an explanation what special characters are see *Note Special -Characters::. - - -File: groff, Node: Differences from AT&T ms, Prev: ms Page Layout, Up: ms - -Differences from AT&T `ms' --------------------------- - - This section lists the (minor) differences between the `groff -ms' -macros and AT&T `troff -ms' macros. - -* Menu: - -* Missing ms Macros:: -* Additional ms Macros:: - - -File: groff, Node: Missing ms Macros, Next: Additional ms Macros, Prev: Differences from AT&T ms, Up: Differences from AT&T ms - -`troff' macros not appearing in `groff' -....................................... - - Macros missing from `groff -ms' are cover page macros specific to -Bell Labs. The macros known to be missing are: - -`.TM' - Technical memorandum; a cover sheet style - -`.IM' - Internal memorandum; a cover sheet style - -`.MR' - Memo for record; a cover sheet style - -`.MF' - Memo for file; a cover sheet style - -`.EG' - Engineer's notes; a cover sheet style - -`.TR' - Computing Science Tech Report; a cover sheet style - -`.OK' - Other keywords - -`.CS' - Cover sheet information - -`.MH' - A cover sheet macro - - -File: groff, Node: Additional ms Macros, Prev: Missing ms Macros, Up: Differences from AT&T ms - -`groff' macros not appearing in AT&T `troff' -............................................ - - The `groff -ms' macros have a few minor extensions compared to the -AT&T `troff -ms' macros. - - - Macro: .AM - Improved accent marks. *Note ms Strings and Special Characters::, - for details. - - - Macro: .DS I - Indented display. The default behavior of AT&T `troff -ms' was to - indent; the `groff' default prints displays flush left with the - body text. - - - Macro: .CW - Print text in `constant width' (Courier) font. - - - Macro: .IX - Indexing term (printed on standard error). You can write a script - to capture and process an index generated in this manner. - - - The following additional number registers appear in `groff -ms': - - - Register: \n[MINGW] - Specifies a minimum space between columns (for multi-column - output); this takes the place of the `GW' register that was - documented but apparently not implemented in AT&T `troff'. - - - Several new string registers are available as well. You can change -these to handle (for example) the local language. *Note ms Strings and -Special Characters::, for details. - - -File: groff, Node: me, Next: mm, Prev: ms, Up: Macro Packages - -`me' -==== - - See the `meintro.me' and `meref.me' documents in groff's `doc' -directory. - - -File: groff, Node: mm, Prev: me, Up: Macro Packages - -`mm' -==== - - See the `groff_mm(7)' man page (type `man groff_mm' at the command -line). - - -File: groff, Node: gtroff Reference, Next: Preprocessors, Prev: Macro Packages, Up: Top - -`gtroff' Reference -****************** - - This chapter covers *all* of the facilities of `gtroff'. Users of -macro packages may skip it if not interested in details. - -* Menu: - -* Text:: -* Measurements:: -* Expressions:: -* Identifiers:: -* Embedded Commands:: -* Registers:: -* Manipulating Filling and Adjusting:: -* Manipulating Hyphenation:: -* Manipulating Spacing:: -* Tabs and Fields:: -* Character Translations:: -* Troff and Nroff Mode:: -* Line Layout:: -* Line Control:: -* Page Layout:: -* Page Control:: -* Fonts and Symbols:: -* Sizes:: -* Strings:: -* Conditionals and Loops:: -* Writing Macros:: -* Page Motions:: -* Drawing Requests:: -* Traps:: -* Diversions:: -* Environments:: -* Suppressing output:: -* Colors:: -* I/O:: -* Postprocessor Access:: -* Miscellaneous:: -* Gtroff Internals:: -* Debugging:: -* Implementation Differences:: - - -File: groff, Node: Text, Next: Measurements, Prev: gtroff Reference, Up: gtroff Reference - -Text -==== - - `gtroff' input files contain text with control commands interspersed -throughout. But, even without control codes, `gtroff' still does -several things with the input text: - - * filling and adjusting - - * adding additional space after sentences - - * hyphenating - - * inserting implicit line breaks - -* Menu: - -* Filling and Adjusting:: -* Hyphenation:: -* Sentences:: -* Tab Stops:: -* Implicit Line Breaks:: -* Input Conventions:: -* Input Encodings:: - - -File: groff, Node: Filling and Adjusting, Next: Hyphenation, Prev: Text, Up: Text - -Filling and Adjusting ---------------------- - - When `gtroff' reads text, it collects words from the input and fits -as many of them together on one output line as it can. This is known as -"filling". - - Once `gtroff' has a "filled" line, it tries to "adjust" it. This -means it widens the spacing between words until the text reaches the -right margin (in the default adjustment mode). Extra spaces between -words are preserved, but spaces at the end of lines are ignored. -Spaces at the front of a line cause a "break" (breaks are explained in -*Note Implicit Line Breaks::). - - *Note Manipulating Filling and Adjusting::. - - -File: groff, Node: Hyphenation, Next: Sentences, Prev: Filling and Adjusting, Up: Text - -Hyphenation ------------ - - Since the odds are not great for finding a set of words, for every -output line, which fit nicely on a line without inserting excessive -amounts of space between words, `gtroff' hyphenates words so that it -can justify lines without inserting too much space between words. It -uses an internal hyphenation algorithm (a simplified version of the -algorithm used within TeX) to indicate which words can be hyphenated -and how to do so. When a word is hyphenated, the first part of the -word is added to the current filled line being output (with an attached -hyphen), and the other portion is added to the next line to be filled. - - *Note Manipulating Hyphenation::. - - -File: groff, Node: Sentences, Next: Tab Stops, Prev: Hyphenation, Up: Text - -Sentences ---------- - - Although it is often debated, some typesetting rules say there -should be different amounts of space after various punctuation marks. -For example, the `Chicago typsetting manual' says that a period at the -end of a sentence should have twice as much space following it as would -a comma or a period as part of an abbreviation. - - `gtroff' does this by flagging certain characters (normally `!', -`?', and `.') as "end-of-sentence" characters. When `gtroff' -encounters one of these characters at the end of a line, it appends a -normal space followed by a "sentence space" in the formatted output. -(This justifies one of the conventions mentioned in *Note Input -Conventions::.) - - In addition, the following characters and symbols are treated -transparently while handling end-of-sentence characters: `"', `'', `)', -`]', `*', `\[dg]', and `\[rq]'. - - See the `cflags' request in *Note Using Symbols::, for more details. - - To prevent the insertion of extra space after an end-of-sentence -character (at the end of a line), append `\&'. - - -File: groff, Node: Tab Stops, Next: Implicit Line Breaks, Prev: Sentences, Up: Text - -Tab Stops ---------- - - `gtroff' translates "tabulator characters", also called "tabs" -(normally code point ASCII `0x09' or EBCDIC `0x05'), in the input into -movements to the next tabulator stop. These tab stops are initially -located every half inch across the page. Using this, simple tables can -be made easily. However, it can often be deceptive as the appearance -(and width) of the text on a terminal and the results from `gtroff' can -vary greatly. - - Also, a possible sticking point is that lines beginning with tab -characters are still filled, again producing unexpected results. For -example, the following input - - 1 2 3 - 4 5 - -produces - - 1 2 3 4 5 - - *Note Tabs and Fields::. - - -File: groff, Node: Implicit Line Breaks, Next: Input Conventions, Prev: Tab Stops, Up: Text - -Implicit Line Breaks --------------------- - - An important concept in `gtroff' is the "break". When a break -occurs, `gtroff' outputs the partially filled line (unjustified), and -resumes collecting and filling text on the next output line. - - There are several ways to cause a break in `gtroff'. A blank line -not only causes a break, but it also outputs a one-line vertical space -(effectively a blank line). Note that this behaviour can be modified -with the blank line macro request `blm'. *Note Blank Line Traps::. - - A line that begins with a space causes a break and the space is -output at the beginning of the next line. Note that this space isn't -adjusted, even in fill mode. - - The end of file also causes a break - otherwise the last line of the -document may vanish! - - Certain requests also cause breaks, implicitly or explicitly. This -is discussed in *Note Manipulating Filling and Adjusting::. - - -File: groff, Node: Input Conventions, Next: Input Encodings, Prev: Implicit Line Breaks, Up: Text - -Input Conventions ------------------ - - Since `gtroff' does filling automatically, it is traditional in -`groff' not to try and type things in as nicely formatted paragraphs. -These are some conventions commonly used when typing `gtroff' text: - - * Break lines after punctuation, particularly at the end of a - sentence and in other logical places. Keep separate phrases on - lines by themselves, as entire phrases are often added or deleted - when editing. - - * Try to keep lines less than 40-60 characters, to allow space for - inserting more text. - - * Do not try to do any formatting in a WYSIWYG manner (i.e., don't - try using spaces to get proper indentation). - - -File: groff, Node: Input Encodings, Prev: Input Conventions, Up: Text - -Input Encodings ---------------- - - Currently, the following input encodings are available. - -cp1047 - This input encoding works only on EBCDIC platforms (and vice - versa, the other input encodings don't work with EBCDIC); the file - `cp1047.tmac' is by default loaded at start-up. - -latin-1 - This is the default input encoding on non-EBCDIC platforms; the - file `latin1.tmac' is loaded at start-up. - -latin-2 - To use this encoding, either say `.mso latin2.tmac' at the very - beginning of your document or use `-mlatin2' as a command line - argument for `groff'. - -latin-9 (latin-0) - This encoding is intended (at least in Europe) to replace latin-1 - encoding. The main difference to latin-1 is that latin-9 contains - the Euro character. To use this encoding, either say - `.mso latin9.tmac' at the very beginning of your document or use - `-mlatin9' as a command line argument for `groff'. - - Note that it can happen that some input encoding characters are not -available for a particular output device. For example, saying - - - groff -Tlatin1 -mlatin9 ... - -will fail if you use the Euro character in the input. Usually, this -limitation is present only for devices which have a limited set of -output glyphs (e.g. `-Tascii' and `-Tlatin1'); for other devices it is -usually sufficient to install proper fonts which contain the necessary -glyphs. - - Due to the importance of the Euro glyph in Europe, the groff package -now comes with a POSTSCRIPT font called `freeeuro.pfa' which provides -various glyph shapes for the Euro. With other words, latin-9 encoding -is supported for the `-Tps' device out of the box (latin-2 isn't). - - By its very nature, `-Tutf8' supports all input encodings; `-Tdvi' -has support for both latin-2 and latin-9 if the command line `-mec' is -used also to load the file `ec.tmac' (which flips to the EC fonts). - - -File: groff, Node: Measurements, Next: Expressions, Prev: Text, Up: gtroff Reference - -Measurements -============ - - `gtroff' (like many other programs) requires numeric parameters to -specify various measurements. Most numeric parameters(1) (*note -Measurements-Footnote-1::) may have a "measurement unit" attached. -These units are specified as a single character which immediately -follows the number or expression. Each of these units are understood, -by `gtroff', to be a multiple of its "basic unit". So, whenever a -different measurement unit is specified `gtroff' converts this into its -"basic units". This basic unit, represented by a `u', is a device -dependent measurement which is quite small, ranging from 1/75th to -1/72000th of an inch. The values may be given as fractional numbers; -however, fractional basic units are always rounded to integers. - - Some of the measurement units are completely independent of any of -the current settings (e.g. type size) of `gtroff'. - -`i' - Inches. An antiquated measurement unit still in use in certain - backwards countries with incredibly low-cost computer equipment. - One inch is equal to 2.54cm. - -`c' - Centimeters. One centimeter is equal to 0.3937in. - -`p' - Points. This is a typesetter's measurement used for measure type - size. It is 72 points to an inch. - -`P' - Pica. Another typesetting measurement. 6 Picas to an inch (and - 12 points to a pica). - -`s' -`z' - *Note Fractional Type Sizes::, for a discussion of these units. - -`f' - Fractions. Value is 65536. *Note Colors::, for usage. - - The other measurements understood by `gtroff' depend on settings -currently in effect in `gtroff'. These are very useful for specifying -measurements which should look proper with any size of text. - -`m' - Ems. This unit is equal to the current font size in points. So - called because it is _approximately_ the width of the letter `m' - in the current font. - -`n' - Ens. In `groff', this is half of an em. - -`v' - Vertical space. This is equivalent to the current line spacing. - *Note Sizes::, for more information about this. - -`M' - 100ths of an em. - -* Menu: - -* Default Units:: - - -File: groff, Node: Measurements-Footnotes, Up: Measurements - - (1) those that specify vertical or horizontal motion or a type size - - -File: groff, Node: Default Units, Prev: Measurements, Up: Measurements - -Default Units -------------- - - Many requests take a default unit. While this can be helpful at -times, it can cause strange errors in some expressions. For example, -the line length request expects em units. Here are several attempts to -get a line length of 3.5 inches and their results: - - - 3.5i => 3.5i - 7/2 => 0i - 7/2i => 0i - (7 / 2)u => 0i - 7i/2 => 0.1i - 7i/2u => 3.5i - -Everything is converted to basic units first. In the above example it -is assumed that 1i equals 240u, and 1m equals 10p (thus 1m equals 33u). -The value 7i/2 is first handled as 7i/2m, then converted to 1680u/66u -which is 25u, and this is approximately 0.1i. As can be seen, a -scaling indicator after a closing parenthesis is simply ignored. - - Thus, the safest way to specify measurements is to always attach a -scaling indicator. If you want to multiply or divide by a certain -scalar value, use `u' as the unit for that value. - - -File: groff, Node: Expressions, Next: Identifiers, Prev: Measurements, Up: gtroff Reference - -Expressions -=========== - - `gtroff' has most arithmetic operators common to other languages: - - * Arithmetic: `+' (addition), `-' (subtraction), `/' (division), `*' - (multiplication), `%' (modulo). - - `gtroff' only provides integer arithmetic. The internal type used - for computing results is `int', which is usually a 32bit signed - integer. - - * Comparison: `<' (less than), `>' (greater than), `<=' (less than - or equal), `>=' (greater than or equal), `=' (equal), `==' (the - same as `='). - - * Logical: `&' (logical and), `:' (logical or). - - * Unary operators: `-' (negating, i.e. changing the sign), `+' (just - for completeness; does nothing in expressions), `!' (logical not; - this works only within `if' and `while' requests). See below for - the use of unary operators in motion requests. - - * Extrema: `>?' (maximum), `? \n[y]) - - The register `z' now contains 5. - - * Scaling: `(C;E)'. Evaluate E using C as the default scaling - indicator. If C is missing, ignore scaling indicators in the - evaluation of E. - - Parentheses may be used as in any other language. However, in -`gtroff' they are necessary to ensure order of evaluation. `gtroff' -has no operator precedence; expressions are evaluated left to right. -This means that `gtroff' evaluates `3+5*4' as if it were parenthesized -like `(3+5)*4', not as `3+(5*4)', as might be expected. - - For many requests which cause a motion on the page, the unary -operators `+' and `-' work differently if leading an expression. They -then indicate a motion relative to the current position (down or up, -respectively). - - Similarly, a leading `|' operator indicates an absolute position. -For vertical movements, it specifies the distance from the top of the -page; for horizontal movements, it gives the distance from the beginning -of the _input_ line. - - `+' and `-' are also treated differently by the following requests -and escapes: `bp', `in', `ll', `lt', `nm', `nr', `pl', `pn', `po', `ps', -`pvs', `rt', `ti', `\H', `\R', and `\s'. Here, leading plus and minus -signs indicate increments and decrements. - - *Note Setting Registers::, for some examples. - - - Escape: \B'anything' - Return 1 if ANYTHING is a valid numeric expression; or 0 if - ANYTHING is empty or not a valid numeric expression. - - Due to the way arguments are parsed, spaces are not allowed in -expressions, unless the entire expression is surrounded by parentheses. - - *Note Request and Macro Arguments::, and *Note Conditionals and -Loops::. - - -File: groff, Node: Identifiers, Next: Embedded Commands, Prev: Expressions, Up: gtroff Reference - -Identifiers -=========== - - Like any other language, `gtroff' has rules for properly formed -"identifiers". In `gtroff', an identifier can be made up of almost any -printable character, with the exception of the following characters: - - * Whitespace characters (spaces, tabs, and newlines). - - * Backspace (ASCII `0x08' or EBCDIC `0x16') and character code - `0x01'. - - * The following input characters are invalid and are ignored if - `groff' runs on a machine based on ASCII, causing a warning - message of type `input' (see *Note Debugging::, for more details): - `0x00', `0x0B', `0x0D'-`0x1F', `0x80'-`0x9F'. - - And here are the invalid input characters if `groff' runs on an - EBCDIC host: `0x00', `0x08', `0x09', `0x0B', `0x0D'-`0x14', - `0x17'-`0x1F', `0x30'-`0x3F'. - - Currently, some of these reserved codepoints are used internally, - thus making it non-trivial to extend `gtroff' to cover Unicode or - other character sets and encodings which use characters of these - ranges. - - Note that invalid characters are removed before parsing; an - identifier `foo', followed by an invalid character, followed by - `bar' is treated as `foobar'. - - For example, any of the following is valid. - - - br - PP - (l - end-list - @_ - -Note that identifiers longer than two characters with a closing bracket -(`]') in its name can't be accessed with escape sequences which expect -an identifier as a parameter. For example, `\[foo]]' accesses the -glyph `foo', followed by `]', whereas `\C'foo]'' really asks for glyph -`foo]'. - - To avoid problems with the `refer' preprocessor, macro names should -not start with `[' or `]'. Due to backwards compatibility, everything -after `.[' and `.]' is handled as a special argument to `refer'. For -example, `.[foo' makes `refer' to start a reference, using `foo' as a -parameter. - - - Escape: \A'ident' - Test whether an identifier IDENT is valid in `gtroff'. It expands - to the character 1 or 0 according to whether its argument (usually - delimited by quotes) is or is not acceptable as the name of a - string, macro, diversion, number register, environment, or font. - It returns 0 if no argument is given. This is useful for looking - up user input in some sort of associative table. - - - \A'end-list' - => 1 - - - *Note Escapes::, for details on parameter delimiting characters. - - Identifiers in `gtroff' can be any length, but, in some contexts, -`gtroff' needs to be told where identifiers end and text begins (and in -different ways depending on their length): - - * Single character. - - * Two characters. Must be prefixed with `(' in some situations. - - * Arbitrary length (`gtroff' only). Must be bracketed with `[' - and `]' in some situations. Any length identifier can be put in - brackets. - - Unlike many other programming languages, undefined identifiers are -silently ignored or expanded to nothing. When `gtroff' finds an -undefined identifier, it emits a warning, doing the following: - - * If the identifier is a string, macro, or diversion, `gtroff' - defines it as empty. - - * If the identifier is a number register, `gtroff' defines it with a - value of 0. - - *Note Warnings::., *Note Interpolating Registers::, and *Note -Strings::. - - Note that macros, strings, and diversions share the same name space. - - - .de xxx - . nop foo - .. - . - .di xxx - bar - .br - .di - . - .xxx - => bar - -As can be seen in the previous example, `gtroff' reuses the identifier -`xxx', changing it from a macro to a diversion. No warning is emitted! -The contents of the first macro definition is lost. - - *Note Interpolating Registers::, and *Note Strings::. - - -File: groff, Node: Embedded Commands, Next: Registers, Prev: Identifiers, Up: gtroff Reference - -Embedded Commands -================= - - Most documents need more functionality beyond filling, adjusting and -implicit line breaking. In order to gain further functionality, -`gtroff' allows commands to be embedded into the text, in two ways. - - The first is a "request" which takes up an entire line, and does -some large-scale operation (e.g. break lines, start new pages). - - The other is an "escape" which can be usually embedded anywhere in -the text; most requests can accept it even as an argument. Escapes -generally do more minor operations like sub- and superscripts, print a -symbol, etc. - -* Menu: - -* Requests:: -* Macros:: -* Escapes:: - - -File: groff, Node: Requests, Next: Macros, Prev: Embedded Commands, Up: Embedded Commands - -Requests --------- - - A request line begins with a control character, which is either a -single quote (`'', the "no-break control character") or a period (`.', -the normal "control character"). These can be changed; see *Note -Character Translations::, for details. After this there may be -optional tabs or spaces followed by an identifier which is the name of -the request. This may be followed by any number of space-separated -arguments (_no_ tabs here). - - Since a control character followed by whitespace only is ignored, it -is common practice to use this feature for structuring the source code -of documents or macro packages. - - - .de foo - . tm This is foo. - .. - . - . - .de bar - . tm This is bar. - .. - - Another possibility is to use the blank line macro request `blm' by -assigning an empty macro to it. - - - .de do-nothing - .. - .blm do-nothing \" activate blank line macro - - .de foo - . tm This is foo. - .. - - - .de bar - . tm This is bar. - .. - - .blm \" deactivate blank line macro - - *Note Blank Line Traps::. - - To begin a line with a control character without it being -interpreted, precede it with `\&'. This represents a zero width space, -which means it does not affect the output. - - In most cases the period is used as a control character. Several -requests cause a break implicitly; using the single quote control -character prevents this. - -* Menu: - -* Request and Macro Arguments:: - - -File: groff, Node: Request and Macro Arguments, Prev: Requests, Up: Requests - -Request and Macro Arguments -........................... - - Arguments to requests and macros are processed much like the shell: -The line is split into arguments according to spaces.(1) (*note Request -and Macro Arguments-Footnote-1::) - - An argument to a macro which is intended to contain spaces can -either be enclosed in double quotes, or have the spaces "escaped" with -backslashes. This is _not_ true for requests. - - Here are a few examples for a hypothetical macro `uh': - - - .uh The Mouse Problem - .uh "The Mouse Problem" - .uh The\ Mouse\ Problem - -The first line is the `uh' macro being called with 3 arguments, `The', -`Mouse', and `Problem'. The latter two have the same effect of calling -the `uh' macro with one argument, `The Mouse Problem'.(2) (*note -Request and Macro Arguments-Footnote-2::) - - A double quote which isn't preceded by a space doesn't start a macro -argument. If not closing a string, it is printed literally. - - For example, - - - .xxx a" "b c" "de"fg" - -has the arguments `a"', `b c', `de', and `fg"'. Don't rely on this -obscure behaviour! - - There are two possibilities to get a double quote reliably. - - * Enclose the whole argument with double quotes and use two - consecutive double quotes to represent a single one. This - traditional solution has the disadvantage that double quotes don't - survive argument expansion again if called in compatibility mode - (using the `-C' option of `groff'): - - - .de xx - . tm xx: `\\$1' `\\$2' `\\$3' - . - . yy "\\$1" "\\$2" "\\$3" - .. - .de yy - . tm yy: `\\$1' `\\$2' `\\$3' - .. - .xx A "test with ""quotes""" . - => xx: `A' `test with "quotes"' `.' - => yy: `A' `test with ' `quotes""' - - If not in compatibility mode, you get the expected result - - - xx: `A' `test with "quotes"' `.' - yy: `A' `test with "quotes"' `.' - - since `gtroff' preserves the input level. - - * Use the double quote glyph `\(dq'. This works with and without - compatibility mode enabled since `gtroff' doesn't convert `\(dq' - back to a double quote input character. - - Not that this method won't work with UNIX `troff' in general since - the glyph `dq' isn't defined normally. - - Double quotes in the `ds' request are handled differently. *Note -Strings::, for more details. - - -File: groff, Node: Request and Macro Arguments-Footnotes, Up: Request and Macro Arguments - - (1) Plan 9's `troff' implementation also allows tabs for argument -separation - `gtroff' intentionally doesn't support this. - - (2) The last solution, i.e., using escaped spaces, is "classical" in -the sense that it can be found in most `troff' documents. -Nevertheless, it is not optimal in all situations, since `\ ' inserts a -fixed-width, non-breaking space character which can't stretch. -`gtroff' provides a different command `\~' to insert a stretchable, -non-breaking space. - - -File: groff, Node: Macros, Next: Escapes, Prev: Requests, Up: Embedded Commands - -Macros ------- - - `gtroff' has a "macro" facility for defining a series of lines which -can be invoked by name. They are called in the same manner as requests -- arguments also may be passed basically in the same manner. - - *Note Writing Macros::, and *Note Request and Macro Arguments::. - - -File: groff, Node: Escapes, Prev: Macros, Up: Embedded Commands - -Escapes -------- - - Escapes may occur anywhere in the input to `gtroff'. They usually -begin with a backslash and are followed by a single character which -indicates the function to be performed. The escape character can be -changed; see *Note Character Translations::. - - Escape sequences which require an identifier as a parameter accept -three possible syntax forms. - - * The next single character is the identifier. - - * If this single character is an opening parenthesis, take the - following two characters as the identifier. Note that there is no - closing parenthesis after the identifier. - - * If this single character is an opening bracket, take all characters - until a closing bracket as the identifier. - -Examples: - - - \fB - \n(XX - \*[TeX] - - Other escapes may require several arguments and/or some special -format. In such cases the argument is traditionally enclosed in single -quotes (and quotes are always used in this manual for the definitions -of escape sequences). The enclosed text is then processed according to -what that escape expects. Example: - - - \l'1.5i\(bu' - - Note that the quote character can be replaced with any other -character which does not occur in the argument (even a newline or a -space character) in the following escapes: `\o', `\b', and `\X'. This -makes e.g. - - - A caf - \o - e\' - - - in Paris - => A cafe' in Paris - -possible, but it is better not to use this feature to avoid confusion. - - The following escapes sequences (which are handled similarly to -characters since they don't take a parameter) are also allowed as -delimiters: `\%', `\ ', `\|', `\^', `\{', `\}', `\'', `\`', `\-', `\_', -`\!', `\?', `\@', `\)', `\/', `\,', `\&', `\:', `\~', `\0', `\a', `\c', -`\d', `\e', `\E', `\p', `\r', `\t', and `\u'. Again, don't use these -if possible. - - No newline characters as delimiters are allowed in the following -escapes: `\A', `\B', `\Z', `\C', and `\w'. - - Finally, the escapes `\D', `\h', `\H', `\l', `\L', `\N', `\R', `\s', -`\S', `\v', and `\x' can't use the following characters as delimiters: - - * The digits `0'-`9'. - - * The (single-character) operators `+-/*%<>=&:().'. - - * The space, tab, and newline characters. - - * All escape sequences except `\%', `\:', `\{', `\}', `\'', `\`', - `\-', `\_', `\!', `\@', `\/', `\c', `\e', and `\p'. - - To have a backslash (actually, the current escape character) appear -in the output several escapes are defined: `\\', `\e' or `\E'. These -are very similar, and only differ with respect to being used in macros -or diversions. *Note Character Translations::, for an exact -description of those escapes. - - *Note Implementation Differences::, *Note Copy-in Mode::, and *Note -Diversions::, *Note Identifiers::, for more information. - -* Menu: - -* Comments:: - - -File: groff, Node: Comments, Prev: Escapes, Up: Escapes - -Comments -........ - - Probably one of the most(1) (*note Comments-Footnote-1::) common -forms of escapes is the comment. - - - Escape: \" - Start a comment. Everything to the end of the input line is - ignored. - - This may sound simple, but it can be tricky to keep the comments - from interfering with the appearance of the final output. - - If the escape is to the right of some text or a request, that - portion of the line is ignored, but the space leading up to it is - noticed by `gtroff'. This only affects the `ds' and `as' request - and its variants. - - One possibly irritating idiosyncracy is that tabs must not be used - to line up comments. Tabs are not treated as whitespace between - the request and macro arguments. - - A comment on a line by itself is treated as a blank line, because - after eliminating the comment, that is all that remains: - - - Test - \" comment - Test - - produces - - - Test - - Test - - To avoid this, it is common to start the line with `.\"' which - causes the line to be treated as an undefined request and thus - ignored completely. - - Another commenting scheme seen sometimes is three consecutive - single quotes (`'''') at the beginning of a line. This works, but - `gtroff' gives a warning about an undefined macro (namely `'''), - which is harmless, but irritating. - - - Escape: \# - To avoid all this, `gtroff' has a new comment mechanism using the - `\#' escape. This escape works the same as `\"' except that the - newline is also ignored: - - - Test - \# comment - Test - - produces - - - Test Test - - as expected. - - - Request: .ig [end] - Ignore all input until `gtroff' encounters the macro named `.'END - on a line by itself (or `..' if END is not specified). This is - useful for commenting out large blocks of text: - - - text text text... - .ig - This is part of a large block - of text that has been - temporarily(?) commented out. - - We can restore it simply by removing - the .ig request and the ".." at the - end of the block. - .. - More text text text... - - produces - - - text text text... More text text text... - - Note that the commented-out block of text does not cause a break. - - The input is read in copy-mode; auto-incremented registers _are_ - affected (*note Auto-increment::). - - -File: groff, Node: Comments-Footnotes, Up: Comments - - (1) Unfortunately, this is a lie. But hopefully future `gtroff' -hackers will believe it `:-)' - - -File: groff, Node: Registers, Next: Manipulating Filling and Adjusting, Prev: Embedded Commands, Up: gtroff Reference - -Registers -========= - - Numeric variables in `gtroff' are called "registers". There are a -number of built-in registers, supplying anything from the date to -details of formatting parameters. - - *Note Identifiers::, for details on register identifiers. - -* Menu: - -* Setting Registers:: -* Interpolating Registers:: -* Auto-increment:: -* Assigning Formats:: -* Built-in Registers:: - - -File: groff, Node: Setting Registers, Next: Interpolating Registers, Prev: Registers, Up: Registers - -Setting Registers ------------------ - - Define or set registers using the `nr' request or the `\R' escape. - - - Request: .nr ident value - - Escape: \R'ident value' - Set number register IDENT to VALUE. If IDENT doesn't exist, - `gtroff' creates it. - - The argument to `\R' usually has to be enclosed in quotes. *Note - Escapes::, for details on parameter delimiting characters. - - The `\R' escape doesn't produce an input token in `gtroff'; with - other words, it vanishes completely after `gtroff' has processed - it. - - For example, the following two lines are equivalent: - - - .nr a (((17 + (3 * 4))) % 4) - \R'a (((17 + (3 * 4))) % 4)' - => 1 - - Both `nr' and `\R' have two additional special forms to increment or -decrement a register. - - - Request: .nr ident +value - - Request: .nr ident -value - - Escape: \R'ident +value' - - Escape: \R'ident -value' - Increment (decrement) register IDENT by VALUE. - - - .nr a 1 - .nr a +1 - \na - => 2 - - To assign the negated value of a register to another register, - some care must be taken to get the desired result: - - - .nr a 7 - .nr b 3 - .nr a -\nb - \na - => 4 - .nr a (-\nb) - \na - => -3 - - The surrounding parentheses prevent the interpretation of the - minus sign as a decrementing operator. An alternative is to start - the assignment with a `0': - - - .nr a 7 - .nr b -3 - .nr a \nb - \na - => 4 - .nr a 0\nb - \na - => -3 - - - - Request: .rr ident - Remove number register IDENT. If IDENT doesn't exist, the request - is ignored. - - - Request: .rnn ident1 ident2 - Rename number register IDENT1 to IDENT2. If either IDENT1 or - IDENT2 doesn't exist, the request is ignored. - - - Request: .aln ident1 ident2 - Create an alias IDENT1 for a number register IDENT2. The new name - and the old name are exactly equivalent. If IDENT1 is undefined, - a warning of type `reg' is generated, and the request is ignored. - *Note Debugging::, for information about warnings. - - -File: groff, Node: Interpolating Registers, Next: Auto-increment, Prev: Setting Registers, Up: Registers - -Interpolating Registers ------------------------ - - Numeric registers can be accessed via the `\n' escape. - - - Escape: \ni - - Escape: \n(id - - Escape: \n[ident] - Interpolate number register with name IDENT (one-character name I, - two-character name ID). This means that the value of the register - is expanded in-place while `gtroff' is parsing the input line. - Nested assignments (also called indirect assignments) are possible. - - - .nr a 5 - .nr as \na+\na - \n(as - => 10 - - - .nr a1 5 - .nr ab 6 - .ds str b - .ds num 1 - \n[a\n[num]] - => 5 - \n[a\*[str]] - => 6 - - - -File: groff, Node: Auto-increment, Next: Assigning Formats, Prev: Interpolating Registers, Up: Registers - -Auto-increment --------------- - - Number registers can also be auto-incremented and auto-decremented. -The increment or decrement value can be specified with a third argument -to the `nr' request or `\R' escape. - - - Request: .nr ident value incr - Set number register IDENT to VALUE; the increment for - auto-incrementing is set to INCR. Note that the `\R' escape - doesn't support this notation. - - To activate auto-incrementing, the escape `\n' has a special syntax -form. - - - Escape: \n+i - - Escape: \n-i - - Escape: \n(+id - - Escape: \n(-id - - Escape: \n+(id - - Escape: \n-(id - - Escape: \n[+ident] - - Escape: \n[-ident] - - Escape: \n+[ident] - - Escape: \n-[ident] - Before interpolating, increment or decrement IDENT (one-character - name I, two-character name ID) by the auto-increment value as - specified with the `nr' request (or the `\R' escape). If no - auto-increment value has been specified, these syntax forms are - identical to `\n'. - - For example, - - - .nr a 0 1 - .nr xx 0 5 - .nr foo 0 -2 - \n+a, \n+a, \n+a, \n+a, \n+a - .br - \n-(xx, \n-(xx, \n-(xx, \n-(xx, \n-(xx - .br - \n+[foo], \n+[foo], \n+[foo], \n+[foo], \n+[foo] - -produces - - - 1, 2, 3, 4, 5 - -5, -10, -15, -20, -25 - -2, -4, -6, -8, -10 - - To change the increment value without changing the value of a -register (A in the example), the following can be used: - - - .nr a \na 10 - - -File: groff, Node: Assigning Formats, Next: Built-in Registers, Prev: Auto-increment, Up: Registers - -Assigning Formats ------------------ - - When a register is used in the text of an input file (as opposed to -part of an expression), it is textually replaced (or interpolated) with -a representation of that number. This output format can be changed to -a variety of formats (numbers, Roman numerals, etc.). This is done -using the `af' request. - - - Request: .af ident format - Change the output format of a number register. The first argument - IDENT is the name of the number register to be changed, and the - second argument FORMAT is the output format. The following output - formats are available: - - `1' - Decimal arabic numbers. This is the default format: 0, 1, 2, - 3, .... - - `0...0' - Decimal numbers with as many digits as specified. So, `00' - would result in printing numbers as 01, 02, 03, .... - - In fact, any digit instead of zero will do; `gtroff' only - counts how many digits are specified. As a consequence, - `af''s default format `1' could be specified as `0' also (and - exactly this is returned by the `\g' escape, see below). - - `I' - Upper-case Roman numerals: 0, I, II, III, IV, .... - - `i' - Lower-case Roman numerals: 0, i, ii, iii, iv, .... - - `A' - Upper-case letters: 0, A, B, C, ..., Z, AA, AB, .... - - `a' - Lower-case letters: 0, a, b, c, ..., z, aa, ab, .... - - Omitting the number register format causes a warning of type - `missing'. *Note Debugging::, for more details. Specifying a - nonexistent format causes an error. - - The following example produces `10, X, j, 010': - - - .nr a 10 - .af a 1 \" the default format - \na, - .af a I - \na, - .af a a - \na, - .af a 001 - \na - - The largest number representable for the `i' and `I' formats is - 39999 (or -39999); UNIX `troff' uses `z' and `w' to represent - 10000 and 5000 in Roman numerals, and so does `gtroff'. - Currently, the correct glyphs of Roman numeral five thousand and - Roman numeral ten thousand (Unicode code points `U+2182' and - `U+2181', respectively) are not available. - - If IDENT doesn't exist, it is created. - - Changing the output format of a read-only register causes an - error. It is necessary to first copy the register's value to a - writeable register, then apply the `af' request to this other - register. - - - Escape: \gi - - Escape: \g(id - - Escape: \g[ident] - Return the current format of the specified register IDENT - (one-character name I, two-character name ID). For example, `\ga' - after the previous example would produce the string `000'. If the - register hasn't been defined yet, nothing is returned. - - -File: groff, Node: Built-in Registers, Prev: Assigning Formats, Up: Registers - -Built-in Registers ------------------- - - The following lists some built-in registers which are not described -elsewhere in this manual. Any register which begins with a `.' is -read-only. A complete listing of all built-in registers can be found in -appendix *Note Register Index::. - -`.F' - This string-valued register returns the current input file name. - -`.H' - Horizontal resolution in basic units. - -`.V' - Vertical resolution in basic units. - -`seconds' - The number of seconds after the minute, normally in the range 0 - to 59, but can be up to 61 to allow for leap seconds. Initialized - at start-up of `gtroff'. - -`minutes' - The number of minutes after the hour, in the range 0 to 59. - Initialized at start-up of `gtroff'. - -`hours' - The number of hours past midnight, in the range 0 to 23. - Initialized at start-up of `gtroff'. - -`dw' - Day of the week (1-7). - -`dy' - Day of the month (1-31). - -`mo' - Current month (1-12). - -`year' - The current year. - -`yr' - The current year minus 1900. Unfortunately, the documentation of - UNIX Version 7's `troff' had a year 2000 bug: It incorrectly - claimed that `yr' contains the last two digits of the year. That - claim has never been true of either AT&T `troff' or GNU `troff'. - Old `troff' input that looks like this: - - - '\" The following line stopped working after 1999 - This document was formatted in 19\n(yr. - - can be corrected as follows: - - - This document was formatted in \n[year]. - - or, to be portable to older `troff' versions, as follows: - - - .nr y4 1900+\n(yr - This document was formatted in \n(y4. - -`.c' -`c.' - The current _input_ line number. Register `.c' is read-only, - whereas `c.' (a `gtroff' extension) is writable also, affecting - both `.c' and `c.'. - -`ln' - The current _output_ line number after a call to the `nm' request - to activate line numbering. - - *Note Miscellaneous::, for more information about line numbering. - -`.x' - The major version number. For example, if the version number is - 1.03 then `.x' contains `1'. - -`.y' - The minor version number. For example, if the version number is - 1.03 then `.y' contains `03'. - -`.Y' - The revision number of `groff'. - -`$$' - The process ID of `gtroff'. - -`.g' - Always 1. Macros should use this to determine whether they are - running under GNU `troff'. - -`.A' - If the command line option `-a' is used to produce an ASCII - approximation of the output, this is set to 1, zero otherwise. - *Note Groff Options::. - -`.P' - This register is set to 1 (and to 0 otherwise) if the current page - is actually being printed, i.e., if the `-o' option is being used - to only print selected pages. *Note Groff Options::, for more - information. - -`.T' - If `gtroff' is called with the `-T' command line option, the - number register `.T' is set to 1, and zero otherwise. *Note Groff - Options::. - - Additionally, `gtroff' predefines a single read-write string - register `.T' which contains the current output device (for - example, `latin1' or `ps'). - diff -ruN groff-1.19/doc/groff-4 groff-1.19.1/doc/groff-4 --- groff-1.19/doc/groff-4 Tue Apr 29 15:37:37 2003 +++ groff-1.19.1/doc/groff-4 Thu Jan 1 01:00:00 1970 @@ -1,1406 +0,0 @@ -This is groff, produced by makeinfo version 4.3d from ./groff.texinfo. - -This manual documents GNU `troff' version 1.19. - - Copyright (C) 1994-2000, 2001, 2002, 2003 Free Software Foundation, -Inc. - - Permission is granted to copy, distribute and/or modify this - document under the terms of the GNU Free Documentation License, - Version 1.1 or any later version published by the Free Software - Foundation; with no Invariant Sections, with the Front-Cover texts - being `A GNU Manual," and with the Back-Cover Texts as in (a) - below. A copy of the license is included in the section entitled - `GNU Free Documentation License." - - (a) The FSF's Back-Cover Text is: `You have freedom to copy and - modify this GNU Manual, like GNU software. Copies published by - the Free Software Foundation raise funds for GNU development." - -INFO-DIR-SECTION Typesetting -START-INFO-DIR-ENTRY -* Groff: (groff). The GNU troff document formatting system. -END-INFO-DIR-ENTRY - - -File: groff, Node: Manipulating Filling and Adjusting, Next: Manipulating Hyphenation, Prev: Registers, Up: gtroff Reference - -Manipulating Filling and Adjusting -================================== - - Various ways of causing "breaks" were given in *Note Implicit Line -Breaks::. The `br' request likewise causes a break. Several other -requests also cause breaks, but implicitly. These are `bp', `ce', -`cf', `fi', `fl', `in', `nf', `rj', `sp', `ti', and `trf'. - - - Request: .br - Break the current line, i.e., the input collected so far is emitted - without adjustment. - - If the no-break control character is used, `gtroff' suppresses the - break: - - - a - 'br - b - => a b - - - Initially, `gtroff' fills and adjusts text to both margins. Filling -can be disabled via the `nf' request and re-enabled with the `fi' -request. - - - Request: .fi - - Register: \n[.u] - Activate fill mode (which is the default). This request implicitly - enables adjusting; it also inserts a break in the text currently - being filled. The read-only number register `.u' is set to 1. - - The fill mode status is associated with the current environment - (*note Environments::). - - See *Note Line Control::, for interaction with the `\c' escape. - - - Request: .nf - Activate no-fill mode. Input lines are output as-is, retaining - line breaks and ignoring the current line length. This command - implicitly disables adjusting; it also causes a break. The number - register `.u' is set to 0. - - The fill mode status is associated with the current environment - (*note Environments::). - - See *Note Line Control::, for interaction with the `\c' escape. - - - Request: .ad [mode] - - Register: \n[.j] - Set adjusting mode. - - Activation and deactivation of adjusting is done implicitly with - calls to the `fi' or `nf' requests. - - MODE can have one of the following values: - - `l' - Adjust text to the left margin. This produces what is - traditionally called ragged-right text. - - `r' - Adjust text to the right margin, producing ragged-left text. - - `c' - Center filled text. This is different to the `ce' request - which only centers text without filling. - - `b' - `n' - Justify to both margins. This is the default used by - `gtroff'. - - Finally, MODE can be the numeric argument returned by the `.j' - register. - - With no argument, `gtroff' adjusts lines in the same way it did - before adjusting was deactivated (with a call to `na', for - example). - - - text - .ad r - .nr ad \n[.j] - text - .ad c - text - .na - text - .ad \" back to centering - text - .ad \n[ad] \" back to right justifying - - The current adjustment mode is available in the read-only number - register `.j'; it can be stored and subsequently used to set - adjustment. - - The adjustment mode status is associated with the current - environment (*note Environments::). - - - Request: .na - Disable adjusting. This request won't change the current - adjustment mode: A subsequent call to `ad' uses the previous - adjustment setting. - - The adjustment mode status is associated with the current - environment (*note Environments::). - - - Request: .brp - - Escape: \p - Adjust the current line and cause a break. - - In most cases this produces very ugly results since `gtroff' - doesn't have a sophisticated paragraph building algorithm (as TeX - have, for example); instead, `gtroff' fills and adjusts a paragraph - line by line: - - - This is an uninteresting sentence. - This is an uninteresting sentence.\p - This is an uninteresting sentence. - - is formatted as - - - This is an uninteresting sentence. This is an - uninteresting sentence. - This is an uninteresting sentence. - - - - Request: .ss word_space_size [sentence_space_size] - - Register: \n[.ss] - - Register: \n[.sss] - Change the size of a space between words. It takes its units as - one twelfth of the space width parameter for the current font. - Initially both the WORD_SPACE_SIZE and SENTENCE_SPACE_SIZE are 12. - In fill mode, the values specify the minimum distance. - - If two arguments are given to the `ss' request, the second - argument sets the sentence space size. If the second argument is - not given, sentence space size is set to WORD_SPACE_SIZE. The - sentence space size is used in two circumstances: If the end of a - sentence occurs at the end of a line in fill mode, then both an - inter-word space and a sentence space are added; if two spaces - follow the end of a sentence in the middle of a line, then the - second space is a sentence space. If a second argument is never - given to the `ss' request, the behaviour of UNIX `troff' is the - same as that exhibited by GNU `troff'. In GNU `troff', as in UNIX - `troff', a sentence should always be followed by either a newline - or two spaces. - - The read-only number registers `.ss' and `.sss' hold the values of - the parameters set by the first and second arguments of the `ss' - request. - - The word space and sentence space values are associated with the - current environment (*note Environments::). - - Contrary to AT&T `troff', this request is _not_ ignored if a TTY - output device is used; the given values are then rounded down to a - multiple of 12 (*note Implementation Differences::). - - The request is ignored if there is no parameter. - - Another useful application of the `ss' request is to insert - discardable horizontal space, i.e., space which is discarded at a - line break. For example, paragraph-style footnotes could be - separated this way: - - - .ll 4.5i - 1.\ This is the first footnote.\c - .ss 48 - .nop - .ss 12 - 2.\ This is the second footnote. - - The result: - - - 1. This is the first footnote. 2. This - is the second footnote. - - Note that the `\h' escape produces unbreakable space. - - - Request: .ce [nnn] - - Register: \n[.ce] - Center text. While the `.ad c' request also centers text, it - fills the text as well. `ce' does not fill the text it affects. - This request causes a break. The number of lines still to be - centered is associated with the current environment (*note - Environments::). - - The following example demonstrates the differences. Here the - input: - - - .ll 4i - .ce 1000 - This is a small text fragment which shows the differences - between the `.ce' and the `.ad c' request. - .ce 0 - - .ad c - This is a small text fragment which shows the differences - between the `.ce' and the `.ad c' request. - - And here the result: - - - This is a small text fragment which - shows the differences - between the `.ce' and the `.ad c' request. - - This is a small text fragment which - shows the differences between the `.ce' - and the `.ad c' request. - - With no arguments, `ce' centers the next line of text. NNN - specifies the number of lines to be centered. If the argument is - zero or negative, centering is disabled. - - The basic length for centering text is the line length (as set - with the `ll' request) minus the indentation (as set with the `in' - request). Temporary indentation is ignored. - - As can be seen in the previous example, it is a common idiom to - turn on centering for a large number of lines, and to turn off - centering after text to be centered. This is useful for any - request which takes a number of lines as an argument. - - The `.ce' read-only number register contains the number of lines - remaining to be centered, as set by the `ce' request. - - - Request: .rj [nnn] - - Register: \n[.rj] - Justify unfilled text to the right margin. Arguments are - identical to the `ce' request. The `.rj' read-only number - register is the number of lines to be right-justified as set by - the `rj' request. This request causes a break. The number of - lines still to be right-justified is associated with the current - environment (*note Environments::). - - -File: groff, Node: Manipulating Hyphenation, Next: Manipulating Spacing, Prev: Manipulating Filling and Adjusting, Up: gtroff Reference - -Manipulating Hyphenation -======================== - - As discussed in *Note Hyphenation::, `gtroff' hyphenates words. -There are a number of ways to influence hyphenation. - - - Request: .hy [mode] - - Register: \n[.hy] - Enable hyphenation. The request has an optional numeric argument, - MODE, to restrict hyphenation if necessary: - - `1' - The default argument if MODE is omitted. Hyphenate without - restrictions. This is also the start-up value of `gtroff'. - - `2' - Do not hyphenate the last word on a page or column. - - `4' - Do not hyphenate the last two characters of a word. - - `8' - Do not hyphenate the first two characters of a word. - - Values in the previous table are additive. For example, the - value 12 causes `gtroff' to neither hyphenate the last two nor the - first two characters of a word. - - The current hyphenation restrictions can be found in the read-only - number register `.hy'. - - The hyphenation mode is associated with the current environment - (*note Environments::). - - - Request: .nh - Disable hyphenation (i.e., set the hyphenation mode to zero). Note - that the hyphenation mode of the last call to `hy' is not - remembered. - - The hyphenation mode is associated with the current environment - (*note Environments::). - - - Request: .hlm [nnn] - - Register: \n[.hlm] - - Register: \n[.hlc] - Set the maximum number of consecutive hyphenated lines to NNN. If - this number is negative, there is no maximum. The default value - is -1 if NNN is omitted. This value is associated with the - current environment (*note Environments::). Only lines output - from a given environment count towards the maximum associated with - that environment. Hyphens resulting from `\%' are counted; - explicit hyphens are not. - - The current setting of `hlm' is available in the `.hlm' read-only - number register. Also the number of immediately preceding - consecutive hyphenated lines are available in the read-only number - register `.hlc'. - - - Request: .hw word1 word2 ... - Define how WORD1, WORD2, etc. are to be hyphenated. The words - must be given with hyphens at the hyphenation points. For example: - - - .hw in-sa-lub-rious - - Besides the space character, any character whose hyphenation code - value is zero can be used to separate the arguments of `hw' (see - the documentation for the `hcode' request below for more - information). In addition, this request can be used more than - once. - - Hyphenation exceptions specified with the `hw' request are - associated with the current hyphenation language; it causes an - error if there is no current hyphenation language. - - This request is ignored if there is no parameter. - - In old versions of `troff' there was a limited amount of space to - store such information; fortunately, with `gtroff', this is no - longer a restriction. - - - Escape: \% - - Escape: \: - To tell `gtroff' how to hyphenate words on the fly, use the `\%' - escape, also known as the "hyphenation character". Preceding a - word with this character prevents it from being hyphenated; - putting it inside a word indicates to `gtroff' that the word may - be hyphenated at that point. Note that this mechanism only - affects that one occurrence of the word; to change the hyphenation - of a word for the entire document, use the `hw' request. - - The `\:' escape inserts a zero-width break point (that is, the - word breaks but without adding a hyphen). - - - ... check the /var/log/\:httpd/\:access_log file ... - - Note that `\X' and `\Y' start a word, that is, the `\%' escape in - (say) `\X'...'\%foobar' and `\Y'...'\%foobar' no longer prevents - hyphenation but inserts a hyphenation point at the beginning of - `foobar'; most likely this isn't what you want to do. - - - Request: .hc [char] - Change the hyphenation character to CHAR. This character then - works the same as the `\%' escape, and thus, no longer appears in - the output. Without an argument, `hc' resets the hyphenation - character to be `\%' (the default) only. - - The hyphenation character is associated with the current - environment (*note Environments::). - - - Request: .hpf pattern_file - - Request: .hpfa pattern_file - - Request: .hpfcode a b [c d ...] - Read in a file of hyphenation patterns. This file is searched for - in the same way as `NAME.tmac' (or `tmac.NAME') is searched for if - the `-mNAME' option is specified. - - It should have the same format as (simple) TeX patterns files. - More specifically, the following scanning rules are implemented. - - * A percent sign starts a comment (up to the end of the line) - even if preceded by a backslash. - - * No support for `digraphs' like `\$'. - - * `^^XX' (X is 0-9 or a-f) and `^^X' (character code of X in - the range 0-127) are recognized; other use of `^' causes an - error. - - * No macro expansion. - - * `hpf' checks for the expression `\patterns{...}' (possibly - with whitespace before and after the braces). Everything - between the braces is taken as hyphenation patterns. - Consequently, `{' and `}' are not allowed in patterns. - - * Similarly, `\hyphenation{...}' gives a list of hyphenation - exceptions. - - * `\endinput' is recognized also. - - * For backwards compatibility, if `\patterns' is missing, the - whole file is treated as a list of hyphenation patterns (only - recognizing the `%' character as the start of a comment). - - If no `hpf' request is specified (either in the document or in a - macro package), `gtroff' won't hyphenate at all. - - The `hpfa' request appends a file of patterns to the current list. - - The `hpfcode' request defines mapping values for character codes in - hyphenation patterns. `hpf' or `hpfa' then apply the mapping - (after reading the patterns) before replacing or appending them to - the current list of patterns. Its arguments are pairs of - character codes - integers from 0 to 255. The request maps - character code A to code B, code C to code D, and so on. You can - use character codes which would be invalid otherwise. - - The set of hyphenation patterns is associated with the current - language set by the `hla' request. The `hpf' request is usually - invoked by the `troffrc' or `troffrc-end' file; by default, - `troffrc' loads hyphenation patterns and exceptions for American - English (in files `hyphen.us' and `hyphenex.us'). - - A second call to `hpf' (for the same language) will replace the - hyphenation patterns with the new ones. - - Invoking `hpf' causes an error if there is no current hyphenation - language. - - - Request: .hcode c1 code1 c2 code2 ... - Set the hyphenation code of character C1 to CODE1, that of C2 to - CODE2, etc. A hyphenation code must be a single input character - (not a special character) other than a digit or a space. - Initially each lower-case letter (`a'-`z') has its hyphenation - code set to itself, and each upper-case letter (`A'-`Z') has a - hyphenation code which is the lower-case version of itself. - - This request is ignored if it has no parameter. - - - Request: .hym [length] - - Register: \n[.hym] - Set the (right) hyphenation margin to LENGTH. If the current - adjustment mode is not `b' or `n', the line is not hyphenated if - it is shorter than LENGTH. Without an argument, the hyphenation - margin is reset to its default value, which is 0. The default - scaling indicator for this request is `m'. The hyphenation margin - is associated with the current environment (*note Environments::). - - A negative argument resets the hyphenation margin to zero, emitting - a warning of type `range'. - - The current hyphenation margin is available in the `.hym' read-only - number register. - - - Request: .hys [hyphenation_space] - - Register: \n[.hys] - Set the hyphenation space to HYPHENATION_SPACE. If the current - adjustment mode is `b' or `n', don't hyphenate the line if it can - be justified by adding no more than HYPHENATION_SPACE extra space - to each word space. Without argument, the hyphenation space is - set to its default value, which is 0. The default scaling - indicator for this request is `m'. The hyphenation space is - associated with the current environment (*note Environments::). - - A negative argument resets the hyphenation space to zero, emitting - a warning of type `range'. - - The current hyphenation space is available in the `.hys' read-only - number register. - - - Request: .shc [glyph] - Set the "soft hyphen character" to GLYPH.(1) (*note Manipulating - Hyphenation-Footnote-1::) If the argument is omitted, the soft - hyphen character is set to the default glyph `\(hy' (this is the - start-up value of `gtroff' also). The soft hyphen character is - the glyph that is inserted when a word is hyphenated at a line - break. If the soft hyphen character does not exist in the font of - the character immediately preceding a potential break point, then - the line is not broken at that point. Neither definitions - (specified with the `char' request) nor translations (specified - with the `tr' request) are considered when finding the soft hyphen - character. - - - Request: .hla language - - Register: \n[.hla] - Set the current hyphenation language to the string LANGUAGE. - Hyphenation exceptions specified with the `hw' request and - hyphenation patterns specified with the `hpf' and `hpfa' requests - are both associated with the current hyphenation language. The - `hla' request is usually invoked by the `troffrc' or the - `troffrc-end' files; `troffrc' sets the default language to `us'. - - The current hyphenation language is available as a string in the - read-only number register `.hla'. - - - .ds curr_language \n[.hla] - \*[curr_language] - => us - - - -File: groff, Node: Manipulating Hyphenation-Footnotes, Up: Manipulating Hyphenation - - (1) "Soft hyphen character" is a misnomer since it is an output -glyph. - - -File: groff, Node: Manipulating Spacing, Next: Tabs and Fields, Prev: Manipulating Hyphenation, Up: gtroff Reference - -Manipulating Spacing -==================== - - - Request: .sp [distance] - Space downwards DISTANCE. With no argument it advances 1 line. A - negative argument causes `gtroff' to move up the page the - specified distance. If the argument is preceded by a `|' then - `gtroff' moves that distance from the top of the page. This - request causes a line break. The default scaling indicator is `v'. - - If a vertical trap is sprung during execution of `sp', the amount - of vertical space after the trap is discarded. For example, this - - - .de xxx - .. - . - .wh 0 xxx - . - .pl 5v - foo - .sp 2 - bar - .sp 50 - baz - - results in - - - foo - - - bar - - baz - - The amount of discarded space is available in the number register - `.trunc'. - - To protect `sp' against vertical traps, use the `vpt' request: - - - .vpt 0 - .sp -3 - .vpt 1 - - - - Request: .ls [nnn] - - Register: \n[.L] - Output NNN-1 blank lines after each line of text. With no - argument, `gtroff' uses the previous value before the last `ls' - call. - - - .ls 2 \" This causes double-spaced output - .ls 3 \" This causes triple-spaced output - .ls \" Again double-spaced - - The line spacing is associated with the current environment (*note - Environments::). - - The read-only number register `.L' contains the current line - spacing setting. - - *Note Changing Type Sizes::, for the requests `vs' and `pvs' as -alternatives to `ls'. - - - Escape: \x'spacing' - - Register: \n[.a] - Sometimes, extra vertical spacing is only needed occasionally, e.g. - to allow space for a tall construct (like an equation). The `\x' - escape does this. The escape is given a numerical argument, - usually enclosed in quotes (like `\x'3p''); the default scaling - indicator is `v'. If this number is positive extra vertical space - is inserted below the current line. A negative number adds space - above. If this escape is used multiple times on the same line, - the maximum of the values is used. - - *Note Escapes::, for details on parameter delimiting characters. - - The `.a' read-only number register contains the most recent - (nonnegative) extra vertical line space. - - Using `\x' can be necessary in combination with the `\b' escape, - as the following example shows. - - - This is a test with the \[rs]b escape. - .br - This is a test with the \[rs]b escape. - .br - This is a test with \b'xyz'\x'-1m'\x'1m'. - .br - This is a test with the \[rs]b escape. - .br - This is a test with the \[rs]b escape. - - produces - - - This is a test with the \b escape. - This is a test with the \b escape. - x - This is a test with y. - z - This is a test with the \b escape. - This is a test with the \b escape. - - - - Request: .ns - - Request: .rs - - Register: \n[.ns] - Enable "no-space mode". In this mode, spacing (either via `sp' or - via blank lines) is disabled. The `bp' request to advance to the - next page is also disabled, except if it is accompanied by a page - number (see *Note Page Control::, for more information). This - mode ends when actual text is output or the `rs' request is - encountered which ends no-space mode. The read-only number - register `.ns' is set to 1 as long as no-space mode is active. - - This request is useful for macros that conditionally insert - vertical space before the text starts (for example, a paragraph - macro could insert some space except when it is the first - paragraph after a section header). - - -File: groff, Node: Tabs and Fields, Next: Character Translations, Prev: Manipulating Spacing, Up: gtroff Reference - -Tabs and Fields -=============== - - A tab character (ASCII char 9, EBCDIC char 5) causes a horizontal -movement to the next tab stop (much like it did on a typewriter). - - - Escape: \t - This escape is a non-interpreted tab character. In copy mode - (*note Copy-in Mode::), `\t' is the same as a real tab character. - - - Request: .ta [n1 n2 ... nn T r1 r2 ... rn] - - Register: \n[.tabs] - Change tab stop positions. This request takes a series of tab - specifiers as arguments (optionally divided into two groups with - the letter `T') which indicate where each tab stop is to be - (overriding any previous settings). - - Tab stops can be specified absolutely, i.e., as the distance from - the left margin. For example, the following sets 6 tab stops every - one inch. - - - .ta 1i 2i 3i 4i 5i 6i - - Tab stops can also be specified using a leading `+' which means - that the specified tab stop is set relative to the previous tab - stop. For example, the following is equivalent to the previous - example. - - - .ta 1i +1i +1i +1i +1i +1i - - `gtroff' supports an extended syntax to specify repeat values after - the `T' mark (these values are always taken as relative) - this is - the usual way to specify tabs set at equal intervals. The - following is, yet again, the same as the previous examples. It - does even more since it defines an infinite number of tab stops - separated by one inch. - - - .ta T 1i - - Now we are ready to interpret the full syntax given at the - beginning: Set tabs at positions N1, N2, ..., NN and then set tabs - at NN+R1, NN+R2, ..., NN+RN and then at NN+RN+R1, NN+RN+R2, ..., - NN+RN+RN, and so on. - - Example: `4c +6c T 3c 5c 2c' is equivalent to `4c 10c 13c 18c 20c - 23c 28c 30c ...'. - - The material in each tab column (i.e., the column between two tab - stops) may be justified to the right or left or centered in the - column. This is specified by appending `R', `L', or `C' to the tab - specifier. The default justification is `L'. Example: - - - .ta 1i 2iC 3iR - - Some notes: - - * The default unit of the `ta' request is `m'. - - * A tab stop is converted into a non-breakable horizontal - movement which can be neither stretched nor squeezed. For - example, - - - .ds foo a\tb\tc - .ta T 5i - \*[foo] - - creates a single line which is a bit longer than 10 inches (a - string is used to show exactly where the tab characters are). - Now consider the following: - - - .ds bar a\tb b\tc - .ta T 5i - \*[bar] - - `gtroff' first converts the tab stops of the line into - unbreakable horizontal movements, then splits the line after - the second `b' (assuming a sufficiently short line length). - Usually, this isn't what the user wants. - - * Superfluous tabs (i.e., tab characters which do not - correspond to a tab stop) are ignored except the first one - which delimits the characters belonging to the last tab stop - for right-justifying or centering. Consider the following - example - - - .ds Z foo\tbar\tfoo - .ds ZZ foo\tbar\tfoobar - .ds ZZZ foo\tbar\tfoo\tbar - .ta 2i 4iR - \*[Z] - .br - \*[ZZ] - .br - \*[ZZZ] - .br - - which produces the following output: - - - foo bar foo - foo bar foobar - foo bar foobar - - The first line right-justifies the second `foo' relative to - the tab stop. The second line right-justifies `foobar'. The - third line finally right-justifies only `foo' because of the - additional tab character which marks the end of the string - belonging to the last defined tab stop. - - * Tab stops are associated with the current environment (*note - Environments::). - - * Calling `ta' without an argument removes all tab stops. - - * The start-up value of `gtroff' is `T 0.8i'. - - The read-only number register `.tabs' contains a string - representation of the current tab settings suitable for use as an - argument to the `ta' request. - - - .ds tab-string \n[.tabs] - \*[tab-string] - => T120u - - The `troff' version of the Plan 9 operating system uses register - `.S' for the same purpose. - - - Request: .tc [fill-glyph] - Normally `gtroff' fills the space to the next tab stop with - whitespace. This can be changed with the `tc' request. With no - argument `gtroff' reverts to using whitespace, which is the - default. The value of this "tab repetition character" is - associated with the current environment (*note Environments::).(1) - (*note Tabs and Fields-Footnote-1::) - - - Request: .linetabs n - - Register: \n[.linetabs] - If N is missing or not zero, enable "line-tabs" mode, or disable - it otherwise (the default). In line-tabs mode, `gtroff' computes - tab distances relative to the (current) output line instead of the - input line. - - For example, the following code: - - - .ds x a\t\c - .ds y b\t\c - .ds z c - .ta 1i 3i - \*x - \*y - \*z - - in normal mode, results in the output - - - a b c - - in line-tabs mode, the same code outputs - - - a b c - - Line-tabs mode is associated with the current environment. The - read-only register `.linetabs' is set to 1 if in line-tabs mode, - and 0 in normal mode. - -* Menu: - -* Leaders:: -* Fields:: - - -File: groff, Node: Tabs and Fields-Footnotes, Up: Tabs and Fields - - (1) "Tab repetition character" is a misnomer since it is an output -glyph. - - -File: groff, Node: Leaders, Next: Fields, Prev: Tabs and Fields, Up: Tabs and Fields - -Leaders -------- - - Sometimes it may may be desirable to use the `tc' request to fill a -particular tab stop with a given glyph (for example dots in a table of -contents), but also normal tab stops on the rest of the line. For this -`gtroff' provides an alternate tab mechanism, called "leaders" which -does just that. - - A leader character (character code 1) behaves similarly to a tab -character: It moves to the next tab stop. The only difference is that -for this movement, the fill glyph defaults to a period character and -not to space. - - - Escape: \a - This escape is a non-interpreted leader character. In copy mode - (*note Copy-in Mode::), `\a' is the same as a real leader - character. - - - Request: .lc [fill-glyph] - Declare the "leader repetition character".(1) (*note - Leaders-Footnote-1::) Without an argument, leaders act the same as - tabs (i.e., using whitespace for filling). `gtroff''s start-up - value is a dot (`.'). The value of the leader repetition - character is associated with the current environment (*note - Environments::). - - For a table of contents, to name an example, tab stops may be -defined so that the section number is one tab stop, the title is the -second with the remaining space being filled with a line of dots, and -then the page number slightly separated from the dots. - - - .ds entry 1.1\tFoo\a\t12 - .lc . - .ta 1i 5i +.25i - \*[entry] - -This produces - - - 1.1 Foo.......................................... 12 - - -File: groff, Node: Leaders-Footnotes, Up: Leaders - - (1) "Leader repetition character" is a misnomer since it is an -output glyph. - - -File: groff, Node: Fields, Prev: Leaders, Up: Tabs and Fields - -Fields ------- - - "Fields" are a more general way of laying out tabular data. A field -is defined as the data between a pair of "delimiting characters". It -contains substrings which are separated by "padding characters". The -width of a field is the distance on the _input_ line from the position -where the field starts to the next tab stop. A padding character -inserts stretchable space similar to TeX's `\hss' command (thus it can -even be negative) to make the sum of all substring lengths plus the -stretchable space equal to the field width. If more than one padding -character is inserted, the available space is evenly distributed among -them. - - - Request: .fc [delim-char [padding-char]] - Define a delimiting and a padding character for fields. If the - latter is missing, the padding character defaults to a space - character. If there is no argument at all, the field mechanism is - disabled (which is the default). Note that contrary to e.g. the - tab repetition character, delimiting and padding characters are - _not_ associated to the current environment (*note Environments::). - - Example: - - - .fc # ^ - .ta T 3i - #foo^bar^smurf# - .br - #foo^^bar^smurf# - - and here the result: - - - foo bar smurf - foo bar smurf - - - -File: groff, Node: Character Translations, Next: Troff and Nroff Mode, Prev: Tabs and Fields, Up: gtroff Reference - -Character Translations -====================== - - The control character (`.') and the no-break control character (`'') -can be changed with the `cc' and `c2' requests, respectively. - - - Request: .cc [c] - Set the control character to C. With no argument the default - control character `.' is restored. The value of the control - character is associated with the current environment (*note - Environments::). - - - Request: .c2 [c] - Set the no-break control character to C. With no argument the - default control character `'' is restored. The value of the - no-break control character is associated with the current - environment (*note Environments::). - - - Request: .eo - Disable the escape mechanism completely. After executing this - request, the backslash character `\' no longer starts an escape - sequence. - - This request can be very helpful in writing macros since it is not - necessary then to double the escape character. Here an example: - - - .\" This is a simplified version of the - .\" .BR request from the man macro package - .eo - .de BR - . ds result \& - . while (\n[.$] >= 2) \{\ - . as result \fB\$1\fR\$2 - . shift 2 - . \} - . if \n[.$] .as result \fB\$1 - \*[result] - . ft R - .. - .ec - - - - Request: .ec [c] - Set the escape character to C. With no argument the default - escape character `\' is restored. It can be also used to - re-enable the escape mechanism after an `eo' request. - - Note that changing the escape character globally will likely break - macro packages since `gtroff' has no mechanism to `intern' macros, - i.e., to convert a macro definition into an internal form which is - independent of its representation (TeX has this mechanism). If a - macro is called, it is executed literally. - - - Request: .ecs - - Request: .ecr - The `ecs' request saves the current escape character in an - internal register. Use this request in combination with the `ec' - request to temporarily change the escape character. - - The `ecr' request restores the escape character saved with `ecs'. - Without a previous call to `ecs', this request sets the escape - character to `\'. - - - Escape: \\ - - Escape: \e - - Escape: \E - Print the current escape character (which is the backslash - character `\' by default). - - `\\' is a `delayed' backslash; more precisely, it is the default - escape character followed by a backslash, which no longer has - special meaning due to the leading escape character. It is _not_ - an escape sequence in the usual sense! In any unknown escape - sequence `\X' the escape character is ignored and X is printed. - But if X is equal to the current escape character, no warning is - emitted. - - As a consequence, only at top-level or in a diversion a backslash - glyph is printed; in copy-in mode, it expands to a single - backslash which then combines with the following character to an - escape sequence. - - The `\E' escape differs from `\e' by printing an escape character - that is not interpreted in copy mode. Use this to define strings - with escapes that work when used in copy mode (for example, as a - macro argument). The following example defines strings to begin - and end a superscript: - - - .ds { \v'-.3m'\s'\En[.s]*60/100' - .ds } \s0\v'.3m' - - Another example to demonstrate the differences between the various - escape sequences, using a strange escape character, `-'. - - - .ec - - .de xxx - --A'123' - .. - .xxx - => -A'foo' - - The result is surprising for most users, expecting `1' since `foo' - is a valid identifier. What has happened? As mentioned above, - the leading escape character makes the following character - ordinary. Written with the default escape character the sequence - `--' becomes `\-' - this is the minus sign. - - If the escape character followed by itself is a valid escape - sequence, only `\E' yields the expected result: - - - .ec - - .de xxx - -EA'123' - .. - .xxx - => 1 - - - - Escape: \. - Similar to `\\', the sequence `\.' isn't a real escape sequence. - As before, a warning message is suppressed if the escape character - is followed by a dot, and the dot itself is printed. - - - .de foo - . nop foo - . - . de bar - . nop bar - \\.. - . - .. - .foo - .bar - => foo bar - - The first backslash is consumed while the macro is read, and the - second is swallowed while exexuting macro `foo'. - - A "translation" is a mapping of an input character to an output -glyph. The mapping occurs at output time, i.e., the input character -gets assigned the metric information of the mapped output character -right before input tokens are converted to nodes (*note Gtroff -Internals::, for more on this process). - - - Request: .tr abcd... - - Request: .trin abcd... - Translate character A to glyph B, character C to glyph D, etc. If - there is an odd number of arguments, the last one is translated to - an unstretchable space (`\ '). - - The `trin' request is identical to `tr', but when you unformat a - diversion with `asciify' it ignores the translation. *Note - Diversions::, for details about the `asciify' request. - - Some notes: - - * Special characters (`\(XX', `\[XXX]', `\C'XXX'', `\'', `\`', - `\-', `\_'), glyphs defined with the `char' request, and - numbered glyphs (`\N'XXX'') can be translated also. - - * The `\e' escape can be translated also. - - * Characters can be mapped onto the `\%' and `\~' escapes (but - `\%' and `\~' can't be mapped onto another glyph). - - * The following characters can't be translated: space (with one - exception, see below), backspace, newline, leader (and `\a'), - tab (and `\t'). - - * Translations are not considered for finding the soft hyphen - character set with the `shc' request. - - * The pair `C\&' (this is an arbitrary character C followed by - the zero width space character) maps this character to - nothing. - - - .tr a\& - foo bar - => foo br - - It is even possible to map the space character to nothing: - - - .tr aa \& - foo bar - => foobar - - As shown in the example, the space character can't be the - first character/glyph pair as an argument of `tr'. - Additionally, it is not possible to map the space character - to any other glyph; requests like `.tr aa x' undo `.tr aa \&' - instead. - - If justification is active, lines are justified in spite of - the `empty' space character (but there is no minimal - distance, i.e. the space character, between words). - - * After an output glyph has been constructed (this happens at - the moment immediately before the glyph is appended to an - output glyph list, either by direct output, in a macro, - diversion, or string), it is no longer affected by `tr'. - - * Translating character to glyphs where one of them or both are - undefined is possible also; `tr' does not check whether the - entities in its argument do exist. - - *Note Gtroff Internals::. - - * `troff' no longer has a hard-coded dependency on Latin-1; all - `charXXX' entities have been removed from the font - description files. This has a notable consequence which - shows up in warnings like `can't find character with input - code XXX' if the `tr' request isn't handled properly. - - Consider the following translation: - - - .tr e'E' - - This maps input character `e'' onto glyph `E'', which is - identical to glyph `char201'. But this glyph intentionally - doesn't exist! Instead, `\[char201]' is treated as an input - character entity and is by default mapped onto `\['E]', and - `gtroff' doesn't handle translations of translations. - - The right way to write the above translation is - - - .tr e'\['E] - - With other words, the first argument of `tr' should be an - input character or entity, and the second one a glyph entity. - - * Without an argument, the `tr' request is ignored. - - - Request: .trnt abcd... - `trnt' is the same as the `tr' request except that the - translations do not apply to text that is transparently throughput - into a diversion with `\!'. *Note Diversions::, for more - information. - - For example, - - - .tr ab - .di x - \!.tm a - .di - .x - - prints `b' to the standard error stream; if `trnt' is used instead - of `tr' it prints `a'. - - -File: groff, Node: Troff and Nroff Mode, Next: Line Layout, Prev: Character Translations, Up: gtroff Reference - -Troff and Nroff Mode -==================== - - Originally, `nroff' and `troff' were two separate programs, the -former for TTY output, the latter for everything else. With GNU -`troff', both programs are merged into one executable, sending its -output to a device driver (`grotty' for TTY devices, `grops' for -POSTSCRIPT, etc.) which interprets the intermediate output of `gtroff'. -For UNIX `troff' it makes sense to talk about "Nroff mode" and "Troff -mode" since the differences are hardcoded. For GNU `troff', this -distinction is not appropriate because `gtroff' simply takes the -information given in the font files for a particular device without -handling requests specially if a TTY output device is used. - - Usually, a macro package can be used with all output devices. -Nevertheless, it is sometimes necessary to make a distinction between -TTY and non-TTY devices: `gtroff' provides two built-in conditions `n' -and `t' for the `if', `ie', and `while' requests to decide whether -`gtroff' shall behave like `nroff' or like `troff'. - - - Request: .troff - Make the `t' built-in condition true (and the `n' built-in - condition false) for `if', `ie', and `while' conditional requests. - This is the default if `gtroff' (_not_ `groff') is started with - the `-R' switch to avoid loading of the start-up files `troffrc' - and `troffrc-end'. Without `-R', `gtroff' stays in troff mode if - the output device is not a TTY (e.g. `ps'). - - - Request: .nroff - Make the `n' built-in condition true (and the `t' built-in - condition false) for `if', `ie', and `while' conditional requests. - This is the default if `gtroff' uses a TTY output device; the - code for switching to nroff mode is in the file `tty.tmac' which - is loaded by the start-up file `troffrc'. - - *Note Conditionals and Loops::, for more details on built-in -conditions. - - -File: groff, Node: Line Layout, Next: Line Control, Prev: Troff and Nroff Mode, Up: gtroff Reference - -Line Layout -=========== - - The following drawing shows the dimensions which `gtroff' uses for -placing a line of output onto the page. They are labeled with the -request which manipulates each dimension. - - - -->| in |<-- - |<-----------ll------------>| - +----+----+----------------------+----+ - | : : : | - +----+----+----------------------+----+ - -->| po |<-- - |<--------paper width---------------->| - -These dimensions are: - -`po' - "Page offset" - this is the leftmost position of text on the final - output, defining the "left margin". - -`in' - "Indentation" - this is the distance from the left margin where - text is printed. - -`ll' - "Line length" - this is the distance from the left margin to right - margin. - - A simple demonstration: - - - .ll 3i - This is text without indentation. - The line length has been set to 3\~inch. - .in +.5i - .ll -.5i - Now the left and right margins are both increased. - .in - .ll - Calling .in and .ll without parameters restore - the previous values. - - Result: - - - This is text without indenta- - tion. The line length has - been set to 3 inch. - Now the left and - right margins are - both increased. - Calling .in and .ll without - parameters restore the previ- - ous values. - - - Request: .po [offset] - - Request: .po +offset - - Request: .po -offset - - Register: \n[.o] - Set horizontal page offset to OFFSET (or increment or decrement - the current value by OFFSET). Note that this request does not - cause a break, so changing the page offset in the middle of text - being filled may not yield the expected result. The initial value - is 1i. For TTY output devices, it is set to 0 in the startup file - `troffrc'; the default scaling indicator is `m' (and not `v' as - incorrectly documented in the original UNIX troff manual). - - The current page offset can be found in the read-only number - register `.o'. - - If `po' is called without an argument, the page offset is reset to - the previous value before the last call to `po'. - - - .po 3i - \n[.o] - => 720 - .po -1i - \n[.o] - => 480 - .po - \n[.o] - => 720 - - - - Request: .in [indent] - - Request: .in +indent - - Request: .in -indent - - Register: \n[.i] - Set indentation to INDENT (or increment or decrement the current - value by INDENT). This request causes a break. Initially, there - is no indentation. - - If `in' is called without an argument, the indentation is reset to - the previous value before the last call to `in'. The default - scaling indicator is `m'. - - The indentation is associated with the current environment (*note - Environments::). - - If a negative indentation value is specified (which is not - allowed), `gtroff' emits a warning of type `range' and sets the - indentation to zero. - - The effect of `in' is delayed until a partially collected line (if - it exists) is output. A temporary indent value is reset to zero - also. - - The current indentation (as set by `in') can be found in the - read-only number register `.i'. - - - Request: .ti offset - - Request: .ti +offset - - Request: .ti -offset - - Register: \n[.in] - Temporarily indent the next output line by OFFSET. If an - increment or decrement value is specified, adjust the temporary - indentation relative to the value set by the `in' request. - - This request causes a break; its value is associated with the - current environment (*note Environments::). The default scaling - indicator is `m'. A call of `ti' without an argument is ignored. - - If the total indentation value is negative (which is not allowed), - `gtroff' emits a warning of type `range' and sets the temporary - indentation to zero. `Total indentation' is either OFFSET if - specified as an absolute value, or the temporary plus normal - indentation, if OFFSET is given as a relative value. - - The effect of `ti' is delayed until a partially collected line (if - it exists) is output. - - The read-only number register `.in' is the indentation that applies - to the current output line. - - The difference between `.i' and `.in' is that the latter takes - into account whether a partially collected line still uses the old - indentation value or a temporary indentation value is active. - - - Request: .ll [length] - - Request: .ll +length - - Request: .ll -length - - Register: \n[.l] - - Register: \n[.ll] - Set the line length to LENGTH (or increment or decrement the - current value by LENGTH). Initially, the line length is set to - 6.5i. The effect of `ll' is delayed until a partially collected - line (if it exists) is output. The default scaling indicator is - `m'. - - If `ll' is called without an argument, the line length is reset to - the previous value before the last call to `ll'. If a negative - line length is specified (which is not allowed), `gtroff' emits a - warning of type `range' and sets the line length to zero. - - The line length is associated with the current environment (*note - Environments::). - - The current line length (as set by `ll') can be found in the - read-only number register `.l'. The read-only number register - `.ll' is the line length that applies to the current output line. - - Similar to `.i' and `.in', the difference between `.l' and `.ll' - is that the latter takes into account whether a partially - collected line still uses the old line length value. - diff -ruN groff-1.19/doc/groff-5 groff-1.19.1/doc/groff-5 --- groff-1.19/doc/groff-5 Tue Apr 29 15:37:37 2003 +++ groff-1.19.1/doc/groff-5 Thu Jan 1 01:00:00 1970 @@ -1,1327 +0,0 @@ -This is groff, produced by makeinfo version 4.3d from ./groff.texinfo. - -This manual documents GNU `troff' version 1.19. - - Copyright (C) 1994-2000, 2001, 2002, 2003 Free Software Foundation, -Inc. - - Permission is granted to copy, distribute and/or modify this - document under the terms of the GNU Free Documentation License, - Version 1.1 or any later version published by the Free Software - Foundation; with no Invariant Sections, with the Front-Cover texts - being `A GNU Manual," and with the Back-Cover Texts as in (a) - below. A copy of the license is included in the section entitled - `GNU Free Documentation License." - - (a) The FSF's Back-Cover Text is: `You have freedom to copy and - modify this GNU Manual, like GNU software. Copies published by - the Free Software Foundation raise funds for GNU development." - -INFO-DIR-SECTION Typesetting -START-INFO-DIR-ENTRY -* Groff: (groff). The GNU troff document formatting system. -END-INFO-DIR-ENTRY - - -File: groff, Node: Line Control, Next: Page Layout, Prev: Line Layout, Up: gtroff Reference - -Line Control -============ - - It is important to understand how `gtroff' handles input and output -lines. - - Many escapes use positioning relative to the input line. For -example, this - - - This is a \h'|1.2i'test. - - This is a - \h'|1.2i'test. - -produces - - - This is a test. - - This is a test. - - The main usage of this feature is to define macros which act exactly -at the place where called. - - - .\" A simple macro to underline a word - .de underline - . nop \\$1\l'|0\[ul]' - .. - -In the above example, `|0' specifies a negative distance from the -current position (at the end of the just emitted argument `\$1') back -to the beginning of the input line. Thus, the `\l' escape draws a line -from right to left. - - `gtroff' makes a difference between input and output line -continuation; the latter is also called "interrupting" a line. - - - Escape: \ - - Escape: \c - - Register: \n[.int] - Continue a line. `\' (this is a backslash at the end of a - line immediately followed by a newline) works on the input level, - suppressing the effects of the following newline in the input. - - - This is a \ - .test - => This is a .test - - The `|' operator is also affected. - - `\c' works on the output level. Anything after this escape on the - same line is ignored, except `\R' which works as usual. Anything - before `\c' on the same line will be appended to the current - partial output line. The next non-command line after an - interrupted line counts as a new input line. - - The visual results depend on whether no-fill mode is active. - - * If no-fill mode is active (using the `nf' request), the next - input text line after `\c' will be handled as a continuation - of the same input text line. - - - .nf - This is a \c - test. - => This is a test. - - * If fill mode is active (using the `fi' request), a word - interrupted with `\c' will be continued with the text on the - next input text line, without an intervening space. - - - This is a te\c - st. - => This is a test. - - - Note that an intervening control line which causes a break is - stronger than `\c', flushing out the current partial line in the - usual way. - - The `.int' register contains a positive value if the last output - line was interrupted with `\c'; this is associated with the - current environment (*note Environments::). - - - -File: groff, Node: Page Layout, Next: Page Control, Prev: Line Control, Up: gtroff Reference - -Page Layout -=========== - - `gtroff' provides some very primitive operations for controlling -page layout. - - - Request: .pl [length] - - Request: .pl +length - - Request: .pl -length - - Register: \n[.p] - Set the "page length" to LENGTH (or increment or decrement the - current value by LENGTH). This is the length of the physical - output page. The default scaling indicator is `v'. - - The current setting can be found in the read-only number register - `.p'. - - Note that this only specifies the size of the page, not the top and - bottom margins. Those are not set by `gtroff' directly. *Note - Traps::, for further information on how to do this. - - Negative `pl' values are possible also, but not very useful: No - trap is sprung, and each line is output on a single page (thus - suppressing all vertical spacing). - - If no argument or an invalid argument is given, `pl' sets the page - length to 11i. - - `gtroff' provides several operations which help in setting up top -and bottom titles (or headers and footers). - - - Request: .tl 'left'center'right' - Print a "title line". It consists of three parts: a left - justified portion, a centered portion, and a right justified - portion. The argument separator `'' can be replaced with any - character not occurring in the title line. The `%' character is - replaced with the current page number. This character can be - changed with the `pc' request (see below). - - Without argument, `tl' is ignored. - - Some notes: - - * A title line is not restricted to the top or bottom of a page. - - * `tl' prints the title line immediately, ignoring a partially - filled line (which stays untouched). - - * It is not an error to omit closing delimiters. For example, - `.tl /foo' is equivalent to `.tl /foo///': It prints a title - line with the left justified word `foo'; the centered and - right justfied parts are empty. - - * `tl' accepts the same parameter delimiting characters as the - `\A' escape; see *Note Escapes::. - - - Request: .lt [length] - - Request: .lt +length - - Request: .lt -length - - Register: \n[.lt] - The title line is printed using its own line length, which is - specified (or incremented or decremented) with the `lt' request. - Initially, the title line length is set to 6.5i. If a negative - line length is specified (which is not allowed), `gtroff' emits a - warning of type `range' and sets the title line length to zero. - The default scaling indicator is `m'. If `lt' is called without - an argument, the title length is reset to the previous value - before the last call to `lt'. - - The current setting of this is available in the `.lt' read-only - number register; it is associated with the current environment - (*note Environments::). - - - - Request: .pn page - - Request: .pn +page - - Request: .pn -page - - Register: \n[.pn] - Change (increase or decrease) the page number of the _next_ page. - The only argument is the page number; the request is ignored - without a parameter. - - The read-only number register `.pn' contains the number of the next - page: either the value set by a `pn' request, or the number of the - current page plus 1. - - - Register: \n[%] - A read-write register holding the current page number. - - - Request: .pc [char] - Change the page number character (used by the `tl' request) to a - different character. With no argument, this mechanism is disabled. - Note that this doesn't affect the number register `%'. - - *Note Traps::. - - -File: groff, Node: Page Control, Next: Fonts and Symbols, Prev: Page Layout, Up: gtroff Reference - -Page Control -============ - - - Request: .bp [page] - - Request: .bp +page - - Request: .bp -page - Stop processing the current page and move to the next page. This - request causes a break. It can also take an argument to set - (increase, decrease) the page number of the next page. The only - difference between `bp' and `pn' is that `pn' does not cause a - break or actually eject a page. - - - .de newpage \" define macro - 'bp \" begin page - 'sp .5i \" vertical space - .tl 'left top'center top'right top' \" title - 'sp .3i \" vertical space - .. \" end macro - - `bp' has no effect if not called within the top-level diversion - (*note Diversions::). - - The number register `.pe' is set to 1 while `bp' is active. *Note - Page Location Traps::. - - - Request: .ne [space] - It is often necessary to force a certain amount of space before a - new page occurs. This is most useful to make sure that there is - not a single "orphan" line left at the bottom of a page. The `ne' - request ensures that there is a certain distance, specified by the - first argument, before the next page is triggered (see *Note - Traps::, for further information). The default scaling indicator - for `ne' is `v'; the default value of SPACE is 1v if no argument - is given. - - For example, to make sure that no fewer than 2 lines get orphaned, - do the following before each paragraph: - - - .ne 2 - text text text - - `ne' will then automatically cause a page break if there is space - for one line only. - - - Request: .sv [space] - - Request: .os - `sv' is similar to the `ne' request; it reserves the specified - amount of vertical space. If the desired amount of space exists - before the next trap (or the bottom page boundary if no trap is - set), the space is output immediately (ignoring a partially filled - line which stays untouched). If there is not enough space, it is - stored for later output via the `os' request. The default value - is 1v if no argument is given; the default scaling indicator is - `v'. - - Both `sv' and `os' ignore no-space mode. While the `sv' request - allows negative values for SPACE, `os' will ignore them. - - - Register: \n[nl] - This register contains the current vertical position. If the - vertical position is zero and the top of page transition hasn't - happened yet, `nl' is set to negative value. `gtroff' itself does - this at the very beginning of a document before anything has been - printed, but the main usage is to plant a header trap on a page if - this page has already started. - - Consider the following: - - - .de xxx - . sp - . tl ''Header'' - . sp - .. - . - First page. - .bp - .wh 0 xxx - .nr nl (-1) - Second page. - - Result: - - - First page. - - ... - - Header - - Second page. - - ... - - Without resetting `nl' to a negative value, the just planted trap - would be active beginning with the _next_ page, not the current - one. - - *Note Diversions::, for a comparison with the `.h' and `.d' - registers. - - -File: groff, Node: Fonts and Symbols, Next: Sizes, Prev: Page Control, Up: gtroff Reference - -Fonts and Symbols -================= - - `gtroff' can switch fonts at any point in the text. - - The basic set of fonts is `R', `I', `B', and `BI'. These are Times -Roman, Italic, Bold, and Bold Italic. For non-TTY devices, there is -also at least one symbol font which contains various special symbols -(Greek, mathematics). - -* Menu: - -* Changing Fonts:: -* Font Families:: -* Font Positions:: -* Using Symbols:: -* Special Fonts:: -* Artificial Fonts:: -* Ligatures and Kerning:: - - -File: groff, Node: Changing Fonts, Next: Font Families, Prev: Fonts and Symbols, Up: Fonts and Symbols - -Changing Fonts --------------- - - - Request: .ft [font] - - Escape: \ff - - Escape: \f(fn - - Escape: \f[font] - The `ft' request and the `\f' escape change the current font to - FONT (one-character name F, two-character name FN). - - If FONT is a style name (as set with the `sty' request or with the - `styles' command in the `DESC' file), use it within the current - font family (as set with the `fam' request, `\F' escape, or with - the `family' command in the `DESC' file). - - With no argument or using `P' as an argument, `.ft' switches to - the previous font. Use `\f[]' to do this with the escape. The - old syntax forms `\fP' or `\f[P]' are also supported. - - Fonts are generally specified as upper-case strings, which are - usually 1 to 4 characters representing an abbreviation or acronym - of the font name. This is no limitation, just a convention. - - The example below produces two identical lines. - - - eggs, bacon, - .ft B - spam - .ft - and sausage. - - eggs, bacon, \fBspam\fP and sausage. - - Note that `\f' doesn't produce an input token in `gtroff'. As a - consequence, it can be used in requests like `mc' (which expects a - single character as an argument) to change the font on the fly: - - - .mc \f[I]x\f[] - - *Note Font Positions::, for an alternative syntax. - - - Request: .ftr f [g] - Translate font F to font G. Whenever a font named F is referred - to in a `\f' escape sequence, or in the `ft', `ul', `bd', `cs', - `tkf', `special', `fspecial', `fp', or `sty' requests, font G is - used. If G is missing or equal to F the translation is undone. - - -File: groff, Node: Font Families, Next: Font Positions, Prev: Changing Fonts, Up: Fonts and Symbols - -Font Families -------------- - - Due to the variety of fonts available, `gtroff' has added the -concept of "font families" and "font styles". The fonts are specified -as the concatenation of the font family and style. Specifying a font -without the family part causes `gtroff' to use that style of the -current family. - - Currently, fonts for the devices `-Tps', `-Tdvi', and `-Tlbp' are -set up to this mechanism. By default, `gtroff' uses the Times family -with the four styles `R', `I', `B', and `BI'. - - This way, it is possible to use the basic four fonts and to select a -different font family on the command line (*note Groff Options::). - - - Request: .fam [family] - - Register: \n[.fam] - - Escape: \Ff - - Escape: \F(fm - - Escape: \F[family] - - Register: \n[.fn] - Switch font family to FAMILY (one-character name F, two-character - name FM). If no argument is given, switch back to the previous - font family. Use `\F[]' to do this with the escape. Note that - `\FP' doesn't work; it selects font family `P' instead. - - The value at start-up is `T'. The current font family is - available in the read-only number register `.fam' (this is a - string-valued register); it is associated with the current - environment. - - - spam, - .fam H \" helvetica family - spam, \" used font is family H + style R = HR - .ft B \" family H + style B = font HB - spam, - .fam T \" times family - spam, \" used font is family T + style B = TB - .ft AR \" font AR (not a style) - baked beans, - .ft R \" family T + style R = font TR - and spam. - - Note that `\F' doesn't produce an input token in `gtroff'. As a - consequence, it can be used in requests like `mc' (which expects a - single character as an argument) to change the font family on the - fly: - - - .mc \F[P]x\F[] - - The `.fn' register contains the current "real font name" of the - current font. This is a string-valued register. If the current - font is a style, the value of `\n[.fn]' is the proper - concatenation of family and style name. - - - Request: .sty n style - Associate STYLE with font position N. A font position can be - associated either with a font or with a style. The current font - is the index of a font position and so is also either a font or a - style. If it is a style, the font that is actually used is the - font which name is the concatenation of the name of the current - family and the name of the current style. For example, if the - current font is 1 and font position 1 is associated with style `R' - and the current font family is `T', then font `TR' will be used. - If the current font is not a style, then the current family is - ignored. If the requests `cs', `bd', `tkf', `uf', or `fspecial' - are applied to a style, they will instead be applied to the member - of the current family corresponding to that style. - - N must be a non-negative integer value. - - The default family can be set with the `-f' option (*note Groff - Options::). The `styles' command in the `DESC' file controls - which font positions (if any) are initially associated with styles - rather than fonts. For example, the default setting for - POSTSCRIPT fonts - - - styles R I B BI - - is equivalent to - - - .sty 1 R - .sty 2 I - .sty 3 B - .sty 4 BI - - `fam' and `\F' always check whether the current font position is - valid; this can give surprising results if the current font - position is associated with a style. - - In the following example, we want to access the POSTSCRIPT font - `FooBar' from the font family `Foo': - - - .sty \n[.fp] Bar - .fam Foo - => warning: can't find font `FooR' - - The default font position at start-up is 1; for the POSTSCRIPT - device, this is associated with style `R', so `gtroff' tries to - open `FooR'. - - A solution to this problem is to use a dummy font like the - following: - - - .fp 0 dummy TR \" set up dummy font at position 0 - .sty \n[.fp] Bar \" register style `Bar' - .ft 0 \" switch to font at position 0 - .fam Foo \" activate family `Foo' - .ft Bar \" switch to font `FooBar' - - *Note Font Positions::. - - -File: groff, Node: Font Positions, Next: Using Symbols, Prev: Font Families, Up: Fonts and Symbols - -Font Positions --------------- - - For the sake of old phototypesetters and compatibility with old -versions of `troff', `gtroff' has the concept of font "positions", on -which various fonts are mounted. - - - Request: .fp pos font [external-name] - - Register: \n[.f] - - Register: \n[.fp] - Mount font FONT at position POS (which must be a non-negative - integer). This numeric position can then be referred to with font - changing commands. When `gtroff' starts it is using font - position 1 (which must exist; position 0 is unused usually at - start-up). - - The current font in use, as a font position, is available in the - read-only number register `.f'. This can be useful to remember the - current font for later recall. It is associated with the current - environment (*note Environments::). - - - .nr save-font \n[.f] - .ft B - ... text text text ... - .ft \n[save-font] - - The number of the next free font position is available in the - read-only number register `.fp'. This is useful when mounting a - new font, like so: - - - .fp \n[.fp] NEATOFONT - - Fonts not listed in the `DESC' file are automatically mounted on - the next available font position when they are referenced. If a - font is to be mounted explicitly with the `fp' request on an unused - font position, it should be mounted on the first unused font - position, which can be found in the `.fp' register. Although - `gtroff' does not enforce this strictly, it is not allowed to - mount a font at a position whose number is much greater (approx. - 1000 positions) than that of any currently used position. - - The `fp' request has an optional third argument. This argument - gives the external name of the font, which is used for finding the - font description file. The second argument gives the internal - name of the font which is used to refer to the font in `gtroff' - after it has been mounted. If there is no third argument then the - internal name is used as the external name. This feature makes it - possible to use fonts with long names in compatibility mode. - - Both the `ft' request and the `\f' escape have alternative syntax -forms to access font positions. - - - Request: .ft nnn - - Escape: \fn - - Escape: \f(nn - - Escape: \f[nnn] - Change the current font position to NNN (one-digit position N, - two-digit position NN), which must be a non-negative integer. - - If NNN is associated with a style (as set with the `sty' request - or with the `styles' command in the `DESC' file), use it within - the current font family (as set with the `fam' request, the `\F' - escape, or with the `family' command in the `DESC' file). - - - this is font 1 - .ft 2 - this is font 2 - .ft \" switch back to font 1 - .ft 3 - this is font 3 - .ft - this is font 1 again - - *Note Changing Fonts::, for the standard syntax form. - - -File: groff, Node: Using Symbols, Next: Special Fonts, Prev: Font Positions, Up: Fonts and Symbols - -Using Symbols -------------- - - A "glyph" is a graphical representation of a "character". While a -character is an abstract entity containing semantic information, a -glyph is something which can be actually seen on screen or paper. It -is possible that a character has multiple glyph representation forms -(for example, the character `A' can be either written in a roman or an -italic font, yielding two different glyphs); sometimes more than one -character maps to a single glyph (this is a "ligature" - the most -common is `fi'). - - A "symbol" is simply a named glyph. Within `gtroff', all glyph -names of a particular font are defined in its font file. If the user -requests a glyph not available in this font, `gtroff' looks up an -ordered list of "special fonts". By default, the POSTSCRIPT output -device supports the two special fonts `SS' (slanted symbols) and `S' -(symbols) (the former is looked up before the latter). Other output -devices use different names for special fonts. Fonts mounted with the -`fonts' keyword in the `DESC' file are globally available. To install -additional special fonts locally (i.e. for a particular font), use the -`fspecial' request. - - Here the exact rules how `gtroff' searches a given symbol: - - * If the symbol has been defined with the `char' request, use it. - This hides a symbol with the same name in the current font. - - * Check the current font. - - * If the symbol has been defined with the `fchar' request, use it. - - * Check whether the current font has a font-specific list of special - fonts; test all fonts in the order of appearance in the last - `fspecial' call if appropriate. - - * If the symbol has been defined with the `fschar' request for the - current font, use it. - - * Check all fonts in the order of appearance in the last `special' - call. - - * If the symbol has been defined with the `schar' request, use it. - - * As a last resort, consult all fonts loaded up to now for special - fonts and check them, starting with the lowest font number. Note - that this can sometimes lead to surprising results since the - `fonts' line in the `DESC' file often contains empty positions - which are filled later on. For example, consider the following: - - - fonts 3 0 0 FOO - - This mounts font `foo' at font position 3. We assume that `FOO' - is a special font, containing glyph `foo', and that no font has - been loaded yet. The line - - - .fspecial BAR BAZ - - makes font `BAZ' special only if font `BAR' is active. We further - assume that `BAZ' is really a special font, i.e., the font - description file contains the `special' keyword, and that it also - contains glyph `foo' with a special shape fitting to font `BAR'. - After executing `fspecial', font `BAR' is loaded at font - position 1, and `BAZ' at position 2. - - We now switch to a new font `XXX', trying to access glyph `foo' - which is assumed to be missing. There are neither font-specific - special fonts for `XXX' nor any other fonts made special with the - `special' request, so `gtroff' starts the search for special fonts - in the list of already mounted fonts, with increasing font - positions. Consequently, it finds `BAZ' before `FOO' even for - `XXX' which is not the intended behaviour. - - *Note Font Files::, and *Note Special Fonts::, for more details. - - The list of available symbols is device dependent; see the -`groff_char(7)' man page for a complete list of all glyphs. For -example, say - - - man -Tdvi groff_char > groff_char.dvi - -for a list using the default DVI fonts (not all versions of the `man' -program support the `-T' option). If you want to use an additional -macro package to change the used fonts, `groff' must be called directly: - - - groff -Tdvi -mec -man groff_char.7 > groff_char.dvi - - Glyph names not listed in groff_char(7) are derived algorithmically, -using a simplified version of the Adobe Glyph List (AGL) algorithm -described in -`http://partners.adobe.com/asn/developer/typeforum/unicodegn.html'. -The (frozen) set of glyph names which can't be derived algorithmically -is called "groff glyph list (GGL)". - - * A glyph for Unicode character U+XXXX[X[X]] which is not a - composite character will be named `uXXXX[X[X]]'. X must be an - uppercase hexadecimal digit. Examples: `u1234', `u008E', - `u12DB8'. The largest Unicode value is 0x10FFFF. There must be at - least four `X' digits; if necessary, add leading zeroes (after the - `u'). No zero padding is allowed for character codes greater than - 0xFFFF. Surrogates (i.e., Unicode values greater than 0xFFFF - represented with character codes from the surrogate area - U+D800-U+DFFF) are not allowed too. - - * A glyph representing more than a single input character will be - named - - `u' COMPONENT1 `_' COMPONENT2 `_' COMPONENT3 ... - - Example: `u0045_0302_0301'. - - For simplicity, all Unicode characters which are composites must be - decomposed maximally (this is normalization form D in the Unicode - standard); for example, `u00CA_0301' is not a valid glyph name - since U+00CA (LATIN CAPITAL LETTER E WITH CIRCUMFLEX) can be - further decomposed into U+0045 (LATIN CAPITAL LETTER E) and U+0302 - (COMBINING CIRCUMFLEX ACCENT). `u0045_0302_0301' is thus the - glyph name for U+1EBE, LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND - ACUTE. - - * groff maintains a table to decompose all algorithmically derived - glyph names which are composites itself. For example, `u0100' - (LATIN LETTER A WITH MACRON) will be automatically decomposed into - `u0041_0304'. Additionally, a glyph name of the GGL is preferred - to an algorithmically derived glyph name; groff also automatically - does the mapping. Example: The glyph `u0045_0302' will be mapped - to `^E'. - - * glyph names of the GGL can't be used in composite glyph names; for - example, `^E_u0301' is invalid. - - - Escape: \(nm - - Escape: \[name] - - Escape: \[component1 component2 ...] - Insert a symbol NAME (two-character name NM) or a composite glyph - with component glyphs COMPONENT1, COMPONENT2, .... There is no - special syntax for one-character names - the natural form `\N' - would collide with escapes.(1) (*note Using Symbols-Footnote-1::) - - If NAME is undefined, a warning of type `char' is generated, and - the escape is ignored. *Note Debugging::, for information about - warnings. - - groff resolves `\[...]' with more than a single component as - follows: - - * Any component which is found in the GGL will be converted to - the `uXXXX' form. - - * Any component `uXXXX' which is found in the list of - decomposable glyphs will be decomposed. - - * The resulting elements are then concatenated with `_' - inbetween, dropping the leading `u' in all elements but the - first. - - No check for the existence of any component (similar to `tr' - request) will be done. - - Examples: - - `\[A ho]' - `A' maps to `u0041', `ho' maps to `u02DB', thus the final - glyph name would be `u0041_02DB'. Note this is not the - expected result: The ogonek glyph `ho' is a spacing ogonek, - but for a proper composite a non-spacing ogonek (U+0328) is - necessary. Looking into the file `composite.tmac' one can - find `.composite ho u0328' which changes the mapping of `ho' - while a composite glyph name is constructed, causing the - final glyph name to be `u0041_0328'. - - `\[^E u0301]' - `\[^E aa]' - `\[E a^ aa]' - `\[E ^ ']' - `^E' maps to `u0045_0302', thus the final glyph name is - `u0045_0302_0301' in all forms (assuming proper calls of the - `composite' request). - - It is not possible to define glyphs with names like `A ho' within - a groff font file. This is not really a limitation; instead, you - have to define `u0041_0328'. - - - Escape: \C'xxx' - Typeset the glyph named XXX.(2) (*note Using Symbols-Footnote-2::) - Normally it is more convenient to use `\[XXX]', but `\C' has the - advantage that it is compatible with newer versions of AT&T - `troff' and is available in compatibility mode. - - - Request: .composite from to - Map glyph name FROM to glyph name TO if it is used in `\[...]' - with more than one component. See above for examples. - - This mapping is based on glyph names only; no check for the - existence of either glyph is done. - - A set of default mappings for many accents can be found in the file - `composite.tmac' which is loaded at start-up. - - - Escape: \N'n' - Typeset the glyph with code N in the current font (`n' is *not* - the input character code). The number N can be any non-negative - decimal integer. Most devices only have glyphs with codes between - 0 and 255; the Unicode output device uses codes in the range - 0-65535. If the current font does not contain a glyph with that - code, special fonts are _not_ searched. The `\N' escape sequence - can be conveniently used in conjunction with the `char' request: - - - .char \[phone] \f[ZD]\N'37' - - The code of each glyph is given in the fourth column in the font - description file after the `charset' command. It is possible to - include unnamed glyphs in the font description file by using a - name of `---'; the `\N' escape sequence is the only way to use - these. - - No kerning is applied to glyphs accessed with `\N'. - - Some escape sequences directly map onto special glyphs. - - - Escape: \' - This is a backslash followed by the apostrophe character, ASCII - character `0x27' (EBCDIC character `0x7D'). The same as `\[aa]', - the acute accent. - - - Escape: \` - This is a backslash followed by ASCII character `0x60' (EBCDIC - character `0x79' usually). The same as `\[ga]', the grave accent. - - - Escape: \- - This is the same as `\[-]', the minus sign in the current font. - - - Request: .cflags n c1 c2 ... - Input characters and symbols have certain properties associated - with it.(3) (*note Using Symbols-Footnote-3::) These properties - can be modified with the `cflags' request. The first argument is - the sum of the desired flags and the remaining arguments are the - characters or symbols to have those properties. It is possible to - omit the spaces between the characters or symbols. - - `1' - The character ends sentences (initially characters `.?!' have - this property). - - `2' - Lines can be broken before the character (initially no - characters have this property). - - `4' - Lines can be broken after the character (initially the - character `-' and the symbols `\[hy]' and `\[em]' have this - property). - - `8' - The character overlaps horizontally (initially the symbols - `\[ul]', `\[rn]', `\[ru]', `\[radicalex', and `\[sqrtex]' - have this property). - - `16' - The character overlaps vertically (initially symbol `\[br]' - has this property). - - `32' - An end-of-sentence character followed by any number of - characters with this property is treated as the end of a - sentence if followed by a newline or two spaces; in other - words the character is "transparent" for the purposes of - end-of-sentence recognition - this is the same as having a - zero space factor in TeX (initially characters `"')]*' and - the symbols `\[dg]' and `\[rq]' have this property). - - - Request: .char g [string] - - Request: .fchar g [string] - - Request: .fschar f g [string] - - Request: .schar g [string] - Define a new glyph G to be STRING (which can be empty).(4) (*note - Using Symbols-Footnote-4::) Every time glyph G needs to be - printed, STRING is processed in a temporary environment and the - result is wrapped up into a single object. Compatibility mode is - turned off and the escape character is set to `\' while STRING is - being processed. Any emboldening, constant spacing or track - kerning is applied to this object rather than to individual - characters in STRING. - - A glyph defined by these requests can be used just like a normal - glyph provided by the output device. In particular, other - characters can be translated to it with the `tr' or `trin' - requests; it can be made the leader character by the `lc' request; - repeated patterns can be drawn with the glyph using the `\l' and - `\L' escape sequences; words containing the glyph can be - hyphenated correctly if the `hcode' request is used to give the - glyph's symbol a hyphenation code. - - There is a special anti-recursion feature: Use of `g' within the - glyph's definition is handled like normal characters and symbols - not defined with `char'. - - Note that the `tr' and `trin' requests take precedence if `char' - accesses the same symbol. - - - .tr XY - X - => Y - .char X Z - X - => Y - .tr XX - X - => Z - - The `fchar' request defines a fallback glyph: `gtroff' only checks - for glyphs defined with `fchar' if it cannot find the glyph in the - current font. `gtroff' carries out this test before checking - special fonts. - - `fschar' defines a fallback glyph for font F: `gtroff' checks for - glyphs defined with `fschar' after the list of fonts declared as - font-specific special fonts with the `fspecial' request, but - before the list of fonts declared as global special fonts with the - `special' request. - - Finally, the `schar' request defines a global fallback glyph: - `gtroff' checks for glyphs defined with `schar' after the list of - fonts declared as global special fonts with the `special' request, - but before the already mounted special fonts. - - *Note Using Symbols::, for a detailed description of the glyph - searching mechanism in `gtroff'. - - - Request: .rchar c1 c2 ... - - Request: .rfschar f c1 c2 ... - Remove the definitions of glyphs C1, C2, .... This undoes the - effect of a `char', `fchar', or `schar' request. - - It is possible to omit the whitespace between arguments. - - The request `rfschar' removes glyph definitions defined with - `fschar' for glyph f. - - *Note Special Characters::. - - -File: groff, Node: Using Symbols-Footnotes, Up: Using Symbols - - (1) Note that a one-character symbol is not the same as an input -character, i.e., the character `a' is not the same as `\[a]'. By -default, `groff' defines only a single one-character symbol, `\[-]'; it -is usually accessed as `\-'. On the other hand, `gtroff' has the -special feature that `\[charXXX]' is the same as the input character -with character code XXX. For example, `\[char97]' is identical to the -letter `a' if ASCII encoding is active. - - (2) `\C' is actually a misnomer since it accesses an output glyph. - - (3) Note that the output glyphs themselves don't have such -properties. For `gtroff', a glyph is a numbered box with a given -width, depth, and height, nothing else. All manipulations with the -`cflags' request work on the input level. - - (4) `char' is a misnomer since an output glyph is defined. - - -File: groff, Node: Special Fonts, Next: Artificial Fonts, Prev: Using Symbols, Up: Fonts and Symbols - -Special Fonts -------------- - - Special fonts are those that `gtroff' searches when it cannot find -the requested glyph in the current font. The Symbol font is usually a -special font. - - `gtroff' provides the following two requests to add more special -fonts. *Note Using Symbols::, for a detailed description of the glyph -searching mechanism in `gtroff'. - - Usually, only non-TTY devices have special fonts. - - - Request: .special [s1 s2 ...] - - Request: .fspecial f [s1 s2 ...] - Use the `special' request to define special fonts. Initially, this - list is empty. - - Use the `fspecial' request to designate special fonts only when - font F is active. Initially, this list is empty. - - Previous calls to `special' or `fspecial' are overwritten; without - arguments, the particular list of special fonts is set to empty. - Special fonts are searched in the order they appear as arguments. - - All fonts which appear in a call to `special' or `fspecial' are - loaded. - - *Note Using Symbols::, for the exact search order of glyphs. - - -File: groff, Node: Artificial Fonts, Next: Ligatures and Kerning, Prev: Special Fonts, Up: Fonts and Symbols - -Artificial Fonts ----------------- - - There are a number of requests and escapes for artificially creating -fonts. These are largely vestiges of the days when output devices did -not have a wide variety of fonts, and when `nroff' and `troff' were -separate programs. Most of them are no longer necessary in GNU -`troff'. Nevertheless, they are supported. - - - Escape: \H'height' - - Escape: \H'+height' - - Escape: \H'-height' - - Register: \n[.height] - Change (increment, decrement) the height of the current font, but - not the width. If HEIGHT is zero, restore the original height. - Default scaling indicator is `z'. - - The read-only number register `.height' contains the font height as - set by `\H'. - - Currently, only the `-Tps' device supports this feature. - - Note that `\H' doesn't produce an input token in `gtroff'. As a - consequence, it can be used in requests like `mc' (which expects a - single character as an argument) to change the font on the fly: - - - .mc \H'+5z'x\H'0' - - In compatibility mode, `gtroff' behaves differently: If an - increment or decrement is used, it is always taken relative to the - current point size and not relative to the previously selected font - height. Thus, - - - .cp 1 - \H'+5'test \H'+5'test - - prints the word `test' twice with the same font height (five - points larger than the current font size). - - - Escape: \S'slant' - - Register: \n[.slant] - Slant the current font by SLANT degrees. Positive values slant to - the right. Only integer values are possible. - - The read-only number register `.slant' contains the font slant as - set by `\S'. - - Currently, only the `-Tps' device supports this feature. - - Note that `\S' doesn't produce an input token in `gtroff'. As a - consequence, it can be used in requests like `mc' (which expects a - single character as an argument) to change the font on the fly: - - - .mc \S'20'x\S'0' - - This request is incorrectly documented in the original UNIX troff - manual; the slant is always set to an absolute value. - - - Request: .ul [lines] - The `ul' request normally underlines subsequent lines if a TTY - output device is used. Otherwise, the lines are printed in italics - (only the term `underlined' is used in the following). The single - argument is the number of input lines to be underlined; with no - argument, the next line is underlined. If LINES is zero or - negative, stop the effects of `ul' (if it was active). Requests - and empty lines do not count for computing the number of underlined - input lines, even if they produce some output like `tl'. Lines - inserted by macros (e.g. invoked by a trap) do count. - - At the beginning of `ul', the current font is stored and the - underline font is activated. Within the span of a `ul' request, - it is possible to change fonts, but after the last line affected by - `ul' the saved font is restored. - - This number of lines still to be underlined is associated with the - current environment (*note Environments::). The underline font - can be changed with the `uf' request. - - The `ul' request does not underline spaces. - - - Request: .cu [lines] - The `cu' request is similar to `ul' but underlines spaces as well - (if a TTY output device is used). - - - Request: .uf font - Set the underline font (globally) used by `ul' and `cu'. By - default, this is the font at position 2. FONT can be either a - non-negative font position or the name of a font. - - - Request: .bd font [offset] - - Request: .bd font1 font2 [offset] - - Register: \n[.b] - Artificially create a bold font by printing each glyph twice, - slightly offset. - - Two syntax forms are available. - - * Imitate a bold font unconditionally. The first argument - specifies the font to embolden, and the second is the number - of basic units, minus one, by which the two glyphs are - offset. If the second argument is missing, emboldening is - turned off. - - FONT can be either a non-negative font position or the name - of a font. - - OFFSET is available in the `.b' read-only register if a - special font is active; in the `bd' request, its default unit - is `u'. - - * Imitate a bold form conditionally. Embolden FONT1 by OFFSET - only if font FONT2 is the current font. This command can be - issued repeatedly to set up different emboldening values for - different current fonts. If the second argument is missing, - emboldening is turned off for this particular current font. - - This affects special fonts only (either set up with the - `special' command in font files or with the `fspecial' - request). - - - Request: .cs font [width [em-size]] - Switch to and from "constant glyph space mode". If activated, the - width of every glyph is WIDTH/36 ems. The em size is given - absolutely by EM-SIZE; if this argument is missing, the em value - is taken from the current font size (as set with the `ps' request) - when the font is effectively in use. Without second and third - argument, constant glyph space mode is deactivated. - - Default scaling indicator for EM-SIZE is `z'; WIDTH is an integer. - - -File: groff, Node: Ligatures and Kerning, Prev: Artificial Fonts, Up: Fonts and Symbols - -Ligatures and Kerning ---------------------- - - Ligatures are groups of characters that are run together, i.e, -producing a single glyph. For example, the letters `f' and `i' can -form a ligature `fi' as in the word `file'. This produces a cleaner -look (albeit subtle) to the printed output. Usually, ligatures are not -available in fonts for TTY output devices. - - Most POSTSCRIPT fonts support the fi and fl ligatures. The C/A/T -typesetter that was the target of AT&T `troff' also supported `ff', -`ffi', and `ffl' ligatures. Advanced typesetters or `expert' fonts may -include ligatures for `ft' and `ct', although GNU `troff' does not -support these (yet). - - Only the current font is checked for ligatures and kerns; neither -special fonts nor entities defined with the `char' request (and its -siblings) are taken into account. - - - Request: .lg [flag] - - Register: \n[.lg] - Switch the ligature mechanism on or off; if the parameter is - non-zero or missing, ligatures are enabled, otherwise disabled. - Default is on. The current ligature mode can be found in the - read-only number register `.lg' (set to 1 or 2 if ligatures are - enabled, 0 otherwise). - - Setting the ligature mode to 2 enables the two-character ligatures - (fi, fl, and ff) and disables the three-character ligatures (ffi - and ffl). - - "Pairwise kerning" is another subtle typesetting mechanism that -modifies the distance between a glyph pair to improve readability. In -most cases (but not always) the distance is decreased. Typewriter-like -fonts and fonts for terminals where all glyphs have the same width -don't use kerning. - - - Request: .kern [flag] - - Register: \n[.kern] - Switch kerning on or off. If the parameter is non-zero or missing, - enable pairwise kerning, otherwise disable it. The read-only - number register `.kern' is set to 1 if pairwise kerning is enabled, - 0 otherwise. - - If the font description file contains pairwise kerning information, - glyphs from that font are kerned. Kerning between two glyphs can - be inhibited by placing `\&' between them: `V\&A'. - - *Note Font File Format::. - - "Track kerning" expands or reduces the space between glyphs. This -can be handy, for example, if you need to squeeze a long word onto a -single line or spread some text to fill a narrow column. It must be -used with great care since it is usually considered bad typography if -the reader notices the effect. - - - Request: .tkf f s1 n1 s2 n2 - Enable track kerning for font F. If the current font is F the - width of every glyph is increased by an amount between N1 and N2 - (N1, N2 can be negative); if the current point size is less than - or equal to S1 the width is increased by N1; if it is greater than - or equal to S2 the width is increased by N2; if the point size is - greater than or equal to S1 and less than or equal to S2 the - increase in width is a linear function of the point size. - - The default scaling indicator is `z' for S1 and S2, `p' for N1 and - N2. - - Note that the track kerning amount is added even to the rightmost - glyph in a line; for large values it is thus recommended to - increase the line length by the same amount to compensate it. - - Sometimes, when typesetting letters of different fonts, more or less -space at such boundaries are needed. There are two escapes to help -with this. - - - Escape: \/ - Increase the width of the preceding glyph so that the spacing - between that glyph and the following glyph is correct if the - following glyph is a roman glyph. For example, if an italic `f' - is immediately followed by a roman right parenthesis, then in many - fonts the top right portion of the `f' overlaps the top left of - the right parenthesis. Use this escape sequence whenever an - italic glyph is immediately followed by a roman glyph without any - intervening space. This small amount of space is also called - "italic correction". - - - - Escape: \, - Modify the spacing of the following glyph so that the spacing - between that glyph and the preceding glyph is correct if the - preceding glyph is a roman glyph. Use this escape sequence - whenever a roman glyph is immediately followed by an italic glyph - without any intervening space. In analogy to above, this space - could be called "left italic correction", but this term isn't used - widely. - - - - Escape: \& - Insert a zero-width character, which is invisible. Its intended - use is to stop interaction of a character with its surrounding. - - * It prevents the insertion of extra space after an - end-of-sentence character. - - - Test. - Test. - => Test. Test. - Test.\& - Test. - => Test. Test. - - * It prevents interpretation of a control character at the - beginning of an input line. - - - .Test - => warning: `Test' not defined - \&.Test - => .Test - - * It prevents kerning between two glyphs. - - * It is needed to map an arbitrary character to nothing in the - `tr' request (*note Character Translations::). - - - Escape: \) - This escape is similar to `\&' except that it behaves like a - character declared with the `cflags' request to be transparent for - the purposes of an end-of-sentence character. - - Its main usage is in macro definitions to protect against arguments - starting with a control character. - - - .de xxx - \)\\$1 - .. - .de yyy - \&\\$1 - .. - This is a test.\c - .xxx ' - This is a test. - =>This is a test.' This is a test. - This is a test.\c - .yyy ' - This is a test. - =>This is a test.' This is a test. - - - -File: groff, Node: Sizes, Next: Strings, Prev: Fonts and Symbols, Up: gtroff Reference - -Sizes -===== - - `gtroff' uses two dimensions with each line of text, type size and -vertical spacing. The "type size" is approximately the height of the -tallest glyph.(1) (*note Sizes-Footnote-1::) "Vertical spacing" is the -amount of space `gtroff' allows for a line of text; normally, this is -about 20% larger than the current type size. Ratios smaller than this -can result in hard-to-read text; larger than this, it spreads the text -out more vertically (useful for term papers). By default, `gtroff' -uses 10 point type on 12 point spacing. - - The difference between type size and vertical spacing is known, by -typesetters, as "leading" (this is pronounced `ledding'). - -* Menu: - -* Changing Type Sizes:: -* Fractional Type Sizes:: - - -File: groff, Node: Sizes-Footnotes, Up: Sizes - - (1) This is usually the parenthesis. Note that in most cases the -real dimensions of the glyphs in a font are _not_ related to its type -size! For example, the standard POSTSCRIPT font families `Times -Roman', `Helvetica', and `Courier' can't be used together at 10pt; to -get acceptable output, the size of `Helvetica' has to be reduced by one -point, and the size of `Courier' must be increased by one point. - diff -ruN groff-1.19/doc/groff-6 groff-1.19.1/doc/groff-6 --- groff-1.19/doc/groff-6 Tue Apr 29 15:37:37 2003 +++ groff-1.19.1/doc/groff-6 Thu Jan 1 01:00:00 1970 @@ -1,1462 +0,0 @@ -This is groff, produced by makeinfo version 4.3d from ./groff.texinfo. - -This manual documents GNU `troff' version 1.19. - - Copyright (C) 1994-2000, 2001, 2002, 2003 Free Software Foundation, -Inc. - - Permission is granted to copy, distribute and/or modify this - document under the terms of the GNU Free Documentation License, - Version 1.1 or any later version published by the Free Software - Foundation; with no Invariant Sections, with the Front-Cover texts - being `A GNU Manual," and with the Back-Cover Texts as in (a) - below. A copy of the license is included in the section entitled - `GNU Free Documentation License." - - (a) The FSF's Back-Cover Text is: `You have freedom to copy and - modify this GNU Manual, like GNU software. Copies published by - the Free Software Foundation raise funds for GNU development." - -INFO-DIR-SECTION Typesetting -START-INFO-DIR-ENTRY -* Groff: (groff). The GNU troff document formatting system. -END-INFO-DIR-ENTRY - - -File: groff, Node: Changing Type Sizes, Next: Fractional Type Sizes, Prev: Sizes, Up: Sizes - -Changing Type Sizes -------------------- - - - Request: .ps [size] - - Request: .ps +size - - Request: .ps -size - - Escape: \ssize - - Register: \n[.s] - Use the `ps' request or the `\s' escape to change (increase, - decrease) the type size (in points). Specify SIZE as either an - absolute point size, or as a relative change from the current size. - The size 0, or no argument, goes back to the previous size. - - Default scaling indicator of `size' is `z'. If `size' is zero or - negative, it is set to 1u. - - The read-only number register `.s' returns the point size in - points as a decimal fraction. This is a string. To get the point - size in scaled points, use the `.ps' register instead. - - `.s' is associated with the current environment (*note - Environments::). - - - snap, snap, - .ps +2 - grin, grin, - .ps +2 - wink, wink, \s+2nudge, nudge,\s+8 say no more! - .ps 10 - - The `\s' escape may be called in a variety of ways. Much like - other escapes there must be a way to determine where the argument - ends and the text begins. Any of the following forms are valid: - - `\sN' - Set the point size to N points. N must be either 0 or in the - range 4 to 39. - - `\s+N' - `\s-N' - Increase or decrease the point size by N points. N must be - exactly one digit. - - `\s(NN' - Set the point size to NN points. NN must be exactly two - digits. - - `\s+(NN' - `\s-(NN' - `\s(+NN' - `\s(-NN' - Increase or decrease the point size by NN points. NN must be - exactly two digits. - - Note that `\s' doesn't produce an input token in `gtroff'. As a - consequence, it can be used in requests like `mc' (which expects a - single character as an argument) to change the font on the fly: - - - .mc \s[20]x\s[0] - - *Note Fractional Type Sizes::, for yet another syntactical form of - using the `\s' escape. - - - Request: .sizes s1 s2 ... sn [0] - Some devices may only have certain permissible sizes, in which case - `gtroff' rounds to the nearest permissible size. The `DESC' file - specifies which sizes are permissible for the device. - - Use the `sizes' request to change the permissible sizes for the - current output device. Arguments are in scaled points; the - `sizescale' line in the `DESC' file for the output device provides - the scaling factor. For example, if the scaling factor is 1000, - then the value 12000 is 12 points. - - Each argument can be a single point size (such as `12000'), or a - range of sizes (such as `4000-72000'). You can optionally end the - list with a zero. - - - Request: .vs [space] - - Request: .vs +space - - Request: .vs -space - - Register: \n[.v] - Change (increase, decrease) the vertical spacing by SPACE. The - default scaling indicator is `p'. - - If `vs' is called without an argument, the vertical spacing is - reset to the previous value before the last call to `vs'. - - `gtroff' creates a warning of type `range' if SPACE is negative; - the vertical spacing is then set to the vertical resolution (as - given in the `.V' register). - - The read-only number register `.v' contains the current vertical - spacing; it is associated with the current environment (*note - Environments::). - - The effective vertical line spacing consists of four components. - - * The vertical line spacing as set with the `vs' request. - - * The "post-vertical line spacing" as set with the `pvs' request. - This is vertical space which will be added after a line has been - output. - - * The "extra pre-vertical line space" as set with the `\x' request, - using a negative value. This is vertical space which will be - added once before the current line has been output. - - * The "extra post-vertical line space" as set with the `\x' request, - using a positive value. This is vertical space which will be - added once after the current line has been output. - - It is usually better to use `vs' or `pvs' instead of `ls' to produce -double-spaced documents: `vs' and `pvs' have a finer granularity for -the inserted vertical space compared to `ls'; furthermore, certain -preprocessors assume single-spacing. - - *Note Manipulating Spacing::, for more details on the `\x' escape -and the `ls' request. - - - Request: .pvs [space] - - Request: .pvs +space - - Request: .pvs -space - - Register: \n[.pvs] - Change (increase, decrease) the post-vertical spacing by SPACE. - The default scaling indicator is `p'. - - If `pvs' is called without an argument, the post-vertical spacing - is reset to the previous value before the last call to `pvs'. - - `gtroff' creates a warning of type `range' if SPACE is zero or - negative; the vertical spacing is then set to zero. - - The read-only number register `.pvs' contains the current - post-vertical spacing; it is associated with the current - environment (*note Environments::). - - -File: groff, Node: Fractional Type Sizes, Prev: Changing Type Sizes, Up: Sizes - -Fractional Type Sizes ---------------------- - - A "scaled point" is equal to 1/SIZESCALE points, where SIZESCALE is -specified in the `DESC' file (1 by default). There is a new scale -indicator `z' which has the effect of multiplying by SIZESCALE. -Requests and escape sequences in `gtroff' interpret arguments that -represent a point size as being in units of scaled points, but they -evaluate each such argument using a default scale indicator of `z'. -Arguments treated in this way are the argument to the `ps' request, the -third argument to the `cs' request, the second and fourth arguments to -the `tkf' request, the argument to the `\H' escape sequence, and those -variants of the `\s' escape sequence that take a numeric expression as -their argument (see below). - - For example, suppose SIZESCALE is 1000; then a scaled point is -equivalent to a millipoint; the request `.ps 10.25' is equivalent to -`.ps 10.25z' and thus sets the point size to 10250 scaled points, which -is equal to 10.25 points. - - `gtroff' disallows the use of the `z' scale indicator in instances -where it would make no sense, such as a numeric expression whose -default scale indicator was neither `u' nor `z'. Similarly it would -make no sense to use a scaling indicator other than `z' or `u' in a -numeric expression whose default scale indicator was `z', and so -`gtroff' disallows this as well. - - There is also new scale indicator `s' which multiplies by the number -of units in a scaled point. So, for example, `\n[.ps]s' is equal to -`1m'. Be sure not to confuse the `s' and `z' scale indicators. - - - Register: \n[.ps] - A read-only number register returning the point size in scaled - points. - - `.ps' is associated with the current environment (*note - Environments::). - - - Register: \n[.psr] - - Register: \n[.sr] - The last-requested point size in scaled points is contained in the - `.psr' read-only number register. The last requested point size - in points as a decimal fraction can be found in `.sr'. This is a - string-valued read-only number register. - - Note that the requested point sizes are device-independent, whereas - the values returned by the `.ps' and `.s' registers are not. For - example, if a point size of 11pt is requested, and a `sizes' - request (or a `sizescale' line in a `DESC' file) specifies 10.95pt - instead, this value is actually used. - - Both registers are associated with the current environment (*note - Environments::). - - The `\s' escape has the following syntax for working with fractional -type sizes: - -`\s[N]' -`\s'N'' - Set the point size to N scaled points; N is a numeric expression - with a default scale indicator of `z'. - -`\s[+N]' -`\s[-N]' -`\s+[N]' -`\s-[N]' -`\s'+N'' -`\s'-N'' -`\s+'N'' -`\s-'N'' - Increase or or decrease the point size by N scaled points; N is a - numeric expression with a default scale indicator of `z'. - - *Note Font Files::. - - -File: groff, Node: Strings, Next: Conditionals and Loops, Prev: Sizes, Up: gtroff Reference - -Strings -======= - - `gtroff' has string variables, which are entirely for user -convenience (i.e. there are no built-in strings exept `.T', but even -this is a read-write string variable). - - - Request: .ds name [string] - - Request: .ds1 name [string] - - Escape: \*n - - Escape: \*(nm - - Escape: \*[name arg1 arg2 ...] - Define and access a string variable NAME (one-character name N, - two-character name NM). If NAME already exists, `ds' overwrites - the previous definition. Only the syntax form using brackets can - take arguments which are handled identically to macro arguments; - the single exception is that a closing bracket as an argument must - be enclosed in double quotes. *Note Request and Macro - Arguments::, and *Note Parameters::. - - Example: - - - .ds foo a \\$1 test - . - This is \*[foo nice]. - => This is a nice test. - - The `\*' escape "interpolates" (expands in-place) a - previously-defined string variable. To be more precise, the stored - string is pushed onto the input stack which is then parsed by - `gtroff'. Similar to number registers, it is possible to nest - strings, i.e. string variables can be called within string - variables. - - If the string named by the `\*' escape does not exist, it is - defined as empty, and a warning of type `mac' is emitted (see - *Note Debugging::, for more details). - - *Caution:* Unlike other requests, the second argument to the `ds' - request takes up the entire line including trailing spaces. This - means that comments on a line with such a request can introduce - unwanted space into a string. - - - .ds UX \s-1UNIX\s0\u\s-3tm\s0\d \" UNIX trademark - - Instead the comment should be put on another line or have the - comment escape adjacent with the end of the string. - - - .ds UX \s-1UNIX\s0\u\s-3tm\s0\d\" UNIX trademark - - To produce leading space the string can be started with a double - quote. No trailing quote is needed; in fact, any trailing quote is - included in your string. - - - .ds sign " Yours in a white wine sauce, - - Strings are not limited to a single line of text. A string can - span several lines by escaping the newlines with a backslash. The - resulting string is stored _without_ the newlines. - - - .ds foo lots and lots \ - of text are on these \ - next several lines - - It is not possible to have real newlines in a string. To put a - single double quote character into a string, use two consecutive - double quote characters. - - The `ds1' request turns off compatibility mode while interpreting - a string. To be more precise, a "compatibility save" input token - is inserted at the beginning of the string, and a "compatibility - restore" input token at the end. - - - .nr xxx 12345 - .ds aa The value of xxx is \\n[xxx]. - .ds1 bb The value of xxx ix \\n[xxx]. - . - .cp 1 - . - \*(aa - => warning: number register `[' not defined - => The value of xxx is 0xxx]. - \*(bb - => The value of xxx ix 12345. - - Strings, macros, and diversions (and boxes) share the same name - space. Internally, even the same mechanism is used to store them. - This has some interesting consequences. For example, it is - possible to call a macro with string syntax and vice versa. - - - .de xxx - a funny test. - .. - This is \*[xxx] - => This is a funny test. - - .ds yyy a funny test - This is - .yyy - => This is a funny test. - - Diversions and boxes can be also called with string syntax. - - Another consequence is that you can copy one-line diversions or - boxes to a string. - - - .di xxx - a \fItest\fR - .br - .di - .ds yyy This is \*[xxx]\c - \*[yyy]. - => This is a test. - - As the previous example shows, it is possible to store formatted - output in strings. The `\c' escape prevents the insertion of an - additional blank line in the output. - - Copying diversions longer than a single output line produces - unexpected results. - - - .di xxx - a funny - .br - test - .br - .di - .ds yyy This is \*[xxx]\c - \*[yyy]. - => test This is a funny. - - Usually, it is not predictable whether a diversion contains one or - more output lines, so this mechanism should be avoided. With UNIX - `troff', this was the only solution to strip off a final newline - from a diversion. Another disadvantage is that the spaces in the - copied string are already formatted, making them unstretchable. - This can cause ugly results. - - A clean solution to this problem is available in GNU `troff', - using the requests `chop' to remove the final newline of a - diversion, and `unformat' to make the horizontal spaces - stretchable again. - - - .box xxx - a funny - .br - test - .br - .box - .chop xxx - .unformat xxx - This is \*[xxx]. - => This is a funny test. - - *Note Gtroff Internals::, for more information. - - - Request: .as name [string] - - Request: .as1 name [string] - The `as' request is similar to `ds' but appends STRING to the - string stored as NAME instead of redefining it. If NAME doesn't - exist yet, it is created. - - - .as sign " with shallots, onions and garlic, - - The `as1' request is similar to `as', but compatibility mode is - switched off while the appended string is interpreted. To be more - precise, a "compatibility save" input token is inserted at the - beginning of the appended string, and a "compatibility restore" - input token at the end. - - Rudimentary string manipulation routines are given with the next two -requests. - - - Request: .substring str n1 [n2] - Replace the string named STR with the substring defined by the - indices N1 and N2. The first character in the string has index 0. - If N2 is omitted, it is taken to be equal to the string's length. - If the index value N1 or N2 is negative, it is counted from the - end of the string, going backwards: The last character has - index -1, the character before the last character has index -2, - etc. - - - .ds xxx abcdefgh - .substring xxx 1 -4 - \*[xxx] - => bcde - - - - Request: .length reg str - Compute the number of characters of STR and return it in the - number register REG. If REG doesn't exist, it is created. `str' - is read in copy mode. - - - .ds xxx abcd\h'3i'efgh - .length yyy \*[xxx] - \n[yyy] - => 14 - - - - Request: .rn xx yy - Rename the request, macro, diversion, or string XX to YY. - - - Request: .rm xx - Remove the request, macro, diversion, or string XX. `gtroff' - treats subsequent invocations as if the object had never been - defined. - - - Request: .als new old - Create an alias named NEW for the request, string, macro, or - diversion object named OLD. The new name and the old name are - exactly equivalent (it is similar to a hard rather than a soft - link). If OLD is undefined, `gtroff' generates a warning of type - `mac' and ignores the request. - - - Request: .chop xx - Remove (chop) the last character from the macro, string, or - diversion named XX. This is useful for removing the newline from - the end of diversions that are to be interpolated as strings. - This command can be used repeatedly; see *Note Gtroff Internals::, - for details on nodes inserted additionally by `gtroff'. - - *Note Identifiers::, and *Note Comments::. - - -File: groff, Node: Conditionals and Loops, Next: Writing Macros, Prev: Strings, Up: gtroff Reference - -Conditionals and Loops -====================== - -* Menu: - -* Operators in Conditionals:: -* if-else:: -* while:: - - -File: groff, Node: Operators in Conditionals, Next: if-else, Prev: Conditionals and Loops, Up: Conditionals and Loops - -Operators in Conditionals -------------------------- - - In `if' and `while' requests, there are several more operators -available: - -`e' -`o' - True if the current page is even or odd numbered (respectively). - -`n' - True if the document is being processed in nroff mode (i.e., the - `.nroff' command has been issued). - -`t' - True if the document is being processed in troff mode (i.e., the - `.troff' command has been issued). - -`v' - Always false. This condition is for compatibility with other - `troff' versions only. - -`'XXX'YYY'' - True if the string XXX is equal to the string YYY. Other - characters can be used in place of the single quotes; the same set - of delimiters as for the `\D' escape is used (*note Escapes::). - `gtroff' formats the strings before being compared: - - - .ie "|"\fR|\fP" \ - true - .el \ - false - => true - - The resulting motions, glyph sizes, and fonts have to match,(1) - (*note Operators in Conditionals-Footnote-1::) and not the - individual motion, size, and font requests. In the previous - example, `|' and `\fR|\fP' both result in a roman `|' glyph with - the same point size and at the same location on the page, so the - strings are equal. If `.ft I' had been added before the `.ie', - the result would be "false" because (the first) `|' produces an - italic `|' rather than a roman one. - -`r XXX' - True if there is a number register named XXX. - -`d XXX' - True if there is a string, macro, diversion, or request named XXX. - -`m XXX' - True if there is a color named XXX. - -`c G' - True if there is a glyph G available(2) (*note Operators in - Conditionals-Footnote-2::); G is either an ASCII character or a - special character (`\(GG' or `\[GGG]'); the condition is also true - if G has been defined by the `char' request. - - Note that these operators can't be combined with other operators like -`:' or `&'; only a leading `!' (without whitespace between the -exclamation mark and the operator) can be used to negate the result. - - - .nr xxx 1 - .ie !r xxx \ - true - .el \ - false - => false - - A whitespace after `!' always evaluates to zero (this bizarre -behaviour is due to compatibility with UNIX `troff'). - - - .nr xxx 1 - .ie ! r xxx \ - true - .el \ - false - => r xxx true - - It is possible to omit the whitespace before the argument to the -`r', `d', and `c' operators. - - *Note Expressions::. - - -File: groff, Node: Operators in Conditionals-Footnotes, Up: Operators in Conditionals - - (1) The created output nodes must be identical. *Note Gtroff -Internals::. - - (2) The name of this conditional operator is a misnomer since it -tests names of output glyphs. - - -File: groff, Node: if-else, Next: while, Prev: Operators in Conditionals, Up: Conditionals and Loops - -if-else -------- - - `gtroff' has if-then-else constructs like other languages, although -the formatting can be painful. - - - Request: .if expr anything - Evaluate the expression EXPR, and executes ANYTHING (the remainder - of the line) if EXPR evaluates to non-zero (true). ANYTHING is - interpreted as though it was on a line by itself (except that - leading spaces are swallowed). *Note Expressions::, for more info. - - - .nr xxx 1 - .nr yyy 2 - .if ((\n[xxx] == 1) & (\n[yyy] == 2)) true - => true - - - - Request: .nop anything - Executes ANYTHING. This is similar to `.if 1'. - - - Request: .ie expr anything - - Request: .el anything - Use the `ie' and `el' requests to write an if-then-else. The - first request is the `if' part and the latter is the `else' part. - - - .ie n .ls 2 \" double-spacing in nroff - .el .ls 1 \" single-spacing in troff - - - - Escape: \{ - - Escape: \} - In many cases, an if (or if-else) construct needs to execute more - than one request. This can be done using the `\{' and `\}' - escapes. The following example shows the possible ways to use - these escapes (note the position of the opening and closing - braces). - - - .ie t \{\ - . ds lq `` - . ds rq '' - .\} - .el \ - .\{\ - . ds lq " - . ds rq "\} - - - *Note Expressions::. - - -File: groff, Node: while, Prev: if-else, Up: Conditionals and Loops - -while ------ - - `gtroff' provides a looping construct using the `while' request, -which is used much like the `if' (and related) requests. - - - Request: .while expr anything - Evaluate the expression EXPR, and repeatedly execute ANYTHING (the - remainder of the line) until EXPR evaluates to 0. - - - .nr a 0 1 - .while (\na < 9) \{\ - \n+a, - .\} - \n+a - => 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 - - Some remarks. - - * The body of a `while' request is treated like the body of a - `de' request: `gtroff' temporarily stores it in a macro which - is deleted after the loop has been exited. It can - considerably slow down a macro if the body of the `while' - request (within the macro) is large. Each time the macro is - executed, the `while' body is parsed and stored again as a - temporary macro. - - - .de xxx - . nr num 10 - . while (\\n[num] > 0) \{\ - . \" many lines of code - . nr num -1 - . \} - .. - - The traditional and ofter better solution (UNIX `troff' - doesn't have the `while' request) is to use a recursive macro - instead which is parsed only once during its definition. - - - .de yyy - . if (\\n[num] > 0) \{\ - . \" many lines of code - . nr num -1 - . yyy - . \} - .. - . - .de xxx - . nr num 10 - . yyy - .. - - Note that the number of available recursion levels is set - to 1000 (this is a compile-time constant value of `gtroff'). - - * The closing brace of a `while' body must end a line. - - - .if 1 \{\ - . nr a 0 1 - . while (\n[a] < 10) \{\ - . nop \n+[a] - .\}\} - => unbalanced \{ \} - - - - Request: .break - Break out of a `while' loop. Be sure not to confuse this with the - `br' request (causing a line break). - - - Request: .continue - Finish the current iteration of a `while' loop, immediately - restarting the next iteration. - - *Note Expressions::. - - -File: groff, Node: Writing Macros, Next: Page Motions, Prev: Conditionals and Loops, Up: gtroff Reference - -Writing Macros -============== - - A "macro" is a collection of text and embedded commands which can be -invoked multiple times. Use macros to define common operations. - - - Request: .de name [end] - - Request: .de1 name [end] - - Request: .dei name [end] - Define a new macro named NAME. `gtroff' copies subsequent lines - (starting with the next one) into an internal buffer until it - encounters the line `..' (two dots). The optional second argument - to `de' changes this to a macro to `.END'. - - There can be whitespace after the first dot in the line containing - the ending token (either `.' or macro `END'). - - Here a small example macro called `P' which causes a break and - inserts some vertical space. It could be used to separate - paragraphs. - - - .de P - . br - . sp .8v - .. - - The following example defines a macro within another. Remember - that expansion must be protected twice; once for reading the macro - and once for executing. - - - \# a dummy macro to avoid a warning - .de end - .. - . - .de foo - . de bar end - . nop \f[B]Hallo \\\\$1!\f[] - . end - .. - . - .foo - .bar Joe - => Hallo Joe! - - Since `\f' has no expansion, it isn't necessary to protect its - backslash. Had we defined another macro within `bar' which takes - a parameter, eight backslashes would be necessary before `$1'. - - The `de1' request turns off compatibility mode while executing the - macro. On entry, the current compatibility mode is saved and - restored at exit. - - - .nr xxx 12345 - . - .de aa - The value of xxx is \\n[xxx]. - .. - .de1 bb - The value of xxx ix \\n[xxx]. - .. - . - .cp 1 - . - .aa - => warning: number register ' not defined - => The value of xxx is 0xxx]. - .bb - => The value of xxx ix 12345. - - The `dei' request defines a macro indirectly. That is, it expands - strings whose names are NAME or END before performing the append. - - This: - - - .ds xx aa - .ds yy bb - .dei xx yy - - is equivalent to: - - - .de aa bb - - Using `trace.tmac', you can trace calls to `de' and `de1'. - - Note that macro identifiers are shared with identifiers for - strings and diversions. - - - Request: .am name [end] - - Request: .am1 name [end] - - Request: .ami name [end] - Works similarly to `de' except it appends onto the macro named - NAME. So, to make the previously defined `P' macro actually do - indented instead of block paragraphs, add the necessary code to the - existing macro like this: - - - .am P - .ti +5n - .. - - The `am1' request turns off compatibility mode while executing the - appended macro piece. To be more precise, a "compatibility save" - input token is inserted at the beginning of the appended code, and - a "compatibility restore" input token at the end. - - The `ami' request appends indirectly, meaning that `gtroff' - expands strings whose names are NAME or END before performing the - append. - - Using `trace.tmac', you can trace calls to `am' and `am1'. - - *Note Strings::, for the `als' request to rename a macro. - - The `de', `am', `di', `da', `ds', and `as' requests (together with -its variants) only create a new object if the name of the macro, -diversion or string diversion is currently undefined or if it is -defined to be a request; normally they modify the value of an existing -object. - - - Request: .return - Exit a macro, immediately returning to the caller. - -* Menu: - -* Copy-in Mode:: -* Parameters:: - - -File: groff, Node: Copy-in Mode, Next: Parameters, Prev: Writing Macros, Up: Writing Macros - -Copy-in Mode ------------- - - When `gtroff' reads in the text for a macro, string, or diversion, -it copies the text (including request lines, but excluding escapes) into -an internal buffer. Escapes are converted into an internal form, -except for `\n', `\$', `\*', `\\' and `\' which are evaluated and -inserted into the text where the escape was located. This is known as -"copy-in" mode or "copy" mode. - - What this means is that you can specify when these escapes are to be -evaluated (either at copy-in time or at the time of use) by insulating -the escapes with an extra backslash. Compare this to the `\def' and -`\edef' commands in TeX. - - The following example prints the numbers 20 and 10: - - - .nr x 20 - .de y - .nr x 10 - \&\nx - \&\\nx - .. - .y - - -File: groff, Node: Parameters, Prev: Copy-in Mode, Up: Writing Macros - -Parameters ----------- - - The arguments to a macro or string can be examined using a variety of -escapes. - - - Register: \n[.$] - The number of arguments passed to a macro or string. This is a - read-only number register. - - Any individual argument can be retrieved with one of the following -escapes: - - - Escape: \$n - - Escape: \$(nn - - Escape: \$[nnn] - Retrieve the Nth, NNth or NNNth argument. As usual, the first - form only accepts a single number (larger than zero), the second a - two-digit number (larger or equal to 10), and the third any - positive integer value (larger than zero). Macros and strings can - have an unlimited number of arguments. Note that due to copy-in - mode, use two backslashes on these in actual use to prevent - interpolation until the macro is actually invoked. - - - Request: .shift [n] - Shift the arguments 1 position, or as many positions as specified - by its argument. After executing this request, argument I becomes - argument I-N; arguments 1 to N are no longer available. Shifting - by negative amounts is currently undefined. - - - Escape: \$* - - Escape: \$@ - In some cases it is convenient to use all of the arguments at once - (for example, to pass the arguments along to another macro). The - `\$*' escape concatenates all the arguments separated by spaces. A - similar escape is `\$@', which concatenates all the arguments with - each surrounded by double quotes, and separated by spaces. If not - in compatibility mode, the input level of double quotes is - preserved (see *Note Request and Macro Arguments::). - - - Escape: \$0 - The name used to invoke the current macro. The `als' request can - make a macro have more than one name. - - - .de generic-macro - . ... - . if \\n[error] \{\ - . tm \\$0: Houston, we have a problem. - . return - . \} - .. - . - .als foo generic-macro - .als bar generic-macro - - - *Note Request and Macro Arguments::. - - -File: groff, Node: Page Motions, Next: Drawing Requests, Prev: Writing Macros, Up: gtroff Reference - -Page Motions -============ - - *Note Manipulating Spacing::, for a discussion of the main request -for vertical motion, `sp'. - - - Request: .mk [reg] - - Request: .rt [dist] - The request `mk' can be used to mark a location on a page, for - movement to later. This request takes a register name as an - argument in which to store the current page location. With no - argument it stores the location in an internal register. The - results of this can be used later by the `rt' or the `sp' request - (or the `\v' escape). - - The `rt' request returns _upwards_ to the location marked with the - last `mk' request. If used with an argument, return to a position - which distance from the top of the page is DIST (no previous call - to `mk' is necessary in this case). Default scaling indicator is - `v'. - - Here a primitive solution for a two-column macro. - - - .nr column-length 1.5i - .nr column-gap 4m - .nr bottom-margin 1m - . - - - .de 2c - . br - . mk - . ll \\n[column-length]u - . wh -\\n[bottom-margin]u 2c-trap - . nr right-side 0 - .. - . - - - .de 2c-trap - . ie \\n[right-side] \{\ - . nr right-side 0 - . po -(\\n[column-length]u + \\n[column-gap]u) - . \" remove trap - . wh -\\n[bottom-margin]u - . \} - . el \{\ - . \" switch to right side - . nr right-side 1 - . po +(\\n[column-length]u + \\n[column-gap]u) - . rt - . \} - .. - . - - - .pl 1.5i - .ll 4i - This is a small test which shows how the - rt request works in combination with mk. - - .2c - Starting here, text is typeset in two columns. - Note that this implementation isn't robust - and thus not suited for a real two-column - macro. - - Result: - - - This is a small test which shows how the - rt request works in combination with mk. - - Starting here, isn't robust - text is typeset and thus not - in two columns. suited for a - Note that this real two-column - implementation macro. - - - The following escapes give fine control of movements about the page. - - - Escape: \v'e' - Move vertically, usually from the current location on the page (if - no absolute position operator `|' is used). The argument E - specifies the distance to move; positive is downwards and negative - upwards. The default scaling indicator for this escape is `v'. - Beware, however, that `gtroff' continues text processing at the - point where the motion ends, so you should always balance motions - to avoid interference with text processing. - - `\v' doesn't trigger a trap. This can be quite useful; for - example, consider a page bottom trap macro which prints a marker - in the margin to indicate continuation of a footnote or something - similar. - - There are some special-case escapes for vertical motion. - - - Escape: \r - Move upwards 1v. - - - Escape: \u - Move upwards .5v. - - - Escape: \d - Move down .5v. - - - Escape: \h'e' - Move horizontally, usually from the current location (if no - absolute position operator `|' is used). The expression E - indicates how far to move: positive is rightwards and negative - leftwards. The default scaling indicator for this escape is `m'. - - This horizontal space is not discarded at the end of a line. To - insert discardable space of a certain length use the `ss' request. - - There are a number of special-case escapes for horizontal motion. - - - Escape: \ - An unbreakable and unpaddable (i.e. not expanded during filling) - space. (Note: This is a backslash followed by a space.) - - - Escape: \~ - An unbreakable space that stretches like a normal inter-word space - when a line is adjusted. - - - Escape: \| - A 1/6th em space. Ignored for TTY output devices (rounded to - zero). - - - Escape: \^ - A 1/12th em space. Ignored for TTY output devices (rounded to - zero). - - - Escape: \0 - A space the size of a digit. - - The following string sets the TeX logo: - - - .ds TeX T\h'-.1667m'\v'.224m'E\v'-.224m'\h'-.125m'X - - - Escape: \w'text' - - Register: \n[st] - - Register: \n[sb] - - Register: \n[rst] - - Register: \n[rsb] - - Register: \n[ct] - - Register: \n[ssc] - - Register: \n[skw] - Return the width of the specified TEXT in basic units. This - allows horizontal movement based on the width of some arbitrary - text (e.g. given as an argument to a macro). - - - The length of the string `abc' is \w'abc'u. - => The length of the string `abc' is 72u. - - Font changes may occur in TEXT which don't affect current settings. - - After use, `\w' sets several registers: - - `st' - `sb' - The highest and lowest point of the baseline, respectively, - in TEXT. - - `rst' - `rsb' - Like the `st' and `sb' registers, but takes account of the - heights and depths of glyphs. With other words, this gives - the highest and lowest point of TEXT. Values below the - baseline are negative. - - `ct' - Defines the kinds of glyphs occurring in TEXT: - - 0 - only short glyphs, no descenders or tall glyphs. - - 1 - at least one descender. - - 2 - at least one tall glyph. - - 3 - at least one each of a descender and a tall glyph. - - `ssc' - The amount of horizontal space (possibly negative) that - should be added to the last glyph before a subscript. - - `skw' - How far to right of the center of the last glyph in the `\w' - argument, the center of an accent from a roman font should be - placed over that glyph. - - - Escape: \kp - - Escape: \k(ps - - Escape: \k[position] - Store the current horizontal position in the _input_ line in - number register with name POSITION (one-character name P, - two-character name PS). Use this, for example, to return to the - beginning of a string for highlighting or other decoration. - - - Register: \n[hp] - The current horizontal position at the input line. - - - Register: \n[.k] - A read-only number register containing the current horizontal - output position. - - - Escape: \o'abc' - Overstrike glyphs A, B, C, ...; the glyphs are centered, and the - resulting spacing is the largest width of the affected glyphs. - - - Escape: \zg - Print glyph G with zero width, i.e., without spacing. Use this to - overstrike glyphs left-aligned. - - - Escape: \Z'anything' - Print ANYTHING, then restore the horizontal and vertical position. - The argument may not contain tabs or leaders. - - The following is an example of a strike-through macro: - - - .de ST - .nr ww \w'\\$1' - \Z@\v'-.25m'\l'\\n[ww]u'@\\$1 - .. - . - This is - .ST "a test" - an actual emergency! - - - -File: groff, Node: Drawing Requests, Next: Traps, Prev: Page Motions, Up: gtroff Reference - -Drawing Requests -================ - - `gtroff' provides a number of ways to draw lines and other figures -on the page. Used in combination with the page motion commands (see -*Note Page Motions::, for more info), a wide variety of figures can be -drawn. However, for complex drawings these operations can be quite -cumbersome, and it may be wise to use graphic preprocessors like `gpic' -or `ggrn'. *Note gpic::, and *Note ggrn::, for more information. - - All drawing is done via escapes. - - - Escape: \l'l' - - Escape: \l'lg' - Draw a line horizontally. L is the length of the line to be - drawn. If it is positive, start the line at the current location - and draw to the right; its end point is the new current location. - Negative values are handled differently: The line starts at the - current location and draws to the left, but the current location - doesn't move. - - L can also be specified absolutely (i.e. with a leading `|') which - draws back to the beginning of the input line. Default scaling - indicator is `m'. - - The optional second parameter G is a glyph to draw the line with. - If this second argument is not specified, `gtroff' uses the - underscore glyph, `\[ru]'. - - To separate the two arguments (to prevent `gtroff' from - interpreting a drawing glyph as a scaling indicator if the glyph is - represented by a single character) use `\&'. - - Here a small useful example: - - - .de box - \[br]\\$*\[br]\l'|0\[rn]'\l'|0\[ul]' - .. - - Note that this works by outputting a box rule (a vertical line), - then the text given as an argument and then another box rule. - Finally, the line drawing escapes both draw from the current - location to the beginning of the _input_ line - this works because - the line length is negative, not moving the current point. - - - Escape: \L'l' - - Escape: \L'lg' - Draw vertical lines. Its parameters are similar to the `\l' - escape, except that the default scaling indicator is `v'. The - movement is downwards for positive values, and upwards for - negative values. The default glyph is the box rule glyph, - `\[br]'. As with the vertical motion escapes, text processing - blindly continues where the line ends. - - - This is a \L'3v'test. - - Here the result, produced with `grotty'. - - - This is a - | - | - |test. - - - - Escape: \D'command arg ...' - The `\D' escape provides a variety of drawing functions. Note - that on character devices, only vertical and horizontal lines are - supported within `grotty'; other devices may only support a subset - of the available drawing functions. - - The default scaling indicator for all subcommands of `\D' is `m' - for horizontal distances and `v' for vertical ones. Exceptions - are `\D'f ...'' and `\D't ...'' which use `u' as the default, and - `\D'FX ...'' which arguments are treated similar to the `defcolor' - request. - - `\D'l DX DY'' - Draw a line from the current location to the relative point - specified by (DX,DY). - - The following example is a macro for creating a box around a - text string; for simplicity, the box margin is taken as a - fixed value, 0.2m. - - - .de BOX - . nr @wd \w'\\$1' - \h'.2m'\ - \h'-.2m'\v'(.2m - \\n[rsb]u)'\ - \D'l 0 -(\\n[rst]u - \\n[rsb]u + .4m)'\ - \D'l (\\n[@wd]u + .4m) 0'\ - \D'l 0 (\\n[rst]u - \\n[rsb]u + .4m)'\ - \D'l -(\\n[@wd]u + .4m) 0'\ - \h'.2m'\v'-(.2m - \\n[rsb]u)'\ - \\$1\ - \h'.2m' - .. - - First, the width of the string is stored in register `@wd'. - Then, four lines are drawn to form a box, properly offset by - the box margin. The registers `rst' and `rsb' are set by the - `\w' escape, containing the largest height and depth of the - whole string. - - `\D'c D'' - Draw a circle with a diameter of D with the leftmost point at - the current position. After drawing, the current location is - positioned at the rightmost point of the circle. - - `\D'C D'' - Draw a solid circle with the same parameters and behaviour as - an outlined circle. No outline is drawn. - - `\D'e X Y'' - Draw an ellipse with a horizontal diameter of X and a vertical - diameter of Y with the leftmost point at the current position. - After drawing, the current location is positioned at the - rightmost point of the ellipse. - - `\D'E X Y'' - Draw a solid ellipse with the same parameters and behaviour - as an outlined ellipse. No outline is drawn. - - `\D'a DX1 DY1 DX2 DY2'' - Draw an arc clockwise from the current location through the - two specified relative locations (DX1,DY1) and (DX2,DY2). - The coordinates of the first point are relative to the - current position, and the coordinates of the second point are - relative to the first point. After drawing, the current - position is moved to the final point of the arc. - - `\D'~ DX1 DY1 DX2 DY2 ...'' - Draw a spline from the current location to the relative point - (DX1,DY1) and then to (DX2,DY2), and so on. The current - position is moved to the terminal point of the drawn curve. - - `\D'f N'' - Set the shade of gray to be used for filling solid objects - to N; N must be an integer between 0 and 1000, where 0 - corresponds solid white and 1000 to solid black, and values - in between correspond to intermediate shades of gray. This - applies only to solid circles, solid ellipses, and solid - polygons. By default, a level of 1000 is used. - - Despite of being silly, the current point is moved - horizontally to the right by N. - - Don't use this command! It has the serious drawback that it - will be always rounded to the next integer multiple of the - horizontal resolution (the value of the `hor' keyword in the - `DESC' file). Use `\M' (*note Colors::) or `\D'Fg ...'' - instead. - - `\D'p DX1 DY1 DX2 DY2 ...'' - Draw a polygon from the current location to the relative - position (DX1,DY1) and then to (DX2,DY2) and so on. When the - specified data points are exhausted, a line is drawn back to - the starting point. The current position is changed by - adding the sum of all arguments with odd index to the actual - horizontal position and the even ones to the vertical - position. - - `\D'P DX1 DY1 DX2 DY2 ...'' - Draw a solid polygon with the same parameters and behaviour - as an outlined polygon. No outline is drawn. - - Here a better variant of the box macro to fill the box with - some color. Note that the box must be drawn before the text - since colors in `gtroff' are not transparent; the filled - polygon would hide the text completely. - - - .de BOX - . nr @wd \w'\\$1' - \h'.2m'\ - \h'-.2m'\v'(.2m - \\n[rsb]u)'\ - \M[lightcyan]\ - \D'P 0 -(\\n[rst]u - \\n[rsb]u + .4m) \ - (\\n[@wd]u + .4m) 0 \ - 0 (\\n[rst]u - \\n[rsb]u + .4m) \ - -(\\n[@wd]u + .4m) 0'\ - \h'.2m'\v'-(.2m - \\n[rsb]u)'\ - \M[]\ - \\$1\ - \h'.2m' - .. - - `\D't N'' - Set the current line thickness to N machine units. A value of - zero selects the smallest available line thickness. A - negative value makes the line thickness proportional to the - current point size (this is the default behaviour of AT&T - `troff'). - - Despite of being silly, the current point is moved - horizontally to the right by N. - - `\D'FSCHEME COLOR_COMPONENTS'' - Change current fill color. SCHEME is a single letter - denoting the color scheme: `r' (rgb), `c' (cmy), `k' (cmyk), - `g' (gray), or `d' (default color). The color components use - exactly the same syntax as in the `defcolor' request (*note - Colors::); the command `\D'Fd'' doesn't take an argument. - - _No_ position changing! - - Examples: - - - \D'Fg .3' \" same gray as \D'f 700' \D'Fr #0000ff' \" - blue - - *Note Graphics Commands::. - - - Escape: \b'string' - "Pile" a sequence of glyphs vertically, and center it vertically - on the current line. Use it to build large brackets and braces. - - Here an example how to create a large opening brace: - - - \b'\[lt]\[bv]\[lk]\[bv]\[lb]' - - The first glyph is on the top, the last glyph in STRING is at the - bottom. Note that `gtroff' separates the glyphs vertically by 1m, - and the whole object is centered 0.5m above the current baseline; - the largest glyph width is used as the width for the whole object. - This rather unflexible positioning algorithm doesn't work with - `-Tdvi' since the bracket pieces vary in height for this device. - Instead, use the `eqn' preprocessor. - - *Note Manipulating Spacing::, how to adjust the vertical spacing - with the `\x' escape. - - -File: groff, Node: Traps, Next: Diversions, Prev: Drawing Requests, Up: gtroff Reference - -Traps -===== - - "Traps" are locations, which, when reached, call a specified macro. -These traps can occur at a given location on the page, at a given -location in the current diversion, at a blank line, after a certain -number of input lines, or at the end of input. - - Setting a trap is also called "planting". It is also said that a -trap is "sprung" if the associated macro is executed. - -* Menu: - -* Page Location Traps:: -* Diversion Traps:: -* Input Line Traps:: -* Blank Line Traps:: -* End-of-input Traps:: - diff -ruN groff-1.19/doc/groff-7 groff-1.19.1/doc/groff-7 --- groff-1.19/doc/groff-7 Tue Apr 29 15:37:37 2003 +++ groff-1.19.1/doc/groff-7 Thu Jan 1 01:00:00 1970 @@ -1,1460 +0,0 @@ -This is groff, produced by makeinfo version 4.3d from ./groff.texinfo. - -This manual documents GNU `troff' version 1.19. - - Copyright (C) 1994-2000, 2001, 2002, 2003 Free Software Foundation, -Inc. - - Permission is granted to copy, distribute and/or modify this - document under the terms of the GNU Free Documentation License, - Version 1.1 or any later version published by the Free Software - Foundation; with no Invariant Sections, with the Front-Cover texts - being `A GNU Manual," and with the Back-Cover Texts as in (a) - below. A copy of the license is included in the section entitled - `GNU Free Documentation License." - - (a) The FSF's Back-Cover Text is: `You have freedom to copy and - modify this GNU Manual, like GNU software. Copies published by - the Free Software Foundation raise funds for GNU development." - -INFO-DIR-SECTION Typesetting -START-INFO-DIR-ENTRY -* Groff: (groff). The GNU troff document formatting system. -END-INFO-DIR-ENTRY - - -File: groff, Node: Page Location Traps, Next: Diversion Traps, Prev: Traps, Up: Traps - -Page Location Traps -------------------- - - "Page location traps" perform an action when `gtroff' reaches or -passes a certain vertical location on the page. Page location traps -have a variety of purposes, including: - - * setting headers and footers - - * setting body text in multiple columns - - * setting footnotes - - - Request: .vpt flag - - Register: \n[.vpt] - Enable vertical position traps if FLAG is non-zero, or disables - them otherwise. Vertical position traps are traps set by the `wh' - or `dt' requests. Traps set by the `it' request are not vertical - position traps. The parameter that controls whether vertical - position traps are enabled is global. Initially vertical position - traps are enabled. The current setting of this is available in the - `.vpt' read-only number register. - - Note that a page can't be ejected if `vpt' is set to zero. - - - Request: .wh dist [macro] - Set a page location trap. Non-negative values for DIST set the - trap relative to the top of the page; negative values set the trap - relative to the bottom of the page. Default scaling indicator is - `v'. - - MACRO is the name of the macro to execute when the trap is sprung. - If MACRO is missing, remove the first trap (if any) at DIST. - - The following is a simple example of how many macro packages set - headers and footers. - - - .de hd \" Page header - ' sp .5i - . tl 'Title''date' - ' sp .3i - .. - . - .de fo \" Page footer - ' sp 1v - . tl ''%'' - ' bp - .. - . - .wh 0 hd \" trap at top of the page - .wh -1i fo \" trap one inch from bottom - - A trap at or below the bottom of the page is ignored; it can be - made active by either moving it up or increasing the page length - so that the trap is on the page. - - It is possible to have more than one trap at the same location; to - do so, the traps must be defined at different locations, then - moved together with the `ch' request; otherwise the second trap - would replace the first one. Earlier defined traps hide later - defined traps if moved to the same position (the many empty lines - caused by the `bp' request are omitted in the following example): - - - .de a - . nop a - .. - .de b - . nop b - .. - .de c - . nop c - .. - . - .wh 1i a - .wh 2i b - .wh 3i c - .bp - => a b c - - - .ch b 1i - .ch c 1i - .bp - => a - - - .ch a 0.5i - .bp - => a b - - - - Register: \n[.t] - A read-only number register holding the distance to the next trap. - - If there are no traps between the current position and the bottom - of the page, it contains the distance to the page bottom. In a - diversion, the distance to the page bottom is infinite (the - returned value is the biggest integer which can be represented in - `groff') if there are no diversion traps. - - - Request: .ch macro [dist] - Change the location of a trap. The first argument is the name of - the macro to be invoked at the trap, and the second argument is - the new location for the trap (note that the parameters are - specified in opposite order as in the `wh' request). This is - useful for building up footnotes in a diversion to allow more - space at the bottom of the page for them. - - Default scaling indicator for DIST is `v'. If DIST is missing, - the trap is removed. - - - - Register: \n[.ne] - The read-only number register `.ne' contains the amount of space - that was needed in the last `ne' request that caused a trap to be - sprung. Useful in conjunction with the `.trunc' register. *Note - Page Control::, for more information. - - Since the `.ne' register is only set by traps it doesn't make much - sense to use it outside of trap macros. - - - Register: \n[.trunc] - A read-only register containing the amount of vertical space - truncated by the most recently sprung vertical position trap, or, - if the trap was sprung by an `ne' request, minus the amount of - vertical motion produced by the `ne' request. In other words, at - the point a trap is sprung, it represents the difference of what - the vertical position would have been but for the trap, and what - the vertical position actually is. - - Since the `.trunc' register is only set by traps and it doesn't - make much sense to use it outside of trap macros. - - - Register: \n[.pe] - A read-only register which is set to 1 while a page is ejected with - the `bp' request (or by the end of input). - - Outside of traps this register is always zero. In the following - example, only the second call to `x' is caused by `bp'. - - - .de x - \&.pe=\\n[.pe] - .br - .. - .wh 1v x - .wh 4v x - A line. - .br - Another line. - .br - => A line. - .pe=0 - Another line. - - .pe=1 - - - An important fact to consider while designing macros is that -diversions and traps do not interact normally. For example, if a trap -invokes a header macro (while outputting a diversion) which tries to -change the font on the current page, the effect will not be visible -before the diversion has completely been printed (except for input -protected with `\!' or `\?') since the data in the diversion is already -formatted. In most cases, this is not the expected behaviour. - - -File: groff, Node: Diversion Traps, Next: Input Line Traps, Prev: Page Location Traps, Up: Traps - -Diversion Traps ---------------- - - - Request: .dt dist macro - Set a trap _within_ a diversion. DIST is the location of the trap - (identical to the `wh' request; default scaling indicator is `v') - and MACRO is the name of the macro to be invoked. The number - register `.t' still works within diversions. *Note Diversions::, - for more information. - - -File: groff, Node: Input Line Traps, Next: Blank Line Traps, Prev: Diversion Traps, Up: Traps - -Input Line Traps ----------------- - - - Request: .it n macro - - Request: .itc n macro - Set an input line trap. N is the number of lines of input which - may be read before springing the trap, MACRO is the macro to be - invoked. Request lines are not counted as input lines. - - For example, one possible use is to have a macro which prints the - next N lines in a bold font. - - - .de B - . it \\$1 B-end - . ft B - .. - . - .de B-end - . ft R - .. - - The `itc' request is identical except that an interrupted text - line (ending with `\c') is not counted as a separate line. - - Both requests are associated with the current environment (*note - Environments::); switching to another environment disables the - current input trap, and going back reactivates it, restoring the - number of already processed lines. - - -File: groff, Node: Blank Line Traps, Next: End-of-input Traps, Prev: Input Line Traps, Up: Traps - -Blank Line Traps ----------------- - - - Request: .blm macro - Set a blank line trap. `gtroff' executes MACRO when it encounters - a blank line in the input file. - - -File: groff, Node: End-of-input Traps, Prev: Blank Line Traps, Up: Traps - -End-of-input Traps ------------------- - - - Request: .em macro - Set a trap at the end of input. MACRO is executed after the last - line of the input file has been processed. - - For example, if the document had to have a section at the bottom - of the last page for someone to approve it, the `em' request could - be used. - - - .de approval - . ne 5v - . sp |(\\n[.t] - 6v) - . in +4i - . lc _ - . br - Approved:\t\a - . sp - Date:\t\t\a - .. - . - .em approval - - - -File: groff, Node: Diversions, Next: Environments, Prev: Traps, Up: gtroff Reference - -Diversions -========== - - In `gtroff' it is possible to "divert" text into a named storage -area. Due to the similarity to defining macros it is sometimes said to -be stored in a macro. This is used for saving text for output at a -later time, which is useful for keeping blocks of text on the same -page, footnotes, tables of contents, and indices. - - For orthogonality it is said that `gtroff' is in the "top-level -diversion" if no diversion is active (i.e., the data is diverted to the -output device). - - - Request: .di macro - - Request: .da macro - Begin a diversion. Like the `de' request, it takes an argument of - a macro name to divert subsequent text into. The `da' macro - appends to an existing diversion. - - `di' or `da' without an argument ends the diversion. - - - Request: .box macro - - Request: .boxa macro - Begin (or appends to) a diversion like the `di' and `da' requests. - The difference is that `box' and `boxa' do not include a - partially-filled line in the diversion. - - Compare this: - - - Before the box. - .box xxx - In the box. - .br - .box - After the box. - .br - => Before the box. After the box. - .xxx - => In the box. - - with this: - - - Before the diversion. - .di yyy - In the diversion. - .br - .di - After the diversion. - .br - => After the diversion. - .yyy - => Before the diversion. In the diversion. - - `box' or `boxa' without an argument ends the diversion. - - - Register: \n[.z] - - Register: \n[.d] - Diversions may be nested. The read-only number register `.z' - contains the name of the current diversion (this is a string-valued - register). The read-only number register `.d' contains the current - vertical place in the diversion. If not in a diversion it is the - same as register `nl'. - - - Register: \n[.h] - The "high-water mark" on the current page. It corresponds to the - text baseline of the lowest line on the page. This is a read-only - register. - - - .tm .h==\n[.h], nl==\n[nl] - => .h==0, nl==-1 - This is a test. - .br - .sp 2 - .tm .h==\n[.h], nl==\n[nl] - => .h==40, nl==120 - - As can be seen in the previous example, empty lines are not - considered in the return value of the `.h' register. - - - Register: \n[dn] - - Register: \n[dl] - After completing a diversion, the read-write number registers `dn' - and `dl' contain the vertical and horizontal size of the diversion. - Note that only the just processed lines are counted: For the - computation of `dn' and `dl', the requests `da' and `boxa' are - handled as if `di' and `box' had been used - lines which have been - already stored in a macro are not taken into account. - - - .\" Center text both horizontally & vertically - . - .\" Enclose macro definitions in .eo and .ec - .\" to avoid the doubling of the backslash - .eo - .\" macro .(c starts centering mode - .de (c - . br - . ev (c - . evc 0 - . in 0 - . nf - . di @c - .. - - - .\" macro .)c terminates centering mode - .de )c - . br - . ev - . di - . nr @s (((\n[.t]u - \n[dn]u) / 2u) - 1v) - . sp \n[@s]u - . ce 1000 - . @c - . ce 0 - . sp \n[@s]u - . br - . fi - . rr @s - . rm @s - . rm @c - .. - .\" End of macro definitions, restore escape mechanism - .ec - - - - Escape: \! - - Escape: \?anything\? - Prevent requests, macros, and escapes from being interpreted when - read into a diversion. Both escapes take the given text and - "transparently" embed it into the diversion. This is useful for - macros which shouldn't be invoked until the diverted text is - actually output. - - The `\!' escape transparently embeds text up to and including the - end of the line. The `\?' escape transparently embeds text until - the next occurrence of the `\?' escape. Example: - - - \?ANYTHING\? - - ANYTHING may not contain newlines; use `\!' to embed newlines in - a diversion. The escape sequence `\?' is also recognized in copy - mode and turned into a single internal code; it is this code that - terminates ANYTHING. Thus the following example prints 4. - - - .nr x 1 - .nf - .di d - \?\\?\\\\?\\\\\\\\nx\\\\?\\?\? - .di - .nr x 2 - .di e - .d - .di - .nr x 3 - .di f - .e - .di - .nr x 4 - .f - - Both escapes read the data in copy mode. - - If `\!' is used in the top-level diversion, its argument is - directly embedded into the `gtroff' intermediate output. This can - be used for example to control a postprocessor which processes the - data before it is sent to the device driver. - - The `\?' escape used in the top-level diversion produces no output - at all; its argument is simply ignored. - - - Request: .output string - Emit STRING directly to the `gtroff' intermediate output (subject - to copy-mode interpretation); this is similar to `\!' used at the - top level. An initial double quote in STRING is stripped off to - allow initial blanks. - - This request can't be used before the first page has started - if - you get an error, simply insert `.br' before the `output' request. - - Without argument, `output' is ignored. - - Use with caution! It is normally only needed for mark-up used by a - postprocessor which does something with the output before sending - it to the output device, filtering out STRING again. - - - Request: .asciify div - "Unformat" the diversion specified by DIV in such a way that ASCII - characters, characters translated with the `trin' request, space - characters, and some escape sequences that were formatted and - diverted are treated like ordinary input characters when the - diversion is reread. It can be also used for gross hacks; for - example, the following sets register `n' to 1. - - - .tr @. - .di x - @nr n 1 - .br - .di - .tr @@ - .asciify x - .x - - *Note Copy-in Mode::. - - - Request: .unformat div - Like `asciify', unformat the specified diversion. However, - `unformat' only unformats spaces and tabs between words. - Unformatted tabs are treated as input tokens, and spaces are - stretchable again. - - The vertical size of lines is not preserved; glyph information - (font, font size, space width, etc.) is retained. - - -File: groff, Node: Environments, Next: Suppressing output, Prev: Diversions, Up: gtroff Reference - -Environments -============ - - It happens frequently that some text should be printed in a certain -format regardless of what may be in effect at the time, for example, in -a trap invoked macro to print headers and footers. To solve this -`gtroff' processes text in "environments". An environment contains -most of the parameters that control text processing. It is possible to -switch amongst these environments; by default `gtroff' processes text -in environment 0. The following is the information kept in an -environment. - - * font parameters (size, family, style, glyph height and slant, space - and sentence space size) - - * page parameters (line length, title length, vertical spacing, line - spacing, indentation, line numbering, centering, right-justifying, - underlining, hyphenation data) - - * fill and adjust mode - - * tab stops, tab and leader characters, escape character, no-break - and hyphen indicators, margin character data - - * partially collected lines - - * input traps - - * drawing and fill colours - - These environments may be given arbitrary names (see *Note -Identifiers::, for more info). Old versions of `troff' only had -environments named `0', `1', and `2'. - - - Request: .ev [env] - - Register: \n[.ev] - Switch to another environment. The argument ENV is the name of - the environment to switch to. With no argument, `gtroff' switches - back to the previous environment. There is no limit on the number - of named environments; they are created the first time that they - are referenced. The `.ev' read-only register contains the name or - number of the current environment. This is a string-valued - register. - - Note that a call to `ev' (with argument) pushes the previously - active environment onto a stack. If, say, environments `foo', - `bar', and `zap' are called (in that order), the first `ev' - request without parameter switches back to environment `bar' - (which is popped off the stack), and a second call switches back - to environment `foo'. - - Here is an example: - - - .ev footnote-env - .fam N - .ps 6 - .vs 8 - .ll -.5i - .ev - - ... - - .ev footnote-env - \(dg Note the large, friendly letters. - .ev - - - - Request: .evc env - Copy the environment ENV into the current environment. - - The following environment data is not copied: - - * Partially filled lines. - - * The status whether the previous line was interrupted. - - * The number of lines still to center, or to right-justify, or - to underline (with or without underlined spaces); they are - set to zero. - - * The status whether a temporary indent is active. - - * Input traps and its associated data. - - * Line numbering mode is disabled; it can be reactivated with - `.nm +0'. - - * The number of consecutive hyphenated lines (set to zero). - - - Register: \n[.w] - - Register: \n[.cht] - - Register: \n[.cdp] - - Register: \n[.csk] - The `\n[.w]' register contains the width of the last glyph added - to the current environment. - - The `\n[.cht]' register contains the height of the last glyph - added to the current environment. - - The `\n[.cdp]' register contains the depth of the last glyph added - to the current environment. It is positive for glyphs extending - below the baseline. - - The `\n[.csk]' register contains the "skew" (how far to the right - of the glyph's center that `gtroff' should place an accent) of the - last glyph added to the current environment. - - - Register: \n[.n] - The `\n[.n]' register contains the length of the previous output - line in the current environment. - - -File: groff, Node: Suppressing output, Next: Colors, Prev: Environments, Up: gtroff Reference - -Suppressing output -================== - - - Escape: \Onum - Disable or enable output depending on the value of NUM: - - `\O0' - Disable any glyphs from being emitted to the device driver, - provided that the escape occurs at the outer level (see - `\O[3]' and `\O[4]'). Motion is not suppressed so - effectively `\O[0]' means _pen up_. - - `\O1' - Enable output of glyphs, provided that the escape occurs at - the outer level. - - `\O0' and `\O1' also reset the four registers `opminx', `opminy', - `opmaxx', and `opmaxy' to -1. *Note Register Index::. These four - registers mark the top left and bottom right hand corners of a box - which encompasses all written glyphs. - - For example the input text: - - - Hello \O[0]world \O[1]this is a test. - - produces the following output: - - - Hello this is a test. - - `\O2' - Provided that the escape occurs at the outer level, enable - output of glyphs and also write out to `stderr' the page - number and four registers encompassing the glyphs previously - written since the last call to `\O'. - - `\O3' - Begin a nesting level. At start-up, `gtroff' is at outer - level. - - `\O4' - End a nesting level. - - `\O[5PFILENAME]' - This escape is `grohtml' specific. Provided that this escape - occurs at the outer nesting level write the `filename' to - `stderr'. The position of the image, P, must be specified - and must be one of `l', `r', `c', or `i' (left, right, - centered, inline). FILENAME will be associated with the - production of the next inline image. - - -File: groff, Node: Colors, Next: I/O, Prev: Suppressing output, Up: gtroff Reference - -Colors -====== - - - Request: .color [n] - - Register: \n[.color] - If N is missing or non-zero, activate colors (this is the default); - otherwise, turn it off. - - The read-only number register `.color' is 1 if colors are active, - 0 otherwise. - - Internally, `color' sets a global flag; it does not produce a - token. Similar to the `cp' request, you should use it at the - beginning of your document to control color output. - - Colors can be also turned off with the `-c' command line option. - - - Request: .defcolor ident scheme color_components - Define color with name IDENT. SCHEME can be one of the following - values: `rgb' (three components), `cmy' (three components), `cmyk' - (four components), and `gray' or `grey' (one component). - - Color components can be given either as a hexadecimal string or as - positive decimal integers in the range 0-65535. A hexadecimal - string contains all color components concatenated. It must start - with either `#' or `##'; the former specifies hex values in the - range 0-255 (which are internally multiplied by 257), the latter - in the range 0-65535. Examples: `#FFC0CB' (pink), `##ffff0000ffff' - (magenta). The default color name value is device-specific - (usually black). It is possible that the default color for `\m' - and `\M' is not identical. - - A new scaling indicator `f' has been introduced which multiplies - its value by 65536; this makes it convenient to specify color - components as fractions in the range 0 to 1 (1f equals 65536u). - Example: - - - .defcolor darkgreen rgb 0.1f 0.5f 0.2f - - Note that `f' is the default scaling indicator for the `defcolor' - request, thus the above statement is equivalent to - - - .defcolor darkgreen rgb 0.1 0.5 0.2 - - - - Escape: \mc - - Escape: \m(co - - Escape: \m[color] - Set drawing color. The following example shows how to turn the - next four words red. - - - \m[red]these are in red\m[] and these words are in black. - - The escape `\m[]' returns to the previous color. - - The drawing color is associated with the current environment - (*note Environments::). - - Note that `\m' doesn't produce an input token in `gtroff'. As a - consequence, it can be used in requests like `mc' (which expects a - single character as an argument) to change the color on the fly: - - - .mc \m[red]x\m[] - - - - Escape: \Mc - - Escape: \M(co - - Escape: \M[color] - Set background color for filled objects drawn with the `\D'...'' - commands. - - A red ellipse can be created with the following code: - - - \M[red]\h'0.5i'\D'E 2i 1i'\M[] - - The escape `\M[]' returns to the previous fill color. - - The fill color is associated with the current environment (*note - Environments::). - - Note that `\M' doesn't produce an input token in `gtroff'. - - -File: groff, Node: I/O, Next: Postprocessor Access, Prev: Colors, Up: gtroff Reference - -I/O -=== - - `gtroff' has several requests for including files: - - - Request: .so file - Read in the specified FILE and includes it in place of the `so' - request. This is quite useful for large documents, e.g. keeping - each chapter in a separate file. *Note gsoelim::, for more - information. - - Since `gtroff' replaces the `so' request with the contents of - `file', it makes a difference whether the data is terminated with - a newline or not: Assuming that file `xxx' contains the word `foo' - without a final newline, this - - - This is - .so xxx - bar - - yields `This is foobar'. - - - Request: .pso command - Read the standard output from the specified COMMAND and includes - it in place of the `pso' request. - - This request causes an error if used in safer mode (which is the - default). Use `groff''s or `troff''s `-U' option to activate - unsafe mode. - - The comment regarding a final newline for the `so' request is valid - for `pso' also. - - - Request: .mso file - Identical to the `so' request except that `gtroff' searches for - the specified FILE in the same directories as macro files for the - the `-m' command line option. If the file name to be included has - the form `NAME.tmac' and it isn't found, `mso' tries to include - `tmac.NAME' and vice versa. - - - Request: .trf file - - Request: .cf file - Transparently output the contents of FILE. Each line is output as - if it were preceded by `\!'; however, the lines are not subject to - copy mode interpretation. If the file does not end with a newline, - then a newline is added (`trf' only). For example, to define a - macro `x' containing the contents of file `f', use - - - .di x - .trf f - .di - - Both `trf' and `cf', when used in a diversion, embeds an object in - the diversion which, when reread, causes the contents of FILE to - be transparently copied through to the output. In UNIX `troff', - the contents of FILE is immediately copied through to the output - regardless of whether there is a current diversion; this behaviour - is so anomalous that it must be considered a bug. - - While `cf' copies the contents of FILE completely unprocessed, - `trf' disallows characters such as NUL that are not valid `gtroff' - input characters (*note Identifiers::). - - Both requests cause a line break. - - - Request: .nx [file] - Force `gtroff' to continue processing of the file specified as an - argument. If no argument is given, immediately jump to the end of - file. - - - Request: .rd [prompt [arg1 arg2 ...]] - Read from standard input, and include what is read as though it - were part of the input file. Text is read until a blank line is - encountered. - - If standard input is a TTY input device (keyboard), write PROMPT - to standard error, followed by a colon (or send BEL for a beep if - no argument is given). - - Arguments after PROMPT are available for the input. For example, - the line - - - .rd data foo bar - - with the input `This is \$2.' prints - - - This is bar. - - - Using the `nx' and `rd' requests, it is easy to set up form letters. -The form letter template is constructed like this, putting the -following lines into a file called `repeat.let': - - - .ce - \*(td - .sp 2 - .nf - .rd - .sp - .rd - .fi - Body of letter. - .bp - .nx repeat.let - -When this is run, a file containing the following lines should be -redirected in. Note that requests included in this file are executed -as though they were part of the form letter. The last block of input -is the `ex' request which tells `groff' to stop processing. If this -was not there, `groff' would not know when to stop. - - - Trent A. Fisher - 708 NW 19th Av., #202 - Portland, OR 97209 - - Dear Trent, - - Len Adollar - 4315 Sierra Vista - San Diego, CA 92103 - - Dear Mr. Adollar, - - .ex - - - Request: .pi pipe - Pipe the output of `gtroff' to the shell command(s) specified by - PIPE. This request must occur before `gtroff' has a chance to - print anything. - - `pi' causes an error if used in safer mode (which is the default). - Use `groff''s or `troff''s `-U' option to activate unsafe mode. - - Multiple calls to `pi' are allowed, acting as a chain. For - example, - - - .pi foo - .pi bar - ... - - is the same as `.pi foo | bar'. - - Note that the intermediate output format of `gtroff' is piped to - the specified commands. Consequently, calling `groff' without the - `-Z' option normally causes a fatal error. - - - Request: .sy cmds - - Register: \n[systat] - Execute the shell command(s) specified by CMDS. The output is not - saved anyplace, so it is up to the user to do so. - - This request causes an error if used in safer mode (which is the - default). Use `groff''s or `troff''s `-U' option to activate - unsafe mode. - - For example, the following code fragment introduces the current - time into a document: - - - .sy perl -e 'printf ".nr H %d\\n.nr M %d\\n.nr S %d\\n",\ - (localtime(time))[2,1,0]' > /tmp/x\n[$$] - .so /tmp/x\n[$$] - .sy rm /tmp/x\n[$$] - \nH:\nM:\nS - - Note that this works by having the `perl' script (run by `sy') - print out the `nr' requests which set the number registers `H', - `M', and `S', and then reads those commands in with the `so' - request. - - For most practical purposes, the number registers `seconds', - `minutes', and `hours' which are initialized at start-up of - `gtroff' should be sufficient. Use the `af' request to get a - formatted output: - - - .af hours 00 - .af minutes 00 - .af seconds 00 - \n[hours]:\n[minutes]:\n[seconds] - - The `systat' read-write number register contains the return value - of the `system()' function executed by the last `sy' request. - - - Request: .open stream file - - Request: .opena stream file - Open the specified FILE for writing and associates the specified - STREAM with it. - - The `opena' request is like `open', but if the file exists, append - to it instead of truncating it. - - Both `open' and `opena' cause an error if used in safer mode - (which is the default). Use `groff''s or `troff''s `-U' option to - activate unsafe mode. - - - Request: .write stream data - - Request: .writec stream data - Write to the file associated with the specified STREAM. The - stream must previously have been the subject of an open request. - The remainder of the line is interpreted as the `ds' request reads - its second argument: A leading `"' is stripped, and it is read in - copy-in mode. - - The `writec' request is like `write', but only `write' appends a - newline to the data. - - - Request: .writem stream xx - Write the contents of the macro or string XX to the file - associated with the specified STREAM. - - XX is read in copy mode, i.e., already formatted elements are - ignored. Consequently, diversions must be unformatted with the - `asciify' request before calling `writem'. Usually, this means a - loss of information. - - - Request: .close stream - Close the specified STREAM; the stream is no longer an acceptable - argument to the `write' request. - - Here a simple macro to write an index entry. - - - .open idx test.idx - . - .de IX - . write idx \\n[%] \\$* - .. - . - .IX test entry - . - .close idx - - - - Escape: \Ve - - Escape: \V(ev - - Escape: \V[env] - Interpolate the contents of the specified environment variable ENV - (one-character name E, two-character name EV) as returned by the - function `getenv'. `\V' is interpreted in copy-in mode. - - -File: groff, Node: Postprocessor Access, Next: Miscellaneous, Prev: I/O, Up: gtroff Reference - -Postprocessor Access -==================== - - There are two escapes which give information directly to the -postprocessor. This is particularly useful for embedding POSTSCRIPT -into the final document. - - - Escape: \X'xxx' - Embeds its argument into the `gtroff' output preceded with `x X'. - - The escapes `\&', `\)', `\%', and `\:' are ignored within `\X', - `\ ' and `\~' are converted to single space characters. All other - escapes (except `\\' which produces a backslash) cause an error. - - If the `use_charnames_in_special' keyword is set in the `DESC' - file, special characters no longer cause an error; the name XX is - represented as `\(XX)' in the `x X' output command. Additionally, - the backslash is represented as `\\'. - - `use_charnames_in_special' is currently used by `grohtml' only. - - - Escape: \Yn - - Escape: \Y(nm - - Escape: \Y[name] - This is approximately equivalent to `\X'\*[NAME]'' (one-character - name N, two-character name NM). However, the contents of the - string or macro NAME are not interpreted; also it is permitted for - NAME to have been defined as a macro and thus contain newlines (it - is not permitted for the argument to `\X' to contain newlines). - The inclusion of newlines requires an extension to the UNIX `troff' - output format, and confuses drivers that do not know about this - extension (*note Device Control Commands::). - - *Note Output Devices::. - - -File: groff, Node: Miscellaneous, Next: Gtroff Internals, Prev: Postprocessor Access, Up: gtroff Reference - -Miscellaneous -============= - - This section documents parts of `gtroff' which cannot (yet) be -categorized elsewhere in this manual. - - - Request: .nm [start [inc [space [indent]]]] - Print line numbers. START is the line number of the _next_ output - line. INC indicates which line numbers are printed. For example, - the value 5 means to emit only line numbers which are multiples - of 5; this defaults to 1. SPACE is the space to be left between - the number and the text; this defaults to one digit space. The - fourth argument is the indentation of the line numbers, defaulting - to zero. Both SPACE and INDENT are given as multiples of digit - spaces; they can be negative also. Without any arguments, line - numbers are turned off. - - `gtroff' reserves three digit spaces for the line number (which is - printed right-justified) plus the amount given by INDENT; the - output lines are concatenated to the line numbers, separated by - SPACE, and _without_ reducing the line length. Depending on the - value of the horizontal page offset (as set with the `po' - request), line numbers which are longer than the reserved space - stick out to the left, or the whole line is moved to the right. - - Parameters corresponding to missing arguments are not changed; any - non-digit argument (to be more precise, any argument starting with - a character valid as a delimiter for identifiers) is also treated - as missing. - - If line numbering has been disabled with a call to `nm' without an - argument, it can be reactivated with `.nm +0', using the - previously active line numbering parameters. - - The parameters of `nm' are associated with the current environment - (*note Environments::). The current output line number is - available in the number register `ln'. - - - .po 1m - .ll 2i - This test shows how line numbering works with groff. - .nm 999 - This test shows how line numbering works with groff. - .br - .nm xxx 3 2 - .ll -\w'0'u - This test shows how line numbering works with groff. - .nn 2 - This test shows how line numbering works with groff. - - And here the result: - - - This test shows how - line numbering works - 999 with groff. This - 1000 test shows how line - 1001 numbering works with - 1002 groff. - This test shows how - line numbering - works with groff. - This test shows how - 1005 line numbering - works with groff. - - - - Request: .nn [skip] - Temporarily turn off line numbering. The argument is the number - of lines not to be numbered; this defaults to 1. - - - Request: .mc glyph [dist] - Print a "margin character" to the right of the text.(1) (*note - Miscellaneous-Footnote-1::) The first argument is the glyph to be - printed. The second argument is the distance away from the right - margin. If missing, the previously set value is used; default is - 10pt). For text lines that are too long (that is, longer than the - text length plus DIST), the margin character is directly appended - to the lines. - - With no arguments the margin character is turned off. If this - occurs before a break, no margin character is printed. - - For empty lines and lines produced by the `tl' request no margin - character is emitted. - - The margin character is associated with the current environment - (*note Environments::). - - This is quite useful for indicating text that has changed, and, in - fact, there are programs available for doing this (they are called - `nrchbar' and `changebar' and can be found in any - `comp.sources.unix' archive. - - - .ll 3i - .mc | - This paragraph is highlighted with a margin - character. - .sp - Note that vertical space isn't marked. - .br - \& - .br - But we can fake it with `\&'. - - Result: - - - This paragraph is highlighted | - with a margin character. | - - Note that vertical space isn't | - marked. | - | - But we can fake it with `\&'. | - - - - Request: .psbb filename - - Register: \n[llx] - - Register: \n[lly] - - Register: \n[urx] - - Register: \n[ury] - Retrieve the bounding box of the PostScript image found in - FILENAME. The file must conform to Adobe's "Document Structuring - Conventions" (DSC); the command searches for a `%%BoundingBox' - comment and extracts the bounding box values into the number - registers `llx', `lly', `urx', and `ury'. If an error occurs (for - example, `psbb' cannot find the `%%BoundingBox' comment), it sets - the four number registers to zero. - - -File: groff, Node: Miscellaneous-Footnotes, Up: Miscellaneous - - (1) "Margin character" is a misnomer since it is an output glyph. - - -File: groff, Node: Gtroff Internals, Next: Debugging, Prev: Miscellaneous, Up: gtroff Reference - -`gtroff' Internals -================== - - `gtroff' processes input in three steps. One or more input -characters are converted to an "input token".(1) (*note Gtroff -Internals-Footnote-1::) Then, one or more input tokens are converted -to an "output node". Finally, output nodes are converted to the -intermediate output language understood by all output devices. - - Actually, before step one happens, `gtroff' converts certain escape -sequences into reserved input characters (not accessible by the user); -such reserved characters are used for other internal processing also - -this is the very reason why not all characters are valid input. *Note -Identifiers::, for more on this topic. - - For example, the input string `fi\[:u]' is converted into a -character token `f', a character token `i', and a special token `:u' -(representing u umlaut). Later on, the character tokens `f' and `i' -are merged to a single output node representing the ligature glyph `fi' -(provided the current font has a glyph for this ligature); the same -happens with `:u'. All output glyph nodes are `processed' which means -that they are invariably associated with a given font, font size, -advance width, etc. During the formatting process, `gtroff' itself -adds various nodes to control the data flow. - - Macros, diversions, and strings collect elements in two chained -lists: a list of input tokens which have been passed unprocessed, and a -list of output nodes. Consider the following the diversion. - - - .di xxx - a - \!b - c - .br - .di - -It contains these elements. - -node list token list element number -line start node -- 1 -glyph node `a' -- 2 -word space node -- 3 --- `b' 4 --- `\n' 5 -glyph node `c' -- 6 -vertical size node -- 7 -vertical size node -- 8 --- `\n' 9 - -Elements 1, 7, and 8 are inserted by `gtroff'; the latter two (which -are always present) specify the vertical extent of the last line, -possibly modified by `\x'. The `br' request finishes the current -partial line, inserting a newline input token which is subsequently -converted to a space when the diversion is reread. Note that the word -space node has a fixed width which isn't stretchable anymore. To -convert horizontal space nodes back to input tokens, use the `unformat' -request. - - Macros only contain elements in the token list (and the node list is -empty); diversions and strings can contain elements in both lists. - - Note that the `chop' request simply reduces the number of elements -in a macro, string, or diversion by one. Exceptions are "compatibility -save" and "compatibility ignore" input tokens which are ignored. The -`substring' request also ignores those input tokens. - - Some requests like `tr' or `cflags' work on glyph identifiers only; -this means that the associated glyph can be changed without destroying -this association. This can be very helpful for substituting glyphs. -In the following example, we assume that glyph `foo' isn't available by -default, so we provide a substitution using the `fchar' request and map -it to input character `x'. - - - .fchar \[foo] foo - .tr x \[foo] - -Now let us assume that we install an additional special font `bar' -which has glyph `foo'. - - - .special bar - .rchar \[foo] - -Since glyphs defined with `fchar' are searched before glyphs in special -fonts, we must call `rchar' to remove the definition of the fallback -glyph. Anyway, the translation is still active; `x' now maps to the -real glyph `foo'. - - -File: groff, Node: Gtroff Internals-Footnotes, Up: Gtroff Internals - - (1) Except the escapes `\f', `\F', `\H', `\m', `\M', `\R', `\s', and -`\S' which are processed immediately if not in copy-in mode. - - -File: groff, Node: Debugging, Next: Implementation Differences, Prev: Gtroff Internals, Up: gtroff Reference - -Debugging -========= - - `gtroff' is not easy to debug, but there are some useful features -and strategies for debugging. - - - Request: .lf line [filename] - Change the line number and optionally the file name `gtroff' shall - use for error and warning messages. LINE is the input line number - of the _next_ line. - - Without argument, the request is ignored. - - This is a debugging aid for documents which are split into many - files, then put together with `soelim' and other preprocessors. - Usually, it isn't invoked manually. - - Note that other `troff' implementations (including the original - AT&T version) handle `lf' differently. For them, LINE changes the - line number of the _current_ line. - - - Request: .tm string - - Request: .tm1 string - - Request: .tmc string - Send STRING to the standard error output; this is very useful for - printing debugging messages among other things. - - STRING is read in copy mode. - - The `tm' request ignores leading spaces of STRING; `tm1' handles - its argument similar to the `ds' request: a leading double quote - in STRING is stripped to allow initial blanks. - - The `tmc' request is similar to `tm1' but does not append a - newline (as is done in `tm' and `tm1'). - - - Request: .ab [string] - Similar to the `tm' request, except that it causes `gtroff' to - stop processing. With no argument it prints `User Abort.' to - standard error. - - - Request: .ex - The `ex' request also causes `gtroff' to stop processing; see also - *Note I/O::. - - When doing something involved it is useful to leave the debugging -statements in the code and have them turned on by a command line flag. - - - .if \n(DB .tm debugging output - -To activate these statements say - - - groff -rDB=1 file - - If it is known in advance that there will be many errors and no -useful output, `gtroff' can be forced to suppress formatted output with -the `-z' flag. - - - Request: .pm - Print the entire symbol table on `stderr'. Names of all defined - macros, strings, and diversions are print together with their size - in bytes. Since `gtroff' sometimes adds nodes by itself, the - returned size can be larger than expected. - - This request differs from UNIX `troff': `gtroff' reports the sizes - of diversions, ignores an additional argument to print only the - total of the sizes, and the size isn't returned in blocks of 128 - characters. - - - Request: .pnr - Print the names and contents of all currently defined number - registers on `stderr'. - - - Request: .ptr - Print the names and positions of all traps (not including input - line traps and diversion traps) on `stderr'. Empty slots in the - page trap list are printed as well, because they can affect the - priority of subsequently planted traps. - - - Request: .fl - Instruct `gtroff' to flush its output immediately. The intent is - for interactive use, but this behaviour is currently not - implemented in `gtroff'. Contrary to UNIX `troff', TTY output is - sent to a device driver also (`grotty'), making it non-trivial to - communicate interactively. - - This request causes a line break. - - - Request: .backtrace - Print a backtrace of the input stack to the standard error stream. - - Consider the following in file `test': - - - .de xxx - . backtrace - .. - .de yyy - . xxx - .. - . - .yyy - - On execution, `gtroff' prints the following: - - - test:2: backtrace: macro `xxx' - test:5: backtrace: macro `yyy' - test:8: backtrace: file `test' - - The option `-b' of `gtroff' internally calls a variant of this - request on each error and warning. - - - Register: \n[slimit] - Use the `slimit' number register to set the maximum number of - objects on the input stack. If `slimit' is less than or equal - to 0, there is no limit set. With no limit, a buggy recursive - macro can exhaust virtual memory. - - The default value is 1000; this is a compile-time constant. - - - Request: .warnscale si - Set the scaling indicator used in warnings to SI. Valid values for - SI are `u', `i', `c', `p', and `P'. At startup, it is set to `i'. - - - Request: .spreadwarn [limit] - Make `gtroff' emit a warning if the additional space inserted for - each space between words in an output line is larger or equal to - LIMIT. A negative value is changed to zero; no argument toggles - the warning on and off without changing LIMIT. The default scaling - indicator is `m'. At startup, `spreadwarn' is deactivated, and - LIMIT is set to 3m. - - For example, - - - .spreadwarn 0.2m - - will cause a warning if `gtroff' must add 0.2m or more for each - interword space in a line. - - This request is active only if text is justified to both margins - (using `.ad b'). - - `gtroff' has command line options for printing out more warnings -(`-w') and for printing backtraces (`-b') when a warning or an error -occurs. The most verbose level of warnings is `-ww'. - - - Request: .warn [flags] - - Register: \n[.warn] - Control the level of warnings checked for. The FLAGS are the sum - of the numbers associated with each warning that is to be enabled; - all other warnings are disabled. The number associated with each - warning is listed below. For example, `.warn 0' disables all - warnings, and `.warn 1' disables all warnings except that about - missing glyphs. If no argument is given, all warnings are enabled. - - The read-only number register `.warn' contains the current warning - level. - -* Menu: - -* Warnings:: - diff -ruN groff-1.19/doc/groff-8 groff-1.19.1/doc/groff-8 --- groff-1.19/doc/groff-8 Tue Apr 29 15:37:37 2003 +++ groff-1.19.1/doc/groff-8 Thu Jan 1 01:00:00 1970 @@ -1,1416 +0,0 @@ -This is groff, produced by makeinfo version 4.3d from ./groff.texinfo. - -This manual documents GNU `troff' version 1.19. - - Copyright (C) 1994-2000, 2001, 2002, 2003 Free Software Foundation, -Inc. - - Permission is granted to copy, distribute and/or modify this - document under the terms of the GNU Free Documentation License, - Version 1.1 or any later version published by the Free Software - Foundation; with no Invariant Sections, with the Front-Cover texts - being `A GNU Manual," and with the Back-Cover Texts as in (a) - below. A copy of the license is included in the section entitled - `GNU Free Documentation License." - - (a) The FSF's Back-Cover Text is: `You have freedom to copy and - modify this GNU Manual, like GNU software. Copies published by - the Free Software Foundation raise funds for GNU development." - -INFO-DIR-SECTION Typesetting -START-INFO-DIR-ENTRY -* Groff: (groff). The GNU troff document formatting system. -END-INFO-DIR-ENTRY - - -File: groff, Node: Warnings, Prev: Debugging, Up: Debugging - -Warnings --------- - - The warnings that can be given to `gtroff' are divided into the -following categories. The name associated with each warning is used by -the `-w' and `-W' options; the number is used by the `warn' request and -by the `.warn' register. - -`char' -`1' - Non-existent glyphs.(1) (*note Warnings-Footnote-1::) This is - enabled by default. - -`number' -`2' - Invalid numeric expressions. This is enabled by default. *Note - Expressions::. - -`break' -`4' - In fill mode, lines which could not be broken so that their length - was less than the line length. This is enabled by default. - -`delim' -`8' - Missing or mismatched closing delimiters. - -`el' -`16' - Use of the `el' request with no matching `ie' request. *Note - if-else::. - -`scale' -`32' - Meaningless scaling indicators. - -`range' -`64' - Out of range arguments. - -`syntax' -`128' - Dubious syntax in numeric expressions. - -`di' -`256' - Use of `di' or `da' without an argument when there is no current - diversion. - -`mac' -`512' - Use of undefined strings, macros and diversions. When an undefined - string, macro, or diversion is used, that string is automatically - defined as empty. So, in most cases, at most one warning is given - for each name. - -`reg' -`1024' - Use of undefined number registers. When an undefined number - register is used, that register is automatically defined to have a - value of 0. So, in most cases, at most one warning is given for - use of a particular name. - -`tab' -`2048' - Use of a tab character where a number was expected. - -`right-brace' -`4096' - Use of `\}' where a number was expected. - -`missing' -`8192' - Requests that are missing non-optional arguments. - -`input' -`16384' - Invalid input characters. - -`escape' -`32768' - Unrecognized escape sequences. When an unrecognized escape - sequence `\X' is encountered, the escape character is ignored, and - X is printed. - -`space' -`65536' - Missing space between a request or macro and its argument. This - warning is given when an undefined name longer than two characters - is encountered, and the first two characters of the name make a - defined name. The request or macro is not invoked. When this - warning is given, no macro is automatically defined. This is - enabled by default. This warning never occurs in compatibility - mode. - -`font' -`131072' - Non-existent fonts. This is enabled by default. - -`ig' -`262144' - Invalid escapes in text ignored with the `ig' request. These are - conditions that are errors when they do not occur in ignored text. - -`color' -`524288' - Color related warnings. - -`all' - All warnings except `di', `mac' and `reg'. It is intended that - this covers all warnings that are useful with traditional macro - packages. - -`w' - All warnings. - - -File: groff, Node: Warnings-Footnotes, Up: Warnings - - (1) `char' is a misnomer since it reports missing glyphs - there -aren't missing input characters, only invalid ones. - - -File: groff, Node: Implementation Differences, Prev: Debugging, Up: gtroff Reference - -Implementation Differences -========================== - - GNU `troff' has a number of features which cause incompatibilities -with documents written with old versions of `troff'. - - Long names cause some incompatibilities. UNIX `troff' interprets - - - .dsabcd - -as defining a string `ab' with contents `cd'. Normally, GNU `troff' -interprets this as a call of a macro named `dsabcd'. Also UNIX `troff' -interprets `\*[' or `\n[' as references to a string or number register -called `['. In GNU `troff', however, this is normally interpreted as -the start of a long name. In compatibility mode GNU `troff' interprets -long names in the traditional way (which means that they are not -recognized as names). - - - Request: .cp [n] - - Request: .do cmd - - Register: \n[.C] - If N is missing or non-zero, turn on compatibility mode; - otherwise, turn it off. - - The read-only number register `.C' is 1 if compatibility mode is - on, 0 otherwise. - - Compatibility mode can be also turned on with the `-C' command line - option. - - The `do' request turns off compatibility mode while executing its - arguments as a `gtroff' command. - - - .do fam T - - executes the `fam' request when compatibility mode is enabled. - - `gtroff' restores the previous compatibility setting before - interpreting any files sourced by the CMD. - - Two other features are controlled by `-C'. If not in compatibility -mode, GNU `troff' preserves the input level in delimited arguments: - - - .ds xx ' - \w'abc\*(xxdef' - -In compatibility mode, the string `72def'' is returned; without `-C' -the resulting string is `168' (assuming a TTY output device). - - Finally, the escapes `\f', `\H', `\m', `\M', `\R', `\s', and `\S' -are transparent for recognizing the beginning of a line only in -compatibility mode (this is a rather obscure feature). For example, -the code - - - .de xx - Hallo! - .. - \fB.xx\fP - -prints `Hallo!' in bold face if in compatibility mode, and `.xx' in -bold face otherwise. - - GNU `troff' does not allow the use of the escape sequences `\|', -`\^', `\&', `\{', `\}', `\', `\'', `\`', `\-', `\_', `\!', `\%', -and `\c' in names of strings, macros, diversions, number registers, -fonts or environments; UNIX `troff' does. The `\A' escape sequence -(*note Identifiers::) may be helpful in avoiding use of these escape -sequences in names. - - Fractional point sizes cause one noteworthy incompatibility. In -UNIX `troff' the `ps' request ignores scale indicators and thus - - - .ps 10u - -sets the point size to 10 points, whereas in GNU `troff' it sets the -point size to 10 scaled points. *Note Fractional Type Sizes::, for -more information. - - In GNU `troff' there is a fundamental difference between -(unformatted) input characters and (formatted) output glyphs. -Everything that affects how a glyph is output is stored with the glyph -node; once a glyph node has been constructed it is unaffected by any -subsequent requests that are executed, including `bd', `cs', `tkf', -`tr', or `fp' requests. Normally glyphs are constructed from input -characters at the moment immediately before the glyph is added to the -current output line. Macros, diversions and strings are all, in fact, -the same type of object; they contain lists of input characters and -glyph nodes in any combination. A glyph node does not behave like an -input character for the purposes of macro processing; it does not -inherit any of the special properties that the input character from -which it was constructed might have had. For example, - - - .di x - \\\\ - .br - .di - .x - -prints `\\' in GNU `troff'; each pair of input backslashes is turned -into one output backslash and the resulting output backslashes are not -interpreted as escape characters when they are reread. UNIX `troff' -would interpret them as escape characters when they were reread and -would end up printing one `\'. The correct way to obtain a printable -backslash is to use the `\e' escape sequence: This always prints a -single instance of the current escape character, regardless of whether -or not it is used in a diversion; it also works in both GNU `troff' and -UNIX `troff'.(1) (*note Implementation Differences-Footnote-1::) To -store, for some reason, an escape sequence in a diversion that will be -interpreted when the diversion is reread, either use the traditional -`\!' transparent output facility, or, if this is unsuitable, the new -`\?' escape sequence. - - *Note Diversions::, and *Note Gtroff Internals::, for more -information. - - -File: groff, Node: Implementation Differences-Footnotes, Up: Implementation Differences - - (1) To be completely independent of the current escape character, -use `\(rs' which represents a reverse solidus (backslash) glyph. - - -File: groff, Node: Preprocessors, Next: Output Devices, Prev: gtroff Reference, Up: Top - -Preprocessors -************* - - This chapter describes all preprocessors that come with `groff' or -which are freely available. - -* Menu: - -* geqn:: -* gtbl:: -* gpic:: -* ggrn:: -* grap:: -* grefer:: -* gsoelim:: - - -File: groff, Node: geqn, Next: gtbl, Prev: Preprocessors, Up: Preprocessors - -`geqn' -====== - -* Menu: - -* Invoking geqn:: - - -File: groff, Node: Invoking geqn, Prev: geqn, Up: geqn - -Invoking `geqn' ---------------- - - -File: groff, Node: gtbl, Next: gpic, Prev: geqn, Up: Preprocessors - -`gtbl' -====== - -* Menu: - -* Invoking gtbl:: - - -File: groff, Node: Invoking gtbl, Prev: gtbl, Up: gtbl - -Invoking `gtbl' ---------------- - - -File: groff, Node: gpic, Next: ggrn, Prev: gtbl, Up: Preprocessors - -`gpic' -====== - -* Menu: - -* Invoking gpic:: - - -File: groff, Node: Invoking gpic, Prev: gpic, Up: gpic - -Invoking `gpic' ---------------- - - -File: groff, Node: ggrn, Next: grap, Prev: gpic, Up: Preprocessors - -`ggrn' -====== - -* Menu: - -* Invoking ggrn:: - - -File: groff, Node: Invoking ggrn, Prev: ggrn, Up: ggrn - -Invoking `ggrn' ---------------- - - -File: groff, Node: grap, Next: grefer, Prev: ggrn, Up: Preprocessors - -`grap' -====== - - A free implementation of `grap', written by Ted Faber, is available -as an extra package from the following address: - - `http://www.lunabase.org/~faber/Vault/software/grap/' - - -File: groff, Node: grefer, Next: gsoelim, Prev: grap, Up: Preprocessors - -`grefer' -======== - -* Menu: - -* Invoking grefer:: - - -File: groff, Node: Invoking grefer, Prev: grefer, Up: grefer - -Invoking `grefer' ------------------ - - -File: groff, Node: gsoelim, Prev: grefer, Up: Preprocessors - -`gsoelim' -========= - -* Menu: - -* Invoking gsoelim:: - - -File: groff, Node: Invoking gsoelim, Prev: gsoelim, Up: gsoelim - -Invoking `gsoelim' ------------------- - - -File: groff, Node: Output Devices, Next: File formats, Prev: Preprocessors, Up: Top - -Output Devices -************** - -* Menu: - -* Special Characters:: -* grotty:: -* grops:: -* grodvi:: -* grolj4:: -* grolbp:: -* grohtml:: -* gxditview:: - - -File: groff, Node: Special Characters, Next: grotty, Prev: Output Devices, Up: Output Devices - -Special Characters -================== - - *Note Font Files::. - - -File: groff, Node: grotty, Next: grops, Prev: Special Characters, Up: Output Devices - -`grotty' -======== - -* Menu: - -* Invoking grotty:: - - -File: groff, Node: Invoking grotty, Prev: grotty, Up: grotty - -Invoking `grotty' ------------------ - - -File: groff, Node: grops, Next: grodvi, Prev: grotty, Up: Output Devices - -`grops' -======= - -* Menu: - -* Invoking grops:: -* Embedding PostScript:: - - -File: groff, Node: Invoking grops, Next: Embedding PostScript, Prev: grops, Up: grops - -Invoking `grops' ----------------- - - -File: groff, Node: Embedding PostScript, Prev: Invoking grops, Up: grops - -Embedding POSTSCRIPT --------------------- - - -File: groff, Node: grodvi, Next: grolj4, Prev: grops, Up: Output Devices - -`grodvi' -======== - -* Menu: - -* Invoking grodvi:: - - -File: groff, Node: Invoking grodvi, Prev: grodvi, Up: grodvi - -Invoking `grodvi' ------------------ - - -File: groff, Node: grolj4, Next: grolbp, Prev: grodvi, Up: Output Devices - -`grolj4' -======== - -* Menu: - -* Invoking grolj4:: - - -File: groff, Node: Invoking grolj4, Prev: grolj4, Up: grolj4 - -Invoking `grolj4' ------------------ - - -File: groff, Node: grolbp, Next: grohtml, Prev: grolj4, Up: Output Devices - -`grolbp' -======== - -* Menu: - -* Invoking grolbp:: - - -File: groff, Node: Invoking grolbp, Prev: grolbp, Up: grolbp - -Invoking `grolbp' ------------------ - - -File: groff, Node: grohtml, Next: gxditview, Prev: grolbp, Up: Output Devices - -`grohtml' -========= - -* Menu: - -* Invoking grohtml:: -* grohtml specific registers and strings:: - - -File: groff, Node: Invoking grohtml, Next: grohtml specific registers and strings, Prev: grohtml, Up: grohtml - -Invoking `grohtml' ------------------- - - -File: groff, Node: grohtml specific registers and strings, Prev: Invoking grohtml, Up: grohtml - -`grohtml' specific registers and strings ----------------------------------------- - - - Register: \n[ps4html] - - String: \*[www-image-template] - The registers `ps4html' and `www-image-template' are defined by - the `pre-grohtml' preprocessor. `pre-grohtml' reads in the - `troff' input, marks up the inline equations and passes the result - firstly to - - - troff -Tps -rps4html=1 -dwww-image-template=TEMPLATE - - and secondly to - - - troff -Thtml - - The PostScript device is used to create all the image files, and - the register `ps4html' enables the macro sets to ignore floating - keeps, footers, and headings. - - The register `www-image-template' is set to the user specified - template name or the default name. - - -File: groff, Node: gxditview, Prev: grohtml, Up: Output Devices - -`gxditview' -=========== - -* Menu: - -* Invoking gxditview:: - - -File: groff, Node: Invoking gxditview, Prev: gxditview, Up: gxditview - -Invoking `gxditview' --------------------- - - -File: groff, Node: File formats, Next: Installation, Prev: Output Devices, Up: Top - -File formats -************ - - All files read and written by `gtroff' are text files. The -following two sections describe their format. - -* Menu: - -* gtroff Output:: -* Font Files:: - - -File: groff, Node: gtroff Output, Next: Font Files, Prev: File formats, Up: File formats - -`gtroff' Output -=============== - - This section describes the intermediate output format of GNU -`troff'. This output is produced by a run of `gtroff' before it is fed -into a device postprocessor program. - - As `groff' is a wrapper program around `gtroff' that automatically -calls a postprocessor, this output does not show up normally. This is -why it is called "intermediate". `groff' provides the option `-Z' to -inhibit postprocessing, such that the produced intermediate output is -sent to standard output just like calling `gtroff' manually. - - Here, the term "troff output" describes what is output by `gtroff', -while "intermediate output" refers to the language that is accepted by -the parser that prepares this output for the postprocessors. This -parser is smarter on whitespace and implements obsolete elements for -compatibility, otherwise both formats are the same.(1) (*note gtroff -Output-Footnote-1::) - - The main purpose of the intermediate output concept is to facilitate -the development of postprocessors by providing a common programming -interface for all devices. It has a language of its own that is -completely different from the `gtroff' language. While the `gtroff' -language is a high-level programming language for text processing, the -intermediate output language is a kind of low-level assembler language -by specifying all positions on the page for writing and drawing. - - The intermediate output produced by `gtroff' is fairly readable, -while output from AT&T `troff' is rather hard to understand because of -strange habits that are still supported, but not used any longer by -`gtroff'. - -* Menu: - -* Language Concepts:: -* Command Reference:: -* Intermediate Output Examples:: -* Output Language Compatibility:: - - -File: groff, Node: gtroff Output-Footnotes, Up: gtroff Output - - (1) The parser and postprocessor for intermediate output can be -found in the file -`GROFF-SOURCE-DIR/src/libs/libdriver/input.cpp'. - - -File: groff, Node: Language Concepts, Next: Command Reference, Prev: gtroff Output, Up: gtroff Output - -Language Concepts ------------------ - - During the run of `gtroff', the input data is cracked down to the -information on what has to be printed at what position on the intended -device. So the language of the intermediate output format can be quite -small. Its only elements are commands with and without arguments. In -this section, the term "command" always refers to the intermediate -output language, and never to the `gtroff' language used for document -formatting. There are commands for positioning and text writing, for -drawing, and for device controlling. - -* Menu: - -* Separation:: -* Argument Units:: -* Document Parts:: - - -File: groff, Node: Separation, Next: Argument Units, Prev: Language Concepts, Up: Language Concepts - -Separation -.......... - - AT&T `troff' output has strange requirements on whitespace. The -`gtroff' output parser, however, is smart about whitespace by making it -maximally optional. The whitespace characters, i.e., the tab, space, -and newline characters, always have a syntactical meaning. They are -never printable because spacing within the output is always done by -positioning commands. - - Any sequence of space or tab characters is treated as a single -"syntactical space". It separates commands and arguments, but is only -required when there would occur a clashing between the command code and -the arguments without the space. Most often, this happens when -variable-length command names, arguments, argument lists, or command -clusters meet. Commands and arguments with a known, fixed length need -not be separated by syntactical space. - - A line break is a syntactical element, too. Every command argument -can be followed by whitespace, a comment, or a newline character. Thus -a "syntactical line break" is defined to consist of optional -syntactical space that is optionally followed by a comment, and a -newline character. - - The normal commands, those for positioning and text, consist of a -single letter taking a fixed number of arguments. For historical -reasons, the parser allows to stack such commands on the same line, but -fortunately, in `gtroff''s intermediate output, every command with at -least one argument is followed by a line break, thus providing -excellent readability. - - The other commands - those for drawing and device controlling - have -a more complicated structure; some recognize long command names, and -some take a variable number of arguments. So all `D' and `x' commands -were designed to request a syntactical line break after their last -argument. Only one command, `x X', has an argument that can stretch -over several lines; all other commands must have all of their arguments -on the same line as the command, i.e., the arguments may not be -splitted by a line break. - - Empty lines (these are lines containing only space and/or a -comment), can occur everywhere. They are just ignored. - - -File: groff, Node: Argument Units, Next: Document Parts, Prev: Separation, Up: Language Concepts - -Argument Units -.............. - - Some commands take integer arguments that are assumed to represent -values in a measurement unit, but the letter for the corresponding -scale indicator is not written with the output command arguments. Most -commands assume the scale indicator `u', the basic unit of the device, -some use `z', the scaled point unit of the device, while others, such -as the color commands, expect plain integers. - - Note that single characters can have the eighth bit set, as can the -names of fonts and special characters. The names of characters and -fonts can be of arbitrary length. A character that is to be printed -will always be in the current font. - - A string argument is always terminated by the next whitespace -character (space, tab, or newline); an embedded `#' character is -regarded as part of the argument, not as the beginning of a comment -command. An integer argument is already terminated by the next -non-digit character, which then is regarded as the first character of -the next argument or command. - - -File: groff, Node: Document Parts, Prev: Argument Units, Up: Language Concepts - -Document Parts -.............. - - A correct intermediate output document consists of two parts, the -"prologue" and the "body". - - The task of the prologue is to set the general device parameters -using three exactly specified commands. `gtroff''s prologue is -guaranteed to consist of the following three lines (in that order): - - - x T DEVICE - x res N H V - x init - -with the arguments set as outlined in *Note Device Control Commands::. -Note that the parser for the intermediate output format is able to -swallow additional whitespace and comments as well even in the prologue. - - The body is the main section for processing the document data. -Syntactically, it is a sequence of any commands different from the ones -used in the prologue. Processing is terminated as soon as the first -`x stop' command is encountered; the last line of any `gtroff' -intermediate output always contains such a command. - - Semantically, the body is page oriented. A new page is started by a -`p' command. Positioning, writing, and drawing commands are always -done within the current page, so they cannot occur before the first `p' -command. Absolute positioning (by the `H' and `V' commands) is done -relative to the current page; all other positioning is done relative to -the current location within this page. - - -File: groff, Node: Command Reference, Next: Intermediate Output Examples, Prev: Language Concepts, Up: gtroff Output - -Command Reference ------------------ - - This section describes all intermediate output commands, both from -AT&T `troff' as well as the `gtroff' extensions. - -* Menu: - -* Comment Command:: -* Simple Commands:: -* Graphics Commands:: -* Device Control Commands:: -* Obsolete Command:: - - -File: groff, Node: Comment Command, Next: Simple Commands, Prev: Command Reference, Up: Command Reference - -Comment Command -............... - -`#ANYTHING' - A comment. Ignore any characters from the `#' character up to the - next newline character. - - This command is the only possibility for commenting in the - intermediate output. Each comment can be preceded by arbitrary - syntactical space; every command can be terminated by a comment. - - -File: groff, Node: Simple Commands, Next: Graphics Commands, Prev: Comment Command, Up: Command Reference - -Simple Commands -............... - - The commands in this subsection have a command code consisting of a -single character, taking a fixed number of arguments. Most of them are -commands for positioning and text writing. These commands are smart -about whitespace. Optionally, syntactical space can be inserted -before, after, and between the command letter and its arguments. All -of these commands are stackable, i.e., they can be preceded by other -simple commands or followed by arbitrary other commands on the same -line. A separating syntactical space is only necessary when two -integer arguments would clash or if the preceding argument ends with a -string argument. - -`C XXX' - Print a special character named XXX. The trailing syntactical - space or line break is necessary to allow glyph names of arbitrary - length. The glyph is printed at the current print position; the - glyph's size is read from the font file. The print position is - not changed. - -`c G' - Print glyph G at the current print position;(1) (*note Simple - Commands-Footnote-1::) the glyph's size is read from the font - file. The print position is not changed. - -`f N' - Set font to font number N (a non-negative integer). - -`H N' - Move right to the absolute vertical position N (a non-negative - integer in basic units `u' relative to left edge of current page. - -`h N' - Move N (a non-negative integer) basic units `u' horizontally to - the right. The original UNIX troff manual allows negative values - for N also, but `gtroff' doesn't use this. - -`m COLOR-SCHEME [COMPONENT ...]' - Set the color for text (glyphs), line drawing, and the outline of - graphic objects using different color schemes; the analoguous - command for the filling color of graphic objects is `DF'. The - color components are specified as integer arguments between 0 and - 65536. The number of color components and their meaning vary for - the different color schemes. These commands are generated by - `gtroff''s escape sequence `\m'. No position changing. These - commands are a `gtroff' extension. - - `mc CYAN MAGENTA YELLOW' - Set color using the CMY color scheme, having the 3 color - components CYAN, MAGENTA, and YELLOW. - - `md' - Set color to the default color value (black in most cases). - No component arguments. - - `mg GRAY' - Set color to the shade of gray given by the argument, an - integer between 0 (black) and 65536 (white). - - `mk CYAN MAGENTA YELLOW BLACK' - Set color using the CMYK color scheme, having the 4 color - components CYAN, MAGENTA, YELLOW, and BLACK. - - `mr RED GREEN BLUE' - Set color using the RGB color scheme, having the 3 color - components RED, GREEN, and BLUE. - - -`N N' - Print glyph with index N (a non-negative integer) of the current - font. This command is a `gtroff' extension. - -`n B A' - Inform the device about a line break, but no positioning is done by - this command. In AT&T `troff', the integer arguments B and A - informed about the space before and after the current line to make - the intermediate output more human readable without performing any - action. In `groff', they are just ignored, but they must be - provided for compatibility reasons. - -`p N' - Begin a new page in the outprint. The page number is set to N. - This page is completely independent of pages formerly processed - even if those have the same page number. The vertical position on - the outprint is automatically set to 0. All positioning, writing, - and drawing is always done relative to a page, so a `p' command - must be issued before any of these commands. - -`s N' - Set point size to N scaled points (this is unit `z'). AT&T - `troff' used the unit points (`p') instead. *Note Output Language - Compatibility::. - -`t XXX' -`t XXX DUMMY-ARG' - Print a word, i.e., a sequence of characters XXX representing - output glyphs which names are single characters, terminated by a - space character or a line break; an optional second integer - argument is ignored (this allows the formatter to generate an even - number of arguments). The first glyph should be printed at the - current position, the current horizontal position should then be - increased by the width of the first glyph, and so on for each - glyph. The widths of the glyphs are read from the font file, - scaled for the current point size, and rounded to a multiple of - the horizontal resolution. Special characters cannot be printed - using this command (use the `C' command for special characters). - This command is a `gtroff' extension; it is only used for devices - whose `DESC' file contains the `tcommand' keyword (*note DESC File - Format::). - -`u N XXX' - Print word with track kerning. This is the same as the `t' - command except that after printing each glyph, the current - horizontal position is increased by the sum of the width of that - glyph and N (an integer in basic units `u'). This command is a - `gtroff' extension; it is only used for devices whose `DESC' file - contains the `tcommand' keyword (*note DESC File Format::). - -`V N' - Move down to the absolute vertical position N (a non-negative - integer in basic units `u') relative to upper edge of current page. - -`v N' - Move N basic units `u' down (N is a non-negative integer). The - original UNIX troff manual allows negative values for N also, but - `gtroff' doesn't use this. - -`w' - Informs about a paddable white space to increase readability. The - spacing itself must be performed explicitly by a move command. - - - -File: groff, Node: Simple Commands-Footnotes, Up: Simple Commands - - (1) `c' is actually a misnomer since it outputs a glyph. - - -File: groff, Node: Graphics Commands, Next: Device Control Commands, Prev: Simple Commands, Up: Command Reference - -Graphics Commands -................. - - Each graphics or drawing command in the intermediate output starts -with the letter `D', followed by one or two characters that specify a -subcommand; this is followed by a fixed or variable number of integer -arguments that are separated by a single space character. A `D' -command may not be followed by another command on the same line (apart -from a comment), so each `D' command is terminated by a syntactical -line break. - - `gtroff' output follows the classical spacing rules (no space -between command and subcommand, all arguments are preceded by a single -space character), but the parser allows optional space between the -command letters and makes the space before the first argument optional. -As usual, each space can be any sequence of tab and space characters. - - Some graphics commands can take a variable number of arguments. In -this case, they are integers representing a size measured in basic -units `u'. The arguments called H1, H2, ..., HN stand for horizontal -distances where positive means right, negative left. The arguments -called V1, V2, ..., VN stand for vertical distances where positive -means down, negative up. All these distances are offsets relative to -the current location. - - Each graphics command directly corresponds to a similar `gtroff' -`\D' escape sequence. *Note Drawing Requests::. - - Unknown `D' commands are assumed to be device-specific. Its -arguments are parsed as strings; the whole information is then sent to -the postprocessor. - - In the following command reference, the syntax element -means a syntactical line break as defined above. - -`D~ H1 V1 H2 V2 ... HN VN' - Draw B-spline from current position to offset (H1,V1), then to - offset (H2,V2), if given, etc. up to (HN,VN). This command takes - a variable number of argument pairs; the current position is moved - to the terminal point of the drawn curve. - -`Da H1 V1 H2 V2' - Draw arc from current position to (H1,V1)+(H2,V2) with center at - (H1,V1); then move the current position to the final point of the - arc. - -`DC D' -`DC D DUMMY-ARG' - Draw a solid circle using the current fill color with diameter D - (integer in basic units `u') with leftmost point at the current - position; then move the current position to the rightmost point of - the circle. An optional second integer argument is ignored (this - allows the formatter to generate an even number of arguments). - This command is a `gtroff' extension. - -`Dc D' - Draw circle line with diameter D (integer in basic units `u') with - leftmost point at the current position; then move the current - position to the rightmost point of the circle. - -`DE H V' - Draw a solid ellipse in the current fill color with a horizontal - diameter of H and a vertical diameter of V (both integers in basic - units `u') with the leftmost point at the current position; then - move to the rightmost point of the ellipse. This command is a - `gtroff' extension. - -`De H V' - Draw an outlined ellipse with a horizontal diameter of H and a - vertical diameter of V (both integers in basic units `u') with the - leftmost point at current position; then move to the rightmost - point of the ellipse. - -`DF COLOR-SCHEME [COMPONENT ...]' - Set fill color for solid drawing objects using different color - schemes; the analoguous command for setting the color of text, line - graphics, and the outline of graphic objects is `m'. The color - components are specified as integer arguments between 0 and 65536. - The number of color components and their meaning vary for the - different color schemes. These commands are generated by - `gtroff''s escape sequences `\D'F ...'' and `\M' (with no other - corresponding graphics commands). No position changing. This - command is a `gtroff' extension. - - `DFc CYAN MAGENTA YELLOW' - Set fill color for solid drawing objects using the CMY color - scheme, having the 3 color components CYAN, MAGENTA, and - YELLOW. - - `DFd' - Set fill color for solid drawing objects to the default fill - color value (black in most cases). No component arguments. - - `DFg GRAY' - Set fill color for solid drawing objects to the shade of gray - given by the argument, an integer between 0 (black) and 65536 - (white). - - `DFk CYAN MAGENTA YELLOW BLACK' - Set fill color for solid drawing objects using the CMYK color - scheme, having the 4 color components CYAN, MAGENTA, YELLOW, - and BLACK. - - `DFr RED GREEN BLUE' - Set fill color for solid drawing objects using the RGB color - scheme, having the 3 color components RED, GREEN, and BLUE. - - -`Df N' - The argument N must be an integer in the range -32767 to 32767. - - 0 <= N <= 1000 - Set the color for filling solid drawing objects to a shade of - gray, where 0 corresponds to solid white, 1000 (the default) - to solid black, and values in between to intermediate shades - of gray; this is obsoleted by command `DFg'. - - N < 0 or N > 1000 - Set the filling color to the color that is currently being - used for the text and the outline, see command `m'. For - example, the command sequence - - - mg 0 0 65536 - Df -1 - - sets all colors to blue. - - - No position changing. This command is a `gtroff' extension. - -`Dl H V' - Draw line from current position to offset (H,V) (integers in basic - units `u'); then set current position to the end of the drawn line. - -`Dp H1 V1 H2 V2 ... HN VN' - Draw a polygon line from current position to offset (H1,V1), from - there to offset (H2,V2), etc. up to offset (HN,VN), and from there - back to the starting position. For historical reasons, the - position is changed by adding the sum of all arguments with odd - index to the actual horizontal position and the even ones to the - vertical position. Although this doesn't make sense it is kept - for compatibility. This command is a `gtroff' extension. - -`Dp H1 V1 H2 V2 ... HN VN' - Draw a solid polygon in the current fill color rather than an - outlined polygon, using the same arguments and positioning as the - corresponding `Dp' command. This command is a `gtroff' extension. - -`Dt N' - Set the current line thickness to N (an integer in basic units - `u') if N>0; if N=0 select the smallest available line thickness; - if N<0 set the line thickness proportional to the point size (this - is the default before the first `Dt' command was specified). For - historical reasons, the horizontal position is changed by adding - the argument to the actual horizontal position, while the vertical - position is not changed. Although this doesn't make sense it is - kept for compatibility. This command is a `gtroff' extension. - - - -File: groff, Node: Device Control Commands, Next: Obsolete Command, Prev: Graphics Commands, Up: Command Reference - -Device Control Commands -....................... - - Each device control command starts with the letter `x', followed by -a space character (optional or arbitrary space or tab in `gtroff') and -a subcommand letter or word; each argument (if any) must be preceded by -a syntactical space. All `x' commands are terminated by a syntactical -line break; no device control command can be followed by another -command on the same line (except a comment). - - The subcommand is basically a single letter, but to increase -readability, it can be written as a word, i.e., an arbitrary sequence -of characters terminated by the next tab, space, or newline character. -All characters of the subcommand word but the first are simply ignored. -For example, `gtroff' outputs the initialization command `x i' as -`x init' and the resolution command `x r' as `x res'. - - In the following, the syntax element means a -syntactical line break (*note Separation::). - -`xF NAME' - The `F' stands for FILENAME. - - Use NAME as the intended name for the current file in error - reports. This is useful for remembering the original file name - when `gtroff' uses an internal piping mechanism. The input file is - not changed by this command. This command is a `gtroff' extension. - -`xf N S' - The `f' stands for FONT. - - Mount font position N (a non-negative integer) with font named S - (a text word). *Note Font Positions::. - -`xH N' - The `H' stands for HEIGHT. - - Set glyph height to N (a positive integer in scaled points `z'). - AT&T `troff' uses the unit points (`p') instead. *Note Output - Language Compatibility::. - -`xi' - The `i' stands for INIT. - - Initialize device. This is the third command of the prologue. - -`xp' - The `p' stands for PAUSE. - - Parsed but ignored. The original UNIX troff manual writes - - pause device, can be restarted - -`xr N H V' - The `r' stands for RESOLUTION. - - Resolution is N, while H is the minimal horizontal motion, and V - the minimal vertical motion possible with this device; all - arguments are positive integers in basic units `u' per inch. This - is the second command of the prologue. - -`xS N' - The `S' stands for SLANT. - - Set slant to N (an integer in basic units `u'). - -`xs' - The `s' stands for STOP. - - Terminates the processing of the current file; issued as the last - command of any intermediate troff output. - -`xt' - The `t' stands for TRAILER. - - Generate trailer information, if any. In GTROFF, this is actually - just ignored. - -`xT XXX' - The `T' stands for TYPESETTER. - - Set name of device to word XXX, a sequence of characters ended by - the next white space character. The possible device names coincide - with those from the `groff' `-T' option. This is the first - command of the prologue. - -`xu N' - The `u' stands for UNDERLINE. - - Configure underlining of spaces. If N is 1, start underlining of - spaces; if N is 0, stop underlining of spaces. This is needed for - the `cu' request in nroff mode and is ignored otherwise. This - command is a `gtroff' extension. - -`xX ANYTHING' - The `x' stands for X-ESCAPE. - - Send string ANYTHING uninterpreted to the device. If the line - following this command starts with a `+' character this line is - interpreted as a continuation line in the following sense. The - `+' is ignored, but a newline character is sent instead to the - device, the rest of the line is sent uninterpreted. The same - applies to all following lines until the first character of a line - is not a `+' character. This command is generated by the `gtroff' - escape sequence `\X'. The line-continuing feature is a `gtroff' - extension. - - - -File: groff, Node: Obsolete Command, Prev: Device Control Commands, Up: Command Reference - -Obsolete Command -................ - - In AT&T `troff' output, the writing of a single glyph is mostly done -by a very strange command that combines a horizontal move and a single -character giving the glyph name. It doesn't have a command code, but -is represented by a 3-character argument consisting of exactly 2 digits -and a character. - -DDG - Move right DD (exactly two decimal digits) basic units `u', then - print glyph G (represented as a single character). - - In `gtroff', arbitrary syntactical space around and within this - command is allowed to be added. Only when a preceding command on - the same line ends with an argument of variable length a - separating space is obligatory. In AT&T `troff', large clusters - of these and other commands are used, mostly without spaces; this - made such output almost unreadable. - - - For modern high-resolution devices, this command does not make sense -because the width of the glyphs can become much larger than two decimal -digits. In `gtroff', this is only used for the devices `X75', -`X75-12', `X100', and `X100-12'. For other devices, the commands `t' -and `u' provide a better functionality. - - -File: groff, Node: Intermediate Output Examples, Next: Output Language Compatibility, Prev: Command Reference, Up: gtroff Output - -Intermediate Output Examples ----------------------------- - - This section presents the intermediate output generated from the same -input for three different devices. The input is the sentence `hell -world' fed into `gtroff' on the command line. - -High-resolution device `ps' - This is the standard output of `gtroff' if no `-T' option is given. - - shell> echo "hell world" | groff -Z -T ps - - x T ps - x res 72000 1 1 - x init - p1 - x font 5 TR - f5 - s10000 - V12000 - H72000 - thell - wh2500 - tw - H96620 - torld - n12000 0 - x trailer - V792000 - x stop - - This output can be fed into `grops' to get its representation as a - PostScript file. - -Low-resolution device `latin1' - This is similar to the high-resolution device except that the - positioning is done at a minor scale. Some comments (lines - starting with `#') were added for clarification; they were not - generated by the formatter. - - shell> echo "hell world" | groff -Z -T latin1 - - # prologue - x T latin1 - x res 240 24 40 - x init - # begin a new page - p1 - # font setup - x font 1 R - f1 - s10 - # initial positioning on the page - V40 - H0 - # write text `hell' - thell - # inform about space, and issue a horizontal jump - wh24 - # write text `world' - tworld - # announce line break, but do nothing because ... - n40 0 - # ... the end of the document has been reached - x trailer - V2640 - x stop - - This output can be fed into `grotty' to get a formatted text - document. - -AT&T `troff' output - Since a computer monitor has a very low resolution compared to - modern printers the intermediate output for the X Window devices - can use the jump-and-write command with its 2-digit displacements. - - shell> echo "hell world" | groff -Z -T X100 - - x T X100 - x res 100 1 1 - x init - p1 - x font 5 TR - f5 - s10 - V16 - H100 - # write text with jump-and-write commands - ch07e07l03lw06w11o07r05l03dh7 - n16 0 - x trailer - V1100 - x stop - - This output can be fed into `xditview' or `gxditview' for - displaying in X. - - Due to the obsolete jump-and-write command, the text clusters in - the AT&T `troff' output are almost unreadable. - - - -File: groff, Node: Output Language Compatibility, Prev: Intermediate Output Examples, Up: gtroff Output - -Output Language Compatibility ------------------------------ - - The intermediate output language of AT&T `troff' was first -documented in the UNIX troff manual, with later additions documented in -`A Typesetter-indenpendent TROFF', written by Brian Kernighan. - - The `gtroff' intermediate output format is compatible with this -specification except for the following features. - - * The classical quasi device independence is not yet implemented. - - * The old hardware was very different from what we use today. So the - `groff' devices are also fundamentally different from the ones in - AT&T `troff'. For example, the AT&T PostScript device is called - `post' and has a resolution of only 720 units per inch, suitable - for printers 20 years ago, while `groff''s `ps' device has a - resolution of 72000 units per inch. Maybe, by implementing some - rescaling mechanism similar to the classical quasi device - independence, `groff' could emulate AT&T's `post' device. - - * The B-spline command `D~' is correctly handled by the intermediate - output parser, but the drawing routines aren't implemented in some - of the postprocessor programs. - - * The argument of the commands `s' and `x H' has the implicit unit - scaled point `z' in `gtroff', while AT&T `troff' has point (`p'). - This isn't an incompatibility but a compatible extension, for both - units coincide for all devices without a `sizescale' parameter in - the `DESC' file, including all postprocessors from AT&T and - `groff''s text devices. The few `groff' devices with a - `sizescale' parameter either do not exist for AT&T `troff', have a - different name, or seem to have a different resolution. So - conflicts are very unlikely. - - * The position changing after the commands `Dp', `DP', and `Dt' is - illogical, but as old versions of `gtroff' used this feature it is - kept for compatibility reasons. - - - -File: groff, Node: Font Files, Prev: gtroff Output, Up: File formats - -Font Files -========== - - The `gtroff' font format is roughly a superset of the `ditroff' font -format (as used in later versions of AT&T `troff' and its descendants). -Unlike the `ditroff' font format, there is no associated binary -format; all files are text files.(1) (*note Font Files-Footnote-1::) -The font files for device NAME are stored in a directory `devNAME'. -There are two types of file: a device description file called `DESC' -and for each font F a font file called `F'. - -* Menu: - -* DESC File Format:: -* Font File Format:: - - -File: groff, Node: Font Files-Footnotes, Up: Font Files - - (1) Plan 9 `troff' has also abandoned the binary format. - diff -ruN groff-1.19/doc/groff-9 groff-1.19.1/doc/groff-9 --- groff-1.19/doc/groff-9 Tue Apr 29 15:37:37 2003 +++ groff-1.19.1/doc/groff-9 Thu Jan 1 01:00:00 1970 @@ -1,985 +0,0 @@ -This is groff, produced by makeinfo version 4.3d from ./groff.texinfo. - -This manual documents GNU `troff' version 1.19. - - Copyright (C) 1994-2000, 2001, 2002, 2003 Free Software Foundation, -Inc. - - Permission is granted to copy, distribute and/or modify this - document under the terms of the GNU Free Documentation License, - Version 1.1 or any later version published by the Free Software - Foundation; with no Invariant Sections, with the Front-Cover texts - being `A GNU Manual," and with the Back-Cover Texts as in (a) - below. A copy of the license is included in the section entitled - `GNU Free Documentation License." - - (a) The FSF's Back-Cover Text is: `You have freedom to copy and - modify this GNU Manual, like GNU software. Copies published by - the Free Software Foundation raise funds for GNU development." - -INFO-DIR-SECTION Typesetting -START-INFO-DIR-ENTRY -* Groff: (groff). The GNU troff document formatting system. -END-INFO-DIR-ENTRY - - -File: groff, Node: DESC File Format, Next: Font File Format, Prev: Font Files, Up: Font Files - -`DESC' File Format ------------------- - - The `DESC' file can contain the following types of line. Except for -the `charset' keyword which must comes last (if at all), the order of -the lines is not important. - -`res N' - There are N machine units per inch. - -`hor N' - The horizontal resolution is N machine units. All horizontal - quantities are rounded to be multiples of this value. - -`vert N' - The vertical resolution is N machine units. All vertical - quantities are rounded to be multiples of this value. - -`sizescale N' - The scale factor for point sizes. By default this has a value - of 1. One scaled point is equal to one point/N. The arguments to - the `unitwidth' and `sizes' commands are given in scaled points. - *Note Fractional Type Sizes::, for more information. - -`unitwidth N' - Quantities in the font files are given in machine units for fonts - whose point size is N scaled points. - -`prepro PROGRAM' - Call PROGRAM as a preprocessor. Currently, this keyword is used - by `groff' with option `-Thtml' only. - -`postpro PROGRAM' - Call PROGRAM as a postprocessor. For example, the line - - - postpro grodvi - - in the file `devdvi/DESC' makes `groff' call `grodvi' if option - `-Tdvi' is given (and `-Z' isn't used). - -`tcommand' - This means that the postprocessor can handle the `t' and `u' - intermediate output commands. - -`sizes S1 S2 ... SN 0' - This means that the device has fonts at S1, S2, ... SN scaled - points. The list of sizes must be terminated by 0 (this is digit - zero). Each SI can also be a range of sizes M-N. The list can - extend over more than one line. - -`styles S1 S2 ... SM' - The first M font positions are associated with styles S1 ... SM. - -`fonts N F1 F2 F3 ... FN' - Fonts F1 ... FN are mounted in the font positions M+1, ..., M+N - where M is the number of styles. This command may extend over - more than one line. A font name of 0 means no font is mounted on - the corresponding font position. - -`family FAM' - The default font family is FAM. - -`use_charnames_in_special' - This command indicates that `gtroff' should encode special - characters inside special commands. Currently, this is only used - by the HTML output device. *Note Postprocessor Access::. - -`papersize STRING ...' - Select a paper size. Valid values for STRING are the ISO paper - types `A0'-`A7', `B0'-`B7', `C0'-`C7', `D0'-`D7', `DL', and the US - paper types `letter', `legal', `tabloid', `ledger', `statement', - `executive', `com10', and `monarch'. Case is not significant for - STRING if it holds predefined paper types. Alternatively, STRING - can be a file name (e.g. `/etc/papersize'); if the file can be - opened, `groff' reads the first line and tests for the above paper - sizes. Finally, STRING can be a custom paper size in the format - `LENGTH,WIDTH' (no spaces before and after the comma). Both - LENGTH and WIDTH must have a unit appended; valid values are `i' - for inches, `C' for centimeters, `p' for points, and `P' for - picas. Example: `12c,235p'. An argument which starts with a - digit is always treated as a custom paper format. `papersize' - sets both the vertical and horizontal dimension of the output - medium. - - More than one argument can be specified; `groff' scans from left to - right and uses the first valid paper specification. - -`pass_filenames' - Tell `gtroff' to emit the name of the source file currently being - processed. This is achieved by the intermediate output command - `F'. Currently, this is only used by the HTML output device. - -`print PROGRAM' - Use PROGRAM as a spooler program for printing. If omitted, the - `-l' and `-L' options of `groff' are ignored. - -`charset' - This line and everything following in the file are ignored. It is - allowed for the sake of backwards compatibility. - - The `res', `unitwidth', `fonts', and `sizes' lines are mandatory. -Other commands are ignored by `gtroff' but may be used by -postprocessors to store arbitrary information about the device in the -`DESC' file. - - Here a list of obsolete keywords which are recognized by `groff' but -completely ignored: `spare1', `spare2', `biggestfont'. - - -File: groff, Node: Font File Format, Prev: DESC File Format, Up: Font Files - -Font File Format ----------------- - - A "font file", also (and probably better) called a "font description -file", has two sections. The first section is a sequence of lines each -containing a sequence of blank delimited words; the first word in the -line is a key, and subsequent words give a value for that key. - -`name F' - The name of the font is F. - -`spacewidth N' - The normal width of a space is N. - -`slant N' - The glyphs of the font have a slant of N degrees. (Positive means - forward.) - -`ligatures LIG1 LIG2 ... LIGN [0]' - Glyphs LIG1, LIG2, ..., LIGN are ligatures; possible ligatures are - `ff', `fi', `fl', `ffi' and `ffl'. For backwards compatibility, - the list of ligatures may be terminated with a 0. The list of - ligatures may not extend over more than one line. - -`special' - The font is "special"; this means that when a glyph is requested - that is not present in the current font, it is searched for in any - special fonts that are mounted. - - Other commands are ignored by `gtroff' but may be used by -postprocessors to store arbitrary information about the font in the font -file. - - The first section can contain comments which start with the `#' -character and extend to the end of a line. - - The second section contains one or two subsections. It must contain -a `charset' subsection and it may also contain a `kernpairs' -subsection. These subsections can appear in any order. Each -subsection starts with a word on a line by itself. - - The word `charset' starts the character set subsection.(1) (*note -Font File Format-Footnote-1::) The `charset' line is followed by a -sequence of lines. Each line gives information for one glyph. A line -comprises a number of fields separated by blanks or tabs. The format is - - NAME METRICS TYPE CODE [ENTITY-NAME] [`--' COMMENT] - -NAME identifies the glyph name(2) (*note Font File Format-Footnote-2::): -If NAME is a single character C then it corresponds to the `gtroff' -input character C; if it is of the form `\C' where C is a single -character, then it corresponds to the special character `\[C]'; -otherwise it corresponds to the special character `\[NAME]'. If it is -exactly two characters XX it can be entered as `\(XX'. Note that -single-letter special characters can't be accessed as `\C'; the only -exception is `\-' which is identical to `\[-]'. - - `gtroff' supports 8-bit input characters; however some utilities -have difficulties with eight-bit characters. For this reason, there is -a convention that the entity name `charN' is equivalent to the single -input character whose code is N. For example, `char163' would be -equivalent to the character with code 163 which is the pounds sterling -sign in the ISO Latin-1 character set. You shouldn't use `charN' -entities in font description files since they are related to input, not -output. Otherwise, you get hard-coded connections between input and -output encoding which prevents use of different (input) character sets. - - The name `---' is special and indicates that the glyph is unnamed; -such glyphs can only be used by means of the `\N' escape sequence in -`gtroff'. - - The TYPE field gives the glyph type: - -`1' - the glyph has a descender, for example, `p'; - -`2' - the glyph has an ascender, for example, `b'; - -`3' - the glyph has both an ascender and a descender, for example, `('. - - The CODE field gives the code which the postprocessor uses to print -the glyph. The glyph can also be input to `gtroff' using this code by -means of the `\N' escape sequence. CODE can be any integer. If it -starts with `0' it is interpreted as octal; if it starts with `0x' or -`0X' it is interpreted as hexadecimal. Note, however, that the `\N' -escape sequence only accepts a decimal integer. - - The ENTITY-NAME field gives an ASCII string identifying the glyph -which the postprocessor uses to print the `gtroff' glyph NAME. This -field is optional and has been introduced so that the HTML device -driver can encode its character set. For example, the glyph `\[Po]' is -represented as `£' in HTML 4.0. - - Anything on the line after the ENTITY-NAME field resp. after `--' -will be ignored. - - The METRICS field has the form: - - WIDTH[`,'HEIGHT[`,'DEPTH[`,'ITALIC-CORRECTION - [`,'LEFT-ITALIC-CORRECTION[`,'SUBSCRIPT-CORRECTION]]]]] - -There must not be any spaces between these subfields (it has been split -here into two lines for better legibility only). Missing subfields are -assumed to be 0. The subfields are all decimal integers. Since there -is no associated binary format, these values are not required to fit -into a variable of type `char' as they are in `ditroff'. The WIDTH -subfield gives the width of the glyph. The HEIGHT subfield gives the -height of the glyph (upwards is positive); if a glyph does not extend -above the baseline, it should be given a zero height, rather than a -negative height. The DEPTH subfield gives the depth of the glyph, that -is, the distance from the baseline to the lowest point below the -baseline to which the glyph extends (downwards is positive); if a glyph -does not extend below the baseline, it should be given a zero depth, -rather than a negative depth. The ITALIC-CORRECTION subfield gives the -amount of space that should be added after the glyph when it is -immediately to be followed by a glyph from a roman font. The -LEFT-ITALIC-CORRECTION subfield gives the amount of space that should -be added before the glyph when it is immediately to be preceded by a -glyph from a roman font. The SUBSCRIPT-CORRECTION gives the amount of -space that should be added after a glyph before adding a subscript. -This should be less than the italic correction. - - A line in the `charset' section can also have the format - - - NAME " - -This indicates that NAME is just another name for the glyph mentioned -in the preceding line. - - The word `kernpairs' starts the kernpairs section. This contains a -sequence of lines of the form: - - - C1 C2 N - -This means that when glyph C1 appears next to glyph C2 the space -between them should be increased by N. Most entries in the kernpairs -section have a negative value for N. - - -File: groff, Node: Font File Format-Footnotes, Up: Font File Format - - (1) This keyword is misnamed since it starts a list of ordered -glyphs, not characters. - - (2) The distinction between input, characters, and output, glyphs, -is not clearly separated in the terminology of `groff'; for example, -the `char' request should be called `glyph' since it defines an output -entity. - - -File: groff, Node: Installation, Next: Copying This Manual, Prev: File formats, Up: Top - -Installation -************ - - -File: groff, Node: Copying This Manual, Next: Request Index, Prev: Installation, Up: Top - -Copying This Manual -******************* - -* Menu: - -* GNU Free Documentation License:: License for copying this manual. - - -File: groff, Node: GNU Free Documentation License, Up: Copying This Manual - -GNU Free Documentation License -============================== - - Version 1.1, March 2000 - Copyright (C) 2000 Free Software Foundation, Inc. - 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. - - 0. PREAMBLE - - The purpose of this License is to make a manual, textbook, or other - written document "free" in the sense of freedom: to assure everyone - the effective freedom to copy and redistribute it, with or without - modifying it, either commercially or noncommercially. Secondarily, - this License preserves for the author and publisher a way to get - credit for their work, while not being considered responsible for - modifications made by others. - - This License is a kind of "copyleft", which means that derivative - works of the document must themselves be free in the same sense. - It complements the GNU General Public License, which is a copyleft - license designed for free software. - - We have designed this License in order to use it for manuals for - free software, because free software needs free documentation: a - free program should come with manuals providing the same freedoms - that the software does. But this License is not limited to - software manuals; it can be used for any textual work, regardless - of subject matter or whether it is published as a printed book. - We recommend this License principally for works whose purpose is - instruction or reference. - - 1. APPLICABILITY AND DEFINITIONS - - This License applies to any manual or other work that contains a - notice placed by the copyright holder saying it can be distributed - under the terms of this License. The "Document", below, refers to - any such manual or work. Any member of the public is a licensee, - and is addressed as "you". - - A "Modified Version" of the Document means any work containing the - Document or a portion of it, either copied verbatim, or with - modifications and/or translated into another language. - - A "Secondary Section" is a named appendix or a front-matter - section of the Document that deals exclusively with the - relationship of the publishers or authors of the Document to the - Document's overall subject (or to related matters) and contains - nothing that could fall directly within that overall subject. - (For example, if the Document is in part a textbook of - mathematics, a Secondary Section may not explain any mathematics.) - The relationship could be a matter of historical connection with - the subject or with related matters, or of legal, commercial, - philosophical, ethical or political position regarding them. - - The "Invariant Sections" are certain Secondary Sections whose - titles are designated, as being those of Invariant Sections, in - the notice that says that the Document is released under this - License. - - The "Cover Texts" are certain short passages of text that are - listed, as Front-Cover Texts or Back-Cover Texts, in the notice - that says that the Document is released under this License. - - A "Transparent" copy of the Document means a machine-readable copy, - represented in a format whose specification is available to the - general public, whose contents can be viewed and edited directly - and straightforwardly with generic text editors or (for images - composed of pixels) generic paint programs or (for drawings) some - widely available drawing editor, and that is suitable for input to - text formatters or for automatic translation to a variety of - formats suitable for input to text formatters. A copy made in an - otherwise Transparent file format whose markup has been designed - to thwart or discourage subsequent modification by readers is not - Transparent. A copy that is not "Transparent" is called "Opaque". - - Examples of suitable formats for Transparent copies include plain - ASCII without markup, Texinfo input format, LaTeX input format, - SGML or XML using a publicly available DTD, and - standard-conforming simple HTML designed for human modification. - Opaque formats include PostScript, PDF, proprietary formats that - can be read and edited only by proprietary word processors, SGML - or XML for which the DTD and/or processing tools are not generally - available, and the machine-generated HTML produced by some word - processors for output purposes only. - - The "Title Page" means, for a printed book, the title page itself, - plus such following pages as are needed to hold, legibly, the - material this License requires to appear in the title page. For - works in formats which do not have any title page as such, "Title - Page" means the text near the most prominent appearance of the - work's title, preceding the beginning of the body of the text. - - 2. VERBATIM COPYING - - You may copy and distribute the Document in any medium, either - commercially or noncommercially, provided that this License, the - copyright notices, and the license notice saying this License - applies to the Document are reproduced in all copies, and that you - add no other conditions whatsoever to those of this License. You - may not use technical measures to obstruct or control the reading - or further copying of the copies you make or distribute. However, - you may accept compensation in exchange for copies. If you - distribute a large enough number of copies you must also follow - the conditions in section 3. - - You may also lend copies, under the same conditions stated above, - and you may publicly display copies. - - 3. COPYING IN QUANTITY - - If you publish printed copies of the Document numbering more than - 100, and the Document's license notice requires Cover Texts, you - must enclose the copies in covers that carry, clearly and legibly, - all these Cover Texts: Front-Cover Texts on the front cover, and - Back-Cover Texts on the back cover. Both covers must also clearly - and legibly identify you as the publisher of these copies. The - front cover must present the full title with all words of the - title equally prominent and visible. You may add other material - on the covers in addition. Copying with changes limited to the - covers, as long as they preserve the title of the Document and - satisfy these conditions, can be treated as verbatim copying in - other respects. - - If the required texts for either cover are too voluminous to fit - legibly, you should put the first ones listed (as many as fit - reasonably) on the actual cover, and continue the rest onto - adjacent pages. - - If you publish or distribute Opaque copies of the Document - numbering more than 100, you must either include a - machine-readable Transparent copy along with each Opaque copy, or - state in or with each Opaque copy a publicly-accessible - computer-network location containing a complete Transparent copy - of the Document, free of added material, which the general - network-using public has access to download anonymously at no - charge using public-standard network protocols. If you use the - latter option, you must take reasonably prudent steps, when you - begin distribution of Opaque copies in quantity, to ensure that - this Transparent copy will remain thus accessible at the stated - location until at least one year after the last time you - distribute an Opaque copy (directly or through your agents or - retailers) of that edition to the public. - - It is requested, but not required, that you contact the authors of - the Document well before redistributing any large number of - copies, to give them a chance to provide you with an updated - version of the Document. - - 4. MODIFICATIONS - - You may copy and distribute a Modified Version of the Document - under the conditions of sections 2 and 3 above, provided that you - release the Modified Version under precisely this License, with - the Modified Version filling the role of the Document, thus - licensing distribution and modification of the Modified Version to - whoever possesses a copy of it. In addition, you must do these - things in the Modified Version: - - A. Use in the Title Page (and on the covers, if any) a title - distinct from that of the Document, and from those of - previous versions (which should, if there were any, be listed - in the History section of the Document). You may use the - same title as a previous version if the original publisher of - that version gives permission. - - B. List on the Title Page, as authors, one or more persons or - entities responsible for authorship of the modifications in - the Modified Version, together with at least five of the - principal authors of the Document (all of its principal - authors, if it has less than five). - - C. State on the Title page the name of the publisher of the - Modified Version, as the publisher. - - D. Preserve all the copyright notices of the Document. - - E. Add an appropriate copyright notice for your modifications - adjacent to the other copyright notices. - - F. Include, immediately after the copyright notices, a license - notice giving the public permission to use the Modified - Version under the terms of this License, in the form shown in - the Addendum below. - - G. Preserve in that license notice the full lists of Invariant - Sections and required Cover Texts given in the Document's - license notice. - - H. Include an unaltered copy of this License. - - I. Preserve the section entitled "History", and its title, and - add to it an item stating at least the title, year, new - authors, and publisher of the Modified Version as given on - the Title Page. If there is no section entitled "History" in - the Document, create one stating the title, year, authors, - and publisher of the Document as given on its Title Page, - then add an item describing the Modified Version as stated in - the previous sentence. - - J. Preserve the network location, if any, given in the Document - for public access to a Transparent copy of the Document, and - likewise the network locations given in the Document for - previous versions it was based on. These may be placed in - the "History" section. You may omit a network location for a - work that was published at least four years before the - Document itself, or if the original publisher of the version - it refers to gives permission. - - K. In any section entitled "Acknowledgments" or "Dedications", - preserve the section's title, and preserve in the section all - the substance and tone of each of the contributor - acknowledgments and/or dedications given therein. - - L. Preserve all the Invariant Sections of the Document, - unaltered in their text and in their titles. Section numbers - or the equivalent are not considered part of the section - titles. - - M. Delete any section entitled "Endorsements". Such a section - may not be included in the Modified Version. - - N. Do not retitle any existing section as "Endorsements" or to - conflict in title with any Invariant Section. - - If the Modified Version includes new front-matter sections or - appendices that qualify as Secondary Sections and contain no - material copied from the Document, you may at your option - designate some or all of these sections as invariant. To do this, - add their titles to the list of Invariant Sections in the Modified - Version's license notice. These titles must be distinct from any - other section titles. - - You may add a section entitled "Endorsements", provided it contains - nothing but endorsements of your Modified Version by various - parties--for example, statements of peer review or that the text - has been approved by an organization as the authoritative - definition of a standard. - - You may add a passage of up to five words as a Front-Cover Text, - and a passage of up to 25 words as a Back-Cover Text, to the end - of the list of Cover Texts in the Modified Version. Only one - passage of Front-Cover Text and one of Back-Cover Text may be - added by (or through arrangements made by) any one entity. If the - Document already includes a cover text for the same cover, - previously added by you or by arrangement made by the same entity - you are acting on behalf of, you may not add another; but you may - replace the old one, on explicit permission from the previous - publisher that added the old one. - - The author(s) and publisher(s) of the Document do not by this - License give permission to use their names for publicity for or to - assert or imply endorsement of any Modified Version. - - 5. COMBINING DOCUMENTS - - You may combine the Document with other documents released under - this License, under the terms defined in section 4 above for - modified versions, provided that you include in the combination - all of the Invariant Sections of all of the original documents, - unmodified, and list them all as Invariant Sections of your - combined work in its license notice. - - The combined work need only contain one copy of this License, and - multiple identical Invariant Sections may be replaced with a single - copy. If there are multiple Invariant Sections with the same name - but different contents, make the title of each such section unique - by adding at the end of it, in parentheses, the name of the - original author or publisher of that section if known, or else a - unique number. Make the same adjustment to the section titles in - the list of Invariant Sections in the license notice of the - combined work. - - In the combination, you must combine any sections entitled - "History" in the various original documents, forming one section - entitled "History"; likewise combine any sections entitled - "Acknowledgments", and any sections entitled "Dedications". You - must delete all sections entitled "Endorsements." - - 6. COLLECTIONS OF DOCUMENTS - - You may make a collection consisting of the Document and other - documents released under this License, and replace the individual - copies of this License in the various documents with a single copy - that is included in the collection, provided that you follow the - rules of this License for verbatim copying of each of the - documents in all other respects. - - You may extract a single document from such a collection, and - distribute it individually under this License, provided you insert - a copy of this License into the extracted document, and follow - this License in all other respects regarding verbatim copying of - that document. - - 7. AGGREGATION WITH INDEPENDENT WORKS - - A compilation of the Document or its derivatives with other - separate and independent documents or works, in or on a volume of - a storage or distribution medium, does not as a whole count as a - Modified Version of the Document, provided no compilation - copyright is claimed for the compilation. Such a compilation is - called an "aggregate", and this License does not apply to the - other self-contained works thus compiled with the Document, on - account of their being thus compiled, if they are not themselves - derivative works of the Document. - - If the Cover Text requirement of section 3 is applicable to these - copies of the Document, then if the Document is less than one - quarter of the entire aggregate, the Document's Cover Texts may be - placed on covers that surround only the Document within the - aggregate. Otherwise they must appear on covers around the whole - aggregate. - - 8. TRANSLATION - - Translation is considered a kind of modification, so you may - distribute translations of the Document under the terms of section - 4. Replacing Invariant Sections with translations requires special - permission from their copyright holders, but you may include - translations of some or all Invariant Sections in addition to the - original versions of these Invariant Sections. You may include a - translation of this License provided that you also include the - original English version of this License. In case of a - disagreement between the translation and the original English - version of this License, the original English version will prevail. - - 9. TERMINATION - - You may not copy, modify, sublicense, or distribute the Document - except as expressly provided for under this License. Any other - attempt to copy, modify, sublicense or distribute the Document is - void, and will automatically terminate your rights under this - License. However, parties who have received copies, or rights, - from you under this License will not have their licenses - terminated so long as such parties remain in full compliance. - - 10. FUTURE REVISIONS OF THIS LICENSE - - The Free Software Foundation may publish new, revised versions of - the GNU Free Documentation License from time to time. Such new - versions will be similar in spirit to the present version, but may - differ in detail to address new problems or concerns. See - `http://www.gnu.org/copyleft/'. - - Each version of the License is given a distinguishing version - number. If the Document specifies that a particular numbered - version of this License "or any later version" applies to it, you - have the option of following the terms and conditions either of - that specified version or of any later version that has been - published (not as a draft) by the Free Software Foundation. If - the Document does not specify a version number of this License, - you may choose any version ever published (not as a draft) by the - Free Software Foundation. - -ADDENDUM: How to use this License for your documents ----------------------------------------------------- - - To use this License in a document you have written, include a copy of -the License in the document and put the following copyright and license -notices just after the title page: - - Copyright (C) YEAR YOUR NAME. - Permission is granted to copy, distribute and/or modify this document - under the terms of the GNU Free Documentation License, Version 1.1 - or any later version published by the Free Software Foundation; - with the Invariant Sections being LIST THEIR TITLES, with the - Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. - A copy of the license is included in the section entitled ``GNU - Free Documentation License''. - - If you have no Invariant Sections, write "with no Invariant Sections" -instead of saying which ones are invariant. If you have no Front-Cover -Texts, write "no Front-Cover Texts" instead of "Front-Cover Texts being -LIST"; likewise for Back-Cover Texts. - - If your document contains nontrivial examples of program code, we -recommend releasing these examples in parallel under your choice of -free software license, such as the GNU General Public License, to -permit their use in free software. - - -File: groff, Node: Request Index, Next: Escape Index, Prev: Copying This Manual, Up: Top - -Request Index -************* - - Requests appear without the leading control character (normally -either `.' or `''). - -* Menu: - -* ab: Debugging. -* ad: Manipulating Filling and Adjusting. -* af: Assigning Formats. -* aln: Setting Registers. -* als: Strings. -* am: Writing Macros. -* am1: Writing Macros. -* ami: Writing Macros. -* as: Strings. -* as1: Strings. -* asciify: Diversions. -* backtrace: Debugging. -* bd: Artificial Fonts. -* blm: Blank Line Traps. -* box: Diversions. -* boxa: Diversions. -* bp: Page Control. -* br: Manipulating Filling and Adjusting. -* break: while. -* brp: Manipulating Filling and Adjusting. -* c2: Character Translations. -* cc: Character Translations. -* ce: Manipulating Filling and Adjusting. -* cf: I/O. -* cflags: Using Symbols. -* ch: Page Location Traps. -* char: Using Symbols. -* chop: Strings. -* close: I/O. -* color: Colors. -* composite: Using Symbols. -* continue: while. -* cp: Implementation Differences. -* cs: Artificial Fonts. -* cu: Artificial Fonts. -* da: Diversions. -* de: Writing Macros. -* de1: Writing Macros. -* defcolor: Colors. -* dei: Writing Macros. -* di: Diversions. -* do: Implementation Differences. -* ds: Strings. -* ds1: Strings. -* dt: Diversion Traps. -* ec: Character Translations. -* ecr: Character Translations. -* ecs: Character Translations. -* el: if-else. -* em: End-of-input Traps. -* eo: Character Translations. -* ev: Environments. -* evc: Environments. -* ex: Debugging. -* fam: Font Families. -* fc: Fields. -* fchar: Using Symbols. -* fi: Manipulating Filling and Adjusting. -* fl: Debugging. -* fp: Font Positions. -* fschar: Using Symbols. -* fspecial: Special Fonts. -* ft <1>: Font Positions. -* ft: Changing Fonts. -* ftr: Changing Fonts. -* hc: Manipulating Hyphenation. -* hcode: Manipulating Hyphenation. -* hla: Manipulating Hyphenation. -* hlm: Manipulating Hyphenation. -* hpf: Manipulating Hyphenation. -* hpfa: Manipulating Hyphenation. -* hpfcode: Manipulating Hyphenation. -* hw: Manipulating Hyphenation. -* hy: Manipulating Hyphenation. -* hym: Manipulating Hyphenation. -* hys: Manipulating Hyphenation. -* ie: if-else. -* if: if-else. -* ig: Comments. -* in: Line Layout. -* it: Input Line Traps. -* itc: Input Line Traps. -* kern: Ligatures and Kerning. -* lc: Leaders. -* length: Strings. -* lf: Debugging. -* lg: Ligatures and Kerning. -* linetabs: Tabs and Fields. -* ll: Line Layout. -* ls: Manipulating Spacing. -* lt: Page Layout. -* mc: Miscellaneous. -* mk: Page Motions. -* mso: I/O. -* na: Manipulating Filling and Adjusting. -* ne: Page Control. -* nf: Manipulating Filling and Adjusting. -* nh: Manipulating Hyphenation. -* nm: Miscellaneous. -* nn: Miscellaneous. -* nop: if-else. -* nr <1>: Auto-increment. -* nr: Setting Registers. -* nroff: Troff and Nroff Mode. -* ns: Manipulating Spacing. -* nx: I/O. -* open: I/O. -* opena: I/O. -* os: Page Control. -* output: Diversions. -* pc: Page Layout. -* pi: I/O. -* pl: Page Layout. -* pm: Debugging. -* pn: Page Layout. -* pnr: Debugging. -* po: Line Layout. -* ps: Changing Type Sizes. -* psbb: Miscellaneous. -* pso: I/O. -* ptr: Debugging. -* pvs: Changing Type Sizes. -* rchar: Using Symbols. -* rd: I/O. -* return: Writing Macros. -* rfschar: Using Symbols. -* rj: Manipulating Filling and Adjusting. -* rm: Strings. -* rn: Strings. -* rnn: Setting Registers. -* rr: Setting Registers. -* rs: Manipulating Spacing. -* rt: Page Motions. -* schar: Using Symbols. -* shc: Manipulating Hyphenation. -* shift: Parameters. -* sizes: Changing Type Sizes. -* so: I/O. -* sp: Manipulating Spacing. -* special: Special Fonts. -* spreadwarn: Debugging. -* ss: Manipulating Filling and Adjusting. -* sty: Font Families. -* substring: Strings. -* sv: Page Control. -* sy: I/O. -* ta: Tabs and Fields. -* tc: Tabs and Fields. -* ti: Line Layout. -* tkf: Ligatures and Kerning. -* tl: Page Layout. -* tm: Debugging. -* tm1: Debugging. -* tmc: Debugging. -* tr: Character Translations. -* trf: I/O. -* trin: Character Translations. -* trnt: Character Translations. -* troff: Troff and Nroff Mode. -* uf: Artificial Fonts. -* ul: Artificial Fonts. -* unformat: Diversions. -* vpt: Page Location Traps. -* vs: Changing Type Sizes. -* warn: Debugging. -* warnscale: Debugging. -* wh: Page Location Traps. -* while: while. -* write: I/O. -* writec: I/O. -* writem: I/O. - - -File: groff, Node: Escape Index, Next: Operator Index, Prev: Request Index, Up: Top - -Escape Index -************ - - Any escape sequence `\X' with X not in the list below emits a -warning, printing glyph X. - -* Menu: - -* \: Using Symbols. -* \!: Diversions. -* \": Comments. -* \#: Comments. -* \$: Parameters. -* \$*: Parameters. -* \$0: Parameters. -* \$@: Parameters. -* \%: Manipulating Hyphenation. -* \&: Ligatures and Kerning. -* \': Using Symbols. -* \): Ligatures and Kerning. -* \*: Strings. -* \,: Ligatures and Kerning. -* \-: Using Symbols. -* \.: Character Translations. -* \/: Ligatures and Kerning. -* \0: Page Motions. -* \: Manipulating Hyphenation. -* \: Line Control. -* \: Page Motions. -* \?: Diversions. -* \\: Character Translations. -* \^: Page Motions. -* \`: Using Symbols. -* \a: Leaders. -* \A: Identifiers. -* \b: Drawing Requests. -* \B: Expressions. -* \C: Using Symbols. -* \c: Line Control. -* \D: Drawing Requests. -* \d: Page Motions. -* \E: Character Translations. -* \e: Character Translations. -* \f: Font Positions. -* \F: Font Families. -* \f: Changing Fonts. -* \g: Assigning Formats. -* \h: Page Motions. -* \H: Artificial Fonts. -* \k: Page Motions. -* \L: Drawing Requests. -* \l: Drawing Requests. -* \M: Colors. -* \m: Colors. -* \N: Using Symbols. -* \n <1>: Auto-increment. -* \n: Interpolating Registers. -* \O: Suppressing output. -* \o: Page Motions. -* \p: Manipulating Filling and Adjusting. -* \r: Page Motions. -* \R: Setting Registers. -* \s: Changing Type Sizes. -* \S: Artificial Fonts. -* \t: Tabs and Fields. -* \u: Page Motions. -* \V: I/O. -* \v: Page Motions. -* \w: Page Motions. -* \X: Postprocessor Access. -* \x: Manipulating Spacing. -* \Y: Postprocessor Access. -* \Z: Page Motions. -* \z: Page Motions. -* \{: if-else. -* \|: Page Motions. -* \}: if-else. -* \~: Page Motions. - - -File: groff, Node: Operator Index, Next: Register Index, Prev: Escape Index, Up: Top - -Operator Index -************** - -* Menu: - -* !: Expressions. -* %: Expressions. -* &: Expressions. -* (: Expressions. -* ): Expressions. -* *: Expressions. -* +: Expressions. -* -: Expressions. -* /: Expressions. -* <: Expressions. -* <=: Expressions. -* : Expressions. -* =: Expressions. -* ==: Expressions. -* >: Expressions. -* >=: Expressions. -* >?: Expressions. - diff -ruN groff-1.19/doc/groff.texinfo groff-1.19.1/doc/groff.texinfo --- groff-1.19/doc/groff.texinfo Tue Apr 29 09:20:21 2003 +++ groff-1.19.1/doc/groff.texinfo Wed May 5 18:58:04 2004 @@ -4,7 +4,7 @@ @c Please convert this manual with `texi2dvi -e groff.texinfo' due to @c problems in texinfo regarding expansion of user-defined macros. @c -@c You need texinfo 4.3 or newer to format this document! +@c You need texinfo 4.6 or newer to format this document! @c @c %**start of header (This is for running Texinfo on a region.) @@ -23,7 +23,7 @@ @copying This manual documents GNU @code{troff} version 1.19. -Copyright @copyright{} 1994-2000, 2001, 2002, 2003 +Copyright @copyright{} 1994-2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. @quotation @@ -370,8 +370,8 @@ @titlepage @title groff @subtitle The GNU implementation of @code{troff} -@subtitle Edition 1.19 -@subtitle Spring 2003 +@subtitle Edition 1.19.1 +@subtitle Spring 2004 @author by Trent A.@tie{}Fisher @author and Werner Lemberg (@email{bug-groff@@gnu.org}) @@ -914,7 +914,8 @@ Make programs run by @code{groff} print out their version number. @item -V -Print the pipeline on @code{stdout} instead of executing it. +Print the pipeline on @code{stdout} instead of executing it. If specified +more than once, print the pipeline on @code{stderr} and execute it. @item -z Suppress output from @code{gtroff}. Only error messages are printed. @@ -1153,8 +1154,26 @@ directories (@pxref{Macro Directories}). @item -I@var{dir} -This option is as described in @ref{gsoelim}. It implies the -@option{-s} option. +This option may be used to specify a directory to search for files. +It is passed to the following programs: + +@itemize +@item +@code{gsoelim} (see @ref{gsoelim} for more details); +it also implies @code{groff}'s @option{-s} option. + +@item +@code{gtroff}; it is used to search files named in the @code{psbb} and +@code{so} requests. + +@item +@code{grops}; it is used to search files named in the +@w{@code{\X'ps: import}} and @w{@code{\X'ps: file}} escapes. +@end itemize + +The current directory is always searched first. This option may be specified +more than once; the directories will be searched in the order specified. No +directory search is performed for files specified using an absolute path. @end table @@ -2869,6 +2888,30 @@ Default: 0. @endDefmpreg +@Defmpreg {FPS, ms} +Defines the footnote point size. + +Effective: next footnote. + +Default: @math{@code{@\n[PS]} - 2}. +@endDefmpreg + +@Defmpreg {FVS, ms} +Defines the footnote vertical spacing. + +Effective: next footnote. + +Default: @math{@code{@\n[FPS]} + 2}. +@endDefmpreg + +@Defmpreg {FPD, ms} +Defines the footnote paragraph spacing. + +Effective: next footnote. + +Default: @math{@code{@\n[PD]} / 2}. +@endDefmpreg + @unnumberedsubsubsec Miscellaneous Number Registers @Defmpreg {MINGW, ms} @@ -3076,7 +3119,6 @@ A definitive work that answers all questions and criticisms about the quality and usability of free software. - @end cartouche @endExample @@ -3489,6 +3531,11 @@ The @code{DE} macro ends the display. @endDefmac +@DefmacList {Ds, , ms} +@DefmacListEnd {De, , ms} +These two macros are aliases for @code{DS} and @code{DE}, respectively. +@endDefmac + @sp 1 On occasion, you may want to @dfn{keep} other text together on a page. For example, you may want to keep two paragraphs together, or @@ -5847,28 +5894,37 @@ The following lists some built-in registers which are not described elsewhere in this manual. Any register which begins with a @samp{.} is read-only. A complete listing of all built-in registers can be found in -appendix@tie{}@ref{Register Index}. +@ref{Register Index}. @table @code -@item .F +@item \n[.F] @cindex current input file name register (@code{.F}) @cindex input file name, current, register (@code{.F}) -@vindex .F +@vindex \n[.F] This string-valued register returns the current input file name. -@item .H +@item \n[.H] @cindex horizontal resolution register (@code{.H}) @cindex resolution, horizontal, register (@code{.H}) @vindex .H Horizontal resolution in basic units. -@item .V +@item \n[.U] +@cindex safer mode +@cindex mode, safer +@cindex unsafe mode +@cindex mode, unsafe +If @code{gtroff} is called with the @option{-U} command line option, the +number register @code{.U} is set to@tie{}1, and zero otherwise. +@xref{Groff Options}. + +@item \n[.V] @cindex vertical resolution register (@code{.V}) @cindex resolution, vertical, register (@code{.V}) @vindex .V Vertical resolution in basic units. -@item seconds +@item \n[seconds] @cindex seconds, current time (@code{seconds}) @cindex time, current, seconds (@code{seconds}) @cindex current time, seconds (@code{seconds}) @@ -5877,7 +5933,7 @@ to@tie{}59, but can be up to@tie{}61 to allow for leap seconds. Initialized at start-up of @code{gtroff}. -@item minutes +@item \n[minutes] @cindex minutes, current time (@code{minutes}) @cindex time, current, minutes (@code{minutes}) @cindex current time, minutes (@code{minutes}) @@ -5885,7 +5941,7 @@ The number of minutes after the hour, in the range@tie{}0 to@tie{}59. Initialized at start-up of @code{gtroff}. -@item hours +@item \n[hours] @cindex hours, current time (@code{hours}) @cindex time, current, hours (@code{hours}) @cindex current time, hours (@code{hours}) @@ -5893,32 +5949,32 @@ The number of hours past midnight, in the range@tie{}0 to@tie{}23. Initialized at start-up of @code{gtroff}. -@item dw +@item \n[dw] @cindex day of the week register (@code{dw}) @cindex date, day of the week register (@code{dw}) @vindex dw Day of the week (1-7). -@item dy +@item \n[dy] @cindex day of the month register (@code{dy}) @cindex date, day of the month register (@code{dy}) @vindex dy Day of the month (1-31). -@item mo +@item \n[mo] @cindex month of the year register (@code{mo}) @cindex date, month of the year register (@code{mo}) @vindex mo Current month (1-12). -@item year +@item \n[year] @cindex date, year register (@code{year}, @code{yr}) @cindex year, current, register (@code{year}, @code{yr}) @vindex year The current year. -@item yr -@vindex yr +@item \n[yr] +@vindex \n[yr] The current year minus@tie{}1900. Unfortunately, the documentation of @acronym{UNIX} Version@tie{}7's @code{troff} had a year@tie{}2000 bug: It incorrectly claimed that @code{yr} contains the last two digits of the @@ -5946,9 +6002,9 @@ This document was formatted in \n(y4. @endExample -@item .c +@item \n[.c] @vindex .c -@itemx c. +@itemx \n[c.] @vindex c. @cindex input line number register (@code{.c}, @code{c.}) @cindex line number, input, register (@code{.c}, @code{c.}) @@ -5956,7 +6012,7 @@ whereas @samp{c.} (a @code{gtroff} extension) is writable also, affecting both @samp{.c} and @samp{c.}. -@item ln +@item \n[ln] @vindex ln @cindex output line number register (@code{ln}) @cindex line number, output, register (@code{ln}) @@ -5965,63 +6021,64 @@ @xref{Miscellaneous}, for more information about line numbering. -@item .x +@item \n[.x] @vindex .x @cindex major version number register (@code{.x}) @cindex version number, major, register (@code{.x}) The major version number. For example, if the version number is 1.03 then @code{.x} contains@tie{}@samp{1}. -@item .y +@item \n[.y] @vindex .y @cindex minor version number register (@code{.y}) @cindex version number, minor, register (@code{.y}) The minor version number. For example, if the version number is 1.03 then @code{.y} contains@tie{}@samp{03}. -@item .Y +@item \n[.Y] @vindex .Y @cindex revision number register (@code{.Y}) The revision number of @code{groff}. -@item $$ +@item \n[$$] @vindex $$ @cindex process ID of @code{gtroff} register (@code{$$}) @cindex @code{gtroff}, process ID register (@code{$$}) The process ID of @code{gtroff}. -@item .g +@item \n[.g] @vindex .g @cindex @code{gtroff}, identification register (@code{.g}) @cindex GNU-specific register (@code{.g}) Always@tie{}1. Macros should use this to determine whether they are running under GNU @code{troff}. -@item .A +@item \n[.A] @vindex .A @cindex @acronym{ASCII} approximation output register (@code{.A}) If the command line option @option{-a} is used to produce an @acronym{ASCII} approximation of the output, this is set to@tie{}1, zero otherwise. @xref{Groff Options}. -@item .P +@item \n[.P] @vindex .P This register is set to@tie{}1 (and to@tie{}0 otherwise) if the current page is actually being printed, i.e., if the @option{-o} option is being used to only print selected pages. @xref{Groff Options}, for more information. -@item .T +@item \n[.T] @vindex .T If @code{gtroff} is called with the @option{-T} command line option, the number register @code{.T} is set to@tie{}1, and zero otherwise. @xref{Groff Options}. +@item \*[.T] @stindex .T @cindex output device name string register (@code{.T}) -Additionally, @code{gtroff} predefines a single read-write string -register @code{.T} which contains the current output device (for -example, @samp{latin1} or @samp{ps}). +A single read-write string register which contains the current output +device (for example, @samp{latin1} or @samp{ps}). This is the only +string register defined by @code{gtroff}. @end table @@ -7856,7 +7913,6 @@ The @code{.int} register contains a positive value if the last output line was interrupted with @code{\c}; this is associated with the current environment (@pxref{Environments}). - @endDefesc @c ===================================================================== @@ -7959,7 +8015,6 @@ The current setting of this is available in the @code{.lt} read-only number register; it is associated with the current environment (@pxref{Environments}). - @endDefreq @DefreqList {pn, page} @@ -7977,11 +8032,6 @@ current page plus@tie{}1. @endDefreq -@Defreg {%} -@cindex page number register (@code{%}) -A read-write register holding the current page number. -@endDefreg - @Defreq {pc, [@Var{char}]} @cindex changing the page number character (@code{pc}) @cindex page number character, changing (@code{pc}) @@ -8003,14 +8053,16 @@ @DefreqList {bp, [@Var{page}]} @DefreqItem {bp, @t{+}@Var{page}} -@DefreqListEnd {bp, @t{-}@Var{page}} +@DefreqItem {bp, @t{-}@Var{page}} +@DefregListEnd {%} @cindex new page (@code{bp}) @cindex page, new (@code{bp}) Stop processing the current page and move to the next page. This request causes a break. It can also take an argument to set -(increase, decrease) the page number of the next page. The only +(increase, decrease) the page number of the next page (which actually +becomes the current page after @code{bp} has finished). The difference between @code{bp} and @code{pn} is that @code{pn} does not -cause a break or actually eject a page. +cause a break or actually eject a page. @xref{Page Layout}. @Example .de newpage \" define macro @@ -8027,6 +8079,10 @@ @code{bp} has no effect if not called within the top-level diversion (@pxref{Diversions}). +@cindex page number register (@code{%}) +@cindex current page number (@code{%}) +The read-write register@tie{}@code{%} holds the current page number. + The number register @code{.pe} is set to@tie{}1 while @code{bp} is active. @xref{Page Location Traps}. @endDefreq @@ -8075,6 +8131,9 @@ @endDefreq @Defreg {nl} +@cindex current vertical position (@code{nl}) +@cindex vertical position, current (@code{nl}) +@cindex position, vertical, current (@code{nl}) This register contains the current vertical position. If the vertical position is zero and the top of page transition hasn't happened yet, @code{nl} is set to negative value. @code{gtroff} itself does this at @@ -8612,8 +8671,8 @@ @cindex AGL (adobe glyph list) Glyph names not listed in groff_char(7) are derived algorithmically, using a simplified version of the Adobe Glyph List (AGL) algorithm -described in -@uref{http://partners.adobe.com/asn/developer/typeforum/unicodegn.html}. +which is described in +@uref{http://partners.adobe.com@//asn@//tech@//type@//unicodegn.jsp}. The (frozen) set of glyph names which can't be derived algorithmically is called @dfn{groff glyph list (GGL)}. @@ -8843,14 +8902,14 @@ @cindex @code{ru} glyph, and @code{cflags} @cindex @code{radicalex} glyph, and @code{cflags} @cindex @code{sqrtex} glyph, and @code{cflags} -The character overlaps horizontally (initially the symbols -@samp{\[ul]}, @samp{\[rn]}, @samp{\[ru]}, @samp{\[radicalex}, and -@samp{\[sqrtex]} have this property). +The character overlaps horizontally if used as a horizontal line building +element. Initially the symbols @samp{\[ul]}, @samp{\[rn]}, @samp{\[ru]}, +@samp{\[radicalex]}, and @samp{\[sqrtex]} have this property. @item 16 @cindex @code{br} glyph, and @code{cflags} -The character overlaps vertically (initially symbol @samp{\[br]} has -this property). +The character overlaps vertically if used as vertical line building element. +Initially symbol @samp{\[br]} has this property. @item 32 @cindex transparent characters @@ -9567,8 +9626,12 @@ @cindex @code{.V} register, and @code{vs} @code{gtroff} creates a warning of type @samp{range} if @var{space} is -negative; the vertical spacing is then set to the vertical -resolution (as given in the @code{.V} register). +negative; the vertical spacing is then set to smallest positive value, +the vertical resolution (as given in the @code{.V} register). + +Note that @w{@samp{.vs 0}} isn't saved in a diversion since it doesn't +result in a vertical motion. You explicitly have to repeat this command +before inserting the diversion. The read-only number register @code{.v} contains the current vertical spacing; it is associated with the current environment @@ -9576,32 +9639,36 @@ @endDefreq @cindex vertical line spacing, effective value -The effective vertical line spacing consists of four components. +The effective vertical line spacing consists of four components. Breaking +a line causes the following actions (in the given order). @itemize @bullet @item -The vertical line spacing as set with the @code{vs} request. +@cindex extra pre-vertical line space (@code{\x}) +@cindex line space, extra pre-vertical (@code{\x}) +Move the current point vertically by the @dfn{extra pre-vertical line +space}. This is the minimum value of all @code{\x} escapes with a +negative argument in the current output line. -@cindex post-vertical line spacing -@cindex line spacing, post-vertical (@code{pvs}) @item -The @dfn{post-vertical line spacing} as set with the @code{pvs} request. -This is vertical space which will be added after a line has been -output. +Move the current point vertically by the vertical line spacing as set with +the @code{vs} request. -@cindex extra pre-vertical line space (@code{\x}) -@cindex line space, extra pre-vertical (@code{\x}) @item -The @dfn{extra pre-vertical line space} as set with the @code{\x} request, -using a negative value. This is vertical space which will be added once -before the current line has been output. +Output the current line. +@item @cindex extra post-vertical line space (@code{\x}) @cindex line space, extra post-vertical (@code{\x}) +Move the current point vertically by the @dfn{extra post-vertical line +space}. This is the maximum value of all @code{\x} escapes with a +positive argument in the line which has just been output. + @item -The @dfn{extra post-vertical line space} as set with the @code{\x} request, -using a positive value. This is vertical space which will be added once -after the current line has been output. +@cindex post-vertical line spacing +@cindex line spacing, post-vertical (@code{pvs}) +Move the current point vertically by the @dfn{post-vertical line spacing} +as set with the @code{pvs} request. @end itemize @cindex double-spacing (@code{vs}, @code{pvs}) @@ -10093,7 +10160,7 @@ @item v Always false. This condition is for compatibility with other -@code{troff} versions only. +@code{troff} versions only (identifying a @code{-Tversatec} device). @item '@var{xxx}'@var{yyy}' True if the string @var{xxx} is equal to the string @var{yyy}. Other @@ -10178,11 +10245,12 @@ the formatting can be painful. @Defreq {if, expr anything} + Evaluate the expression @var{expr}, and executes @var{anything} (the -remainder of the line) if @var{expr} evaluates to non-zero (true). -@var{anything} is interpreted as though it was on a line by itself -(except that leading spaces are swallowed). @xref{Expressions}, for -more info. +remainder of the line) if @var{expr} evaluates to a value greater than +zero (true). @var{anything} is interpreted as though it was on a line +by itself (except that leading spaces are swallowed). +@xref{Expressions}, for more info. @Example .nr xxx 1 @@ -10358,7 +10426,8 @@ @DefreqList {de, name [@Var{end}]} @DefreqItem {de1, name [@Var{end}]} -@DefreqListEnd {dei, name [@Var{end}]} +@DefreqItem {dei, name [@Var{end}]} +@DefreqListEnd {dei1, name [@Var{end}]} Define a new macro named @var{name}. @code{gtroff} copies subsequent lines (starting with the next one) into an internal buffer until it encounters the line @samp{..} (two dots). The optional second @@ -10444,6 +10513,9 @@ .de aa bb @endExample +The @code{dei1} request is similar to @code{dei} but with compatibility +mode switched off during execution of the defined macro. + @pindex trace.tmac Using @file{trace.tmac}, you can trace calls to @code{de} and @code{de1}. @@ -10453,7 +10525,8 @@ @DefreqList {am, name [@Var{end}]} @DefreqItem {am1, name [@Var{end}]} -@DefreqListEnd {ami, name [@Var{end}]} +@DefreqItem {ami, name [@Var{end}]} +@DefreqListEnd {ami1, name [@Var{end}]} @cindex appending to a macro (@code{am}) @cindex macro, appending (@code{am}) Works similarly to @code{de} except it appends onto the macro named @@ -10477,6 +10550,9 @@ meaning that @code{gtroff} expands strings whose names are @var{name} or @var{end} before performing the append. +The @code{ami1} request is similar to @code{ami} but compatibility mode +is switched off during execution of the defined macro. + @pindex trace.tmac Using @file{trace.tmac}, you can trace calls to @code{am} and @code{am1}. @endDefreq @@ -10489,8 +10565,12 @@ undefined or if it is defined to be a request; normally they modify the value of an existing object. -@Defreq {return, } +@Defreq {return, [@Var{anything}]} Exit a macro, immediately returning to the caller. + +If called with an argument, exit twice, namely the current macro and the +macro one level higher. This is used to define a wrapper macro for +@code{return} in @file{trace.tmac}. @endDefreq @menu @@ -10548,6 +10628,8 @@ @cindex number of arguments register (@code{.$}) The number of arguments passed to a macro or string. This is a read-only number register. + +Note that the @code{shift} request can change its value. @endDefreg Any individual argument can be retrieved with one of the following @@ -10574,6 +10656,8 @@ request, argument@tie{}@var{i} becomes argument @math{@var{i}-@var{n}}; arguments 1 to@tie{}@var{n} are no longer available. Shifting by negative amounts is currently undefined. + +The register @code{.$} is adjusted accordingly. @endDefreq @DefescList {\\$*, , , } @@ -10879,7 +10963,7 @@ @cindex position, horizontal, in output line, register (@code{.k}) @cindex line, output, horizontal position, register (@code{.k}) A read-only number register containing the current horizontal output -position. +position (relative to the current indentation). @endDefreg @Defesc {\\o, ', abc, '} @@ -11029,7 +11113,8 @@ @cindex line, drawing (@w{@code{\D'l @dots{}'}}) @cindex drawing a line (@w{@code{\D'l @dots{}'}}) Draw a line from the current location to the relative point specified by -(@var{dx},@var{dy}). +(@var{dx},@var{dy}), where positive values mean down and right, +respectively. The end point of the line is the new current location. The following example is a macro for creating a box around a text string; for simplicity, the box margin is taken as a fixed value, 0.2@dmn{m}. @@ -11416,7 +11501,7 @@ would have been but for the trap, and what the vertical position actually is. -Since the @code{.trunc} register is only set by traps and it doesn't make +Since the @code{.trunc} register is only set by traps it doesn't make much sense to use it outside of trap macros. @endDefreg @@ -11442,10 +11527,10 @@ Another line. .br @result{} A line. - .pe=0 - Another line. + .pe=0 + Another line. - .pe=1 + .pe=1 @endExample @endDefreg @@ -11466,7 +11551,7 @@ @cindex diversion traps @cindex traps, diversion -@Defreq {dt, dist macro} +@Defreq {dt, [@Var{dist} @Var{macro}]} @cindex @code{.t} register, and diversions @cindex setting diversion trap (@code{dt}) @cindex diversion trap, setting (@code{dt}) @@ -11474,8 +11559,12 @@ Set a trap @emph{within} a diversion. @var{dist} is the location of the trap (identical to the @code{wh} request; default scaling indicator is -@samp{v}) and @var{macro} is the name of the macro to be invoked. The -number register @code{.t} still works within diversions. +@samp{v}) and @var{macro} is the name of the macro to be invoked. +If called without arguments, the diversion trap is removed. + +Note that there exists only a single diversion trap. + +The number register @code{.t} still works within diversions. @xref{Diversions}, for more information. @endDefreq @@ -12137,7 +12226,8 @@ @DefescList {\\m, , c, } @DefescItem {\\m, @lparen{}, co, } -@DefescListEnd {\\m, @lbrack{}, color, @rbrack} +@DefescItem {\\m, @lbrack{}, color, @rbrack} +@DefregListEnd {.m} Set drawing color. The following example shows how to turn the next four words red. @@ -12147,6 +12237,12 @@ The escape @code{\m[]} returns to the previous color. +@cindex drawing color name register (@code{.m}) +@cindex name, drawing color, register (@code{.m}) +@cindex color name, drawing, register (@code{.m}) +The name of the current drawing color is available in the read-only, +string-valued number register @samp{.m}. + The drawing color is associated with the current environment (@pxref{Environments}). @@ -12162,7 +12258,8 @@ @DefescList {\\M, , c, } @DefescItem {\\M, @lparen{}, co, } -@DefescListEnd {\\M, @lbrack{}, color, @rbrack} +@DefescItem {\\M, @lbrack{}, color, @rbrack} +@DefregListEnd {.M} Set background color for filled objects drawn with the @code{\D'@dots{}'} commands. @@ -12174,6 +12271,12 @@ The escape @code{\M[]} returns to the previous fill color. +@cindex background color name register (@code{.M}) +@cindex name, background color, register (@code{.M}) +@cindex color name, background, register (@code{.M}) +The name of the current background color is available in the read-only, +string-valued number register @samp{.M}. + The fill color is associated with the current environment (@pxref{Environments}). @@ -12213,6 +12316,9 @@ @noindent yields @samp{This is foobar}. + +The search path for @var{file} can be controlled with the @option{-I} command +line option. @endDefreq @Defreq {pso, command} @@ -12667,6 +12773,27 @@ With no arguments the margin character is turned off. If this occurs before a break, no margin character is printed. +For compatibility with @acronym{AT&T} @code{troff}, a call to @code{mc} +to set the margin character can't be undone immediately; at least one +line gets a margin character. Thus + +@Example +.ll 1i +.mc \[br] +.mc +xxx +.br +xxx +@endExample + +@noindent +produces + +@Example +xxx | +xxx +@endExample + @cindex @code{tl} request, and @code{mc} For empty lines and lines produced by the @code{tl} request no margin character is emitted. @@ -12679,7 +12806,7 @@ This is quite useful for indicating text that has changed, and, in fact, there are programs available for doing this (they are called @code{nrchbar} and @code{changebar} and can be found in any -@samp{comp.sources.unix} archive. +@samp{comp.sources.unix} archive). @Example .ll 3i @@ -12724,6 +12851,9 @@ If an error occurs (for example, @code{psbb} cannot find the @code{%%BoundingBox} comment), it sets the four number registers to zero. + +The search path for @var{filename} can be controlled with the @option{-I} +command line option. @endDefreq @@ -14130,7 +14260,6 @@ @item mr @var{red} @var{green} @var{blue} Set color using the RGB color scheme, having the 3@tie{}color components @var{red}, @var{green}, and @var{blue}. - @end table @item N @var{n} @@ -14196,7 +14325,6 @@ @item w Informs about a paddable white space to increase readability. The spacing itself must be performed explicitly by a move command. - @end table @node Graphics Commands, Device Control Commands, Simple Commands, Command Reference @@ -14310,7 +14438,6 @@ @item DFr @var{red} @var{green} @var{blue}@angles{line break} Set fill color for solid drawing objects using the RGB color scheme, having the 3@tie{}color components @var{red}, @var{green}, and @var{blue}. - @end table @item Df @var{n}@angles{line break} @@ -14336,7 +14463,6 @@ @noindent sets all colors to blue. - @end table @noindent @@ -14383,7 +14509,6 @@ No position changing. @end ignore This command is a @code{gtroff} extension. - @end table @node Device Control Commands, Obsolete Command, Graphics Commands, Command Reference @@ -14496,7 +14621,6 @@ @samp{+} character. This command is generated by the @code{gtroff} escape sequence @code{\X}. The line-continuing feature is a @code{gtroff} extension. - @end table @node Obsolete Command, , Device Control Commands, Command Reference @@ -14518,7 +14642,6 @@ is obligatory. In @acronym{AT&T} @code{troff}, large clusters of these and other commands are used, mostly without spaces; this made such output almost unreadable. - @end table For modern high-resolution devices, this command does not make sense @@ -14654,7 +14777,6 @@ Due to the obsolete jump-and-write command, the text clusters in the @acronym{AT&T} @code{troff} output are almost unreadable. - @end table @c --------------------------------------------------------------------- diff -ruN groff-1.19/doc/pic.ms groff-1.19.1/doc/pic.ms --- groff-1.19/doc/pic.ms Sun Apr 27 02:07:43 2003 +++ groff-1.19.1/doc/pic.ms Sat Jul 12 08:08:49 2003 @@ -10,7 +10,7 @@ .\" This document was written for free use and redistribution by .\" Eric S. Raymond in August 1995. .\" -.\" $Id: pic.ms,v 1.23 2003/04/27 00:07:43 wlemb Exp $ +.\" $Id: pic.ms,v 1.25 2003/07/12 06:08:49 wlemb Exp $ .\" .\" Set a proper TeX and LaTeX .ie t \{\ @@ -47,6 +47,7 @@ . .NH 1 Introduction to PIC +. .NH 2 Why PIC? .PP @@ -63,6 +64,7 @@ implementation of \fBtroff\fP. Because both implementations are widely available in source form for free, they are good bets for writing very portable documentation. +. .NH 2 PIC Versions .PP @@ -91,6 +93,7 @@ definitions of \fB.PS\fP and \fB.PE\fP in the \fIms\fP macro package and elsewhere have also the side-effect of centering the \fBpic\fP output on the page. +. .NH 2 PIC Error Messages .PP @@ -315,6 +318,7 @@ unit. Setting \fBscale = 2.54\fP will effectively change the internal unit to centimeters (all other size variable values will be scaled correspondingly). +. .NH 2 Default Sizes of Objects .PP @@ -341,6 +345,7 @@ .PP The simplest way to think about these defaults is that they make the other basic objects fit snugly into a default-sized box. +. .NH 2 Objects Do Not Stretch! .PP @@ -355,6 +360,7 @@ .CE "1: Boxes do not automatically resize" .LP which is probably not the effect you want. +. .NH 2 Resizing Boxes .PP @@ -369,6 +375,7 @@ This modifier takes a dimension in inches. There is also a \[lq]height\[rq] modifier that will change a box's height. The \fBwidth\fP keyword may be abbreviated to \fBwid\fP; the \fBheight\fP keyword to \fBht\fP. +. .NH 2 Resizing Other Object Types .PP @@ -403,6 +410,7 @@ .PP Observe that because an arc is defined as a quarter circle, increasing the radius also increases the size of the arc's bounding box. +. .NH 2 The `same' Keyword .PP @@ -425,11 +433,11 @@ box; box wid 1 ht 1; box same; box .PE .CE "5: The \fBsame\fP keyword" - . . .NH 1 Generalized Lines and Splines +. .NH 2 Diagonal Lines .PP @@ -467,6 +475,7 @@ undef gridarrow .PE .CE "1: Diagonal arrows (dotted boxes show the implied 0.5-inch grid)" +. .NH 2 Multi-Segment Line Objects .PP @@ -480,6 +489,7 @@ zigzag(line); .PE .CE "2: \fBline right 1 then down .5 left 1 then right 1\fP" +. .NH 2 Spline Objects .PP @@ -526,6 +536,7 @@ . .NH 1 Decorating Objects +. .NH 2 Dashed Objects .PP @@ -549,6 +560,7 @@ box dashed 0.2 "0.2"; .PE .CE "1: Dashed objects" +. .NH 2 Dotted Objects .PP @@ -570,6 +582,7 @@ box dotted 0.2 "0.2"; .PE .CE "2: Dotted objects" +. .NH 2 Rounding Box Corners .PP @@ -591,6 +604,7 @@ .PP Radius values higher than half the minimum box dimension are silently truncated to that value. +. .NH 2 Arrowheads .PP @@ -617,6 +631,7 @@ defaults to solid arrowheads and an \fBarrowhead\fP value of\~1; a value of\~0 will produce open arrowheads. Note that solid arrowheads are always filled with the current outline color. +. .NH 2 Line Thickness .PP @@ -643,6 +658,7 @@ variable, nor by any width or height given in the .B .PS line. +. .NH 2 Invisible Objects .PP @@ -650,6 +666,7 @@ used to be useful for positioning text in an invisible object that is properly joined to neighboring ones. Newer DWB versions and GNU \fBpic\fP treat stand-alone text in exactly this way. +. .NH 2 Filled Objects .PP @@ -677,6 +694,7 @@ The closed-object modifier \fBsolid\fP is equivalent to \fBfill\fP with the darkest fill value (DWB \fBpic\fP had this capability but mentioned it only in a reference section). +. .NH 2 Colored Objects .PP @@ -839,6 +857,7 @@ objects. In order to do this, you have to be able you have to be able to name objects. The \fBpic\fP language has rich facilities for this that try to emulate the syntax of English. +. .NH 2 Naming Objects By Order Of Drawing .PP @@ -877,6 +896,7 @@ .DE .R .KE +. .NH 2 Naming Objects With Labels .PP @@ -929,11 +949,12 @@ semantic sense are allowed. .PP The special label \fBHere\fR always refers to the current position. +. .NH 2 Absolute Coordinates .PP The simplest is absolute coordinates in inches; \fBpic\fP uses a -Cartesian system with (0, 0) at the lower left corner of the virtual +Cartesian system with (0,0) at the lower left corner of the virtual drawing surface for each picture (that is, X increases to the right and Y increases upwards). An absolute location may always be written in the conventional form as two comma-separated numbers surrounded by @@ -946,6 +967,14 @@ Instead, there are quite a number of ways to specify locations relative to \fBpic\fP objects and previous locations. .PP +Another possibility of surprise is the fact that \fBpic\fP crops the +picture to the smallest bounding box before writing it out. For +example, if you have a picture consisting of a small box with its lower +left corner at (2,2) and another small box with its upper right corner +at (5,5), the width and height of the image are both 3\~units and +not~5. To get the origin at (0,0) included, simply add an invisible +object to the picture, positioning the object's left corner at (0,0). +. .NH 2 Locations Relative to Objects .PP @@ -1038,6 +1067,7 @@ .PE .CE "2: Special points on open objects" .PP +. .NH 2 Ways of Composing Positions .PP @@ -1115,6 +1145,7 @@ dot(last box .nw); "A" ljust at last circle + (-0.1, 0.1) .PE .CE "5: Using (\fIx\fP, \fIy\fP) composition" +. .NH 2 Using Locations .PP @@ -1184,6 +1215,7 @@ ] .PE .CE "7: Using the \fBwith\fP modifier for attachments" +. .NH 2 The `chop' Modifier .PP @@ -1233,6 +1265,7 @@ .PP There are two different ways to group objects in \fBpic\fP; \fIbrace grouping\fP and \fIblock composites\fP. +. .NH 2 Brace Grouping .PP @@ -1240,6 +1273,7 @@ bracket or brace characters. On exit from this grouping, the current position and direction are restored to their value when the opening brace was encountered. +. .NH 2 Block Composites .PP @@ -1572,7 +1606,7 @@ # Use {} to avoid changing position from last box draw. # This is necessary so move in any direction will work as expected - {"Jumpers in state $1$2$3$4$5$6" at last box .s + (0, -0.2);} + {"Jumpers in state $1$2$3$4$5$6" at last box .s + (0,-0.2);} } # Sample macro invocations. @@ -1618,7 +1652,7 @@ # Use {} to avoid changing position from last box draw. # This is necessary so move in any direction will work as expected - {"Jumpers in state $1$2$3$4$5$6" at last box .s + (0, -0.2);} + {"Jumpers in state $1$2$3$4$5$6" at last box .s + (0,-0.2);} } # Sample macro invocations @@ -1655,6 +1689,7 @@ .PP Commands that import or export data between \fBpic\fR and its environment are described here. +. .NH 2 File and Table Insertion .PP @@ -1727,12 +1762,14 @@ .fi .KE .RE +. .NH 2 Debug Messages .PP The command \fBprint\fR accepts any number of arguments, concatenates their output forms, and writes the result to standard error. Each argument must be an expression, a position, or a text string. +. .NH 2 Escape to Post-Processor .PP @@ -1750,6 +1787,7 @@ or \fB\e\fR\|, but allows the values of variables to be passed through. +. .NH 2 Executing Shell Commands .PP @@ -1774,7 +1812,7 @@ .KS .DS .CW -pi = atan2(0, -1); +pi = atan2(0,-1); for i = 0 to 2 * pi by 0.1 do { "-" at (i/2, 0); "." at (i/2, sin(i)/2); @@ -1787,7 +1825,7 @@ which yields this: .KS .PS -pi = atan2(0, -1); +pi = atan2(0,-1); for i = 0 to 2 * pi by 0.1 do { "-" at (i/2, 0); "." at (i/2, sin(i)/2); @@ -1874,6 +1912,7 @@ The output of \fBpic\fP is \fB[gt]roff\fP drawing commands. The GNU \fIgpic\/\fP(1) command warns that it relies on drawing extensions present in \fIgroff\/\fP(1) that are not present in \fItroff\/\fP(1). +. .NH 2 Scaling Arguments .PP @@ -1887,6 +1926,7 @@ GNU \fBgpic\fP is less general; it will accept a single width to scale to, or a zero width and a maximum height to scale to. With two non-zero arguments, it will scale to the maximum height. +. .NH 2 How Scaling is Handled .PP @@ -1937,6 +1977,9 @@ .LP causes the contents of \fIfile\fP to replace the \fB.PS\fP line. This feature is deprecated; use `\fBcopy\fP \fIfile\fR' instead). +. +.NH 2 +PIC and [gt]roff commands .PP By default, input lines that begin with a period are passed to the postprocessor, embedded at the corresponding point in the output. @@ -1947,6 +1990,9 @@ long as they are undone before the end of string. .PP The state of \fB[gt]roff\fP's fill mode is preserved across pictures. +. +.NH 2 +PIC and EQN .PP The Kernighan paper notes that there is a subtle problem with complicated equations inside \fBpic\fR pictures; they come out wrong if @@ -1974,6 +2020,16 @@ .PE .CE "1: Equations within pictures" . +.NH 2 +Absolute Positioning of Pictures +.PP +A \fBpic\fP picture is positioned vertically by troff at the current +position. The topmost position possible on a page is not the paper edge +but a position which is one baseline lower so that the first row of glyphs +is visible. To make a picture really start at the paper edge you have +to make the baseline-to-baseline distance zero, this is, you must set the +vertical spacing to\~0 (using \fB.vs\fP) before starting the picture. +. . .NH 1 Interface to TeX @@ -2031,7 +2087,7 @@ .B % is added to the end of the line to avoid unwanted spaces. You can safely use this feature to change fonts or to -change the value of \fB\ebaselineskip\fR. +change the value of \fB\ebaselineskip\fP. Anything else may well produce undesirable results; use at your own risk. Lines beginning with a period are not given any special treatment. .PP @@ -2056,6 +2112,12 @@ .DE .R .KE +.LP +Use this feature sparsingly and only if really needed: +A different name means a new box register in \*[tx], and the maximum number +of box registers is only 256. +Also be careful not to use a predefined \*[tx] or \*[lx] macro name as +an argument to \fBfigname\fP since this inevitably causes an error. . . .NH 1 @@ -2217,7 +2279,7 @@ box "HTML"; # Nonexistence caption - box dashed wid 1 at B + (2, 0) "These tools" "don't yet exist"; + box dashed wid 1 at B + (2,0) "These tools" "don't yet exist"; line chop 0 chop 0.1 dashed from last box .nw to A.e ->; line chop 0 chop 0.1 dashed from last box .w to B.e ->; line chop 0 chop 0.1 dashed from last box .sw to C.e ->; @@ -2285,7 +2347,7 @@ box "HTML"; # Nonexistence caption - box dashed wid 1 at B + (2, 0) "These tools" "don't yet exist"; + box dashed wid 1 at B + (2,0) "These tools" "don't yet exist"; line chop 0 chop 0.1 dashed from last box .nw to A.e ->; line chop 0 chop 0.1 dashed from last box .w to B.e ->; line chop 0 chop 0.1 dashed from last box .sw to C.e ->; @@ -2300,6 +2362,7 @@ PIC Reference .PP This is an annotated grammar of \fBpic\fP. +. .NH 2 Lexical Items .PP @@ -2354,6 +2417,7 @@ .IP \s[-1]MACRONAME\s[0] Either \s[-1]VARIABLE\s[0] or \s[-1]LABEL\s[0]. .RE +. .NH 2 Semi-Formal Grammar .PP diff -ruN groff-1.19/doc/texinfo.tex groff-1.19.1/doc/texinfo.tex --- groff-1.19/doc/texinfo.tex Fri Feb 14 12:36:37 2003 +++ groff-1.19.1/doc/texinfo.tex Sun May 4 17:47:37 2003 @@ -3,7 +3,7 @@ % Load plain if necessary, i.e., if running under initex. \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi % -\def\texinfoversion{2003-02-11.06} +\def\texinfoversion{2003-05-04.08} % % Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. @@ -34,12 +34,12 @@ % ftp://tug.org/tex/texinfo.tex % (and all CTAN mirrors, see http://www.ctan.org), % and /home/gd/gnu/doc/texinfo.tex on the GNU machines. -% +% % The GNU Texinfo home page is http://www.gnu.org/software/texinfo. -% +% % The texinfo.tex in any given Texinfo distribution could well be out % of date, so if that's what you're using, please check. -% +% % Send bug reports to bug-texinfo@gnu.org. Please include including a % complete document in each bug report with which we can reproduce the % problem. Patches are, of course, greatly appreciated. @@ -55,7 +55,7 @@ % The extra TeX runs get the cross-reference information correct. % Sometimes one run after texindex suffices, and sometimes you need more % than two; texi2dvi does it as many times as necessary. -% +% % It is possible to adapt texinfo.tex for other languages, to some % extent. You can get the existing language-specific files from the % full Texinfo distribution. @@ -71,11 +71,11 @@ \message{Basics,} \chardef\other=12 -% We never want plain's outer \+ definition in Texinfo. +% We never want plain's \outer definition of \+ in Texinfo. % For @tex, we can use \tabalign. \let\+ = \relax -% Save some parts of plain tex whose names we will redefine. +% Save some plain tex macros whose names we will redefine. \let\ptexb=\b \let\ptexbullet=\bullet \let\ptexc=\c @@ -88,10 +88,12 @@ \let\ptexgtr=> \let\ptexhat=^ \let\ptexi=\i +\let\ptexindent=\indent \let\ptexlbrace=\{ \let\ptexless=< \let\ptexplus=+ \let\ptexrbrace=\} +\let\ptexslash=\/ \let\ptexstar=\* \let\ptext=\t @@ -164,8 +166,9 @@ % Hyphenation fixes. \hyphenation{ap-pen-dix} -\hyphenation{mini-buf-fer mini-buf-fers} \hyphenation{eshell} +\hyphenation{mini-buf-fer mini-buf-fers} +\hyphenation{time-stamp} \hyphenation{white-space} % Margin to add to right of even pages, to left of odd pages. @@ -202,7 +205,7 @@ % add check for \lastpenalty to plain's definitions. If the last thing % we did was a \nobreak, we don't want to insert more space. -% +% \def\smallbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\smallskipamount \removelastskip\penalty-50\smallskip\fi\fi} \def\medbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\medskipamount @@ -536,6 +539,9 @@ % @* forces a line break. \def\*{\hfil\break\hbox{}\ignorespaces} +% @/ allows a line break. +\let\/=\allowbreak + % @. is an end-of-sentence period. \def\.{.\spacefactor=3000 } @@ -564,7 +570,7 @@ % explicit \vfill so that the extra space is at the bottom. The % threshold for doing this is if the group is more than \vfilllimit % percent of a page (\vfilllimit can be changed inside of @tex). -% +% \newbox\groupbox \def\vfilllimit{0.7} % @@ -770,10 +776,10 @@ % @inmargin{TEXT [, RIGHT-TEXT]} % (if RIGHT-TEXT is given, use TEXT for left page, RIGHT-TEXT for right; % else use TEXT for both). -% +% \def\inmargin#1{\parseinmargin #1,,\finish} \def\parseinmargin#1,#2,#3\finish{% not perfect, but better than nothing. - \setbox0 = \hbox{\ignorespaces #2}% + \setbox0 = \hbox{\ignorespaces #2}% \ifdim\wd0 > 0pt \def\lefttext{#1}% have both texts \def\righttext{#2}% @@ -842,8 +848,9 @@ % @paragraphindent NCHARS % We'll use ems for NCHARS, close enough. -% We cannot implement @paragraphindent asis, though. -% +% NCHARS can also be the word `asis' or `none'. +% We cannot feasibly implement @paragraphindent asis, though. +% \def\asisword{asis} % no translation, these are keywords \def\noneword{none} % @@ -878,6 +885,53 @@ \fi } +% @firstparagraphindent WORD +% If WORD is `none', then suppress indentation of the first paragraph +% after a section heading. If WORD is `insert', then do indentat such +% paragraphs. +% +% The paragraph indentation is suppressed or not by calling +% \suppressfirstparagraphindent, which the sectioning commands do. We +% switch the definition of this back and forth according to WORD. By +% default, we suppress indentation. +% +\def\suppressfirstparagraphindent{\dosuppressfirstparagraphindent} +\newdimen\currentparindent +% +\def\insertword{insert} +% +\def\firstparagraphindent{\parsearg\dofirstparagraphindent} +\def\dofirstparagraphindent#1{% + \def\temp{#1}% + \ifx\temp\noneword + \let\suppressfirstparagraphindent = \dosuppressfirstparagraphindent + \else\ifx\temp\insertword + \let\suppressfirstparagraphindent = \relax + \else + \errhelp = \EMsimple + \errmessage{Unknown @firstparagraphindent option `\temp'}% + \fi\fi +} + +% Here is how we actually suppress indentation. Redefine \everypar to +% \kern backwards by \parindent, and then reset itself to empty. +% +% We also make \indent itself not actually do anything until the next +% paragraph. +% +\gdef\dosuppressfirstparagraphindent{% + \gdef\indent{% + \global\let\indent=\ptexindent + \global\everypar = {}% + }% + \global\everypar = {% + \kern-\parindent + \global\let\indent=\ptexindent + \global\everypar = {}% + }% +}% + + % @asis just yields its argument. Used with @table, for example. % \def\asis#1{#1} @@ -886,14 +940,14 @@ % We don't use $'s directly in the definition of \math because we need % to set catcodes according to plain TeX first, to allow for subscripts, % superscripts, special math chars, etc. -% +% \let\implicitmath = $%$ font-lock fix % % One complication: _ usually means subscripts, but it could also mean % an actual _ character, as in @math{@var{some_variable} + 1}. So make % _ within @math be active (mathcode "8000), and distinguish by seeing % if the current family is \slfam, which is what @var uses. -% +% {\catcode\underChar = \active \gdef\mathunderscore{% \catcode\underChar=\active @@ -904,7 +958,7 @@ % FYI, plain.tex uses \\ as a temporary control sequence (why?), but % this is not advertised and we don't care. Texinfo does not % otherwise define @\. -% +% % The \mathchar is class=0=ordinary, family=7=ttfam, position=5C=\. \def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi} % @@ -919,7 +973,7 @@ % Some active characters (such as <) are spaced differently in math. % We have to reset their definitions in case the @math was an % argument to a command which set the catcodes (such as @item or @section). -% +% { \catcode`^ = \active \catcode`< = \active @@ -1045,8 +1099,8 @@ \def\pdfmakeoutlines{{% \openin 1 \jobname.toc \ifeof 1\else\begingroup - \closein 1 - % Thanh's hack / proper braces in bookmarks + \closein 1 + % Thanh's hack / proper braces in bookmarks \edef\mylbrace{\iftrue \string{\else}\fi}\let\{=\mylbrace \edef\myrbrace{\iffalse{\else\string}\fi}\let\}=\myrbrace % @@ -1075,7 +1129,7 @@ \let\unnumbsubsubsecentry = \subsubsecentry % % Make special characters normal for writing to the pdf file. - % + % \indexnofonts \let\tt=\relax \turnoffactive @@ -1090,7 +1144,7 @@ \let\nextmakelinks=\makelinks \ifnum\lnkcount>0,\fi \picknum{#1}% - \startlink attr{/Border [0 0 0]} + \startlink attr{/Border [0 0 0]} goto name{\pdfmkpgn{\the\pgn}}% \linkcolor #1% \advance\lnkcount by 1% @@ -1145,7 +1199,7 @@ \ifx\first0\adn0 \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3 \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6 - \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9 + \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9 \else \ifnum0=\countA\else\makelink\fi \ifx\first.\let\next=\done\else @@ -1399,12 +1453,12 @@ % 8.5x11=90+ smallbook=80 a4=90+ a5=77 % For me, subjectively, the few extra characters that fit aren't worth % the additional smallness of 8pt. So I'm making the default 9pt. -% +% % By the way, for comparison, here's what fits with @example (10pt): % 8.5x11=71 smallbook=60 a4=75 a5=58 -% +% % I wish we used A4 paper on this side of the Atlantic. -% +% % --karl, 24jan03. @@ -1430,7 +1484,8 @@ % \smartitalic{ARG} outputs arg in italics, followed by an italic correction % unless the following character is such as not to need one. -\def\smartitalicx{\ifx\next,\else\ifx\next-\else\ifx\next.\else\/\fi\fi\fi} +\def\smartitalicx{\ifx\next,\else\ifx\next-\else\ifx\next.\else + \ptexslash\fi\fi\fi} \def\smartslanted#1{{\ifusingtt\ttsl\sl #1}\futurelet\next\smartitalicx} \def\smartitalic#1{{\ifusingtt\ttsl\it #1}\futurelet\next\smartitalicx} @@ -1453,7 +1508,7 @@ % Set sfcode to normal for the chars that usually have another value. % Can't use plain's \frenchspacing because it uses the `\x notation, and % sometimes \x has an active definition that messes things up. -% +% \catcode`@=11 \def\frenchspacing{% \sfcode\dotChar =\@m \sfcode\questChar=\@m \sfcode\exclamChar=\@m @@ -1562,7 +1617,7 @@ \gdef\kbdexamplefont{\tt}\gdef\kbdfont{\tt}% \else \errhelp = \EMsimple - \errmessage{Unknown @kbdinputstyle `\arg'}% + \errmessage{Unknown @kbdinputstyle option `\arg'}% \fi\fi\fi } \def\worddistinct{distinct} @@ -1613,7 +1668,7 @@ % rms does not like angle brackets --karl, 17may97. % So now @email is just like @uref, unless we are pdf. -% +% %\def\email#1{\angleleft{\tt #1}\angleright} \ifpdf \def\email#1{\doemail#1,,\finish} @@ -1662,7 +1717,7 @@ % we'd have to redo the font mechanism to change the \scriptstyle and % \scriptscriptstyle font sizes to make it look right in headings. % Adapted from the plain.tex definition of \copyright. -% +% \def\registeredsymbol{% $^{{\ooalign{\hfil\raise.07ex\hbox{$\scriptstyle\rm R$}\hfil\crcr\Orb}}% }$% @@ -2080,18 +2135,21 @@ \itemizey {#1}{\Eitemize} } -\def\itemizey #1#2{% -\aboveenvbreak % -\itemmax=\itemindent % -\advance \itemmax by -\itemmargin % -\advance \leftskip by \itemindent % -\exdentamount=\itemindent -\parindent = 0pt % -\parskip = \smallskipamount % -\ifdim \parskip=0pt \parskip=2pt \fi% -\def#2{\endgraf\afterenvbreak\endgroup}% -\def\itemcontents{#1}% -\let\item=\itemizeitem} +\def\itemizey#1#2{% + \aboveenvbreak + \itemmax=\itemindent + \advance\itemmax by -\itemmargin + \advance\leftskip by \itemindent + \exdentamount=\itemindent + \parindent=0pt + \parskip=\smallskipamount + \ifdim\parskip=0pt \parskip=2pt \fi + \def#2{\endgraf\afterenvbreak\endgroup}% + \def\itemcontents{#1}% + % @itemize with no arg is equivalent to @itemize @bullet. + \ifx\itemcontents\empty\def\itemcontents{\bullet}\fi + \let\item=\itemizeitem +} % \splitoff TOKENS\endmark defines \first to be the first token in % TOKENS, and \rest to be the remainder. @@ -2502,12 +2560,12 @@ % @deffn ... % @end deffn % @end ignore -% +% % The @end deffn is going to get expanded, because we're trying to allow % nested conditionals. But we don't want to expand the actual @deffn, % since it might be syntactically correct and intended to be ignored. % Since \end checks for \relax, using \empty does not cause an error. -% +% \def\ignoremorecommands{% \let\defcodeindex = \relax \let\defcv = \empty @@ -2912,10 +2970,10 @@ % @synindex foo bar makes index foo feed into index bar. % Do this instead of @defindex foo if you don't want it as a separate index. -% +% % @syncodeindex foo bar similar, but put all entries made for index foo % inside @code. -% +% \def\synindex#1 #2 {\dosynindex\doindex{#1}{#2}} \def\syncodeindex#1 #2 {\dosynindex\docodeindex{#1}{#2}} @@ -2957,13 +3015,13 @@ % Take care of Texinfo commands that can appear in an index entry. % Since there are some commands we want to expand, and others we don't, % we have to laboriously prevent expansion for those that we don't. -% +% \def\indexdummies{% \def\@{@}% change to @@ when we switch to @ as escape char in index files. \def\ {\realbackslash\space }% % Need these in case \tex is in effect and \{ is a \delimiter again. % But can't use \lbracecmd and \rbracecmd because texindex assumes - % braces and backslashes are used only as delimiters. + % braces and backslashes are used only as delimiters. \let\{ = \mylbrace \let\} = \myrbrace % @@ -2972,14 +3030,14 @@ % words, not control letters, because the \space would be incorrect % for control characters, but is needed to separate the control word % from whatever follows. - % + % % For control letters, we have \definedummyletter, which omits the % space. - % + % % These can be used both for control words that take an argument and % those that do not. If it is followed by {arg} in the input, then % that will dutifully get written to the index (or wherever). - % + % \def\definedummyword##1{% \expandafter\def\csname ##1\endcsname{\realbackslash ##1\space}% }% @@ -2992,9 +3050,9 @@ } % For the aux file, @ is the escape character. So we want to redefine -% everything using @ instead of \realbackslash. When everything uses +% everything using @ instead of \realbackslash. When everything uses % @, this will be simpler. -% +% \def\atdummies{% \def\@{@@}% \def\ {@ }% @@ -3015,7 +3073,7 @@ % Called from \indexdummies and \atdummies. \definedummyword and % \definedummyletter must be defined first. -% +% \def\commondummies{% % \normalturnoffactive @@ -3335,6 +3393,7 @@ % \smallfonts \rm \tolerance = 9500 + \everypar = {}% don't want the \kern\-parindent from indentation suppression. \indexbreaks % % See if the index file exists and is nonempty. @@ -3578,7 +3637,7 @@ \wd0=\hsize \wd2=\hsize \hbox to\pagewidth{\box0\hfil\box2}% } -% +% % All done with double columns. \def\enddoublecolumns{% \output = {% @@ -3716,6 +3775,7 @@ \numberedsubsubseczzz{#2} \fi \fi +\suppressfirstparagraphindent } % like \numhead, but chooses appendix heading levels @@ -3735,6 +3795,7 @@ \appendixsubsubseczzz{#2} \fi \fi +\suppressfirstparagraphindent } % like \numhead, but chooses numberless heading levels @@ -3754,6 +3815,7 @@ \unnumberedsubsubseczzz{#2} \fi \fi +\suppressfirstparagraphindent } % @chapter, @appendix, @unnumbered. @@ -4366,7 +4428,7 @@ % @foo ... @end foo. % @point{}, @result{}, @expansion{}, @print{}, @equiv{}. -% +% % Since these characters are used in examples, it should be an even number of % \tt widths. Each \tt character is 1en, so two makes it 1em. % @@ -4378,7 +4440,7 @@ % The @error{} command. % Adapted from the TeXbook's \boxit. -% +% \newbox\errorbox % {\tentt \global\dimen0 = 3em}% Width of the box. @@ -4425,9 +4487,11 @@ \let\equiv=\ptexequiv \let\!=\ptexexclam \let\i=\ptexi + \let\indent=\ptexindent \let\{=\ptexlbrace \let\+=\tabalign \let\}=\ptexrbrace + \let\/=\ptexslash \let\*=\ptexstar \let\t=\ptext % @@ -4677,7 +4741,7 @@ % LaTeX-like @verbatim...@end verbatim and @verb{...} -% If we want to allow any as delimiter, +% If we want to allow any as delimiter, % we need the curly braces so that makeinfo sees the @verb command, eg: % `@verbx...x' would look like the '@verbx' command. --janneke@gnu.org % @@ -4755,8 +4819,8 @@ \everypar{\starttabbox}% } -% Do the @verb magic: verbatim text is quoted by unique -% delimiter characters. Before first delimiter expect a +% Do the @verb magic: verbatim text is quoted by unique +% delimiter characters. Before first delimiter expect a % right brace, after last delimiter expect closing brace: % % \def\doverb'{'#1'}'{#1} @@ -4775,7 +4839,7 @@ % % \def\doverbatim#1@end verbatim{#1} % -% For Texinfo it's a lot easier than for LaTeX, +% For Texinfo it's a lot easier than for LaTeX, % because texinfo's \verbatim doesn't stop at '\end{verbatim}': % we need not redefine '\', '{' and '}'. % @@ -4842,14 +4906,14 @@ % @copying ... @end copying. % Save the text away for @insertcopying later. Many commands won't be % allowed in this context, but that's ok. -% +% % We save the uninterpreted tokens, rather than creating a box. % Saving the text in a box would be much easier, but then all the % typesetting commands (@smallbook, font changes, etc.) have to be done % beforehand -- and a) we want @copying to be done first in the source % file; b) letting users define the frontmatter in as flexible order as % possible is very desirable. -% +% \def\copying{\begingroup % Define a command to swallow text until we reach `@end copying'. % \ is the escape char in this texinfo.tex file, so it is the @@ -4872,15 +4936,15 @@ % end-of-line to be a \par, as would happen with the normal active % definition of ^^M. On the third hand, two ^^M's in a row should still % generate a \par. -% +% % Our approach is to make ^^M insert a space and a penalty1 normally; % then it can also check if \lastpenalty=1. If it does, then manually % do \par. -% +% % This messes up the normal definitions of @c[omment], so we redefine % it. Similarly for @ignore. (These commands are used in the gcc % manual for man page generation.) -% +% % Seems pretty fragile, most line-oriented commands will presumably % fail, but for the limited use of getting the copying text (which % should be quite simple) inserted, we can hope it's ok. @@ -4921,7 +4985,7 @@ \newcount\parencount % We want ()&[] to print specially on the defun line. -% +% \def\activeparens{% \catcode`\(=\active \catcode`\)=\active \catcode`\&=\active @@ -5024,7 +5088,7 @@ % #1 is the \E... control sequence to end the definition (which we define). % #2 is the \...x control sequence (which our caller defines). % #3 is the control sequence to process the header, such as \defunheader. -% +% \def\parsebodycommon#1#2#3{% \begingroup\inENV % If there are two @def commands in a row, we'll have a \nobreak, @@ -5047,7 +5111,7 @@ } % Common part of the \...x definitions. -% +% \def\defxbodycommon{% % As with \parsebodycommon above, allow line break if we have multiple % x headers in a row. It's not a great place, though. @@ -5098,7 +5162,7 @@ % to account for this both in the \...x definition and in parsing the % input at hand. Thus also need a control sequence (passed as #5) for % the \E... definition to assign the category name to. -% +% \def\deftypeopparsebody#1#2#3#4#5 #6 {% \parsebodycommon{#1}{#2}{#3}% \def#2##1 ##2 ##3 {\def#4{##1}% @@ -5203,7 +5267,7 @@ } % This expands the args and terminates the paragraph they comprise. -% +% \def\defunargs#1{\functionparens \sl % Expand, preventing hyphenation at `-' chars. % Note that groups don't affect changes in \hyphenchar. @@ -5465,7 +5529,7 @@ % These definitions are used if you use @defunx (etc.) % anywhere other than immediately after a @defun or @defunx. -% +% \def\defcvx#1 {\errmessage{@defcvx in invalid context}} \def\deffnx#1 {\errmessage{@deffnx in invalid context}} \def\defivarx#1 {\errmessage{@defivarx in invalid context}} @@ -5637,7 +5701,7 @@ % Called by \do from \dounmacro on each macro. The idea is to omit any % macro definitions that have been changed to \relax. -% +% \def\unmacrodo#1{% \ifx#1\relax % remove this @@ -5793,8 +5857,8 @@ % @node's job is to define \lastnode. \def\node{\ENVcheck\parsearg\nodezzz} -\def\nodezzz#1{\nodexxx [#1,]} -\def\nodexxx[#1,#2]{\gdef\lastnode{#1}} +\def\nodezzz#1{\nodexxx #1,\finishnodeparse} +\def\nodexxx#1,#2\finishnodeparse{\gdef\lastnode{#1}} \let\nwnode=\node \let\lastnode=\relax @@ -5832,14 +5896,14 @@ % anchor), namely NAME-title (the corresponding @chapter/etc. name), % NAME-pg (the page number), and NAME-snt (section number and type). % Called from \foonoderef. -% +% % We have to set \indexdummies so commands such as @code in a section % title aren't expanded. It would be nicer not to expand the titles in % the first place, but there's so many layers that that is hard to do. % % Likewise, use \turnoffactive so that punctuation chars such as underscore % and backslash work in node names. -% +% \def\setref#1#2{{% \atdummies \pdfmkdest{#1}% @@ -5922,14 +5986,25 @@ \setbox2 = \hbox{\ignorespaces \refx{#1-snt}{}}% \ifdim \wd2 > 0pt \refx{#1-snt}\space\fi }% - % [mynode], - [\printednodename],\space - % page 3 + % output the `[mynode]' via a macro. + \xrefprintnodename\printednodename + % + % But we always want a comma and a space: + ,\space + % + % output the `page 3'. \turnoffactive \otherbackslash \putwordpage\tie\refx{#1-pg}{}% \fi \endlink \endgroup} +% This macro is called from \xrefX for the `[nodename]' part of xref +% output. It's a separate macro only so it can be changed more easily, +% since not square brackets don't work in some documents. Particularly +% one that Bob is working on :). +% +\def\xrefprintnodename#1{[#1]} + % \dosetq is called from \setref to do the actual \write (\iflinks). % \def\dosetq#1#2{% @@ -5944,7 +6019,7 @@ \def\internalsetq#1#2{@xrdef{#1}{\csname #2\endcsname}} % Things to be expanded by \internalsetq. -% +% \def\Ypagenumber{\folio} \def\Ytitle{\thissection} \def\Ynothing{} @@ -6129,13 +6204,14 @@ % % Auto-number footnotes. Otherwise like plain. \gdef\footnote{% + \let\indent=\ptexindent \global\advance\footnoteno by \@ne \edef\thisfootno{$^{\the\footnoteno}$}% % % In case the footnote comes at the end of a sentence, preserve the % extra spacing after we do the footnote number. \let\@sf\empty - \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\/\fi + \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\ptexslash\fi % % Remove inadvertent blank space before typesetting the footnote number. \unskip @@ -6276,7 +6352,7 @@ \nobreak\bigskip % Usually we'll have text after the image which will insert % \parskip glue, so insert it here too to equalize the space - % above and below. + % above and below. \nobreak\vskip\parskip \nobreak \line\bgroup\hss @@ -6364,7 +6440,7 @@ % Parameters in order: 1) textheight; 2) textwidth; 3) voffset; % 4) hoffset; 5) binding offset; 6) topskip; 7) physical page height; 8) % physical page width. -% +% % We also call \setleading{\textleading}, so the caller should define % \textleading. The caller should also set \parskip. % @@ -6432,7 +6508,7 @@ \parskip = 3pt plus 2pt minus 1pt \textleading = 13.2pt % - % Double-side printing via postscript on Laserjet 4050 + % Double-side printing via postscript on Laserjet 4050 % prints double-sided nicely when \bindingoffset=10mm and \hoffset=-6mm. % To change the settings for a different printer or situation, adjust % \normaloffset until the front-side and back-side texts align. Then @@ -6473,7 +6549,7 @@ \tableindent = 12mm }} -% A specific text layout, 24x15cm overall, intended for A4 paper. +% A specific text layout, 24x15cm overall, intended for A4 paper. \def\afourlatex{{\globaldefs = 1 \afourpaper \internalpagesizes{237mm}{150mm}% @@ -6649,7 +6725,7 @@ % Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of % the literal character `\'. (Thus, \ is not expandable when this is in % effect.) -% +% @def@normalturnoffactive{@turnoffactive @let\=@normalbackslash} % Make _ and + \other characters, temporarily. @@ -6678,7 +6754,7 @@ % Say @foo, not \foo, in error messages. @escapechar = `@@ -% These look ok in all fonts, so just make them not special. +% These look ok in all fonts, so just make them not special. @catcode`@& = @other @catcode`@# = @other @catcode`@% = @other diff -ruN groff-1.19/doc/webpage.ms groff-1.19.1/doc/webpage.ms --- groff-1.19/doc/webpage.ms Tue Apr 29 15:17:32 2003 +++ groff-1.19.1/doc/webpage.ms Tue May 11 21:35:57 2004 @@ -96,10 +96,10 @@ This is the GNU groff document formatting system. The version number 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, HP LaserJet 4 printers, HTML format (still alpha), and -typewriter-like devices. +Included in this release are implementations of troff, pic, eqn, tbl, +grn, refer, \-man, \-mdoc, and \-ms macros, and drivers for PostScript, +TeX dvi format, HP LaserJet 4 printers, Canon CAPSL printers, HTML format +(still alpha), 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 @@ -116,13 +116,10 @@ The file PROBLEMS describes various problems that have been encountered in compiling, installing, and running groff. -For the moment, the documentation assumes that you are already familiar with -the Unix versions of troff, \-man, \-ms and the preprocessors. - The most recent released version of groff is always available by anonymous ftp from ftp.gnu.org in the directory pub/\:gnu/\:groff. -A CVS repository is now available, containing the current development +A CVS repository is available, containing the current development version of groff. You can access it with the commands @@ -151,7 +148,7 @@ Alternatively, you can download snapshots (which are updated twice a day) from .URL ftp://\:ftp.ffii.org/\:pub/\:groff/\:devel/\:groff-current.tar.gz here -or a diff file relative to the latest official groff release as: +or a diff file relative to the latest official groff release as .in 2m .ft C @@ -173,6 +170,14 @@ .fi .in +Finally, it is possible to access the CVS with a browser by pointing it +to + +.in 2m +.URL http://www.ffii.org/cgi-bin/viewcvs.cgi/groff \ + http://www.ffii.org/cgi-bin/viewcvs.cgi/groff +.in + Please report bugs using the form in the file BUG-REPORT; the idea of this is to make sure that FSF has all the information it needs to fix the bug. At the very least, read the BUG-REPORT form and make sure that you supply @@ -189,7 +194,7 @@ for reporting bugs .LI -.MTO groff@gnu.org groff@gnu.org +.MTO groff@ffii.org groff@ffii.org for general discussion of groff .LI @@ -219,6 +224,208 @@ . . .SH +NEWS VERSION 1.19.1 +. +.SH 2 +groff + +.ULS +.LI +The argument of the command line option `\-I' is now also passed to troff +and grops, specifying a directory to search for files on the command line, +files named in `so' and `psbb' requests, and files named in \eX'ps:\~file' +and \eX'ps:\~import' escapes. + +.LI +If option `\-V' is used more than once, the commands will be both printed +on standard error and run. +.ULE +. +. +.SH 2 +troff + +.ULS +.LI +Two new read-only, string-valued registers `.m' and `.M' return the +name of the current drawing and background color, respectively. + +.LI +New read-only register `.U' which is set to\~1 if in safer mode and set +to\~0 if in unsafe mode. + +.LI +An input encoding file for \%latin-5 (a.k.a.\& ISO \%8859-9) has been +added. +Example use: + +.in 2m +.ft C +groff \-Tdvi \-mlatin5 my_file > my_file.dvi +.ft R +.in + +Note that some output devices don't support all glyphs of this encoding. + +.LI +If the `return' request is called with an argument, it exits twice, +namely the current macro and the macro one level higher. +This is used to define a wrapper macro for `return' in trace.tmac. + +.LI +For completeness, two new requests have been added: `dei1' and `ami1'. +They are equivalent to `dei' and `ami', respectively, but the macros +are executed with compatibility mode off (similar to `de1' and `am1'). + +.LI +New command line option `\-I' to specify a directory for files (both +those on the command line and those named in `psbb' requests). +This is also handled by the groff wrapper program. + +.LI +Since version 1.19 you can say `.vs\~0'. +Older versions emit a warning and convert this to `.vs\~\en[.V]'. + +This hasn't been documented properly. +Note that `.vs\~0' isn't saved in a diversion since it doesn't result +in vertical motion. +.ULE +. +. +.SH 2 +pic + +.ULS +.LI +Dashed and dotted ellipses have been implemented. +.ULE +. +. +.SH 2 +tbl + +.ULS +.LI +New key character `x' to make tbl call a user-defined macro on a table +cell. +Patch by +.MTO hj.oertel@\:surfeu.de "Heinz-Jürgen Oertel" . +.ULE +. +. +.SH 2 +grap2graph + +.ULS +.LI +A new script contributed by +.MTO esr@\:thyrsus.com "Eric S. Raymond" . +It converts a grap diagram into a cropped image. +Since it uses gs and the PNM library, virtually all graphics formats +are available for output. +[Note that the grap program itself isn't part of the groff package; +see the file MORE.STUFF how to obtain grap.] +.ULE +. +. +.SH 2 +grohtml + +.ULS +.LI +New option `\-j' to emit output splitted into multiple files. +.ULE +. +. +.SH 2 +grops + +.ULS +.LI +New command line option `\-I' to specify a directory to search for files +on the command line and files named in \eX'ps:\~import' and \eX'ps:\~file' +escapes. +This is also handled by the groff wrapper program. + +.LI +The default value for the `broken' keyword in the DESC file is now\~0. +.ULE +. +. +.SH 2 +grolj4 + +.ULS +.LI +A new man page `lj4_font(5)' documents how fonts are accessed with +grolj4. + +.LI +The built-in fonts for LJ4 and newer PCL\~5 devices have been completely +revised, mainly to access as much glyphs as possible. +The provided metric files should be compatible with recent PCL\~5 printers +also. +Additionally, font description files have been added for the Arial and +Times New Roman family, the MS symbol, and Wingdings fonts. +.ULE +. +. +.SH 2 +afmtodit + +.ULS +.LI +New option `\-x' to prevent use of built-in Adobe Glyph List. +.ULE +. +. +.SH 2 +hpftodit + +.ULS +.LI +Completely revised to handle HP TrueType metric files also. +See the hpftodit manual page for more details. +.ULE +. +. +.SH 2 +groffer + +.ULS +.LI +This version is a rewrite of groffer in many parts, but it is kept in +the old single script style. + +.ULS +.LI +New options: \-\-text (\-\-mode\~text), \-\-tty-viewer, \-\-X (\-\-mode\~X), +\-\-X-viewer, \-\-html (\-\-mode\~html), \-\-html-view, \-\-apropos-data, +\-\-apropos-devel, \-\-apropos-progs. + +.LI +New documentation file README_SH. + +.LI +Enhancement of the configuration files and the `apropos' handling. +.ULE +.ULE +. +. +.SH 2 +macro packages + +.ULS +.LI +www.tmac: New macro `JOBNAME' to split output into multiple files. + +.LI +In mdoc, multiple calls to `.Lb' are now supported in the LIBRARY +section. +.ULE +. +. +.SH NEWS VERSION 1.19 . .SH 2 @@ -243,8 +450,8 @@ .LI Composite glyphs are now supported. To do this, a subset of the Adobe Glyph List (AGL) Algorithm as described in -.URL http://partners.adobe.com/asn/developer/typeforum/unicodegn.html \ - http://partners.adobe.com/asn/developer/typeforum/unicodegn.html +.URL http://partners.adobe.com/asn/tech/type/unicodegn.jsp \ + http://partners.adobe.com/asn/tech/type/unicodegn.jsp is used to construct glyph names based on Unicode character codes. The existing groff glyph names are frozen; no glyph names which can't be constructed algorithmically will be added in the future. @@ -274,7 +481,7 @@ .in will change the mapping while a composite glyph name is constructed. -To make \e[A ho] yield the expected result, +To make \e[A\~ho] yield the expected result, .in 2m .ft C @@ -306,16 +513,16 @@ `special' request but before the already mounted special fonts. .LI -In groff versions 1.18 and 1.18.1, \eD'f ...' didn't move the current +In groff versions 1.18 and 1.18.1, \eD'f\~...'\& didn't move the current point horizontally. Despite of being silly, this change has been reverted for backwards compatibility. Consequently, the intermediate output command `Df' also moves the position horizontally again. -\eD'f ...' is deprecated since it depends on the horizontal resolution of -the output device (given with the `hor' parameter in the DESC file). -Use the new \eD'Fg ...' escape instead. +\eD'f\~...'\& is deprecated since it depends on the horizontal resolution +of the output device (given with the `hor' parameter in the DESC file). +Use the new \eD'Fg\~...'\& escape instead. .LI For orthogonality, new \eD subcommands to change the fill color are @@ -344,7 +551,7 @@ .LI The `.pe' number register isn't new but hasn't been documented before. -It is set to 1 during a page ejection caused by the `bp' request. +It is set to\~1 during a page ejection caused by the `bp' request. .LI The new glyph symbol `tno' is a textual variant of `no'. diff -ruN groff-1.19/font/devhtml/R.proto groff-1.19.1/font/devhtml/R.proto --- groff-1.19/font/devhtml/R.proto Tue Apr 1 07:39:24 2003 +++ groff-1.19.1/font/devhtml/R.proto Sun Dec 28 09:45:20 2003 @@ -151,10 +151,6 @@ 14 24 0 0x00BC ¼ 12 24 0 0x00BD ½ 34 24 0 0x00BE ¾ -18 24 0 0x215B ⅛ -38 24 0 0x215C ⅜ -58 24 0 0x215D ⅝ -78 24 0 0x215E ⅞ r? 24 0 0x00BF ¿ `A 24 0 0x00C0 À 'A 24 0 0x00C1 Á @@ -222,18 +218,65 @@ 'y 24 0 0x00FD ý Tp 24 0 0x00FE þ :y 24 0 0x00FF ÿ +u0041_0306 24 0 0x0102 Ă +u0061_0306 24 0 0x0103 ă +u0041_0328 24 0 0x0104 Ą +u0061_0328 24 0 0x0105 ą 'C 24 0 0x0106 Ć 'c 24 0 0x0107 ć +u0043_030C 24 0 0x010C Č +u0063_030C 24 0 0x010D č +u0044_030C 24 0 0x010E Ď +u0064_030C 24 0 0x010F ď +u0110 24 0 0x0110 Đ +u0111 24 0 0x0111 đ +u0045_0328 24 0 0x0118 Ę +u0065_0328 24 0 0x0119 ę +u0045_030C 24 0 0x011A Ě +u0065_030C 24 0 0x011B ě +u0047_0306 24 0 0x011E Ğ +u0067_0306 24 0 0x011F ğ +u0049_0307 24 0 0x0130 İ .i 24 0 0x0131 ı IJ 24 0 0x0132 IJ ij 24 0 0x0133 ij +u004C_0301 24 0 0x0139 Ĺ +u006C_0301 24 0 0x013A ĺ +u004C_030C 24 0 0x013D Ľ +u006C_030C 24 0 0x013E ľ /L 24 0 0x0141 Ł /l 24 0 0x0142 ł +u004E_0301 24 0 0x0143 Ń +u006E_0301 24 0 0x0144 ń +u004E_030C 24 0 0x0147 Ň +u006E_030C 24 0 0x0148 ň +u004F_030B 24 0 0x0150 Ŋ +u006F_030B 24 0 0x0151 ŋ OE 24 0 0x0152 Œ oe 24 0 0x0153 œ +u0052_0301 24 0 0x0154 Ŕ +u0072_0301 24 0 0x0155 ŕ +u0052_030C 24 0 0x0158 Ř +u0072_030C 24 0 0x0159 ř +u0053_0301 24 0 0x015A Ś +u0073_0301 24 0 0x015B ś +u0053_0327 24 0 0x015E Ş +u0073_0327 24 0 0x015F ş vS 24 0 0x0160 Š vs 24 0 0x0161 š +u0054_0327 24 0 0x0162 Ţ +u0074_0327 24 0 0x0163 ţ +u0054_030C 24 0 0x0164 Ť +u0074_030C 24 0 0x0165 ť +u0055_030A 24 0 0x016E Ů +u0075_030A 24 0 0x016F ů +u0055_030B 24 0 0x0170 Ű +u0075_030B 24 0 0x0171 ű :Y 24 0 0x0178 Ÿ +u005A_0301 24 0 0x0179 Ź +u007A_0301 24 0 0x017A ź +u005A_0307 24 0 0x017B Ż +u007A_0307 24 0 0x017C ż vZ 24 0 0x017D Ž vz 24 0 0x017E ž Fn 24 0 0x0192 ƒ @@ -325,6 +368,10 @@ Re 24 0 0x211C ℜ tm 24 0 0x2122 ™ Ah 24 0 0x2135 ℵ +18 24 0 0x215B ⅛ +38 24 0 0x215C ⅜ +58 24 0 0x215D ⅝ +78 24 0 0x215E ⅞ <- 24 0 0x2190 ← ua 24 0 0x2191 ↑ -> 24 0 0x2192 → @@ -347,6 +394,7 @@ nm 24 0 0x2209 ∉ st 24 0 0x220B ∋ product 24 0 0x220F ∏ +coproduct 24 0 0x2210 ∐ sum 24 0 0x2211 ∑ \- 24 0 0x2212 − mi " @@ -421,6 +469,7 @@ bracerightmid " rb 24 0 0x23AD ⎭ bracerightbt " +u23AE 24 0 0x23AE ⎮ an 24 0 0x23AF ⎯ br 24 0 0x2502 │ sq 24 0 0x25A1 □ diff -ruN groff-1.19/font/devlj4/AB groff-1.19.1/font/devlj4/AB --- groff-1.19/font/devlj4/AB Thu Jan 1 01:00:00 1970 +++ groff-1.19.1/font/devlj4/AB Wed Feb 18 10:01:17 2004 @@ -0,0 +1,428 @@ +# M Arial Bd +name AB +spacewidth 7351 +pcltypeface 16602 +pclproportional 1 +pclweight 3 +pclstyle 0 +ligatures fi fl 0 +kernpairs +1 1 -1459 +A T -1963 +A V -1963 +A W -1459 +A Y -2428 +A v -981 +A w -477 +A y -981 +A cq -1459 +A ' -1459 +F , -2932 +F . -2932 +F A -1459 +L T -1963 +L V -1963 +L W -1459 +L Y -2428 +L y -981 +L cq -1459 +L ' -1459 +P , -3410 +P . -3410 +P A -1963 +R V -477 +R W -477 +R Y -981 +T , -2932 +T hy -1459 +T - -1459 +T . -2932 +T : -2932 +T ; -2932 +T A -1963 +T O -477 +T a -1963 +T c -1963 +T e -1963 +T i -477 +T o -1963 +T r -1459 +T s -1963 +T u -1963 +T w -1963 +T y -1963 +V , -2428 +V hy -1459 +V - -1459 +V . -2428 +V : -1459 +V ; -1459 +V A -1963 +V a -1459 +V e -1459 +V i -477 +V o -1963 +V r -1459 +V u -981 +V y -981 +W , -1459 +W hy -529 +W - -529 +W . -1459 +W : -477 +W ; -477 +W A -1459 +W a -981 +W e -477 +W i -232 +W o -477 +W r -477 +W u -477 +W y -477 +Y , -2932 +Y hy -1459 +Y - -1459 +Y . -2932 +Y : -1963 +Y ; -1963 +Y A -2428 +Y a -1459 +Y e -1459 +Y i -981 +Y o -1963 +Y p -1459 +Y q -1963 +Y u -1459 +Y v -1459 +f cq 478 +f ' 478 +r , -1459 +r . -1459 +r cq 982 +r ' 982 +v , -1963 +v . -1963 +w , -981 +w . -981 +y , -1963 +y . -1963 +oq oq -981 +oq ` -981 +` oq -981 +` ` -981 +cq s -981 +' s -981 +cq cq -981 +cq ' -981 +' cq -981 +' ' -981 +charset +! 8811,18939 2 161057 -- U+0021 (19U 33) +dq 12544,18939 2 161058 -- U+0022 (19U 34) +" " +sh 14715,19262,323 2 161059 -- U+0023 (19U 35) +# " +Do 14715,20464,2648 2 161060 -- U+0024 (19U 36) +$ " +% 23526,19262,762 2 161061 -- U+0025 (19U 37) +& 19107,19262,491 2 161062 -- U+0026 (19U 38) +aq 6292,18939 2 161063 -- U+0027 (19U 39) +( 8811,19262,5568 3 161064 -- U+0028 (19U 40) +) 8811,19262,5568 3 161065 -- U+0029 (19U 41) +* 10297,19262 2 161066 -- U+002A (19U 42) ++ 15451,15968 0 161067 -- U+002B (19U 43) +, 7351,3630,4225 0 161068 -- U+002C (19U 44) +hy 8811,8682 0 161069 -- U+002D (19U 45) +- " +. 7351,3630 0 161070 -- U+002E (19U 46) +sl 7351,19262,323 2 161071 -- U+002F (19U 47) +/ " +0 14715,19017,323 2 161072 -- U+0030 (19U 48) +1 14715,19017 2 161073 -- U+0031 (19U 49) +2 14715,19017 2 161074 -- U+0032 (19U 50) +3 14715,19017,323 2 161075 -- U+0033 (19U 51) +4 14715,19017 2 161076 -- U+0034 (19U 52) +5 14715,18681,323 2 161077 -- U+0035 (19U 53) +6 14715,19017,323 2 161078 -- U+0036 (19U 54) +7 14715,18681 2 161079 -- U+0037 (19U 55) +8 14715,19017,336 2 161080 -- U+0038 (19U 56) +9 14715,19017,336 2 161081 -- U+0039 (19U 57) +: 8811,13720 0 161082 -- U+003A (19U 58) +; 8811,13720,4225 0 161083 -- U+003B (19U 59) +< 15451,16549 0 161084 -- U+003C (19U 60) += 15451,13875 0 161085 -- U+003D (19U 61) +> 15451,16524 0 161086 -- U+003E (19U 62) +? 16162,19133 2 161087 -- U+003F (19U 63) +at 25799,19275,5568 3 161088 -- U+0040 (19U 64) +@ " +A 19107,18939 2 161089 -- U+0041 (19U 65) +B 19107,18939 2 161090 -- U+0042 (19U 66) +C 19107,19262,323 2 161091 -- U+0043 (19U 67) +D 19107,18939 2 161092 -- U+0044 (19U 68) +E 17648,18939 2 161093 -- U+0045 (19U 69) +F 16162,18939 2 161094 -- U+0046 (19U 70) +G 20580,19262,323 2 161095 -- U+0047 (19U 71) +H 19107,18939 2 161096 -- U+0048 (19U 72) +I 7351,18939 2 161097 -- U+0049 (19U 73) +J 14715,18939,323 2 161098 -- U+004A (19U 74) +K 19107,18939 2 161099 -- U+004B (19U 75) +L 16162,18784 2 161100 -- U+004C (19U 76) +M 22040,18939 2 161101 -- U+004D (19U 77) +N 19107,18939 2 161102 -- U+004E (19U 78) +O 20580,19262,323 2 161103 -- U+004F (19U 79) +P 17648,18939 2 161104 -- U+0050 (19U 80) +Q 20580,19262,1899 2 161105 -- U+0051 (19U 81) +R 19107,18939 2 161106 -- U+0052 (19U 82) +S 17648,19262,336 2 161107 -- U+0053 (19U 83) +T 16162,18939 2 161108 -- U+0054 (19U 84) +U 19107,18939,323 2 161109 -- U+0055 (19U 85) +V 17648,18939 2 161110 -- U+0056 (19U 86) +W 24973,18939 2 161111 -- U+0057 (19U 87) +X 17648,18939 2 161112 -- U+0058 (19U 88) +Y 17648,18939 2 161113 -- U+0059 (19U 89) +Z 16162,18939 2 161114 -- U+005A (19U 90) +lB 8811,18939,5336 3 161115 -- U+005B (19U 91) +[ " +rs 7351,19262,323 2 161116 -- U+005C (19U 92) +\ " +rB 8811,18939,5336 3 161117 -- U+005D (19U 93) +] " +ha 15451,19262 2 161118 -- U+005E (19U 94) +_ 14715,0,5232 1 161119 -- U+005F (19U 95) +ga 8811,19262 2 161120 -- U+0060 (19U 96) +a 14715,14030,310 0 161121 -- U+0061 (19U 97) +b 16162,18939,310 2 161122 -- U+0062 (19U 98) +c 14715,14030,310 0 161123 -- U+0063 (19U 99) +d 16162,18939,310 2 161124 -- U+0064 (19U 100) +e 14715,14030,310 0 161125 -- U+0065 (19U 101) +f 8811,19262 2 161126 -- U+0066 (19U 102) +g 16162,14030,5568 1 161127 -- U+0067 (19U 103) +h 16162,18939 2 161128 -- U+0068 (19U 104) +i 7351,18939 2 161129 -- U+0069 (19U 105) +j 7351,18939,5568 3 161130 -- U+006A (19U 106) +k 14715,18939 2 161131 -- U+006B (19U 107) +l 7351,18939 2 161132 -- U+006C (19U 108) +m 23526,14030 0 161133 -- U+006D (19U 109) +n 16162,14030 0 161134 -- U+006E (19U 110) +o 16162,14030,310 0 161135 -- U+006F (19U 111) +p 16162,14030,5219 1 161136 -- U+0070 (19U 112) +q 16162,14030,5219 1 161137 -- U+0071 (19U 113) +r 10297,14030 0 161138 -- U+0072 (19U 114) +s 14715,14030,310 0 161139 -- U+0073 (19U 115) +t 8811,18565,310 2 161140 -- U+0074 (19U 116) +u 16162,13720,310 0 161141 -- U+0075 (19U 117) +v 14715,13720 0 161142 -- U+0076 (19U 118) +w 20580,13720 0 161143 -- U+0077 (19U 119) +x 14715,13720 0 161144 -- U+0078 (19U 120) +y 14715,13720,5568 1 161145 -- U+0079 (19U 121) +z 13229,13720 0 161146 -- U+007A (19U 122) +{ 10297,19262,5568 3 161147 -- U+007B (19U 123) +lC " +| 7403,19262,5568 3 161148 -- U+007C (19U 124) +ba " +} 10297,19262,5568 3 161149 -- U+007D (19U 125) +rC " +ti 15451,11937 0 161150 -- U+007E (19U 126) +r! 8811,13720,5258 1 161185 -- U+00A1 (19U 161) +ct 14715,18810,5206 3 161186 -- U+00A2 (19U 162) +Po 14715,19262,323 2 161187 -- U+00A3 (19U 163) +Cs 14715,16149 0 161188 -- U+00A4 (19U 164) +Ye 14715,18939 2 161189 -- U+00A5 (19U 165) +bb 7403,19262,5568 3 161190 -- U+00A6 (19U 166) +sc 14715,19262,5568 3 161191 -- U+00A7 (19U 167) +ad 8811,19262 2 161192 -- U+00A8 (19U 168) +co 19495,19327,465 2 161193 -- U+00A9 (19U 169) +Of 9793,19262 2 161194 -- U+00AA (19U 170) +Fo 14715,12699 0 161195 -- U+00AB (19U 171) +tno 15451,13875 0 161196 -- U+00AC (19U 172) +u00AD 8811,8682 0 161197 -- U+00AD (19U 173) +rg 19495,19327,465 2 161198 -- U+00AE (19U 174) +u00AF 14612,22415 2 161199 -- U+00AF (19U 175) +de 10581,19262 2 161200 -- U+00B0 (19U 176) +t+- 14521,17841 2 161201 -- U+00B1 (19U 177) +S2 8811,19172 2 161202 -- U+00B2 (19U 178) +S3 8811,19172 2 161203 -- U+00B3 (19U 179) +aa 8811,19262 2 161204 -- U+00B4 (19U 180) +mc 15245,13720,5258 1 161205 -- U+00B5 (19U 181) +ps 14715,18939,5206 3 161206 -- U+00B6 (19U 182) +pc 7351,11033 0 60157 -- U+00B7 ( 7J 253) +ac 8811,0,5413 1 161208 -- U+00B8 (19U 184) +S1 8811,19172 2 161209 -- U+00B9 (19U 185) +Om 9663,19262 2 161210 -- U+00BA (19U 186) +Fc 14715,12699 0 161211 -- U+00BB (19U 187) +14 22066,19172,698 2 161212 -- U+00BC (19U 188) +12 22066,19172,698 2 161213 -- U+00BD (19U 189) +34 22066,19172,698 2 161214 -- U+00BE (19U 190) +r? 16162,13720,5426 1 161215 -- U+00BF (19U 191) +`A 19107,23887 2 161216 -- U+00C0 (19U 192) +'A 19107,23887 2 161217 -- U+00C1 (19U 193) +^A 19107,23836 2 161218 -- U+00C2 (19U 194) +~A 19107,23280 2 161219 -- U+00C3 (19U 195) +:A 19107,23138 2 161220 -- U+00C4 (19U 196) +oA 19107,22712 2 161221 -- U+00C5 (19U 197) +AE 26458,18939 2 161222 -- U+00C6 (19U 198) +,C 19107,19262,5413 3 161223 -- U+00C7 (19U 199) +`E 17648,23887 2 161224 -- U+00C8 (19U 200) +'E 17648,23887 2 161225 -- U+00C9 (19U 201) +^E 17648,23836 2 161226 -- U+00CA (19U 202) +:E 17648,23138 2 161227 -- U+00CB (19U 203) +`I 7351,23887 2 161228 -- U+00CC (19U 204) +'I 7351,23887 2 161229 -- U+00CD (19U 205) +^I 7351,23836 2 161230 -- U+00CE (19U 206) +:I 7351,23138 2 161231 -- U+00CF (19U 207) +-D 19107,18939 2 161232 -- U+00D0 (19U 208) +~N 19107,23280 2 161233 -- U+00D1 (19U 209) +`O 20580,23887,323 2 161234 -- U+00D2 (19U 210) +'O 20580,23887,323 2 161235 -- U+00D3 (19U 211) +^O 20580,23836,323 2 161236 -- U+00D4 (19U 212) +~O 20580,23280,323 2 161237 -- U+00D5 (19U 213) +:O 20580,23138,323 2 161238 -- U+00D6 (19U 214) +tmu 15451,15645 0 161239 -- U+00D7 (19U 215) +/O 20580,19844,1059 2 161240 -- U+00D8 (19U 216) +`U 19107,23887,323 2 161241 -- U+00D9 (19U 217) +'U 19107,23887,323 2 161242 -- U+00DA (19U 218) +^U 19107,23836,323 2 161243 -- U+00DB (19U 219) +:U 19107,23138,323 2 161244 -- U+00DC (19U 220) +'Y 17648,23887 2 161245 -- U+00DD (19U 221) +TP 17648,18939 2 161246 -- U+00DE (19U 222) +ss 16162,19262,310 2 161247 -- U+00DF (19U 223) +`a 14715,19262,310 2 161248 -- U+00E0 (19U 224) +'a 14715,19262,310 2 161249 -- U+00E1 (19U 225) +^a 14715,19262,310 2 161250 -- U+00E2 (19U 226) +~a 14715,18862,310 2 161251 -- U+00E3 (19U 227) +:a 14715,19262,310 2 161252 -- U+00E4 (19U 228) +oa 14715,19870,310 2 161253 -- U+00E5 (19U 229) +ae 23526,14030,310 0 161254 -- U+00E6 (19U 230) +,c 14715,14030,5413 1 161255 -- U+00E7 (19U 231) +`e 14715,19262,310 2 161256 -- U+00E8 (19U 232) +'e 14715,19262,310 2 161257 -- U+00E9 (19U 233) +^e 14715,19262,310 2 161258 -- U+00EA (19U 234) +:e 14715,19262,310 2 161259 -- U+00EB (19U 235) +`i 7351,19262 2 161260 -- U+00EC (19U 236) +'i 7351,19262 2 161261 -- U+00ED (19U 237) +^i 7351,19262 2 161262 -- U+00EE (19U 238) +:i 7351,19262 2 161263 -- U+00EF (19U 239) +Sd 16162,18939,323 2 161264 -- U+00F0 (19U 240) +~n 16162,18862 2 161265 -- U+00F1 (19U 241) +`o 16162,19262,310 2 161266 -- U+00F2 (19U 242) +'o 16162,19262,310 2 161267 -- U+00F3 (19U 243) +^o 16162,19262,310 2 161268 -- U+00F4 (19U 244) +~o 16162,18862,310 2 161269 -- U+00F5 (19U 245) +:o 16162,19262,310 2 161270 -- U+00F6 (19U 246) +tdi 14521,16304 0 161271 -- U+00F7 (19U 247) +/o 16162,14456,943 0 161272 -- U+00F8 (19U 248) +`u 16162,19262,310 2 161273 -- U+00F9 (19U 249) +'u 16162,19262,310 2 161274 -- U+00FA (19U 250) +^u 16162,19262,310 2 161275 -- U+00FB (19U 251) +:u 16162,19262,310 2 161276 -- U+00FC (19U 252) +'y 14715,19262,5568 3 161277 -- U+00FD (19U 253) +Tp 16162,18939,5219 3 161278 -- U+00FE (19U 254) +:y 14715,19262,5568 3 161279 -- U+00FF (19U 255) +u0041_0306 19107,23719 2 75203 -- U+0102 ( 9E 195) +u0061_0306 14715,19262,310 2 75235 -- U+0103 ( 9E 227) +u0041_0328 19107,18939,5568 3 75173 -- U+0104 ( 9E 165) +u0061_0328 14715,14030,5568 1 75193 -- U+0105 ( 9E 185) +'C 19107,23887,323 2 75206 -- U+0106 ( 9E 198) +'c 14715,19262,310 2 75238 -- U+0107 ( 9E 230) +u0041_030C 19107,23913,323 2 75208 -- U+010C ( 9E 200) +u0061_030C 14715,19262,310 2 75240 -- U+010D ( 9E 232) +u0044_030C 19107,23913 2 75215 -- U+010E ( 9E 207) +u0064_030C 19017,18939,310 2 75247 -- U+010F ( 9E 239) +u0111 16162,18939,310 2 75248 -- U+0111 ( 9E 240) +u0045_0328 17648,18939,5568 3 75210 -- U+0118 ( 9E 202) +u0065_0328 14715,14030,5568 1 75242 -- U+0119 ( 9E 234) +u0045_030C 17648,23913 2 75212 -- U+011A ( 9E 204) +u0065_030C 14715,19262,310 2 75244 -- U+011B ( 9E 236) +u0047_0306 20580,23719,323 2 46288 -- U+011E ( 5T 208) +u0067_0306 16162,19262,5568 3 46320 -- U+011F ( 5T 240) +u0049_0307 7351,23461 2 46301 -- U+0130 ( 5T 221) +.i 7351,13720 0 46333 -- U+0131 ( 5T 253) +IJ 20761,18939,323 2 60135 -- U+0132 ( 7J 231) +ij 14715,18939,5568 3 60134 -- U+0133 ( 7J 230) +u004C_0301 16162,23887 2 75205 -- U+0139 ( 9E 197) +u006C_0301 7351,23771 2 75237 -- U+013A ( 9E 229) +u004C_030C 16162,18784 2 75196 -- U+013D ( 9E 188) +u006C_030C 10193,18939 2 75198 -- U+013E ( 9E 190) +u013F 16162,18784 2 95646 -- U+013F (11U 158) +u0140 12674,18939 2 95647 -- U+0140 (11U 159) +/L 16162,18939 2 75171 -- U+0141 ( 9E 163) +/l 7351,18939 2 75187 -- U+0142 ( 9E 179) +u004E_0301 19107,23887 2 75217 -- U+0143 ( 9E 209) +u006E_0301 16162,19262 2 75249 -- U+0144 ( 9E 241) +u004E_030C 19107,23913 2 75218 -- U+0147 ( 9E 210) +u006E_030C 16162,19262 2 75250 -- U+0148 ( 9E 242) +u0149 18746,18939 2 95660 -- U+0149 (11U 172) +u004F_030B 20580,23875,323 2 75221 -- U+0150 ( 9E 213) +u006F_030B 16162,19314,310 2 75253 -- U+0151 ( 9E 245) +OE 26458,19262,323 2 161164 -- U+0152 (19U 140) +oe 24973,14030,310 0 161180 -- U+0153 (19U 156) +u0052_0301 19107,23887 2 75200 -- U+0154 ( 9E 192) +u0072_0301 10297,19262 2 75232 -- U+0155 ( 9E 224) +u0052_030C 19107,23913 2 75224 -- U+0158 ( 9E 216) +u0072_030C 10297,19262 2 75256 -- U+0159 ( 9E 248) +u0053_0301 17648,23887,336 2 75148 -- U+015A ( 9E 140) +u0073_0301 14715,19262,310 2 75164 -- U+015B ( 9E 156) +u0053_0327 17648,19262,5413 3 75178 -- U+015E ( 9E 170) +u0073_0327 14715,14030,5413 1 75194 -- U+015F ( 9E 186) +vS 17648,23913,336 2 161162 -- U+0160 (19U 138) +vs 14715,19262,310 2 161178 -- U+0161 (19U 154) +u0054_0327 16162,18939,8436 3 75230 -- U+0162 ( 9E 222) +u0074_0327 8811,18565,7751 3 75262 -- U+0163 ( 9E 254) +u0054_030C 16162,23913 2 75149 -- U+0164 ( 9E 141) +u0074_030C 12674,18939,310 2 75165 -- U+0165 ( 9E 157) +u0055_030A 19107,24327,323 2 75225 -- U+016E ( 9E 217) +u0075_030A 16162,19870,310 2 75257 -- U+016F ( 9E 249) +u0055_030B 19107,23875,323 2 75227 -- U+0170 ( 9E 219) +u0075_030B 16162,19314,310 2 75259 -- U+0171 ( 9E 251) +:Y 17648,23138 2 161183 -- U+0178 (19U 159) +u005A_0301 16162,23887 2 75151 -- U+0179 ( 9E 143) +u007A_0301 13229,19262 2 75167 -- U+017A ( 9E 159) +u005A_0307 16162,23552 2 75183 -- U+017B ( 9E 175) +u007A_0307 13229,19262 2 75199 -- U+017C ( 9E 191) +vZ 16162,23913 2 75150 -- U+017D ( 9E 142) +vz 13229,19262 2 75166 -- U+017E ( 9E 158) +Fn 14715,19262,5568 3 161155 -- U+0192 (19U 131) +a^ 8811,19262 2 161160 -- U+02C6 (19U 136) +^ " +ah 8811,19262 2 75169 -- U+02C7 ( 9E 161) +a- 8811,18371 2 60154 -- U+02C9 ( 7J 250) +ab 8811,19262 2 75170 -- U+02D8 ( 9E 162) +a. 8811,19262 2 75263 -- U+02D9 ( 9E 255) +ao 8811,19870 2 60152 -- U+02DA ( 7J 248) +ho 8811,336,5568 1 75186 -- U+02DB ( 9E 178) +~ 8811,18862 2 161176 -- U+02DC (19U 152) +a~ " +a" 8811,19314 2 75197 -- U+02DD ( 9E 189) +en 14715,8217 0 161174 -- U+2013 (19U 150) +em 26458,8217 0 161175 -- U+2014 (19U 151) +u2017 14612,0,9961 1 60095 -- U+2017 ( 7J 191) +oq 7351,19120 2 161169 -- U+2018 (19U 145) +` " +cq 7351,18888 2 161170 -- U+2019 (19U 146) +' " +bq 7351,3630,4225 0 161154 -- U+201A (19U 130) +lq 13229,19120 2 161171 -- U+201C (19U 147) +rq 13229,18939 2 161172 -- U+201D (19U 148) +Bq 13229,3630,4237 0 161156 -- U+201E (19U 132) +dg 14715,18707,4522 2 161158 -- U+2020 (19U 134) +dd 14715,18707,4522 2 161159 -- U+2021 (19U 135) +bu 9263,13165 0 161173 -- U+2022 (19U 149) +u2026 26458,3630 0 161157 -- U+2026 (19U 133) +%0 26458,19262,762 2 161161 -- U+2030 (19U 137) +fm 6343,18939 2 60101 -- U+2032 ( 7J 197) +sd 12674,18939 2 60102 -- U+2033 ( 7J 198) +fo 8811,12699 0 161163 -- U+2039 (19U 139) +fc 8811,12699 0 161179 -- U+203A (19U 155) +u203C 15981,18939 2 87315 -- U+203C (10U 19) +u207F 10477,15477 0 87548 -- U+207F (10U 252) +u20A7 28939,18939,336 2 60121 -- U+20A7 ( 7J 217) +Eu 14715,19262,323 2 161152 -- U+20AC (19U 128) +u2105 23422,19262,723 2 60072 -- U+2105 ( 7J 168) +u2113 12932,19262,310 2 60122 -- U+2113 ( 7J 218) +tm 26458,18939 2 161177 -- U+2122 (19U 153) +\- 15451,11046 0 60096 -- U+2212 ( 7J 192) +f/ 4418,19172,698 2 60109 -- U+2215 ( 7J 205) +sq 15981,12196 0 60091 -- U+25A1 ( 7J 187) +u25CA 13074,18371 2 101079 -- U+25CA (12J 215) +fi 16162,19262 2 60077 -- U+FB01 ( 7J 173) +fl 16162,19262 2 60078 -- U+FB02 ( 7J 174) diff -ruN groff-1.19/font/devlj4/ABI groff-1.19.1/font/devlj4/ABI --- groff-1.19/font/devlj4/ABI Thu Jan 1 01:00:00 1970 +++ groff-1.19.1/font/devlj4/ABI Wed Feb 18 10:01:17 2004 @@ -0,0 +1,428 @@ +# M Arial Bd It +name ABI +spacewidth 7351 +slant 12.000000 +pcltypeface 16602 +pclproportional 1 +pclweight 3 +pclstyle 1 +ligatures fi fl 0 +kernpairs +1 1 -1963 +A T -1963 +A V -1963 +A W -1459 +A Y -1963 +A cq -1459 +A ' -1459 +F , -2932 +F . -2932 +F A -1459 +L T -1963 +L V -1459 +L W -1459 +L Y -1963 +L cq -1963 +L ' -1963 +P , -3410 +P . -3410 +P A -1963 +R T -477 +R W -477 +R Y -477 +T , -1963 +T hy -1459 +T - -1459 +T . -1963 +T : -1963 +T ; -1963 +T A -1963 +T O -477 +T a -981 +T c -981 +T e -981 +T i -477 +T o -981 +T r -477 +T s -981 +T u -477 +T w -981 +T y -981 +V , -2428 +V hy -981 +V - -981 +V . -2428 +V : -981 +V ; -981 +V A -1963 +V a -981 +V e -981 +V i -981 +V o -981 +V r -477 +V u -477 +V y -477 +W , -1963 +W hy -981 +W - -981 +W . -1963 +W : -981 +W ; -981 +W A -1459 +W a -477 +W e -477 +W i -232 +W o -477 +W r -477 +W u -477 +W y -477 +Y , -2428 +Y hy -1963 +Y - -1963 +Y . -2428 +Y : -1459 +Y ; -1459 +Y A -1963 +Y a -981 +Y e -981 +Y i -981 +Y o -981 +Y p -981 +Y q -981 +Y u -981 +Y v -981 +f f -477 +f cq 478 +f ' 478 +r , -1459 +r . -1459 +r cq 982 +r ' 982 +v , -1459 +v . -1459 +w , -981 +w . -981 +y , -981 +y . -981 +oq oq -981 +oq ` -981 +` oq -981 +` ` -981 +cq s -477 +' s -477 +cq t 478 +' t 478 +cq cq -981 +cq ' -981 +' cq -981 +' ' -981 +charset +! 8811,18939,0,1847,-309,181 2 161057 -- U+0021 (19U 33) +dq 12544,18939,0,2093,-2596,181 2 161058 -- U+0022 (19U 34) +" " +sh 14715,19262,323,2041,52,181 2 161059 -- U+0023 (19U 35) +# " +Do 14715,20373,2623,1847,155,181 2 161060 -- U+0024 (19U 36) +$ " +% 23526,19262,814,659,-1084,181 2 161061 -- U+0025 (19U 37) +& 19107,19262,439,891,-877,181 2 161062 -- U+0026 (19U 38) +aq 6292,18939,0,3734,-2686,181 2 161063 -- U+0027 (19U 39) +( 8811,19262,5568,4031,-425,181 3 161064 -- U+0028 (19U 40) +) 8811,19262,5568,220,3385,181 3 161065 -- U+0029 (19U 41) +* 10297,19262,0,2984,-1278,181 2 161066 -- U+002A (19U 42) ++ 15451,15968,0,1240,-813,181 0 161067 -- U+002B (19U 43) +, 7351,3579,4108,0,1046 0 161068 -- U+002C (19U 44) +hy 8811,8617,0,1473,297,181 0 161069 -- U+002D (19U 45) +- " +. 7351,3579,0,0,155 0 161070 -- U+002E (19U 46) +sl 7351,19262,323,4780,2468,181 2 161071 -- U+002F (19U 47) +/ " +0 14715,19017,323,1718,-387,181 2 161072 -- U+0030 (19U 48) +1 14715,19056,0,116,-1821,116 2 161073 -- U+0031 (19U 49) +2 14715,19017,0,1705,-283,181 2 161074 -- U+0032 (19U 50) +3 14715,19017,323,1421,-25,181 2 161075 -- U+0033 (19U 51) +4 14715,18939,0,1421,594,181 2 161076 -- U+0034 (19U 52) +5 14715,18681,323,1886,-361,181 2 161077 -- U+0035 (19U 53) +6 14715,19017,336,1835,-826,181 2 161078 -- U+0036 (19U 54) +7 14715,18681,0,2545,-1420,181 2 161079 -- U+0037 (19U 55) +8 14715,19017,336,1602,-425,181 2 161080 -- U+0038 (19U 56) +9 14715,19017,323,1369,-361,181 2 161081 -- U+0039 (19U 57) +: 8811,13720,0,891,-542,181 0 161082 -- U+003A (19U 58) +; 8811,13720,4108,969,245,181 0 161083 -- U+003B (19U 59) +< 15451,16549,0,1111,-942,181 0 161084 -- U+003C (19U 60) += 15451,13875,0,1240,-813,181 0 161085 -- U+003D (19U 61) +> 15451,16524,0,1124,-942,181 0 161086 -- U+003E (19U 62) +? 16162,19262,0,1512,-1937,181 2 161087 -- U+003F (19U 63) +at 25799,19275,5568,2157,-399,181 3 161088 -- U+0040 (19U 64) +@ " +A 19107,18939,0,26,1615,26 2 161089 -- U+0041 (19U 65) +B 19107,18939,0,995,258,181 2 161090 -- U+0042 (19U 66) +C 19107,19262,336,1938,-1188,181 2 161091 -- U+0043 (19U 67) +D 19107,18939,0,1382,168,181 2 161092 -- U+0044 (19U 68) +E 17648,18939,0,2752,233,181 2 161093 -- U+0045 (19U 69) +F 16162,18939,0,3411,284,181 2 161094 -- U+0046 (19U 70) +G 20580,19262,323,1524,-1020,181 2 161095 -- U+0047 (19U 71) +H 19107,18939,0,2442,168,181 2 161096 -- U+0048 (19U 72) +I 7351,18939,0,2739,400,181 2 161097 -- U+0049 (19U 73) +J 14715,18939,323,2468,556,181 2 161098 -- U+004A (19U 74) +K 19107,18939,0,3411,271,181 2 161099 -- U+004B (19U 75) +L 16162,18939,0,543,129,181 2 161100 -- U+004C (19U 76) +M 22040,18939,0,2519,245,181 2 161101 -- U+004D (19U 77) +N 19107,18939,0,2390,129,181 2 161102 -- U+004E (19U 78) +O 20580,19262,336,1486,-994,181 2 161103 -- U+004F (19U 79) +P 17648,18939,0,2248,245,181 2 161104 -- U+0050 (19U 80) +Q 20580,19262,2519,1473,-994,181 2 161105 -- U+0051 (19U 81) +R 19107,18939,0,1822,155,181 2 161106 -- U+0052 (19U 82) +S 17648,19262,323,1563,-309,181 2 161107 -- U+0053 (19U 83) +T 16162,18939,0,3914,-1859,181 2 161108 -- U+0054 (19U 84) +U 19107,18939,323,2455,-1097,181 2 161109 -- U+0055 (19U 85) +V 17648,18939,0,4664,-1678,181 2 161110 -- U+0056 (19U 86) +W 24973,18939,0,4599,-1782,181 2 161111 -- U+0057 (19U 87) +X 17648,18939,0,4405,2119,181 2 161112 -- U+0058 (19U 88) +Y 17648,18939,0,4431,-1717,181 2 161113 -- U+0059 (19U 89) +Z 16162,18939,0,2829,659,181 2 161114 -- U+005A (19U 90) +lB 8811,18939,5219,4121,1059,181 3 161115 -- U+005B (19U 91) +[ " +rs 7351,19262,323,1563,-748,181 2 161116 -- U+005C (19U 92) +\ " +rB 8811,18939,5219,2429,2791,181 3 161117 -- U+005D (19U 93) +] " +ha 15451,19262,0,1111,-1459,181 2 161118 -- U+005E (19U 94) +_ 14715,0,5232,1447,1563,181 1 161119 -- U+005F (19U 95) +ga 8811,19366,0,1266,-2221,181 2 161120 -- U+0060 (19U 96) +a 14715,14043,323,711,129,181 0 161121 -- U+0061 (19U 97) +b 16162,18939,323,1072,362,181 2 161122 -- U+0062 (19U 98) +c 14715,14043,323,1537,-270,181 0 161123 -- U+0063 (19U 99) +d 16162,18939,323,2842,-244,181 2 161124 -- U+0064 (19U 100) +e 14715,14043,323,1279,-219,181 0 161125 -- U+0065 (19U 101) +f 8811,19262,0,4961,-102,181 2 161126 -- U+0066 (19U 102) +g 16162,14043,5568,1628,491,181 1 161127 -- U+0067 (19U 103) +h 16162,18939,0,788,207,181 2 161128 -- U+0068 (19U 104) +i 7351,18939,0,2687,258,181 2 161129 -- U+0069 (19U 105) +j 7351,18939,5568,2726,4212,181 3 161130 -- U+006A (19U 106) +k 14715,18939,0,2855,323,181 2 161131 -- U+006B (19U 107) +l 7351,18939,0,2661,284,181 2 161132 -- U+006C (19U 108) +m 23526,14043,0,775,375,181 0 161133 -- U+006D (19U 109) +n 16162,14043,0,801,207,181 0 161134 -- U+006E (19U 110) +o 16162,14043,323,1008,-283,181 0 161135 -- U+006F (19U 111) +p 16162,14043,5232,1176,1460,181 1 161136 -- U+0070 (19U 112) +q 16162,14043,5232,1692,-257,181 1 161137 -- U+0071 (19U 113) +r 10297,14043,0,3566,465,181 0 161138 -- U+0072 (19U 114) +s 14715,14043,323,1201,736,181 0 161139 -- U+0073 (19U 115) +t 8811,18474,323,2842,-671,181 2 161140 -- U+0074 (19U 116) +u 16162,13720,323,1537,-542,181 0 161141 -- U+0075 (19U 117) +v 14715,13720,0,2958,-658,181 0 161142 -- U+0076 (19U 118) +w 20580,13720,0,2971,-580,181 0 161143 -- U+0077 (19U 119) +x 14715,13720,0,2803,1899,181 0 161144 -- U+0078 (19U 120) +y 14715,13720,5568,3023,1150,181 1 161145 -- U+0079 (19U 121) +z 13229,13720,0,1809,878,181 0 161146 -- U+007A (19U 122) +{ 10297,19262,5568,3992,207,181 3 161147 -- U+007B (19U 123) +lC " +| 7403,19262,5568,0,-955 3 161148 -- U+007C (19U 124) +ba " +} 10297,19262,5568,633,3566,181 3 161149 -- U+007D (19U 125) +rC " +ti 15451,11937,0,1357,-451,181 0 161150 -- U+007E (19U 126) +r! 8811,13720,5219,568,1008,181 1 161185 -- U+00A1 (19U 161) +ct 14715,18888,5103,1486,-232,181 3 161186 -- U+00A2 (19U 162) +Po 14715,19262,478,2752,775,181 2 161187 -- U+00A3 (19U 163) +Cs 14715,16149,0,1809,-425,181 0 161188 -- U+00A4 (19U 164) +Ye 14715,18939,0,4237,685,181 2 161189 -- U+00A5 (19U 165) +bb 7403,19262,5568,0,-955 3 161190 -- U+00A6 (19U 166) +sc 14715,19262,5607,1421,749,181 3 161191 -- U+00A7 (19U 167) +ad 8811,18965,0,4018,-916,181 2 161192 -- U+00A8 (19U 168) +co 19495,19327,465,2765,168,181 2 161193 -- U+00A9 (19U 169) +Of 9793,19262,0,2429,-852,181 2 161194 -- U+00AA (19U 170) +Fo 14715,12622,0,2235,-852,181 0 161195 -- U+00AB (19U 171) +tno 15451,13875,0,1240,-813,181 0 161196 -- U+00AC (19U 172) +u00AD 8811,8617,0,1473,297,181 0 161197 -- U+00AD (19U 173) +rg 19495,19327,465,2765,168,181 2 161198 -- U+00AE (19U 174) +u00AF 14612,22415,0,3604,-490,181 2 161199 -- U+00AF (19U 175) +de 10581,19262,0,1886,-1588,181 2 161200 -- U+00B0 (19U 176) +t+- 14521,17841,0,1718,-361,181 2 161201 -- U+00B1 (19U 177) +S2 8811,19172,0,2984,-852,181 2 161202 -- U+00B2 (19U 178) +S3 8811,19172,0,2816,-697,181 2 161203 -- U+00B3 (19U 179) +aa 8811,19327,0,4018,-3539,181 2 161204 -- U+00B4 (19U 180) +mc 15245,13720,5310,1537,2300,181 1 161205 -- U+00B5 (19U 181) +ps 14715,18939,5206,2377,155,181 3 161206 -- U+00B6 (19U 182) +pc 7351,11033,0,0,-580 0 60157 -- U+00B7 ( 7J 253) +ac 8811,0,5491,0,1137 1 161208 -- U+00B8 (19U 184) +S1 8811,19198,0,2080,-1717,181 2 161209 -- U+00B9 (19U 185) +Om 9663,19262,0,2623,-593,181 2 161210 -- U+00BA (19U 186) +Fc 14715,12622,0,659,723,181 0 161211 -- U+00BB (19U 187) +14 22066,19172,788,1473,-1317,181 2 161212 -- U+00BC (19U 188) +12 22066,19172,788,1357,-929,181 2 161213 -- U+00BD (19U 189) +34 22066,19172,788,1783,-684,181 2 161214 -- U+00BE (19U 190) +r? 16162,13720,5542,0,607 1 161215 -- U+00BF (19U 191) +`A 19107,23952,0,26,1615,26 2 161216 -- U+00C0 (19U 192) +'A 19107,23913,0,362,1615,181 2 161217 -- U+00C1 (19U 193) +^A 19107,23952,0,142,1499,142 2 161218 -- U+00C2 (19U 194) +~A 19107,23125,0,26,1615,26 2 161219 -- U+00C3 (19U 195) +:A 19107,23177,0,271,1563,181 2 161220 -- U+00C4 (19U 196) +oA 19107,22596,245,26,1615,26 2 161221 -- U+00C5 (19U 197) +AE 26458,18939,0,2881,2170,181 2 161222 -- U+00C6 (19U 198) +,C 19107,19262,5413,1938,-1188,181 3 161223 -- U+00C7 (19U 199) +`E 17648,23952,0,2752,233,181 2 161224 -- U+00C8 (19U 200) +'E 17648,23913,0,2752,233,181 2 161225 -- U+00C9 (19U 201) +^E 17648,23952,0,2752,233,181 2 161226 -- U+00CA (19U 202) +:E 17648,23177,0,2752,233,181 2 161227 -- U+00CB (19U 203) +`I 7351,23952,0,4095,400,181 2 161228 -- U+00CC (19U 204) +'I 7351,23913,0,5904,400,181 2 161229 -- U+00CD (19U 205) +^I 7351,23952,0,5245,400,181 2 161230 -- U+00CE (19U 206) +:I 7351,23177,0,5943,400,181 2 161231 -- U+00CF (19U 207) +-D 19107,18939,0,1395,349,181 2 161232 -- U+00D0 (19U 208) +~N 19107,23125,0,2390,129,181 2 161233 -- U+00D1 (19U 209) +`O 20580,23952,336,1486,-994,181 2 161234 -- U+00D2 (19U 210) +'O 20580,23913,336,1486,-994,181 2 161235 -- U+00D3 (19U 211) +^O 20580,23952,336,1486,-994,181 2 161236 -- U+00D4 (19U 212) +~O 20580,23125,336,1486,-994,181 2 161237 -- U+00D5 (19U 213) +:O 20580,23177,336,1486,-994,181 2 161238 -- U+00D6 (19U 214) +tmu 15451,15645,0,917,-1123,181 0 161239 -- U+00D7 (19U 215) +/O 20580,20283,1576,1550,-735,181 2 161240 -- U+00D8 (19U 216) +`U 19107,23952,323,2455,-1097,181 2 161241 -- U+00D9 (19U 217) +'U 19107,23913,323,2455,-1097,181 2 161242 -- U+00DA (19U 218) +^U 19107,23952,323,2455,-1097,181 2 161243 -- U+00DB (19U 219) +:U 19107,23177,323,2455,-1097,181 2 161244 -- U+00DC (19U 220) +'Y 17648,23913,0,4431,-1717,181 2 161245 -- U+00DD (19U 221) +TP 17648,18939,0,1486,245,181 2 161246 -- U+00DE (19U 222) +ss 16162,19262,323,543,388,181 2 161247 -- U+00DF (19U 223) +`a 14715,19366,323,711,129,181 2 161248 -- U+00E0 (19U 224) +'a 14715,19327,323,1615,129,181 2 161249 -- U+00E1 (19U 225) +^a 14715,19353,323,711,129,181 2 161250 -- U+00E2 (19U 226) +~a 14715,18797,323,840,439,181 2 161251 -- U+00E3 (19U 227) +:a 14715,18965,323,1253,129,181 2 161252 -- U+00E4 (19U 228) +oa 14715,19947,323,711,129,181 2 161253 -- U+00E5 (19U 229) +ae 23526,14043,323,698,504,181 0 161254 -- U+00E6 (19U 230) +,c 14715,14043,5387,1524,-257,181 1 161255 -- U+00E7 (19U 231) +`e 14715,19366,323,1279,-219,181 2 161256 -- U+00E8 (19U 232) +'e 14715,19327,323,1473,-219,181 2 161257 -- U+00E9 (19U 233) +^e 14715,19353,323,1279,-219,181 2 161258 -- U+00EA (19U 234) +:e 14715,18965,323,1279,-219,181 2 161259 -- U+00EB (19U 235) +`i 7351,19366,0,3152,258,181 2 161260 -- U+00EC (19U 236) +'i 7351,19327,0,4896,258,181 2 161261 -- U+00ED (19U 237) +^i 7351,19353,0,4276,258,181 2 161262 -- U+00EE (19U 238) +:i 7351,18965,0,5013,258,181 2 161263 -- U+00EF (19U 239) +Sd 16162,18939,336,1240,-283,181 2 161264 -- U+00F0 (19U 240) +~n 16162,18797,0,801,207,181 2 161265 -- U+00F1 (19U 241) +`o 16162,19366,323,1008,-283,181 2 161266 -- U+00F2 (19U 242) +'o 16162,19327,323,1008,-283,181 2 161267 -- U+00F3 (19U 243) +^o 16162,19353,323,1008,-283,181 2 161268 -- U+00F4 (19U 244) +~o 16162,18797,323,1008,-283,181 2 161269 -- U+00F5 (19U 245) +:o 16162,18965,323,1008,-283,181 2 161270 -- U+00F6 (19U 246) +tdi 14521,16304,0,1718,-361,181 0 161271 -- U+00F7 (19U 247) +/o 16162,15115,1382,1137,-77,181 0 161272 -- U+00F8 (19U 248) +`u 16162,19366,323,1537,-542,181 2 161273 -- U+00F9 (19U 249) +'u 16162,19327,323,1537,-542,181 2 161274 -- U+00FA (19U 250) +^u 16162,19353,323,1537,-542,181 2 161275 -- U+00FB (19U 251) +:u 16162,18965,323,1537,-542,181 2 161276 -- U+00FC (19U 252) +'y 14715,19327,5568,3023,1150,181 3 161277 -- U+00FD (19U 253) +Tp 16162,18939,5232,1098,1563,181 3 161278 -- U+00FE (19U 254) +:y 14715,18965,5568,3023,1150,181 3 161279 -- U+00FF (19U 255) +u0041_0306 19107,23500,0,26,1615,26 2 75203 -- U+0102 ( 9E 195) +u0061_0306 14715,19224,323,956,129,181 2 75235 -- U+0103 ( 9E 227) +u0041_0328 19107,18939,5491,1111,1615,181 3 75173 -- U+0104 ( 9E 165) +u0061_0328 14715,14043,5491,814,129,181 1 75193 -- U+0105 ( 9E 185) +'C 19107,23913,336,1938,-1188,181 2 75206 -- U+0106 ( 9E 198) +'c 14715,19327,323,1537,-270,181 2 75238 -- U+0107 ( 9E 230) +u0041_030C 19107,23875,336,1938,-1188,181 2 75208 -- U+010C ( 9E 200) +u0061_030C 14715,19353,323,1925,-270,181 2 75240 -- U+010D ( 9E 232) +u0044_030C 19107,23952,0,1382,168,181 2 75215 -- U+010E ( 9E 207) +u0064_030C 19572,18939,323,4380,-244,181 2 75247 -- U+010F ( 9E 239) +u0111 16162,18939,323,4405,-244,181 2 75248 -- U+0111 ( 9E 240) +u0045_0328 17648,18939,5491,2752,233,181 3 75210 -- U+0118 ( 9E 202) +u0065_0328 14715,14043,5491,1279,-219,181 1 75242 -- U+0119 ( 9E 234) +u0045_030C 17648,23952,0,2752,233,181 2 75212 -- U+011A ( 9E 204) +u0065_030C 14715,19353,323,1292,-219,181 2 75244 -- U+011B ( 9E 236) +u0047_0306 20580,23500,323,1524,-1020,181 2 46288 -- U+011E ( 5T 208) +u0067_0306 16162,19224,5568,1628,491,181 3 46320 -- U+011F ( 5T 240) +u0049_0307 7351,23397,0,3604,400,181 2 46301 -- U+0130 ( 5T 221) +.i 7351,13720,0,1602,258,181 0 46333 -- U+0131 ( 5T 253) +IJ 20696,18939,323,2571,400,181 2 60135 -- U+0132 ( 7J 231) +ij 14715,18939,5568,2597,90,181 3 60134 -- U+0133 ( 7J 230) +u004C_0301 16162,23913,0,543,129,181 2 75205 -- U+0139 ( 9E 197) +u006C_0301 7351,23784,0,5155,284,181 2 75237 -- U+013A ( 9E 229) +u004C_030C 16162,18939,0,1344,129,181 2 75196 -- U+013D ( 9E 188) +u006C_030C 10477,18939,0,4418,323,181 2 75198 -- U+013E ( 9E 190) +u013F 16162,18939,0,504,168,181 2 95646 -- U+013F (11U 158) +u0140 12674,18939,0,788,336,181 2 95647 -- U+0140 (11U 159) +/L 16162,18939,0,646,930,181 2 75171 -- U+0141 ( 9E 163) +/l 7351,18939,0,2726,530,181 2 75187 -- U+0142 ( 9E 179) +u004E_0301 19107,23913,0,2390,129,181 2 75217 -- U+0143 ( 9E 209) +u006E_0301 16162,19327,0,801,207,181 2 75249 -- U+0144 ( 9E 241) +u004E_030C 19107,23952,0,2390,129,181 2 75218 -- U+0147 ( 9E 210) +u006E_030C 16162,19353,0,891,207,181 2 75250 -- U+0148 ( 9E 242) +u0149 18746,18939,0,685,245,181 2 95660 -- U+0149 (11U 172) +u004F_030B 20580,23849,336,1486,-994,181 2 75221 -- U+0150 ( 9E 213) +u006F_030B 16162,19262,323,1641,-283,181 2 75253 -- U+0151 ( 9E 245) +OE 26458,19262,323,3398,-503,181 2 161164 -- U+0152 (19U 140) +oe 24973,14043,323,1318,-219,181 0 161180 -- U+0153 (19U 156) +u0052_0301 19107,23913,0,1822,155,181 2 75200 -- U+0154 ( 9E 192) +u0072_0301 10297,19327,0,4044,465,181 2 75232 -- U+0155 ( 9E 224) +u0052_030C 19107,23952,0,1822,155,181 2 75224 -- U+0158 ( 9E 216) +u0072_030C 10297,19353,0,4767,465,181 2 75256 -- U+0159 ( 9E 248) +u0053_0301 17648,23913,323,1563,-309,181 2 75148 -- U+015A ( 9E 140) +u0073_0301 14715,19327,323,1201,736,181 2 75164 -- U+015B ( 9E 156) +u0053_0327 17648,19262,5491,1563,-309,181 3 75178 -- U+015E ( 9E 170) +u0073_0327 14715,14043,5387,1201,736,181 1 75194 -- U+015F ( 9E 186) +vS 17648,23952,323,1563,-309,181 2 161162 -- U+0160 (19U 138) +vs 14715,19353,323,1201,736,181 2 161178 -- U+0161 (19U 154) +u0054_0327 16162,18939,7894,3914,-1859,181 3 75230 -- U+0162 ( 9E 222) +u0074_0327 8811,18474,7261,2855,-438,181 3 75262 -- U+0163 ( 9E 254) +u0054_030C 16162,23952,0,3914,-1859,181 2 75149 -- U+0164 ( 9E 141) +u0074_030C 12674,18939,323,4392,-710,181 2 75165 -- U+0165 ( 9E 157) +u0055_030A 19107,24856,323,2455,-1097,181 2 75225 -- U+016E ( 9E 217) +u0075_030A 16162,19947,323,1537,-542,181 2 75257 -- U+016F ( 9E 249) +u0055_030B 19107,23849,323,2455,-1097,181 2 75227 -- U+0170 ( 9E 219) +u0075_030B 16162,19262,323,2403,-542,181 2 75259 -- U+0171 ( 9E 251) +:Y 17648,23177,0,4431,-1717,181 2 161183 -- U+0178 (19U 159) +u005A_0301 16162,23913,0,2829,659,181 2 75151 -- U+0179 ( 9E 143) +u007A_0301 13229,19327,0,1809,878,181 2 75167 -- U+017A ( 9E 159) +u005A_0307 16162,23397,0,2829,659,181 2 75183 -- U+017B ( 9E 175) +u007A_0307 13229,19249,0,1809,878,181 2 75199 -- U+017C ( 9E 191) +vZ 16162,23952,0,2829,659,181 2 75150 -- U+017D ( 9E 142) +vz 13229,19353,0,2054,878,181 2 75166 -- U+017E ( 9E 158) +Fn 14715,19262,5568,1357,1576,181 3 161155 -- U+0192 (19U 131) +a^ 8811,19353,0,2868,-167,181 2 161160 -- U+02C6 (19U 136) +^ " +ah 8811,19353,0,4276,-1575,181 2 75169 -- U+02C7 ( 9E 161) +a- 8811,18436,0,3540,-929,181 2 60154 -- U+02C9 ( 7J 250) +ab 8811,19224,0,2842,-916,181 2 75170 -- U+02D8 ( 9E 162) +a. 8811,19249,0,1240,-2996,181 2 75263 -- U+02D9 ( 9E 255) +ao 8811,19947,0,1473,-2660,181 2 60152 -- U+02DA ( 7J 248) +ho 8811,245,5491,0,-322 1 75186 -- U+02DB ( 9E 178) +~ 8811,18797,0,3850,-1136,181 2 161176 -- U+02DC (19U 152) +a~ " +a" 8811,19262,0,4845,439,181 2 75197 -- U+02DD ( 9E 189) +en 14715,8217,0,1266,1369,181 0 161174 -- U+2013 (19U 150) +em 26458,8217,0,1318,1318,181 0 161175 -- U+2014 (19U 151) +u2017 14612,0,9961,1550,1563,181 1 60095 -- U+2017 ( 7J 191) +oq 7351,19159,0,2196,-1562,181 2 161169 -- U+2018 (19U 145) +` " +cq 7351,18939,0,2584,-1950,181 2 161170 -- U+2019 (19U 146) +' " +bq 7351,3579,4108,0,1046 0 161154 -- U+201A (19U 130) +lq 13229,19159,0,2984,-1989,181 2 161171 -- U+201C (19U 147) +rq 13229,18939,0,3075,-2079,181 2 161172 -- U+201D (19U 148) +Bq 13229,3579,4108,0,1227 0 161156 -- U+201E (19U 132) +dg 14715,18681,4522,2325,-916,181 2 161158 -- U+2020 (19U 134) +dd 14715,18681,4522,2468,1344,181 2 161159 -- U+2021 (19U 135) +bu 9263,13165,0,1835,-826,181 0 161173 -- U+2022 (19U 149) +u2026 26458,3579,0,0,-1136 0 161157 -- U+2026 (19U 133) +%0 26458,19262,749,1886,-477,181 2 161161 -- U+2030 (19U 137) +fm 6343,18939,0,3682,-2686,181 2 60101 -- U+2032 ( 7J 197) +sd 12674,18939,0,1964,-2596,181 2 60102 -- U+2033 ( 7J 198) +fo 8811,12622,0,2519,-257,181 0 161163 -- U+2039 (19U 139) +fc 8811,12622,0,943,1059,181 0 161179 -- U+203A (19U 155) +u203C 15981,18939,0,1847,-309,181 2 87315 -- U+203C (10U 19) +u207F 10477,15412,0,2209,-244,181 0 87548 -- U+207F (10U 252) +u20A7 29210,18939,336,891,1059,181 2 60121 -- U+20A7 ( 7J 217) +Eu 14715,19262,336,3514,607,181 2 161152 -- U+20AC (19U 128) +u2105 23422,19262,814,1576,-503,181 2 60072 -- U+2105 ( 7J 168) +u2113 13655,19262,323,2002,65,181 2 60122 -- U+2113 ( 7J 218) +tm 26458,18939,0,0,-2505 2 161177 -- U+2122 (19U 153) +\- 15451,11046,0,1240,-813,181 0 60096 -- U+2212 ( 7J 192) +f/ 4418,19172,788,9909,7894,181 2 60109 -- U+2215 ( 7J 205) +sq 15981,12196,0,0,-567 0 60091 -- U+25A1 ( 7J 187) +u25CA 13074,18371,0,1899,-451,181 2 101079 -- U+25CA (12J 215) +fi 16162,19262,0,2674,-219,181 2 60077 -- U+FB01 ( 7J 173) +fl 16162,19262,0,2648,-180,181 2 60078 -- U+FB02 ( 7J 174) diff -ruN groff-1.19/font/devlj4/AI groff-1.19.1/font/devlj4/AI --- groff-1.19/font/devlj4/AI Thu Jan 1 01:00:00 1970 +++ groff-1.19.1/font/devlj4/AI Wed Feb 18 10:01:17 2004 @@ -0,0 +1,426 @@ +# M Arial It +name AI +spacewidth 7351 +slant 12.000000 +pcltypeface 16602 +pclproportional 1 +pclweight 0 +pclstyle 1 +ligatures fi fl 0 +kernpairs +1 1 -1963 +A T -1963 +A V -1459 +A W -477 +A Y -1963 +A v -477 +A w -477 +A y -232 +A cq -981 +A ' -981 +F , -3410 +F . -3410 +F A -1963 +L T -1963 +L V -1459 +L W -981 +L Y -2428 +L y -477 +L cq -1459 +L ' -1459 +P , -3410 +P . -3410 +P A -1963 +R T -477 +R V -477 +R W -477 +R Y -981 +T , -2428 +T hy -2428 +T - -2428 +T . -2428 +T : -1963 +T ; -1963 +T A -1963 +T O -477 +T a -2428 +T c -2428 +T e -2428 +T i -232 +T o -2428 +T r -1963 +T s -2428 +T u -1963 +T w -1963 +T y -1963 +V , -1963 +V hy -981 +V - -981 +V . -1963 +V : -477 +V ; -477 +V A -1459 +V a -981 +V e -981 +V i -477 +V o -981 +V r -477 +V u -477 +V y -477 +W , -981 +W hy -477 +W - -477 +W . -981 +W A -477 +W a -477 +W e -477 +W i -232 +Y , -2428 +Y hy -1963 +Y - -1963 +Y . -2428 +Y : -981 +Y ; -981 +Y A -1459 +Y a -1963 +Y e -1459 +Y i -477 +Y o -1459 +Y p -1459 +Y q -1459 +Y u -981 +Y v -981 +f cq 982 +f ' 982 +r , -1459 +r hy -477 +r - -477 +r . -981 +r cq 982 +r ' 982 +v , -1963 +v . -1963 +w , -1459 +w . -1459 +y , -1963 +y . -1963 +oq oq -981 +oq ` -981 +` oq -981 +` ` -981 +cq s -477 +' s -477 +cq cq -981 +cq ' -981 +' cq -981 +' ' -981 +charset +! 7351,18939,0,2002,-167,181 2 161057 -- U+0021 (19U 33) +dq 9392,18939,0,3139,-2131,181 2 161058 -- U+0022 (19U 34) +" " +sh 14715,19262,323,1938,90,181 2 161059 -- U+0023 (19U 35) +# " +Do 14715,20205,2532,1757,-38,181 2 161060 -- U+0024 (19U 36) +$ " +% 23526,19262,698,349,-1252,181 2 161061 -- U+0025 (19U 37) +& 17648,19262,452,904,-761,181 2 161062 -- U+0026 (19U 38) +aq 5051,18939,0,3114,-2040,181 2 161063 -- U+0027 (19U 39) +( 8811,19262,5568,3436,-916,181 3 161064 -- U+0028 (19U 40) +) 8811,19262,5568,0,2726 3 161065 -- U+0029 (19U 41) +* 10297,19262,0,2610,-1730,181 2 161066 -- U+002A (19U 42) ++ 15451,15580,0,749,-1058,181 0 161067 -- U+002B (19U 43) +, 7351,2648,3824,0,685 0 161068 -- U+002C (19U 44) +hy 8811,8023,0,1357,90,181 0 161069 -- U+002D (19U 45) +- " +. 7351,2648,0,0,-206 0 161070 -- U+002E (19U 46) +sl 7351,19262,310,4832,2661,181 2 161071 -- U+002F (19U 47) +/ " +0 14715,19017,323,1563,-555,181 2 161072 -- U+0030 (19U 48) +1 14715,19017,0,0,-2596 2 161073 -- U+0031 (19U 49) +2 14715,19017,0,1473,-232,181 2 161074 -- U+0032 (19U 50) +3 14715,19017,323,1344,-128,181 2 161075 -- U+0033 (19U 51) +4 14715,18939,0,956,116,181 2 161076 -- U+0034 (19U 52) +5 14715,18681,323,1744,-516,181 2 161077 -- U+0035 (19U 53) +6 14715,19017,323,1628,-890,181 2 161078 -- U+0036 (19U 54) +7 14715,18681,0,2351,-1885,181 2 161079 -- U+0037 (19U 55) +8 14715,19017,336,1537,-658,181 2 161080 -- U+0038 (19U 56) +9 14715,19017,323,1189,-464,181 2 161081 -- U+0039 (19U 57) +: 7351,13720,0,982,-193,181 0 161082 -- U+003A (19U 58) +; 7351,13720,3824,904,685,181 0 161083 -- U+003B (19U 59) +< 15451,15748,0,788,-1058,181 0 161084 -- U+003C (19U 60) += 15451,13307,0,749,-1058,181 0 161085 -- U+003D (19U 61) +> 15451,15748,0,788,-1058,181 0 161086 -- U+003E (19U 62) +? 14715,19262,0,1434,-2040,181 2 161087 -- U+003F (19U 63) +at 26859,19288,5568,362,-115,181 3 161088 -- U+0040 (19U 64) +@ " +A 17648,18939,0,0,1847 2 161089 -- U+0041 (19U 65) +B 17648,18939,0,995,168,181 2 161090 -- U+0042 (19U 66) +C 19107,19262,323,1537,-1084,181 2 161091 -- U+0043 (19U 67) +D 19107,18939,0,1046,142,181 2 161092 -- U+0044 (19U 68) +E 17648,18939,0,2493,129,181 2 161093 -- U+0045 (19U 69) +F 16162,18939,0,2623,116,181 2 161094 -- U+0046 (19U 70) +G 20580,19262,323,1008,-1252,181 2 161095 -- U+0047 (19U 71) +H 19107,18939,0,2157,207,181 2 161096 -- U+0048 (19U 72) +I 7351,18939,0,1964,-193,181 2 161097 -- U+0049 (19U 73) +J 13229,18939,323,2261,439,181 2 161098 -- U+004A (19U 74) +K 17648,18939,0,3281,142,181 2 161099 -- U+004B (19U 75) +L 14715,18939,0,478,258,181 2 161100 -- U+004C (19U 76) +M 22040,18939,0,2351,155,181 2 161101 -- U+004D (19U 77) +N 19107,18939,0,2235,26,181 2 161102 -- U+004E (19U 78) +O 20580,19262,323,1176,-1097,181 2 161103 -- U+004F (19U 79) +P 17648,18939,0,2132,181,181 2 161104 -- U+0050 (19U 80) +Q 20580,19262,2170,1201,-1123,181 2 161105 -- U+0051 (19U 81) +R 19107,18939,0,1524,78,181 2 161106 -- U+0052 (19U 82) +S 17648,19262,323,1434,-542,181 2 161107 -- U+0053 (19U 83) +T 16162,18939,0,3811,-1976,181 2 161108 -- U+0054 (19U 84) +U 19107,18939,336,2170,-1239,181 2 161109 -- U+0055 (19U 85) +V 17648,18939,0,3695,-1963,181 2 161110 -- U+0056 (19U 86) +W 24973,18939,0,4431,-1989,181 2 161111 -- U+0057 (19U 87) +X 17648,18939,0,4018,2157,181 2 161112 -- U+0058 (19U 88) +Y 17648,18939,0,4121,-1769,181 2 161113 -- U+0059 (19U 89) +Z 16162,18939,0,2002,672,181 2 161114 -- U+005A (19U 90) +lB 7351,18939,5181,4315,1150,181 3 161115 -- U+005B (19U 91) +[ " +rs 7351,19262,310,1201,-929,181 2 161116 -- U+005C (19U 92) +\ " +rB 7351,18939,5181,2674,2868,181 3 161117 -- U+005D (19U 93) +] " +ha 12415,19262,0,1783,-542,181 2 161118 -- U+005E (19U 94) +_ 14715,0,5258,336,2997,181 1 161119 -- U+005F (19U 95) +ga 8811,18939,0,698,-2531,181 2 161120 -- U+0060 (19U 96) +a 14715,14030,310,530,155,181 0 161121 -- U+0061 (19U 97) +b 14715,18939,310,762,439,181 2 161122 -- U+0062 (19U 98) +c 13229,14030,310,1602,-167,181 0 161123 -- U+0063 (19U 99) +d 14715,18939,310,2429,-77,181 2 161124 -- U+0064 (19U 100) +e 14715,14030,310,672,-51,181 0 161125 -- U+0065 (19U 101) +f 7351,19262,0,4754,116,181 2 161126 -- U+0066 (19U 102) +g 14715,14030,5491,1537,633,181 1 161127 -- U+0067 (19U 103) +h 14715,18939,0,594,439,181 2 161128 -- U+0068 (19U 104) +i 5878,18939,0,2519,530,181 2 161129 -- U+0069 (19U 105) +j 5878,18939,5491,2506,4522,181 3 161130 -- U+006A (19U 106) +k 13229,18939,0,2739,413,181 2 161131 -- U+006B (19U 107) +l 5878,18939,0,2429,620,181 2 161132 -- U+006C (19U 108) +m 22040,14030,0,775,452,181 0 161133 -- U+006D (19U 109) +n 14715,14030,0,568,439,181 0 161134 -- U+006E (19U 110) +o 14715,14030,310,891,26,181 0 161135 -- U+006F (19U 111) +p 14715,14030,5258,762,1589,181 1 161136 -- U+0070 (19U 112) +q 14715,14030,5258,1214,-38,181 1 161137 -- U+0071 (19U 113) +r 8811,14030,0,3604,439,181 0 161138 -- U+0072 (19U 114) +s 13229,14030,310,1357,310,181 0 161139 -- U+0073 (19U 115) +t 7351,18707,233,2468,-167,181 2 161140 -- U+0074 (19U 116) +u 14715,13720,310,1357,-335,181 0 161141 -- U+0075 (19U 117) +v 13229,13720,0,2881,-774,181 0 161142 -- U+0076 (19U 118) +w 19107,13720,0,2765,-735,181 0 161143 -- U+0077 (19U 119) +x 13229,13720,0,2313,1357,181 0 161144 -- U+0078 (19U 120) +y 13229,13720,5568,2933,1318,181 1 161145 -- U+0079 (19U 121) +z 13229,13720,0,1641,801,181 0 161146 -- U+007A (19U 122) +{ 8837,19262,5568,4263,-64,181 3 161147 -- U+007B (19U 123) +lC " +| 6873,19262,5568,0,-1110 3 161148 -- U+007C (19U 124) +ba " +} 8837,19262,5568,659,3540,181 3 161149 -- U+007D (19U 125) +rC " +ti 15451,11433,0,1201,-800,181 0 161150 -- U+007E (19U 126) +r! 8811,13720,5219,581,-206,181 1 161185 -- U+00A1 (19U 161) +ct 14715,19198,5258,620,-671,181 3 161186 -- U+00A2 (19U 162) +Po 14715,19262,323,2674,491,181 2 161187 -- U+00A3 (19U 163) +Cs 14715,15710,0,1421,-800,181 0 161188 -- U+00A4 (19U 164) +Ye 14715,18939,0,4250,349,181 2 161189 -- U+00A5 (19U 165) +bb 6873,19262,5568,0,-1110 3 161190 -- U+00A6 (19U 166) +sc 14715,19262,5568,1292,517,181 3 161191 -- U+00A7 (19U 167) +ad 8811,18500,0,3320,-1743,181 2 161192 -- U+00A8 (19U 168) +co 19495,19262,233,2390,245,181 2 161193 -- U+00A9 (19U 169) +Of 9793,19262,0,2351,-839,181 2 161194 -- U+00AA (19U 170) +Fo 14715,12661,0,814,-761,181 0 161195 -- U+00AB (19U 171) +tno 15451,13307,0,749,-1058,181 0 161196 -- U+00AC (19U 172) +u00AD 8811,8023,0,1357,90,181 0 161197 -- U+00AD (19U 173) +rg 19495,19262,233,2390,245,181 2 161198 -- U+00AE (19U 174) +u00AF 14612,21898,0,4457,-1020,181 2 161199 -- U+00AF (19U 175) +de 10581,19262,0,1434,-2208,181 2 161200 -- U+00B0 (19U 176) +t+- 14521,15878,0,904,-283,181 0 161201 -- U+00B1 (19U 177) +S2 8811,19172,0,3114,-645,181 2 161202 -- U+00B2 (19U 178) +S3 8811,19172,0,3088,-865,181 2 161203 -- U+00B3 (19U 179) +aa 8811,18939,0,2351,-3151,181 2 161204 -- U+00B4 (19U 180) +mc 15245,13720,5297,1201,1163,181 1 161205 -- U+00B5 (19U 181) +ps 14211,18939,5258,3230,-516,181 3 161206 -- U+00B6 (19U 182) +pc 7351,10645,0,0,-1071 0 60157 -- U+00B7 ( 7J 253) +ac 8811,155,5491,116,323,116 1 161208 -- U+00B8 (19U 184) +S1 8811,19172,0,1886,-2286,181 2 161209 -- U+00B9 (19U 185) +Om 9663,19262,0,2545,-529,181 2 161210 -- U+00BA (19U 186) +Fc 14715,12661,0,0,245 0 161211 -- U+00BB (19U 187) +14 22066,19262,788,1757,-890,181 2 161212 -- U+00BC (19U 188) +12 22066,19262,788,1137,-270,181 2 161213 -- U+00BD (19U 189) +34 22066,19262,788,2145,-865,181 2 161214 -- U+00BE (19U 190) +r? 16162,13720,5542,0,-903 1 161215 -- U+00BF (19U 191) +`A 17648,23668,0,0,1847 2 161216 -- U+00C0 (19U 192) +'A 17648,23655,0,0,1847 2 161217 -- U+00C1 (19U 193) +^A 17648,23655,0,0,1847 2 161218 -- U+00C2 (19U 194) +~A 17648,22957,0,0,1847 2 161219 -- U+00C3 (19U 195) +:A 17648,22751,0,0,1847 2 161220 -- U+00C4 (19U 196) +oA 17648,22841,0,0,1847 2 161221 -- U+00C5 (19U 197) +AE 26458,18939,0,2468,2390,181 2 161222 -- U+00C6 (19U 198) +,C 19107,19262,5568,1563,-1110,181 3 161223 -- U+00C7 (19U 199) +`E 17648,23668,0,2493,129,181 2 161224 -- U+00C8 (19U 200) +'E 17648,23655,0,2493,129,181 2 161225 -- U+00C9 (19U 201) +^E 17648,23655,0,2493,129,181 2 161226 -- U+00CA (19U 202) +:E 17648,22712,0,2493,129,181 2 161227 -- U+00CB (19U 203) +`I 7351,23668,0,2971,-193,181 2 161228 -- U+00CC (19U 204) +'I 7351,23655,0,4263,-193,181 2 161229 -- U+00CD (19U 205) +^I 7351,23655,0,4741,-193,181 2 161230 -- U+00CE (19U 206) +:I 7351,22751,0,4909,-193,181 2 161231 -- U+00CF (19U 207) +-D 19107,18939,0,1266,142,181 2 161232 -- U+00D0 (19U 208) +~N 19107,22957,0,2235,26,181 2 161233 -- U+00D1 (19U 209) +`O 20580,23668,323,1176,-1097,181 2 161234 -- U+00D2 (19U 210) +'O 20580,23655,323,1176,-1097,181 2 161235 -- U+00D3 (19U 211) +^O 20580,23655,323,1176,-1097,181 2 161236 -- U+00D4 (19U 212) +~O 20580,22957,323,1176,-1097,181 2 161237 -- U+00D5 (19U 213) +:O 20580,22751,323,1176,-1097,181 2 161238 -- U+00D6 (19U 214) +tmu 15451,14986,0,504,-2053,181 0 161239 -- U+00D7 (19U 215) +/O 20580,20231,1331,1279,-929,181 2 161240 -- U+00D8 (19U 216) +`U 19107,23668,336,2170,-1239,181 2 161241 -- U+00D9 (19U 217) +'U 19107,23655,336,2170,-1239,181 2 161242 -- U+00DA (19U 218) +^U 19107,23655,336,2170,-1239,181 2 161243 -- U+00DB (19U 219) +:U 19107,22751,336,2170,-1239,181 2 161244 -- U+00DC (19U 220) +'Y 17648,23655,0,4121,-1769,181 2 161245 -- U+00DD (19U 221) +TP 17648,18939,0,1318,181,181 2 161246 -- U+00DE (19U 222) +ss 16162,19262,323,168,362,168 2 161247 -- U+00DF (19U 223) +`a 14715,18939,310,530,155,181 2 161248 -- U+00E0 (19U 224) +'a 14715,18939,310,530,155,181 2 161249 -- U+00E1 (19U 225) +^a 14715,18939,310,530,155,181 2 161250 -- U+00E2 (19U 226) +~a 14715,18694,310,904,155,181 2 161251 -- U+00E3 (19U 227) +:a 14715,18500,310,530,155,181 2 161252 -- U+00E4 (19U 228) +oa 14715,19405,310,530,155,181 2 161253 -- U+00E5 (19U 229) +ae 23526,14043,323,685,194,181 0 161254 -- U+00E6 (19U 230) +,c 13229,14030,5258,1602,-167,181 1 161255 -- U+00E7 (19U 231) +`e 14715,18939,310,672,-51,181 2 161256 -- U+00E8 (19U 232) +'e 14715,18939,310,672,-51,181 2 161257 -- U+00E9 (19U 233) +^e 14715,18939,310,672,-51,181 2 161258 -- U+00EA (19U 234) +:e 14715,18500,310,672,-51,181 2 161259 -- U+00EB (19U 235) +`i 7351,18939,0,2170,-296,181 2 161260 -- U+00EC (19U 236) +'i 7351,18939,0,3204,-296,181 2 161261 -- U+00ED (19U 237) +^i 7351,18939,0,3798,-296,181 2 161262 -- U+00EE (19U 238) +:i 7351,18500,0,3966,-296,181 2 161263 -- U+00EF (19U 239) +Sd 14715,18939,323,1046,26,181 2 161264 -- U+00F0 (19U 240) +~n 14715,18681,0,685,439,181 2 161265 -- U+00F1 (19U 241) +`o 14715,18939,310,891,26,181 2 161266 -- U+00F2 (19U 242) +'o 14715,18939,310,891,26,181 2 161267 -- U+00F3 (19U 243) +^o 14715,18939,310,891,26,181 2 161268 -- U+00F4 (19U 244) +~o 14715,18681,310,891,26,181 2 161269 -- U+00F5 (19U 245) +:o 14715,18500,310,891,26,181 2 161270 -- U+00F6 (19U 246) +tdi 14521,14560,0,956,-335,181 0 161271 -- U+00F7 (19U 247) +/o 16162,14973,1318,607,-658,181 0 161272 -- U+00F8 (19U 248) +`u 14715,18939,310,1357,-335,181 2 161273 -- U+00F9 (19U 249) +'u 14715,18939,310,1357,-335,181 2 161274 -- U+00FA (19U 250) +^u 14715,18939,310,1357,-335,181 2 161275 -- U+00FB (19U 251) +:u 14715,18500,310,1357,-335,181 2 161276 -- U+00FC (19U 252) +'y 13229,18939,5568,2933,1318,181 3 161277 -- U+00FD (19U 253) +Tp 14715,18939,5258,762,1589,181 3 161278 -- U+00FE (19U 254) +:y 13229,18500,5568,2933,1318,181 3 161279 -- U+00FF (19U 255) +u0041_0306 17648,23448,0,0,1847 2 75203 -- U+0102 ( 9E 195) +u0061_0306 14715,18371,310,530,155,181 2 75235 -- U+0103 ( 9E 227) +u0041_0328 17648,18939,5491,2132,1847,181 3 75173 -- U+0104 ( 9E 165) +u0061_0328 14715,14030,5491,1679,155,181 1 75193 -- U+0105 ( 9E 185) +'C 19107,23655,323,1537,-1084,181 2 75206 -- U+0106 ( 9E 198) +'c 13229,18939,310,1602,-167,181 2 75238 -- U+0107 ( 9E 230) +u0041_030C 19107,23655,323,1537,-1084,181 2 75208 -- U+010C ( 9E 200) +u0061_030C 13229,18939,310,1718,-167,181 2 75240 -- U+010D ( 9E 232) +u0044_030C 19107,23655,0,1046,142,181 2 75215 -- U+010E ( 9E 207) +u0064_030C 16536,18939,310,4444,-128,181 2 75247 -- U+010F ( 9E 239) +u0111 14715,18939,310,3876,-77,181 2 75248 -- U+0111 ( 9E 240) +u0045_0328 17648,18939,5491,2493,129,181 3 75210 -- U+0118 ( 9E 202) +u0065_0328 14715,14030,5491,672,-51,181 1 75242 -- U+0119 ( 9E 234) +u0045_030C 17648,23655,0,2493,129,181 2 75212 -- U+011A ( 9E 204) +u0065_030C 14715,18939,310,672,-51,181 2 75244 -- U+011B ( 9E 236) +u0047_0306 20580,23448,323,1008,-1252,181 2 46288 -- U+011E ( 5T 208) +u0067_0306 14715,18371,5491,1537,633,181 3 46320 -- U+011F ( 5T 240) +u0049_0307 7351,22854,0,2803,-193,181 2 46301 -- U+0130 ( 5T 221) +.i 7351,13720,0,788,-296,181 0 46333 -- U+0131 ( 5T 253) +IJ 19405,18939,323,2261,-193,181 2 60135 -- U+0132 ( 7J 231) +ij 11743,18939,5491,2635,556,181 3 60134 -- U+0133 ( 7J 230) +u004C_0301 14715,23655,0,478,258,181 2 75205 -- U+0139 ( 9E 197) +u006C_0301 5878,23461,0,4715,620,181 2 75237 -- U+013A ( 9E 229) +u004C_030C 14715,18939,0,1395,258,181 2 75196 -- U+013D ( 9E 188) +u006C_030C 7441,18939,0,4444,594,181 2 75198 -- U+013E ( 9E 190) +u013F 14715,18939,0,530,207,181 2 95646 -- U+013F (11U 158) +u0140 10581,18939,0,530,581,181 2 95647 -- U+0140 (11U 159) +/L 14715,18939,0,465,1008,181 2 75171 -- U+0141 ( 9E 163) +/l 5878,18939,0,2984,827,181 2 75187 -- U+0142 ( 9E 179) +u004E_0301 19107,23655,0,2235,26,181 2 75217 -- U+0143 ( 9E 209) +u006E_0301 14715,18939,0,568,439,181 2 75249 -- U+0144 ( 9E 241) +u004E_030C 19107,23655,0,2235,26,181 2 75218 -- U+0147 ( 9E 210) +u006E_030C 14715,18939,0,620,439,181 2 75250 -- U+0148 ( 9E 242) +u0149 16265,18862,0,659,13,181 2 95660 -- U+0149 (11U 172) +u004F_030B 20580,23655,323,1176,-1097,181 2 75221 -- U+0150 ( 9E 213) +u006F_030B 14715,18939,310,1990,26,181 2 75253 -- U+0151 ( 9E 245) +OE 26458,19262,336,2480,-800,181 2 161164 -- U+0152 (19U 140) +oe 24973,14030,310,659,-348,181 0 161180 -- U+0153 (19U 156) +u0052_0301 19107,23655,0,1524,78,181 2 75200 -- U+0154 ( 9E 192) +u0072_0301 8811,18939,0,3604,439,181 2 75232 -- U+0155 ( 9E 224) +u0052_030C 19107,23655,0,1524,78,181 2 75224 -- U+0158 ( 9E 216) +u0072_030C 8811,18939,0,4470,439,181 2 75256 -- U+0159 ( 9E 248) +u0053_0301 17648,23655,323,1434,-542,181 2 75148 -- U+015A ( 9E 140) +u0073_0301 13229,18939,310,1357,310,181 2 75164 -- U+015B ( 9E 156) +u0053_0327 17648,19262,5568,1434,-542,181 3 75178 -- U+015E ( 9E 170) +u0073_0327 13229,14030,5258,1357,310,181 1 75194 -- U+015F ( 9E 186) +vS 17648,23655,323,1434,-542,181 2 161162 -- U+0160 (19U 138) +vs 13229,18939,310,1421,310,181 2 161178 -- U+0161 (19U 154) +u0054_0327 16162,18939,7273,3811,-1976,181 3 75230 -- U+0162 ( 9E 222) +u0074_0327 7351,18707,6692,2455,65,181 3 75262 -- U+0163 ( 9E 254) +u0054_030C 16162,23655,0,3811,-1976,181 2 75149 -- U+0164 ( 9E 141) +u0074_030C 9366,18939,233,4470,-89,181 2 75165 -- U+0165 ( 9E 157) +u0055_030A 19107,24714,336,2170,-1239,181 2 75225 -- U+016E ( 9E 217) +u0075_030A 14715,19405,310,1357,-335,181 2 75257 -- U+016F ( 9E 249) +u0055_030B 19107,23655,336,2170,-1239,181 2 75227 -- U+0170 ( 9E 219) +u0075_030B 14715,18939,310,1628,-335,181 2 75259 -- U+0171 ( 9E 251) +:Y 17648,22712,0,4121,-1769,181 2 161183 -- U+0178 (19U 159) +u005A_0301 16162,23655,0,2002,672,181 2 75151 -- U+0179 ( 9E 143) +u007A_0301 13229,18939,0,1641,801,181 2 75167 -- U+017A ( 9E 159) +u005A_0307 16162,22854,0,2002,672,181 2 75183 -- U+017B ( 9E 175) +u007A_0307 13229,18500,0,1641,801,181 2 75199 -- U+017C ( 9E 191) +vZ 16162,23655,0,1847,827,181 2 75150 -- U+017D ( 9E 142) +vz 13229,18939,0,1641,801,181 2 75166 -- U+017E ( 9E 158) +Fn 14715,19275,5568,620,723,181 3 161155 -- U+0192 (19U 131) +a^ 8811,18939,0,2765,-1330,181 2 161160 -- U+02C6 (19U 136) +^ " +ah 8811,18939,0,3514,-2092,181 2 75169 -- U+02C7 ( 9E 161) +a- 8811,17673,0,3501,-1278,181 2 60154 -- U+02C9 ( 7J 250) +ab 8811,18371,0,3075,-1511,181 2 75170 -- U+02D8 ( 9E 162) +a. 8811,18500,0,1137,-3823,181 2 75263 -- U+02D9 ( 9E 255) +ao 8811,19405,0,1447,-2919,181 2 60152 -- U+02DA ( 7J 248) +ho 8811,349,5491,0,-296 1 75186 -- U+02DB ( 9E 178) +~ 8811,18681,0,3721,-1162,181 2 161176 -- U+02DC (19U 152) +a~ " +a" 8811,18939,0,4509,-955,181 2 75197 -- U+02DD ( 9E 189) +en 14715,7790,0,1266,1369,181 0 161174 -- U+2013 (19U 150) +em 26458,7790,0,1318,1318,181 0 161175 -- U+2014 (19U 151) +u2017 14612,0,8591,439,2997,181 1 60095 -- U+2017 ( 7J 191) +oq 5878,19262,0,2868,-2092,181 2 161169 -- U+2018 (19U 145) +` " +cq 5878,18862,0,2765,-1989,181 2 161170 -- U+2019 (19U 146) +' " +bq 5878,2648,3824,0,1512 0 161154 -- U+201A (19U 130) +lq 8811,19262,0,3436,-1472,181 2 161171 -- U+201C (19U 147) +rq 8811,18862,0,3553,-1446,181 2 161172 -- U+201D (19U 148) +Bq 8811,2648,3824,220,1835,181 0 161156 -- U+201E (19U 132) +dg 14715,18681,4509,2041,-1084,181 2 161158 -- U+2020 (19U 134) +dd 14715,18681,4509,2170,1176,181 2 161159 -- U+2021 (19U 135) +bu 9263,12544,0,13,-89,13 0 161173 -- U+2022 (19U 149) +u2026 26458,2648,0,0,-2479 0 161157 -- U+2026 (19U 133) +%0 26458,19262,711,1408,-438,181 2 161161 -- U+2030 (19U 137) +fm 4961,18939,0,3204,-2040,181 2 60101 -- U+2032 ( 7J 197) +sd 9366,18939,0,3165,-2131,181 2 60102 -- U+2033 ( 7J 198) +fo 8811,12661,0,814,65,181 0 161163 -- U+2039 (19U 139) +fc 8811,12661,0,129,891,129 0 161179 -- U+203A (19U 155) +u203C 13229,18939,0,1912,-167,181 2 87315 -- U+203C (10U 19) +u207F 9651,15477,0,2067,-219,181 0 87548 -- U+207F (10U 252) +u20A7 28939,18939,336,827,995,181 2 60121 -- U+20A7 ( 7J 217) +Eu 14715,19262,323,3669,271,181 2 161152 -- U+20AC (19U 128) +u2105 23422,19262,698,917,-1058,181 2 60072 -- U+2105 ( 7J 168) +u2113 8552,19262,310,3927,995,181 2 60122 -- U+2113 ( 7J 218) +tm 26458,18939,0,0,-2299 2 161177 -- U+2122 (19U 153) +\- 15451,10426,0,749,-1058,181 0 60096 -- U+2212 ( 7J 192) +f/ 4418,19262,788,10271,8242,181 2 60109 -- U+2215 ( 7J 205) +sq 15981,12196,0,0,-567 0 60091 -- U+25A1 ( 7J 187) +u25CA 13074,18371,0,1679,-232,181 2 101079 -- U+25CA (12J 215) +fi 13229,19262,0,2506,-115,181 2 60077 -- U+FB01 ( 7J 173) +fl 13229,19262,0,2506,-115,181 2 60078 -- U+FB02 ( 7J 174) diff -ruN groff-1.19/font/devlj4/ALBB groff-1.19.1/font/devlj4/ALBB --- groff-1.19/font/devlj4/ALBB Tue Feb 25 06:38:55 2003 +++ groff-1.19.1/font/devlj4/ALBB Wed Feb 18 10:01:17 2004 @@ -1,3 +1,4 @@ +# Albertus Xb name ALBB spacewidth 9759 pcltypeface 4362 @@ -6,680 +7,750 @@ 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 cq -975 -L ' -975 -T hy -3414 -T - -3414 -T en -3414 -T em -3414 -A cq -1461 -A ' -1461 -hy T -3414 -- T -3414 -en T -3414 -em T -3414 -Y hy -1950 -Y - -1950 -Y en -1950 -Y em -1950 -p cq -486 -p ' -486 -e cq -486 -e ' -486 -b cq -486 -b ' -486 -a cq -486 -a ' -486 -V hy -1461 -V - -1461 -V en -1461 -V em -1461 -h cq -486 -h ' -486 -m cq -486 -m ' -486 -R cq -975 -R ' -975 -W hy -975 -W - -975 -W en -975 -W em -975 -cq d -1950 -' d -1950 -L hy -486 -L - -486 -L en -486 -L em -486 -X hy -1461 -X - -1461 -X en -1461 -X em -1461 -A hy -975 -A - -975 -A en -975 -A em -975 -K hy -975 -K - -975 -K en -975 -K em -975 -cq s -975 -' s -975 -hy X -1461 -- X -1461 -hy A -975 -- A -975 -en X -1461 -en A -975 -em X -1461 -R hy -975 -R - -975 -R en -975 -R em -975 -K cq -486 -K ' -486 -k cq -486 -k ' -486 -O cq -486 -O ' -486 -Z hy -486 -Z - -486 -Z en -486 -Z em -486 -k hy -486 -k - -486 -k en -486 -k em -486 +L V -2924 +P . -4388 +P , -4388 +V A -3413 +A V -3413 +T o -3413 +T r -3413 +T c -3413 +T e -3413 +T d -3413 +T s -3413 +T y -3413 +T a -3413 +T w -3413 +T u -3413 +L T -2924 +L Y -2924 +Y o -2924 +Y e -2924 +Y a -2924 +A W -2924 +W A -2924 +T A -3413 +V o -2924 +V e -2924 +V a -2438 +Y A -2924 +F A -1949 +F . -3902 +F , -3902 +A T -3413 +A Y -2924 +v . -2438 +v , -2438 +y . -2438 +y , -2438 +T . -3413 +T , -3413 +L W -2924 +P A -2438 +V . -3902 +V , -3902 +Y . -2924 +Y , -2924 +W o -2438 +W e -2438 +W a -1949 +W . -2924 +W , -2924 +r . -2924 +r , -2924 +w . -2438 +w , -2438 +Y u -1949 +A v -1460 +A y -1460 +A w -1460 +o . -974 +o , -974 +p . -1949 +p , -1949 +e . -974 +e , -974 +b . -1949 +b , -1949 +O T -2438 +O V -1949 +O Y -2438 +O . -2438 +O , -2438 +L y -974 +L O -974 +L G -485 +L C -485 +L Q -485 +P J -485 +V y -1460 +V u -1460 +V O -1949 +V G -1460 +V C -1460 +V Q -1460 +D T -2438 +D V -1460 +D Y -1949 +D . -2438 +D , -2438 +Y O -2438 +Y G -1949 +Y C -1949 +Y Q -1949 +F o -974 +F e -974 +F a -974 +O A -1460 +O W -1460 +L U -485 +R T -1460 +R V -1460 +R Y -1460 +R W -1460 +G T -485 +P o -1460 +P g -974 +P e -1460 +P a -974 +D A -974 +D W -974 +B T -1949 +B Y -1949 +B . -1949 +B , -1949 +A O -1460 +A G -974 +A C -974 +A U -974 +A Q -974 +W r -974 +W y -974 +W u -974 +W O -1460 +W G -974 +W C -974 +W Q -974 +U A -974 +U . -1949 +U , -1949 +Q A -974 +Q W -974 +f . -485 +f , -485 +T O -2438 +T G -2438 +T C -2438 +T Q -2438 +O X -1949 +L o -485 +L e -485 +L q -485 +G V -485 +G Y -485 +G W -485 +G . -485 +G , -485 +P T -485 +P V -485 +P Y -485 +D X -1460 +B V -1460 +B X -1460 +B A -974 +B W -974 +S . -1460 +S , -1460 +F O -485 +X o -1460 +X e -1460 +X y -1460 +X O -1949 +X G -1460 +X C -1460 +X Q -1460 +A o -974 +A e -974 +Q X -1460 +K o -974 +K e -974 +K y -974 +K w -974 +K O -1460 +K G -974 +K C -974 +K Q -974 +o v -485 +o y -485 +o x -485 +o w -485 +h v -485 +h y -485 +m v -485 +m y -485 +r g -974 +g . -974 +g , -974 +p v -485 +p y -485 +p x -485 +v o -485 +v g -485 +v c -485 +v d -485 +v a -485 +v q -485 +e v -485 +e y -485 +b v -485 +b y -485 +b w -485 +s . -974 +s , -974 +y o -485 +y g -485 +y c -485 +y d -485 +y a -485 +y q -485 +f g -485 +x o -485 +x c -485 +x e -485 +x d -485 +x q -485 +a v -485 +a y -485 +a w -485 +w o -485 +w g -485 +w c -485 +w d -485 +w a -485 +w q -485 +T S -1460 +R o -974 +R y -974 +R O -1460 +R G -974 +R C -974 +R U -974 +R Q -974 +G X -485 +G A -485 +P s -974 +P Z -485 +P X -485 +P W -485 +V S -1460 +S A -974 +Y S -1460 +X u -1460 +A t -974 +A c -974 +A d -974 +A u -974 +A q -974 +W S -974 +K c -974 +K u -974 +h w -485 +m w -485 +r o -974 +r c -974 +r e -974 +r d -974 +r a -974 +r q -974 +g g -485 +p w -485 +v e -485 +v s -485 +e x -485 +e w -485 +y e -485 +y s -485 +f o -485 +f c -485 +f e -485 +f d -485 +f s -485 +f a -485 +f q -485 +w e -485 +w s -485 +k o -485 +k c -485 +k v -485 +k e -485 +k d -485 +k y -485 +k w -485 +k q -485 +O Z -974 +O J -974 +L J -485 +R e -974 +R u -974 +G Z -485 +P O -485 +E O -485 +Z o -485 +Z e -485 +Z d -485 +Z y -485 +Z w -485 +Z u -485 +Z O -974 +Z G -485 +Z C -485 +Z Q -485 +D Z -485 +D J -485 +B Z -485 +B J -485 +A J -485 +J O -485 +K J -485 +t o -485 +t c -485 +t e -485 +t d -485 +t q -485 +o z -485 +r s -974 +g o -485 +g c -485 +g e -485 +g d -485 +g s -485 +g a -485 +g q -485 +p z -485 +e z -485 +z o -485 +z c -485 +z e -485 +z d -485 +z q -485 +b z -485 +k t -485 +k u -485 +O g -485 +O j -485 +R J -485 +G J -485 +C O -485 +B O -485 +U O -485 +K T -485 +K V -485 +K Y -485 +K W -485 +K U -485 +L cq -974 +L ' -974 +T hy -3413 +T - -3413 +T en -3413 +T em -3413 +A cq -1460 +A ' -1460 +hy T -3413 +- T -3413 +en T -3413 +em T -3413 +Y hy -1949 +Y - -1949 +Y en -1949 +Y em -1949 +p cq -485 +p ' -485 +e cq -485 +e ' -485 +b cq -485 +b ' -485 +a cq -485 +a ' -485 +V hy -1460 +V - -1460 +V en -1460 +V em -1460 +h cq -485 +h ' -485 +m cq -485 +m ' -485 +R cq -974 +R ' -974 +W hy -974 +W - -974 +W en -974 +W em -974 +cq d -1949 +' d -1949 +L hy -485 +L - -485 +L en -485 +L em -485 +X hy -1460 +X - -1460 +X en -1460 +X em -1460 +A hy -974 +A - -974 +A en -974 +A em -974 +K hy -974 +K - -974 +K en -974 +K em -974 +cq s -974 +' s -974 +hy X -1460 +- X -1460 +hy A -974 +- A -974 +en X -1460 +en A -974 +em X -1460 +R hy -974 +R - -974 +R en -974 +R em -974 +K cq -485 +K ' -485 +k cq -485 +k ' -485 +O cq -485 +O ' -485 +Z hy -485 +Z - -485 +Z en -485 +Z em -485 +k hy -485 +k - -485 +k en -485 +k em -485 charset -! 9759,20130,300 2 3617 -dq 15126,20130 2 3618 +! 9759,20130,300 2 161057 -- MSL 1 (19U 33) +dq 15126,20130 2 161058 -- MSL 2 (19U 34) " " -sh 17565,20430,300 2 3619 +sh 17565,20430,300 2 161059 -- MSL 3 (19U 35) # " -Do 17565,21630,2370 2 3620 +Do 17565,21630,2370 2 161060 -- MSL 4 (19U 36) $ " -% 25857,20430,300 2 3621 -& 23907,17037,300 0 3622 -cq 9759,20130 2 51751 +% 25857,20430,300 2 161061 -- MSL 5 (19U 37) +& 23907,17037,300 0 161062 -- MSL 6 (19U 38) +cq 9759,20130 2 161170 -- MSL 8 (19U 146) ' " -( 13173,20130,4365 3 3624 -) 13173,20130,4365 3 3625 -* 17565,20130 2 3626 -+ 25857,15465 0 3627 -, 9759,5025,3885 0 3628 -hy 9759,10515 0 3629 +( 13173,20130,4365 3 161064 -- MSL 9 (19U 40) +) 13173,20130,4365 3 161065 -- MSL 10 (19U 41) +* 17565,20130 2 161066 -- MSL 11 (19U 42) ++ 25857,15465 0 161067 -- MSL 12 (19U 43) +, 9759,5025,3885 0 161068 -- MSL 13 (19U 44) +hy 9759,10515 0 161069 -- MSL 14 (19U 45) - " -. 9759,5430,300 0 3630 -sl 13173,20130 2 3631 +. 9759,5430,300 0 161070 -- MSL 15 (19U 46) +sl 13173,20130 2 161071 -- MSL 16 (19U 47) / " -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 +0 17565,20430,300 2 161072 -- MSL 17 (19U 48) +1 17565,20430 2 161073 -- MSL 18 (19U 49) +2 17565,20430 2 161074 -- MSL 19 (19U 50) +3 17565,20130,300 2 161075 -- MSL 20 (19U 51) +4 17565,20130 2 161076 -- MSL 21 (19U 52) +5 17565,20130,300 2 161077 -- MSL 22 (19U 53) +6 17565,20130,300 2 161078 -- MSL 23 (19U 54) +7 17565,20130 2 161079 -- MSL 24 (19U 55) +8 17565,20430,300 2 161080 -- MSL 25 (19U 56) +9 17565,20430 2 161081 -- MSL 26 (19U 57) +: 9759,14376,300 0 161082 -- MSL 27 (19U 58) +; 9759,14376,3885 0 161083 -- MSL 28 (19U 59) +< 26346,16068 0 161084 -- MSL 29 (19U 60) += 25857,13644 0 161085 -- MSL 30 (19U 61) +> 26346,16068 0 161086 -- MSL 31 (19U 62) +? 12684,20430,300 2 161087 -- MSL 32 (19U 63) +at 25857,21057,2679 2 161088 -- MSL 33 (19U 64) @ " -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 +A 20490,20130 2 161089 -- MSL 34 (19U 65) +B 18540,20130 2 161090 -- MSL 35 (19U 66) +C 19029,20430,300 2 161091 -- MSL 36 (19U 67) +D 20490,20130 2 161092 -- MSL 37 (19U 68) +E 16101,20130 2 161093 -- MSL 38 (19U 69) +F 15126,20130 2 161094 -- MSL 39 (19U 70) +G 20490,20430,300 2 161095 -- MSL 40 (19U 71) +H 21468,20130 2 161096 -- MSL 41 (19U 72) +I 10245,20130 2 161097 -- MSL 42 (19U 73) +J 11709,20130,4380 3 161098 -- MSL 43 (19U 74) +K 19515,20130 2 161099 -- MSL 44 (19U 75) +L 15126,20130 2 161100 -- MSL 45 (19U 76) +M 25857,20130 2 161101 -- MSL 46 (19U 77) +N 22443,20130 2 161102 -- MSL 47 (19U 78) +O 23907,20430,300 2 161103 -- MSL 48 (19U 79) +P 17076,20130 2 161104 -- MSL 49 (19U 80) +Q 23907,20430,4095 2 161105 -- MSL 50 (19U 81) +R 18540,20130 2 161106 -- MSL 51 (19U 82) +S 14148,20430,300 2 161107 -- MSL 52 (19U 83) +T 16587,20130 2 161108 -- MSL 53 (19U 84) +U 21468,20130,300 2 161109 -- MSL 54 (19U 85) +V 20004,20130 2 161110 -- MSL 55 (19U 86) +W 25857,20130 2 161111 -- MSL 56 (19U 87) +X 20004,20130 2 161112 -- MSL 57 (19U 88) +Y 17565,20130 2 161113 -- MSL 58 (19U 89) +Z 17565,20130 2 161114 -- MSL 59 (19U 90) +lB 13173,20130,3960 2 161115 -- MSL 60 (19U 91) [ " -rs 13173,20130 2 3676 +rs 13173,20130 2 161116 -- MSL 61 (19U 92) \ " -rB 13173,20130,3960 2 3677 +rB 13173,20130,3960 2 161117 -- MSL 62 (19U 93) ] " -ha 13173,19758 2 51875 -_ 13173,0,6588 1 3679 -oq 9759,20130 2 51808 +ha 13173,19758 2 161118 -- MSL 63 (19U 94) +_ 13173,0,6588 1 161119 -- MSL 64 (19U 95) +oq 9759,20130 2 161169 -- MSL 66 (19U 145) ` " -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 -`A 20490,25170 2 3776 -^A 20490,25170 2 3778 -`E 16101,25170 2 3784 -^E 16101,25170 2 3786 -:E 16101,26130 2 3787 -^I 10245,25170 2 3790 -:I 10245,26130 2 3791 -aa 17565,20250 2 3764 -ga 17565,20250 2 3680 -a^ 17565,20250 2 3678 +a 13173,14310,300 0 161121 -- MSL 67 (19U 97) +b 16101,20025 2 161122 -- MSL 68 (19U 98) +c 12684,14310,300 0 161123 -- MSL 69 (19U 99) +d 15612,20025,300 2 161124 -- MSL 70 (19U 100) +e 13662,14310,300 0 161125 -- MSL 71 (19U 101) +f 9759,20130 2 161126 -- MSL 72 (19U 102) +g 14637,14310,4650 1 161127 -- MSL 73 (19U 103) +h 15612,20025 2 161128 -- MSL 74 (19U 104) +i 7806,20940 2 161129 -- MSL 75 (19U 105) +j 7806,20940,4365 3 161130 -- MSL 76 (19U 106) +k 16587,20025 2 161131 -- MSL 77 (19U 107) +l 7806,20025 2 161132 -- MSL 78 (19U 108) +m 23418,14310 0 161133 -- MSL 79 (19U 109) +n 15612,14310 0 161134 -- MSL 80 (19U 110) +o 16101,14310,300 0 161135 -- MSL 81 (19U 111) +p 15612,14310,4365 1 161136 -- MSL 82 (19U 112) +q 15612,14310,4365 1 161137 -- MSL 83 (19U 113) +r 11220,14310 0 161138 -- MSL 84 (19U 114) +s 11220,14310,300 0 161139 -- MSL 85 (19U 115) +t 10734,17100,300 0 161140 -- MSL 86 (19U 116) +u 15612,14010,300 0 161141 -- MSL 87 (19U 117) +v 14637,14010 0 161142 -- MSL 88 (19U 118) +w 20979,14010 0 161143 -- MSL 89 (19U 119) +x 16587,14010 0 161144 -- MSL 90 (19U 120) +y 14637,14010,4365 1 161145 -- MSL 91 (19U 121) +z 12198,14010 0 161146 -- MSL 92 (19U 122) +{ 13173,20130,6075 3 161147 -- MSL 93 (19U 123) +lC " +| 13173,19758,6588 3 161148 -- MSL 94 (19U 124) +ba " +} 13173,20130,6075 3 161149 -- MSL 95 (19U 125) +rC " +ti 26346,9435 0 161150 -- MSL 96 (19U 126) +`A 20490,25170 2 161216 -- MSL 99 (19U 192) +^A 20490,25170 2 161218 -- MSL 100 (19U 194) +`E 16101,25170 2 161224 -- MSL 101 (19U 200) +^E 16101,25170 2 161226 -- MSL 102 (19U 202) +:E 16101,26130 2 161227 -- MSL 103 (19U 203) +^I 10245,25170 2 161230 -- MSL 104 (19U 206) +:I 10245,26130 2 161231 -- MSL 105 (19U 207) +aa 17565,20250 2 161204 -- MSL 106 (19U 180) +ga 17565,20250 2 161120 -- MSL 107 (19U 96) +a^ 17565,20250 2 161160 -- MSL 108 (19U 136) ^ " -ad 17565,20190 2 3752 -a~ 17565,19035 2 3710 -~ " -`U 21468,25170,300 2 3801 -^U 21468,25170,300 2 3803 -'Y 17565,25170 2 3805 -'y 14637,20250,4365 3 3837 -de 14637,20430 2 3760 -,C 19029,20430,6270 3 3783 -,c 12684,14310,6000 1 3815 -~N 22443,25101 2 3793 -~n 15612,19035 2 3825 -r! 9759,14376,6054 1 3745 -r? 12684,14526,6204 1 3775 -Cs 17565,15834 0 3748 -Po 17565,20430 2 3747 -Ye 17565,20130 2 3749 -sc 17565,20430,4365 3 3751 -Fn 17565,20130 2 51871 -ct 17565,19911 2 3746 -^a 13173,20250,300 2 3810 -^e 13662,20250,300 2 3818 -^o 16101,20250,300 2 3828 -^u 15612,20250,300 2 3835 -'a 13173,20250,300 2 3809 -'e 13662,20250,300 2 3817 -'o 16101,20250,300 2 3827 -'u 15612,20250,300 2 3834 -`a 13173,20250,300 2 3808 -`e 13662,20250,300 2 3816 -`o 16101,20250,300 2 3826 -`u 15612,20250,300 2 3833 -:a 13173,20190,300 2 3812 -:e 13662,20190,300 2 3819 -:o 16101,20190,300 2 3830 -:u 15612,20190,300 2 3836 -oA 20490,26508 2 3781 -^i 7806,20250 2 3822 -/O 23907,20601,366 2 3800 -AE 26835,20130 2 3782 -oa 13173,20655,300 2 3813 -'i 7806,20250 2 3821 -/o 16101,14373,330 0 3832 -ae 20004,14310,300 0 3814 -:A 20490,26130 2 3780 -`i 7806,20250 2 3820 -:O 23907,26130,300 2 3798 -:U 21468,26130,300 2 3804 -'E 16101,25170 2 3785 -:i 7806,20190 2 3823 -ss 17076,20130,300 2 3807 -^O 23907,25170,300 2 3796 -'A 20490,25170 2 3777 -~A 20490,25101 2 3779 -~a 13173,19035,300 2 3811 --D 21468,20130 2 3792 -Sd 16101,20025,300 2 3824 -'I 10245,25170 2 3789 -`I 10245,25170 2 3788 -'O 23907,25170,300 2 3795 -`O 23907,25170,300 2 3794 -~O 23907,25101,300 2 3797 -~o 16101,19035,300 2 3829 -vS 14148,25170,300 2 51795 -vs 11220,20250,300 2 51827 -'U 21468,25170,300 2 3802 -:Y 17565,26130 2 51801 -:y 14637,20190,4365 3 3839 -TP 17076,20130 2 3806 -Tp 15612,20025,4365 3 3838 -mc 15612,12630,4680 1 3765 -ps 17565,19635,4200 3 3766 -34 25857,20430,300 2 3774 -\- 25857,10380 0 51757 -14 25857,20430,300 2 3772 -12 25857,20430,300 2 3773 -Of 12198,20430 2 3754 -Om 12198,20430 2 3770 -Fo 13662,12450 0 3755 -Fc 13662,12450 0 3771 -t+- 25857,15465,6855 1 3761 -bb 13173,19083,5916 3 3750 -co 13173,19635 2 3753 -tno 25857,12210 0 3756 -rg 13173,19635 2 3758 -S2 12198,20340 2 3762 -S3 12198,20130 2 3763 -ac 17565,0,6000 1 3768 -S1 12198,20340 2 3769 -tmu 25857,15282 0 3799 -tdi 25857,16380,885 0 3831 -pc 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 -a- 17565,19020 2 3759 -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 +ad 17565,20190 2 161192 -- MSL 109 (19U 168) +~ 17565,19035 2 161176 -- MSL 110 (19U 152) +a~ " +`U 21468,25170,300 2 161241 -- MSL 111 (19U 217) +^U 21468,25170,300 2 161243 -- MSL 112 (19U 219) +u00AF 13173,21105 2 161199 -- MSL 113 (19U 175) +'Y 17565,25170 2 161245 -- MSL 114 (19U 221) +'y 14637,20250,4365 3 161277 -- MSL 115 (19U 253) +de 14637,20430 2 161200 -- MSL 116 (19U 176) +,C 19029,20430,6270 3 161223 -- MSL 117 (19U 199) +,c 12684,14310,6000 1 161255 -- MSL 118 (19U 231) +~N 22443,25101 2 161233 -- MSL 119 (19U 209) +~n 15612,19035 2 161265 -- MSL 120 (19U 241) +r! 9759,14376,6054 1 161185 -- MSL 121 (19U 161) +r? 12684,14526,6204 1 161215 -- MSL 122 (19U 191) +Cs 17565,15834 0 161188 -- MSL 123 (19U 164) +Po 17565,20430 2 161187 -- MSL 124 (19U 163) +Ye 17565,20130 2 161189 -- MSL 125 (19U 165) +sc 17565,20430,4365 3 161191 -- MSL 126 (19U 167) +Fn 17565,20130 2 161155 -- MSL 127 (19U 131) +ct 17565,19911 2 161186 -- MSL 128 (19U 162) +^a 13173,20250,300 2 161250 -- MSL 129 (19U 226) +^e 13662,20250,300 2 161258 -- MSL 130 (19U 234) +^o 16101,20250,300 2 161268 -- MSL 131 (19U 244) +^u 15612,20250,300 2 161275 -- MSL 132 (19U 251) +'a 13173,20250,300 2 161249 -- MSL 133 (19U 225) +'e 13662,20250,300 2 161257 -- MSL 134 (19U 233) +'o 16101,20250,300 2 161267 -- MSL 135 (19U 243) +'u 15612,20250,300 2 161274 -- MSL 136 (19U 250) +`a 13173,20250,300 2 161248 -- MSL 137 (19U 224) +`e 13662,20250,300 2 161256 -- MSL 138 (19U 232) +`o 16101,20250,300 2 161266 -- MSL 139 (19U 242) +`u 15612,20250,300 2 161273 -- MSL 140 (19U 249) +:a 13173,20190,300 2 161252 -- MSL 141 (19U 228) +:e 13662,20190,300 2 161259 -- MSL 142 (19U 235) +:o 16101,20190,300 2 161270 -- MSL 143 (19U 246) +:u 15612,20190,300 2 161276 -- MSL 144 (19U 252) +oA 20490,26508 2 161221 -- MSL 145 (19U 197) +^i 7806,20250 2 161262 -- MSL 146 (19U 238) +/O 23907,20601,366 2 161240 -- MSL 147 (19U 216) +AE 26835,20130 2 161222 -- MSL 148 (19U 198) +oa 13173,20655,300 2 161253 -- MSL 149 (19U 229) +'i 7806,20250 2 161261 -- MSL 150 (19U 237) +/o 16101,14373,330 0 161272 -- MSL 151 (19U 248) +ae 20004,14310,300 0 161254 -- MSL 152 (19U 230) +:A 20490,26130 2 161220 -- MSL 153 (19U 196) +`i 7806,20250 2 161260 -- MSL 154 (19U 236) +:O 23907,26130,300 2 161238 -- MSL 155 (19U 214) +:U 21468,26130,300 2 161244 -- MSL 156 (19U 220) +'E 16101,25170 2 161225 -- MSL 157 (19U 201) +:i 7806,20190 2 161263 -- MSL 158 (19U 239) +ss 17076,20130,300 2 161247 -- MSL 159 (19U 223) +^O 23907,25170,300 2 161236 -- MSL 160 (19U 212) +'A 20490,25170 2 161217 -- MSL 161 (19U 193) +~A 20490,25101 2 161219 -- MSL 162 (19U 195) +~a 13173,19035,300 2 161251 -- MSL 163 (19U 227) +-D 21468,20130 2 161232 -- MSL 164 (19U 208) +Sd 16101,20025,300 2 161264 -- MSL 165 (19U 240) +'I 10245,25170 2 161229 -- MSL 166 (19U 205) +`I 10245,25170 2 161228 -- MSL 167 (19U 204) +'O 23907,25170,300 2 161235 -- MSL 168 (19U 211) +`O 23907,25170,300 2 161234 -- MSL 169 (19U 210) +~O 23907,25101,300 2 161237 -- MSL 170 (19U 213) +~o 16101,19035,300 2 161269 -- MSL 171 (19U 245) +vS 14148,25170,300 2 161162 -- MSL 172 (19U 138) +vs 11220,20250,300 2 161178 -- MSL 173 (19U 154) +'U 21468,25170,300 2 161242 -- MSL 174 (19U 218) +:Y 17565,26130 2 161183 -- MSL 175 (19U 159) +:y 14637,20190,4365 3 161279 -- MSL 176 (19U 255) +TP 17076,20130 2 161246 -- MSL 177 (19U 222) +Tp 15612,20025,4365 3 161278 -- MSL 178 (19U 254) +mc 15612,12630,4680 1 161205 -- MSL 180 (19U 181) +ps 17565,19635,4200 3 161206 -- MSL 181 (19U 182) +34 25857,20430,300 2 161214 -- MSL 182 (19U 190) +\- 25857,10380 0 60096 -- MSL 183 ( 7J 192) +14 25857,20430,300 2 161212 -- MSL 184 (19U 188) +12 25857,20430,300 2 161213 -- MSL 185 (19U 189) +Of 12198,20430 2 161194 -- MSL 186 (19U 170) +Om 12198,20430 2 161210 -- MSL 187 (19U 186) +Fo 13662,12450 0 161195 -- MSL 188 (19U 171) +Fc 13662,12450 0 161211 -- MSL 190 (19U 187) +t+- 25857,15465,6855 1 161201 -- MSL 191 (19U 177) +bb 13173,19083,5916 3 161190 -- MSL 192 (19U 166) +co 13173,19635 2 161193 -- MSL 193 (19U 169) +tno 25857,12210 0 161196 -- MSL 194 (19U 172) +u00AD 9759,10515 0 161197 -- MSL 195 (19U 173) +rg 13173,19635 2 161198 -- MSL 196 (19U 174) +S2 12198,20340 2 161202 -- MSL 197 (19U 178) +S3 12198,20130 2 161203 -- MSL 198 (19U 179) +ac 17565,0,6000 1 161208 -- MSL 199 (19U 184) +S1 12198,20340 2 161209 -- MSL 200 (19U 185) +tmu 25857,15282 0 161239 -- MSL 201 (19U 215) +tdi 25857,16380,885 0 161271 -- MSL 202 (19U 247) +u203C 18540,20130,300 2 87315 -- MSL 221 (10U 19) +u20A7 27810,20130,300 2 60121 -- MSL 232 ( 7J 217) +pc 9759,13080 0 161207 -- MSL 302 (19U 183) +u013F 15126,20130 2 51943 -- MSL 306 ( 6J 231) +u0140 12684,20025 2 51959 -- MSL 307 ( 6J 247) +u2113 17565,18045,765 0 60122 -- MSL 308 ( 7J 218) +u0149 23418,20130 2 51951 -- MSL 309 ( 6J 239) +fm 9759,20130 2 60101 -- MSL 310 ( 7J 197) +sd 15612,20130 2 60102 -- MSL 311 ( 7J 198) +dg 17565,20130,4365 3 161158 -- MSL 312 (19U 134) +tm 16101,17850 0 161177 -- MSL 313 (19U 153) +u2017 13173,0,6588 1 60095 -- MSL 314 ( 7J 191) +ah 17565,20250 2 75169 -- MSL 315 ( 9E 161) +ao 17565,20655 2 60152 -- MSL 316 ( 7J 248) +f/ 3903,20430,300 2 60109 -- MSL 324 ( 7J 205) +em 25857,10095 0 161175 -- MSL 325 (19U 151) +en 17565,10095 0 161174 -- MSL 326 (19U 150) +dd 17565,20130,4365 3 161159 -- MSL 327 (19U 135) +.i 7806,14010 0 46333 -- MSL 328 ( 5T 253) +aq 9759,20130 2 161063 -- MSL 329 (19U 39) +bu 13173,14226 0 161173 -- MSL 331 (19U 149) +u207F 12684,20340 2 87548 -- MSL 332 (10U 252) +u0111 15612,20025,300 2 75248 -- MSL 342 ( 9E 240) +u0041_0306 20490,25080 2 75203 -- MSL 400 ( 9E 195) +u0061_0306 13173,19260,300 2 75235 -- MSL 401 ( 9E 227) +u0041_0328 20490,20130,5829 3 75173 -- MSL 404 ( 9E 165) +u0061_0328 13173,14310,5838 1 75193 -- MSL 405 ( 9E 185) +'C 19029,25170,300 2 75206 -- MSL 406 ( 9E 198) +'c 12684,20250,300 2 75238 -- MSL 407 ( 9E 230) +u0041_030C 19029,25170,300 2 75208 -- MSL 410 ( 9E 200) +u0061_030C 12684,20250,300 2 75240 -- MSL 411 ( 9E 232) +u0044_030C 20490,25170 2 75215 -- MSL 414 ( 9E 207) +u0064_030C 20979,20130,300 2 75247 -- MSL 415 ( 9E 239) +u0045_030C 16101,25170 2 75212 -- MSL 416 ( 9E 204) +u0065_030C 13662,20250,300 2 75244 -- MSL 417 ( 9E 236) +u0045_0328 16101,20130,5829 3 75210 -- MSL 422 ( 9E 202) +u0065_0328 13662,14310,5838 1 75242 -- MSL 423 ( 9E 234) +u004C_0301 15126,25170 2 75205 -- MSL 440 ( 9E 197) +u006C_0301 7806,25170 2 75237 -- MSL 441 ( 9E 229) +u004C_030C 15126,20130 2 75196 -- MSL 442 ( 9E 188) +u006C_030C 12684,20130 2 75198 -- MSL 443 ( 9E 190) +u004E_0301 22443,25170 2 75217 -- MSL 446 ( 9E 209) +u006E_0301 15612,20250 2 75249 -- MSL 447 ( 9E 241) +u004E_030C 22443,25170 2 75218 -- MSL 448 ( 9E 210) +u006E_030C 15612,20250 2 75250 -- MSL 449 ( 9E 242) +u004F_030B 23907,25170,300 2 75221 -- MSL 452 ( 9E 213) +u006F_030B 16101,20250,300 2 75253 -- MSL 453 ( 9E 245) +u0052_0301 18540,25170 2 75200 -- MSL 456 ( 9E 192) +u0072_0301 11220,20250 2 75232 -- MSL 457 ( 9E 224) +u0052_030C 18540,25170 2 75224 -- MSL 458 ( 9E 216) +u0072_030C 11220,20250 2 75256 -- MSL 459 ( 9E 248) +u0053_0301 14148,25170,300 2 75148 -- MSL 462 ( 9E 140) +u0073_0301 11220,20250,300 2 75164 -- MSL 463 ( 9E 156) +u0054_030C 16587,25170 2 75149 -- MSL 466 ( 9E 141) +u0074_030C 13173,20130,300 2 75165 -- MSL 467 ( 9E 157) +u0054_0327 16587,20130,6270 3 75230 -- MSL 468 ( 9E 222) +u0074_0327 10734,17100,6000 1 75262 -- MSL 469 ( 9E 254) +u0055_030B 21468,25170,300 2 75227 -- MSL 474 ( 9E 219) +u0075_030B 15612,20250,300 2 75259 -- MSL 475 ( 9E 251) +u0055_030A 21468,26508,300 2 75225 -- MSL 476 ( 9E 217) +u0075_030A 15612,20655,300 2 75257 -- MSL 477 ( 9E 249) +u005A_0301 17565,25170 2 75151 -- MSL 482 ( 9E 143) +u007A_0301 12198,20250 2 75167 -- MSL 483 ( 9E 159) +u005A_0307 17565,26571 2 75183 -- MSL 484 ( 9E 175) +u007A_0307 12198,20190 2 75199 -- MSL 485 ( 9E 191) +u2070 12198,20340 2 51753 -- MSL 1000 ( 6J 41) +u2074 12198,20130 2 51748 -- MSL 1001 ( 6J 36) +u2075 12198,20130 2 51749 -- MSL 1002 ( 6J 37) +u2076 12198,20130 2 51806 -- MSL 1003 ( 6J 94) +u2077 12198,20130 2 51750 -- MSL 1004 ( 6J 38) +u2078 12198,20340 2 51754 -- MSL 1005 ( 6J 42) +u2079 12198,20340 2 51752 -- MSL 1006 ( 6J 40) +lq 17076,20130 2 161171 -- MSL 1017 (19U 147) +rq 17076,20130 2 161172 -- MSL 1018 (19U 148) +Bq 17076,5025,3885 0 161156 -- MSL 1019 (19U 132) +u2003 25857,0 0 51821 -- MSL 1020 ( 6J 109) +u2002 17565,0 0 51822 -- MSL 1021 ( 6J 110) +u2009 9759,0 0 51828 -- MSL 1023 ( 6J 116) +u2026 25857,4830,300 0 161157 -- MSL 1028 (19U 133) +vz 12198,20250 2 75166 -- MSL 1031 ( 9E 158) +u2120 16101,18000 0 128299 -- MSL 1034 (15U 43) +u211E 20004,18315,4056 0 51794 -- MSL 1036 ( 6J 82) +fi 16587,20130 2 60077 -- MSL 1040 ( 7J 173) +fl 16587,20130 2 60078 -- MSL 1041 ( 7J 174) +ff 18540,20130 2 51883 -- MSL 1042 ( 6J 171) +Fi 25371,20130 2 51884 -- MSL 1043 ( 6J 172) +Fl 25371,20130 2 51885 -- MSL 1044 ( 6J 173) +ij 15612,20940,4365 3 60134 -- MSL 1047 ( 7J 230) +u2105 29274,20430,300 2 60072 -- MSL 1060 ( 7J 168) +u0047_0306 20490,25080,300 2 46288 -- MSL 1061 ( 5T 208) +u0067_0306 14637,19260,4650 3 46320 -- MSL 1062 ( 5T 240) +u0053_0327 14148,20430,6270 3 75178 -- MSL 1063 ( 9E 170) +u0073_0327 11220,14310,6000 1 75194 -- MSL 1064 ( 9E 186) +u0049_0307 10245,26571 2 46301 -- MSL 1065 ( 5T 221) +bq 9759,5025,3885 0 161154 -- MSL 1067 (19U 130) +%0 33663,20430,300 2 161161 -- MSL 1068 (19U 137) +a- 17565,19020 2 60154 -- MSL 1084 ( 7J 250) +ab 17565,19260 2 75170 -- MSL 1086 ( 9E 162) +a. 17565,20190 2 75263 -- MSL 1088 ( 9E 255) +oe 23418,14310,300 0 161180 -- MSL 1090 (19U 156) +OE 31224,20430,300 2 161164 -- MSL 1091 (19U 140) +fo 7806,12450 0 161163 -- MSL 1092 (19U 139) +fc 7806,12450 0 161179 -- MSL 1093 (19U 155) +sq 19029,15624 0 60091 -- MSL 1094 ( 7J 187) +/L 16587,20130 2 75171 -- MSL 1095 ( 9E 163) +/l 12684,20025 2 75187 -- MSL 1096 ( 9E 179) +a" 17565,20250 2 75197 -- MSL 1097 ( 9E 189) +ho 17565,348,5838 1 75186 -- MSL 1098 ( 9E 178) +vZ 17565,25170 2 75150 -- MSL 1106 ( 9E 142) +IJ 21954,20130,4380 3 60135 -- MSL 1107 ( 7J 231) diff -ruN groff-1.19/font/devlj4/ALBR groff-1.19.1/font/devlj4/ALBR --- groff-1.19/font/devlj4/ALBR Tue Feb 25 06:38:55 2003 +++ groff-1.19.1/font/devlj4/ALBR Wed Feb 18 10:01:17 2004 @@ -1,3 +1,4 @@ +# Albertus Md name ALBR spacewidth 8295 pcltypeface 4362 @@ -6,695 +7,765 @@ 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 cq -2925 -L ' -2925 -T hy -3903 -T - -3903 -T en -3903 -T em -3903 -A cq -2925 -A ' -2925 -hy T -3903 -- T -3903 -en T -3903 -em T -3903 -Y hy -1950 -Y - -1950 -Y en -1950 -Y em -1950 -p cq -1950 -p ' -1950 -e cq -975 -e ' -975 -b cq -1950 -b ' -1950 -a cq -1461 -a ' -1461 -V hy -1950 -V - -1950 -V en -1950 -V em -1950 -h cq -1950 -h ' -1950 -n cq -1950 -n ' -1950 -m cq -1950 -m ' -1950 -R cq -975 -R ' -975 -W hy -1461 -W - -1461 -W en -1461 -W em -1461 -cq d -1950 -' d -1950 -L hy -975 -L - -975 -L en -975 -L em -975 -X hy -975 -X - -975 -X en -975 -X em -975 -A hy -1950 -A - -1950 -A en -1950 -A em -1950 -K hy -975 -K - -975 -K en -975 -K em -975 -hy X -975 -- X -975 -hy A -1950 -- A -1950 -en X -975 -en A -1950 -em X -975 -R hy -975 -R - -975 -R en -975 -R em -975 -K cq -486 -K ' -486 -b f -486 -k cq -486 -k ' -486 -O cq -486 -O ' -486 -Z hy -486 -Z - -486 -Z en -486 -Z em -486 -k hy -486 -k - -486 -k en -486 -k em -486 +L V -2924 +P . -4388 +P , -4388 +V A -4388 +A V -4388 +T o -3902 +T r -3902 +T c -3902 +T e -3902 +T d -3902 +T s -3902 +T y -3902 +T a -3902 +T w -3902 +T u -3902 +L T -2924 +L Y -2924 +Y o -3902 +Y e -3902 +Y a -2924 +A W -3413 +W A -3413 +T A -3902 +V o -2924 +V e -2924 +V a -2924 +Y A -3902 +F A -2924 +F . -3902 +F , -3902 +A T -3902 +A Y -3902 +v . -3413 +v , -3413 +y . -3413 +y , -3413 +T . -3902 +T , -3902 +L W -2924 +P A -2924 +V . -3902 +V , -3902 +Y . -3902 +Y , -3902 +W o -2438 +W e -2438 +W a -2438 +W . -3413 +W , -3413 +r . -2924 +r , -2924 +w . -3413 +w , -3413 +Y u -1949 +A v -2438 +A y -2438 +A w -2438 +o . -1949 +o , -1949 +p . -1949 +p , -1949 +e . -974 +e , -974 +b . -1949 +b , -1949 +O T -2438 +O V -2438 +O Y -2438 +O . -2438 +O , -2438 +L y -1460 +L O -1460 +L G -974 +L C -974 +L Q -974 +P J -485 +V y -1949 +V u -1949 +V O -2438 +V G -1949 +V C -1949 +V Q -1949 +D T -2438 +D V -1949 +D Y -1949 +D . -2438 +D , -2438 +Y O -2438 +Y G -1949 +Y C -1949 +Y Q -1949 +F o -974 +F e -974 +F a -974 +O A -2438 +O W -1949 +L U -974 +R T -1460 +R V -1460 +R Y -1460 +R W -1460 +G T -1460 +P o -1460 +P g -974 +P e -1460 +P a -974 +D A -1949 +D W -1460 +B T -1949 +B Y -1949 +B . -1949 +B , -1949 +A O -2438 +A G -1949 +A C -1949 +A U -1949 +A Q -1949 +W r -1460 +W y -1460 +W u -1460 +W O -1949 +W G -1460 +W C -1460 +W Q -1460 +Q A -1949 +Q W -1460 +f . -485 +f , -485 +T O -2438 +T G -2438 +T C -2438 +T Q -2438 +O X -1460 +L o -974 +L e -974 +L q -974 +G V -1460 +G Y -1460 +G W -1460 +G . -485 +G , -485 +P T -485 +P V -485 +P Y -485 +D X -974 +B V -1949 +B X -974 +B A -1949 +B W -1460 +S . -1460 +S , -1460 +F O -485 +X o -974 +X e -974 +X y -974 +X O -1460 +X G -974 +X C -974 +X Q -974 +A o -1949 +A e -1949 +Q X -974 +K o -974 +K e -974 +K y -974 +K w -974 +K O -1460 +K G -974 +K C -974 +K Q -974 +o v -485 +o y -485 +o x -485 +o w -485 +h v -485 +h y -485 +n v -485 +n y -485 +m v -485 +m y -485 +r g -974 +g . -974 +g , -974 +p v -485 +p y -485 +p x -485 +v o -485 +v g -485 +v c -485 +v d -485 +v a -485 +v q -485 +e v -485 +e y -485 +b v -485 +b y -485 +b w -485 +s . -974 +s , -974 +y o -485 +y g -485 +y c -485 +y d -485 +y a -485 +y q -485 +f g -485 +x o -485 +x c -485 +x e -485 +x d -485 +x a -485 +x q -485 +a v -485 +a y -485 +a w -485 +w o -485 +w g -485 +w c -485 +w d -485 +w a -485 +w q -485 +T S -1460 +L a -974 +R o -974 +R y -974 +R O -1460 +R G -974 +R C -974 +R U -974 +R Q -974 +G X -485 +G A -485 +P Z -485 +P X -485 +P W -485 +V S -1460 +S T -974 +S V -974 +S Y -974 +S X -974 +S A -1460 +S W -974 +Y S -1460 +X a -974 +X u -974 +A t -974 +A c -1949 +A d -1949 +A a -974 +A u -1949 +A q -1949 +W S -1460 +K c -974 +K u -974 +o f -485 +h w -485 +n w -485 +m w -485 +r o -974 +r c -974 +r e -974 +r d -974 +r a -974 +r q -974 +g g -485 +p f -485 +p w -485 +v e -485 +e f -485 +e x -485 +e w -485 +b f -485 +y e -485 +f o -485 +f c -485 +f e -485 +f d -485 +f a -485 +f q -485 +w e -485 +k o -485 +k c -485 +k v -485 +k e -485 +k d -485 +k y -485 +k a -485 +k w -485 +k q -485 +O Z -974 +O J -974 +L J -485 +R e -974 +R a -974 +R u -974 +G Z -485 +P O -485 +E O -485 +Z o -485 +Z e -485 +Z d -485 +Z y -485 +Z a -485 +Z w -485 +Z u -485 +Z O -974 +Z G -485 +Z C -485 +Z Q -485 +D Z -485 +D J -485 +B Z -485 +B J -485 +S Z -485 +S J -485 +A J -485 +J O -485 +K a -974 +K J -485 +o z -485 +h f -485 +n f -485 +m f -485 +g o -485 +g c -485 +g e -485 +g d -485 +g a -485 +g q -485 +p z -485 +e z -485 +z o -485 +z c -485 +z e -485 +z d -485 +z a -485 +z q -485 +b z -485 +a f -485 +k t -485 +k f -485 +k u -485 +O g -485 +O j -485 +R J -485 +G J -485 +C O -485 +B O -485 +A f -485 +U O -485 +K T -485 +K V -485 +K Y -485 +K W -485 +K U -485 +L cq -2924 +L ' -2924 +T hy -3902 +T - -3902 +T en -3902 +T em -3902 +A cq -2924 +A ' -2924 +hy T -3902 +- T -3902 +en T -3902 +em T -3902 +Y hy -1949 +Y - -1949 +Y en -1949 +Y em -1949 +p cq -1949 +p ' -1949 +e cq -974 +e ' -974 +b cq -1949 +b ' -1949 +a cq -1460 +a ' -1460 +V hy -1949 +V - -1949 +V en -1949 +V em -1949 +h cq -1949 +h ' -1949 +n cq -1949 +n ' -1949 +m cq -1949 +m ' -1949 +R cq -974 +R ' -974 +W hy -1460 +W - -1460 +W en -1460 +W em -1460 +cq d -1949 +' d -1949 +L hy -974 +L - -974 +L en -974 +L em -974 +X hy -974 +X - -974 +X en -974 +X em -974 +A hy -1949 +A - -1949 +A en -1949 +A em -1949 +K hy -974 +K - -974 +K en -974 +K em -974 +hy X -974 +- X -974 +hy A -1949 +- A -1949 +en X -974 +en A -1949 +em X -974 +R hy -974 +R - -974 +R en -974 +R em -974 +K cq -485 +K ' -485 +b f -485 +k cq -485 +k ' -485 +O cq -485 +O ' -485 +Z hy -485 +Z - -485 +Z en -485 +Z em -485 +k hy -485 +k - -485 +k en -485 +k em -485 charset -! 8295,20130,300 2 3617 -dq 13173,20130 2 3618 +! 8295,20130,300 2 161057 -- MSL 1 (19U 33) +dq 13173,20130 2 161058 -- MSL 2 (19U 34) " " -sh 16587,20430,300 2 3619 +sh 16587,20430,300 2 161059 -- MSL 3 (19U 35) # " -Do 16587,21909,2490 2 3620 +Do 16587,21909,2490 2 161060 -- MSL 4 (19U 36) $ " -% 24882,20430,300 2 3621 -& 22932,16869,300 0 3622 -cq 8295,20130 2 51751 +% 24882,20430,300 2 161061 -- MSL 5 (19U 37) +& 22932,16869,300 0 161062 -- MSL 6 (19U 38) +cq 8295,20130 2 161170 -- MSL 8 (19U 146) ' " -( 10734,20130,4365 3 3624 -) 10734,20130,4365 3 3625 -* 16587,20130 2 3626 -+ 24882,15420,60 0 3627 -, 8295,3945,5055 1 3628 -hy 8295,9795 0 3629 +( 10734,20130,4365 3 161064 -- MSL 9 (19U 40) +) 10734,20130,4365 3 161065 -- MSL 10 (19U 41) +* 16587,20130 2 161066 -- MSL 11 (19U 42) ++ 24882,15420,60 0 161067 -- MSL 12 (19U 43) +, 8295,3945,5055 1 161068 -- MSL 13 (19U 44) +hy 8295,9795 0 161069 -- MSL 14 (19U 45) - " -. 8295,4080,300 0 3630 -sl 11709,20130 2 3631 +. 8295,4080,300 0 161070 -- MSL 15 (19U 46) +sl 11709,20130 2 161071 -- MSL 16 (19U 47) / " -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 +0 16587,20430,300 2 161072 -- MSL 17 (19U 48) +1 16587,20430 2 161073 -- MSL 18 (19U 49) +2 16587,20430 2 161074 -- MSL 19 (19U 50) +3 16587,20130,300 2 161075 -- MSL 20 (19U 51) +4 16587,20130 2 161076 -- MSL 21 (19U 52) +5 16587,20130,300 2 161077 -- MSL 22 (19U 53) +6 16587,20130,300 2 161078 -- MSL 23 (19U 54) +7 16587,20130 2 161079 -- MSL 24 (19U 55) +8 16587,20430,300 2 161080 -- MSL 25 (19U 56) +9 16587,20430 2 161081 -- MSL 26 (19U 57) +: 8295,12372,300 0 161082 -- MSL 27 (19U 58) +; 8295,12372,5055 1 161083 -- MSL 28 (19U 59) +< 26346,16068 0 161084 -- MSL 29 (19U 60) += 24882,11880 0 161085 -- MSL 30 (19U 61) +> 26346,16068 0 161086 -- MSL 31 (19U 62) +? 12198,20430,300 2 161087 -- MSL 32 (19U 63) +at 24882,21030,2745 2 161088 -- MSL 33 (19U 64) @ " -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 +A 20979,20430 2 161089 -- MSL 34 (19U 65) +B 15126,20130 2 161090 -- MSL 35 (19U 66) +C 18051,20430,300 2 161091 -- MSL 36 (19U 67) +D 18540,20130 2 161092 -- MSL 37 (19U 68) +E 14637,20130 2 161093 -- MSL 38 (19U 69) +F 13662,20130 2 161094 -- MSL 39 (19U 70) +G 20490,20430,300 2 161095 -- MSL 40 (19U 71) +H 20004,20130 2 161096 -- MSL 41 (19U 72) +I 8295,20130 2 161097 -- MSL 42 (19U 73) +J 10734,20130,4488 3 161098 -- MSL 43 (19U 74) +K 18051,20130 2 161099 -- MSL 44 (19U 75) +L 14148,20130 2 161100 -- MSL 45 (19U 76) +M 24396,20130 2 161101 -- MSL 46 (19U 77) +N 21468,20130 2 161102 -- MSL 47 (19U 78) +O 22932,20430,300 2 161103 -- MSL 48 (19U 79) +P 13662,20130 2 161104 -- MSL 49 (19U 80) +Q 22932,20430,4152 3 161105 -- MSL 50 (19U 81) +R 16587,20130 2 161106 -- MSL 51 (19U 82) +S 13662,20430,300 2 161107 -- MSL 52 (19U 83) +T 16587,20130 2 161108 -- MSL 53 (19U 84) +U 20979,20130,300 2 161109 -- MSL 54 (19U 85) +V 20490,20130 2 161110 -- MSL 55 (19U 86) +W 24882,20430 2 161111 -- MSL 56 (19U 87) +X 18051,20130 2 161112 -- MSL 57 (19U 88) +Y 17076,20130 2 161113 -- MSL 58 (19U 89) +Z 16101,20130 2 161114 -- MSL 59 (19U 90) +lB 11220,20130,4365 3 161115 -- MSL 60 (19U 91) [ " -rs 11709,20130 2 3676 +rs 11709,20130 2 161116 -- MSL 61 (19U 92) \ " -rB 11220,20130,4365 3 3677 +rB 11220,20130,4365 3 161117 -- MSL 62 (19U 93) ] " -ha 13173,19758 2 51875 -_ 13173,0,6588 1 3679 -oq 8295,20130 2 51808 +ha 13173,19758 2 161118 -- MSL 63 (19U 94) +_ 13173,0,6588 1 161119 -- MSL 64 (19U 95) +oq 8295,20130 2 161169 -- MSL 66 (19U 145) ` " -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 -`A 20979,24960 2 3776 -^A 20979,24960 2 3778 -`E 14637,24960 2 3784 -^E 14637,24960 2 3786 -:E 14637,25020 2 3787 -^I 8295,24960 2 3790 -:I 8295,25020 2 3791 -aa 16587,19785 2 3764 -ga 16587,19785 2 3680 -a^ 16587,19785 2 3678 +a 12198,14310,300 0 161121 -- MSL 67 (19U 97) +b 14148,20025 2 161122 -- MSL 68 (19U 98) +c 12198,14310,300 0 161123 -- MSL 69 (19U 99) +d 14637,20025,300 2 161124 -- MSL 70 (19U 100) +e 12684,14310,300 0 161125 -- MSL 71 (19U 101) +f 8295,20130 2 161126 -- MSL 72 (19U 102) +g 12684,14310,4479 1 161127 -- MSL 73 (19U 103) +h 14148,20025 2 161128 -- MSL 74 (19U 104) +i 6342,19815 2 161129 -- MSL 75 (19U 105) +j 6342,19815,4365 3 161130 -- MSL 76 (19U 106) +k 12684,20025 2 161131 -- MSL 77 (19U 107) +l 6342,20025 2 161132 -- MSL 78 (19U 108) +m 21954,14310 0 161133 -- MSL 79 (19U 109) +n 14148,14310 0 161134 -- MSL 80 (19U 110) +o 14637,14310,300 0 161135 -- MSL 81 (19U 111) +p 14637,14310,4365 1 161136 -- MSL 82 (19U 112) +q 14148,14310,4365 1 161137 -- MSL 83 (19U 113) +r 9759,14310 0 161138 -- MSL 84 (19U 114) +s 9270,14310,300 0 161139 -- MSL 85 (19U 115) +t 8781,16950,300 0 161140 -- MSL 86 (19U 116) +u 14148,14010,300 0 161141 -- MSL 87 (19U 117) +v 12684,14010 0 161142 -- MSL 88 (19U 118) +w 18540,14010 0 161143 -- MSL 89 (19U 119) +x 12684,14010 0 161144 -- MSL 90 (19U 120) +y 13173,14010,4365 1 161145 -- MSL 91 (19U 121) +z 10245,14010 0 161146 -- MSL 92 (19U 122) +{ 11709,20130,6075 3 161147 -- MSL 93 (19U 123) +lC " +| 13173,19758,6588 3 161148 -- MSL 94 (19U 124) +ba " +} 11709,20130,6075 3 161149 -- MSL 95 (19U 125) +rC " +ti 26346,8952 0 161150 -- MSL 96 (19U 126) +`A 20979,24960 2 161216 -- MSL 99 (19U 192) +^A 20979,24960 2 161218 -- MSL 100 (19U 194) +`E 14637,24960 2 161224 -- MSL 101 (19U 200) +^E 14637,24960 2 161226 -- MSL 102 (19U 202) +:E 14637,25020 2 161227 -- MSL 103 (19U 203) +^I 8295,24960 2 161230 -- MSL 104 (19U 206) +:I 8295,25020 2 161231 -- MSL 105 (19U 207) +aa 16587,19785 2 161204 -- MSL 106 (19U 180) +ga 16587,19785 2 161120 -- MSL 107 (19U 96) +a^ 16587,19785 2 161160 -- MSL 108 (19U 136) ^ " -ad 16587,19140 2 3752 -a~ 16587,18507 2 3710 -~ " -`U 20979,24960,300 2 3801 -^U 20979,24960,300 2 3803 -'Y 17076,24960 2 3805 -'y 13173,19785,4365 3 3837 -de 13662,20430 2 3760 -,C 18051,20430,6330 3 3783 -,c 12198,14310,6006 1 3815 -~N 21468,24783 2 3793 -~n 14148,18507 2 3825 -r! 8295,14346,6084 1 3745 -r? 12198,14496,6234 1 3775 -Cs 16587,15684 0 3748 -Po 16587,20430 2 3747 -Ye 16587,20130 2 3749 -sc 16587,20430,4365 3 3751 -Fn 16587,20130 2 51871 -ct 16587,19968 2 3746 -^a 12198,19785,300 2 3810 -^e 12684,19785,300 2 3818 -^o 14637,19785,300 2 3828 -^u 14148,19785,300 2 3835 -'a 12198,19785,300 2 3809 -'e 12684,19785,300 2 3817 -'o 14637,19785,300 2 3827 -'u 14148,19785,300 2 3834 -`a 12198,19785,300 2 3808 -`e 12684,19785,300 2 3816 -`o 14637,19785,300 2 3826 -`u 14148,19785,300 2 3833 -:a 12198,19140,300 2 3812 -:e 12684,19140,300 2 3819 -:o 14637,19140,300 2 3830 -:u 14148,19140,300 2 3836 -oA 20979,26154 2 3781 -^i 6342,19785 2 3822 -/O 22932,20454,300 2 3800 -AE 25857,20130 2 3782 -oa 12198,20160,300 2 3813 -'i 6342,19785 2 3821 -/o 14637,14316,300 0 3832 -ae 19515,14310,300 0 3814 -:A 20979,25020 2 3780 -`i 6342,19785 2 3820 -:O 22932,25020,300 2 3798 -:U 20979,25020,300 2 3804 -'E 14637,24960 2 3785 -:i 6342,19140 2 3823 -ss 15612,20130,300 2 3807 -^O 22932,24960,300 2 3796 -'A 20979,24960 2 3777 -~A 20979,24783 2 3779 -~a 12198,18507,300 2 3811 --D 20004,20130 2 3792 -Sd 14637,20025,300 2 3824 -'I 8295,24960 2 3789 -`I 8295,24960 2 3788 -'O 22932,24960,300 2 3795 -`O 22932,24960,300 2 3794 -~O 22932,24783,300 2 3797 -~o 14637,18507,300 2 3829 -vS 13662,24960,300 2 51795 -vs 9270,19785,300 2 51827 -'U 20979,24960,300 2 3802 -:Y 17076,25020 2 51801 -:y 13173,19140,4365 3 3839 -TP 13662,20130 2 3806 -Tp 14637,20025,4365 3 3838 -mc 14637,12630,4350 1 3765 -ps 16587,19635,4200 3 3766 -34 24882,20430,300 2 3774 -\- 24882,9405 0 51757 -14 24882,20430,300 2 3772 -12 24882,20430,300 2 3773 -Of 10245,20430 2 3754 -Om 10245,20430 2 3770 -Fo 12198,12450 0 3755 -Fc 12198,12450 0 3771 -t+- 24882,15420,5175 1 3761 -bb 13173,19083,5916 3 3750 -co 13173,19635 2 3753 -tno 24882,12135 0 3756 -rg 13173,19635 2 3758 -S2 10245,20340 2 3762 -S3 10245,20130 2 3763 -ac 16587,309,6006 1 3768 -S1 10245,20340 2 3769 -tmu 24882,15990,279 0 3799 -tdi 24882,15090 0 3831 -pc 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 -a- 16587,18603 2 3759 -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 +ad 16587,19140 2 161192 -- MSL 109 (19U 168) +~ 16587,18507 2 161176 -- MSL 110 (19U 152) +a~ " +`U 20979,24960,300 2 161241 -- MSL 111 (19U 217) +^U 20979,24960,300 2 161243 -- MSL 112 (19U 219) +u00AF 13173,21105 2 161199 -- MSL 113 (19U 175) +'Y 17076,24960 2 161245 -- MSL 114 (19U 221) +'y 13173,19785,4365 3 161277 -- MSL 115 (19U 253) +de 13662,20430 2 161200 -- MSL 116 (19U 176) +,C 18051,20430,6330 3 161223 -- MSL 117 (19U 199) +,c 12198,14310,6006 1 161255 -- MSL 118 (19U 231) +~N 21468,24783 2 161233 -- MSL 119 (19U 209) +~n 14148,18507 2 161265 -- MSL 120 (19U 241) +r! 8295,14346,6084 1 161185 -- MSL 121 (19U 161) +r? 12198,14496,6234 1 161215 -- MSL 122 (19U 191) +Cs 16587,15684 0 161188 -- MSL 123 (19U 164) +Po 16587,20430 2 161187 -- MSL 124 (19U 163) +Ye 16587,20130 2 161189 -- MSL 125 (19U 165) +sc 16587,20430,4365 3 161191 -- MSL 126 (19U 167) +Fn 16587,20130 2 161155 -- MSL 127 (19U 131) +ct 16587,19968 2 161186 -- MSL 128 (19U 162) +^a 12198,19785,300 2 161250 -- MSL 129 (19U 226) +^e 12684,19785,300 2 161258 -- MSL 130 (19U 234) +^o 14637,19785,300 2 161268 -- MSL 131 (19U 244) +^u 14148,19785,300 2 161275 -- MSL 132 (19U 251) +'a 12198,19785,300 2 161249 -- MSL 133 (19U 225) +'e 12684,19785,300 2 161257 -- MSL 134 (19U 233) +'o 14637,19785,300 2 161267 -- MSL 135 (19U 243) +'u 14148,19785,300 2 161274 -- MSL 136 (19U 250) +`a 12198,19785,300 2 161248 -- MSL 137 (19U 224) +`e 12684,19785,300 2 161256 -- MSL 138 (19U 232) +`o 14637,19785,300 2 161266 -- MSL 139 (19U 242) +`u 14148,19785,300 2 161273 -- MSL 140 (19U 249) +:a 12198,19140,300 2 161252 -- MSL 141 (19U 228) +:e 12684,19140,300 2 161259 -- MSL 142 (19U 235) +:o 14637,19140,300 2 161270 -- MSL 143 (19U 246) +:u 14148,19140,300 2 161276 -- MSL 144 (19U 252) +oA 20979,26154 2 161221 -- MSL 145 (19U 197) +^i 6342,19785 2 161262 -- MSL 146 (19U 238) +/O 22932,20454,300 2 161240 -- MSL 147 (19U 216) +AE 25857,20130 2 161222 -- MSL 148 (19U 198) +oa 12198,20160,300 2 161253 -- MSL 149 (19U 229) +'i 6342,19785 2 161261 -- MSL 150 (19U 237) +/o 14637,14316,300 0 161272 -- MSL 151 (19U 248) +ae 19515,14310,300 0 161254 -- MSL 152 (19U 230) +:A 20979,25020 2 161220 -- MSL 153 (19U 196) +`i 6342,19785 2 161260 -- MSL 154 (19U 236) +:O 22932,25020,300 2 161238 -- MSL 155 (19U 214) +:U 20979,25020,300 2 161244 -- MSL 156 (19U 220) +'E 14637,24960 2 161225 -- MSL 157 (19U 201) +:i 6342,19140 2 161263 -- MSL 158 (19U 239) +ss 15612,20130,300 2 161247 -- MSL 159 (19U 223) +^O 22932,24960,300 2 161236 -- MSL 160 (19U 212) +'A 20979,24960 2 161217 -- MSL 161 (19U 193) +~A 20979,24783 2 161219 -- MSL 162 (19U 195) +~a 12198,18507,300 2 161251 -- MSL 163 (19U 227) +-D 20004,20130 2 161232 -- MSL 164 (19U 208) +Sd 14637,20025,300 2 161264 -- MSL 165 (19U 240) +'I 8295,24960 2 161229 -- MSL 166 (19U 205) +`I 8295,24960 2 161228 -- MSL 167 (19U 204) +'O 22932,24960,300 2 161235 -- MSL 168 (19U 211) +`O 22932,24960,300 2 161234 -- MSL 169 (19U 210) +~O 22932,24783,300 2 161237 -- MSL 170 (19U 213) +~o 14637,18507,300 2 161269 -- MSL 171 (19U 245) +vS 13662,24960,300 2 161162 -- MSL 172 (19U 138) +vs 9270,19785,300 2 161178 -- MSL 173 (19U 154) +'U 20979,24960,300 2 161242 -- MSL 174 (19U 218) +:Y 17076,25020 2 161183 -- MSL 175 (19U 159) +:y 13173,19140,4365 3 161279 -- MSL 176 (19U 255) +TP 13662,20130 2 161246 -- MSL 177 (19U 222) +Tp 14637,20025,4365 3 161278 -- MSL 178 (19U 254) +mc 14637,12630,4350 1 161205 -- MSL 180 (19U 181) +ps 16587,19635,4200 3 161206 -- MSL 181 (19U 182) +34 24882,20430,300 2 161214 -- MSL 182 (19U 190) +\- 24882,9405 0 60096 -- MSL 183 ( 7J 192) +14 24882,20430,300 2 161212 -- MSL 184 (19U 188) +12 24882,20430,300 2 161213 -- MSL 185 (19U 189) +Of 10245,20430 2 161194 -- MSL 186 (19U 170) +Om 10245,20430 2 161210 -- MSL 187 (19U 186) +Fo 12198,12450 0 161195 -- MSL 188 (19U 171) +Fc 12198,12450 0 161211 -- MSL 190 (19U 187) +t+- 24882,15420,5175 1 161201 -- MSL 191 (19U 177) +bb 13173,19083,5916 3 161190 -- MSL 192 (19U 166) +co 13173,19635 2 161193 -- MSL 193 (19U 169) +tno 24882,12135 0 161196 -- MSL 194 (19U 172) +u00AD 8295,9795 0 161197 -- MSL 195 (19U 173) +rg 13173,19635 2 161198 -- MSL 196 (19U 174) +S2 10245,20340 2 161202 -- MSL 197 (19U 178) +S3 10245,20130 2 161203 -- MSL 198 (19U 179) +ac 16587,309,6006 1 161208 -- MSL 199 (19U 184) +S1 10245,20340 2 161209 -- MSL 200 (19U 185) +tmu 24882,15990,279 0 161239 -- MSL 201 (19U 215) +tdi 24882,15090 0 161271 -- MSL 202 (19U 247) +u203C 15126,20130,300 2 87315 -- MSL 221 (10U 19) +u20A7 22443,20130,300 2 60121 -- MSL 232 ( 7J 217) +pc 8295,12330 0 161207 -- MSL 302 (19U 183) +u013F 14148,20130 2 51943 -- MSL 306 ( 6J 231) +u0140 9759,20025 2 51959 -- MSL 307 ( 6J 247) +u2113 16587,18150,297 2 60122 -- MSL 308 ( 7J 218) +u0149 19515,20130 2 51951 -- MSL 309 ( 6J 239) +fm 8295,20130 2 60101 -- MSL 310 ( 7J 197) +sd 14148,20130 2 60102 -- MSL 311 ( 7J 198) +dg 16587,20130,4365 3 161158 -- MSL 312 (19U 134) +tm 16101,17850 0 161177 -- MSL 313 (19U 153) +u2017 13173,0,6588 1 60095 -- MSL 314 ( 7J 191) +ah 16587,19785 2 75169 -- MSL 315 ( 9E 161) +ao 16587,20160 2 60152 -- MSL 316 ( 7J 248) +f/ 3414,20430,300 2 60109 -- MSL 324 ( 7J 205) +em 24882,9525 0 161175 -- MSL 325 (19U 151) +en 16587,9525 0 161174 -- MSL 326 (19U 150) +dd 16587,20130,4365 3 161159 -- MSL 327 (19U 135) +.i 6342,14010 0 46333 -- MSL 328 ( 5T 253) +aq 8295,20130 2 161063 -- MSL 329 (19U 39) +bu 13173,14226 0 161173 -- MSL 331 (19U 149) +u207F 12198,20340 2 87548 -- MSL 332 (10U 252) +u0111 15126,20025,300 2 75248 -- MSL 342 ( 9E 240) +u0041_0306 20979,24900 2 75203 -- MSL 400 ( 9E 195) +u0061_0306 12198,19110,300 2 75235 -- MSL 401 ( 9E 227) +u0041_0328 20979,20430,6417 3 75173 -- MSL 404 ( 9E 165) +u0061_0328 12198,14310,6417 1 75193 -- MSL 405 ( 9E 185) +'C 18051,24960,300 2 75206 -- MSL 406 ( 9E 198) +'c 12198,19785,300 2 75238 -- MSL 407 ( 9E 230) +u0041_030C 18051,24960,300 2 75208 -- MSL 410 ( 9E 200) +u0061_030C 12198,19785,300 2 75240 -- MSL 411 ( 9E 232) +u0044_030C 18540,24960 2 75215 -- MSL 414 ( 9E 207) +u0064_030C 18051,20130,300 2 75247 -- MSL 415 ( 9E 239) +u0045_030C 14637,24960 2 75212 -- MSL 416 ( 9E 204) +u0065_030C 12684,19785,300 2 75244 -- MSL 417 ( 9E 236) +u0045_0328 14637,20130,6417 3 75210 -- MSL 422 ( 9E 202) +u0065_0328 12684,14310,6417 1 75242 -- MSL 423 ( 9E 234) +u004C_0301 14148,24960 2 75205 -- MSL 440 ( 9E 197) +u006C_0301 6342,24960 2 75237 -- MSL 441 ( 9E 229) +u004C_030C 14148,20130 2 75196 -- MSL 442 ( 9E 188) +u006C_030C 9759,20130 2 75198 -- MSL 443 ( 9E 190) +u004E_0301 21468,24960 2 75217 -- MSL 446 ( 9E 209) +u006E_0301 14148,19785 2 75249 -- MSL 447 ( 9E 241) +u004E_030C 21468,24960 2 75218 -- MSL 448 ( 9E 210) +u006E_030C 14148,19785 2 75250 -- MSL 449 ( 9E 242) +u004F_030B 22932,24960,300 2 75221 -- MSL 452 ( 9E 213) +u006F_030B 14637,19785,300 2 75253 -- MSL 453 ( 9E 245) +u0052_0301 16587,24960 2 75200 -- MSL 456 ( 9E 192) +u0072_0301 9759,19785 2 75232 -- MSL 457 ( 9E 224) +u0052_030C 16587,24960 2 75224 -- MSL 458 ( 9E 216) +u0072_030C 9759,19785 2 75256 -- MSL 459 ( 9E 248) +u0053_0301 13662,24960,300 2 75148 -- MSL 462 ( 9E 140) +u0073_0301 9270,19785,300 2 75164 -- MSL 463 ( 9E 156) +u0054_030C 16587,24960 2 75149 -- MSL 466 ( 9E 141) +u0074_030C 10245,20130,300 2 75165 -- MSL 467 ( 9E 157) +u0054_0327 16587,20130,6330 3 75230 -- MSL 468 ( 9E 222) +u0074_0327 8781,16950,6006 1 75262 -- MSL 469 ( 9E 254) +u0055_030B 20979,24960,300 2 75227 -- MSL 474 ( 9E 219) +u0075_030B 14148,19785,300 2 75259 -- MSL 475 ( 9E 251) +u0055_030A 20979,26154,300 2 75225 -- MSL 476 ( 9E 217) +u0075_030A 14148,20160,300 2 75257 -- MSL 477 ( 9E 249) +u005A_0301 16101,24960 2 75151 -- MSL 482 ( 9E 143) +u007A_0301 10245,19785 2 75167 -- MSL 483 ( 9E 159) +u005A_0307 16101,25020 2 75183 -- MSL 484 ( 9E 175) +u007A_0307 10245,19140 2 75199 -- MSL 485 ( 9E 191) +u2070 10245,20340 2 51753 -- MSL 1000 ( 6J 41) +u2074 10245,20130 2 51748 -- MSL 1001 ( 6J 36) +u2075 10245,20130 2 51749 -- MSL 1002 ( 6J 37) +u2076 10245,20130 2 51806 -- MSL 1003 ( 6J 94) +u2077 10245,20130 2 51750 -- MSL 1004 ( 6J 38) +u2078 10245,20340 2 51754 -- MSL 1005 ( 6J 42) +u2079 10245,20340 2 51752 -- MSL 1006 ( 6J 40) +lq 14148,20130 2 161171 -- MSL 1017 (19U 147) +rq 14148,20130 2 161172 -- MSL 1018 (19U 148) +Bq 14148,3900,5100 1 161156 -- MSL 1019 (19U 132) +u2003 24882,0 0 51821 -- MSL 1020 ( 6J 109) +u2002 16587,0 0 51822 -- MSL 1021 ( 6J 110) +u2009 8295,0 0 51828 -- MSL 1023 ( 6J 116) +u2026 24882,3630,300 0 161157 -- MSL 1028 (19U 133) +vz 10245,19785 2 75166 -- MSL 1031 ( 9E 158) +u2120 16101,18000 0 128299 -- MSL 1034 (15U 43) +u211E 20004,18315,4056 3 51794 -- MSL 1036 ( 6J 82) +fi 14148,20130 2 60077 -- MSL 1040 ( 7J 173) +fl 14148,20130 2 60078 -- MSL 1041 ( 7J 174) +ff 15612,20130 2 51883 -- MSL 1042 ( 6J 171) +Fi 21468,20130 2 51884 -- MSL 1043 ( 6J 172) +Fl 21468,20130 2 51885 -- MSL 1044 ( 6J 173) +ij 12684,19815,4365 3 60134 -- MSL 1047 ( 7J 230) +u2105 26346,20430,300 2 60072 -- MSL 1060 ( 7J 168) +u0047_0306 20490,24900,300 2 46288 -- MSL 1061 ( 5T 208) +u0067_0306 12684,19110,4479 3 46320 -- MSL 1062 ( 5T 240) +u0053_0327 13662,20430,6330 3 75178 -- MSL 1063 ( 9E 170) +u0073_0327 9270,14310,6006 1 75194 -- MSL 1064 ( 9E 186) +u0049_0307 8295,25020 2 46301 -- MSL 1065 ( 5T 221) +bq 8295,3900,5100 1 161154 -- MSL 1067 (19U 130) +%0 33177,20430,300 2 161161 -- MSL 1068 (19U 137) +a- 16587,18603 2 60154 -- MSL 1084 ( 7J 250) +ab 16587,19110 2 75170 -- MSL 1086 ( 9E 162) +a. 16587,19140 2 75263 -- MSL 1088 ( 9E 255) +oe 22443,14310,300 0 161180 -- MSL 1090 (19U 156) +OE 26346,20430,300 2 161164 -- MSL 1091 (19U 140) +fo 6831,12450 0 161163 -- MSL 1092 (19U 139) +fc 6831,12450 0 161179 -- MSL 1093 (19U 155) +sq 19029,15624 0 60091 -- MSL 1094 ( 7J 187) +/L 16101,20130 2 75171 -- MSL 1095 ( 9E 163) +/l 9270,20025 2 75187 -- MSL 1096 ( 9E 179) +a" 16587,19785 2 75197 -- MSL 1097 ( 9E 189) +ho 16587,297,6417 1 75186 -- MSL 1098 ( 9E 178) +vZ 16101,24960 2 75150 -- MSL 1106 ( 9E 142) +IJ 18051,20130,4488 3 60135 -- MSL 1107 ( 7J 231) diff -ruN groff-1.19/font/devlj4/AOB groff-1.19.1/font/devlj4/AOB --- groff-1.19/font/devlj4/AOB Tue Feb 25 06:38:55 2003 +++ groff-1.19.1/font/devlj4/AOB Wed Feb 18 10:01:17 2004 @@ -1,3 +1,4 @@ +# AntiqueOlv Bd name AOB spacewidth 8781 pcltypeface 4168 @@ -6,644 +7,714 @@ 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 cq -486 -A ' -486 -Y hy -975 -Y - -975 -Y en -975 -Y em -975 -V hy -486 -V - -486 -V en -486 -V em -486 -W hy -486 -W - -486 -W en -486 -W em -486 -X hy -486 -X - -486 -X en -486 -X em -486 -A hy -486 -A - -486 -A en -486 -A em -486 -K hy -486 -K - -486 -K en -486 -K em -486 -hy X -486 -- X -486 -hy A -486 -- A -486 -en X -486 -en A -486 -em X -486 +L V -1460 +P . -5363 +P , -5363 +V A -1949 +A V -1949 +T o -2438 +T c -1949 +T e -1949 +T d -1949 +T s -1460 +T a -1949 +T J -2924 +L T -2924 +L Y -3413 +Y o -3413 +Y e -2924 +Y a -2924 +Y J -2924 +A W -1460 +W A -1460 +T A -2438 +V o -1460 +V e -1460 +V a -1460 +Y A -2924 +F A -485 +F . -3902 +F , -3902 +A T -2438 +A Y -2924 +v . -2924 +v , -2924 +y . -3413 +y , -3413 +T . -3413 +T , -3413 +L W -974 +P A -974 +V J -2924 +V . -3413 +V , -3413 +Y . -3902 +Y , -3902 +W o -974 +W e -974 +W a -974 +W . -2438 +W , -2438 +r . -3413 +r , -3413 +w . -2924 +w , -2924 +Y u -974 +A v -1460 +A y -1460 +A w -1460 +o . -2438 +o , -2438 +p . -1949 +p , -1949 +e . -1460 +e , -1460 +b . -2438 +b , -2438 +O T -485 +O V -974 +O Y -1460 +O . -1949 +O , -1949 +L y -974 +P J -2924 +V y -485 +V u -485 +V O -974 +V G -974 +V C -974 +V Q -974 +D T -485 +D V -974 +D Y -1460 +D . -1949 +D , -1949 +Y O -1460 +Y G -1460 +Y C -1460 +Y Q -1460 +c . -1460 +c , -1460 +O A -485 +O W -974 +R V -485 +R Y -974 +R W -485 +G T -485 +P o -485 +P g -485 +P e -485 +P a -485 +C . -485 +C , -485 +D A -485 +D W -974 +B Y -974 +B . -1460 +B , -1460 +F J -2924 +A O -485 +A G -485 +A C -485 +A U -485 +A Q -485 +W r -485 +W y -485 +W u -485 +W O -974 +W G -974 +W C -974 +W J -1949 +W Q -974 +J A -485 +J . -1949 +J , -1949 +U A -485 +U . -1949 +U , -1949 +Q A -485 +Q W -974 +f . -1460 +f , -1460 +T O -485 +T G -485 +T C -485 +T Q -485 +O X -485 +G V -974 +G Y -1460 +G W -974 +G . -1949 +G , -1949 +P V -485 +P Y -974 +C V -485 +C Y -974 +D X -485 +B V -485 +B X -485 +B A -485 +B W -485 +S . -1460 +S , -1460 +X o -485 +X e -485 +X y -485 +X O -485 +X G -485 +X C -485 +X Q -485 +A o -485 +A e -485 +Q X -485 +K o -485 +K e -485 +K y -485 +K w -485 +K O -485 +K G -485 +K C -485 +K Q -485 +o v -974 +o y -974 +o x -485 +o w -974 +h v -974 +h y -974 +n v -974 +n y -974 +m v -974 +m y -974 +g . -485 +g , -485 +p v -974 +p y -974 +p x -485 +c v -974 +c y -974 +c w -974 +v o -974 +v g -974 +v c -974 +v d -974 +v a -974 +v q -974 +e v -974 +e y -974 +b v -974 +b y -974 +b w -974 +s . -974 +s , -974 +y o -974 +y g -974 +y c -974 +y d -974 +y a -974 +y q -974 +x o -485 +x g -485 +x c -485 +x e -485 +x d -485 +x a -485 +x q -485 +a v -974 +a y -974 +a w -974 +w o -974 +w g -974 +w c -974 +w d -974 +w a -974 +w q -974 +R o -1460 +R O -485 +R G -485 +R C -485 +R Q -485 +G X -485 +G A -485 +P s -485 +P X -485 +P W -485 +C W -485 +V S -485 +S V -485 +S Y -974 +S X -485 +S A -485 +S W -485 +Y S -974 +X a -485 +X u -485 +X S -485 +A t -485 +A g -485 +A c -485 +A d -485 +A a -485 +A u -485 +A q -485 +A S -485 +W S -485 +K c -485 +K u -485 +K S -485 +t . -485 +t , -485 +h w -974 +h . -485 +h , -485 +n w -974 +n . -485 +n , -485 +m w -974 +m . -485 +m , -485 +l . -485 +l , -485 +i . -485 +i , -485 +p w -974 +c x -485 +v e -974 +v s -974 +e x -485 +e w -974 +z . -485 +z , -485 +d . -485 +d , -485 +s v -974 +s y -974 +s x -485 +s w -974 +y e -974 +y s -974 +x s -485 +x . -485 +x , -485 +a . -485 +a , -485 +w e -974 +w s -974 +j . -485 +j , -485 +u . -485 +k o -485 +k g -485 +k c -485 +k e -485 +k d -485 +k a -485 +k q -485 +k . -485 +k , -485 +O Z -485 +O J -1460 +H . -485 +H , -485 +N . -485 +N , -485 +M . -485 +M , -485 +L . -485 +L , -485 +R e -1460 +R a -974 +R . -485 +R , -485 +G Z -485 +I . -485 +I , -485 +P O -485 +P G -485 +P C -485 +P Q -485 +E . -485 +E , -485 +Z o -1949 +Z e -1949 +Z d -1949 +Z s -485 +Z a -974 +Z O -485 +Z G -485 +Z C -485 +Z Q -485 +Z . -485 +Z , -485 +D Z -485 +D J -1460 +B J -974 +S J -974 +X . -485 +X , -485 +A s -485 +A . -485 +A , -485 +J J -1460 +U J -1460 +K a -485 +K . -485 +K , -485 +k s -485 +G J -1460 +A f -485 +A cq -485 +A ' -485 +Y hy -974 +Y - -974 +Y en -974 +Y em -974 +V hy -485 +V - -485 +V en -485 +V em -485 +W hy -485 +W - -485 +W en -485 +W em -485 +X hy -485 +X - -485 +X en -485 +X em -485 +A hy -485 +A - -485 +A en -485 +A em -485 +K hy -485 +K - -485 +K en -485 +K em -485 +hy X -485 +- X -485 +hy A -485 +- A -485 +en X -485 +en A -485 +em X -485 charset -! 9759,20205,450 2 3617 -dq 12198,19755 2 3618 +! 9759,20205,450 2 161057 -- MSL 1 (19U 33) +dq 12198,19755 2 161058 -- MSL 2 (19U 34) " " -sh 17565,20730,3630 3 3619 +sh 17565,20730,3630 3 161059 -- MSL 3 (19U 35) # " -Do 17565,22980,3855 3 3620 +Do 17565,22980,3855 3 161060 -- MSL 4 (19U 36) $ " -% 30249,20505,450 2 3621 -& 21468,20205,450 2 3622 -cq 6831,19755 2 51751 +% 30249,20505,450 2 161061 -- MSL 5 (19U 37) +& 21468,20205,450 2 161062 -- MSL 6 (19U 38) +cq 6831,19755 2 161170 -- MSL 8 (19U 146) ' " -( 8781,19755 2 3624 -) 8781,19755 2 3625 -* 17565,20205 2 3626 -+ 30249,15450,600 0 3627 -, 8781,4080,4710 1 3628 -hy 8781,10965 0 3629 +( 8781,19755 2 161064 -- MSL 9 (19U 40) +) 8781,19755 2 161065 -- MSL 10 (19U 41) +* 17565,20205 2 161066 -- MSL 11 (19U 42) ++ 30249,15450,600 0 161067 -- MSL 12 (19U 43) +, 8781,4080,4710 1 161068 -- MSL 13 (19U 44) +hy 8781,10965 0 161069 -- MSL 14 (19U 45) - " -. 8781,4170,450 0 3630 -sl 10734,20820,450 2 3631 +. 8781,4170,450 0 161070 -- MSL 15 (19U 46) +sl 10734,20820,450 2 161071 -- MSL 16 (19U 47) / " -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 +0 17565,20505,450 2 161072 -- MSL 17 (19U 48) +1 17565,20055 2 161073 -- MSL 18 (19U 49) +2 17565,20505 2 161074 -- MSL 19 (19U 50) +3 17565,20055,450 2 161075 -- MSL 20 (19U 51) +4 17565,20055 2 161076 -- MSL 21 (19U 52) +5 17565,20055,450 2 161077 -- MSL 22 (19U 53) +6 17565,20505,450 2 161078 -- MSL 23 (19U 54) +7 17565,20055 2 161079 -- MSL 24 (19U 55) +8 17565,20505,450 2 161080 -- MSL 25 (19U 56) +9 17565,20505,450 2 161081 -- MSL 26 (19U 57) +: 8781,15783,450 0 161082 -- MSL 27 (19U 58) +; 8781,15783,4710 1 161083 -- MSL 28 (19U 59) +< 26346,16068 0 161084 -- MSL 29 (19U 60) += 30249,12984 0 161085 -- MSL 30 (19U 61) +> 26346,16068 0 161086 -- MSL 31 (19U 62) +? 16101,20205,450 2 161087 -- MSL 32 (19U 63) +at 30249,21057,2679 2 161088 -- MSL 33 (19U 64) @ " -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 +A 20004,19755 2 161089 -- MSL 34 (19U 65) +B 18051,19755 2 161090 -- MSL 35 (19U 66) +C 17076,20205,450 2 161091 -- MSL 36 (19U 67) +D 19515,19755 2 161092 -- MSL 37 (19U 68) +E 16101,19755 2 161093 -- MSL 38 (19U 69) +F 16101,19755 2 161094 -- MSL 39 (19U 70) +G 18540,20205,450 2 161095 -- MSL 40 (19U 71) +H 19515,19755 2 161096 -- MSL 41 (19U 72) +I 8295,19755 2 161097 -- MSL 42 (19U 73) +J 13662,19755,450 2 161098 -- MSL 43 (19U 74) +K 18540,19755 2 161099 -- MSL 44 (19U 75) +L 14637,19755 2 161100 -- MSL 45 (19U 76) +M 24396,19755 2 161101 -- MSL 46 (19U 77) +N 20004,19755 2 161102 -- MSL 47 (19U 78) +O 20004,20205,450 2 161103 -- MSL 48 (19U 79) +P 18540,19755 2 161104 -- MSL 49 (19U 80) +Q 20004,20205,3075 2 161105 -- MSL 50 (19U 81) +R 18051,19755 2 161106 -- MSL 51 (19U 82) +S 15612,20205,450 2 161107 -- MSL 52 (19U 83) +T 17076,19755 2 161108 -- MSL 53 (19U 84) +U 19029,19755,450 2 161109 -- MSL 54 (19U 85) +V 19029,19755 2 161110 -- MSL 55 (19U 86) +W 27321,19755 2 161111 -- MSL 56 (19U 87) +X 19029,19755 2 161112 -- MSL 57 (19U 88) +Y 19029,19755 2 161113 -- MSL 58 (19U 89) +Z 17565,19755 2 161114 -- MSL 59 (19U 90) +lB 8781,19755 2 161115 -- MSL 60 (19U 91) [ " -rs 10734,20820,450 2 3676 +rs 10734,20820,450 2 161116 -- MSL 61 (19U 92) \ " -rB 8781,19755 2 3677 +rB 8781,19755 2 161117 -- MSL 62 (19U 93) ] " -ha 13173,19758 2 51875 -_ 13173,0,6588 1 3679 -oq 6831,19755 2 51808 +ha 13173,19758 2 161118 -- MSL 63 (19U 94) +_ 13173,0,6588 1 161119 -- MSL 64 (19U 95) +oq 6831,19755 2 161169 -- MSL 66 (19U 145) ` " -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 -`A 20004,24930 2 3776 -^A 20004,24930 2 3778 -`E 16101,24930 2 3784 -^E 16101,24930 2 3786 -:E 16101,25050 2 3787 -^I 8295,24930 2 3790 -:I 8295,25050 2 3791 -aa 17565,22125 2 3764 -ga 17565,22125 2 3680 -a^ 17565,22125 2 3678 +a 17076,17205,450 0 161121 -- MSL 67 (19U 97) +b 19029,20820,450 2 161122 -- MSL 68 (19U 98) +c 15612,17205,450 0 161123 -- MSL 69 (19U 99) +d 19029,20820,450 2 161124 -- MSL 70 (19U 100) +e 17565,17205,450 0 161125 -- MSL 71 (19U 101) +f 13662,20820 2 161126 -- MSL 72 (19U 102) +g 19029,17205,3930 1 161127 -- MSL 73 (19U 103) +h 19029,20820 2 161128 -- MSL 74 (19U 104) +i 8781,21855 2 161129 -- MSL 75 (19U 105) +j 8781,21855,3930 3 161130 -- MSL 76 (19U 106) +k 17076,20820 2 161131 -- MSL 77 (19U 107) +l 8295,20820 2 161132 -- MSL 78 (19U 108) +m 27810,17205 0 161133 -- MSL 79 (19U 109) +n 19029,17205 0 161134 -- MSL 80 (19U 110) +o 18540,17205,450 0 161135 -- MSL 81 (19U 111) +p 19029,17205,3930 1 161136 -- MSL 82 (19U 112) +q 19029,17205,3930 1 161137 -- MSL 83 (19U 113) +r 13662,17205 0 161138 -- MSL 84 (19U 114) +s 14637,17205,450 0 161139 -- MSL 85 (19U 115) +t 14148,20970,450 2 161140 -- MSL 86 (19U 116) +u 18540,16755,450 0 161141 -- MSL 87 (19U 117) +v 17565,16755 0 161142 -- MSL 88 (19U 118) +w 26346,16755 0 161143 -- MSL 89 (19U 119) +x 17565,16755 0 161144 -- MSL 90 (19U 120) +y 17565,16755,3930 1 161145 -- MSL 91 (19U 121) +z 15126,16755 0 161146 -- MSL 92 (19U 122) +{ 13173,20130,6075 3 161147 -- MSL 93 (19U 123) +lC " +| 13173,19758,6588 3 161148 -- MSL 94 (19U 124) +ba " +} 13173,20130,6075 3 161149 -- MSL 95 (19U 125) +rC " +ti 26346,9435 0 161150 -- MSL 96 (19U 126) +`A 20004,24930 2 161216 -- MSL 99 (19U 192) +^A 20004,24930 2 161218 -- MSL 100 (19U 194) +`E 16101,24930 2 161224 -- MSL 101 (19U 200) +^E 16101,24930 2 161226 -- MSL 102 (19U 202) +:E 16101,25050 2 161227 -- MSL 103 (19U 203) +^I 8295,24930 2 161230 -- MSL 104 (19U 206) +:I 8295,25050 2 161231 -- MSL 105 (19U 207) +aa 17565,22125 2 161204 -- MSL 106 (19U 180) +ga 17565,22125 2 161120 -- MSL 107 (19U 96) +a^ 17565,22125 2 161160 -- MSL 108 (19U 136) ^ " -ad 17565,22125 2 3752 -a~ 17565,22521 2 3710 -~ " -`U 19029,24930,450 2 3801 -^U 19029,24930,450 2 3803 -'Y 19029,24930 2 3805 -'y 17565,22125,3930 3 3837 -de 17565,20505 2 3760 -,C 17076,20205,5988 3 3783 -,c 15612,17205,5988 1 3815 -~N 20004,25161 2 3793 -~n 19029,22521 2 3825 -r! 9759,17115,3540 1 3745 -r? 16101,17106,3549 1 3775 -Cs 17565,15834 0 3748 -Po 17565,20505 2 3747 -Ye 17565,20055 2 3749 -sc 17565,20205,3930 3 3751 -Fn 17565,20820 2 51871 -ct 17565,21603,1890 2 3746 -^a 17076,22125,450 2 3810 -^e 17565,22125,450 2 3818 -^o 18540,22125,450 2 3828 -^u 18540,22125,450 2 3835 -'a 17076,22125,450 2 3809 -'e 17565,22125,450 2 3817 -'o 18540,22125,450 2 3827 -'u 18540,22125,450 2 3834 -`a 17076,22125,450 2 3808 -`e 17565,22125,450 2 3816 -`o 18540,22125,450 2 3826 -`u 18540,22125,450 2 3833 -:a 17076,22125,450 2 3812 -:e 17565,22125,450 2 3819 -:o 18540,22125,450 2 3830 -:u 18540,22125,450 2 3836 -oA 20004,27354 2 3781 -^i 8781,22125 2 3822 -/O 20004,20205,450 2 3800 -AE 30249,19755 2 3782 -oa 17076,24825,450 2 3813 -'i 8781,22125 2 3821 -/o 18540,17205,450 0 3832 -ae 27321,17205,450 0 3814 -:A 20004,25050 2 3780 -`i 8781,22125 2 3820 -:O 20004,25050,450 2 3798 -:U 19029,25050,450 2 3804 -'E 16101,24930 2 3785 -:i 8781,22125 2 3823 -ss 18540,20820,450 2 3807 -^O 20004,24930,450 2 3796 -'A 20004,24930 2 3777 -~A 20004,25161 2 3779 -~a 17076,22521,450 2 3811 --D 19515,19755 2 3792 -Sd 18540,21666,450 2 3824 -'I 8295,24930 2 3789 -`I 8295,24930 2 3788 -'O 20004,24930,450 2 3795 -`O 20004,24930,450 2 3794 -~O 20004,25161,450 2 3797 -~o 18540,22521,450 2 3829 -vS 15612,24930,450 2 51795 -vs 14637,22125,450 2 51827 -'U 19029,24930,450 2 3802 -:Y 19029,25050 2 51801 -:y 17565,22125,3930 3 3839 -TP 18540,19755 2 3806 -Tp 19029,20820,3930 3 3838 -mc 15612,12630,4680 1 3765 -ps 17565,19635,4200 1 3766 -34 30249,20610,555 2 3774 -\- 30249,9375 0 51757 -14 30249,20610,555 2 3772 -12 30249,20610,555 2 3773 -Of 14637,20505 2 3754 -Om 14637,20505 2 3770 -Fo 15612,14025 0 3755 -Fc 15612,14025 0 3771 -t+- 30249,15450,5895 1 3761 -bb 13173,19083,5916 1 3750 -co 13173,19635 0 3753 -tno 30249,11274 0 3756 -rg 13173,19635 0 3758 -S2 11709,20385 2 3762 -S3 11709,20055 2 3763 -ac 17565,507,5988 1 3768 -S1 11709,20055 2 3769 -tmu 30249,15225,585 0 3799 -tdi 30249,15885,1035 0 3831 -pc 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 -a- 17565,21675 2 3759 -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 +ad 17565,22125 2 161192 -- MSL 109 (19U 168) +~ 17565,22521 2 161176 -- MSL 110 (19U 152) +a~ " +`U 19029,24930,450 2 161241 -- MSL 111 (19U 217) +^U 19029,24930,450 2 161243 -- MSL 112 (19U 219) +u00AF 13173,21105 2 161199 -- MSL 113 (19U 175) +'Y 19029,24930 2 161245 -- MSL 114 (19U 221) +'y 17565,22125,3930 3 161277 -- MSL 115 (19U 253) +de 17565,20505 2 161200 -- MSL 116 (19U 176) +,C 17076,20205,5988 3 161223 -- MSL 117 (19U 199) +,c 15612,17205,5988 1 161255 -- MSL 118 (19U 231) +~N 20004,25161 2 161233 -- MSL 119 (19U 209) +~n 19029,22521 2 161265 -- MSL 120 (19U 241) +r! 9759,17115,3540 1 161185 -- MSL 121 (19U 161) +r? 16101,17106,3549 1 161215 -- MSL 122 (19U 191) +Cs 17565,15834 0 161188 -- MSL 123 (19U 164) +Po 17565,20505 2 161187 -- MSL 124 (19U 163) +Ye 17565,20055 2 161189 -- MSL 125 (19U 165) +sc 17565,20205,3930 3 161191 -- MSL 126 (19U 167) +Fn 17565,20820 2 161155 -- MSL 127 (19U 131) +ct 17565,21603,1890 2 161186 -- MSL 128 (19U 162) +^a 17076,22125,450 2 161250 -- MSL 129 (19U 226) +^e 17565,22125,450 2 161258 -- MSL 130 (19U 234) +^o 18540,22125,450 2 161268 -- MSL 131 (19U 244) +^u 18540,22125,450 2 161275 -- MSL 132 (19U 251) +'a 17076,22125,450 2 161249 -- MSL 133 (19U 225) +'e 17565,22125,450 2 161257 -- MSL 134 (19U 233) +'o 18540,22125,450 2 161267 -- MSL 135 (19U 243) +'u 18540,22125,450 2 161274 -- MSL 136 (19U 250) +`a 17076,22125,450 2 161248 -- MSL 137 (19U 224) +`e 17565,22125,450 2 161256 -- MSL 138 (19U 232) +`o 18540,22125,450 2 161266 -- MSL 139 (19U 242) +`u 18540,22125,450 2 161273 -- MSL 140 (19U 249) +:a 17076,22125,450 2 161252 -- MSL 141 (19U 228) +:e 17565,22125,450 2 161259 -- MSL 142 (19U 235) +:o 18540,22125,450 2 161270 -- MSL 143 (19U 246) +:u 18540,22125,450 2 161276 -- MSL 144 (19U 252) +oA 20004,27354 2 161221 -- MSL 145 (19U 197) +^i 8781,22125 2 161262 -- MSL 146 (19U 238) +/O 20004,20205,450 2 161240 -- MSL 147 (19U 216) +AE 30249,19755 2 161222 -- MSL 148 (19U 198) +oa 17076,24825,450 2 161253 -- MSL 149 (19U 229) +'i 8781,22125 2 161261 -- MSL 150 (19U 237) +/o 18540,17205,450 0 161272 -- MSL 151 (19U 248) +ae 27321,17205,450 0 161254 -- MSL 152 (19U 230) +:A 20004,25050 2 161220 -- MSL 153 (19U 196) +`i 8781,22125 2 161260 -- MSL 154 (19U 236) +:O 20004,25050,450 2 161238 -- MSL 155 (19U 214) +:U 19029,25050,450 2 161244 -- MSL 156 (19U 220) +'E 16101,24930 2 161225 -- MSL 157 (19U 201) +:i 8781,22125 2 161263 -- MSL 158 (19U 239) +ss 18540,20820,450 2 161247 -- MSL 159 (19U 223) +^O 20004,24930,450 2 161236 -- MSL 160 (19U 212) +'A 20004,24930 2 161217 -- MSL 161 (19U 193) +~A 20004,25161 2 161219 -- MSL 162 (19U 195) +~a 17076,22521,450 2 161251 -- MSL 163 (19U 227) +-D 19515,19755 2 161232 -- MSL 164 (19U 208) +Sd 18540,21666,450 2 161264 -- MSL 165 (19U 240) +'I 8295,24930 2 161229 -- MSL 166 (19U 205) +`I 8295,24930 2 161228 -- MSL 167 (19U 204) +'O 20004,24930,450 2 161235 -- MSL 168 (19U 211) +`O 20004,24930,450 2 161234 -- MSL 169 (19U 210) +~O 20004,25161,450 2 161237 -- MSL 170 (19U 213) +~o 18540,22521,450 2 161269 -- MSL 171 (19U 245) +vS 15612,24930,450 2 161162 -- MSL 172 (19U 138) +vs 14637,22125,450 2 161178 -- MSL 173 (19U 154) +'U 19029,24930,450 2 161242 -- MSL 174 (19U 218) +:Y 19029,25050 2 161183 -- MSL 175 (19U 159) +:y 17565,22125,3930 3 161279 -- MSL 176 (19U 255) +TP 18540,19755 2 161246 -- MSL 177 (19U 222) +Tp 19029,20820,3930 3 161278 -- MSL 178 (19U 254) +mc 15612,12630,4680 1 161205 -- MSL 180 (19U 181) +ps 17565,19635,4200 1 161206 -- MSL 181 (19U 182) +34 30249,20610,555 2 161214 -- MSL 182 (19U 190) +\- 30249,9375 0 60096 -- MSL 183 ( 7J 192) +14 30249,20610,555 2 161212 -- MSL 184 (19U 188) +12 30249,20610,555 2 161213 -- MSL 185 (19U 189) +Of 14637,20505 2 161194 -- MSL 186 (19U 170) +Om 14637,20505 2 161210 -- MSL 187 (19U 186) +Fo 15612,14025 0 161195 -- MSL 188 (19U 171) +Fc 15612,14025 0 161211 -- MSL 190 (19U 187) +t+- 30249,15450,5895 1 161201 -- MSL 191 (19U 177) +bb 13173,19083,5916 1 161190 -- MSL 192 (19U 166) +co 13173,19635 0 161193 -- MSL 193 (19U 169) +tno 30249,11274 0 161196 -- MSL 194 (19U 172) +u00AD 8781,10965 0 161197 -- MSL 195 (19U 173) +rg 13173,19635 0 161198 -- MSL 196 (19U 174) +S2 11709,20385 2 161202 -- MSL 197 (19U 178) +S3 11709,20055 2 161203 -- MSL 198 (19U 179) +ac 17565,507,5988 1 161208 -- MSL 199 (19U 184) +S1 11709,20055 2 161209 -- MSL 200 (19U 185) +tmu 30249,15225,585 0 161239 -- MSL 201 (19U 215) +tdi 30249,15885,1035 0 161271 -- MSL 202 (19U 247) +u203C 18051,20205,450 2 87315 -- MSL 221 (10U 19) +u20A7 32688,20970,450 2 60121 -- MSL 232 ( 7J 217) +pc 8781,12759 0 161207 -- MSL 302 (19U 183) +u013F 14637,19755 2 51943 -- MSL 306 ( 6J 231) +u0140 14148,20820 2 51959 -- MSL 307 ( 6J 247) +u2113 17565,18045,765 0 60122 -- MSL 308 ( 7J 218) +u0149 24882,19755 2 51951 -- MSL 309 ( 6J 239) +fm 8781,20055 2 60101 -- MSL 310 ( 7J 197) +sd 17565,20055 2 60102 -- MSL 311 ( 7J 198) +dg 17565,20205,4095 3 161158 -- MSL 312 (19U 134) +tm 16101,17850 0 161177 -- MSL 313 (19U 153) +u2017 13173,0,6588 1 60095 -- MSL 314 ( 7J 191) +ah 17565,22125 2 75169 -- MSL 315 ( 9E 161) +ao 17565,24825 2 60152 -- MSL 316 ( 7J 248) +f/ 5367,20610,555 2 60109 -- MSL 324 ( 7J 205) +em 30249,10440 0 161175 -- MSL 325 (19U 151) +en 17565,10440 0 161174 -- MSL 326 (19U 150) +dd 17565,20205,4095 3 161159 -- MSL 327 (19U 135) +.i 8781,16755 0 46333 -- MSL 328 ( 5T 253) +aq 6831,19755 2 161063 -- MSL 329 (19U 39) +bu 13173,14226 0 161173 -- MSL 331 (19U 149) +u207F 13662,20385 2 87548 -- MSL 332 (10U 252) +u0111 19029,20820,450 2 75248 -- MSL 342 ( 9E 240) +u0041_0306 20004,25005 2 75203 -- MSL 400 ( 9E 195) +u0061_0306 17076,22200,450 2 75235 -- MSL 401 ( 9E 227) +u0041_0328 20004,19755,4155 3 75173 -- MSL 404 ( 9E 165) +u0061_0328 17076,17205,4155 1 75193 -- MSL 405 ( 9E 185) +'C 17076,24930,450 2 75206 -- MSL 406 ( 9E 198) +'c 15612,22125,450 2 75238 -- MSL 407 ( 9E 230) +u0041_030C 17076,24930,450 2 75208 -- MSL 410 ( 9E 200) +u0061_030C 15612,22125,450 2 75240 -- MSL 411 ( 9E 232) +u0044_030C 19515,24930 2 75215 -- MSL 414 ( 9E 207) +u0064_030C 22443,22290,450 2 75247 -- MSL 415 ( 9E 239) +u0045_030C 16101,24930 2 75212 -- MSL 416 ( 9E 204) +u0065_030C 17565,22125,450 2 75244 -- MSL 417 ( 9E 236) +u0045_0328 16101,19755,4155 3 75210 -- MSL 422 ( 9E 202) +u0065_0328 17565,17205,4155 1 75242 -- MSL 423 ( 9E 234) +u004C_0301 14637,24930 2 75205 -- MSL 440 ( 9E 197) +u006C_0301 8295,25530 2 75237 -- MSL 441 ( 9E 229) +u004C_030C 14637,19755 2 75196 -- MSL 442 ( 9E 188) +u006C_030C 11709,22290 2 75198 -- MSL 443 ( 9E 190) +u004E_0301 20004,24930 2 75217 -- MSL 446 ( 9E 209) +u006E_0301 19029,22125 2 75249 -- MSL 447 ( 9E 241) +u004E_030C 20004,24930 2 75218 -- MSL 448 ( 9E 210) +u006E_030C 19029,22125 2 75250 -- MSL 449 ( 9E 242) +u004F_030B 20004,24930,450 2 75221 -- MSL 452 ( 9E 213) +u006F_030B 18540,22125,450 2 75253 -- MSL 453 ( 9E 245) +u0052_0301 18051,24930 2 75200 -- MSL 456 ( 9E 192) +u0072_0301 13662,22125 2 75232 -- MSL 457 ( 9E 224) +u0052_030C 18051,24930 2 75224 -- MSL 458 ( 9E 216) +u0072_030C 13662,22125 2 75256 -- MSL 459 ( 9E 248) +u0053_0301 15612,24930,450 2 75148 -- MSL 462 ( 9E 140) +u0073_0301 14637,22125,450 2 75164 -- MSL 463 ( 9E 156) +u0054_030C 17076,24930 2 75149 -- MSL 466 ( 9E 141) +u0074_030C 14148,22290,450 2 75165 -- MSL 467 ( 9E 157) +u0054_0327 17076,19755,5988 3 75230 -- MSL 468 ( 9E 222) +u0074_0327 14148,20970,5988 3 75262 -- MSL 469 ( 9E 254) +u0055_030B 19029,24930,450 2 75227 -- MSL 474 ( 9E 219) +u0075_030B 18540,22125,450 2 75259 -- MSL 475 ( 9E 251) +u0055_030A 19029,27354,450 2 75225 -- MSL 476 ( 9E 217) +u0075_030A 18540,24825,450 2 75257 -- MSL 477 ( 9E 249) +u005A_0301 17565,24930 2 75151 -- MSL 482 ( 9E 143) +u007A_0301 15126,22125 2 75167 -- MSL 483 ( 9E 159) +u005A_0307 17565,25515 2 75183 -- MSL 484 ( 9E 175) +u007A_0307 15126,22590 2 75199 -- MSL 485 ( 9E 191) +u2070 11709,20385 2 51753 -- MSL 1000 ( 6J 41) +u2074 11709,20055 2 51748 -- MSL 1001 ( 6J 36) +u2075 11709,20055 2 51749 -- MSL 1002 ( 6J 37) +u2076 11709,20385 2 51806 -- MSL 1003 ( 6J 94) +u2077 11709,20055 2 51750 -- MSL 1004 ( 6J 38) +u2078 11709,20385 2 51754 -- MSL 1005 ( 6J 42) +u2079 11709,20385 2 51752 -- MSL 1006 ( 6J 40) +lq 11220,19755 2 161171 -- MSL 1017 (19U 147) +rq 11220,19755 2 161172 -- MSL 1018 (19U 148) +Bq 11220,4038,3672 1 161156 -- MSL 1019 (19U 132) +u2003 30249,0 0 51821 -- MSL 1020 ( 6J 109) +u2002 17565,0 0 51822 -- MSL 1021 ( 6J 110) +u2009 8781,0 0 51828 -- MSL 1023 ( 6J 116) +u2026 30249,3975 0 161157 -- MSL 1028 (19U 133) +vz 15126,22125 2 75166 -- MSL 1031 ( 9E 158) +u2120 16101,18000 0 128299 -- MSL 1034 (15U 43) +u211E 20004,18315,4056 1 51794 -- MSL 1036 ( 6J 82) +fi 21954,21855 2 60077 -- MSL 1040 ( 7J 173) +fl 21954,20820 2 60078 -- MSL 1041 ( 7J 174) +ff 25371,20820 2 51883 -- MSL 1042 ( 6J 171) +Fi 33177,21855 2 51884 -- MSL 1043 ( 6J 172) +Fl 33177,20820 2 51885 -- MSL 1044 ( 6J 173) +ij 17565,21855,3930 3 60134 -- MSL 1047 ( 7J 230) +u2105 30249,20385,330 2 60072 -- MSL 1060 ( 7J 168) +u0047_0306 18540,25005,450 2 46288 -- MSL 1061 ( 5T 208) +u0067_0306 19029,22200,3930 3 46320 -- MSL 1062 ( 5T 240) +u0053_0327 15612,20205,5988 3 75178 -- MSL 1063 ( 9E 170) +u0073_0327 14637,17205,5988 1 75194 -- MSL 1064 ( 9E 186) +u0049_0307 8295,25515 2 46301 -- MSL 1065 ( 5T 221) +bq 6831,4038,3672 1 161154 -- MSL 1067 (19U 130) +%0 34152,20505,450 2 161161 -- MSL 1068 (19U 137) +a- 17565,21675 2 60154 -- MSL 1084 ( 7J 250) +ab 17565,22200 2 75170 -- MSL 1086 ( 9E 162) +a. 17565,22590 2 75263 -- MSL 1088 ( 9E 255) +oe 28785,17205,450 0 161180 -- MSL 1090 (19U 156) +OE 28785,20205,450 2 161164 -- MSL 1091 (19U 140) +fo 9270,14025 0 161163 -- MSL 1092 (19U 139) +fc 9270,14025 0 161179 -- MSL 1093 (19U 155) +sq 19029,15624 0 60091 -- MSL 1094 ( 7J 187) +/L 14148,19755 2 75171 -- MSL 1095 ( 9E 163) +/l 9270,20820 2 75187 -- MSL 1096 ( 9E 179) +a" 17565,22125 2 75197 -- MSL 1097 ( 9E 189) +ho 17565,1095,4155 1 75186 -- MSL 1098 ( 9E 178) +vZ 17565,24930 2 75150 -- MSL 1106 ( 9E 142) +IJ 21954,19755,450 2 60135 -- MSL 1107 ( 7J 231) diff -ruN groff-1.19/font/devlj4/AOI groff-1.19.1/font/devlj4/AOI --- groff-1.19/font/devlj4/AOI Tue Feb 25 06:38:55 2003 +++ groff-1.19.1/font/devlj4/AOI Wed Feb 18 10:01:17 2004 @@ -1,3 +1,4 @@ +# AntiqueOlv It name AOI spacewidth 7806 slant 11.150000 @@ -7,705 +8,775 @@ 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 cq -3414 -L ' -3414 -T hy -1461 -T - -1461 -T en -1461 -T em -1461 -A cq -1950 -A ' -1950 -hy T -1461 -- T -1461 -en T -1461 -em T -1461 -Y hy -975 -Y - -975 -Y en -975 -Y em -975 -p cq -1950 -p ' -1950 -c cq -975 -c ' -975 -e cq -1950 -e ' -1950 -b cq -1950 -b ' -1950 -a cq -1950 -a ' -1950 -V hy -975 -V - -975 -V en -975 -V em -975 -h cq -1950 -h ' -1950 -n cq -1950 -n ' -1950 -m cq -1950 -m ' -1950 -W hy -486 -W - -486 -W en -486 -W em -486 -cq d -1950 -' d -1950 -s cq -975 -s ' -975 -L hy -1950 -L - -1950 -L en -1950 -L em -1950 -X hy -975 -X - -975 -X en -975 -X em -975 -A hy -975 -A - -975 -A en -975 -A em -975 -K hy -975 -K - -975 -K en -975 -K em -975 -cq s -975 -' s -975 -hy X -975 -- X -975 -hy A -975 -- A -975 -en X -975 -en A -975 -em X -975 -b f -486 +L V -2438 +P . -4877 +P , -4877 +V A -2438 +A V -1949 +T o -2924 +T r -1460 +T c -2924 +T e -2924 +T d -2924 +T s -2438 +T y -1460 +T a -2924 +T w -1460 +T u -1460 +T J -2924 +L T -2924 +L Y -2924 +Y o -2924 +Y e -2924 +Y a -2438 +Y J -2924 +A W -1460 +W A -1460 +T A -2924 +V o -1460 +V e -1460 +V a -1460 +Y A -2924 +F A -1460 +F . -3902 +F , -3902 +A T -2438 +A Y -2438 +v . -2438 +v , -2438 +y . -2924 +y , -2924 +T . -3413 +T , -3413 +L W -1460 +P A -974 +V J -2924 +V . -3413 +V , -3413 +Y . -3413 +Y , -3413 +W o -974 +W e -974 +W a -974 +W . -1949 +W , -1949 +r . -1949 +r , -1949 +w . -2438 +w , -2438 +Y u -974 +A v -1460 +A y -1460 +A w -974 +o . -2438 +o , -2438 +p . -2438 +p , -2438 +e . -1460 +e , -1460 +b . -2438 +b , -2438 +O T -1460 +O V -974 +O Y -1460 +O . -2438 +O , -2438 +L y -1949 +L O -2438 +L G -2438 +L C -2438 +L Q -2438 +P J -2924 +V y -974 +V u -974 +V O -974 +V G -974 +V C -974 +V Q -974 +D T -1460 +D V -974 +D Y -1460 +D . -2438 +D , -2438 +Y O -974 +Y G -974 +Y C -974 +Y Q -974 +F o -485 +F e -485 +F a -485 +c . -1460 +c , -1460 +O A -974 +O W -485 +L U -1949 +R T -974 +R V -974 +R Y -974 +R W -485 +G T -1460 +C A -485 +C . -974 +C , -974 +D A -974 +D W -485 +B T -1460 +B Y -1460 +B . -1460 +B , -1460 +F J -2924 +A O -974 +A G -974 +A C -974 +A U -974 +A Q -974 +W r -485 +W y -485 +W u -485 +W O -485 +W G -485 +W C -485 +W J -1460 +W Q -485 +J A -485 +J . -974 +J , -974 +U A -974 +U . -2438 +U , -2438 +Q W -485 +f . -2438 +f , -2438 +T O -1460 +T G -1460 +T C -1460 +T Q -1460 +O X -974 +L o -2924 +L e -2438 +L q -1949 +G V -974 +G Y -1460 +G W -485 +G . -1949 +G , -1949 +P T -1460 +P V -974 +P Y -1460 +C T -974 +C V -974 +C Y -974 +D X -974 +B V -974 +B X -974 +B A -974 +B W -485 +S . -1949 +S , -1949 +X o -974 +X e -974 +X y -974 +X O -974 +X G -974 +X C -974 +X Q -974 +A o -974 +A e -974 +K o -1460 +K e -1460 +K y -974 +K w -974 +K O -974 +K G -974 +K C -974 +K Q -974 +o v -485 +o y -485 +o x -974 +h v -485 +h y -485 +n v -485 +n y -485 +m v -485 +m y -485 +r g -485 +g . -485 +g , -485 +p v -485 +p y -485 +p x -974 +c v -485 +c y -485 +v o -485 +v g -485 +v c -485 +v d -485 +v a -485 +v q -485 +e v -485 +e y -485 +b v -974 +b y -974 +b w -485 +s . -974 +s , -974 +y o -485 +y g -485 +y c -485 +y d -485 +y a -485 +y q -485 +f g -485 +x o -974 +x c -974 +x e -974 +x d -974 +x a -974 +x q -974 +a v -485 +a y -485 +w o -485 +w g -485 +w c -485 +w d -485 +w a -485 +w q -485 +T S -1460 +L a -974 +L S -1460 +G X -974 +G A -974 +P X -974 +P W -485 +C X -485 +C W -485 +C J -485 +V S -974 +S T -1460 +S V -974 +S Y -1460 +S X -974 +S A -974 +S W -485 +Y S -974 +X a -974 +X u -974 +X S -974 +A t -974 +A c -974 +A d -974 +A a -974 +A u -974 +A q -974 +A S -974 +W S -485 +K c -1460 +K u -974 +K S -974 +t . -485 +t , -485 +h . -485 +h , -485 +n . -485 +n , -485 +m . -485 +m , -485 +l . -485 +l , -485 +r o -485 +r c -485 +r e -485 +r d -485 +r a -485 +r q -485 +i . -485 +i , -485 +c x -974 +v e -485 +v s -485 +e x -974 +z . -485 +z , -485 +d . -485 +d , -485 +b f -485 +s v -485 +s y -485 +s x -485 +y e -485 +y s -485 +f o -485 +f c -485 +f e -485 +f d -485 +f s -485 +f a -485 +f q -485 +x s -485 +x . -485 +x , -485 +a . -485 +a , -485 +w e -485 +w s -485 +j . -485 +j , -485 +u . -485 +k o -974 +k c -974 +k e -974 +k d -974 +k a -974 +k q -974 +k . -485 +k , -485 +O J -1949 +H . -485 +H , -485 +N . -485 +N , -485 +M . -485 +M , -485 +L . -485 +L , -485 +R . -485 +R , -485 +I . -485 +I , -485 +E . -485 +E , -485 +Z o -1460 +Z e -1460 +Z d -1460 +Z s -485 +Z a -974 +Z . -485 +Z , -485 +D J -1949 +B J -974 +S J -1460 +X . -485 +X , -485 +A s -485 +A . -485 +A , -485 +J J -485 +U J -1949 +K a -974 +K . -485 +K , -485 +o z -974 +r s -485 +p z -974 +c z -974 +v f -485 +e z -974 +z o -974 +z c -974 +z e -974 +z d -974 +z s -485 +z a -974 +z q -974 +b t -485 +b g -485 +b z -1460 +b j -485 +s z -485 +y f -485 +w f -485 +k s -485 +G J -1460 +L cq -3413 +L ' -3413 +T hy -1460 +T - -1460 +T en -1460 +T em -1460 +A cq -1949 +A ' -1949 +hy T -1460 +- T -1460 +en T -1460 +em T -1460 +Y hy -974 +Y - -974 +Y en -974 +Y em -974 +p cq -1949 +p ' -1949 +c cq -974 +c ' -974 +e cq -1949 +e ' -1949 +b cq -1949 +b ' -1949 +a cq -1949 +a ' -1949 +V hy -974 +V - -974 +V en -974 +V em -974 +h cq -1949 +h ' -1949 +n cq -1949 +n ' -1949 +m cq -1949 +m ' -1949 +W hy -485 +W - -485 +W en -485 +W em -485 +cq d -1949 +' d -1949 +s cq -974 +s ' -974 +L hy -1949 +L - -1949 +L en -1949 +L em -1949 +X hy -974 +X - -974 +X en -974 +X em -974 +A hy -974 +A - -974 +A en -974 +A em -974 +K hy -974 +K - -974 +K en -974 +K em -974 +cq s -974 +' s -974 +hy X -974 +- X -974 +hy A -974 +- A -974 +en X -974 +en A -974 +em X -974 +b f -485 charset -! 7806,20160,405,1176,798,880 2 3617 -dq 11709,19755,0,504,-2439,504 2 3618 +! 7806,20160,405,1176,798,880 2 161057 -- MSL 1 (19U 33) +dq 11709,19755,0,504,-2438,504 2 161058 -- MSL 2 (19U 34) " " -sh 15612,20460,4296,0,-936 3 3619 +sh 15612,20460,4296,0,-935 3 161059 -- MSL 3 (19U 35) # " -Do 15612,22065,2295,1062,258,880 2 3620 +Do 15612,22065,2295,1062,258,880 2 161060 -- MSL 4 (19U 36) $ " -% 26346,20460,405,0,-1734 2 3621 -& 17565,20160,405,414,381,414 2 3622 -cq 7806,19755,0,744,-1851,744 2 51751 +% 26346,20460,405,0,-1733 2 161061 -- MSL 5 (19U 37) +& 17565,20160,405,414,381,414 2 161062 -- MSL 6 (19U 38) +cq 7806,19755,0,744,-1850,744 2 161170 -- MSL 8 (19U 146) ' " -( 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 -hy 7806,10230,0,654,468,654 0 3629 +( 7806,19755,405,3360,-269,880 2 161064 -- MSL 9 (19U 40) +) 7806,19755,405,618,2472,618 2 161065 -- MSL 10 (19U 41) +* 15612,20160,0,0,-2879 2 161066 -- MSL 11 (19U 42) ++ 26346,15255,585,0,-3893 0 161067 -- MSL 12 (19U 43) +, 7806,2910,4320,0,2160 1 161068 -- MSL 13 (19U 44) +hy 7806,10230,0,654,468,654 0 161069 -- MSL 14 (19U 45) - " -. 7806,2925,405,0,684 0 3630 -sl 7806,20820,405,4203,3111,880 2 3631 +. 7806,2925,405,0,684 0 161070 -- MSL 15 (19U 46) +sl 7806,20820,405,4203,3111,880 2 161071 -- MSL 16 (19U 47) / " -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 +0 15612,20460,405,1371,450,880 2 161072 -- MSL 17 (19U 48) +1 15612,20055,0,0,-878 2 161073 -- MSL 18 (19U 49) +2 15612,20460,0,1173,1140,880 2 161074 -- MSL 19 (19U 50) +3 15612,20055,405,1743,621,880 2 161075 -- MSL 20 (19U 51) +4 15612,20055,0,1101,1074,880 2 161076 -- MSL 21 (19U 52) +5 15612,20055,405,1530,453,880 2 161077 -- MSL 22 (19U 53) +6 15612,20460,405,1863,-5,880 2 161078 -- MSL 23 (19U 54) +7 15612,20055,0,2184,-212,880 2 161079 -- MSL 24 (19U 55) +8 15612,20460,405,1362,708,880 2 161080 -- MSL 25 (19U 56) +9 15612,20460,405,1032,828,880 2 161081 -- MSL 26 (19U 57) +: 7806,13515,405,0,684 0 161082 -- MSL 27 (19U 58) +; 7806,13515,4320,0,2160 1 161083 -- MSL 28 (19U 59) +< 26346,16068,0,0,-3980 0 161084 -- MSL 29 (19U 60) += 26346,10800,0,0,-3920 0 161085 -- MSL 30 (19U 61) +> 26346,16068,0,0,-3980 0 161086 -- MSL 31 (19U 62) +? 14148,20160,405,1497,-1322,880 2 161087 -- MSL 32 (19U 63) +at 26346,21030,2745,0,-1082 2 161088 -- MSL 33 (19U 64) @ " -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 +A 18051,19755,0,0,2478 2 161089 -- MSL 34 (19U 65) +B 16587,19755,0,1230,765,880 2 161090 -- MSL 35 (19U 66) +C 16101,20160,405,1941,-35,880 2 161091 -- MSL 36 (19U 67) +D 19029,19755,0,516,657,516 2 161092 -- MSL 37 (19U 68) +E 15612,19755,0,1971,858,880 2 161093 -- MSL 38 (19U 69) +F 15126,19755,0,2244,807,880 2 161094 -- MSL 39 (19U 70) +G 18051,20160,405,1218,-143,880 2 161095 -- MSL 40 (19U 71) +H 19515,19755,0,1179,558,880 2 161096 -- MSL 41 (19U 72) +I 6831,19755,0,1557,909,880 2 161097 -- MSL 42 (19U 73) +J 12198,19755,405,1518,2154,880 2 161098 -- MSL 43 (19U 74) +K 16101,19755,0,3612,717,880 2 161099 -- MSL 44 (19U 75) +L 12684,19755,0,0,783 2 161100 -- MSL 45 (19U 76) +M 22932,19755,0,1287,729,880 2 161101 -- MSL 46 (19U 77) +N 19515,19755,0,1344,735,880 2 161102 -- MSL 47 (19U 78) +O 19029,20160,405,732,-38,732 2 161103 -- MSL 48 (19U 79) +P 16587,19755,0,1425,699,880 2 161104 -- MSL 49 (19U 80) +Q 19029,20160,993,849,-242,849 2 161105 -- MSL 50 (19U 81) +R 16101,19755,0,1494,744,880 2 161106 -- MSL 51 (19U 82) +S 14637,20160,405,1374,888,880 2 161107 -- MSL 52 (19U 83) +T 14637,19755,0,3165,-824,880 2 161108 -- MSL 53 (19U 84) +U 18540,19755,405,1449,-452,880 2 161109 -- MSL 54 (19U 85) +V 17076,19755,0,2931,-1406,880 2 161110 -- MSL 55 (19U 86) +W 25371,19755,0,3333,-1340,880 2 161111 -- MSL 56 (19U 87) +X 16587,19755,0,3177,2418,880 2 161112 -- MSL 57 (19U 88) +Y 16587,19755,0,3216,-1295,880 2 161113 -- MSL 58 (19U 89) +Z 16101,19755,0,2199,1347,880 2 161114 -- MSL 59 (19U 90) +lB 7806,19755,405,2646,699,880 2 161115 -- MSL 60 (19U 91) [ " -rs 7806,20820,405,0,-1671 2 3676 +rs 7806,20820,405,0,-1670 2 161116 -- MSL 61 (19U 92) \ " -rB 7806,19755,405,1341,2004,880 2 3677 +rB 7806,19755,405,1341,2004,880 2 161117 -- MSL 62 (19U 93) ] " -ha 13173,19758,0,36,36,36 2 51875 -_ 13173,0,6588,1317,1317,880 1 3679 -oq 7806,19755,0,1062,-2169,880 2 51808 +ha 13173,19758,0,36,36,36 2 161118 -- MSL 63 (19U 94) +_ 13173,0,6588,1317,1317,880 1 161119 -- MSL 64 (19U 95) +oq 7806,19755,0,1062,-2168,880 2 161169 -- MSL 66 (19U 145) ` " -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 -`A 18051,25005,0,0,2478 2 3776 -^A 18051,25005,0,0,2478 2 3778 -`E 15612,25005,0,1971,858,880 2 3784 -^E 15612,25005,0,1971,858,880 2 3786 -:E 15612,24645,0,1971,858,880 2 3787 -^I 6831,25005,0,4425,909,880 2 3790 -:I 6831,24645,0,4878,909,880 2 3791 -aa 15612,22080,0,2073,-6261,880 2 3764 -ga 15612,22080,0,0,-3054 2 3680 -a^ 15612,22080,0,0,-4680 2 3678 +a 16101,17160,405,0,621 0 161121 -- MSL 67 (19U 97) +b 18051,20820,405,0,735 2 161122 -- MSL 68 (19U 98) +c 15126,17160,405,1257,114,880 0 161123 -- MSL 69 (19U 99) +d 18051,20820,405,1623,207,880 2 161124 -- MSL 70 (19U 100) +e 16587,17160,405,546,-5,546 0 161125 -- MSL 71 (19U 101) +f 11220,20820,0,3024,114,880 2 161126 -- MSL 72 (19U 102) +g 18051,17160,3930,654,102,654 1 161127 -- MSL 73 (19U 103) +h 18051,20820,0,0,573 2 161128 -- MSL 74 (19U 104) +i 6831,21105,0,2052,918,880 2 161129 -- MSL 75 (19U 105) +j 7317,21105,3930,1986,4662,880 3 161130 -- MSL 76 (19U 106) +k 14637,20820,0,2835,738,880 2 161131 -- MSL 77 (19U 107) +l 6831,20820,0,1794,891,880 2 161132 -- MSL 78 (19U 108) +m 26835,17160,0,0,735 0 161133 -- MSL 79 (19U 109) +n 18051,17160,0,0,567 0 161134 -- MSL 80 (19U 110) +o 17565,17160,405,90,-29,90 0 161135 -- MSL 81 (19U 111) +p 18051,17160,3930,51,1440,51 1 161136 -- MSL 82 (19U 112) +q 18051,17160,3930,855,216,855 1 161137 -- MSL 83 (19U 113) +r 11220,17160,0,2286,816,880 0 161138 -- MSL 84 (19U 114) +s 12684,17160,405,1206,1044,880 0 161139 -- MSL 85 (19U 115) +t 12198,20985,405,2229,-524,880 2 161140 -- MSL 86 (19U 116) +u 18051,16755,405,603,-236,603 0 161141 -- MSL 87 (19U 117) +v 16101,16755,0,1950,-617,880 0 161142 -- MSL 88 (19U 118) +w 24396,16755,0,1749,-734,880 0 161143 -- MSL 89 (19U 119) +x 15126,16755,0,2667,2142,880 0 161144 -- MSL 90 (19U 120) +y 15612,16755,3930,2085,-377,880 1 161145 -- MSL 91 (19U 121) +z 13662,16755,0,1953,1530,880 0 161146 -- MSL 92 (19U 122) +{ 11709,20130,6075,2580,-1004,880 3 161147 -- MSL 93 (19U 123) +lC " +| 13173,19758,6588,0,-4595 3 161148 -- MSL 94 (19U 124) +ba " +} 11709,20130,6075,0,3153 3 161149 -- MSL 95 (19U 125) +rC " +ti 26346,8952,0,0,-4028 0 161150 -- MSL 96 (19U 126) +`A 18051,25005,0,0,2478 2 161216 -- MSL 99 (19U 192) +^A 18051,25005,0,0,2478 2 161218 -- MSL 100 (19U 194) +`E 15612,25005,0,1971,858,880 2 161224 -- MSL 101 (19U 200) +^E 15612,25005,0,1971,858,880 2 161226 -- MSL 102 (19U 202) +:E 15612,24645,0,1971,858,880 2 161227 -- MSL 103 (19U 203) +^I 6831,25005,0,4425,909,880 2 161230 -- MSL 104 (19U 206) +:I 6831,24645,0,4878,909,880 2 161231 -- MSL 105 (19U 207) +aa 15612,22080,0,2073,-6260,880 2 161204 -- MSL 106 (19U 180) +ga 15612,22080,0,0,-3053 2 161120 -- MSL 107 (19U 96) +a^ 15612,22080,0,0,-4679 2 161160 -- MSL 108 (19U 136) ^ " -ad 15612,21795,0,0,-4674 2 3752 -a~ 15612,21819,0,1443,-2550,880 2 3710 -~ " -`U 18540,25005,405,1449,-453,880 2 3801 -^U 18540,25005,405,1449,-453,880 2 3803 -'Y 16587,25005,0,3216,-1296,880 2 3805 -'y 15612,22080,3930,2085,-378,880 3 3837 -de 15612,20460,0,0,-2748 2 3760 -,C 16101,20160,6285,1941,-36,880 3 3783 -,c 15126,17160,6285,1257,114,880 1 3815 -~N 19515,24744,0,1344,735,880 2 3793 -~n 18051,21819,0,222,567,222 2 3825 -r! 7806,17157,3408,714,1260,714 0 3745 -r? 14148,17175,3390,0,1623 0 3775 -Cs 15612,15684,0,96,-528,96 0 3748 -Po 15612,20460,0,2118,1011,880 2 3747 -Ye 15612,20055,0,3255,-999,880 2 3749 -sc 15612,20160,4095,0,-1920 3 3751 -Fn 15612,20820,0,1578,-2127,880 2 51871 -ct 15612,20547,498,1389,-540,880 2 3746 -^a 16101,22080,405,0,621 2 3810 -^e 16587,22080,405,546,-6,546 2 3818 -^o 17565,22080,405,90,-30,90 2 3828 -^u 18051,22080,405,603,-237,603 2 3835 -'a 16101,22080,405,1827,621,880 2 3809 -'e 16587,22080,405,1584,-6,880 2 3817 -'o 17565,22080,405,1095,-30,880 2 3827 -'u 18051,22080,405,852,-237,852 2 3834 -`a 16101,22080,405,0,621 2 3808 -`e 16587,22080,405,546,-6,546 2 3816 -`o 17565,22080,405,90,-30,90 2 3826 -`u 18051,22080,405,603,-237,603 2 3833 -:a 16101,21795,405,0,621 2 3812 -:e 16587,21795,405,546,-6,546 2 3819 -:o 17565,21795,405,90,-30,90 2 3830 -:u 18051,21795,405,603,-237,603 2 3836 -oA 18051,26850,0,0,2478 2 3781 -^i 6831,22080,0,3831,921,880 2 3822 -/O 19029,20205,450,2472,1920,880 2 3800 -AE 28299,19755,0,2715,2868,880 2 3782 -oa 16101,24390,405,0,621 2 3813 -'i 6831,22080,0,6462,921,880 2 3821 -/o 17565,17232,474,1710,1614,880 0 3832 -ae 25857,17160,405,591,780,591 0 3814 -:A 18051,24645,0,0,2478 2 3780 -`i 6831,22080,0,1335,1338,880 2 3820 -:O 19029,24645,405,732,-39,732 2 3798 -:U 18540,24645,405,1449,-453,880 2 3804 -'E 15612,25005,0,2739,858,880 2 3785 -:i 6831,21795,0,4275,921,880 2 3823 -ss 16101,20820,405,57,780,57 2 3807 -^O 19029,25005,405,732,-39,732 2 3796 -'A 18051,25005,0,1518,2478,880 2 3777 -~A 18051,24744,0,1263,2478,880 2 3779 -~a 16101,21819,405,1197,621,880 2 3811 --D 19029,19755,0,516,690,516 2 3792 -Sd 17565,21426,405,66,-36,66 2 3824 -'I 6831,25005,0,7128,909,880 2 3789 -`I 6831,25005,0,2073,909,880 2 3788 -'O 19029,25005,405,1029,-39,880 2 3795 -`O 19029,25005,405,732,-39,732 2 3794 -~O 19029,24744,405,774,-39,774 2 3797 -~o 17565,21819,405,465,-30,465 2 3829 -vS 14637,25005,405,1374,888,880 2 51795 -vs 12684,22080,405,1596,1044,880 2 51827 -'U 18540,25005,405,1449,-453,880 2 3802 -:Y 16587,24645,0,3216,-1296,880 2 51801 -:y 15612,21795,3930,2085,-378,880 3 3839 -TP 16587,19755,0,675,753,675 2 3806 -Tp 18051,20820,3930,51,1440,51 3 3838 -mc 14637,12630,4350,1122,2931,880 1 3765 -ps 15612,19635,4200,0,-1344 3 3766 -34 26346,20610,555,0,-1806 2 3774 -\- 26346,8295,0,0,-3891 0 51757 -14 26346,20610,555,0,-1755 2 3772 -12 26346,20610,555,0,-1998 2 3773 -Of 15612,20460,0,0,-2658 2 3754 -Om 15612,20460,0,0,-2451 2 3770 -Fo 13662,14145,0,2082,-45,880 0 3755 -Fc 13662,14145,0,267,1770,267 0 3771 -t+- 26346,15255,3900,0,-3906 1 3761 -bb 13173,19083,5916,0,-4596 3 3750 -co 13173,19635,0,3903,-2112,880 2 3753 -tno 26346,11679,0,0,-3984 0 3756 -rg 13173,19635,0,3903,-2112,880 2 3758 -S2 10245,20385,0,2097,-225,880 2 3762 -S3 10245,20055,0,2064,-186,880 2 3763 -ac 15612,375,6285,0,-2349 1 3768 -S1 10245,20055,0,0,-495 2 3769 -tmu 26346,15189,579,0,-3957 0 3799 -tdi 26346,12780,0,0,-3894 0 3831 -pc 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 -a- 15612,21210,0,0,-5265 2 3759 -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 +ad 15612,21795,0,0,-4673 2 161192 -- MSL 109 (19U 168) +~ 15612,21819,0,1443,-2549,880 2 161176 -- MSL 110 (19U 152) +a~ " +`U 18540,25005,405,1449,-452,880 2 161241 -- MSL 111 (19U 217) +^U 18540,25005,405,1449,-452,880 2 161243 -- MSL 112 (19U 219) +u00AF 13173,21105,0,1317,1317,880 2 161199 -- MSL 113 (19U 175) +'Y 16587,25005,0,3216,-1295,880 2 161245 -- MSL 114 (19U 221) +'y 15612,22080,3930,2085,-377,880 3 161277 -- MSL 115 (19U 253) +de 15612,20460,0,0,-2747 2 161200 -- MSL 116 (19U 176) +,C 16101,20160,6285,1941,-35,880 3 161223 -- MSL 117 (19U 199) +,c 15126,17160,6285,1257,114,880 1 161255 -- MSL 118 (19U 231) +~N 19515,24744,0,1344,735,880 2 161233 -- MSL 119 (19U 209) +~n 18051,21819,0,222,567,222 2 161265 -- MSL 120 (19U 241) +r! 7806,17157,3408,714,1260,714 0 161185 -- MSL 121 (19U 161) +r? 14148,17175,3390,0,1623 0 161215 -- MSL 122 (19U 191) +Cs 15612,15684,0,96,-527,96 0 161188 -- MSL 123 (19U 164) +Po 15612,20460,0,2118,1011,880 2 161187 -- MSL 124 (19U 163) +Ye 15612,20055,0,3255,-998,880 2 161189 -- MSL 125 (19U 165) +sc 15612,20160,4095,0,-1919 3 161191 -- MSL 126 (19U 167) +Fn 15612,20820,0,1578,-2126,880 2 161155 -- MSL 127 (19U 131) +ct 15612,20547,498,1389,-539,880 2 161186 -- MSL 128 (19U 162) +^a 16101,22080,405,0,621 2 161250 -- MSL 129 (19U 226) +^e 16587,22080,405,546,-5,546 2 161258 -- MSL 130 (19U 234) +^o 17565,22080,405,90,-29,90 2 161268 -- MSL 131 (19U 244) +^u 18051,22080,405,603,-236,603 2 161275 -- MSL 132 (19U 251) +'a 16101,22080,405,1827,621,880 2 161249 -- MSL 133 (19U 225) +'e 16587,22080,405,1584,-5,880 2 161257 -- MSL 134 (19U 233) +'o 17565,22080,405,1095,-29,880 2 161267 -- MSL 135 (19U 243) +'u 18051,22080,405,852,-236,852 2 161274 -- MSL 136 (19U 250) +`a 16101,22080,405,0,621 2 161248 -- MSL 137 (19U 224) +`e 16587,22080,405,546,-5,546 2 161256 -- MSL 138 (19U 232) +`o 17565,22080,405,90,-29,90 2 161266 -- MSL 139 (19U 242) +`u 18051,22080,405,603,-236,603 2 161273 -- MSL 140 (19U 249) +:a 16101,21795,405,0,621 2 161252 -- MSL 141 (19U 228) +:e 16587,21795,405,546,-5,546 2 161259 -- MSL 142 (19U 235) +:o 17565,21795,405,90,-29,90 2 161270 -- MSL 143 (19U 246) +:u 18051,21795,405,603,-236,603 2 161276 -- MSL 144 (19U 252) +oA 18051,26850,0,0,2478 2 161221 -- MSL 145 (19U 197) +^i 6831,22080,0,3831,921,880 2 161262 -- MSL 146 (19U 238) +/O 19029,20205,450,2472,1920,880 2 161240 -- MSL 147 (19U 216) +AE 28299,19755,0,2715,2868,880 2 161222 -- MSL 148 (19U 198) +oa 16101,24390,405,0,621 2 161253 -- MSL 149 (19U 229) +'i 6831,22080,0,6462,921,880 2 161261 -- MSL 150 (19U 237) +/o 17565,17232,474,1710,1614,880 0 161272 -- MSL 151 (19U 248) +ae 25857,17160,405,591,780,591 0 161254 -- MSL 152 (19U 230) +:A 18051,24645,0,0,2478 2 161220 -- MSL 153 (19U 196) +`i 6831,22080,0,1335,1338,880 2 161260 -- MSL 154 (19U 236) +:O 19029,24645,405,732,-38,732 2 161238 -- MSL 155 (19U 214) +:U 18540,24645,405,1449,-452,880 2 161244 -- MSL 156 (19U 220) +'E 15612,25005,0,2739,858,880 2 161225 -- MSL 157 (19U 201) +:i 6831,21795,0,4275,921,880 2 161263 -- MSL 158 (19U 239) +ss 16101,20820,405,57,780,57 2 161247 -- MSL 159 (19U 223) +^O 19029,25005,405,732,-38,732 2 161236 -- MSL 160 (19U 212) +'A 18051,25005,0,1518,2478,880 2 161217 -- MSL 161 (19U 193) +~A 18051,24744,0,1263,2478,880 2 161219 -- MSL 162 (19U 195) +~a 16101,21819,405,1197,621,880 2 161251 -- MSL 163 (19U 227) +-D 19029,19755,0,516,690,516 2 161232 -- MSL 164 (19U 208) +Sd 17565,21426,405,66,-35,66 2 161264 -- MSL 165 (19U 240) +'I 6831,25005,0,7128,909,880 2 161229 -- MSL 166 (19U 205) +`I 6831,25005,0,2073,909,880 2 161228 -- MSL 167 (19U 204) +'O 19029,25005,405,1029,-38,880 2 161235 -- MSL 168 (19U 211) +`O 19029,25005,405,732,-38,732 2 161234 -- MSL 169 (19U 210) +~O 19029,24744,405,774,-38,774 2 161237 -- MSL 170 (19U 213) +~o 17565,21819,405,465,-29,465 2 161269 -- MSL 171 (19U 245) +vS 14637,25005,405,1374,888,880 2 161162 -- MSL 172 (19U 138) +vs 12684,22080,405,1596,1044,880 2 161178 -- MSL 173 (19U 154) +'U 18540,25005,405,1449,-452,880 2 161242 -- MSL 174 (19U 218) +:Y 16587,24645,0,3216,-1295,880 2 161183 -- MSL 175 (19U 159) +:y 15612,21795,3930,2085,-377,880 3 161279 -- MSL 176 (19U 255) +TP 16587,19755,0,675,753,675 2 161246 -- MSL 177 (19U 222) +Tp 18051,20820,3930,51,1440,51 3 161278 -- MSL 178 (19U 254) +mc 14637,12630,4350,1122,2931,880 1 161205 -- MSL 180 (19U 181) +ps 15612,19635,4200,0,-1343 3 161206 -- MSL 181 (19U 182) +34 26346,20610,555,0,-1805 2 161214 -- MSL 182 (19U 190) +\- 26346,8295,0,0,-3890 0 60096 -- MSL 183 ( 7J 192) +14 26346,20610,555,0,-1754 2 161212 -- MSL 184 (19U 188) +12 26346,20610,555,0,-1997 2 161213 -- MSL 185 (19U 189) +Of 15612,20460,0,0,-2657 2 161194 -- MSL 186 (19U 170) +Om 15612,20460,0,0,-2450 2 161210 -- MSL 187 (19U 186) +Fo 13662,14145,0,2082,-44,880 0 161195 -- MSL 188 (19U 171) +Fc 13662,14145,0,267,1770,267 0 161211 -- MSL 190 (19U 187) +t+- 26346,15255,3900,0,-3905 1 161201 -- MSL 191 (19U 177) +bb 13173,19083,5916,0,-4595 3 161190 -- MSL 192 (19U 166) +co 13173,19635,0,3903,-2111,880 2 161193 -- MSL 193 (19U 169) +tno 26346,11679,0,0,-3983 0 161196 -- MSL 194 (19U 172) +u00AD 7806,10230,0,654,468,654 0 161197 -- MSL 195 (19U 173) +rg 13173,19635,0,3903,-2111,880 2 161198 -- MSL 196 (19U 174) +S2 10245,20385,0,2097,-224,880 2 161202 -- MSL 197 (19U 178) +S3 10245,20055,0,2064,-185,880 2 161203 -- MSL 198 (19U 179) +ac 15612,375,6285,0,-2348 1 161208 -- MSL 199 (19U 184) +S1 10245,20055,0,0,-494 2 161209 -- MSL 200 (19U 185) +tmu 26346,15189,579,0,-3956 0 161239 -- MSL 201 (19U 215) +tdi 26346,12780,0,0,-3893 0 161271 -- MSL 202 (19U 247) +u203C 14148,20160,405,1176,798,880 2 87315 -- MSL 221 (10U 19) +u20A7 28785,20985,405,1929,999,880 2 60121 -- MSL 232 ( 7J 217) +pc 7806,11760,0,0,-1130 0 161207 -- MSL 302 (19U 183) +u013F 12684,19755,0,372,783,372 2 51943 -- MSL 306 ( 6J 231) +u0140 8295,20820,0,2676,891,880 2 51959 -- MSL 307 ( 6J 247) +u2113 15612,18150,297,0,-1958 0 60122 -- MSL 308 ( 7J 218) +u0149 21468,19755,0,0,99 2 51951 -- MSL 309 ( 6J 239) +fm 7806,20055,0,1680,-2321,880 2 60101 -- MSL 310 ( 7J 197) +sd 15612,20055,0,0,-2321 2 60102 -- MSL 311 ( 7J 198) +dg 15612,20160,4095,0,-1631 3 161158 -- MSL 312 (19U 134) +tm 16101,17850,0,1443,-1979,880 0 161177 -- MSL 313 (19U 153) +u2017 13173,0,6588,1317,1317,880 1 60095 -- MSL 314 ( 7J 191) +ah 15612,22080,0,132,-5369,132 2 75169 -- MSL 315 ( 9E 161) +ao 15612,24390,0,0,-6086 2 60152 -- MSL 316 ( 7J 248) +f/ 4392,20610,555,7662,7350,880 2 60109 -- MSL 324 ( 7J 205) +em 26346,9840,0,462,330,462 0 161175 -- MSL 325 (19U 151) +en 15612,9840,0,528,336,528 0 161174 -- MSL 326 (19U 150) +dd 15612,20160,4095,0,-1610 3 161159 -- MSL 327 (19U 135) +.i 6831,16755,0,975,921,880 0 46333 -- MSL 328 ( 5T 253) +aq 7806,19755,0,672,-2603,672 2 161063 -- MSL 329 (19U 39) +bu 13173,14226,0,0,-497 0 161173 -- MSL 331 (19U 149) +u207F 11220,20385,0,1926,150,880 2 87548 -- MSL 332 (10U 252) +u0111 18051,20820,405,2829,210,880 2 75248 -- MSL 342 ( 9E 240) +u0041_0306 18051,25155,0,0,2478 2 75203 -- MSL 400 ( 9E 195) +u0061_0306 16101,22230,405,0,621 2 75235 -- MSL 401 ( 9E 227) +u0041_0328 18051,19755,3990,0,2478 3 75173 -- MSL 404 ( 9E 165) +u0061_0328 16101,17160,3990,0,621 1 75193 -- MSL 405 ( 9E 185) +'C 16101,25005,405,2718,-35,880 2 75206 -- MSL 406 ( 9E 198) +'c 15126,22080,405,2466,114,880 2 75238 -- MSL 407 ( 9E 230) +u0041_030C 16101,25005,405,1941,-35,880 2 75208 -- MSL 410 ( 9E 200) +u0061_030C 15126,22080,405,1257,114,880 2 75240 -- MSL 411 ( 9E 232) +u0044_030C 19029,25005,0,516,657,516 2 75215 -- MSL 414 ( 9E 207) +u0064_030C 19515,22290,405,4779,207,880 2 75247 -- MSL 415 ( 9E 239) +u0045_030C 15612,25005,0,1971,858,880 2 75212 -- MSL 416 ( 9E 204) +u0065_030C 16587,22080,405,546,-5,546 2 75244 -- MSL 417 ( 9E 236) +u0045_0328 15612,19755,3990,1971,858,880 3 75210 -- MSL 422 ( 9E 202) +u0065_0328 16587,17160,3990,546,-5,546 1 75242 -- MSL 423 ( 9E 234) +u004C_0301 12684,25005,0,2403,783,880 2 75205 -- MSL 440 ( 9E 197) +u006C_0301 6831,25605,0,7578,891,880 2 75237 -- MSL 441 ( 9E 229) +u004C_030C 12684,19755,0,1110,783,880 2 75196 -- MSL 442 ( 9E 188) +u006C_030C 8781,22290,0,4533,891,880 2 75198 -- MSL 443 ( 9E 190) +u004E_0301 19515,25005,0,1344,735,880 2 75217 -- MSL 446 ( 9E 209) +u006E_0301 18051,22080,0,492,567,492 2 75249 -- MSL 447 ( 9E 241) +u004E_030C 19515,25005,0,1344,735,880 2 75218 -- MSL 448 ( 9E 210) +u006E_030C 18051,22080,0,0,567 2 75250 -- MSL 449 ( 9E 242) +u004F_030B 19029,25005,405,3225,-38,880 2 75221 -- MSL 452 ( 9E 213) +u006F_030B 17565,22080,405,3765,-29,880 2 75253 -- MSL 453 ( 9E 245) +u0052_0301 16101,25005,0,2493,744,880 2 75200 -- MSL 456 ( 9E 192) +u0072_0301 11220,22080,0,4269,816,880 2 75232 -- MSL 457 ( 9E 224) +u0052_030C 16101,25005,0,1494,744,880 2 75224 -- MSL 458 ( 9E 216) +u0072_030C 11220,22080,0,2328,816,880 2 75256 -- MSL 459 ( 9E 248) +u0053_0301 14637,25005,405,2625,888,880 2 75148 -- MSL 462 ( 9E 140) +u0073_0301 12684,22080,405,3777,1044,880 2 75164 -- MSL 463 ( 9E 156) +u0054_030C 14637,25005,0,3165,-824,880 2 75149 -- MSL 466 ( 9E 141) +u0074_030C 12198,22290,405,2766,-524,880 2 75165 -- MSL 467 ( 9E 157) +u0054_0327 14637,19755,6285,3165,-659,880 3 75230 -- MSL 468 ( 9E 222) +u0074_0327 12198,20985,6285,2229,-524,880 3 75262 -- MSL 469 ( 9E 254) +u0055_030B 18540,25005,405,3681,-452,880 2 75227 -- MSL 474 ( 9E 219) +u0075_030B 18051,22080,405,3282,-236,880 2 75259 -- MSL 475 ( 9E 251) +u0055_030A 18540,26850,405,1449,-452,880 2 75225 -- MSL 476 ( 9E 217) +u0075_030A 18051,24390,405,603,-236,603 2 75257 -- MSL 477 ( 9E 249) +u005A_0301 16101,25005,0,2493,1347,880 2 75151 -- MSL 482 ( 9E 143) +u007A_0301 13662,22080,0,3048,1530,880 2 75167 -- MSL 483 ( 9E 159) +u005A_0307 16101,24645,0,2199,1347,880 2 75183 -- MSL 484 ( 9E 175) +u007A_0307 13662,21795,0,1953,1530,880 2 75199 -- MSL 485 ( 9E 191) +u2070 10245,20385,0,2103,-449,880 2 51753 -- MSL 1000 ( 6J 41) +u2074 10245,20055,0,1593,-8,880 2 51748 -- MSL 1001 ( 6J 36) +u2075 10245,20055,0,1968,-410,880 2 51749 -- MSL 1002 ( 6J 37) +u2076 10245,20385,0,2112,-779,880 2 51806 -- MSL 1003 ( 6J 94) +u2077 10245,20055,0,2397,-977,880 2 51750 -- MSL 1004 ( 6J 38) +u2078 10245,20385,0,2109,-389,880 2 51754 -- MSL 1005 ( 6J 42) +u2079 10245,20385,0,1788,-527,880 2 51752 -- MSL 1006 ( 6J 40) +lq 11709,19755,0,1344,-2423,880 2 161171 -- MSL 1017 (19U 147) +rq 11709,19755,0,756,-1835,756 2 161172 -- MSL 1018 (19U 148) +Bq 11709,2970,3315,0,1494 0 161156 -- MSL 1019 (19U 132) +u2003 26346,0,0,0,1317 0 51821 -- MSL 1020 ( 6J 109) +u2002 15612,0,0,0,1317 0 51822 -- MSL 1021 ( 6J 110) +u2009 7806,0,0,0,1317 0 51828 -- MSL 1023 ( 6J 116) +u2026 26346,2865,0,0,-347 0 161157 -- MSL 1028 (19U 133) +vz 13662,22080,0,1953,1530,880 2 75166 -- MSL 1031 ( 9E 158) +u2120 16101,18000,0,2628,-1994,880 0 128299 -- MSL 1034 (15U 43) +u211E 20004,18315,4056,87,-788,87 1 51794 -- MSL 1036 ( 6J 82) +fi 17076,21105,0,2268,-152,880 2 60077 -- MSL 1040 ( 7J 173) +fl 17076,20820,0,1668,57,880 2 60078 -- MSL 1041 ( 7J 174) +ff 20490,20820,0,3111,42,880 2 51883 -- MSL 1042 ( 6J 171) +Fi 26346,21105,0,2331,-200,880 2 51884 -- MSL 1043 ( 6J 172) +Fl 26346,20820,0,1692,48,880 2 51885 -- MSL 1044 ( 6J 173) +ij 13173,21105,3930,1986,918,880 3 60134 -- MSL 1047 ( 7J 230) +u2105 26346,20610,330,690,-20,690 2 60072 -- MSL 1060 ( 7J 168) +u0047_0306 18051,25155,405,1218,-143,880 2 46288 -- MSL 1061 ( 5T 208) +u0067_0306 18051,22230,3930,654,102,654 3 46320 -- MSL 1062 ( 5T 240) +u0053_0327 14637,20160,6285,1374,888,880 3 75178 -- MSL 1063 ( 9E 170) +u0073_0327 12684,17160,6285,1206,1044,880 1 75194 -- MSL 1064 ( 9E 186) +u0049_0307 6831,24645,0,2232,909,880 2 46301 -- MSL 1065 ( 5T 221) +bq 7806,2970,3315,0,1089 0 161154 -- MSL 1067 (19U 130) +%0 34152,20460,405,684,-158,684 2 161161 -- MSL 1068 (19U 137) +a- 15612,21210,0,0,-5264 2 60154 -- MSL 1084 ( 7J 250) +ab 15612,22230,0,0,-5237 2 75170 -- MSL 1086 ( 9E 162) +a. 15612,21795,0,0,-7031 2 75263 -- MSL 1088 ( 9E 255) +oe 28299,17160,405,768,270,768 0 161180 -- MSL 1090 (19U 156) +OE 25857,20160,405,2463,-26,880 2 161164 -- MSL 1091 (19U 140) +fo 8781,14145,0,1689,279,880 0 161163 -- MSL 1092 (19U 139) +fc 8781,14145,0,324,1644,324 0 161179 -- MSL 1093 (19U 155) +sq 19029,15624,0,0,-2021 0 60091 -- MSL 1094 ( 7J 187) +/L 13173,19755,0,21,1839,21 2 75171 -- MSL 1095 ( 9E 163) +/l 7806,20820,0,3030,2109,880 2 75187 -- MSL 1096 ( 9E 179) +a" 15612,22080,0,4503,-3530,880 2 75197 -- MSL 1097 ( 9E 189) +ho 15612,765,3990,0,-6563 1 75186 -- MSL 1098 ( 9E 178) +vZ 16101,25005,0,2199,1347,880 2 75150 -- MSL 1106 ( 9E 142) +IJ 18540,19755,405,1518,909,880 2 60135 -- MSL 1107 ( 7J 231) diff -ruN groff-1.19/font/devlj4/AOR groff-1.19.1/font/devlj4/AOR --- groff-1.19/font/devlj4/AOR Tue Feb 25 06:38:55 2003 +++ groff-1.19.1/font/devlj4/AOR Wed Feb 18 10:01:17 2004 @@ -1,3 +1,4 @@ +# AntiqueOlv name AOR spacewidth 7806 pcltypeface 4168 @@ -6,632 +7,702 @@ 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 cq -3903 -L ' -3903 -T hy -975 -T - -975 -T en -975 -T em -975 -A cq -2439 -A ' -2439 -hy T -975 -- T -975 -en T -975 -em T -975 -Y hy -975 -Y - -975 -Y en -975 -Y em -975 -p cq -1950 -p ' -1950 -c cq -975 -c ' -975 -e cq -1950 -e ' -1950 -b cq -1950 -b ' -1950 -a cq -1461 -a ' -1461 -h cq -1950 -h ' -1950 -n cq -1461 -n ' -1461 -m cq -1461 -m ' -1461 -cq d -1950 -' d -1950 -L hy -1461 -L - -1461 -L en -1461 -L em -1461 -A hy -975 -A - -975 -A en -975 -A em -975 -K hy -975 -K - -975 -K en -975 -K em -975 -cq s -975 -' s -975 -hy A -1461 -- A -1461 -en A -1461 -b f -975 +L V -2438 +P . -4877 +P , -4877 +V A -2438 +A V -1949 +T o -2438 +T r -974 +T c -2438 +T e -2438 +T d -2924 +T s -1949 +T y -974 +T a -1949 +T w -974 +T u -974 +T J -2438 +L T -2438 +L Y -3413 +Y o -2924 +Y e -2924 +Y a -1949 +Y J -2924 +A W -1949 +W A -1949 +T A -2438 +V o -974 +V e -974 +V a -974 +Y A -3413 +F A -1949 +F . -3902 +F , -3902 +A T -2438 +A Y -3413 +v . -2924 +v , -2924 +y . -2924 +y , -2924 +T . -2924 +T , -2924 +L W -1949 +P A -1460 +V J -2438 +V . -2924 +V , -2924 +Y . -3902 +Y , -3902 +W o -974 +W e -974 +W a -974 +W . -2438 +W , -2438 +r . -3902 +r , -3902 +w . -2438 +w , -2438 +Y u -974 +A v -1460 +A y -1949 +A w -1460 +o . -2438 +o , -2438 +p . -2438 +p , -2438 +e . -1949 +e , -1949 +b . -2438 +b , -2438 +O T -974 +O Y -974 +O . -2438 +O , -2438 +L y -2438 +L O -1460 +L G -1460 +L C -1460 +L Q -1460 +P J -2924 +D T -974 +D Y -974 +D . -1949 +D , -1949 +Y O -974 +Y G -974 +Y C -974 +Y Q -974 +F o -485 +F e -485 +F a -485 +c . -1460 +c , -1460 +O A -1460 +L U -1460 +R T -485 +R Y -485 +G T -485 +C A -974 +C . -1460 +C , -1460 +D A -1460 +B T -974 +B Y -974 +B . -1460 +B , -1460 +F J -2924 +A O -974 +A G -974 +A C -974 +A U -974 +A Q -974 +W J -1949 +J A -1460 +J . -1949 +J , -1949 +U A -1460 +U . -1949 +U , -1949 +f . -2924 +f , -2924 +T O -974 +T G -974 +T C -974 +T Q -974 +L o -1460 +L e -1460 +L q -1460 +G Y -485 +G . -1460 +G , -1460 +P T -974 +P Y -974 +C T -485 +C Y -485 +B A -974 +S . -1460 +S , -1460 +X o -1949 +X e -1949 +A o -974 +A e -974 +K o -974 +K e -974 +K y -974 +K w -974 +K O -974 +K G -974 +K C -974 +K Q -974 +o v -485 +o y -974 +o x -485 +o w -485 +h v -485 +h y -974 +n v -485 +n y -974 +m v -485 +m y -974 +r g -485 +g . -485 +g , -485 +p v -485 +p y -974 +p x -485 +c v -485 +c y -974 +c w -485 +v o -485 +v g -485 +v c -485 +v d -974 +v a -485 +v q -485 +e v -485 +e y -974 +b v -1460 +b y -1949 +b w -1460 +s . -1460 +s , -1460 +y o -485 +y g -485 +y c -485 +y d -974 +y a -485 +y q -485 +x o -485 +x g -485 +x c -485 +x e -485 +x d -974 +x a -485 +x q -485 +a v -485 +a y -974 +a w -485 +w o -485 +w g -485 +w c -485 +w d -974 +w a -485 +w q -485 +T S -974 +L a -485 +L S -974 +R o -1949 +G A -974 +C J -974 +S T -974 +S Y -974 +S A -974 +Y S -974 +X a -485 +A t -485 +A g -974 +A c -974 +A d -1460 +A a -485 +A u -974 +A q -974 +A S -974 +K c -974 +K u -974 +K S -974 +t . -485 +t , -485 +h w -485 +h . -485 +h , -485 +n w -485 +n . -485 +n , -485 +m w -485 +m . -485 +m , -485 +l . -485 +l , -485 +r o -485 +r c -485 +r e -485 +r d -974 +r a -485 +r q -485 +i . -485 +i , -485 +p w -485 +c x -485 +v e -485 +v s -485 +e x -485 +e w -485 +z . -485 +z , -485 +d . -485 +d , -485 +b f -974 +y e -485 +y s -485 +f d -485 +x . -485 +x , -485 +a . -485 +a , -485 +w e -485 +w s -485 +j . -485 +j , -485 +u . -485 +k o -974 +k g -974 +k c -974 +k e -974 +k d -1460 +k a -485 +k q -974 +k . -485 +k , -485 +O J -1949 +H . -485 +H , -485 +N . -485 +N , -485 +M . -485 +M , -485 +L . -485 +L , -485 +R e -1949 +R a -485 +R . -485 +R , -485 +I . -485 +I , -485 +E d -485 +E . -485 +E , -485 +Z o -1949 +Z e -1949 +Z d -1949 +Z a -485 +Z . -485 +Z , -485 +D J -1460 +B J -974 +S J -974 +X . -485 +X , -485 +A . -485 +A , -485 +J J -1460 +U J -1460 +K a -485 +K . -485 +K , -485 +t d -485 +r s -485 +g d -485 +z d -485 +b t -974 +b g -974 +b z -974 +b j -974 +G J -974 +A f -485 +U d -485 +L cq -3902 +L ' -3902 +T hy -974 +T - -974 +T en -974 +T em -974 +A cq -2438 +A ' -2438 +hy T -974 +- T -974 +en T -974 +em T -974 +Y hy -974 +Y - -974 +Y en -974 +Y em -974 +p cq -1949 +p ' -1949 +c cq -974 +c ' -974 +e cq -1949 +e ' -1949 +b cq -1949 +b ' -1949 +a cq -1460 +a ' -1460 +h cq -1949 +h ' -1949 +n cq -1460 +n ' -1460 +m cq -1460 +m ' -1460 +cq d -1949 +' d -1949 +L hy -1460 +L - -1460 +L en -1460 +L em -1460 +A hy -974 +A - -974 +A en -974 +A em -974 +K hy -974 +K - -974 +K en -974 +K em -974 +cq s -974 +' s -974 +hy A -1460 +- A -1460 +en A -1460 +b f -974 charset -! 8295,20160,405 2 3617 -dq 11220,19755 2 3618 +! 8295,20160,405 2 161057 -- MSL 1 (19U 33) +dq 11220,19755 2 161058 -- MSL 2 (19U 34) " " -sh 15612,20460,4296 3 3619 +sh 15612,20460,4296 3 161059 -- MSL 3 (19U 35) # " -Do 15612,21960,2265 2 3620 +Do 15612,21960,2265 2 161060 -- MSL 4 (19U 36) $ " -% 26835,20460,405 2 3621 -& 19029,20160,405 2 3622 -cq 6831,19755 2 51751 +% 26835,20460,405 2 161061 -- MSL 5 (19U 37) +& 19029,20160,405 2 161062 -- MSL 6 (19U 38) +cq 6831,19755 2 161170 -- MSL 8 (19U 146) ' " -( 7806,19755,405 2 3624 -) 7806,19755,405 2 3625 -* 15612,20160 2 3626 -+ 26835,15255,585 0 3627 -, 7806,2910,4320 1 3628 -hy 7806,10200 0 3629 +( 7806,19755,405 2 161064 -- MSL 9 (19U 40) +) 7806,19755,405 2 161065 -- MSL 10 (19U 41) +* 15612,20160 2 161066 -- MSL 11 (19U 42) ++ 26835,15255,585 0 161067 -- MSL 12 (19U 43) +, 7806,2910,4320 1 161068 -- MSL 13 (19U 44) +hy 7806,10200 0 161069 -- MSL 14 (19U 45) - " -. 7806,2925,405 0 3630 -sl 8295,20820,405 2 3631 +. 7806,2925,405 0 161070 -- MSL 15 (19U 46) +sl 8295,20820,405 2 161071 -- MSL 16 (19U 47) / " -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 +0 15612,20460,405 2 161072 -- MSL 17 (19U 48) +1 15612,20055 2 161073 -- MSL 18 (19U 49) +2 15612,20460 2 161074 -- MSL 19 (19U 50) +3 15612,20055,405 2 161075 -- MSL 20 (19U 51) +4 15612,20055 2 161076 -- MSL 21 (19U 52) +5 15612,20055,405 2 161077 -- MSL 22 (19U 53) +6 15612,20460,405 2 161078 -- MSL 23 (19U 54) +7 15612,20055 2 161079 -- MSL 24 (19U 55) +8 15612,20460,405 2 161080 -- MSL 25 (19U 56) +9 15612,20460,405 2 161081 -- MSL 26 (19U 57) +: 7806,13647,405 0 161082 -- MSL 27 (19U 58) +; 7806,13647,4320 1 161083 -- MSL 28 (19U 59) +< 26346,16068 0 161084 -- MSL 29 (19U 60) += 26835,10800 0 161085 -- MSL 30 (19U 61) +> 26346,16068 0 161086 -- MSL 31 (19U 62) +? 15126,20160,405 2 161087 -- MSL 32 (19U 63) +at 26835,21030,2745 2 161088 -- MSL 33 (19U 64) @ " -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 +A 18540,19755 2 161089 -- MSL 34 (19U 65) +B 17565,19755 2 161090 -- MSL 35 (19U 66) +C 16101,20160,405 2 161091 -- MSL 36 (19U 67) +D 18540,19755 2 161092 -- MSL 37 (19U 68) +E 15612,19755 2 161093 -- MSL 38 (19U 69) +F 15126,19755 2 161094 -- MSL 39 (19U 70) +G 18051,20160,405 2 161095 -- MSL 40 (19U 71) +H 19515,19755 2 161096 -- MSL 41 (19U 72) +I 7317,19755 2 161097 -- MSL 42 (19U 73) +J 12198,19755,405 2 161098 -- MSL 43 (19U 74) +K 16587,19755 2 161099 -- MSL 44 (19U 75) +L 13662,19755 2 161100 -- MSL 45 (19U 76) +M 23418,19755 2 161101 -- MSL 46 (19U 77) +N 19515,19755 2 161102 -- MSL 47 (19U 78) +O 19029,20160,405 2 161103 -- MSL 48 (19U 79) +P 16587,19755 2 161104 -- MSL 49 (19U 80) +Q 19029,20160,636 2 161105 -- MSL 50 (19U 81) +R 16587,19755 2 161106 -- MSL 51 (19U 82) +S 14148,20160,405 2 161107 -- MSL 52 (19U 83) +T 15126,19755 2 161108 -- MSL 53 (19U 84) +U 19029,19755,405 2 161109 -- MSL 54 (19U 85) +V 16587,19755 2 161110 -- MSL 55 (19U 86) +W 25857,19755 2 161111 -- MSL 56 (19U 87) +X 16587,19755 2 161112 -- MSL 57 (19U 88) +Y 16587,19755 2 161113 -- MSL 58 (19U 89) +Z 16101,19755 2 161114 -- MSL 59 (19U 90) +lB 7806,19755,405 2 161115 -- MSL 60 (19U 91) [ " -rs 8295,20820,405 2 3676 +rs 8295,20820,405 2 161116 -- MSL 61 (19U 92) \ " -rB 7806,19755,405 2 3677 +rB 7806,19755,405 2 161117 -- MSL 62 (19U 93) ] " -ha 13173,19758 2 51875 -_ 13173,0,6588 1 3679 -oq 6831,19755 2 51808 +ha 13173,19758 2 161118 -- MSL 63 (19U 94) +_ 13173,0,6588 1 161119 -- MSL 64 (19U 95) +oq 6831,19755 2 161169 -- MSL 66 (19U 145) ` " -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 -`A 18540,25005 2 3776 -^A 18540,25005 2 3778 -`E 15612,25005 2 3784 -^E 15612,25005 2 3786 -:E 15612,24690 2 3787 -^I 7317,25005 2 3790 -:I 7317,24690 2 3791 -aa 15612,22080 2 3764 -ga 15612,22080 2 3680 -a^ 15612,22080 2 3678 +a 15126,17160,405 0 161121 -- MSL 67 (19U 97) +b 18540,20820,405 2 161122 -- MSL 68 (19U 98) +c 14637,17160,405 0 161123 -- MSL 69 (19U 99) +d 18540,20820,405 2 161124 -- MSL 70 (19U 100) +e 16587,17160,405 0 161125 -- MSL 71 (19U 101) +f 11709,20820 2 161126 -- MSL 72 (19U 102) +g 17565,17160,3930 1 161127 -- MSL 73 (19U 103) +h 18051,20820 2 161128 -- MSL 74 (19U 104) +i 7806,21105 2 161129 -- MSL 75 (19U 105) +j 7806,21105,3930 3 161130 -- MSL 76 (19U 106) +k 15126,20820 2 161131 -- MSL 77 (19U 107) +l 7317,20820 2 161132 -- MSL 78 (19U 108) +m 27321,17160 0 161133 -- MSL 79 (19U 109) +n 18051,17160 0 161134 -- MSL 80 (19U 110) +o 18051,17160,405 0 161135 -- MSL 81 (19U 111) +p 18540,17160,3930 1 161136 -- MSL 82 (19U 112) +q 18540,17160,3930 1 161137 -- MSL 83 (19U 113) +r 12198,17160 0 161138 -- MSL 84 (19U 114) +s 12198,17160,405 0 161139 -- MSL 85 (19U 115) +t 12198,20925,405 2 161140 -- MSL 86 (19U 116) +u 17565,16755,405 0 161141 -- MSL 87 (19U 117) +v 15612,16755 0 161142 -- MSL 88 (19U 118) +w 23907,16755 0 161143 -- MSL 89 (19U 119) +x 14637,16755 0 161144 -- MSL 90 (19U 120) +y 15612,16755,3930 1 161145 -- MSL 91 (19U 121) +z 13662,16755 0 161146 -- MSL 92 (19U 122) +{ 11709,20130,6075 3 161147 -- MSL 93 (19U 123) +lC " +| 13173,19758,6588 3 161148 -- MSL 94 (19U 124) +ba " +} 11709,20130,6075 3 161149 -- MSL 95 (19U 125) +rC " +ti 26346,8952 0 161150 -- MSL 96 (19U 126) +`A 18540,25005 2 161216 -- MSL 99 (19U 192) +^A 18540,25005 2 161218 -- MSL 100 (19U 194) +`E 15612,25005 2 161224 -- MSL 101 (19U 200) +^E 15612,25005 2 161226 -- MSL 102 (19U 202) +:E 15612,24690 2 161227 -- MSL 103 (19U 203) +^I 7317,25005 2 161230 -- MSL 104 (19U 206) +:I 7317,24690 2 161231 -- MSL 105 (19U 207) +aa 15612,22080 2 161204 -- MSL 106 (19U 180) +ga 15612,22080 2 161120 -- MSL 107 (19U 96) +a^ 15612,22080 2 161160 -- MSL 108 (19U 136) ^ " -ad 15612,21840 2 3752 -a~ 15612,21873 2 3710 -~ " -`U 19029,25005,405 2 3801 -^U 19029,25005,405 2 3803 -'Y 16587,25005 2 3805 -'y 15612,22080,3930 3 3837 -de 15612,20460 2 3760 -,C 16101,20160,4896 3 3783 -,c 14637,17160,4896 1 3815 -~N 19515,24915 2 3793 -~n 18051,21873 2 3825 -r! 8295,17124,3441 0 3745 -r? 15126,17124,3441 0 3775 -Cs 15612,15684 0 3748 -Po 15612,20460 2 3747 -Ye 15612,20055 2 3749 -sc 15612,20160,4095 3 3751 -Fn 15612,20820 2 51871 -ct 15612,20526,537 2 3746 -^a 15126,22080,405 2 3810 -^e 16587,22080,405 2 3818 -^o 18051,22080,405 2 3828 -^u 17565,22080,405 2 3835 -'a 15126,22080,405 2 3809 -'e 16587,22080,405 2 3817 -'o 18051,22080,405 2 3827 -'u 17565,22080,405 2 3834 -`a 15126,22080,405 2 3808 -`e 16587,22080,405 2 3816 -`o 18051,22080,405 2 3826 -`u 17565,22080,405 2 3833 -:a 15126,21840,405 2 3812 -:e 16587,21840,405 2 3819 -:o 18051,21840,405 2 3830 -:u 17565,21840,405 2 3836 -oA 18540,26850 2 3781 -^i 7806,22080 2 3822 -/O 19029,20187,501 2 3800 -AE 30738,19755 2 3782 -oa 15126,24390,405 2 3813 -'i 7806,22080 2 3821 -/o 18051,17163,432 0 3832 -ae 26346,17160,405 0 3814 -:A 18540,24690 2 3780 -`i 7806,22080 2 3820 -:O 19029,24690,405 2 3798 -:U 19029,24690,405 2 3804 -'E 15612,25005 2 3785 -:i 7806,21840 2 3823 -ss 16587,20820,405 2 3807 -^O 19029,25005,405 2 3796 -'A 18540,25005 2 3777 -~A 18540,24915 2 3779 -~a 15126,21873,405 2 3811 --D 18540,19755 2 3792 -Sd 18051,22695,405 2 3824 -'I 7317,25005 2 3789 -`I 7317,25005 2 3788 -'O 19029,25005,405 2 3795 -`O 19029,25005,405 2 3794 -~O 19029,24915,405 2 3797 -~o 18051,21873,405 2 3829 -vS 14148,25005,405 2 51795 -vs 12198,22080,405 2 51827 -'U 19029,25005,405 2 3802 -:Y 16587,24690 2 51801 -:y 15612,21840,3930 3 3839 -TP 16587,19755 2 3806 -Tp 18540,20820,3930 3 3838 -mc 14637,12630,4350 1 3765 -ps 15612,19635,4200 3 3766 -34 26835,20610,555 2 3774 -\- 26835,8295 0 51757 -14 26835,20610,555 2 3772 -12 26835,20610,555 2 3773 -Of 15612,20460 2 3754 -Om 15612,20460 2 3770 -Fo 14148,13950 0 3755 -Fc 14148,13950 0 3771 -t+- 26835,15255,3900 1 3761 -bb 13173,19083,5916 3 3750 -co 13173,19635 2 3753 -tno 26835,11331 0 3756 -rg 13173,19635 2 3758 -S2 10245,20385 2 3762 -S3 10245,20055 2 3763 -ac 15612,324,4896 1 3768 -S1 10245,20055 2 3769 -tmu 26835,15189,579 0 3799 -tdi 26835,12780 0 3831 -pc 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 -a- 15612,21306 2 3759 -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 +ad 15612,21840 2 161192 -- MSL 109 (19U 168) +~ 15612,21873 2 161176 -- MSL 110 (19U 152) +a~ " +`U 19029,25005,405 2 161241 -- MSL 111 (19U 217) +^U 19029,25005,405 2 161243 -- MSL 112 (19U 219) +u00AF 13173,21105 2 161199 -- MSL 113 (19U 175) +'Y 16587,25005 2 161245 -- MSL 114 (19U 221) +'y 15612,22080,3930 3 161277 -- MSL 115 (19U 253) +de 15612,20460 2 161200 -- MSL 116 (19U 176) +,C 16101,20160,4896 3 161223 -- MSL 117 (19U 199) +,c 14637,17160,4896 1 161255 -- MSL 118 (19U 231) +~N 19515,24915 2 161233 -- MSL 119 (19U 209) +~n 18051,21873 2 161265 -- MSL 120 (19U 241) +r! 8295,17124,3441 0 161185 -- MSL 121 (19U 161) +r? 15126,17124,3441 0 161215 -- MSL 122 (19U 191) +Cs 15612,15684 0 161188 -- MSL 123 (19U 164) +Po 15612,20460 2 161187 -- MSL 124 (19U 163) +Ye 15612,20055 2 161189 -- MSL 125 (19U 165) +sc 15612,20160,4095 3 161191 -- MSL 126 (19U 167) +Fn 15612,20820 2 161155 -- MSL 127 (19U 131) +ct 15612,20526,537 2 161186 -- MSL 128 (19U 162) +^a 15126,22080,405 2 161250 -- MSL 129 (19U 226) +^e 16587,22080,405 2 161258 -- MSL 130 (19U 234) +^o 18051,22080,405 2 161268 -- MSL 131 (19U 244) +^u 17565,22080,405 2 161275 -- MSL 132 (19U 251) +'a 15126,22080,405 2 161249 -- MSL 133 (19U 225) +'e 16587,22080,405 2 161257 -- MSL 134 (19U 233) +'o 18051,22080,405 2 161267 -- MSL 135 (19U 243) +'u 17565,22080,405 2 161274 -- MSL 136 (19U 250) +`a 15126,22080,405 2 161248 -- MSL 137 (19U 224) +`e 16587,22080,405 2 161256 -- MSL 138 (19U 232) +`o 18051,22080,405 2 161266 -- MSL 139 (19U 242) +`u 17565,22080,405 2 161273 -- MSL 140 (19U 249) +:a 15126,21840,405 2 161252 -- MSL 141 (19U 228) +:e 16587,21840,405 2 161259 -- MSL 142 (19U 235) +:o 18051,21840,405 2 161270 -- MSL 143 (19U 246) +:u 17565,21840,405 2 161276 -- MSL 144 (19U 252) +oA 18540,26850 2 161221 -- MSL 145 (19U 197) +^i 7806,22080 2 161262 -- MSL 146 (19U 238) +/O 19029,20187,501 2 161240 -- MSL 147 (19U 216) +AE 30738,19755 2 161222 -- MSL 148 (19U 198) +oa 15126,24390,405 2 161253 -- MSL 149 (19U 229) +'i 7806,22080 2 161261 -- MSL 150 (19U 237) +/o 18051,17163,432 0 161272 -- MSL 151 (19U 248) +ae 26346,17160,405 0 161254 -- MSL 152 (19U 230) +:A 18540,24690 2 161220 -- MSL 153 (19U 196) +`i 7806,22080 2 161260 -- MSL 154 (19U 236) +:O 19029,24690,405 2 161238 -- MSL 155 (19U 214) +:U 19029,24690,405 2 161244 -- MSL 156 (19U 220) +'E 15612,25005 2 161225 -- MSL 157 (19U 201) +:i 7806,21840 2 161263 -- MSL 158 (19U 239) +ss 16587,20820,405 2 161247 -- MSL 159 (19U 223) +^O 19029,25005,405 2 161236 -- MSL 160 (19U 212) +'A 18540,25005 2 161217 -- MSL 161 (19U 193) +~A 18540,24915 2 161219 -- MSL 162 (19U 195) +~a 15126,21873,405 2 161251 -- MSL 163 (19U 227) +-D 18540,19755 2 161232 -- MSL 164 (19U 208) +Sd 18051,22695,405 2 161264 -- MSL 165 (19U 240) +'I 7317,25005 2 161229 -- MSL 166 (19U 205) +`I 7317,25005 2 161228 -- MSL 167 (19U 204) +'O 19029,25005,405 2 161235 -- MSL 168 (19U 211) +`O 19029,25005,405 2 161234 -- MSL 169 (19U 210) +~O 19029,24915,405 2 161237 -- MSL 170 (19U 213) +~o 18051,21873,405 2 161269 -- MSL 171 (19U 245) +vS 14148,25005,405 2 161162 -- MSL 172 (19U 138) +vs 12198,22080,405 2 161178 -- MSL 173 (19U 154) +'U 19029,25005,405 2 161242 -- MSL 174 (19U 218) +:Y 16587,24690 2 161183 -- MSL 175 (19U 159) +:y 15612,21840,3930 3 161279 -- MSL 176 (19U 255) +TP 16587,19755 2 161246 -- MSL 177 (19U 222) +Tp 18540,20820,3930 3 161278 -- MSL 178 (19U 254) +mc 14637,12630,4350 1 161205 -- MSL 180 (19U 181) +ps 15612,19635,4200 3 161206 -- MSL 181 (19U 182) +34 26835,20610,555 2 161214 -- MSL 182 (19U 190) +\- 26835,8295 0 60096 -- MSL 183 ( 7J 192) +14 26835,20610,555 2 161212 -- MSL 184 (19U 188) +12 26835,20610,555 2 161213 -- MSL 185 (19U 189) +Of 15612,20460 2 161194 -- MSL 186 (19U 170) +Om 15612,20460 2 161210 -- MSL 187 (19U 186) +Fo 14148,13950 0 161195 -- MSL 188 (19U 171) +Fc 14148,13950 0 161211 -- MSL 190 (19U 187) +t+- 26835,15255,3900 1 161201 -- MSL 191 (19U 177) +bb 13173,19083,5916 3 161190 -- MSL 192 (19U 166) +co 13173,19635 2 161193 -- MSL 193 (19U 169) +tno 26835,11331 0 161196 -- MSL 194 (19U 172) +u00AD 7806,10200 0 161197 -- MSL 195 (19U 173) +rg 13173,19635 2 161198 -- MSL 196 (19U 174) +S2 10245,20385 2 161202 -- MSL 197 (19U 178) +S3 10245,20055 2 161203 -- MSL 198 (19U 179) +ac 15612,324,4896 1 161208 -- MSL 199 (19U 184) +S1 10245,20055 2 161209 -- MSL 200 (19U 185) +tmu 26835,15189,579 0 161239 -- MSL 201 (19U 215) +tdi 26835,12780 0 161271 -- MSL 202 (19U 247) +u203C 15126,20160,405 2 87315 -- MSL 221 (10U 19) +u20A7 28785,20925,405 2 60121 -- MSL 232 ( 7J 217) +pc 7806,11781 0 161207 -- MSL 302 (19U 183) +u013F 13662,19755 2 51943 -- MSL 306 ( 6J 231) +u0140 8781,20820 2 51959 -- MSL 307 ( 6J 247) +u2113 15612,18150,297 0 60122 -- MSL 308 ( 7J 218) +u0149 20979,19755 2 51951 -- MSL 309 ( 6J 239) +fm 7806,20055 2 60101 -- MSL 310 ( 7J 197) +sd 15612,20055 2 60102 -- MSL 311 ( 7J 198) +dg 15612,20160,4095 3 161158 -- MSL 312 (19U 134) +tm 16101,17850 0 161177 -- MSL 313 (19U 153) +u2017 13173,0,6588 1 60095 -- MSL 314 ( 7J 191) +ah 15612,22080 2 75169 -- MSL 315 ( 9E 161) +ao 15612,24390 2 60152 -- MSL 316 ( 7J 248) +f/ 4392,20610,555 2 60109 -- MSL 324 ( 7J 205) +em 26835,9840 0 161175 -- MSL 325 (19U 151) +en 15612,9840 0 161174 -- MSL 326 (19U 150) +dd 15612,20160,4095 3 161159 -- MSL 327 (19U 135) +.i 7806,16755 0 46333 -- MSL 328 ( 5T 253) +aq 6831,19755 2 161063 -- MSL 329 (19U 39) +bu 13173,14226 0 161173 -- MSL 331 (19U 149) +u207F 11220,20385 2 87548 -- MSL 332 (10U 252) +u0111 18540,20820,405 2 75248 -- MSL 342 ( 9E 240) +u0041_0306 18540,25080 2 75203 -- MSL 400 ( 9E 195) +u0061_0306 15126,22155,405 2 75235 -- MSL 401 ( 9E 227) +u0041_0328 18540,19755,4143 3 75173 -- MSL 404 ( 9E 165) +u0061_0328 15126,17160,4143 1 75193 -- MSL 405 ( 9E 185) +'C 16101,25005,405 2 75206 -- MSL 406 ( 9E 198) +'c 14637,22080,405 2 75238 -- MSL 407 ( 9E 230) +u0041_030C 16101,25005,405 2 75208 -- MSL 410 ( 9E 200) +u0061_030C 14637,22080,405 2 75240 -- MSL 411 ( 9E 232) +u0044_030C 18540,25005 2 75215 -- MSL 414 ( 9E 207) +u0064_030C 20004,22290,405 2 75247 -- MSL 415 ( 9E 239) +u0045_030C 15612,25005 2 75212 -- MSL 416 ( 9E 204) +u0065_030C 16587,22080,405 2 75244 -- MSL 417 ( 9E 236) +u0045_0328 15612,19755,4143 3 75210 -- MSL 422 ( 9E 202) +u0065_0328 16587,17160,4143 1 75242 -- MSL 423 ( 9E 234) +u004C_0301 13662,25005 2 75205 -- MSL 440 ( 9E 197) +u006C_0301 7317,25605 2 75237 -- MSL 441 ( 9E 229) +u004C_030C 13662,19755 2 75196 -- MSL 442 ( 9E 188) +u006C_030C 9270,22290 2 75198 -- MSL 443 ( 9E 190) +u004E_0301 19515,25005 2 75217 -- MSL 446 ( 9E 209) +u006E_0301 18051,22080 2 75249 -- MSL 447 ( 9E 241) +u004E_030C 19515,25005 2 75218 -- MSL 448 ( 9E 210) +u006E_030C 18051,22080 2 75250 -- MSL 449 ( 9E 242) +u004F_030B 19029,25005,405 2 75221 -- MSL 452 ( 9E 213) +u006F_030B 18051,22080,405 2 75253 -- MSL 453 ( 9E 245) +u0052_0301 16587,25005 2 75200 -- MSL 456 ( 9E 192) +u0072_0301 12198,22080 2 75232 -- MSL 457 ( 9E 224) +u0052_030C 16587,25005 2 75224 -- MSL 458 ( 9E 216) +u0072_030C 12198,22080 2 75256 -- MSL 459 ( 9E 248) +u0053_0301 14148,25005,405 2 75148 -- MSL 462 ( 9E 140) +u0073_0301 12198,22080,405 2 75164 -- MSL 463 ( 9E 156) +u0054_030C 15126,25005 2 75149 -- MSL 466 ( 9E 141) +u0074_030C 12198,22290,405 2 75165 -- MSL 467 ( 9E 157) +u0054_0327 15126,19755,4896 3 75230 -- MSL 468 ( 9E 222) +u0074_0327 12198,20925,4896 3 75262 -- MSL 469 ( 9E 254) +u0055_030B 19029,25005,405 2 75227 -- MSL 474 ( 9E 219) +u0075_030B 17565,22080,405 2 75259 -- MSL 475 ( 9E 251) +u0055_030A 19029,26850,405 2 75225 -- MSL 476 ( 9E 217) +u0075_030A 17565,24390,405 2 75257 -- MSL 477 ( 9E 249) +u005A_0301 16101,25005 2 75151 -- MSL 482 ( 9E 143) +u007A_0301 13662,22080 2 75167 -- MSL 483 ( 9E 159) +u005A_0307 16101,24690 2 75183 -- MSL 484 ( 9E 175) +u007A_0307 13662,21840 2 75199 -- MSL 485 ( 9E 191) +u2070 10245,20385 2 51753 -- MSL 1000 ( 6J 41) +u2074 10245,20055 2 51748 -- MSL 1001 ( 6J 36) +u2075 10245,20055 2 51749 -- MSL 1002 ( 6J 37) +u2076 10245,20385 2 51806 -- MSL 1003 ( 6J 94) +u2077 10245,20055 2 51750 -- MSL 1004 ( 6J 38) +u2078 10245,20385 2 51754 -- MSL 1005 ( 6J 42) +u2079 10245,20385 2 51752 -- MSL 1006 ( 6J 40) +lq 10245,19755 2 161171 -- MSL 1017 (19U 147) +rq 10245,19755 2 161172 -- MSL 1018 (19U 148) +Bq 10245,2868,3417 0 161156 -- MSL 1019 (19U 132) +u2003 26835,0 0 51821 -- MSL 1020 ( 6J 109) +u2002 15612,0 0 51822 -- MSL 1021 ( 6J 110) +u2009 7806,0 0 51828 -- MSL 1023 ( 6J 116) +u2026 26835,2865 0 161157 -- MSL 1028 (19U 133) +vz 13662,22080 2 75166 -- MSL 1031 ( 9E 158) +u2120 16101,18000 0 128299 -- MSL 1034 (15U 43) +u211E 20004,18315,4056 1 51794 -- MSL 1036 ( 6J 82) +fi 18051,21105 2 60077 -- MSL 1040 ( 7J 173) +fl 18051,20820 2 60078 -- MSL 1041 ( 7J 174) +ff 20979,20820 2 51883 -- MSL 1042 ( 6J 171) +Fi 27321,21105 2 51884 -- MSL 1043 ( 6J 172) +Fl 27321,20820 2 51885 -- MSL 1044 ( 6J 173) +ij 15126,21105,3930 3 60134 -- MSL 1047 ( 7J 230) +u2105 26835,20610,330 2 60072 -- MSL 1060 ( 7J 168) +u0047_0306 18051,25080,405 2 46288 -- MSL 1061 ( 5T 208) +u0067_0306 17565,22155,3930 3 46320 -- MSL 1062 ( 5T 240) +u0053_0327 14148,20160,4896 3 75178 -- MSL 1063 ( 9E 170) +u0073_0327 12198,17160,4896 1 75194 -- MSL 1064 ( 9E 186) +u0049_0307 7317,24690 2 46301 -- MSL 1065 ( 5T 221) +bq 6831,2868,3417 0 161154 -- MSL 1067 (19U 130) +%0 34152,20460,405 2 161161 -- MSL 1068 (19U 137) +a- 15612,21306 2 60154 -- MSL 1084 ( 7J 250) +ab 15612,22155 2 75170 -- MSL 1086 ( 9E 162) +a. 15612,21840 2 75263 -- MSL 1088 ( 9E 255) +oe 29274,17160,405 0 161180 -- MSL 1090 (19U 156) +OE 26346,20160,405 2 161164 -- MSL 1091 (19U 140) +fo 9270,13950 0 161163 -- MSL 1092 (19U 139) +fc 9270,13950 0 161179 -- MSL 1093 (19U 155) +sq 19029,15624 0 60091 -- MSL 1094 ( 7J 187) +/L 13662,19755 2 75171 -- MSL 1095 ( 9E 163) +/l 7317,20820 2 75187 -- MSL 1096 ( 9E 179) +a" 15612,22080 2 75197 -- MSL 1097 ( 9E 189) +ho 15612,747,4143 1 75186 -- MSL 1098 ( 9E 178) +vZ 16101,25005 2 75150 -- MSL 1106 ( 9E 142) +IJ 19029,19755,405 2 60135 -- MSL 1107 ( 7J 231) diff -ruN groff-1.19/font/devlj4/AR groff-1.19.1/font/devlj4/AR --- groff-1.19/font/devlj4/AR Thu Jan 1 01:00:00 1970 +++ groff-1.19.1/font/devlj4/AR Wed Feb 18 10:01:17 2004 @@ -0,0 +1,430 @@ +# M Arial +name AR +spacewidth 7351 +pcltypeface 16602 +pclproportional 1 +pclweight 0 +pclstyle 0 +ligatures fi fl 0 +kernpairs +1 1 -1963 +A T -1963 +A V -1963 +A W -981 +A Y -1963 +A v -477 +A w -477 +A y -477 +A cq -1963 +A ' -1963 +F , -2932 +F . -2932 +F A -1459 +L T -1963 +L V -1963 +L W -1963 +L Y -1963 +L y -981 +L cq -1459 +L ' -1459 +P , -3410 +P . -3410 +P A -1963 +R T -477 +R V -477 +R W -477 +R Y -477 +T , -2932 +T hy -1459 +T - -1459 +T . -2932 +T : -2932 +T ; -2932 +T A -1963 +T O -477 +T a -2932 +T c -2932 +T e -2932 +T i -981 +T o -2932 +T r -981 +T s -2932 +T u -981 +T w -1459 +T y -1459 +V , -2428 +V hy -1459 +V - -1459 +V . -2428 +V : -981 +V ; -981 +V A -1963 +V a -1963 +V e -1459 +V i -477 +V o -1459 +V r -981 +V u -981 +V y -981 +W , -1459 +W hy -477 +W - -477 +W . -1459 +W : -477 +W ; -477 +W A -981 +W a -981 +W e -477 +W i 0 +W o -477 +W r -477 +W u -477 +W y -232 +Y , -3410 +Y hy -2428 +Y - -2428 +Y . -3410 +Y : -1459 +Y ; -1717 +Y A -1963 +Y a -1963 +Y e -2428 +Y i -981 +Y o -2428 +Y p -1963 +Y q -2428 +Y u -1459 +Y v -1459 +f f -477 +f cq 478 +f ' 478 +r , -1459 +r . -1459 +r cq 982 +r ' 982 +v , -1963 +v . -1963 +w , -1459 +w . -1459 +y , -1963 +y . -1963 +oq oq -477 +oq ` -477 +` oq -477 +` ` -477 +cq s -477 +' s -477 +cq cq -477 +cq ' -477 +' cq -477 +' ' -477 +charset +! 7351,18939 2 161057 -- U+0021 (19U 33) +dq 9392,18939 2 161058 -- U+0022 (19U 34) +" " +sh 14715,19262,323 2 161059 -- U+0023 (19U 35) +# " +Do 14715,20683,2726 2 161060 -- U+0024 (19U 36) +$ " +% 23526,19262,698 2 161061 -- U+0025 (19U 37) +& 17648,19262,439 2 161062 -- U+0026 (19U 38) +aq 5051,18939 2 161063 -- U+0027 (19U 39) +( 8811,19262,5568 3 161064 -- U+0028 (19U 40) +) 8811,19262,5568 3 161065 -- U+0029 (19U 41) +* 10297,19262 2 161066 -- U+002A (19U 42) ++ 15451,15580 0 161067 -- U+002B (19U 43) +, 7351,2648,3747 0 161068 -- U+002C (19U 44) +hy 8811,8023 0 161069 -- U+002D (19U 45) +- " +. 7351,2648 0 161070 -- U+002E (19U 46) +sl 7351,19262,323 2 161071 -- U+002F (19U 47) +/ " +0 14715,19017,323 2 161072 -- U+0030 (19U 48) +1 14715,19017 2 161073 -- U+0031 (19U 49) +2 14715,19017 2 161074 -- U+0032 (19U 50) +3 14715,19017,336 2 161075 -- U+0033 (19U 51) +4 14715,18939 2 161076 -- U+0034 (19U 52) +5 14715,18681,323 2 161077 -- U+0035 (19U 53) +6 14715,19017,323 2 161078 -- U+0036 (19U 54) +7 14715,18694 2 161079 -- U+0037 (19U 55) +8 14715,19017,323 2 161080 -- U+0038 (19U 56) +9 14715,19017,323 2 161081 -- U+0039 (19U 57) +: 7351,13720 0 161082 -- U+003A (19U 58) +; 7351,13720,3747 0 161083 -- U+003B (19U 59) +< 15451,15748 0 161084 -- U+003C (19U 60) += 15451,13307 0 161085 -- U+003D (19U 61) +> 15451,15748 0 161086 -- U+003E (19U 62) +? 14715,19262 2 161087 -- U+003F (19U 63) +at 26859,19288,5568 3 161088 -- U+0040 (19U 64) +@ " +A 17648,18939 2 161089 -- U+0041 (19U 65) +B 17648,18939 2 161090 -- U+0042 (19U 66) +C 19107,19262,323 2 161091 -- U+0043 (19U 67) +D 19107,18939 2 161092 -- U+0044 (19U 68) +E 17648,18939 2 161093 -- U+0045 (19U 69) +F 16162,18939 2 161094 -- U+0046 (19U 70) +G 20580,19262,323 2 161095 -- U+0047 (19U 71) +H 19107,18939 2 161096 -- U+0048 (19U 72) +I 7351,18939 2 161097 -- U+0049 (19U 73) +J 13229,18939,323 2 161098 -- U+004A (19U 74) +K 17648,18939 2 161099 -- U+004B (19U 75) +L 14715,18939 2 161100 -- U+004C (19U 76) +M 22040,18939 2 161101 -- U+004D (19U 77) +N 19107,18939 2 161102 -- U+004E (19U 78) +O 20580,19275,323 2 161103 -- U+004F (19U 79) +P 17648,18939 2 161104 -- U+0050 (19U 80) +Q 20580,19275,1473 2 161105 -- U+0051 (19U 81) +R 19107,18939 2 161106 -- U+0052 (19U 82) +S 17648,19262,323 2 161107 -- U+0053 (19U 83) +T 16162,18939 2 161108 -- U+0054 (19U 84) +U 19107,18939,323 2 161109 -- U+0055 (19U 85) +V 17648,18939 2 161110 -- U+0056 (19U 86) +W 24973,18939 2 161111 -- U+0057 (19U 87) +X 17648,18939 2 161112 -- U+0058 (19U 88) +Y 17648,18939 2 161113 -- U+0059 (19U 89) +Z 16162,18939 2 161114 -- U+005A (19U 90) +lB 7351,18939,5258 3 161115 -- U+005B (19U 91) +[ " +rs 7351,19262,323 2 161116 -- U+005C (19U 92) +\ " +rB 7351,18939,5258 3 161117 -- U+005D (19U 93) +] " +ha 12415,19262 2 161118 -- U+005E (19U 94) +_ 14715,0,5258 1 161119 -- U+005F (19U 95) +ga 8811,19043 2 161120 -- U+0060 (19U 96) +a 14715,14030,310 0 161121 -- U+0061 (19U 97) +b 14715,18939,310 2 161122 -- U+0062 (19U 98) +c 13229,14030,310 0 161123 -- U+0063 (19U 99) +d 14715,18939,310 2 161124 -- U+0064 (19U 100) +e 14715,14030,310 0 161125 -- U+0065 (19U 101) +f 7351,19262 2 161126 -- U+0066 (19U 102) +g 14715,14030,5568 1 161127 -- U+0067 (19U 103) +h 14715,18939 2 161128 -- U+0068 (19U 104) +i 5878,18939 2 161129 -- U+0069 (19U 105) +j 5878,18939,5568 3 161130 -- U+006A (19U 106) +k 13229,18939 2 161131 -- U+006B (19U 107) +l 5878,18939 2 161132 -- U+006C (19U 108) +m 22040,14030 0 161133 -- U+006D (19U 109) +n 14715,14030 0 161134 -- U+006E (19U 110) +o 14715,14030,310 0 161135 -- U+006F (19U 111) +p 14715,14030,5258 1 161136 -- U+0070 (19U 112) +q 14715,14030,5258 1 161137 -- U+0071 (19U 113) +r 8811,14030 0 161138 -- U+0072 (19U 114) +s 13229,14030,310 0 161139 -- U+0073 (19U 115) +t 7351,18513,181 2 161140 -- U+0074 (19U 116) +u 14715,13720,310 0 161141 -- U+0075 (19U 117) +v 13229,13720 0 161142 -- U+0076 (19U 118) +w 19107,13720 0 161143 -- U+0077 (19U 119) +x 13229,13720 0 161144 -- U+0078 (19U 120) +y 13229,13720,5568 1 161145 -- U+0079 (19U 121) +z 13229,13720 0 161146 -- U+007A (19U 122) +{ 8837,19262,5568 3 161147 -- U+007B (19U 123) +lC " +| 6873,19262,5568 3 161148 -- U+007C (19U 124) +ba " +} 8837,19262,5568 3 161149 -- U+007D (19U 125) +rC " +ti 15451,11433 0 161150 -- U+007E (19U 126) +r! 8811,13720,5219 1 161185 -- U+00A1 (19U 161) +ct 14715,18939,5284 3 161186 -- U+00A2 (19U 162) +Po 14715,19262,362 2 161187 -- U+00A3 (19U 163) +Cs 14715,15710 0 161188 -- U+00A4 (19U 164) +Ye 14715,18939 2 161189 -- U+00A5 (19U 165) +bb 6873,19262,5568 3 161190 -- U+00A6 (19U 166) +sc 14715,19262,5568 3 161191 -- U+00A7 (19U 167) +ad 8811,19056 2 161192 -- U+00A8 (19U 168) +co 19495,19262,233 2 161193 -- U+00A9 (19U 169) +Of 9793,19262 2 161194 -- U+00AA (19U 170) +Fo 14715,12712 0 161195 -- U+00AB (19U 171) +tno 15451,13307 0 161196 -- U+00AC (19U 172) +u00AD 8811,8023 0 161197 -- U+00AD (19U 173) +rg 19495,19262,233 2 161198 -- U+00AE (19U 174) +u00AF 14612,21898 2 161199 -- U+00AF (19U 175) +de 10581,19262 2 161200 -- U+00B0 (19U 176) +t+- 14521,15878 0 161201 -- U+00B1 (19U 177) +S2 8811,19172 2 161202 -- U+00B2 (19U 178) +S3 8811,19172 2 161203 -- U+00B3 (19U 179) +aa 8811,19043 2 161204 -- U+00B4 (19U 180) +mc 15245,13720,5258 1 161205 -- U+00B5 (19U 181) +ps 14211,18939,5258 3 161206 -- U+00B6 (19U 182) +pc 7351,10645 0 60157 -- U+00B7 ( 7J 253) +ac 8811,297,5439 1 161208 -- U+00B8 (19U 184) +S1 8811,19172 2 161209 -- U+00B9 (19U 185) +Om 9663,19262 2 161210 -- U+00BA (19U 186) +Fc 14715,12712 0 161211 -- U+00BB (19U 187) +14 22066,19262,736 2 161212 -- U+00BC (19U 188) +12 22066,19262,736 2 161213 -- U+00BD (19U 189) +34 22066,19262,736 2 161214 -- U+00BE (19U 190) +r? 16162,13720,5542 1 161215 -- U+00BF (19U 191) +`A 17648,23719 2 161216 -- U+00C0 (19U 192) +'A 17648,23719 2 161217 -- U+00C1 (19U 193) +^A 17648,23719 2 161218 -- U+00C2 (19U 194) +~A 17648,23086 2 161219 -- U+00C3 (19U 195) +:A 17648,22751 2 161220 -- U+00C4 (19U 196) +oA 17648,22996 2 161221 -- U+00C5 (19U 197) +AE 26458,18939 2 161222 -- U+00C6 (19U 198) +,C 19107,19262,5439 3 161223 -- U+00C7 (19U 199) +`E 17648,23719 2 161224 -- U+00C8 (19U 200) +'E 17648,23719 2 161225 -- U+00C9 (19U 201) +^E 17648,23719 2 161226 -- U+00CA (19U 202) +:E 17648,22751 2 161227 -- U+00CB (19U 203) +`I 7351,23719 2 161228 -- U+00CC (19U 204) +'I 7351,23719 2 161229 -- U+00CD (19U 205) +^I 7351,23719 2 161230 -- U+00CE (19U 206) +:I 7351,22751 2 161231 -- U+00CF (19U 207) +-D 19107,18939 2 161232 -- U+00D0 (19U 208) +~N 19107,23086 2 161233 -- U+00D1 (19U 209) +`O 20580,23719,323 2 161234 -- U+00D2 (19U 210) +'O 20580,23719,323 2 161235 -- U+00D3 (19U 211) +^O 20580,23719,323 2 161236 -- U+00D4 (19U 212) +~O 20580,23086,323 2 161237 -- U+00D5 (19U 213) +:O 20580,22751,323 2 161238 -- U+00D6 (19U 214) +tmu 15451,14986 0 161239 -- U+00D7 (19U 215) +/O 20580,19637,762 2 161240 -- U+00D8 (19U 216) +`U 19107,23719,323 2 161241 -- U+00D9 (19U 217) +'U 19107,23719,323 2 161242 -- U+00DA (19U 218) +^U 19107,23719,323 2 161243 -- U+00DB (19U 219) +:U 19107,22751,323 2 161244 -- U+00DC (19U 220) +'Y 17648,23719 2 161245 -- U+00DD (19U 221) +TP 17648,18939 2 161246 -- U+00DE (19U 222) +ss 16162,19262,323 2 161247 -- U+00DF (19U 223) +`a 14715,19043,310 2 161248 -- U+00E0 (19U 224) +'a 14715,19043,310 2 161249 -- U+00E1 (19U 225) +^a 14715,19043,310 2 161250 -- U+00E2 (19U 226) +~a 14715,18733,310 2 161251 -- U+00E3 (19U 227) +:a 14715,19056,310 2 161252 -- U+00E4 (19U 228) +oa 14715,19598,310 2 161253 -- U+00E5 (19U 229) +ae 23526,14030,310 0 161254 -- U+00E6 (19U 230) +,c 13229,14030,5181 1 161255 -- U+00E7 (19U 231) +`e 14715,19043,310 2 161256 -- U+00E8 (19U 232) +'e 14715,19043,310 2 161257 -- U+00E9 (19U 233) +^e 14715,19043,310 2 161258 -- U+00EA (19U 234) +:e 14715,19056,310 2 161259 -- U+00EB (19U 235) +`i 7351,19043 2 161260 -- U+00EC (19U 236) +'i 7351,19043 2 161261 -- U+00ED (19U 237) +^i 7351,19043 2 161262 -- U+00EE (19U 238) +:i 7351,19056 2 161263 -- U+00EF (19U 239) +Sd 14715,18939,323 2 161264 -- U+00F0 (19U 240) +~n 14715,18733 2 161265 -- U+00F1 (19U 241) +`o 14715,19043,310 2 161266 -- U+00F2 (19U 242) +'o 14715,19043,310 2 161267 -- U+00F3 (19U 243) +^o 14715,19043,310 2 161268 -- U+00F4 (19U 244) +~o 14715,18733,310 2 161269 -- U+00F5 (19U 245) +:o 14715,19056,310 2 161270 -- U+00F6 (19U 246) +tdi 14521,14560 0 161271 -- U+00F7 (19U 247) +/o 16162,14560,1021 0 161272 -- U+00F8 (19U 248) +`u 14715,19043,310 2 161273 -- U+00F9 (19U 249) +'u 14715,19043,310 2 161274 -- U+00FA (19U 250) +^u 14715,19043,310 2 161275 -- U+00FB (19U 251) +:u 14715,19056,310 2 161276 -- U+00FC (19U 252) +'y 13229,19043,5568 3 161277 -- U+00FD (19U 253) +Tp 14715,18939,5258 3 161278 -- U+00FE (19U 254) +:y 13229,19056,5568 3 161279 -- U+00FF (19U 255) +u0041_0306 17648,23448 2 75203 -- U+0102 ( 9E 195) +u0061_0306 14715,18914,310 2 75235 -- U+0103 ( 9E 227) +u0041_0328 17648,18939,5374 3 75173 -- U+0104 ( 9E 165) +u0061_0328 14715,14030,5181 1 75193 -- U+0105 ( 9E 185) +'C 19107,23719,323 2 75206 -- U+0106 ( 9E 198) +'c 13229,19043,310 2 75238 -- U+0107 ( 9E 230) +u0041_030C 19107,23642,323 2 75208 -- U+010C ( 9E 200) +u0061_030C 13229,19043,310 2 75240 -- U+010D ( 9E 232) +u0044_030C 19107,23642 2 75215 -- U+010E ( 9E 207) +u0064_030C 16265,18939,310 2 75247 -- U+010F ( 9E 239) +u0111 14715,18939,310 2 75248 -- U+0111 ( 9E 240) +u0045_0328 17648,18939,5504 3 75210 -- U+0118 ( 9E 202) +u0065_0328 14715,14030,5504 1 75242 -- U+0119 ( 9E 234) +u0045_030C 17648,23642 2 75212 -- U+011A ( 9E 204) +u0065_030C 14715,19043,310 2 75244 -- U+011B ( 9E 236) +u0047_0306 20580,23448,323 2 46288 -- U+011E ( 5T 208) +u0067_0306 14715,18914,5568 3 46320 -- U+011F ( 5T 240) +u0049_0307 7351,22996 2 46301 -- U+0130 ( 5T 221) +.i 7351,13720 0 46333 -- U+0131 ( 5T 253) +IJ 19443,18939,323 2 60135 -- U+0132 ( 7J 231) +ij 11743,18939,5568 3 60134 -- U+0133 ( 7J 230) +u004C_0301 14715,23719 2 75205 -- U+0139 ( 9E 197) +u006C_0301 5878,23526 2 75237 -- U+013A ( 9E 229) +u004C_030C 14715,18939 2 75196 -- U+013D ( 9E 188) +u006C_030C 7713,18939 2 75198 -- U+013E ( 9E 190) +u013F 14715,18939 2 95646 -- U+013F (11U 158) +u0140 8837,18939 2 95647 -- U+0140 (11U 159) +/L 14715,18939 2 75171 -- U+0141 ( 9E 163) +/l 5878,18939 2 75187 -- U+0142 ( 9E 179) +u004E_0301 19107,23719 2 75217 -- U+0143 ( 9E 209) +u006E_0301 14715,19043 2 75249 -- U+0144 ( 9E 241) +u004E_030C 19107,23719 2 75218 -- U+0147 ( 9E 210) +u006E_030C 14715,19043 2 75250 -- U+0148 ( 9E 242) +u0149 15981,19133 2 95660 -- U+0149 (11U 172) +u004F_030B 20580,23719,323 2 75221 -- U+0150 ( 9E 213) +u006F_030B 14715,19043,310 2 75253 -- U+0151 ( 9E 245) +OE 26458,19262,323 2 161164 -- U+0152 (19U 140) +oe 24973,14030,310 0 161180 -- U+0153 (19U 156) +u0052_0301 19107,23719 2 75200 -- U+0154 ( 9E 192) +u0072_0301 8811,19043 2 75232 -- U+0155 ( 9E 224) +u0052_030C 19107,23642 2 75224 -- U+0158 ( 9E 216) +u0072_030C 8811,19043 2 75256 -- U+0159 ( 9E 248) +u0053_0301 17648,23719,323 2 75148 -- U+015A ( 9E 140) +u0073_0301 13229,19043,310 2 75164 -- U+015B ( 9E 156) +u0053_0327 17648,19262,5310 3 75178 -- U+015E ( 9E 170) +u0073_0327 13229,14030,5181 1 75194 -- U+015F ( 9E 186) +vS 17648,23642,323 2 161162 -- U+0160 (19U 138) +vs 13229,19043,310 2 161178 -- U+0161 (19U 154) +u0054_0327 16162,18939,7480 3 75230 -- U+0162 ( 9E 222) +u0074_0327 7351,18513,6873 3 75262 -- U+0163 ( 9E 254) +u0054_030C 16162,23642 2 75149 -- U+0164 ( 9E 141) +u0074_030C 9922,18939,181 2 75165 -- U+0165 ( 9E 157) +u0055_030A 19107,23707,323 2 75225 -- U+016E ( 9E 217) +u0075_030A 14715,19598,310 2 75257 -- U+016F ( 9E 249) +u0055_030B 19107,23719,323 2 75227 -- U+0170 ( 9E 219) +u0075_030B 14715,19043,310 2 75259 -- U+0171 ( 9E 251) +:Y 17648,22751 2 161183 -- U+0178 (19U 159) +u005A_0301 16162,23719 2 75151 -- U+0179 ( 9E 143) +u007A_0301 13229,19043 2 75167 -- U+017A ( 9E 159) +u005A_0307 16162,22996 2 75183 -- U+017B ( 9E 175) +u007A_0307 13229,18319 2 75199 -- U+017C ( 9E 191) +vZ 16162,23642 2 75150 -- U+017D ( 9E 142) +vz 13229,19043 2 75166 -- U+017E ( 9E 158) +Fn 14715,19275,5568 3 161155 -- U+0192 (19U 131) +a^ 8811,19043 2 161160 -- U+02C6 (19U 136) +^ " +ah 8811,19043 2 75169 -- U+02C7 ( 9E 161) +a- 8811,17764 2 60154 -- U+02C9 ( 7J 250) +ab 8811,18914 2 75170 -- U+02D8 ( 9E 162) +a. 8811,18319 2 75263 -- U+02D9 ( 9E 255) +ao 8811,19598 2 60152 -- U+02DA ( 7J 248) +ho 8811,310,5504 1 75186 -- U+02DB ( 9E 178) +~ 8811,18733 2 161176 -- U+02DC (19U 152) +a~ " +a" 8811,19043 2 75197 -- U+02DD ( 9E 189) +en 14715,7790 0 161174 -- U+2013 (19U 150) +em 26458,7790 0 161175 -- U+2014 (19U 151) +u2017 14612,0,8591 1 60095 -- U+2017 ( 7J 191) +oq 5878,19262 2 161169 -- U+2018 (19U 145) +` " +cq 5878,19133 2 161170 -- U+2019 (19U 146) +' " +bq 5878,2700,3501 0 161154 -- U+201A (19U 130) +lq 8811,19262 2 161171 -- U+201C (19U 147) +rq 8811,19133 2 161172 -- U+201D (19U 148) +Bq 8811,2700,3501 0 161156 -- U+201E (19U 132) +dg 14715,18500,4470 2 161158 -- U+2020 (19U 134) +dd 14715,18681,4470 2 161159 -- U+2021 (19U 135) +bu 9263,12544 0 161173 -- U+2022 (19U 149) +u2026 26458,2648 0 161157 -- U+2026 (19U 133) +%0 26458,19262,698 2 161161 -- U+2030 (19U 137) +fm 4961,18939 2 60101 -- U+2032 ( 7J 197) +sd 9366,18939 2 60102 -- U+2033 ( 7J 198) +fo 8811,12712 0 161163 -- U+2039 (19U 139) +fc 8811,12712 0 161179 -- U+203A (19U 155) +u203C 13229,18939 2 87315 -- U+203C (10U 19) +u207F 9651,15477 0 87548 -- U+207F (10U 252) +u20A7 28939,18939,336 2 60121 -- U+20A7 ( 7J 217) +Eu 14715,19262,323 2 161152 -- U+20AC (19U 128) +u2105 23422,19262,698 2 60072 -- U+2105 ( 7J 168) +u2113 8552,19262,310 2 60122 -- U+2113 ( 7J 218) +tm 26458,18939 2 161177 -- U+2122 (19U 153) +\- 15451,10426 0 60096 -- U+2212 ( 7J 192) +f/ 4418,19262,736 2 60109 -- U+2215 ( 7J 205) +sq 15981,12196 0 60091 -- U+25A1 ( 7J 187) +u25CA 13074,18371 2 101079 -- U+25CA (12J 215) +fi 13229,19262 2 60077 -- U+FB01 ( 7J 173) +fl 13229,19262 2 60078 -- U+FB02 ( 7J 174) diff -ruN groff-1.19/font/devlj4/CB groff-1.19.1/font/devlj4/CB --- groff-1.19/font/devlj4/CB Tue Feb 25 06:38:55 2003 +++ groff-1.19.1/font/devlj4/CB Wed Feb 18 10:01:17 2004 @@ -1,3 +1,4 @@ +# Courier Bd name CB spacewidth 15873 pcltypeface 4099 @@ -5,255 +6,325 @@ pclweight 3 pclstyle 0 charset -! 15873,15060,330 0 3617 -dq 15873,15060 0 3618 +! 15873,15060,330 0 161057 -- MSL 1 (19U 33) +dq 15873,15060 0 161058 -- MSL 2 (19U 34) " " -sh 15873,17091,1389 2 3619 +sh 15873,17091,1389 2 161059 -- MSL 3 (19U 35) # " -Do 15873,17010,3306 2 3620 +Do 15873,17010,3306 2 161060 -- MSL 4 (19U 36) $ " -% 15873,16275,900 2 3621 -& 15873,14244,330 0 3622 -cq 15873,15060 0 51751 +% 15873,16275,900 2 161061 -- MSL 5 (19U 37) +& 15873,14244,330 0 161062 -- MSL 6 (19U 38) +cq 15873,15060 0 161170 -- MSL 8 (19U 146) ' " -( 15873,16935,2295 2 3624 -) 15873,16935,2295 2 3625 -* 15873,15060 0 3626 -+ 15873,11535 0 3627 -, 15873,4305,2655 0 3628 -hy 15873,7440 0 3629 +( 15873,16935,2295 2 161064 -- MSL 9 (19U 40) +) 15873,16935,2295 2 161065 -- MSL 10 (19U 41) +* 15873,15060 0 161066 -- MSL 11 (19U 42) ++ 15873,11535 0 161067 -- MSL 12 (19U 43) +, 15873,4305,2655 0 161068 -- MSL 13 (19U 44) +hy 15873,7440 0 161069 -- MSL 14 (19U 45) - " -. 15873,4035,330 0 3630 -sl 15873,18300,3525 2 3631 +. 15873,4035,330 0 161070 -- MSL 15 (19U 46) +sl 15873,18300,3525 2 161071 -- MSL 16 (19U 47) / " -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 +0 15873,16155,330 2 161072 -- MSL 17 (19U 48) +1 15873,16155 2 161073 -- MSL 18 (19U 49) +2 15873,16155 2 161074 -- MSL 19 (19U 50) +3 15873,16155,330 2 161075 -- MSL 20 (19U 51) +4 15873,16155 2 161076 -- MSL 21 (19U 52) +5 15873,15825,330 2 161077 -- MSL 22 (19U 53) +6 15873,16155,330 2 161078 -- MSL 23 (19U 54) +7 15873,15825 2 161079 -- MSL 24 (19U 55) +8 15873,16155,330 2 161080 -- MSL 25 (19U 56) +9 15873,16155,330 2 161081 -- MSL 26 (19U 57) +: 15873,10635,330 0 161082 -- MSL 27 (19U 58) +; 15873,10635,2655 0 161083 -- MSL 28 (19U 59) +< 15873,11667,243 0 161084 -- MSL 29 (19U 60) += 15873,8886 0 161085 -- MSL 30 (19U 61) +> 15873,11667,243 0 161086 -- MSL 31 (19U 62) +? 15873,15390,330 2 161087 -- MSL 32 (19U 63) +at 15873,15276,489 2 161088 -- MSL 33 (19U 64) @ " -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 +A 15873,15060 0 161089 -- MSL 34 (19U 65) +B 15873,15060 0 161090 -- MSL 35 (19U 66) +C 15873,15390,330 2 161091 -- MSL 36 (19U 67) +D 15873,15060 0 161092 -- MSL 37 (19U 68) +E 15873,15060 0 161093 -- MSL 38 (19U 69) +F 15873,15060 0 161094 -- MSL 39 (19U 70) +G 15873,15390,330 2 161095 -- MSL 40 (19U 71) +H 15873,15060 0 161096 -- MSL 41 (19U 72) +I 15873,15060 0 161097 -- MSL 42 (19U 73) +J 15873,15060,330 0 161098 -- MSL 43 (19U 74) +K 15873,15060 0 161099 -- MSL 44 (19U 75) +L 15873,15060 0 161100 -- MSL 45 (19U 76) +M 15873,15060 0 161101 -- MSL 46 (19U 77) +N 15873,15060,330 0 161102 -- MSL 47 (19U 78) +O 15873,15390,330 2 161103 -- MSL 48 (19U 79) +P 15873,15060 0 161104 -- MSL 49 (19U 80) +Q 15873,15390,3801 2 161105 -- MSL 50 (19U 81) +R 15873,15060 0 161106 -- MSL 51 (19U 82) +S 15873,15390,330 2 161107 -- MSL 52 (19U 83) +T 15873,15060 0 161108 -- MSL 53 (19U 84) +U 15873,15060,330 0 161109 -- MSL 54 (19U 85) +V 15873,15060 0 161110 -- MSL 55 (19U 86) +W 15873,15060 0 161111 -- MSL 56 (19U 87) +X 15873,15060 0 161112 -- MSL 57 (19U 88) +Y 15873,15060 0 161113 -- MSL 58 (19U 89) +Z 15873,15060 0 161114 -- MSL 59 (19U 90) +lB 15873,16935,2295 2 161115 -- MSL 60 (19U 91) [ " -rs 15873,18300,3525 2 3676 +rs 15873,18300,3525 2 161116 -- MSL 61 (19U 92) \ " -rB 15873,16935,2295 2 3677 +rB 15873,16935,2295 2 161117 -- MSL 62 (19U 93) ] " -ha 15873,19758 2 51875 -_ 15873,0,6588 1 3679 -oq 15873,15060 0 51808 +ha 15873,19758 2 161118 -- MSL 63 (19U 94) +_ 15873,0,6588 1 161119 -- MSL 64 (19U 95) +oq 15873,15060 0 161169 -- MSL 66 (19U 145) ` " -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 -`A 15873,21375 2 3776 -^A 15873,21375 2 3778 -`E 15873,21375 2 3784 -^E 15873,21375 2 3786 -:E 15873,20790 2 3787 -^I 15873,21375 2 3790 -:I 15873,20790 2 3791 -aa 15873,17880 2 3764 -ga 15873,17880 2 3680 -a^ 15873,17880 2 3678 +a 15873,11775,330 0 161121 -- MSL 67 (19U 97) +b 15873,16350,330 2 161122 -- MSL 68 (19U 98) +c 15873,11775,330 0 161123 -- MSL 69 (19U 99) +d 15873,16350,330 2 161124 -- MSL 70 (19U 100) +e 15873,11775,330 0 161125 -- MSL 71 (19U 101) +f 15873,16350 2 161126 -- MSL 72 (19U 102) +g 15873,11775,4845 1 161127 -- MSL 73 (19U 103) +h 15873,16350 2 161128 -- MSL 74 (19U 104) +i 15873,16920 2 161129 -- MSL 75 (19U 105) +j 15873,16920,4845 3 161130 -- MSL 76 (19U 106) +k 15873,16350 2 161131 -- MSL 77 (19U 107) +l 15873,16350 2 161132 -- MSL 78 (19U 108) +m 15873,11775 0 161133 -- MSL 79 (19U 109) +n 15873,11775 0 161134 -- MSL 80 (19U 110) +o 15873,11775,330 0 161135 -- MSL 81 (19U 111) +p 15873,11775,4845 1 161136 -- MSL 82 (19U 112) +q 15873,11775,4845 1 161137 -- MSL 83 (19U 113) +r 15873,11775 0 161138 -- MSL 84 (19U 114) +s 15873,11775,330 0 161139 -- MSL 85 (19U 115) +t 15873,14940,330 0 161140 -- MSL 86 (19U 116) +u 15873,11445,330 0 161141 -- MSL 87 (19U 117) +v 15873,11445 0 161142 -- MSL 88 (19U 118) +w 15873,11445 0 161143 -- MSL 89 (19U 119) +x 15873,11445 0 161144 -- MSL 90 (19U 120) +y 15873,11445,4845 1 161145 -- MSL 91 (19U 121) +z 15873,11445 0 161146 -- MSL 92 (19U 122) +{ 15873,20130,6075 3 161147 -- MSL 93 (19U 123) +lC " +| 15873,19758,6588 3 161148 -- MSL 94 (19U 124) +ba " +} 15873,20130,6075 3 161149 -- MSL 95 (19U 125) +rC " +ti 15873,8160 0 161150 -- MSL 96 (19U 126) +`A 15873,21375 2 161216 -- MSL 99 (19U 192) +^A 15873,21375 2 161218 -- MSL 100 (19U 194) +`E 15873,21375 2 161224 -- MSL 101 (19U 200) +^E 15873,21375 2 161226 -- MSL 102 (19U 202) +:E 15873,20790 2 161227 -- MSL 103 (19U 203) +^I 15873,21375 2 161230 -- MSL 104 (19U 206) +:I 15873,20790 2 161231 -- MSL 105 (19U 207) +aa 15873,17880 2 161204 -- MSL 106 (19U 180) +ga 15873,17880 2 161120 -- MSL 107 (19U 96) +a^ 15873,17880 2 161160 -- MSL 108 (19U 136) ^ " -ad 15873,16890 2 3752 -a~ 15873,16959 2 3710 -~ " -`U 15873,21375,330 2 3801 -^U 15873,21375,330 2 3803 -'Y 15873,21375 2 3805 -'y 15873,17880,4845 3 3837 -de 15873,16155 2 3760 -,C 15873,15390,5457 3 3783 -,c 15873,11775,5469 1 3815 -~N 15873,20490,330 2 3793 -~n 15873,16959 2 3825 -r! 15873,11784,3606 0 3745 -r? 15873,11751,3969 0 3775 -Cs 15873,15834 2 3748 -Po 15873,16155,741 2 3747 -Ye 15873,15825 2 3749 -sc 15873,15390,1692 2 3751 -Fn 15873,16350,3114 2 51871 -ct 15873,15966,1419 2 3746 -^a 15873,17880,330 2 3810 -^e 15873,17880,330 2 3818 -^o 15873,17880,330 2 3828 -^u 15873,17880,330 2 3835 -'a 15873,17880,330 2 3809 -'e 15873,17880,330 2 3817 -'o 15873,17880,330 2 3827 -'u 15873,17880,330 2 3834 -`a 15873,17880,330 2 3808 -`e 15873,17880,330 2 3816 -`o 15873,17880,330 2 3826 -`u 15873,17880,330 2 3833 -:a 15873,16890,330 2 3812 -:e 15873,16890,330 2 3819 -:o 15873,16890,330 2 3830 -:u 15873,16890,330 2 3836 -oA 15873,21780 2 3781 -^i 15873,17880 2 3822 -/O 15873,15432,492 2 3800 -AE 15873,15060 0 3782 -oa 15873,18900,330 2 3813 -'i 15873,17880 2 3821 -/o 15873,11913,600 0 3832 -ae 15873,11775,330 0 3814 -:A 15873,20790 2 3780 -`i 15873,17880 2 3820 -:O 15873,20790,330 2 3798 -:U 15873,20790,330 2 3804 -'E 15873,21375 2 3785 -:i 15873,16890 2 3823 -ss 15873,16350,330 2 3807 -^O 15873,21375,330 2 3796 -'A 15873,21375 2 3777 -~A 15873,20490 2 3779 -~a 15873,16959,330 2 3811 --D 15873,15060 0 3792 -Sd 15873,18249,330 2 3824 -'I 15873,21375 2 3789 -`I 15873,21375 2 3788 -'O 15873,21375,330 2 3795 -`O 15873,21375,330 2 3794 -~O 15873,20490,330 2 3797 -~o 15873,16959,330 2 3829 -vS 15873,21375,330 2 51795 -vs 15873,17880,330 2 51827 -'U 15873,21375,330 2 3802 -:Y 15873,20790 2 51801 -:y 15873,16890,4845 3 3839 -TP 15873,15060 0 3806 -Tp 15873,16350,4845 3 3838 -mc 15873,11445,5580 1 3765 -ps 15873,19635,4080 2 3766 -34 15873,16545,2415 2 3774 -\- 15873,7020 0 51757 -14 15873,16545,2415 2 3772 -12 15873,16545,2415 2 3773 -Of 15873,16155 2 3754 -Om 15873,16155 2 3770 -Fo 15873,11595 0 3755 -Fc 15873,11595 0 3771 -t+- 15873,11535,3360 0 3761 -bb 15873,19083,5916 3 3750 -co 15873,19635 2 3753 -tno 15873,9420 0 3756 -rg 15873,19635 2 3758 -S2 15873,16035 2 3762 -S3 15873,16035 2 3763 -ac 15873,0,5469 1 3768 -S1 15873,16035 2 3769 -tmu 15873,11340 0 3799 -tdi 15873,11190 0 3831 -pc 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 -a- 15873,15567 2 3759 -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 +ad 15873,16890 2 161192 -- MSL 109 (19U 168) +~ 15873,16959 2 161176 -- MSL 110 (19U 152) +a~ " +`U 15873,21375,330 2 161241 -- MSL 111 (19U 217) +^U 15873,21375,330 2 161243 -- MSL 112 (19U 219) +u00AF 15873,21108 2 161199 -- MSL 113 (19U 175) +'Y 15873,21375 2 161245 -- MSL 114 (19U 221) +'y 15873,17880,4845 3 161277 -- MSL 115 (19U 253) +de 15873,16155 2 161200 -- MSL 116 (19U 176) +,C 15873,15390,5457 3 161223 -- MSL 117 (19U 199) +,c 15873,11775,5469 1 161255 -- MSL 118 (19U 231) +~N 15873,20490,330 2 161233 -- MSL 119 (19U 209) +~n 15873,16959 2 161265 -- MSL 120 (19U 241) +r! 15873,11784,3606 0 161185 -- MSL 121 (19U 161) +r? 15873,11751,3969 0 161215 -- MSL 122 (19U 191) +Cs 15873,15834 2 161188 -- MSL 123 (19U 164) +Po 15873,16155,741 2 161187 -- MSL 124 (19U 163) +Ye 15873,15825 2 161189 -- MSL 125 (19U 165) +sc 15873,15390,1692 2 161191 -- MSL 126 (19U 167) +Fn 15873,16350,3114 2 161155 -- MSL 127 (19U 131) +ct 15873,15966,1419 2 161186 -- MSL 128 (19U 162) +^a 15873,17880,330 2 161250 -- MSL 129 (19U 226) +^e 15873,17880,330 2 161258 -- MSL 130 (19U 234) +^o 15873,17880,330 2 161268 -- MSL 131 (19U 244) +^u 15873,17880,330 2 161275 -- MSL 132 (19U 251) +'a 15873,17880,330 2 161249 -- MSL 133 (19U 225) +'e 15873,17880,330 2 161257 -- MSL 134 (19U 233) +'o 15873,17880,330 2 161267 -- MSL 135 (19U 243) +'u 15873,17880,330 2 161274 -- MSL 136 (19U 250) +`a 15873,17880,330 2 161248 -- MSL 137 (19U 224) +`e 15873,17880,330 2 161256 -- MSL 138 (19U 232) +`o 15873,17880,330 2 161266 -- MSL 139 (19U 242) +`u 15873,17880,330 2 161273 -- MSL 140 (19U 249) +:a 15873,16890,330 2 161252 -- MSL 141 (19U 228) +:e 15873,16890,330 2 161259 -- MSL 142 (19U 235) +:o 15873,16890,330 2 161270 -- MSL 143 (19U 246) +:u 15873,16890,330 2 161276 -- MSL 144 (19U 252) +oA 15873,21780 2 161221 -- MSL 145 (19U 197) +^i 15873,17880 2 161262 -- MSL 146 (19U 238) +/O 15873,15432,492 2 161240 -- MSL 147 (19U 216) +AE 15873,15060 0 161222 -- MSL 148 (19U 198) +oa 15873,18900,330 2 161253 -- MSL 149 (19U 229) +'i 15873,17880 2 161261 -- MSL 150 (19U 237) +/o 15873,11913,600 0 161272 -- MSL 151 (19U 248) +ae 15873,11775,330 0 161254 -- MSL 152 (19U 230) +:A 15873,20790 2 161220 -- MSL 153 (19U 196) +`i 15873,17880 2 161260 -- MSL 154 (19U 236) +:O 15873,20790,330 2 161238 -- MSL 155 (19U 214) +:U 15873,20790,330 2 161244 -- MSL 156 (19U 220) +'E 15873,21375 2 161225 -- MSL 157 (19U 201) +:i 15873,16890 2 161263 -- MSL 158 (19U 239) +ss 15873,16350,330 2 161247 -- MSL 159 (19U 223) +^O 15873,21375,330 2 161236 -- MSL 160 (19U 212) +'A 15873,21375 2 161217 -- MSL 161 (19U 193) +~A 15873,20490 2 161219 -- MSL 162 (19U 195) +~a 15873,16959,330 2 161251 -- MSL 163 (19U 227) +-D 15873,15060 0 161232 -- MSL 164 (19U 208) +Sd 15873,18249,330 2 161264 -- MSL 165 (19U 240) +'I 15873,21375 2 161229 -- MSL 166 (19U 205) +`I 15873,21375 2 161228 -- MSL 167 (19U 204) +'O 15873,21375,330 2 161235 -- MSL 168 (19U 211) +`O 15873,21375,330 2 161234 -- MSL 169 (19U 210) +~O 15873,20490,330 2 161237 -- MSL 170 (19U 213) +~o 15873,16959,330 2 161269 -- MSL 171 (19U 245) +vS 15873,21375,330 2 161162 -- MSL 172 (19U 138) +vs 15873,17880,330 2 161178 -- MSL 173 (19U 154) +'U 15873,21375,330 2 161242 -- MSL 174 (19U 218) +:Y 15873,20790 2 161183 -- MSL 175 (19U 159) +:y 15873,16890,4845 3 161279 -- MSL 176 (19U 255) +TP 15873,15060 0 161246 -- MSL 177 (19U 222) +Tp 15873,16350,4845 3 161278 -- MSL 178 (19U 254) +mc 15873,11445,5580 1 161205 -- MSL 180 (19U 181) +ps 15873,19635,4080 2 161206 -- MSL 181 (19U 182) +34 15873,16545,2415 2 161214 -- MSL 182 (19U 190) +\- 15873,7020 0 60096 -- MSL 183 ( 7J 192) +14 15873,16545,2415 2 161212 -- MSL 184 (19U 188) +12 15873,16545,2415 2 161213 -- MSL 185 (19U 189) +Of 15873,16155 2 161194 -- MSL 186 (19U 170) +Om 15873,16155 2 161210 -- MSL 187 (19U 186) +Fo 15873,11595 0 161195 -- MSL 188 (19U 171) +Fc 15873,11595 0 161211 -- MSL 190 (19U 187) +t+- 15873,11535,3360 0 161201 -- MSL 191 (19U 177) +bb 15873,19083,5916 3 161190 -- MSL 192 (19U 166) +co 15873,19635 2 161193 -- MSL 193 (19U 169) +tno 15873,9420 0 161196 -- MSL 194 (19U 172) +u00AD 15873,7440 0 161197 -- MSL 195 (19U 173) +rg 15873,19635 2 161198 -- MSL 196 (19U 174) +S2 15873,16035 2 161202 -- MSL 197 (19U 178) +S3 15873,16035 2 161203 -- MSL 198 (19U 179) +ac 15873,0,5469 1 161208 -- MSL 199 (19U 184) +S1 15873,16035 2 161209 -- MSL 200 (19U 185) +tmu 15873,11340 0 161239 -- MSL 201 (19U 215) +tdi 15873,11190 0 161271 -- MSL 202 (19U 247) +u203C 15873,15060,330 0 87315 -- MSL 221 (10U 19) +u20A7 15873,15060,330 0 60121 -- MSL 232 ( 7J 217) +pc 15873,10176 0 161207 -- MSL 302 (19U 183) +u013F 15873,15060 0 51943 -- MSL 306 ( 6J 231) +u0140 15873,16350 2 51959 -- MSL 307 ( 6J 247) +u2113 15873,18045,765 2 60122 -- MSL 308 ( 7J 218) +u0149 15873,15060 0 51951 -- MSL 309 ( 6J 239) +fm 15873,15825 2 60101 -- MSL 310 ( 7J 197) +sd 15873,15825 2 60102 -- MSL 311 ( 7J 198) +dg 15873,15060,1185 0 161158 -- MSL 312 (19U 134) +tm 15873,17850 2 161177 -- MSL 313 (19U 153) +u2017 15873,0,6588 1 60095 -- MSL 314 ( 7J 191) +ah 15873,17880 2 75169 -- MSL 315 ( 9E 161) +ao 15873,18900 2 60152 -- MSL 316 ( 7J 248) +f/ 15873,16695,2265 2 60109 -- MSL 324 ( 7J 205) +em 15873,7440 0 161175 -- MSL 325 (19U 151) +en 15873,7440 0 161174 -- MSL 326 (19U 150) +dd 15873,15060,1185 0 161159 -- MSL 327 (19U 135) +.i 15873,11445 0 46333 -- MSL 328 ( 5T 253) +aq 15873,15060 0 161063 -- MSL 329 (19U 39) +bu 15873,12714 0 161173 -- MSL 331 (19U 149) +u207F 15873,16035 2 87548 -- MSL 332 (10U 252) +u0111 15873,16350,330 2 75248 -- MSL 342 ( 9E 240) +u0041_0306 15873,20805 2 75203 -- MSL 400 ( 9E 195) +u0061_0306 15873,17310,330 2 75235 -- MSL 401 ( 9E 227) +u0041_0328 15873,15060,4437 1 75173 -- MSL 404 ( 9E 165) +u0061_0328 15873,11775,4680 1 75193 -- MSL 405 ( 9E 185) +'C 15873,21375,330 2 75206 -- MSL 406 ( 9E 198) +'c 15873,17880,330 2 75238 -- MSL 407 ( 9E 230) +u0041_030C 15873,21375,330 2 75208 -- MSL 410 ( 9E 200) +u0061_030C 15873,17880,330 2 75240 -- MSL 411 ( 9E 232) +u0044_030C 15873,21375 2 75215 -- MSL 414 ( 9E 207) +u0064_030C 15873,18990,330 2 75247 -- MSL 415 ( 9E 239) +u0045_030C 15873,21375 2 75212 -- MSL 416 ( 9E 204) +u0065_030C 15873,17880,330 2 75244 -- MSL 417 ( 9E 236) +u0045_0328 15873,15060,4437 1 75210 -- MSL 422 ( 9E 202) +u0065_0328 15873,11775,4680 1 75242 -- MSL 423 ( 9E 234) +u004C_0301 15873,21375 2 75205 -- MSL 440 ( 9E 197) +u006C_0301 15873,22497 2 75237 -- MSL 441 ( 9E 229) +u004C_030C 15873,18990 2 75196 -- MSL 442 ( 9E 188) +u006C_030C 15873,18990 2 75198 -- MSL 443 ( 9E 190) +u004E_0301 15873,21375,330 2 75217 -- MSL 446 ( 9E 209) +u006E_0301 15873,17880 2 75249 -- MSL 447 ( 9E 241) +u004E_030C 15873,21375,330 2 75218 -- MSL 448 ( 9E 210) +u006E_030C 15873,17880 2 75250 -- MSL 449 ( 9E 242) +u004F_030B 15873,22215,330 2 75221 -- MSL 452 ( 9E 213) +u006F_030B 15873,18720,330 2 75253 -- MSL 453 ( 9E 245) +u0052_0301 15873,21375 2 75200 -- MSL 456 ( 9E 192) +u0072_0301 15873,17880 2 75232 -- MSL 457 ( 9E 224) +u0052_030C 15873,21375 2 75224 -- MSL 458 ( 9E 216) +u0072_030C 15873,17880 2 75256 -- MSL 459 ( 9E 248) +u0053_0301 15873,21375,330 2 75148 -- MSL 462 ( 9E 140) +u0073_0301 15873,17880,330 2 75164 -- MSL 463 ( 9E 156) +u0054_030C 15873,21375 2 75149 -- MSL 466 ( 9E 141) +u0074_030C 15873,18990,330 2 75165 -- MSL 467 ( 9E 157) +u0054_0327 15873,15060,5457 1 75230 -- MSL 468 ( 9E 222) +u0074_0327 15873,14940,5469 1 75262 -- MSL 469 ( 9E 254) +u0055_030B 15873,22215,330 2 75227 -- MSL 474 ( 9E 219) +u0075_030B 15873,18720,330 2 75259 -- MSL 475 ( 9E 251) +u0055_030A 15873,21780,330 2 75225 -- MSL 476 ( 9E 217) +u0075_030A 15873,18900,330 2 75257 -- MSL 477 ( 9E 249) +u005A_0301 15873,21375 2 75151 -- MSL 482 ( 9E 143) +u007A_0301 15873,17880 2 75167 -- MSL 483 ( 9E 159) +u005A_0307 15873,20790 2 75183 -- MSL 484 ( 9E 175) +u007A_0307 15873,16890 2 75199 -- MSL 485 ( 9E 191) +u2070 15873,16035 2 51753 -- MSL 1000 ( 6J 41) +u2074 15873,16035 2 51748 -- MSL 1001 ( 6J 36) +u2075 15873,15825 2 51749 -- MSL 1002 ( 6J 37) +u2076 15873,16035 2 51806 -- MSL 1003 ( 6J 94) +u2077 15873,15825 2 51750 -- MSL 1004 ( 6J 38) +u2078 15873,16035 2 51754 -- MSL 1005 ( 6J 42) +u2079 15873,16035 2 51752 -- MSL 1006 ( 6J 40) +lq 15873,15060 0 161171 -- MSL 1017 (19U 147) +rq 15873,15060 0 161172 -- MSL 1018 (19U 148) +Bq 15873,4602,2358 0 161156 -- MSL 1019 (19U 132) +u2003 15873,0 0 51821 -- MSL 1020 ( 6J 109) +u2002 15873,0 0 51822 -- MSL 1021 ( 6J 110) +u2009 15873,0 0 51828 -- MSL 1023 ( 6J 116) +u2026 15873,2925,330 0 161157 -- MSL 1028 (19U 133) +vz 15873,17880 2 75166 -- MSL 1031 ( 9E 158) +u2120 15873,18000 2 128299 -- MSL 1034 (15U 43) +u211E 15873,15060,2466 0 51794 -- MSL 1036 ( 6J 82) +fi 15873,16920 2 60077 -- MSL 1040 ( 7J 173) +fl 15873,16350 2 60078 -- MSL 1041 ( 7J 174) +ff 15873,16350 2 51883 -- MSL 1042 ( 6J 171) +Fi 15873,16350 2 51884 -- MSL 1043 ( 6J 172) +Fl 15873,16350 2 51885 -- MSL 1044 ( 6J 173) +ij 15873,16920,4845 3 60134 -- MSL 1047 ( 7J 230) +u2105 15873,16695,2985 2 60072 -- MSL 1060 ( 7J 168) +u0047_0306 15873,20805,330 2 46288 -- MSL 1061 ( 5T 208) +u0067_0306 15873,17310,4845 3 46320 -- MSL 1062 ( 5T 240) +u0053_0327 15873,15390,5457 3 75178 -- MSL 1063 ( 9E 170) +u0073_0327 15873,11775,5469 1 75194 -- MSL 1064 ( 9E 186) +u0049_0307 15873,20790 2 46301 -- MSL 1065 ( 5T 221) +bq 15873,4605,2355 0 161154 -- MSL 1067 (19U 130) +%0 15873,16275,900 2 161161 -- MSL 1068 (19U 137) +a- 15873,15567 2 60154 -- MSL 1084 ( 7J 250) +ab 15873,17310 2 75170 -- MSL 1086 ( 9E 162) +a. 15873,16890 2 75263 -- MSL 1088 ( 9E 255) +oe 15873,11775,330 0 161180 -- MSL 1090 (19U 156) +OE 15873,15060 0 161164 -- MSL 1091 (19U 140) +fo 15873,11085 0 161163 -- MSL 1092 (19U 139) +fc 15873,11085 0 161179 -- MSL 1093 (19U 155) +sq 15873,14106 0 60091 -- MSL 1094 ( 7J 187) +/L 15873,15060 0 75171 -- MSL 1095 ( 9E 163) +/l 15873,16350 2 75187 -- MSL 1096 ( 9E 179) +a" 15873,18720 2 75197 -- MSL 1097 ( 9E 189) +ho 15873,573,4680 1 75186 -- MSL 1098 ( 9E 178) +vZ 15873,21375 2 75150 -- MSL 1106 ( 9E 142) +IJ 15873,15060,3837 0 60135 -- MSL 1107 ( 7J 231) diff -ruN groff-1.19/font/devlj4/CBI groff-1.19.1/font/devlj4/CBI --- groff-1.19/font/devlj4/CBI Tue Feb 25 06:38:55 2003 +++ groff-1.19.1/font/devlj4/CBI Wed Feb 18 10:01:17 2004 @@ -1,3 +1,4 @@ +# Courier BdIt name CBI spacewidth 15873 slant 11.300000 @@ -6,255 +7,325 @@ pclweight 3 pclstyle 1 charset -! 15873,15060,330,0,-3018 0 3617 -dq 15873,15060,0,0,-2661 0 3618 +! 15873,15060,330,0,-3017 0 161057 -- MSL 1 (19U 33) +dq 15873,15060,0,0,-2660 0 161058 -- MSL 2 (19U 34) " " -sh 15873,17091,1389,279,363,279 2 3619 +sh 15873,17091,1389,279,363,279 2 161059 -- MSL 3 (19U 35) # " -Do 15873,17007,3306,0,279 2 3620 +Do 15873,17007,3306,0,279 2 161060 -- MSL 4 (19U 36) $ " -% 15873,16275,900,0,-396 2 3621 -& 15873,14238,330,0,426 0 3622 -cq 15873,15060,0,0,-2745 0 51751 +% 15873,16275,900,0,-395 2 161061 -- MSL 5 (19U 37) +& 15873,14238,330,0,426 0 161062 -- MSL 6 (19U 38) +cq 15873,15060,0,0,-2744 0 161170 -- MSL 8 (19U 146) ' " -( 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 -hy 15873,8805,0,0,-2319 0 3629 +( 15873,16935,2295,0,-3092 2 161064 -- MSL 9 (19U 40) +) 15873,16935,2295,0,-1823 2 161065 -- MSL 10 (19U 41) +* 15873,15060,0,0,-1496 0 161066 -- MSL 11 (19U 42) ++ 15873,11535,0,0,-890 0 161067 -- MSL 12 (19U 43) +, 15873,4305,2655,0,-1505 0 161068 -- MSL 13 (19U 44) +hy 15873,8805,0,0,-2318 0 161069 -- MSL 14 (19U 45) - " -. 15873,3675,330,0,-2805 0 3630 -sl 15873,18300,3525,1224,1512,614 2 3631 +. 15873,3675,330,0,-2804 0 161070 -- MSL 15 (19U 46) +sl 15873,18300,3525,1224,1512,614 2 161071 -- MSL 16 (19U 47) / " -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 +0 15873,16155,330,0,-926 2 161072 -- MSL 17 (19U 48) +1 15873,16155,0,0,324 2 161073 -- MSL 18 (19U 49) +2 15873,16155,0,0,1044 2 161074 -- MSL 19 (19U 50) +3 15873,16155,330,0,891 2 161075 -- MSL 20 (19U 51) +4 15873,16155,0,0,345 2 161076 -- MSL 21 (19U 52) +5 15873,15825,330,0,621 2 161077 -- MSL 22 (19U 53) +6 15873,16155,330,342,-761,342 2 161078 -- MSL 23 (19U 54) +7 15873,15825,0,0,-1226 2 161079 -- MSL 24 (19U 55) +8 15873,16155,330,0,-464 2 161080 -- MSL 25 (19U 56) +9 15873,16155,330,0,297 2 161081 -- MSL 26 (19U 57) +: 15873,10572,330,0,-2801 0 161082 -- MSL 27 (19U 58) +; 15873,10572,2655,0,-830 0 161083 -- MSL 28 (19U 59) +< 15873,11667,243,0,-599 0 161084 -- MSL 29 (19U 60) += 15873,8886,0,0,-950 0 161085 -- MSL 30 (19U 61) +> 15873,11667,243,0,-1523 0 161086 -- MSL 31 (19U 62) +? 15873,15390,330,0,-2030 2 161087 -- MSL 32 (19U 63) +at 15873,15273,489,1020,1203,614 2 161088 -- MSL 33 (19U 64) @ " -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 +A 15873,15060,0,69,2868,69 0 161089 -- MSL 34 (19U 65) +B 15873,15060,0,0,1992 0 161090 -- MSL 35 (19U 66) +C 15873,15390,330,903,228,614 2 161091 -- MSL 36 (19U 67) +D 15873,15060,0,369,2277,369 0 161092 -- MSL 37 (19U 68) +E 15873,15060,0,1254,1719,614 0 161093 -- MSL 38 (19U 69) +F 15873,15060,0,1527,1293,614 0 161094 -- MSL 39 (19U 70) +G 15873,15390,330,1224,585,614 2 161095 -- MSL 40 (19U 71) +H 15873,15060,0,1878,2172,614 0 161096 -- MSL 41 (19U 72) +I 15873,15060,0,321,615,321 0 161097 -- MSL 42 (19U 73) +J 15873,15060,330,2331,1152,614 0 161098 -- MSL 43 (19U 74) +K 15873,15060,0,1890,1569,614 0 161099 -- MSL 44 (19U 75) +L 15873,15060,0,27,1602,27 0 161100 -- MSL 45 (19U 76) +M 15873,15060,0,2508,3099,614 0 161101 -- MSL 46 (19U 77) +N 15873,15060,330,2625,2439,614 0 161102 -- MSL 47 (19U 78) +O 15873,15390,330,447,633,447 2 161103 -- MSL 48 (19U 79) +P 15873,15060,0,816,774,614 0 161104 -- MSL 49 (19U 80) +Q 15873,15390,3408,453,678,453 2 161105 -- MSL 50 (19U 81) +R 15873,15060,0,0,1977 0 161106 -- MSL 51 (19U 82) +S 15873,15390,330,0,1386 2 161107 -- MSL 52 (19U 83) +T 15873,15060,0,1578,210,614 0 161108 -- MSL 53 (19U 84) +U 15873,15060,330,2124,75,614 0 161109 -- MSL 54 (19U 85) +V 15873,15060,0,2718,504,614 0 161110 -- MSL 55 (19U 86) +W 15873,15060,0,2757,552,614 0 161111 -- MSL 56 (19U 87) +X 15873,15060,0,1509,2286,614 0 161112 -- MSL 57 (19U 88) +Y 15873,15060,0,2043,-167,614 0 161113 -- MSL 58 (19U 89) +Z 15873,15060,0,159,1026,159 0 161114 -- MSL 59 (19U 90) +lB 15873,16935,2295,0,-1994 2 161115 -- MSL 60 (19U 91) [ " -rs 15873,18300,3525,0,-2523 2 3676 +rs 15873,18300,3525,0,-2522 2 161116 -- MSL 61 (19U 92) \ " -rB 15873,16935,2295,0,-1632 2 3677 +rB 15873,16935,2295,0,-1631 2 161117 -- MSL 62 (19U 93) ] " -ha 15873,19758,0,0,-1314 2 51875 -_ 15873,0,6588,1317,1317,614 1 3679 -oq 15873,15060,0,0,-3345 0 51808 +ha 15873,19758,0,0,-1313 2 161118 -- MSL 63 (19U 94) +_ 15873,0,6588,1317,1317,614 1 161119 -- MSL 64 (19U 95) +oq 15873,15060,0,0,-3344 0 161169 -- MSL 66 (19U 145) ` " -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 -`A 15873,21495,0,69,2868,69 2 3776 -^A 15873,21495,0,69,2868,69 2 3778 -`E 15873,21495,0,1254,1719,614 2 3784 -^E 15873,21495,0,1254,1719,614 2 3786 -:E 15873,20520,0,1254,1719,614 2 3787 -^I 15873,21495,0,609,615,609 2 3790 -:I 15873,20520,0,321,615,321 2 3791 -aa 15873,18000,0,0,-3249 2 3764 -ga 15873,18000,0,0,-2835 2 3680 -a^ 15873,18000,0,9,-2343,9 2 3678 +a 15873,11775,330,0,837 0 161121 -- MSL 67 (19U 97) +b 15873,16350,330,390,1974,390 2 161122 -- MSL 68 (19U 98) +c 15873,11775,330,0,282 0 161123 -- MSL 69 (19U 99) +d 15873,16350,330,183,1038,183 2 161124 -- MSL 70 (19U 100) +e 15873,11775,330,0,228 0 161125 -- MSL 71 (19U 101) +f 15873,16350,0,1308,39,614 2 161126 -- MSL 72 (19U 102) +g 15873,11775,4845,1260,1542,614 1 161127 -- MSL 73 (19U 103) +h 15873,16350,0,0,2550 2 161128 -- MSL 74 (19U 104) +i 15873,16920,0,0,606 2 161129 -- MSL 75 (19U 105) +j 15873,16920,4845,0,1428 3 161130 -- MSL 76 (19U 106) +k 15873,16350,0,0,2061 2 161131 -- MSL 77 (19U 107) +l 15873,16350,0,0,570 2 161132 -- MSL 78 (19U 108) +m 15873,11775,0,417,3222,417 0 161133 -- MSL 79 (19U 109) +n 15873,11775,0,0,2292 0 161134 -- MSL 80 (19U 110) +o 15873,11775,330,0,858 0 161135 -- MSL 81 (19U 111) +p 15873,11775,4845,330,3072,330 1 161136 -- MSL 82 (19U 112) +q 15873,11775,4845,1644,810,614 1 161137 -- MSL 83 (19U 113) +r 15873,11775,0,735,1257,614 0 161138 -- MSL 84 (19U 114) +s 15873,11775,330,0,798 0 161139 -- MSL 85 (19U 115) +t 15873,14985,330,0,-1244 0 161140 -- MSL 86 (19U 116) +u 15873,11445,330,0,432 0 161141 -- MSL 87 (19U 117) +v 15873,11445,0,1554,936,614 0 161142 -- MSL 88 (19U 118) +w 15873,11445,0,1896,1278,614 0 161143 -- MSL 89 (19U 119) +x 15873,11445,0,894,2469,614 0 161144 -- MSL 90 (19U 120) +y 15873,11445,4845,1887,2409,614 1 161145 -- MSL 91 (19U 121) +z 15873,11445,0,0,498 0 161146 -- MSL 92 (19U 122) +{ 15873,20130,6075,1548,-2003,614 3 161147 -- MSL 93 (19U 123) +lC " +| 15873,19758,6588,0,-5945 3 161148 -- MSL 94 (19U 124) +ba " +} 15873,20130,6075,0,996 3 161149 -- MSL 95 (19U 125) +rC " +ti 15873,8160,0,0,-791 0 161150 -- MSL 96 (19U 126) +`A 15873,21495,0,69,2868,69 2 161216 -- MSL 99 (19U 192) +^A 15873,21495,0,69,2868,69 2 161218 -- MSL 100 (19U 194) +`E 15873,21495,0,1254,1719,614 2 161224 -- MSL 101 (19U 200) +^E 15873,21495,0,1254,1719,614 2 161226 -- MSL 102 (19U 202) +:E 15873,20520,0,1254,1719,614 2 161227 -- MSL 103 (19U 203) +^I 15873,21495,0,609,615,609 2 161230 -- MSL 104 (19U 206) +:I 15873,20520,0,321,615,321 2 161231 -- MSL 105 (19U 207) +aa 15873,18000,0,0,-3248 2 161204 -- MSL 106 (19U 180) +ga 15873,18000,0,0,-2834 2 161120 -- MSL 107 (19U 96) +a^ 15873,18000,0,9,-2342,9 2 161160 -- MSL 108 (19U 136) ^ " -ad 15873,16890,0,0,-4020 2 3752 -a~ 15873,16959,0,594,-2031,594 2 3710 -~ " -`U 15873,21495,330,2124,75,614 2 3801 -^U 15873,21495,330,2124,75,614 2 3803 -'Y 15873,21495,0,2043,-168,614 2 3805 -'y 15873,18000,4845,1887,2409,614 3 3837 -de 15873,16155,0,0,-3120 2 3760 -,C 15873,15390,5721,903,228,614 3 3783 -,c 15873,11775,5562,0,282 1 3815 -~N 15873,20487,330,2625,2439,614 2 3793 -~n 15873,16959,0,594,2292,594 2 3825 -r! 15873,11904,3486,0,-3411 0 3745 -r? 15873,11868,3852,0,-747 0 3775 -Cs 15873,15834,0,345,348,345 2 3748 -Po 15873,16155,603,192,-108,192 2 3747 -Ye 15873,15825,0,2160,-342,614 2 3749 -sc 15873,15390,1692,0,-1332 2 3751 -Fn 15873,16350,3135,12,1572,12 2 51871 -ct 15873,15978,1419,0,-1068 2 3746 -^a 15873,18000,330,9,837,9 2 3810 -^e 15873,18000,330,9,228,9 2 3818 -^o 15873,18000,330,9,858,9 2 3828 -^u 15873,18000,330,9,432,9 2 3835 -'a 15873,18000,330,0,837 2 3809 -'e 15873,18000,330,0,228 2 3817 -'o 15873,18000,330,0,858 2 3827 -'u 15873,18000,330,0,432 2 3834 -`a 15873,18000,330,0,837 2 3808 -`e 15873,18000,330,0,228 2 3816 -`o 15873,18000,330,0,858 2 3826 -`u 15873,18000,330,0,432 2 3833 -:a 15873,16890,330,0,837 2 3812 -:e 15873,16890,330,0,228 2 3819 -:o 15873,16890,330,0,858 2 3830 -:u 15873,16890,330,0,432 2 3836 -oA 15873,21780,0,69,2868,69 2 3781 -^i 15873,18000,0,9,606,9 2 3822 -/O 15873,15501,528,1206,1434,614 2 3800 -AE 15873,15060,0,2391,2655,614 0 3782 -oa 15873,18381,330,0,837 2 3813 -'i 15873,18000,0,0,606 2 3821 -/o 15873,11901,591,486,1311,486 0 3832 -ae 15873,11775,330,654,2010,614 0 3814 -:A 15873,20520,0,69,2868,69 2 3780 -`i 15873,18000,0,0,606 2 3820 -:O 15873,20520,330,447,633,447 2 3798 -:U 15873,20520,330,2124,75,614 2 3804 -'E 15873,21495,0,1254,1719,614 2 3785 -:i 15873,16890,0,0,606 2 3823 -ss 15873,16350,330,0,2220 2 3807 -^O 15873,21495,330,609,633,609 2 3796 -'A 15873,21495,0,69,2868,69 2 3777 -~A 15873,20487,0,174,2868,174 2 3779 -~a 15873,16959,330,594,837,594 2 3811 --D 15873,15060,0,366,2280,366 0 3792 -Sd 15873,18222,330,0,171 2 3824 -'I 15873,21495,0,321,615,321 2 3789 -`I 15873,21495,0,321,615,321 2 3788 -'O 15873,21495,330,591,633,591 2 3795 -`O 15873,21495,330,447,633,447 2 3794 -~O 15873,20487,330,1986,633,614 2 3797 -~o 15873,16959,330,594,858,594 2 3829 -vS 15873,21495,330,984,1386,614 2 51795 -vs 15873,18000,330,9,798,9 2 51827 -'U 15873,21495,330,2124,75,614 2 3802 -:Y 15873,20520,0,2043,-168,614 2 51801 -:y 15873,16890,4845,1887,2409,614 3 3839 -TP 15873,15060,0,222,2166,222 0 3806 -Tp 15873,16350,4845,330,3075,330 3 3838 -mc 15873,11445,5580,114,-12,114 1 3765 -ps 15873,19635,4080,0,-1308 2 3766 -34 15873,16674,2286,4155,1086,614 2 3774 -\- 15873,7020,0,0,-951 0 51757 -14 15873,16674,2286,4458,1638,614 2 3772 -12 15873,16674,2286,3384,1857,614 2 3773 -Of 15873,16155,0,0,-3528 2 3754 -Om 15873,16155,0,0,-3588 2 3770 -Fo 15873,11625,0,354,1047,354 0 3755 -Fc 15873,11625,0,0,1605 0 3771 -t+- 15873,11535,3360,0,-891 0 3761 -bb 15873,19083,5916,0,-5946 3 3750 -co 15873,19635,0,225,-1134,225 2 3753 -tno 15873,9420,0,0,-951 0 3756 -rg 15873,19635,0,225,-1134,225 2 3758 -S2 15873,16170,0,0,-3063 2 3762 -S3 15873,16170,0,0,-3162 2 3763 -ac 15873,0,5562,0,-2265 1 3768 -S1 15873,16170,0,0,-3066 2 3769 -tmu 15873,11646,0,0,-798 0 3799 -tdi 15873,11190,0,0,-1110 0 3831 -pc 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 -a- 15873,16032,0,537,-2187,537 2 3759 -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 +ad 15873,16890,0,0,-4019 2 161192 -- MSL 109 (19U 168) +~ 15873,16959,0,594,-2030,594 2 161176 -- MSL 110 (19U 152) +a~ " +`U 15873,21495,330,2124,75,614 2 161241 -- MSL 111 (19U 217) +^U 15873,21495,330,2124,75,614 2 161243 -- MSL 112 (19U 219) +u00AF 15873,21108,0,1317,1317,614 2 161199 -- MSL 113 (19U 175) +'Y 15873,21495,0,2043,-167,614 2 161245 -- MSL 114 (19U 221) +'y 15873,18000,4845,1887,2409,614 3 161277 -- MSL 115 (19U 253) +de 15873,16155,0,0,-3119 2 161200 -- MSL 116 (19U 176) +,C 15873,15390,5721,903,228,614 3 161223 -- MSL 117 (19U 199) +,c 15873,11775,5562,0,282 1 161255 -- MSL 118 (19U 231) +~N 15873,20487,330,2625,2439,614 2 161233 -- MSL 119 (19U 209) +~n 15873,16959,0,594,2292,594 2 161265 -- MSL 120 (19U 241) +r! 15873,11904,3486,0,-3410 0 161185 -- MSL 121 (19U 161) +r? 15873,11868,3852,0,-746 0 161215 -- MSL 122 (19U 191) +Cs 15873,15834,0,345,348,345 2 161188 -- MSL 123 (19U 164) +Po 15873,16155,603,192,-107,192 2 161187 -- MSL 124 (19U 163) +Ye 15873,15825,0,2160,-341,614 2 161189 -- MSL 125 (19U 165) +sc 15873,15390,1692,0,-1331 2 161191 -- MSL 126 (19U 167) +Fn 15873,16350,3135,12,1572,12 2 161155 -- MSL 127 (19U 131) +ct 15873,15978,1419,0,-1067 2 161186 -- MSL 128 (19U 162) +^a 15873,18000,330,9,837,9 2 161250 -- MSL 129 (19U 226) +^e 15873,18000,330,9,228,9 2 161258 -- MSL 130 (19U 234) +^o 15873,18000,330,9,858,9 2 161268 -- MSL 131 (19U 244) +^u 15873,18000,330,9,432,9 2 161275 -- MSL 132 (19U 251) +'a 15873,18000,330,0,837 2 161249 -- MSL 133 (19U 225) +'e 15873,18000,330,0,228 2 161257 -- MSL 134 (19U 233) +'o 15873,18000,330,0,858 2 161267 -- MSL 135 (19U 243) +'u 15873,18000,330,0,432 2 161274 -- MSL 136 (19U 250) +`a 15873,18000,330,0,837 2 161248 -- MSL 137 (19U 224) +`e 15873,18000,330,0,228 2 161256 -- MSL 138 (19U 232) +`o 15873,18000,330,0,858 2 161266 -- MSL 139 (19U 242) +`u 15873,18000,330,0,432 2 161273 -- MSL 140 (19U 249) +:a 15873,16890,330,0,837 2 161252 -- MSL 141 (19U 228) +:e 15873,16890,330,0,228 2 161259 -- MSL 142 (19U 235) +:o 15873,16890,330,0,858 2 161270 -- MSL 143 (19U 246) +:u 15873,16890,330,0,432 2 161276 -- MSL 144 (19U 252) +oA 15873,21780,0,69,2868,69 2 161221 -- MSL 145 (19U 197) +^i 15873,18000,0,9,606,9 2 161262 -- MSL 146 (19U 238) +/O 15873,15501,528,1206,1434,614 2 161240 -- MSL 147 (19U 216) +AE 15873,15060,0,2391,2655,614 0 161222 -- MSL 148 (19U 198) +oa 15873,18381,330,0,837 2 161253 -- MSL 149 (19U 229) +'i 15873,18000,0,0,606 2 161261 -- MSL 150 (19U 237) +/o 15873,11901,591,486,1311,486 0 161272 -- MSL 151 (19U 248) +ae 15873,11775,330,654,2010,614 0 161254 -- MSL 152 (19U 230) +:A 15873,20520,0,69,2868,69 2 161220 -- MSL 153 (19U 196) +`i 15873,18000,0,0,606 2 161260 -- MSL 154 (19U 236) +:O 15873,20520,330,447,633,447 2 161238 -- MSL 155 (19U 214) +:U 15873,20520,330,2124,75,614 2 161244 -- MSL 156 (19U 220) +'E 15873,21495,0,1254,1719,614 2 161225 -- MSL 157 (19U 201) +:i 15873,16890,0,0,606 2 161263 -- MSL 158 (19U 239) +ss 15873,16350,330,0,2220 2 161247 -- MSL 159 (19U 223) +^O 15873,21495,330,609,633,609 2 161236 -- MSL 160 (19U 212) +'A 15873,21495,0,69,2868,69 2 161217 -- MSL 161 (19U 193) +~A 15873,20487,0,174,2868,174 2 161219 -- MSL 162 (19U 195) +~a 15873,16959,330,594,837,594 2 161251 -- MSL 163 (19U 227) +-D 15873,15060,0,366,2280,366 0 161232 -- MSL 164 (19U 208) +Sd 15873,18222,330,0,171 2 161264 -- MSL 165 (19U 240) +'I 15873,21495,0,321,615,321 2 161229 -- MSL 166 (19U 205) +`I 15873,21495,0,321,615,321 2 161228 -- MSL 167 (19U 204) +'O 15873,21495,330,591,633,591 2 161235 -- MSL 168 (19U 211) +`O 15873,21495,330,447,633,447 2 161234 -- MSL 169 (19U 210) +~O 15873,20487,330,1986,633,614 2 161237 -- MSL 170 (19U 213) +~o 15873,16959,330,594,858,594 2 161269 -- MSL 171 (19U 245) +vS 15873,21495,330,984,1386,614 2 161162 -- MSL 172 (19U 138) +vs 15873,18000,330,9,798,9 2 161178 -- MSL 173 (19U 154) +'U 15873,21495,330,2124,75,614 2 161242 -- MSL 174 (19U 218) +:Y 15873,20520,0,2043,-167,614 2 161183 -- MSL 175 (19U 159) +:y 15873,16890,4845,1887,2409,614 3 161279 -- MSL 176 (19U 255) +TP 15873,15060,0,222,2166,222 0 161246 -- MSL 177 (19U 222) +Tp 15873,16350,4845,330,3075,330 3 161278 -- MSL 178 (19U 254) +mc 15873,11445,5580,114,-11,114 1 161205 -- MSL 180 (19U 181) +ps 15873,19635,4080,0,-1307 2 161206 -- MSL 181 (19U 182) +34 15873,16674,2286,4155,1086,614 2 161214 -- MSL 182 (19U 190) +\- 15873,7020,0,0,-950 0 60096 -- MSL 183 ( 7J 192) +14 15873,16674,2286,4458,1638,614 2 161212 -- MSL 184 (19U 188) +12 15873,16674,2286,3384,1857,614 2 161213 -- MSL 185 (19U 189) +Of 15873,16155,0,0,-3527 2 161194 -- MSL 186 (19U 170) +Om 15873,16155,0,0,-3587 2 161210 -- MSL 187 (19U 186) +Fo 15873,11625,0,354,1047,354 0 161195 -- MSL 188 (19U 171) +Fc 15873,11625,0,0,1605 0 161211 -- MSL 190 (19U 187) +t+- 15873,11535,3360,0,-890 0 161201 -- MSL 191 (19U 177) +bb 15873,19083,5916,0,-5945 3 161190 -- MSL 192 (19U 166) +co 15873,19635,0,225,-1133,225 2 161193 -- MSL 193 (19U 169) +tno 15873,9420,0,0,-950 0 161196 -- MSL 194 (19U 172) +u00AD 15873,8805,0,0,-2318 0 161197 -- MSL 195 (19U 173) +rg 15873,19635,0,225,-1133,225 2 161198 -- MSL 196 (19U 174) +S2 15873,16170,0,0,-3062 2 161202 -- MSL 197 (19U 178) +S3 15873,16170,0,0,-3161 2 161203 -- MSL 198 (19U 179) +ac 15873,0,5562,0,-2264 1 161208 -- MSL 199 (19U 184) +S1 15873,16170,0,0,-3065 2 161209 -- MSL 200 (19U 185) +tmu 15873,11646,0,0,-797 0 161239 -- MSL 201 (19U 215) +tdi 15873,11190,0,0,-1109 0 161271 -- MSL 202 (19U 247) +u203C 15873,15060,330,0,-167 0 87315 -- MSL 221 (10U 19) +u20A7 15873,15060,330,792,2466,614 0 60121 -- MSL 232 ( 7J 217) +pc 15873,10128,0,0,-4289 0 161207 -- MSL 302 (19U 183) +u013F 15873,15060,0,27,1602,27 0 51943 -- MSL 306 ( 6J 231) +u0140 15873,16350,0,2742,570,614 2 51959 -- MSL 307 ( 6J 247) +u2113 15873,18045,765,0,-1820 2 60122 -- MSL 308 ( 7J 218) +u0149 15873,15060,0,0,2070 0 51951 -- MSL 309 ( 6J 239) +fm 15873,15825,0,0,-5123 2 60101 -- MSL 310 ( 7J 197) +sd 15873,15825,0,0,-2747 2 60102 -- MSL 311 ( 7J 198) +dg 15873,15060,1185,0,-1775 0 161158 -- MSL 312 (19U 134) +tm 15873,17850,0,108,-416,108 2 161177 -- MSL 313 (19U 153) +u2017 15873,0,6588,1317,1317,614 1 60095 -- MSL 314 ( 7J 191) +ah 15873,18000,0,9,-2342,9 2 75169 -- MSL 315 ( 9E 161) +ao 15873,18381,0,0,-5318 2 60152 -- MSL 316 ( 7J 248) +f/ 15873,16695,2265,2712,2529,614 2 60109 -- MSL 324 ( 7J 205) +em 15873,8805,0,1707,1929,614 0 161175 -- MSL 325 (19U 151) +en 15873,8805,0,0,-362 0 161174 -- MSL 326 (19U 150) +dd 15873,15060,1185,0,-1775 0 161159 -- MSL 327 (19U 135) +.i 15873,11445,0,0,606 0 46333 -- MSL 328 ( 5T 253) +aq 15873,15060,0,0,-4982 0 161063 -- MSL 329 (19U 39) +bu 15873,12714,0,0,-1847 0 161173 -- MSL 331 (19U 149) +u207F 15873,16170,0,0,-980 2 87548 -- MSL 332 (10U 252) +u0111 15873,16350,330,1830,1017,614 2 75248 -- MSL 342 ( 9E 240) +u0041_0306 15873,20805,0,1683,2868,614 2 75203 -- MSL 400 ( 9E 195) +u0061_0306 15873,17340,330,993,837,614 2 75235 -- MSL 401 ( 9E 227) +u0041_0328 15873,15060,4437,69,2868,69 1 75173 -- MSL 404 ( 9E 165) +u0061_0328 15873,11775,4665,0,837 1 75193 -- MSL 405 ( 9E 185) +'C 15873,21495,330,903,228,614 2 75206 -- MSL 406 ( 9E 198) +'c 15873,18000,330,0,282 2 75238 -- MSL 407 ( 9E 230) +u0041_030C 15873,21495,330,1734,228,614 2 75208 -- MSL 410 ( 9E 200) +u0061_030C 15873,18000,330,759,282,614 2 75240 -- MSL 411 ( 9E 232) +u0044_030C 15873,21495,0,984,2277,614 2 75215 -- MSL 414 ( 9E 207) +u0064_030C 15873,18990,330,5229,2244,614 2 75247 -- MSL 415 ( 9E 239) +u0045_030C 15873,21495,0,1284,1719,614 2 75212 -- MSL 416 ( 9E 204) +u0065_030C 15873,18000,330,609,228,609 2 75244 -- MSL 417 ( 9E 236) +u0045_0328 15873,15060,4437,1254,1719,614 1 75210 -- MSL 422 ( 9E 202) +u0065_0328 15873,11775,4665,0,228 1 75242 -- MSL 423 ( 9E 234) +u004C_0301 15873,21495,0,27,1602,27 2 75205 -- MSL 440 ( 9E 197) +u006C_0301 15873,22752,0,0,570 2 75237 -- MSL 441 ( 9E 229) +u004C_030C 15873,18990,0,3591,1602,614 2 75196 -- MSL 442 ( 9E 188) +u006C_030C 15873,18990,0,3753,570,614 2 75198 -- MSL 443 ( 9E 190) +u004E_0301 15873,21495,330,2625,2439,614 2 75217 -- MSL 446 ( 9E 209) +u006E_0301 15873,18000,0,0,2292 2 75249 -- MSL 447 ( 9E 241) +u004E_030C 15873,21495,330,2625,2439,614 2 75218 -- MSL 448 ( 9E 210) +u006E_030C 15873,18000,0,9,2292,9 2 75250 -- MSL 449 ( 9E 242) +u004F_030B 15873,22215,330,3525,633,614 2 75221 -- MSL 452 ( 9E 213) +u006F_030B 15873,18720,330,2916,858,614 2 75253 -- MSL 453 ( 9E 245) +u0052_0301 15873,21495,0,141,1977,141 2 75200 -- MSL 456 ( 9E 192) +u0072_0301 15873,18000,0,735,1257,614 2 75232 -- MSL 457 ( 9E 224) +u0052_030C 15873,21495,0,984,1977,614 2 75224 -- MSL 458 ( 9E 216) +u0072_030C 15873,18000,0,735,1257,614 2 75256 -- MSL 459 ( 9E 248) +u0053_0301 15873,21495,330,591,1386,591 2 75148 -- MSL 462 ( 9E 140) +u0073_0301 15873,18000,330,0,798 2 75164 -- MSL 463 ( 9E 156) +u0054_030C 15873,21495,0,1578,210,614 2 75149 -- MSL 466 ( 9E 141) +u0074_030C 15873,18990,330,1344,-1244,614 2 75165 -- MSL 467 ( 9E 157) +u0054_0327 15873,15060,5721,1578,210,614 1 75230 -- MSL 468 ( 9E 222) +u0074_0327 15873,14985,5562,0,-1244 1 75262 -- MSL 469 ( 9E 254) +u0055_030B 15873,22215,330,2625,75,614 2 75227 -- MSL 474 ( 9E 219) +u0075_030B 15873,18720,330,1866,432,614 2 75259 -- MSL 475 ( 9E 251) +u0055_030A 15873,21780,330,2124,75,614 2 75225 -- MSL 476 ( 9E 217) +u0075_030A 15873,18381,330,0,432 2 75257 -- MSL 477 ( 9E 249) +u005A_0301 15873,21495,0,591,1026,591 2 75151 -- MSL 482 ( 9E 143) +u007A_0301 15873,18000,0,0,498 2 75167 -- MSL 483 ( 9E 159) +u005A_0307 15873,20520,0,159,1026,159 2 75183 -- MSL 484 ( 9E 175) +u007A_0307 15873,16890,0,0,498 2 75199 -- MSL 485 ( 9E 191) +u2070 15873,16170,0,0,-4139 2 51753 -- MSL 1000 ( 6J 41) +u2074 15873,16170,0,0,-3293 2 51748 -- MSL 1001 ( 6J 36) +u2075 15873,15960,0,0,-3371 2 51749 -- MSL 1002 ( 6J 37) +u2076 15873,16170,0,0,-3953 2 51806 -- MSL 1003 ( 6J 94) +u2077 15873,15960,0,0,-4652 2 51750 -- MSL 1004 ( 6J 38) +u2078 15873,16170,0,0,-3758 2 51754 -- MSL 1005 ( 6J 42) +u2079 15873,16170,0,0,-3677 2 51752 -- MSL 1006 ( 6J 40) +lq 15873,15060,0,387,-740,387 0 161171 -- MSL 1017 (19U 147) +rq 15873,15060,0,0,-143 0 161172 -- MSL 1018 (19U 148) +Bq 15873,4596,2364,0,1314 0 161156 -- MSL 1019 (19U 132) +u2003 15873,0,0,0,1317 0 51821 -- MSL 1020 ( 6J 109) +u2002 15873,0,0,0,1317 0 51822 -- MSL 1021 ( 6J 110) +u2009 15873,0,0,0,1317 0 51828 -- MSL 1023 ( 6J 116) +u2026 15873,3675,330,0,2394 0 161157 -- MSL 1028 (19U 133) +vz 15873,18000,0,9,498,9 2 75166 -- MSL 1031 ( 9E 158) +u2120 15873,18000,0,1146,-281,614 2 128299 -- MSL 1034 (15U 43) +u211E 15873,15060,3708,1215,369,614 0 51794 -- MSL 1036 ( 6J 82) +fi 15873,16920,0,438,2340,438 2 60077 -- MSL 1040 ( 7J 173) +fl 15873,16350,0,336,2337,336 2 60078 -- MSL 1041 ( 7J 174) +ff 15873,16350,0,4086,2349,614 2 51883 -- MSL 1042 ( 6J 171) +Fi 15873,16350,0,2229,2946,614 2 51884 -- MSL 1043 ( 6J 172) +Fl 15873,16350,0,1425,2949,614 2 51885 -- MSL 1044 ( 6J 173) +ij 15873,16920,4845,738,1320,614 3 60134 -- MSL 1047 ( 7J 230) +u2105 15873,16479,2886,681,939,614 2 60072 -- MSL 1060 ( 7J 168) +u0047_0306 15873,20805,330,1983,585,614 2 46288 -- MSL 1061 ( 5T 208) +u0067_0306 15873,17340,4845,1260,1542,614 3 46320 -- MSL 1062 ( 5T 240) +u0053_0327 15873,15390,5721,0,1386 3 75178 -- MSL 1063 ( 9E 170) +u0073_0327 15873,11775,5562,0,798 1 75194 -- MSL 1064 ( 9E 186) +u0049_0307 15873,20520,0,321,615,321 2 46301 -- MSL 1065 ( 5T 221) +bq 15873,4596,2364,0,-1646 0 161154 -- MSL 1067 (19U 130) +%0 15873,16275,900,3066,3417,614 2 161161 -- MSL 1068 (19U 137) +a- 15873,16032,0,537,-2186,537 2 60154 -- MSL 1084 ( 7J 250) +ab 15873,17340,0,993,-2840,614 2 75170 -- MSL 1086 ( 9E 162) +a. 15873,16890,0,0,-6185 2 75263 -- MSL 1088 ( 9E 255) +oe 15873,11775,330,1284,1977,614 0 161180 -- MSL 1090 (19U 156) +OE 15873,15060,0,2781,1740,614 0 161164 -- MSL 1091 (19U 140) +fo 15873,11070,0,0,-2003 0 161163 -- MSL 1092 (19U 139) +fc 15873,11070,0,0,-1388 0 161179 -- MSL 1093 (19U 155) +sq 15873,14106,0,0,-443 0 60091 -- MSL 1094 ( 7J 187) +/L 15873,15060,0,27,1602,27 0 75171 -- MSL 1095 ( 9E 163) +/l 15873,16350,0,0,570 2 75187 -- MSL 1096 ( 9E 179) +a" 15873,18720,0,2916,-4082,614 2 75197 -- MSL 1097 ( 9E 189) +ho 15873,564,4665,0,-4916 1 75186 -- MSL 1098 ( 9E 178) +vZ 15873,21495,0,984,1026,614 2 75150 -- MSL 1106 ( 9E 142) +IJ 15873,15060,3849,1506,1941,614 0 60135 -- MSL 1107 ( 7J 231) diff -ruN groff-1.19/font/devlj4/CI groff-1.19.1/font/devlj4/CI --- groff-1.19/font/devlj4/CI Tue Feb 25 06:38:55 2003 +++ groff-1.19.1/font/devlj4/CI Wed Feb 18 10:01:17 2004 @@ -1,3 +1,4 @@ +# Courier It name CI spacewidth 15873 slant 11.300000 @@ -6,255 +7,325 @@ pclweight 0 pclstyle 1 charset -! 15873,15060,330,0,-5232 0 3617 -dq 15873,15060,0,0,-4632 0 3618 +! 15873,15060,330,0,-5231 0 161057 -- MSL 1 (19U 33) +dq 15873,15060,0,0,-4631 0 161058 -- MSL 2 (19U 34) " " -sh 15873,16827,2046,1710,-1473,610 2 3619 +sh 15873,16827,2046,1710,-1472,610 2 161059 -- MSL 3 (19U 35) # " -Do 15873,17259,3642,954,-1644,610 2 3620 +Do 15873,17259,3642,954,-1643,610 2 161060 -- MSL 4 (19U 36) $ " -% 15873,16380,330,1140,-2169,610 2 3621 -& 15873,14169,330,1563,-1911,610 0 3622 -cq 15873,15060,0,0,-5217 0 51751 +% 15873,16380,330,1140,-2168,610 2 161061 -- MSL 5 (19U 37) +& 15873,14169,330,1563,-1910,610 0 161062 -- MSL 6 (19U 38) +cq 15873,15060,0,0,-5216 0 161170 -- MSL 8 (19U 146) ' " -( 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 -hy 15873,6570,0,0,-3741 0 3629 +( 15873,17070,2580,1185,-7562,610 2 161064 -- MSL 9 (19U 40) +) 15873,17070,2580,0,-2012 2 161065 -- MSL 10 (19U 41) +* 15873,15060,0,174,-3272,174 0 161066 -- MSL 11 (19U 42) ++ 15873,11385,0,252,-2150,252 0 161067 -- MSL 12 (19U 43) +, 15873,3195,3420,0,-2999 0 161068 -- MSL 13 (19U 44) +hy 15873,6570,0,0,-3740 0 161069 -- MSL 14 (19U 45) - " -. 15873,3105,330,0,-5040 0 3630 -sl 15873,18465,3765,2349,-699,610 2 3631 +. 15873,3105,330,0,-5039 0 161070 -- MSL 15 (19U 46) +sl 15873,18465,3765,2349,-698,610 2 161071 -- MSL 16 (19U 47) / " -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 +0 15873,15390,330,399,-2831,399 0 161072 -- MSL 17 (19U 48) +1 15873,15060,0,0,-1493 0 161073 -- MSL 18 (19U 49) +2 15873,15390,0,423,-785,423 0 161074 -- MSL 19 (19U 50) +3 15873,15390,330,0,-1112 0 161075 -- MSL 20 (19U 51) +4 15873,15060,0,0,-1547 0 161076 -- MSL 21 (19U 52) +5 15873,15060,330,882,-1169,610 0 161077 -- MSL 22 (19U 53) +6 15873,15390,330,1530,-2435,610 0 161078 -- MSL 23 (19U 54) +7 15873,15060,0,954,-2828,610 0 161079 -- MSL 24 (19U 55) +8 15873,15390,330,624,-2225,610 0 161080 -- MSL 25 (19U 56) +9 15873,15390,330,684,-1658,610 0 161081 -- MSL 26 (19U 57) +: 15873,9975,330,0,-5042 0 161082 -- MSL 27 (19U 58) +; 15873,9975,3420,0,-3176 0 161083 -- MSL 28 (19U 59) +< 15873,10647,3,0,-1154 0 161084 -- MSL 29 (19U 60) += 15873,8451,0,252,-2150,252 0 161085 -- MSL 30 (19U 61) +> 15873,10647,3,0,-1958 0 161086 -- MSL 31 (19U 62) +? 15873,15390,330,483,-4172,483 0 161087 -- MSL 32 (19U 63) +at 15873,14391,363,2031,-1358,610 0 161088 -- MSL 33 (19U 64) @ " -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 +A 15873,15060,0,1470,1092,610 0 161089 -- MSL 34 (19U 65) +B 15873,15060,0,1383,171,610 0 161090 -- MSL 35 (19U 66) +C 15873,15390,330,2835,-1688,610 0 161091 -- MSL 36 (19U 67) +D 15873,15060,0,2061,537,610 0 161092 -- MSL 37 (19U 68) +E 15873,15060,0,2724,-152,610 0 161093 -- MSL 38 (19U 69) +F 15873,15060,0,3120,-470,610 0 161094 -- MSL 39 (19U 70) +G 15873,15390,330,2259,-956,610 0 161095 -- MSL 40 (19U 71) +H 15873,15060,0,3483,285,610 0 161096 -- MSL 41 (19U 72) +I 15873,15060,0,1764,-1187,610 0 161097 -- MSL 42 (19U 73) +J 15873,15060,330,3729,-368,610 0 161098 -- MSL 43 (19U 74) +K 15873,15060,0,3453,-209,610 0 161099 -- MSL 44 (19U 75) +L 15873,15060,0,1512,-134,610 0 161100 -- MSL 45 (19U 76) +M 15873,15060,0,4218,1107,610 0 161101 -- MSL 46 (19U 77) +N 15873,15060,0,4182,738,610 0 161102 -- MSL 47 (19U 78) +O 15873,15390,330,2058,-1136,610 0 161103 -- MSL 48 (19U 79) +P 15873,15060,0,2262,-785,610 0 161104 -- MSL 49 (19U 80) +Q 15873,15390,3357,2037,-1073,610 0 161105 -- MSL 50 (19U 81) +R 15873,15060,0,1248,234,610 0 161106 -- MSL 51 (19U 82) +S 15873,15390,330,1893,-803,610 0 161107 -- MSL 52 (19U 83) +T 15873,15060,0,3183,-1967,610 0 161108 -- MSL 53 (19U 84) +U 15873,15060,330,4095,-2096,610 0 161109 -- MSL 54 (19U 85) +V 15873,15060,0,4191,-1724,610 0 161110 -- MSL 55 (19U 86) +W 15873,15060,0,4260,-1670,610 0 161111 -- MSL 56 (19U 87) +X 15873,15060,0,3177,522,610 0 161112 -- MSL 57 (19U 88) +Y 15873,15060,0,3672,-2261,610 0 161113 -- MSL 58 (19U 89) +Z 15873,15060,0,1707,-806,610 0 161114 -- MSL 59 (19U 90) +lB 15873,17070,2580,1815,-6344,610 2 161115 -- MSL 60 (19U 91) [ " -rs 15873,18465,3765,0,-4674 2 3676 +rs 15873,18465,3765,0,-4673 2 161116 -- MSL 61 (19U 92) \ " -rB 15873,17070,2580,0,-1221 2 3677 +rB 15873,17070,2580,0,-1220 2 161117 -- MSL 62 (19U 93) ] " -ha 15873,19758,0,0,-1314 2 51875 -_ 15873,0,6588,1317,1317,610 1 3679 -oq 15873,15060,0,0,-6267 0 51808 +ha 15873,19758,0,0,-1313 2 161118 -- MSL 63 (19U 94) +_ 15873,0,6588,1317,1317,610 1 161119 -- MSL 64 (19U 95) +oq 15873,15060,0,0,-6266 0 161169 -- MSL 66 (19U 145) ` " -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 -`A 15873,21255,0,1470,1092,610 2 3776 -^A 15873,21255,0,1707,1092,610 2 3778 -`E 15873,21255,0,2724,-153,610 2 3784 -^E 15873,21255,0,2724,-153,610 2 3786 -:E 15873,20670,0,2724,-153,610 2 3787 -^I 15873,21255,0,2157,-1188,610 2 3790 -:I 15873,20670,0,1764,-1188,610 2 3791 -aa 15873,17640,0,1401,-6675,610 2 3764 -ga 15873,17640,0,0,-4491 2 3680 -a^ 15873,17640,0,1257,-4491,610 2 3678 +a 15873,11775,330,531,-695,531 0 161121 -- MSL 67 (19U 97) +b 15873,16500,330,1602,723,610 2 161122 -- MSL 68 (19U 98) +c 15873,11775,330,1542,-1616,610 0 161123 -- MSL 69 (19U 99) +d 15873,16500,330,2148,-1142,610 2 161124 -- MSL 70 (19U 100) +e 15873,11775,330,1269,-1610,610 0 161125 -- MSL 71 (19U 101) +f 15873,16500,0,2262,-1172,610 2 161126 -- MSL 72 (19U 102) +g 15873,11775,5145,2622,-95,610 1 161127 -- MSL 73 (19U 103) +h 15873,16500,0,1179,387,610 2 161128 -- MSL 74 (19U 104) +i 15873,17235,0,0,-1259 2 161129 -- MSL 75 (19U 105) +j 15873,17235,5145,0,81 3 161130 -- MSL 76 (19U 106) +k 15873,16500,0,1857,24,610 2 161131 -- MSL 77 (19U 107) +l 15873,16500,0,0,-1130 2 161132 -- MSL 78 (19U 108) +m 15873,11775,0,1746,1188,610 0 161133 -- MSL 79 (19U 109) +n 15873,11775,0,960,585,610 0 161134 -- MSL 80 (19U 110) +o 15873,11775,330,1443,-1139,610 0 161135 -- MSL 81 (19U 111) +p 15873,11775,5145,1500,1920,610 1 161136 -- MSL 82 (19U 112) +q 15873,11775,5145,3354,-983,610 1 161137 -- MSL 83 (19U 113) +r 15873,11775,0,2475,-596,610 0 161138 -- MSL 84 (19U 114) +s 15873,11775,330,915,-1355,610 0 161139 -- MSL 85 (19U 115) +t 15873,14760,330,738,-3215,610 0 161140 -- MSL 86 (19U 116) +u 15873,11445,330,726,-1403,610 0 161141 -- MSL 87 (19U 117) +v 15873,11445,0,3342,-1223,610 0 161142 -- MSL 88 (19U 118) +w 15873,11445,0,3735,-830,610 0 161143 -- MSL 89 (19U 119) +x 15873,11445,0,2502,648,610 0 161144 -- MSL 90 (19U 120) +y 15873,11445,5145,3123,903,610 1 161145 -- MSL 91 (19U 121) +z 15873,11445,0,1101,-1367,610 0 161146 -- MSL 92 (19U 122) +{ 15873,20130,6075,2940,-5528,610 3 161147 -- MSL 93 (19U 123) +lC " +| 15873,19758,6588,0,-5945 3 161148 -- MSL 94 (19U 124) +ba " +} 15873,20130,6075,0,-1058 3 161149 -- MSL 95 (19U 125) +rC " +ti 15873,7233,0,0,-1088 0 161150 -- MSL 96 (19U 126) +`A 15873,21255,0,1470,1092,610 2 161216 -- MSL 99 (19U 192) +^A 15873,21255,0,1707,1092,610 2 161218 -- MSL 100 (19U 194) +`E 15873,21255,0,2724,-152,610 2 161224 -- MSL 101 (19U 200) +^E 15873,21255,0,2724,-152,610 2 161226 -- MSL 102 (19U 202) +:E 15873,20670,0,2724,-152,610 2 161227 -- MSL 103 (19U 203) +^I 15873,21255,0,2157,-1187,610 2 161230 -- MSL 104 (19U 206) +:I 15873,20670,0,1764,-1187,610 2 161231 -- MSL 105 (19U 207) +aa 15873,17640,0,1401,-6674,610 2 161204 -- MSL 106 (19U 180) +ga 15873,17640,0,0,-4490 2 161120 -- MSL 107 (19U 96) +a^ 15873,17640,0,1257,-4490,610 2 161160 -- MSL 108 (19U 136) ^ " -ad 15873,16905,0,0,-6489 2 3752 -a~ 15873,16818,0,1788,-4146,610 2 3710 -~ " -`U 15873,21255,330,4095,-2097,610 2 3801 -^U 15873,21255,330,4095,-2097,610 2 3803 -'Y 15873,21255,0,3672,-2262,610 2 3805 -'y 15873,17640,5145,3123,903,610 3 3837 -de 15873,15390,0,0,-4464 0 3760 -,C 15873,15390,4815,2835,-1689,610 1 3783 -,c 15873,11775,4815,1542,-1617,610 1 3815 -~N 15873,20580,0,4182,738,610 2 3793 -~n 15873,16818,0,1788,585,610 2 3825 -r! 15873,11946,3444,0,-5715 0 3745 -r? 15873,11946,3774,0,-2577 0 3775 -Cs 15873,15684,0,1560,-2253,610 2 3748 -Po 15873,15390,474,1797,-2232,610 0 3747 -Ye 15873,15060,0,3741,-2178,610 0 3749 -sc 15873,15390,1905,0,-3360 0 3751 -Fn 15873,15090,4350,1704,-774,610 0 51871 -ct 15873,16083,1536,900,-3015,610 2 3746 -^a 15873,17640,330,1257,-696,610 2 3810 -^e 15873,17640,330,1269,-1611,610 2 3818 -^o 15873,17640,330,1443,-1140,610 2 3828 -^u 15873,17640,330,1257,-1404,610 2 3835 -'a 15873,17640,330,1401,-696,610 2 3809 -'e 15873,17640,330,1401,-1611,610 2 3817 -'o 15873,17640,330,1443,-1140,610 2 3827 -'u 15873,17640,330,1401,-1404,610 2 3834 -`a 15873,17640,330,531,-696,531 2 3808 -`e 15873,17640,330,1269,-1611,610 2 3816 -`o 15873,17640,330,1443,-1140,610 2 3826 -`u 15873,17640,330,726,-1404,610 2 3833 -:a 15873,16905,330,531,-696,531 2 3812 -:e 15873,16905,330,1269,-1611,610 2 3819 -:o 15873,16905,330,1443,-1140,610 2 3830 -:u 15873,16905,330,726,-1404,610 2 3836 -oA 15873,21690,0,1470,1092,610 2 3781 -^i 15873,17640,0,1257,-1260,610 2 3822 -/O 15873,15390,453,2697,-333,610 0 3800 -AE 15873,15060,0,2871,855,610 0 3782 -oa 15873,17997,330,531,-696,531 2 3813 -'i 15873,17640,0,1401,-1260,610 2 3821 -/o 15873,11793,330,2241,-291,610 0 3832 -ae 15873,11775,330,2148,-189,610 0 3814 -:A 15873,20670,0,1470,1092,610 2 3780 -`i 15873,17640,0,0,-1260 2 3820 -:O 15873,20670,330,2058,-1137,610 2 3798 -:U 15873,20670,330,4095,-2097,610 2 3804 -'E 15873,21255,0,2724,-153,610 2 3785 -:i 15873,16905,0,0,-1260 2 3823 -ss 15873,16500,330,1746,-66,610 2 3807 -^O 15873,21255,330,2157,-1137,610 2 3796 -'A 15873,21255,0,2217,1092,610 2 3777 -~A 15873,20580,0,2445,1092,610 2 3779 -~a 15873,16818,330,1788,-696,610 2 3811 --D 15873,15060,0,2061,537,610 0 3792 -Sd 15873,18297,330,1614,-1143,610 2 3824 -'I 15873,21255,0,2217,-1188,610 2 3789 -`I 15873,21255,0,1764,-1188,610 2 3788 -'O 15873,21255,330,2217,-1137,610 2 3795 -`O 15873,21255,330,2058,-1137,610 2 3794 -~O 15873,20580,330,2895,-1137,610 2 3797 -~o 15873,16818,330,1788,-1140,610 2 3829 -vS 15873,21255,330,2157,-804,610 2 51795 -vs 15873,17640,330,1257,-1356,610 2 51827 -'U 15873,21255,330,4095,-2097,610 2 3802 -:Y 15873,20670,0,3672,-2262,610 2 51801 -:y 15873,16905,5145,3123,903,610 3 3839 -TP 15873,15060,0,2421,-756,610 0 3806 -Tp 15873,16500,5145,1380,2037,610 3 3838 -mc 15873,11445,5595,0,-321 1 3765 -ps 15873,19635,4080,150,-2508,150 2 3766 -34 15873,15498,2655,4026,15,610 0 3774 -\- 15873,6435,0,252,-2151,252 0 51757 -14 15873,15498,2655,4626,-30,610 0 3772 -12 15873,15498,2655,3426,615,610 0 3773 -Of 15873,15390,0,0,-5310 0 3754 -Om 15873,15390,0,0,-5274 0 3770 -Fo 15873,11010,0,1230,-2184,610 0 3755 -Fc 15873,11010,0,330,-1284,330 0 3771 -t+- 15873,11385,2835,252,-2151,252 0 3761 -bb 15873,19083,5916,0,-5946 3 3750 -co 15873,19635,0,2121,-3030,610 2 3753 -tno 15873,8865,0,252,-2151,252 0 3756 -rg 15873,19635,0,1839,-2748,610 2 3758 -S2 15873,15240,0,0,-4467 0 3762 -S3 15873,15240,0,0,-4548 0 3763 -ac 15873,0,4815,0,-4626 1 3768 -S1 15873,15060,0,0,-4830 0 3769 -tmu 15873,11340,0,252,-2151,252 0 3799 -tdi 15873,10530,0,306,-2205,306 0 3831 -pc 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 -a- 15873,15666,0,1914,-3453,610 2 3759 -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 +ad 15873,16905,0,0,-6488 2 161192 -- MSL 109 (19U 168) +~ 15873,16818,0,1788,-4145,610 2 161176 -- MSL 110 (19U 152) +a~ " +`U 15873,21255,330,4095,-2096,610 2 161241 -- MSL 111 (19U 217) +^U 15873,21255,330,4095,-2096,610 2 161243 -- MSL 112 (19U 219) +u00AF 15873,21108,0,1317,1317,610 2 161199 -- MSL 113 (19U 175) +'Y 15873,21255,0,3672,-2261,610 2 161245 -- MSL 114 (19U 221) +'y 15873,17640,5145,3123,903,610 3 161277 -- MSL 115 (19U 253) +de 15873,15390,0,0,-4463 0 161200 -- MSL 116 (19U 176) +,C 15873,15390,4815,2835,-1688,610 1 161223 -- MSL 117 (19U 199) +,c 15873,11775,4815,1542,-1616,610 1 161255 -- MSL 118 (19U 231) +~N 15873,20580,0,4182,738,610 2 161233 -- MSL 119 (19U 209) +~n 15873,16818,0,1788,585,610 2 161265 -- MSL 120 (19U 241) +r! 15873,11946,3444,0,-5714 0 161185 -- MSL 121 (19U 161) +r? 15873,11946,3774,0,-2576 0 161215 -- MSL 122 (19U 191) +Cs 15873,15684,0,1560,-2252,610 2 161188 -- MSL 123 (19U 164) +Po 15873,15390,474,1797,-2231,610 0 161187 -- MSL 124 (19U 163) +Ye 15873,15060,0,3741,-2177,610 0 161189 -- MSL 125 (19U 165) +sc 15873,15390,1905,0,-3359 0 161191 -- MSL 126 (19U 167) +Fn 15873,15090,4350,1704,-773,610 0 161155 -- MSL 127 (19U 131) +ct 15873,16083,1536,900,-3014,610 2 161186 -- MSL 128 (19U 162) +^a 15873,17640,330,1257,-695,610 2 161250 -- MSL 129 (19U 226) +^e 15873,17640,330,1269,-1610,610 2 161258 -- MSL 130 (19U 234) +^o 15873,17640,330,1443,-1139,610 2 161268 -- MSL 131 (19U 244) +^u 15873,17640,330,1257,-1403,610 2 161275 -- MSL 132 (19U 251) +'a 15873,17640,330,1401,-695,610 2 161249 -- MSL 133 (19U 225) +'e 15873,17640,330,1401,-1610,610 2 161257 -- MSL 134 (19U 233) +'o 15873,17640,330,1443,-1139,610 2 161267 -- MSL 135 (19U 243) +'u 15873,17640,330,1401,-1403,610 2 161274 -- MSL 136 (19U 250) +`a 15873,17640,330,531,-695,531 2 161248 -- MSL 137 (19U 224) +`e 15873,17640,330,1269,-1610,610 2 161256 -- MSL 138 (19U 232) +`o 15873,17640,330,1443,-1139,610 2 161266 -- MSL 139 (19U 242) +`u 15873,17640,330,726,-1403,610 2 161273 -- MSL 140 (19U 249) +:a 15873,16905,330,531,-695,531 2 161252 -- MSL 141 (19U 228) +:e 15873,16905,330,1269,-1610,610 2 161259 -- MSL 142 (19U 235) +:o 15873,16905,330,1443,-1139,610 2 161270 -- MSL 143 (19U 246) +:u 15873,16905,330,726,-1403,610 2 161276 -- MSL 144 (19U 252) +oA 15873,21690,0,1470,1092,610 2 161221 -- MSL 145 (19U 197) +^i 15873,17640,0,1257,-1259,610 2 161262 -- MSL 146 (19U 238) +/O 15873,15390,453,2697,-332,610 0 161240 -- MSL 147 (19U 216) +AE 15873,15060,0,2871,855,610 0 161222 -- MSL 148 (19U 198) +oa 15873,17997,330,531,-695,531 2 161253 -- MSL 149 (19U 229) +'i 15873,17640,0,1401,-1259,610 2 161261 -- MSL 150 (19U 237) +/o 15873,11793,330,2241,-290,610 0 161272 -- MSL 151 (19U 248) +ae 15873,11775,330,2148,-188,610 0 161254 -- MSL 152 (19U 230) +:A 15873,20670,0,1470,1092,610 2 161220 -- MSL 153 (19U 196) +`i 15873,17640,0,0,-1259 2 161260 -- MSL 154 (19U 236) +:O 15873,20670,330,2058,-1136,610 2 161238 -- MSL 155 (19U 214) +:U 15873,20670,330,4095,-2096,610 2 161244 -- MSL 156 (19U 220) +'E 15873,21255,0,2724,-152,610 2 161225 -- MSL 157 (19U 201) +:i 15873,16905,0,0,-1259 2 161263 -- MSL 158 (19U 239) +ss 15873,16500,330,1746,-65,610 2 161247 -- MSL 159 (19U 223) +^O 15873,21255,330,2157,-1136,610 2 161236 -- MSL 160 (19U 212) +'A 15873,21255,0,2217,1092,610 2 161217 -- MSL 161 (19U 193) +~A 15873,20580,0,2445,1092,610 2 161219 -- MSL 162 (19U 195) +~a 15873,16818,330,1788,-695,610 2 161251 -- MSL 163 (19U 227) +-D 15873,15060,0,2061,537,610 0 161232 -- MSL 164 (19U 208) +Sd 15873,18297,330,1614,-1142,610 2 161264 -- MSL 165 (19U 240) +'I 15873,21255,0,2217,-1187,610 2 161229 -- MSL 166 (19U 205) +`I 15873,21255,0,1764,-1187,610 2 161228 -- MSL 167 (19U 204) +'O 15873,21255,330,2217,-1136,610 2 161235 -- MSL 168 (19U 211) +`O 15873,21255,330,2058,-1136,610 2 161234 -- MSL 169 (19U 210) +~O 15873,20580,330,2895,-1136,610 2 161237 -- MSL 170 (19U 213) +~o 15873,16818,330,1788,-1139,610 2 161269 -- MSL 171 (19U 245) +vS 15873,21255,330,2157,-803,610 2 161162 -- MSL 172 (19U 138) +vs 15873,17640,330,1257,-1355,610 2 161178 -- MSL 173 (19U 154) +'U 15873,21255,330,4095,-2096,610 2 161242 -- MSL 174 (19U 218) +:Y 15873,20670,0,3672,-2261,610 2 161183 -- MSL 175 (19U 159) +:y 15873,16905,5145,3123,903,610 3 161279 -- MSL 176 (19U 255) +TP 15873,15060,0,2421,-755,610 0 161246 -- MSL 177 (19U 222) +Tp 15873,16500,5145,1380,2037,610 3 161278 -- MSL 178 (19U 254) +mc 15873,11445,5595,0,-320 1 161205 -- MSL 180 (19U 181) +ps 15873,19635,4080,150,-2507,150 2 161206 -- MSL 181 (19U 182) +34 15873,15498,2655,4026,15,610 0 161214 -- MSL 182 (19U 190) +\- 15873,6435,0,252,-2150,252 0 60096 -- MSL 183 ( 7J 192) +14 15873,15498,2655,4626,-29,610 0 161212 -- MSL 184 (19U 188) +12 15873,15498,2655,3426,615,610 0 161213 -- MSL 185 (19U 189) +Of 15873,15390,0,0,-5309 0 161194 -- MSL 186 (19U 170) +Om 15873,15390,0,0,-5273 0 161210 -- MSL 187 (19U 186) +Fo 15873,11010,0,1230,-2183,610 0 161195 -- MSL 188 (19U 171) +Fc 15873,11010,0,330,-1283,330 0 161211 -- MSL 190 (19U 187) +t+- 15873,11385,2835,252,-2150,252 0 161201 -- MSL 191 (19U 177) +bb 15873,19083,5916,0,-5945 3 161190 -- MSL 192 (19U 166) +co 15873,19635,0,2121,-3029,610 2 161193 -- MSL 193 (19U 169) +tno 15873,8865,0,252,-2150,252 0 161196 -- MSL 194 (19U 172) +u00AD 15873,6570,0,0,-3740 0 161197 -- MSL 195 (19U 173) +rg 15873,19635,0,1839,-2747,610 2 161198 -- MSL 196 (19U 174) +S2 15873,15240,0,0,-4466 0 161202 -- MSL 197 (19U 178) +S3 15873,15240,0,0,-4547 0 161203 -- MSL 198 (19U 179) +ac 15873,0,4815,0,-4625 1 161208 -- MSL 199 (19U 184) +S1 15873,15060,0,0,-4829 0 161209 -- MSL 200 (19U 185) +tmu 15873,11340,0,252,-2150,252 0 161239 -- MSL 201 (19U 215) +tdi 15873,10530,0,306,-2204,306 0 161271 -- MSL 202 (19U 247) +u203C 15873,15060,330,948,-1778,610 0 87315 -- MSL 221 (10U 19) +u20A7 15873,15060,330,3744,963,610 0 60121 -- MSL 232 ( 7J 217) +pc 15873,9657,0,0,-6251 0 161207 -- MSL 302 (19U 183) +u013F 15873,15060,0,1512,-134,610 0 51943 -- MSL 306 ( 6J 231) +u0140 15873,16500,0,4167,-1130,610 2 51959 -- MSL 307 ( 6J 247) +u2113 15873,18150,297,0,-4070 2 60122 -- MSL 308 ( 7J 218) +u0149 15873,15060,0,1662,663,610 0 51951 -- MSL 309 ( 6J 239) +fm 15873,15060,0,0,-7595 0 60101 -- MSL 310 ( 7J 197) +sd 15873,15060,0,0,-5273 0 60102 -- MSL 311 ( 7J 198) +dg 15873,15060,1290,0,-4490 0 161158 -- MSL 312 (19U 134) +tm 15873,17850,0,1896,-2204,610 2 161177 -- MSL 313 (19U 153) +u2017 15873,0,6588,1317,1317,610 1 60095 -- MSL 314 ( 7J 191) +ah 15873,17640,0,1257,-4490,610 2 75169 -- MSL 315 ( 9E 161) +ao 15873,17997,0,0,-7364 2 60152 -- MSL 316 ( 7J 248) +f/ 15873,15498,2655,3126,915,610 0 60109 -- MSL 324 ( 7J 205) +em 15873,6570,0,3141,264,610 0 161175 -- MSL 325 (19U 151) +en 15873,6570,0,606,-2141,606 0 161174 -- MSL 326 (19U 150) +dd 15873,15060,1290,0,-4490 0 161159 -- MSL 327 (19U 135) +.i 15873,11445,0,0,-1259 0 46333 -- MSL 328 ( 5T 253) +aq 15873,15060,0,0,-6935 0 161063 -- MSL 329 (19U 39) +bu 15873,12714,0,0,-1847 0 161173 -- MSL 331 (19U 149) +u207F 15873,15240,0,507,-2408,507 0 87548 -- MSL 332 (10U 252) +u0111 15873,16500,300,4020,-1142,610 2 75248 -- MSL 342 ( 9E 240) +u0041_0306 15873,20880,0,2592,1092,610 2 75203 -- MSL 400 ( 9E 195) +u0061_0306 15873,16395,330,2325,-695,610 2 75235 -- MSL 401 ( 9E 227) +u0041_0328 15873,15060,3624,1470,1092,610 0 75173 -- MSL 404 ( 9E 165) +u0061_0328 15873,11775,4263,531,-695,531 0 75193 -- MSL 405 ( 9E 185) +'C 15873,21255,330,2835,-1688,610 2 75206 -- MSL 406 ( 9E 198) +'c 15873,17640,330,1542,-1616,610 2 75238 -- MSL 407 ( 9E 230) +u0041_030C 15873,21255,330,2907,-1688,610 2 75208 -- MSL 410 ( 9E 200) +u0061_030C 15873,17640,330,2007,-1616,610 2 75240 -- MSL 411 ( 9E 232) +u0044_030C 15873,21255,0,2157,537,610 2 75215 -- MSL 414 ( 9E 207) +u0064_030C 15873,18870,300,5790,282,610 2 75247 -- MSL 415 ( 9E 239) +u0045_030C 15873,21255,0,2724,-152,610 2 75212 -- MSL 416 ( 9E 204) +u0065_030C 15873,17640,330,2007,-1610,610 2 75244 -- MSL 417 ( 9E 236) +u0045_0328 15873,15060,3624,2724,-152,610 0 75210 -- MSL 422 ( 9E 202) +u0065_0328 15873,11775,4263,1269,-1610,610 0 75242 -- MSL 423 ( 9E 234) +u004C_0301 15873,21255,0,2217,-134,610 2 75205 -- MSL 440 ( 9E 197) +u006C_0301 15873,22365,0,651,-1130,610 2 75237 -- MSL 441 ( 9E 229) +u004C_030C 15873,18870,0,3966,-134,610 2 75196 -- MSL 442 ( 9E 188) +u006C_030C 15873,18870,0,4062,-1130,610 2 75198 -- MSL 443 ( 9E 190) +u004E_0301 15873,21255,0,4182,738,610 2 75217 -- MSL 446 ( 9E 209) +u006E_0301 15873,17640,0,1401,585,610 2 75249 -- MSL 447 ( 9E 241) +u004E_030C 15873,21255,0,4182,738,610 2 75218 -- MSL 448 ( 9E 210) +u006E_030C 15873,17640,0,1707,585,610 2 75250 -- MSL 449 ( 9E 242) +u004F_030B 15873,22035,330,3720,-1136,610 2 75221 -- MSL 452 ( 9E 213) +u006F_030B 15873,18420,330,2355,-1139,610 2 75253 -- MSL 453 ( 9E 245) +u0052_0301 15873,21255,0,2217,234,610 2 75200 -- MSL 456 ( 9E 192) +u0072_0301 15873,17640,0,2475,-596,610 2 75232 -- MSL 457 ( 9E 224) +u0052_030C 15873,21255,0,2157,234,610 2 75224 -- MSL 458 ( 9E 216) +u0072_030C 15873,17640,0,2475,-596,610 2 75256 -- MSL 459 ( 9E 248) +u0053_0301 15873,21255,330,2217,-803,610 2 75148 -- MSL 462 ( 9E 140) +u0073_0301 15873,17640,330,1401,-1355,610 2 75164 -- MSL 463 ( 9E 156) +u0054_030C 15873,21255,0,3183,-1967,610 2 75149 -- MSL 466 ( 9E 141) +u0074_030C 15873,18870,330,1236,-3215,610 2 75165 -- MSL 467 ( 9E 157) +u0054_0327 15873,15060,4815,3183,-1967,610 1 75230 -- MSL 468 ( 9E 222) +u0074_0327 15873,14760,4815,738,-3215,610 1 75262 -- MSL 469 ( 9E 254) +u0055_030B 15873,22035,330,4095,-2096,610 2 75227 -- MSL 474 ( 9E 219) +u0075_030B 15873,18420,330,1305,-1403,610 2 75259 -- MSL 475 ( 9E 251) +u0055_030A 15873,21690,330,4095,-2096,610 2 75225 -- MSL 476 ( 9E 217) +u0075_030A 15873,17997,330,726,-1403,610 2 75257 -- MSL 477 ( 9E 249) +u005A_0301 15873,21255,0,2217,-806,610 2 75151 -- MSL 482 ( 9E 143) +u007A_0301 15873,17640,0,1401,-1367,610 2 75167 -- MSL 483 ( 9E 159) +u005A_0307 15873,20670,0,1707,-806,610 2 75183 -- MSL 484 ( 9E 175) +u007A_0307 15873,16905,0,1101,-1367,610 2 75199 -- MSL 485 ( 9E 191) +u2070 15873,15240,0,0,-5027 0 51753 -- MSL 1000 ( 6J 41) +u2074 15873,15060,0,0,-4940 0 51748 -- MSL 1001 ( 6J 36) +u2075 15873,15060,0,0,-4292 0 51749 -- MSL 1002 ( 6J 37) +u2076 15873,15240,0,0,-5099 0 51806 -- MSL 1003 ( 6J 94) +u2077 15873,15060,0,0,-5291 0 51750 -- MSL 1004 ( 6J 38) +u2078 15873,15240,0,0,-4859 0 51754 -- MSL 1005 ( 6J 42) +u2079 15873,15240,0,0,-4685 0 51752 -- MSL 1006 ( 6J 40) +lq 15873,15060,0,861,-3494,610 0 161171 -- MSL 1017 (19U 147) +rq 15873,15060,0,1011,-3644,610 0 161172 -- MSL 1018 (19U 148) +Bq 15873,3495,3120,0,-1490 0 161156 -- MSL 1019 (19U 132) +u2003 15873,0,0,0,1317 0 51821 -- MSL 1020 ( 6J 109) +u2002 15873,0,0,0,1317 0 51822 -- MSL 1021 ( 6J 110) +u2009 15873,0,0,0,1317 0 51828 -- MSL 1023 ( 6J 116) +u2026 15873,3105,330,1257,474,610 0 161157 -- MSL 1028 (19U 133) +vz 15873,17640,0,1257,-1367,610 2 75166 -- MSL 1031 ( 9E 158) +u2120 15873,18000,0,2952,-2087,610 2 128299 -- MSL 1034 (15U 43) +u211E 15873,15060,2466,2097,-1601,610 0 51794 -- MSL 1036 ( 6J 82) +fi 15873,17235,0,1983,1185,610 2 60077 -- MSL 1040 ( 7J 173) +fl 15873,16500,0,1806,1185,610 2 60078 -- MSL 1041 ( 7J 174) +ff 15873,16500,0,5799,1212,610 2 51883 -- MSL 1042 ( 6J 171) +Fi 15873,16500,0,3705,846,610 2 51884 -- MSL 1043 ( 6J 172) +Fl 15873,16500,0,2208,852,610 2 51885 -- MSL 1044 ( 6J 173) +ij 15873,17235,5145,2958,1278,610 3 60134 -- MSL 1047 ( 7J 230) +u2105 15873,15498,2655,3846,195,610 0 60072 -- MSL 1060 ( 7J 168) +u0047_0306 15873,20880,330,3192,-956,610 2 46288 -- MSL 1061 ( 5T 208) +u0067_0306 15873,16395,5145,2622,-95,610 3 46320 -- MSL 1062 ( 5T 240) +u0053_0327 15873,15390,4815,1893,-803,610 1 75178 -- MSL 1063 ( 9E 170) +u0073_0327 15873,11775,4815,915,-1355,610 1 75194 -- MSL 1064 ( 9E 186) +u0049_0307 15873,20670,0,1764,-1187,610 2 46301 -- MSL 1065 ( 5T 221) +bq 15873,3495,3120,0,-3497 0 161154 -- MSL 1067 (19U 130) +%0 15873,16380,330,2361,-470,610 2 161161 -- MSL 1068 (19U 137) +a- 15873,15666,0,1914,-3452,610 2 60154 -- MSL 1084 ( 7J 250) +ab 15873,16395,0,2325,-5000,610 2 75170 -- MSL 1086 ( 9E 162) +a. 15873,16905,0,0,-8291 2 75263 -- MSL 1088 ( 9E 255) +oe 15873,11775,330,2334,30,610 0 161180 -- MSL 1090 (19U 156) +OE 15873,15060,0,2799,-389,610 0 161164 -- MSL 1091 (19U 140) +fo 15873,10365,0,0,-4142 0 161163 -- MSL 1092 (19U 139) +fc 15873,10365,0,0,-3542 0 161179 -- MSL 1093 (19U 155) +sq 15873,14106,0,0,-443 0 60091 -- MSL 1094 ( 7J 187) +/L 15873,15060,0,1515,-134,610 0 75171 -- MSL 1095 ( 9E 163) +/l 15873,16500,0,0,-1184 2 75187 -- MSL 1096 ( 9E 179) +a" 15873,18420,0,2355,-6833,610 2 75197 -- MSL 1097 ( 9E 189) +ho 15873,0,4263,0,-7343 0 75186 -- MSL 1098 ( 9E 178) +vZ 15873,21255,0,2157,-806,610 2 75150 -- MSL 1106 ( 9E 142) +IJ 15873,15060,2904,3021,-206,610 0 60135 -- MSL 1107 ( 7J 231) diff -ruN groff-1.19/font/devlj4/CLARENDON groff-1.19.1/font/devlj4/CLARENDON --- groff-1.19/font/devlj4/CLARENDON Tue Feb 25 06:38:56 2003 +++ groff-1.19.1/font/devlj4/CLARENDON Wed Feb 18 10:01:18 2004 @@ -1,3 +1,4 @@ +# Clarendon Cd name CLARENDON spacewidth 5856 pcltypeface 4140 @@ -6,255 +7,325 @@ pclstyle 4 ligatures fi fl ff ffi ffl 0 charset -! 6342,18300 2 3617 -dq 11709,18645 2 3618 +! 6342,18300 2 161057 -- MSL 1 (19U 33) +dq 11709,18645 2 161058 -- MSL 2 (19U 34) " " -sh 11709,18300 2 3619 +sh 11709,18300 2 161059 -- MSL 3 (19U 35) # " -Do 11709,18309,306 2 3620 +Do 11709,18309,306 2 161060 -- MSL 4 (19U 36) $ " -% 17565,18645,345 2 3621 -& 16587,18645,345 2 3622 -cq 5856,18645 2 51751 +% 17565,18645,345 2 161061 -- MSL 5 (19U 37) +& 16587,18645,345 2 161062 -- MSL 6 (19U 38) +cq 5856,18645 2 161170 -- MSL 8 (19U 146) ' " -( 5856,18300,6870 3 3624 -) 5856,18300,6870 3 3625 -* 11709,18645 2 3626 -+ 17565,16545 0 3627 -, 5856,3945,3375 0 3628 -hy 5856,8295 0 3629 +( 5856,18300,6870 3 161064 -- MSL 9 (19U 40) +) 5856,18300,6870 3 161065 -- MSL 10 (19U 41) +* 11709,18645 2 161066 -- MSL 11 (19U 42) ++ 17565,16545 0 161067 -- MSL 12 (19U 43) +, 5856,3945,3375 0 161068 -- MSL 13 (19U 44) +hy 5856,8295 0 161069 -- MSL 14 (19U 45) - " -. 5856,3945 0 3630 -sl 5856,18645,345 2 3631 +. 5856,3945 0 161070 -- MSL 15 (19U 46) +sl 5856,18645,345 2 161071 -- MSL 16 (19U 47) / " -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 +0 11709,18645,345 2 161072 -- MSL 17 (19U 48) +1 11709,18300 2 161073 -- MSL 18 (19U 49) +2 11709,18645,345 2 161074 -- MSL 19 (19U 50) +3 11709,18645,345 2 161075 -- MSL 20 (19U 51) +4 11709,18300 2 161076 -- MSL 21 (19U 52) +5 11709,18300,345 2 161077 -- MSL 22 (19U 53) +6 11709,18645,345 2 161078 -- MSL 23 (19U 54) +7 11709,18300 2 161079 -- MSL 24 (19U 55) +8 11709,18645,345 2 161080 -- MSL 25 (19U 56) +9 11709,18645,345 2 161081 -- MSL 26 (19U 57) +: 5856,13965 0 161082 -- MSL 27 (19U 58) +; 5856,13965,3375 0 161083 -- MSL 28 (19U 59) +< 26346,16068 0 161084 -- MSL 29 (19U 60) += 17565,12540 0 161085 -- MSL 30 (19U 61) +> 26346,16068 0 161086 -- MSL 31 (19U 62) +? 11709,18300 2 161087 -- MSL 32 (19U 63) +at 26346,16950,4131 2 161088 -- MSL 33 (19U 64) @ " -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 +A 13662,18300 2 161089 -- MSL 34 (19U 65) +B 13662,18300 2 161090 -- MSL 35 (19U 66) +C 12684,18645,345 2 161091 -- MSL 36 (19U 67) +D 13662,18300 2 161092 -- MSL 37 (19U 68) +E 13662,18285 2 161093 -- MSL 38 (19U 69) +F 13173,18300 2 161094 -- MSL 39 (19U 70) +G 13662,18645,345 2 161095 -- MSL 40 (19U 71) +H 15126,18300 2 161096 -- MSL 41 (19U 72) +I 7806,18300 2 161097 -- MSL 42 (19U 73) +J 11220,18300,345 2 161098 -- MSL 43 (19U 74) +K 14637,18300 2 161099 -- MSL 44 (19U 75) +L 12198,18300 2 161100 -- MSL 45 (19U 76) +M 18051,18300 2 161101 -- MSL 46 (19U 77) +N 14637,18300 2 161102 -- MSL 47 (19U 78) +O 13662,18645,345 2 161103 -- MSL 48 (19U 79) +P 13173,18300 2 161104 -- MSL 49 (19U 80) +Q 14148,18645,2553 2 161105 -- MSL 50 (19U 81) +R 15126,18300,345 2 161106 -- MSL 51 (19U 82) +S 12198,18645,345 2 161107 -- MSL 52 (19U 83) +T 13662,18300 2 161108 -- MSL 53 (19U 84) +U 13173,18300,345 2 161109 -- MSL 54 (19U 85) +V 14148,18300 2 161110 -- MSL 55 (19U 86) +W 19515,18300 2 161111 -- MSL 56 (19U 87) +X 13662,18300 2 161112 -- MSL 57 (19U 88) +Y 13173,18300 2 161113 -- MSL 58 (19U 89) +Z 12198,18300 2 161114 -- MSL 59 (19U 90) +lB 5856,18300,5085 3 161115 -- MSL 60 (19U 91) [ " -rs 5856,18645,345 2 3676 +rs 5856,18645,345 2 161116 -- MSL 61 (19U 92) \ " -rB 5856,18300,5085 3 3677 +rB 5856,18300,5085 3 161117 -- MSL 62 (19U 93) ] " -ha 13173,19758 2 51875 -_ 13173,0,6588 1 3679 -oq 5856,18645 2 51808 +ha 13173,19758 2 161118 -- MSL 63 (19U 94) +_ 13173,0,6588 1 161119 -- MSL 64 (19U 95) +oq 5856,18645 2 161169 -- MSL 66 (19U 145) ` " -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 -`A 13662,23355 2 3776 -^A 13662,22755 2 3778 -`E 13662,23355 2 3784 -^E 13662,22755 2 3786 -:E 13662,23325 2 3787 -^I 7806,22755 2 3790 -:I 7806,23325 2 3791 -aa 11709,19305 2 3764 -ga 11709,19305 2 3680 -a^ 11709,18180 2 3678 +a 13662,14250,345 0 161121 -- MSL 67 (19U 97) +b 12684,18300,345 2 161122 -- MSL 68 (19U 98) +c 11220,14250,345 0 161123 -- MSL 69 (19U 99) +d 12684,18300,345 2 161124 -- MSL 70 (19U 100) +e 11709,14250,345 0 161125 -- MSL 71 (19U 101) +f 8781,18645 2 161126 -- MSL 72 (19U 102) +g 13662,15165,4605 1 161127 -- MSL 73 (19U 103) +h 13173,18300 2 161128 -- MSL 74 (19U 104) +i 6831,18705 2 161129 -- MSL 75 (19U 105) +j 8295,18705,4605 3 161130 -- MSL 76 (19U 106) +k 13173,18300 2 161131 -- MSL 77 (19U 107) +l 6831,18300 2 161132 -- MSL 78 (19U 108) +m 19515,14250 0 161133 -- MSL 79 (19U 109) +n 13173,14250 0 161134 -- MSL 80 (19U 110) +o 12198,14250,345 0 161135 -- MSL 81 (19U 111) +p 12684,14250,4290 1 161136 -- MSL 82 (19U 112) +q 12684,14250,4290 1 161137 -- MSL 83 (19U 113) +r 9759,14250 0 161138 -- MSL 84 (19U 114) +s 11220,14250,345 0 161139 -- MSL 85 (19U 115) +t 8295,17265,345 2 161140 -- MSL 86 (19U 116) +u 13173,13905,345 0 161141 -- MSL 87 (19U 117) +v 11709,13905 0 161142 -- MSL 88 (19U 118) +w 17565,13905 0 161143 -- MSL 89 (19U 119) +x 12198,13905 0 161144 -- MSL 90 (19U 120) +y 12198,13905,4605 1 161145 -- MSL 91 (19U 121) +z 10245,13905 0 161146 -- MSL 92 (19U 122) +{ 13173,19935,6210 3 161147 -- MSL 93 (19U 123) +lC " +| 13173,19758,6588 3 161148 -- MSL 94 (19U 124) +ba " +} 13173,19935,6210 3 161149 -- MSL 95 (19U 125) +rC " +ti 26346,9435 0 161150 -- MSL 96 (19U 126) +`A 13662,23355 2 161216 -- MSL 99 (19U 192) +^A 13662,22755 2 161218 -- MSL 100 (19U 194) +`E 13662,23355 2 161224 -- MSL 101 (19U 200) +^E 13662,22755 2 161226 -- MSL 102 (19U 202) +:E 13662,23325 2 161227 -- MSL 103 (19U 203) +^I 7806,22755 2 161230 -- MSL 104 (19U 206) +:I 7806,23325 2 161231 -- MSL 105 (19U 207) +aa 11709,19305 2 161204 -- MSL 106 (19U 180) +ga 11709,19305 2 161120 -- MSL 107 (19U 96) +a^ 11709,18180 2 161160 -- MSL 108 (19U 136) ^ " -ad 11709,18750 2 3752 -a~ 11709,18654 2 3710 -~ " -`U 13173,23355,345 2 3801 -^U 13173,22755,345 2 3803 -'Y 13173,23355 2 3805 -'y 12198,19305,4605 3 3837 -de 11709,18645 2 3760 -,C 12684,18645,4725 3 3783 -,c 11220,14250,4737 1 3815 -~N 14637,23229 2 3793 -~n 13173,18654 2 3825 -r! 6342,13956,4344 1 3745 -r? 11709,13956,4344 1 3775 -Cs 17565,15834 0 3748 -Po 11709,18645,345 2 3747 -Ye 11709,18300 2 3749 -sc 11709,19605,6420 3 3751 -Fn 11709,18645 2 51871 -ct 11709,16917 2 3746 -^a 13662,18180,345 2 3810 -^e 11709,18180,345 2 3818 -^o 12198,18180,345 2 3828 -^u 13173,18180,345 2 3835 -'a 13662,19305,345 2 3809 -'e 11709,19305,345 2 3817 -'o 12198,19305,345 2 3827 -'u 13173,19305,345 2 3834 -`a 13662,19305,345 2 3808 -`e 11709,19305,345 2 3816 -`o 12198,19305,345 2 3826 -`u 13173,19305,345 2 3833 -:a 13662,18750,345 2 3812 -:e 11709,18750,345 2 3819 -:o 12198,18750,345 2 3830 -:u 13173,18750,345 2 3836 -oA 13662,25200 2 3781 -^i 6831,18180 2 3822 -/O 13662,18645,345 2 3800 -AE 22932,18285 2 3782 -oa 13662,21195,345 2 3813 -'i 6831,19305 2 3821 -/o 12198,14250,345 0 3832 -ae 18051,14250,345 0 3814 -:A 13662,23325 2 3780 -`i 6831,19305 2 3820 -:O 13662,23325,345 2 3798 -:U 13173,23325,345 2 3804 -'E 13662,23355 2 3785 -:i 6831,18750 2 3823 -ss 13173,18645 2 3807 -^O 13662,22755,345 2 3796 -'A 13662,23355 2 3777 -~A 13662,23229 2 3779 -~a 13662,18654,345 2 3811 --D 13662,18300 2 3792 -Sd 12198,19083,345 2 3824 -'I 7806,23355 2 3789 -`I 7806,23355 2 3788 -'O 13662,23355,345 2 3795 -`O 13662,23355,345 2 3794 -~O 13662,23229,345 2 3797 -~o 12198,18654,345 2 3829 -vS 12198,22755,345 2 51795 -vs 11220,18180,345 2 51827 -'U 13173,23355,345 2 3802 -:Y 13173,23325 2 51801 -:y 12198,18750,4605 3 3839 -TP 13173,18300 2 3806 -Tp 12684,18300,4290 3 3838 -mc 14637,10800,5193 1 3765 -ps 12198,19635,4200 3 3766 -34 17565,18645,345 2 3774 -\- 17565,10200 0 51757 -14 17565,18645,345 2 3772 -12 17565,18645,345 2 3773 -Of 11709,18645 2 3754 -Om 11709,18645 2 3770 -Fo 12198,12195 0 3755 -Fc 12198,12195 0 3771 -t+- 17565,16500 0 3761 -bb 13173,19083,5916 3 3750 -co 13173,19725 2 3753 -tno 17565,13479 0 3756 -rg 13173,19725 2 3758 -S2 7806,18480 2 3762 -S3 7806,18480 2 3763 -ac 11709,108,4737 1 3768 -S1 7806,18300 2 3769 -tmu 17565,16782 0 3799 -tdi 17565,15045 0 3831 -pc 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 -a- 11709,16920 2 3759 -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 +ad 11709,18750 2 161192 -- MSL 109 (19U 168) +~ 11709,18654 2 161176 -- MSL 110 (19U 152) +a~ " +`U 13173,23355,345 2 161241 -- MSL 111 (19U 217) +^U 13173,22755,345 2 161243 -- MSL 112 (19U 219) +u00AF 13173,21105 2 161199 -- MSL 113 (19U 175) +'Y 13173,23355 2 161245 -- MSL 114 (19U 221) +'y 12198,19305,4605 3 161277 -- MSL 115 (19U 253) +de 11709,18645 2 161200 -- MSL 116 (19U 176) +,C 12684,18645,4725 3 161223 -- MSL 117 (19U 199) +,c 11220,14250,4737 1 161255 -- MSL 118 (19U 231) +~N 14637,23229 2 161233 -- MSL 119 (19U 209) +~n 13173,18654 2 161265 -- MSL 120 (19U 241) +r! 6342,13956,4344 1 161185 -- MSL 121 (19U 161) +r? 11709,13956,4344 1 161215 -- MSL 122 (19U 191) +Cs 17565,15834 0 161188 -- MSL 123 (19U 164) +Po 11709,18645,345 2 161187 -- MSL 124 (19U 163) +Ye 11709,18300 2 161189 -- MSL 125 (19U 165) +sc 11709,19605,6420 3 161191 -- MSL 126 (19U 167) +Fn 11709,18645 2 161155 -- MSL 127 (19U 131) +ct 11709,16917 2 161186 -- MSL 128 (19U 162) +^a 13662,18180,345 2 161250 -- MSL 129 (19U 226) +^e 11709,18180,345 2 161258 -- MSL 130 (19U 234) +^o 12198,18180,345 2 161268 -- MSL 131 (19U 244) +^u 13173,18180,345 2 161275 -- MSL 132 (19U 251) +'a 13662,19305,345 2 161249 -- MSL 133 (19U 225) +'e 11709,19305,345 2 161257 -- MSL 134 (19U 233) +'o 12198,19305,345 2 161267 -- MSL 135 (19U 243) +'u 13173,19305,345 2 161274 -- MSL 136 (19U 250) +`a 13662,19305,345 2 161248 -- MSL 137 (19U 224) +`e 11709,19305,345 2 161256 -- MSL 138 (19U 232) +`o 12198,19305,345 2 161266 -- MSL 139 (19U 242) +`u 13173,19305,345 2 161273 -- MSL 140 (19U 249) +:a 13662,18750,345 2 161252 -- MSL 141 (19U 228) +:e 11709,18750,345 2 161259 -- MSL 142 (19U 235) +:o 12198,18750,345 2 161270 -- MSL 143 (19U 246) +:u 13173,18750,345 2 161276 -- MSL 144 (19U 252) +oA 13662,25200 2 161221 -- MSL 145 (19U 197) +^i 6831,18180 2 161262 -- MSL 146 (19U 238) +/O 13662,18645,345 2 161240 -- MSL 147 (19U 216) +AE 22932,18285 2 161222 -- MSL 148 (19U 198) +oa 13662,21195,345 2 161253 -- MSL 149 (19U 229) +'i 6831,19305 2 161261 -- MSL 150 (19U 237) +/o 12198,14250,345 0 161272 -- MSL 151 (19U 248) +ae 18051,14250,345 0 161254 -- MSL 152 (19U 230) +:A 13662,23325 2 161220 -- MSL 153 (19U 196) +`i 6831,19305 2 161260 -- MSL 154 (19U 236) +:O 13662,23325,345 2 161238 -- MSL 155 (19U 214) +:U 13173,23325,345 2 161244 -- MSL 156 (19U 220) +'E 13662,23355 2 161225 -- MSL 157 (19U 201) +:i 6831,18750 2 161263 -- MSL 158 (19U 239) +ss 13173,18645 2 161247 -- MSL 159 (19U 223) +^O 13662,22755,345 2 161236 -- MSL 160 (19U 212) +'A 13662,23355 2 161217 -- MSL 161 (19U 193) +~A 13662,23229 2 161219 -- MSL 162 (19U 195) +~a 13662,18654,345 2 161251 -- MSL 163 (19U 227) +-D 13662,18300 2 161232 -- MSL 164 (19U 208) +Sd 12198,19083,345 2 161264 -- MSL 165 (19U 240) +'I 7806,23355 2 161229 -- MSL 166 (19U 205) +`I 7806,23355 2 161228 -- MSL 167 (19U 204) +'O 13662,23355,345 2 161235 -- MSL 168 (19U 211) +`O 13662,23355,345 2 161234 -- MSL 169 (19U 210) +~O 13662,23229,345 2 161237 -- MSL 170 (19U 213) +~o 12198,18654,345 2 161269 -- MSL 171 (19U 245) +vS 12198,22755,345 2 161162 -- MSL 172 (19U 138) +vs 11220,18180,345 2 161178 -- MSL 173 (19U 154) +'U 13173,23355,345 2 161242 -- MSL 174 (19U 218) +:Y 13173,23325 2 161183 -- MSL 175 (19U 159) +:y 12198,18750,4605 3 161279 -- MSL 176 (19U 255) +TP 13173,18300 2 161246 -- MSL 177 (19U 222) +Tp 12684,18300,4290 3 161278 -- MSL 178 (19U 254) +mc 14637,10800,5193 1 161205 -- MSL 180 (19U 181) +ps 12198,19635,4200 3 161206 -- MSL 181 (19U 182) +34 17565,18645,345 2 161214 -- MSL 182 (19U 190) +\- 17565,10200 0 60096 -- MSL 183 ( 7J 192) +14 17565,18645,345 2 161212 -- MSL 184 (19U 188) +12 17565,18645,345 2 161213 -- MSL 185 (19U 189) +Of 11709,18645 2 161194 -- MSL 186 (19U 170) +Om 11709,18645 2 161210 -- MSL 187 (19U 186) +Fo 12198,12195 0 161195 -- MSL 188 (19U 171) +Fc 12198,12195 0 161211 -- MSL 190 (19U 187) +t+- 17565,16500 0 161201 -- MSL 191 (19U 177) +bb 13173,19083,5916 3 161190 -- MSL 192 (19U 166) +co 13173,19725 2 161193 -- MSL 193 (19U 169) +tno 17565,13479 0 161196 -- MSL 194 (19U 172) +u00AD 5856,8295 0 161197 -- MSL 195 (19U 173) +rg 13173,19725 2 161198 -- MSL 196 (19U 174) +S2 7806,18480 2 161202 -- MSL 197 (19U 178) +S3 7806,18480 2 161203 -- MSL 198 (19U 179) +ac 11709,108,4737 1 161208 -- MSL 199 (19U 184) +S1 7806,18300 2 161209 -- MSL 200 (19U 185) +tmu 17565,16782 0 161239 -- MSL 201 (19U 215) +tdi 17565,15045 0 161271 -- MSL 202 (19U 247) +u203C 12198,18300 2 87315 -- MSL 221 (10U 19) +u20A7 21468,18300,345 2 60121 -- MSL 232 ( 7J 217) +pc 5856,11745 0 161207 -- MSL 302 (19U 183) +u013F 12198,18300 2 51943 -- MSL 306 ( 6J 231) +u0140 11220,18300 2 51959 -- MSL 307 ( 6J 247) +u2113 12198,18045,765 2 60122 -- MSL 308 ( 7J 218) +u0149 19029,18645 2 51951 -- MSL 309 ( 6J 239) +fm 5856,18645 2 60101 -- MSL 310 ( 7J 197) +sd 10245,18645 2 60102 -- MSL 311 ( 7J 198) +dg 11709,18300,4575 3 161158 -- MSL 312 (19U 134) +tm 16101,17550 2 161177 -- MSL 313 (19U 153) +u2017 13173,0,6588 1 60095 -- MSL 314 ( 7J 191) +ah 11709,18180 2 75169 -- MSL 315 ( 9E 161) +ao 11709,21195 2 60152 -- MSL 316 ( 7J 248) +f/ 3903,18645,345 2 60109 -- MSL 324 ( 7J 205) +em 17565,8295 0 161175 -- MSL 325 (19U 151) +en 11709,8295 0 161174 -- MSL 326 (19U 150) +dd 11709,18300,4575 3 161159 -- MSL 327 (19U 135) +.i 6831,13905 0 46333 -- MSL 328 ( 5T 253) +aq 5856,18645 2 161063 -- MSL 329 (19U 39) +bu 13173,14226 0 161173 -- MSL 331 (19U 149) +u207F 10734,18480 2 87548 -- MSL 332 (10U 252) +u0111 12684,18300,345 2 75248 -- MSL 342 ( 9E 240) +u0041_0306 13662,23655 2 75203 -- MSL 400 ( 9E 195) +u0061_0306 13662,19080,345 2 75235 -- MSL 401 ( 9E 227) +u0041_0328 13662,18300,4638 3 75173 -- MSL 404 ( 9E 165) +u0061_0328 13662,14250,4353 1 75193 -- MSL 405 ( 9E 185) +'C 12684,23355,345 2 75206 -- MSL 406 ( 9E 198) +'c 11220,19305,345 2 75238 -- MSL 407 ( 9E 230) +u0041_030C 12684,22755,345 2 75208 -- MSL 410 ( 9E 200) +u0061_030C 11220,18180,345 2 75240 -- MSL 411 ( 9E 232) +u0044_030C 13662,22755 2 75215 -- MSL 414 ( 9E 207) +u0064_030C 15612,19590,345 2 75247 -- MSL 415 ( 9E 239) +u0045_030C 13662,22755 2 75212 -- MSL 416 ( 9E 204) +u0065_030C 11709,18180,345 2 75244 -- MSL 417 ( 9E 236) +u0045_0328 13662,18285,4638 3 75210 -- MSL 422 ( 9E 202) +u0065_0328 11709,14250,4353 1 75242 -- MSL 423 ( 9E 234) +u004C_0301 12198,23355 2 75205 -- MSL 440 ( 9E 197) +u006C_0301 6831,23790 2 75237 -- MSL 441 ( 9E 229) +u004C_030C 12198,18645 2 75196 -- MSL 442 ( 9E 188) +u006C_030C 9759,19590 2 75198 -- MSL 443 ( 9E 190) +u004E_0301 14637,23355 2 75217 -- MSL 446 ( 9E 209) +u006E_0301 13173,19305 2 75249 -- MSL 447 ( 9E 241) +u004E_030C 14637,22755 2 75218 -- MSL 448 ( 9E 210) +u006E_030C 13173,18180 2 75250 -- MSL 449 ( 9E 242) +u004F_030B 13662,23640,345 2 75221 -- MSL 452 ( 9E 213) +u006F_030B 12198,19305,345 2 75253 -- MSL 453 ( 9E 245) +u0052_0301 15126,23355,345 2 75200 -- MSL 456 ( 9E 192) +u0072_0301 9759,19305 2 75232 -- MSL 457 ( 9E 224) +u0052_030C 15126,22755,345 2 75224 -- MSL 458 ( 9E 216) +u0072_030C 9759,18180 2 75256 -- MSL 459 ( 9E 248) +u0053_0301 12198,23355,345 2 75148 -- MSL 462 ( 9E 140) +u0073_0301 11220,19305,345 2 75164 -- MSL 463 ( 9E 156) +u0054_030C 13662,22755 2 75149 -- MSL 466 ( 9E 141) +u0074_030C 9270,19590,345 2 75165 -- MSL 467 ( 9E 157) +u0054_0327 13662,18300,4725 3 75230 -- MSL 468 ( 9E 222) +u0074_0327 8295,17265,4737 3 75262 -- MSL 469 ( 9E 254) +u0055_030B 13173,23640,345 2 75227 -- MSL 474 ( 9E 219) +u0075_030B 13173,19305,345 2 75259 -- MSL 475 ( 9E 251) +u0055_030A 13173,25200,345 2 75225 -- MSL 476 ( 9E 217) +u0075_030A 13173,21195,345 2 75257 -- MSL 477 ( 9E 249) +u005A_0301 12198,23355 2 75151 -- MSL 482 ( 9E 143) +u007A_0301 10245,19305 2 75167 -- MSL 483 ( 9E 159) +u005A_0307 12198,23205 2 75183 -- MSL 484 ( 9E 175) +u007A_0307 10245,18750 2 75199 -- MSL 485 ( 9E 191) +u2070 7806,18480 2 51753 -- MSL 1000 ( 6J 41) +u2074 7806,18300 2 51748 -- MSL 1001 ( 6J 36) +u2075 7806,18300 2 51749 -- MSL 1002 ( 6J 37) +u2076 7806,18480 2 51806 -- MSL 1003 ( 6J 94) +u2077 7806,18480 2 51750 -- MSL 1004 ( 6J 38) +u2078 7806,18480 2 51754 -- MSL 1005 ( 6J 42) +u2079 7806,18480 2 51752 -- MSL 1006 ( 6J 40) +lq 10734,18645 2 161171 -- MSL 1017 (19U 147) +rq 10734,18645 2 161172 -- MSL 1018 (19U 148) +Bq 10734,3615,3705 0 161156 -- MSL 1019 (19U 132) +u2003 17565,0 0 51821 -- MSL 1020 ( 6J 109) +u2002 11709,0 0 51822 -- MSL 1021 ( 6J 110) +u2009 5856,0 0 51828 -- MSL 1023 ( 6J 116) +u2026 17565,3150 0 161157 -- MSL 1028 (19U 133) +vz 10245,18180 2 75166 -- MSL 1031 ( 9E 158) +u2120 16101,17703 2 128299 -- MSL 1034 (15U 43) +u211E 20004,18315,4056 2 51794 -- MSL 1036 ( 6J 82) +fi 15612,18705 2 60077 -- MSL 1040 ( 7J 173) +fl 15612,18645 2 60078 -- MSL 1041 ( 7J 174) +ff 17076,18645 2 51883 -- MSL 1042 ( 6J 171) +Fi 24396,18705 2 51884 -- MSL 1043 ( 6J 172) +Fl 24396,18645 2 51885 -- MSL 1044 ( 6J 173) +ij 14637,18705,4605 3 60134 -- MSL 1047 ( 7J 230) +u2105 19029,18645,345 2 60072 -- MSL 1060 ( 7J 168) +u0047_0306 13662,23655,345 2 46288 -- MSL 1061 ( 5T 208) +u0067_0306 13662,19080,4605 3 46320 -- MSL 1062 ( 5T 240) +u0053_0327 12198,18645,4725 3 75178 -- MSL 1063 ( 9E 170) +u0073_0327 11220,14250,4737 1 75194 -- MSL 1064 ( 9E 186) +u0049_0307 7806,23205 2 46301 -- MSL 1065 ( 5T 221) +bq 5856,3615,3705 0 161154 -- MSL 1067 (19U 130) +%0 23418,18645,345 2 161161 -- MSL 1068 (19U 137) +a- 11709,16920 2 60154 -- MSL 1084 ( 7J 250) +ab 11709,19080 2 75170 -- MSL 1086 ( 9E 162) +a. 11709,18750 2 75263 -- MSL 1088 ( 9E 255) +oe 18051,14250,345 0 161180 -- MSL 1090 (19U 156) +OE 20979,18645,345 2 161164 -- MSL 1091 (19U 140) +fo 7806,12195 0 161163 -- MSL 1092 (19U 139) +fc 7806,12195 0 161179 -- MSL 1093 (19U 155) +sq 19029,15624 0 60091 -- MSL 1094 ( 7J 187) +/L 12198,18300 2 75171 -- MSL 1095 ( 9E 163) +/l 6831,18300 2 75187 -- MSL 1096 ( 9E 179) +a" 11709,19305 2 75197 -- MSL 1097 ( 9E 189) +ho 11709,1062,4353 1 75186 -- MSL 1098 ( 9E 178) +vZ 12198,22755 2 75150 -- MSL 1106 ( 9E 142) +IJ 19029,18300,345 2 60135 -- MSL 1107 ( 7J 231) diff -ruN groff-1.19/font/devlj4/CORONET groff-1.19.1/font/devlj4/CORONET --- groff-1.19/font/devlj4/CORONET Tue Feb 25 06:38:56 2003 +++ groff-1.19.1/font/devlj4/CORONET Wed Feb 18 10:01:18 2004 @@ -1,260 +1,332 @@ +# Coronet name CORONET -spacewidth 13227 -slant 12.000000 -pcltypeface 4102 -pclproportional 0 +spacewidth 5367 +slant 13.000000 +pcltypeface 4116 +pclproportional 1 pclweight 0 pclstyle 1 +ligatures fi fl ff ffi ffl 0 charset -! 13227,18990,330 2 3617 -dq 13227,18990 2 3618 +! 4878,19920,195,7221,-2492,373 2 161057 -- MSL 1 (19U 33) +dq 7317,18990,0,6453,-5435,373 2 161058 -- MSL 2 (19U 34) " " -sh 13227,21309,2451 2 3619 +sh 10734,12180,0,3747,-4382,373 0 161059 -- MSL 3 (19U 35) # " -Do 13227,19320,1074 2 3620 +Do 10734,13725,2865,4302,-2003,373 0 161060 -- MSL 4 (19U 36) $ " -% 13227,19320,330 2 3621 -& 13227,19320,330 2 3622 -cq 13227,19320 2 51751 +% 13662,12180,195,2877,-4565,373 0 161061 -- MSL 5 (19U 37) +& 20490,18330,600,5373,-3329,373 2 161062 -- MSL 6 (19U 38) +cq 4392,19590,0,6309,-6068,373 2 161170 -- MSL 8 (19U 146) ' " -( 13227,19320,1935 2 3624 -) 13227,19320,1935 2 3625 -* 13227,18990 2 3626 -+ 13227,15075 0 3627 -, 13227,1785,2250 0 3628 -hy 13227,7995 0 3629 +( 5367,19590,6555,8709,-2141,373 3 161064 -- MSL 9 (19U 40) +) 5367,19590,6555,5466,1101,373 3 161065 -- MSL 10 (19U 41) +* 10734,19590,0,5157,-8681,373 2 161066 -- MSL 11 (19U 42) ++ 13662,7245,0,1473,-5255,373 0 161067 -- MSL 12 (19U 43) +, 5367,1950,3360,2172,-1457,373 0 161068 -- MSL 13 (19U 44) +hy 5367,3600,0,3648,-1853,373 0 161069 -- MSL 14 (19U 45) - " -. 13227,2100,330 0 3630 -sl 13227,19545,330 2 3631 +. 5367,1950,195,2184,-2771,373 0 161070 -- MSL 15 (19U 46) +sl 5367,19920,195,8472,-518,373 2 161071 -- MSL 16 (19U 47) / " -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 +0 10734,12180,195,4167,-2945,373 0 161072 -- MSL 17 (19U 48) +1 10734,12180,195,2073,-4823,373 0 161073 -- MSL 18 (19U 49) +2 10734,12180,165,4089,-2615,373 0 161074 -- MSL 19 (19U 50) +3 10734,12180,195,4128,-1925,373 0 161075 -- MSL 20 (19U 51) +4 10734,12669,633,3570,-2063,373 0 161076 -- MSL 21 (19U 52) +5 10734,12000,195,3726,-1445,373 0 161077 -- MSL 22 (19U 53) +6 10734,12987,195,3444,-2783,373 0 161078 -- MSL 23 (19U 54) +7 10734,12000,195,4359,-4235,373 0 161079 -- MSL 24 (19U 55) +8 10734,12180,195,4035,-2750,373 0 161080 -- MSL 25 (19U 56) +9 10734,12180,1329,4101,-3341,373 0 161081 -- MSL 26 (19U 57) +: 5367,6348,195,3393,-2771,373 0 161082 -- MSL 27 (19U 58) +; 5367,6348,3360,3393,-1457,373 0 161083 -- MSL 28 (19U 59) +< 26346,16068,0,0,-3980 0 161084 -- MSL 29 (19U 60) += 13662,4953,0,1467,-5264,373 0 161085 -- MSL 30 (19U 61) +> 26346,16068,0,0,-3980 0 161086 -- MSL 31 (19U 62) +? 7806,17439,195,6786,-3407,373 0 161087 -- MSL 32 (19U 63) +at 13662,10044,3552,2940,-2849,373 0 161088 -- MSL 33 (19U 64) @ " -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 +A 23418,19995,600,5910,-1211,373 2 161089 -- MSL 34 (19U 65) +B 14148,19590,600,6999,-1640,373 2 161090 -- MSL 35 (19U 66) +C 14637,19590,600,7032,-2972,373 2 161091 -- MSL 36 (19U 67) +D 23418,19701,0,3345,-2531,373 2 161092 -- MSL 37 (19U 68) +E 15126,19590,600,7173,-2297,373 2 161093 -- MSL 38 (19U 69) +F 17076,19590,600,6105,-2996,373 2 161094 -- MSL 39 (19U 70) +G 15126,19590,6765,7056,-2897,373 3 161095 -- MSL 40 (19U 71) +H 23907,19596,330,6129,-1355,373 2 161096 -- MSL 41 (19U 72) +I 15126,19590,600,4941,-1199,373 2 161097 -- MSL 42 (19U 73) +J 13173,19590,6519,5952,-227,373 3 161098 -- MSL 43 (19U 74) +K 23418,19590,600,7575,-1202,373 2 161099 -- MSL 44 (19U 75) +L 18051,19590,600,6657,-1511,373 2 161100 -- MSL 45 (19U 76) +M 21954,19785,2223,6414,-4793,373 2 161101 -- MSL 46 (19U 77) +N 15612,19830,2220,6954,-4553,373 2 161102 -- MSL 47 (19U 78) +O 18051,19590,600,5169,-3554,373 2 161103 -- MSL 48 (19U 79) +P 14148,19590,3276,6537,-746,373 2 161104 -- MSL 49 (19U 80) +Q 18051,19590,3249,5169,-3554,373 2 161105 -- MSL 50 (19U 81) +R 15126,19590,600,6837,-1316,373 2 161106 -- MSL 51 (19U 82) +S 17565,19590,600,7359,-1559,373 2 161107 -- MSL 52 (19U 83) +T 15612,19590,600,7557,-3008,373 2 161108 -- MSL 53 (19U 84) +U 16587,19785,2220,7305,-4907,373 2 161109 -- MSL 54 (19U 85) +V 16587,19602,600,7923,-5117,373 2 161110 -- MSL 55 (19U 86) +W 23907,19590,600,7470,-5072,373 2 161111 -- MSL 56 (19U 87) +X 15126,19590,600,7557,-1046,373 2 161112 -- MSL 57 (19U 88) +Y 16101,19590,5784,7764,-4358,373 2 161113 -- MSL 58 (19U 89) +Z 18051,19590,270,7545,-1265,373 2 161114 -- MSL 59 (19U 90) +lB 5367,19590,6750,8592,-50,373 3 161115 -- MSL 60 (19U 91) [ " -rs 13227,19545,330 2 3676 +rs 5367,19920,195,3192,-4175,373 2 161116 -- MSL 61 (19U 92) \ " -rB 13227,18990,2940 2 3677 +rB 5367,19590,6750,7695,846,373 3 161117 -- MSL 62 (19U 93) ] " -ha 13227,19758 2 51875 -_ 13227,0,6588 1 3679 -oq 13227,19326 2 51808 +ha 13173,19758,0,36,36,36 2 161118 -- MSL 63 (19U 94) +_ 13173,0,6588,1317,1317,373 1 161119 -- MSL 64 (19U 95) +oq 4392,19590,0,6309,-6068,373 2 161169 -- MSL 66 (19U 145) ` " -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 -`A 13227,24630 2 3776 -^A 13227,24810 2 3778 -`E 13227,24630 2 3784 -^E 13227,24810 2 3786 -:E 13227,23115 2 3787 -^I 13227,24810 2 3790 -:I 13227,23115 2 3791 -aa 13227,19725 2 3764 -ga 13227,19725 2 3680 -a^ 13227,19905 2 3678 +a 8781,6240,195,3735,-2093,373 0 161121 -- MSL 67 (19U 97) +b 8295,18015,195,3219,-2297,373 2 161122 -- MSL 68 (19U 98) +c 6831,6240,195,3807,-2012,373 0 161123 -- MSL 69 (19U 99) +d 8781,18015,195,6720,-1985,373 2 161124 -- MSL 70 (19U 100) +e 6831,6240,195,3648,-1958,373 0 161125 -- MSL 71 (19U 101) +f 5856,19920,6555,8130,-44,373 3 161126 -- MSL 72 (19U 102) +g 8295,6240,6555,3243,-1463,373 1 161127 -- MSL 73 (19U 103) +h 8781,18015,195,4152,-1946,373 2 161128 -- MSL 74 (19U 104) +i 4878,10050,195,4416,-2342,373 0 161129 -- MSL 75 (19U 105) +j 4392,10146,6555,4560,1614,373 1 161130 -- MSL 76 (19U 106) +k 8295,18015,195,3720,-2009,373 2 161131 -- MSL 77 (19U 107) +l 5367,19920,195,8229,-2354,373 2 161132 -- MSL 78 (19U 108) +m 12198,6240,195,4164,-2060,373 0 161133 -- MSL 79 (19U 109) +n 8295,6240,195,4122,-2045,373 0 161134 -- MSL 80 (19U 110) +o 7317,6240,195,3615,-1922,373 0 161135 -- MSL 81 (19U 111) +p 8295,6240,6555,3597,-2,373 1 161136 -- MSL 82 (19U 112) +q 8781,6240,6555,3960,-2009,373 1 161137 -- MSL 83 (19U 113) +r 5856,6240,0,4149,-1997,373 0 161138 -- MSL 84 (19U 114) +s 5856,7410,195,3423,-1673,373 0 161139 -- MSL 85 (19U 115) +t 4878,12324,195,4935,-2210,373 0 161140 -- MSL 86 (19U 116) +u 8781,6240,195,3834,-2501,373 0 161141 -- MSL 87 (19U 117) +v 6831,6240,195,4293,-2228,373 0 161142 -- MSL 88 (19U 118) +w 10734,6240,195,3777,-2201,373 0 161143 -- MSL 89 (19U 119) +x 5856,6240,0,4203,-1016,373 0 161144 -- MSL 90 (19U 120) +y 7806,6240,6555,3639,-2132,373 1 161145 -- MSL 91 (19U 121) +z 5856,6045,0,4245,-1331,373 0 161146 -- MSL 92 (19U 122) +{ 11709,19935,6210,6660,-5129,373 3 161147 -- MSL 93 (19U 123) +lC " +| 13173,19758,6588,0,-4595 3 161148 -- MSL 94 (19U 124) +ba " +} 11709,19935,6210,2163,-632,373 3 161149 -- MSL 95 (19U 125) +rC " +ti 26346,8952,0,0,-4028 0 161150 -- MSL 96 (19U 126) +`A 23418,24825,600,5910,-1211,373 2 161216 -- MSL 99 (19U 192) +^A 23418,24975,600,9558,-1211,373 2 161218 -- MSL 100 (19U 194) +`E 15126,24825,600,7173,-2297,373 2 161224 -- MSL 101 (19U 200) +^E 15126,24975,600,7404,-2297,373 2 161226 -- MSL 102 (19U 202) +:E 15126,23370,600,7644,-2297,373 2 161227 -- MSL 103 (19U 203) +^I 15126,24975,600,7404,-1199,373 2 161230 -- MSL 104 (19U 206) +:I 15126,23370,600,6744,-1199,373 2 161231 -- MSL 105 (19U 207) +aa 10734,9885,0,3222,-7334,373 0 161204 -- MSL 106 (19U 180) +ga 10734,9885,0,1608,-5720,373 0 161120 -- MSL 107 (19U 96) +a^ 10734,9885,0,2160,-4874,373 0 161160 -- MSL 108 (19U 136) ^ " -ad 13227,18195 2 3752 -a~ 13227,18873 2 3710 -~ " -`U 13227,24630,330 2 3801 -^U 13227,24810,330 2 3803 -'Y 13227,24630 2 3805 -'y 13227,19725,4350 2 3837 -de 13227,19320 2 3760 -,C 13227,19320,5325 3 3783 -,c 13227,14355,5295 1 3815 -~N 13227,23814 2 3793 -~n 13227,18873 2 3825 -r! 13227,14271,5049 1 3745 -r? 13227,14214,5436 1 3775 -Cs 13227,15684 0 3748 -Po 13227,19320,330 2 3747 -Ye 13227,18990 2 3749 -sc 13227,19320,1344 2 3751 -Fn 13227,19335,3540 2 51871 -ct 13227,19320,330 2 3746 -^a 13227,19905,330 2 3810 -^e 13227,19905,330 2 3818 -^o 13227,19905,330 2 3828 -^u 13227,19905,330 2 3835 -'a 13227,19725,330 2 3809 -'e 13227,19725,330 2 3817 -'o 13227,19725,330 2 3827 -'u 13227,19725,330 2 3834 -`a 13227,19725,330 2 3808 -`e 13227,19725,330 2 3816 -`o 13227,19725,330 2 3826 -`u 13227,19725,330 2 3833 -:a 13227,18195,330 2 3812 -:e 13227,18195,330 2 3819 -:o 13227,18195,330 2 3830 -:u 13227,18195,330 2 3836 -oA 13227,24810 2 3781 -^i 13227,19905 2 3822 -/O 13227,19320,342 2 3800 -AE 13227,18990 2 3782 -oa 13227,19905,330 2 3813 -'i 13227,19725 2 3821 -/o 13227,14895,735 0 3832 -ae 13227,14355,330 0 3814 -:A 13227,23115 2 3780 -`i 13227,19725 2 3820 -:O 13227,23115,330 2 3798 -:U 13227,23115,330 2 3804 -'E 13227,24630 2 3785 -:i 13227,18195 2 3823 -ss 13227,19335,330 2 3807 -^O 13227,24810,330 2 3796 -'A 13227,24630 2 3777 -~A 13227,23814 2 3779 -~a 13227,18873,330 2 3811 --D 13227,18990 2 3792 -Sd 13227,19545,330 2 3824 -'I 13227,24630 2 3789 -`I 13227,24630 2 3788 -'O 13227,24630,330 2 3795 -`O 13227,24630,330 2 3794 -~O 13227,23814,330 2 3797 -~o 13227,18873,330 2 3829 -vS 13227,24810,330 2 51795 -vs 13227,19905,330 2 51827 -'U 13227,24630,330 2 3802 -:Y 13227,23115 2 51801 -:y 13227,18195,4350 2 3839 -TP 13227,18990 2 3806 -Tp 13227,19545,5475 3 3838 -mc 13227,14025,4350 0 3765 -ps 13227,19635,4200 2 3766 -34 13227,19110,3825 2 3774 -\- 13227,9945 0 51757 -14 13227,19110,3825 2 3772 -12 13227,19110,3825 2 3773 -Of 13227,19320 2 3754 -Om 13227,19320 2 3770 -Fo 13227,13710 0 3755 -Fc 13227,13710 0 3771 -t+- 13227,15075 0 3761 -bb 13227,19083,5916 3 3750 -co 13227,19635 2 3753 -tno 13227,12501 0 3756 -rg 13227,19635 2 3758 -S2 13227,19110 2 3762 -S3 13227,19110 2 3763 -ac 13227,0,5295 1 3768 -S1 13227,19110 2 3769 -tmu 13227,14814 0 3799 -tdi 13227,14655 0 3831 -pc 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 -a- 13227,18051 2 3759 -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 +ad 10734,9240,0,2286,-6035,373 0 161192 -- MSL 109 (19U 168) +~ 10734,9282,0,2601,-5588,373 0 161176 -- MSL 110 (19U 152) +a~ " +`U 16587,24825,2220,7305,-4907,373 2 161241 -- MSL 111 (19U 217) +^U 16587,24975,2220,7305,-4907,373 2 161243 -- MSL 112 (19U 219) +u00AF 13173,21105,0,1317,1317,373 2 161199 -- MSL 113 (19U 175) +'Y 16101,24825,5784,7764,-4358,373 2 161245 -- MSL 114 (19U 221) +'y 7806,9885,6555,4086,-2132,373 1 161277 -- MSL 115 (19U 253) +de 10734,12180,0,3030,-6329,373 0 161200 -- MSL 116 (19U 176) +,C 14637,19590,4569,7032,-2972,373 2 161223 -- MSL 117 (19U 199) +,c 6831,6240,4206,3807,-1904,373 0 161255 -- MSL 118 (19U 231) +~N 15612,23673,2220,6954,-4553,373 2 161233 -- MSL 119 (19U 209) +~n 8295,9282,195,4122,-2045,373 0 161265 -- MSL 120 (19U 241) +r! 4878,9900,10215,4278,450,373 1 161185 -- MSL 121 (19U 161) +r? 7806,8658,8976,3063,315,373 1 161215 -- MSL 122 (19U 191) +Cs 10734,10530,0,4335,-2807,373 0 161188 -- MSL 123 (19U 164) +Po 10734,12180,195,4797,-1130,373 0 161187 -- MSL 124 (19U 163) +Ye 10734,12708,5787,6393,1848,373 0 161189 -- MSL 125 (19U 165) +sc 10734,12360,360,4200,-2339,373 0 161191 -- MSL 126 (19U 167) +Fn 10734,19920,6555,4971,-1763,373 3 161155 -- MSL 127 (19U 131) +ct 10734,11385,0,2574,-4754,373 0 161186 -- MSL 128 (19U 162) +^a 8781,9885,195,4035,-2093,373 0 161250 -- MSL 129 (19U 226) +^e 6831,9885,195,5010,-1958,373 0 161258 -- MSL 130 (19U 234) +^o 7317,9885,195,4467,-1922,373 0 161268 -- MSL 131 (19U 244) +^u 8781,9885,195,3834,-2501,373 0 161275 -- MSL 132 (19U 251) +'a 8781,9885,195,4197,-2093,373 0 161249 -- MSL 133 (19U 225) +'e 6831,9885,195,5622,-1958,373 0 161257 -- MSL 134 (19U 233) +'o 7317,9885,195,5379,-1922,373 0 161267 -- MSL 135 (19U 243) +'u 8781,9885,195,4197,-2501,373 0 161274 -- MSL 136 (19U 250) +`a 8781,9885,195,3735,-2093,373 0 161248 -- MSL 137 (19U 224) +`e 6831,9885,195,3648,-1958,373 0 161256 -- MSL 138 (19U 232) +`o 7317,9885,195,3615,-1922,373 0 161266 -- MSL 139 (19U 242) +`u 8781,9885,195,3834,-2501,373 0 161273 -- MSL 140 (19U 249) +:a 8781,9240,195,3735,-2093,373 0 161252 -- MSL 141 (19U 228) +:e 6831,9240,195,4686,-1958,373 0 161259 -- MSL 142 (19U 235) +:o 7317,9240,195,4593,-1922,373 0 161270 -- MSL 143 (19U 246) +:u 8781,9240,195,3834,-2501,373 0 161276 -- MSL 144 (19U 252) +oA 23418,24315,600,7644,-1211,373 2 161221 -- MSL 145 (19U 197) +^i 4878,9885,195,5088,-1946,373 0 161262 -- MSL 146 (19U 238) +/O 18051,19638,636,7677,-1427,373 2 161240 -- MSL 147 (19U 216) +AE 24396,19590,600,7059,309,373 2 161222 -- MSL 148 (19U 198) +oa 8781,10395,195,3735,-2093,373 0 161253 -- MSL 149 (19U 229) +'i 4878,9885,195,6150,-2342,373 0 161261 -- MSL 150 (19U 237) +/o 7317,6240,201,4239,-1160,373 0 161272 -- MSL 151 (19U 248) +ae 11220,6240,195,3378,-2057,373 0 161254 -- MSL 152 (19U 230) +:A 23418,23370,600,8598,-1211,373 2 161220 -- MSL 153 (19U 196) +`i 4878,9885,195,4536,-2342,373 0 161260 -- MSL 154 (19U 236) +:O 18051,23370,600,5169,-3554,373 2 161238 -- MSL 155 (19U 214) +:U 16587,23370,2220,7305,-4907,373 2 161244 -- MSL 156 (19U 220) +'E 15126,24825,600,7515,-2297,373 2 161225 -- MSL 157 (19U 201) +:i 4878,9240,195,5214,-2342,373 0 161263 -- MSL 158 (19U 239) +ss 9270,19920,6555,4851,-149,373 3 161247 -- MSL 159 (19U 223) +^O 18051,24975,600,5169,-3554,373 2 161236 -- MSL 160 (19U 212) +'A 23418,24825,600,8739,-1211,373 2 161217 -- MSL 161 (19U 193) +~A 23418,23673,600,9720,-1211,373 2 161219 -- MSL 162 (19U 195) +~a 8781,9282,195,3735,-2093,373 0 161251 -- MSL 163 (19U 227) +-D 23418,19698,0,3291,-2582,373 2 161232 -- MSL 164 (19U 208) +Sd 8781,18015,195,5640,-2606,373 2 161264 -- MSL 165 (19U 240) +'I 15126,24825,600,6585,-1199,373 2 161229 -- MSL 166 (19U 205) +`I 15126,24825,600,4941,-1199,373 2 161228 -- MSL 167 (19U 204) +'O 18051,24825,600,5169,-3554,373 2 161235 -- MSL 168 (19U 211) +`O 18051,24825,600,5169,-3554,373 2 161234 -- MSL 169 (19U 210) +~O 18051,23673,600,5202,-3554,373 2 161237 -- MSL 170 (19U 213) +~o 7317,9282,195,4308,-1922,373 0 161269 -- MSL 171 (19U 245) +vS 17565,25035,600,8751,-1559,373 2 161162 -- MSL 172 (19U 138) +vs 5856,11133,195,6582,-1673,373 0 161178 -- MSL 173 (19U 154) +'U 16587,24825,2220,7305,-4907,373 2 161242 -- MSL 174 (19U 218) +:Y 16101,23370,5784,7764,-4358,373 2 161183 -- MSL 175 (19U 159) +:y 7806,9240,6555,3639,-2132,373 1 161279 -- MSL 176 (19U 255) +TP 14148,19590,3228,5598,-749,373 2 161246 -- MSL 177 (19U 222) +Tp 8295,18015,6555,3597,-2,373 3 161278 -- MSL 178 (19U 254) +mc 14637,10800,5595,612,585,373 0 161205 -- MSL 180 (19U 181) +ps 10734,19635,4200,2865,-4976,373 2 161206 -- MSL 181 (19U 182) +34 13662,12714,426,4089,-2624,373 0 161214 -- MSL 182 (19U 190) +\- 13662,4020,0,837,-4634,373 0 60096 -- MSL 183 ( 7J 192) +14 13662,12714,426,3339,-3749,373 0 161212 -- MSL 184 (19U 188) +12 13662,12714,426,3726,-3749,373 0 161213 -- MSL 185 (19U 189) +Of 8295,12180,0,5139,-3017,373 0 161194 -- MSL 186 (19U 170) +Om 8295,12180,0,4494,-3869,373 0 161210 -- MSL 187 (19U 186) +Fo 7317,6840,870,5124,-2201,373 0 161195 -- MSL 188 (19U 171) +Fc 7317,6840,870,3621,-698,373 0 161211 -- MSL 190 (19U 187) +t+- 13662,7263,432,819,-4601,373 0 161201 -- MSL 191 (19U 177) +bb 13173,19083,5916,0,-4595 3 161190 -- MSL 192 (19U 166) +co 13173,19725,0,8436,-6611,373 2 161193 -- MSL 193 (19U 169) +tno 13662,5640,0,1545,-5342,373 0 161196 -- MSL 194 (19U 172) +u00AD 5367,3600,0,3648,-1853,373 0 161197 -- MSL 195 (19U 173) +rg 13173,19725,0,8436,-6611,373 2 161198 -- MSL 196 (19U 174) +S2 6342,12150,0,4965,-3668,373 0 161202 -- MSL 197 (19U 178) +S3 6342,12150,0,5163,-3224,373 0 161203 -- MSL 198 (19U 179) +ac 10734,0,4206,0,-3857 0 161208 -- MSL 199 (19U 184) +S1 6342,12150,0,4314,-4949,373 0 161209 -- MSL 200 (19U 185) +tmu 13662,7281,0,1434,-5198,373 0 161239 -- MSL 201 (19U 215) +tdi 13662,6570,0,1371,-5168,373 0 161271 -- MSL 202 (19U 247) +u203C 9270,19920,195,7221,-2492,373 2 87315 -- MSL 221 (10U 19) +u20A7 19029,19590,3276,4932,-746,373 2 60121 -- MSL 232 ( 7J 217) +pc 5367,6801,0,3285,-3872,373 0 161207 -- MSL 302 (19U 183) +u013F 18051,19590,600,8766,-1511,373 2 51943 -- MSL 306 ( 6J 231) +u0140 8295,19920,195,5301,-2354,373 2 51959 -- MSL 307 ( 6J 247) +u2113 10734,12180,195,2700,-4265,373 0 60122 -- MSL 308 ( 7J 218) +u0149 10734,14103,195,4125,-4487,373 0 51951 -- MSL 309 ( 6J 239) +fm 5367,11985,0,4482,-4724,373 0 60101 -- MSL 310 ( 7J 197) +sd 7806,11985,0,4626,-4724,373 0 60102 -- MSL 311 ( 7J 198) +dg 10734,12360,2565,3789,-4823,373 0 161158 -- MSL 312 (19U 134) +tm 16101,17550,0,8922,-6572,373 0 161177 -- MSL 313 (19U 153) +u2017 13173,0,6588,1317,1317,373 1 60095 -- MSL 314 ( 7J 191) +ah 10734,9993,0,3468,-6182,373 0 75169 -- MSL 315 ( 9E 161) +ao 10734,10395,0,1947,-6896,373 0 60152 -- MSL 316 ( 7J 248) +f/ 2439,12714,426,7488,492,373 0 60109 -- MSL 324 ( 7J 205) +em 13662,3600,0,1644,-3692,373 0 161175 -- MSL 325 (19U 151) +en 10734,3600,0,1509,-4097,373 0 161174 -- MSL 326 (19U 150) +dd 10734,12360,2565,3195,-4229,373 0 161159 -- MSL 327 (19U 135) +.i 4878,6240,195,3915,-2342,373 0 46333 -- MSL 328 ( 5T 253) +aq 4392,18990,0,6729,-5585,373 2 161063 -- MSL 329 (19U 39) +bu 13173,14226,0,0,-497 0 161173 -- MSL 331 (19U 149) +u207F 8295,12237,0,5133,-3017,373 0 87548 -- MSL 332 (10U 252) +u0111 8781,18015,195,6720,-1985,373 2 75248 -- MSL 342 ( 9E 240) +u0041_0306 23418,23580,600,8793,-1211,373 2 75203 -- MSL 400 ( 9E 195) +u0061_0306 8781,9810,195,4389,-2093,373 0 75235 -- MSL 401 ( 9E 227) +u0041_0328 23418,19995,2925,5910,-1211,373 2 75173 -- MSL 404 ( 9E 165) +u0061_0328 8781,6240,2727,3735,-2093,373 0 75193 -- MSL 405 ( 9E 185) +'C 14637,24825,600,7947,-2972,373 2 75206 -- MSL 406 ( 9E 198) +'c 6831,9885,195,5622,-2012,373 0 75238 -- MSL 407 ( 9E 230) +u0041_030C 14637,25035,600,10215,-2972,373 2 75208 -- MSL 410 ( 9E 200) +u0061_030C 6831,9993,195,5574,-2012,373 0 75240 -- MSL 411 ( 9E 232) +u0044_030C 23418,25035,0,4326,-2531,373 2 75215 -- MSL 414 ( 9E 207) +u0064_030C 10245,19056,195,8436,-1985,373 2 75247 -- MSL 415 ( 9E 239) +u0045_030C 15126,25035,600,9972,-2297,373 2 75212 -- MSL 416 ( 9E 204) +u0065_030C 6831,9993,195,5418,-1958,373 0 75244 -- MSL 417 ( 9E 236) +u0045_0328 15126,19590,3900,7173,-2297,373 2 75210 -- MSL 422 ( 9E 202) +u0065_0328 6831,6240,2727,3648,-1958,373 0 75242 -- MSL 423 ( 9E 234) +u004C_0301 18051,24825,600,8421,-1511,373 2 75205 -- MSL 440 ( 9E 197) +u006C_0301 5367,23496,195,11004,-2354,373 2 75237 -- MSL 441 ( 9E 229) +u004C_030C 18051,20106,600,9780,-1511,373 2 75196 -- MSL 442 ( 9E 188) +u006C_030C 7806,20106,195,8715,-2354,373 2 75198 -- MSL 443 ( 9E 190) +u004E_0301 15612,24825,2220,6954,-4553,373 2 75217 -- MSL 446 ( 9E 209) +u006E_0301 8295,9885,195,4122,-2045,373 0 75249 -- MSL 447 ( 9E 241) +u004E_030C 15612,25035,2220,8529,-4553,373 2 75218 -- MSL 448 ( 9E 210) +u006E_030C 8295,9993,195,4686,-2045,373 0 75250 -- MSL 449 ( 9E 242) +u004F_030B 18051,24825,600,5169,-3554,373 2 75221 -- MSL 452 ( 9E 213) +u006F_030B 7317,9885,195,6870,-1922,373 0 75253 -- MSL 453 ( 9E 245) +u0052_0301 15126,24825,600,6837,-1316,373 2 75200 -- MSL 456 ( 9E 192) +u0072_0301 5856,9885,0,5661,-1997,373 0 75232 -- MSL 457 ( 9E 224) +u0052_030C 15126,25035,600,7422,-1316,373 2 75224 -- MSL 458 ( 9E 216) +u0072_030C 5856,9993,0,5907,-1997,373 0 75256 -- MSL 459 ( 9E 248) +u0053_0301 17565,24825,600,7359,-1559,373 2 75148 -- MSL 462 ( 9E 140) +u0073_0301 5856,11025,195,6111,-1673,373 0 75164 -- MSL 463 ( 9E 156) +u0054_030C 15612,25035,600,8829,-3008,373 2 75149 -- MSL 466 ( 9E 141) +u0074_030C 5856,13506,195,6465,-2210,373 0 75165 -- MSL 467 ( 9E 157) +u0054_0327 15612,19590,4569,7557,-3008,373 2 75230 -- MSL 468 ( 9E 222) +u0074_0327 4878,12324,4206,4935,-1139,373 0 75262 -- MSL 469 ( 9E 254) +u0055_030B 16587,24825,2220,7305,-4907,373 2 75227 -- MSL 474 ( 9E 219) +u0075_030B 8781,9885,195,5238,-2501,373 0 75259 -- MSL 475 ( 9E 251) +u0055_030A 16587,24315,2220,7305,-4907,373 2 75225 -- MSL 476 ( 9E 217) +u0075_030A 8781,10395,195,3834,-2501,373 0 75257 -- MSL 477 ( 9E 249) +u005A_0301 18051,24825,270,7545,-1265,373 2 75151 -- MSL 482 ( 9E 143) +u007A_0301 5856,9885,0,5901,-1331,373 0 75167 -- MSL 483 ( 9E 159) +u005A_0307 18051,23370,270,7545,-1265,373 2 75183 -- MSL 484 ( 9E 175) +u007A_0307 5856,9240,0,4245,-1331,373 0 75199 -- MSL 485 ( 9E 191) +u2070 6342,12150,0,5367,-3551,373 0 51753 -- MSL 1000 ( 6J 41) +u2074 6342,12504,0,5178,-3602,373 0 51748 -- MSL 1001 ( 6J 36) +u2075 6342,12000,0,5043,-3029,373 0 51749 -- MSL 1002 ( 6J 37) +u2076 6342,12642,0,4938,-3590,373 0 51806 -- MSL 1003 ( 6J 94) +u2077 6342,12000,0,5301,-4556,373 0 51750 -- MSL 1004 ( 6J 38) +u2078 6342,12150,0,5265,-3677,373 0 51754 -- MSL 1005 ( 6J 42) +u2079 6342,12150,0,5232,-4034,373 0 51752 -- MSL 1006 ( 6J 40) +lq 7317,19590,0,6600,-6074,373 2 161171 -- MSL 1017 (19U 147) +rq 7317,19590,0,6600,-6074,373 2 161172 -- MSL 1018 (19U 148) +Bq 7317,2064,2151,2220,-1694,373 0 161156 -- MSL 1019 (19U 132) +u2003 13662,0,0,0,1317 0 51821 -- MSL 1020 ( 6J 109) +u2002 10734,0,0,0,1317 0 51822 -- MSL 1021 ( 6J 110) +u2009 5367,0,0,0,1317 0 51828 -- MSL 1023 ( 6J 116) +u2026 13662,1950,195,2514,-2420,373 0 161157 -- MSL 1028 (19U 133) +vz 5856,9993,0,5907,-1331,373 0 75166 -- MSL 1031 ( 9E 158) +u2120 16101,17703,0,8175,-6617,373 0 128299 -- MSL 1034 (15U 43) +u211E 20004,18315,4056,4212,-4913,373 2 51794 -- MSL 1036 ( 6J 82) +fi 10245,19920,6555,4416,-41,373 3 60077 -- MSL 1040 ( 7J 173) +fl 10734,19920,6555,8226,-41,373 3 60078 -- MSL 1041 ( 7J 174) +ff 11220,19920,6555,8130,-44,373 3 51883 -- MSL 1042 ( 6J 171) +Fi 15612,19920,6555,4413,-38,373 3 51884 -- MSL 1043 ( 6J 172) +Fl 16587,19914,6429,8226,-41,373 3 51885 -- MSL 1044 ( 6J 173) +ij 9270,10146,6555,4560,-2342,373 1 60134 -- MSL 1047 ( 7J 230) +u2105 15612,12330,600,4140,-4076,373 0 60072 -- MSL 1060 ( 7J 168) +u0047_0306 15126,23580,6765,7752,-2897,373 3 46288 -- MSL 1061 ( 5T 208) +u0067_0306 8295,9810,6555,4644,-1463,373 1 46320 -- MSL 1062 ( 5T 240) +u0053_0327 17565,19590,4569,7359,-1559,373 2 75178 -- MSL 1063 ( 9E 170) +u0073_0327 5856,7410,4206,3423,-1418,373 0 75194 -- MSL 1064 ( 9E 186) +u0049_0307 15126,23370,600,5337,-1199,373 2 46301 -- MSL 1065 ( 5T 221) +bq 4392,2064,2151,2655,-2414,373 0 161154 -- MSL 1067 (19U 130) +%0 17565,12180,195,3261,-3656,373 0 161161 -- MSL 1068 (19U 137) +a- 10734,8115,0,2277,-6512,373 0 60154 -- MSL 1084 ( 7J 250) +ab 10734,9810,0,2814,-6065,373 0 75170 -- MSL 1086 ( 9E 162) +a. 10734,9240,0,1182,-7526,373 0 75263 -- MSL 1088 ( 9E 255) +oe 11220,6240,195,3690,-1922,373 0 161180 -- MSL 1090 (19U 156) +OE 26346,19590,600,4215,-3722,373 2 161164 -- MSL 1091 (19U 140) +fo 4878,6840,870,4353,-1841,373 0 161163 -- MSL 1092 (19U 139) +fc 4878,6840,870,3207,-695,373 0 161179 -- MSL 1093 (19U 155) +sq 19029,15624,0,0,-2021 0 60091 -- MSL 1094 ( 7J 187) +/L 18051,19590,600,6657,-1511,373 2 75171 -- MSL 1095 ( 9E 163) +/l 6342,19920,195,7704,-1943,373 2 75187 -- MSL 1096 ( 9E 179) +a" 10734,9885,0,4803,-6143,373 0 75197 -- MSL 1097 ( 9E 189) +ho 10734,318,2727,1575,-6617,373 0 75186 -- MSL 1098 ( 9E 178) +vZ 18051,25035,270,7545,-1265,373 2 75150 -- MSL 1106 ( 9E 142) +IJ 25371,19590,6519,5952,-1199,373 3 60135 -- MSL 1107 ( 7J 231) diff -ruN groff-1.19/font/devlj4/CR groff-1.19.1/font/devlj4/CR --- groff-1.19/font/devlj4/CR Tue Feb 25 06:38:55 2003 +++ groff-1.19.1/font/devlj4/CR Wed Feb 18 10:01:17 2004 @@ -1,3 +1,4 @@ +# Courier name CR spacewidth 15873 pcltypeface 4099 @@ -5,255 +6,325 @@ pclweight 0 pclstyle 0 charset -! 15873,15060,330 0 3617 -dq 15873,15060 0 3618 +! 15873,15060,330 0 161057 -- MSL 1 (19U 33) +dq 15873,15060 0 161058 -- MSL 2 (19U 34) " " -sh 15873,16827,2040 2 3619 +sh 15873,16827,2040 2 161059 -- MSL 3 (19U 35) # " -Do 15873,17247,3642 2 3620 +Do 15873,17247,3642 2 161060 -- MSL 4 (19U 36) $ " -% 15873,16380,330 2 3621 -& 15873,14187,330 0 3622 -cq 15873,15060 0 51751 +% 15873,16380,330 2 161061 -- MSL 5 (19U 37) +& 15873,14187,330 0 161062 -- MSL 6 (19U 38) +cq 15873,15060 0 161170 -- MSL 8 (19U 146) ' " -( 15873,17070,2580 2 3624 -) 15873,17070,2580 2 3625 -* 15873,15060 0 3626 -+ 15873,11385 0 3627 -, 15873,3195,3420 0 3628 -hy 15873,7275 0 3629 +( 15873,17070,2580 2 161064 -- MSL 9 (19U 40) +) 15873,17070,2580 2 161065 -- MSL 10 (19U 41) +* 15873,15060 0 161066 -- MSL 11 (19U 42) ++ 15873,11385 0 161067 -- MSL 12 (19U 43) +, 15873,3195,3420 0 161068 -- MSL 13 (19U 44) +hy 15873,7275 0 161069 -- MSL 14 (19U 45) - " -. 15873,2805,330 0 3630 -sl 15873,18465,3765 2 3631 +. 15873,2805,330 0 161070 -- MSL 15 (19U 46) +sl 15873,18465,3765 2 161071 -- MSL 16 (19U 47) / " -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 +0 15873,15390,330 0 161072 -- MSL 17 (19U 48) +1 15873,15060 0 161073 -- MSL 18 (19U 49) +2 15873,15390 0 161074 -- MSL 19 (19U 50) +3 15873,15390,330 0 161075 -- MSL 20 (19U 51) +4 15873,15060 0 161076 -- MSL 21 (19U 52) +5 15873,15060,330 0 161077 -- MSL 22 (19U 53) +6 15873,15390,330 0 161078 -- MSL 23 (19U 54) +7 15873,15060 0 161079 -- MSL 24 (19U 55) +8 15873,15390,330 0 161080 -- MSL 25 (19U 56) +9 15873,15390,330 0 161081 -- MSL 26 (19U 57) +: 15873,9705,393 0 161082 -- MSL 27 (19U 58) +; 15873,9705,3420 0 161083 -- MSL 28 (19U 59) +< 15873,10647,3 0 161084 -- MSL 29 (19U 60) += 15873,8451 0 161085 -- MSL 30 (19U 61) +> 15873,10647,3 0 161086 -- MSL 31 (19U 62) +? 15873,15390,330 0 161087 -- MSL 32 (19U 63) +at 15873,14391,363 0 161088 -- MSL 33 (19U 64) @ " -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 +A 15873,15060 0 161089 -- MSL 34 (19U 65) +B 15873,15060 0 161090 -- MSL 35 (19U 66) +C 15873,15390,330 0 161091 -- MSL 36 (19U 67) +D 15873,15060 0 161092 -- MSL 37 (19U 68) +E 15873,15060 0 161093 -- MSL 38 (19U 69) +F 15873,15060 0 161094 -- MSL 39 (19U 70) +G 15873,15390,330 0 161095 -- MSL 40 (19U 71) +H 15873,15060 0 161096 -- MSL 41 (19U 72) +I 15873,15060 0 161097 -- MSL 42 (19U 73) +J 15873,15060,330 0 161098 -- MSL 43 (19U 74) +K 15873,15060 0 161099 -- MSL 44 (19U 75) +L 15873,15060 0 161100 -- MSL 45 (19U 76) +M 15873,15060 0 161101 -- MSL 46 (19U 77) +N 15873,15060 0 161102 -- MSL 47 (19U 78) +O 15873,15390,330 0 161103 -- MSL 48 (19U 79) +P 15873,15060 0 161104 -- MSL 49 (19U 80) +Q 15873,15390,3360 0 161105 -- MSL 50 (19U 81) +R 15873,15060 0 161106 -- MSL 51 (19U 82) +S 15873,15390,330 0 161107 -- MSL 52 (19U 83) +T 15873,15060 0 161108 -- MSL 53 (19U 84) +U 15873,15060,330 0 161109 -- MSL 54 (19U 85) +V 15873,15060 0 161110 -- MSL 55 (19U 86) +W 15873,15060 0 161111 -- MSL 56 (19U 87) +X 15873,15060 0 161112 -- MSL 57 (19U 88) +Y 15873,15060 0 161113 -- MSL 58 (19U 89) +Z 15873,15060 0 161114 -- MSL 59 (19U 90) +lB 15873,17070,2580 2 161115 -- MSL 60 (19U 91) [ " -rs 15873,18465,3765 2 3676 +rs 15873,18465,3765 2 161116 -- MSL 61 (19U 92) \ " -rB 15873,17070,2580 2 3677 +rB 15873,17070,2580 2 161117 -- MSL 62 (19U 93) ] " -ha 15873,19758 2 51875 -_ 15873,0,6588 1 3679 -oq 15873,15060 0 51808 +ha 15873,19758 2 161118 -- MSL 63 (19U 94) +_ 15873,0,6588 1 161119 -- MSL 64 (19U 95) +oq 15873,15060 0 161169 -- MSL 66 (19U 145) ` " -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 -`A 15873,21180 2 3776 -^A 15873,21180 2 3778 -`E 15873,21180 2 3784 -^E 15873,21180 2 3786 -:E 15873,20670 2 3787 -^I 15873,21180 2 3790 -:I 15873,20670 2 3791 -aa 15873,17565 2 3764 -ga 15873,17565 2 3680 -a^ 15873,17565 2 3678 +a 15873,11775,330 0 161121 -- MSL 67 (19U 97) +b 15873,16500,330 2 161122 -- MSL 68 (19U 98) +c 15873,11775,330 0 161123 -- MSL 69 (19U 99) +d 15873,16500,330 2 161124 -- MSL 70 (19U 100) +e 15873,11775,330 0 161125 -- MSL 71 (19U 101) +f 15873,16500 2 161126 -- MSL 72 (19U 102) +g 15873,11775,5145 1 161127 -- MSL 73 (19U 103) +h 15873,16500 2 161128 -- MSL 74 (19U 104) +i 15873,17235 2 161129 -- MSL 75 (19U 105) +j 15873,17235,5145 3 161130 -- MSL 76 (19U 106) +k 15873,16500 2 161131 -- MSL 77 (19U 107) +l 15873,16500 2 161132 -- MSL 78 (19U 108) +m 15873,11775 0 161133 -- MSL 79 (19U 109) +n 15873,11775 0 161134 -- MSL 80 (19U 110) +o 15873,11775,330 0 161135 -- MSL 81 (19U 111) +p 15873,11775,5145 1 161136 -- MSL 82 (19U 112) +q 15873,11775,5145 1 161137 -- MSL 83 (19U 113) +r 15873,11775 0 161138 -- MSL 84 (19U 114) +s 15873,11775,330 0 161139 -- MSL 85 (19U 115) +t 15873,14826,330 0 161140 -- MSL 86 (19U 116) +u 15873,11445,330 0 161141 -- MSL 87 (19U 117) +v 15873,11445 0 161142 -- MSL 88 (19U 118) +w 15873,11445 0 161143 -- MSL 89 (19U 119) +x 15873,11445 0 161144 -- MSL 90 (19U 120) +y 15873,11445,5145 1 161145 -- MSL 91 (19U 121) +z 15873,11445 0 161146 -- MSL 92 (19U 122) +{ 15873,20130,6075 3 161147 -- MSL 93 (19U 123) +lC " +| 15873,19758,6588 3 161148 -- MSL 94 (19U 124) +ba " +} 15873,20130,6075 3 161149 -- MSL 95 (19U 125) +rC " +ti 15873,7233 0 161150 -- MSL 96 (19U 126) +`A 15873,21180 2 161216 -- MSL 99 (19U 192) +^A 15873,21180 2 161218 -- MSL 100 (19U 194) +`E 15873,21180 2 161224 -- MSL 101 (19U 200) +^E 15873,21180 2 161226 -- MSL 102 (19U 202) +:E 15873,20670 2 161227 -- MSL 103 (19U 203) +^I 15873,21180 2 161230 -- MSL 104 (19U 206) +:I 15873,20670 2 161231 -- MSL 105 (19U 207) +aa 15873,17565 2 161204 -- MSL 106 (19U 180) +ga 15873,17565 2 161120 -- MSL 107 (19U 96) +a^ 15873,17565 2 161160 -- MSL 108 (19U 136) ^ " -ad 15873,16905 2 3752 -a~ 15873,16830 2 3710 -~ " -`U 15873,21180,330 2 3801 -^U 15873,21180,330 2 3803 -'Y 15873,21180 2 3805 -'y 15873,17565,5145 3 3837 -de 15873,15390 0 3760 -,C 15873,15390,5175 1 3783 -,c 15873,11775,4815 1 3815 -~N 15873,20571 2 3793 -~n 15873,16830 2 3825 -r! 15873,11880,3510 0 3745 -r? 15873,11898,3822 0 3775 -Cs 15873,15684 2 3748 -Po 15873,15390,330 0 3747 -Ye 15873,15060 0 3749 -sc 15873,15390,1905 0 3751 -Fn 15873,15090,4350 0 51871 -ct 15873,16179,1431 2 3746 -^a 15873,17565,330 2 3810 -^e 15873,17565,330 2 3818 -^o 15873,17565,330 2 3828 -^u 15873,17565,330 2 3835 -'a 15873,17565,330 2 3809 -'e 15873,17565,330 2 3817 -'o 15873,17565,330 2 3827 -'u 15873,17565,330 2 3834 -`a 15873,17565,330 2 3808 -`e 15873,17565,330 2 3816 -`o 15873,17565,330 2 3826 -`u 15873,17565,330 2 3833 -:a 15873,16905,330 2 3812 -:e 15873,16905,330 2 3819 -:o 15873,16905,330 2 3830 -:u 15873,16905,330 2 3836 -oA 15873,21690 2 3781 -^i 15873,17565 2 3822 -/O 15873,15591,612 2 3800 -AE 15873,15060 0 3782 -oa 15873,17997,330 2 3813 -'i 15873,17565 2 3821 -/o 15873,11856,459 0 3832 -ae 15873,11775,330 0 3814 -:A 15873,20670 2 3780 -`i 15873,17565 2 3820 -:O 15873,20670,330 2 3798 -:U 15873,20670,330 2 3804 -'E 15873,21180 2 3785 -:i 15873,16905 2 3823 -ss 15873,16500,330 2 3807 -^O 15873,21180,330 2 3796 -'A 15873,21180 2 3777 -~A 15873,20571 2 3779 -~a 15873,16830,330 2 3811 --D 15873,15060 0 3792 -Sd 15873,18015,330 2 3824 -'I 15873,21180 2 3789 -`I 15873,21180 2 3788 -'O 15873,21180,330 2 3795 -`O 15873,21180,330 2 3794 -~O 15873,20571,330 2 3797 -~o 15873,16830,330 2 3829 -vS 15873,21180,330 2 51795 -vs 15873,17565,330 2 51827 -'U 15873,21180,330 2 3802 -:Y 15873,20670 2 51801 -:y 15873,16905,5145 3 3839 -TP 15873,15060 0 3806 -Tp 15873,16500,5145 3 3838 -mc 15873,11445,5595 1 3765 -ps 15873,19635,4080 2 3766 -34 15873,15519,2673 2 3774 -\- 15873,6435 0 51757 -14 15873,15519,2673 2 3772 -12 15873,15519,2673 2 3773 -Of 15873,15390 0 3754 -Om 15873,15390 0 3770 -Fo 15873,11490 0 3755 -Fc 15873,11490 0 3771 -t+- 15873,11385,2835 0 3761 -bb 15873,19083,5916 3 3750 -co 15873,19635 2 3753 -tno 15873,8865 0 3756 -rg 15873,19635 2 3758 -S2 15873,15240 0 3762 -S3 15873,15240 0 3763 -ac 15873,0,4815 1 3768 -S1 15873,15060 0 3769 -tmu 15873,11340 0 3799 -tdi 15873,10530 0 3831 -pc 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 -a- 15873,15726 2 3759 -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 +ad 15873,16905 2 161192 -- MSL 109 (19U 168) +~ 15873,16830 2 161176 -- MSL 110 (19U 152) +a~ " +`U 15873,21180,330 2 161241 -- MSL 111 (19U 217) +^U 15873,21180,330 2 161243 -- MSL 112 (19U 219) +u00AF 15873,21108 2 161199 -- MSL 113 (19U 175) +'Y 15873,21180 2 161245 -- MSL 114 (19U 221) +'y 15873,17565,5145 3 161277 -- MSL 115 (19U 253) +de 15873,15390 0 161200 -- MSL 116 (19U 176) +,C 15873,15390,5175 1 161223 -- MSL 117 (19U 199) +,c 15873,11775,4815 1 161255 -- MSL 118 (19U 231) +~N 15873,20571 2 161233 -- MSL 119 (19U 209) +~n 15873,16830 2 161265 -- MSL 120 (19U 241) +r! 15873,11880,3510 0 161185 -- MSL 121 (19U 161) +r? 15873,11898,3822 0 161215 -- MSL 122 (19U 191) +Cs 15873,15684 2 161188 -- MSL 123 (19U 164) +Po 15873,15390,330 0 161187 -- MSL 124 (19U 163) +Ye 15873,15060 0 161189 -- MSL 125 (19U 165) +sc 15873,15390,1905 0 161191 -- MSL 126 (19U 167) +Fn 15873,15090,4350 0 161155 -- MSL 127 (19U 131) +ct 15873,16179,1431 2 161186 -- MSL 128 (19U 162) +^a 15873,17565,330 2 161250 -- MSL 129 (19U 226) +^e 15873,17565,330 2 161258 -- MSL 130 (19U 234) +^o 15873,17565,330 2 161268 -- MSL 131 (19U 244) +^u 15873,17565,330 2 161275 -- MSL 132 (19U 251) +'a 15873,17565,330 2 161249 -- MSL 133 (19U 225) +'e 15873,17565,330 2 161257 -- MSL 134 (19U 233) +'o 15873,17565,330 2 161267 -- MSL 135 (19U 243) +'u 15873,17565,330 2 161274 -- MSL 136 (19U 250) +`a 15873,17565,330 2 161248 -- MSL 137 (19U 224) +`e 15873,17565,330 2 161256 -- MSL 138 (19U 232) +`o 15873,17565,330 2 161266 -- MSL 139 (19U 242) +`u 15873,17565,330 2 161273 -- MSL 140 (19U 249) +:a 15873,16905,330 2 161252 -- MSL 141 (19U 228) +:e 15873,16905,330 2 161259 -- MSL 142 (19U 235) +:o 15873,16905,330 2 161270 -- MSL 143 (19U 246) +:u 15873,16905,330 2 161276 -- MSL 144 (19U 252) +oA 15873,21690 2 161221 -- MSL 145 (19U 197) +^i 15873,17565 2 161262 -- MSL 146 (19U 238) +/O 15873,15591,612 2 161240 -- MSL 147 (19U 216) +AE 15873,15060 0 161222 -- MSL 148 (19U 198) +oa 15873,17997,330 2 161253 -- MSL 149 (19U 229) +'i 15873,17565 2 161261 -- MSL 150 (19U 237) +/o 15873,11856,459 0 161272 -- MSL 151 (19U 248) +ae 15873,11775,330 0 161254 -- MSL 152 (19U 230) +:A 15873,20670 2 161220 -- MSL 153 (19U 196) +`i 15873,17565 2 161260 -- MSL 154 (19U 236) +:O 15873,20670,330 2 161238 -- MSL 155 (19U 214) +:U 15873,20670,330 2 161244 -- MSL 156 (19U 220) +'E 15873,21180 2 161225 -- MSL 157 (19U 201) +:i 15873,16905 2 161263 -- MSL 158 (19U 239) +ss 15873,16500,330 2 161247 -- MSL 159 (19U 223) +^O 15873,21180,330 2 161236 -- MSL 160 (19U 212) +'A 15873,21180 2 161217 -- MSL 161 (19U 193) +~A 15873,20571 2 161219 -- MSL 162 (19U 195) +~a 15873,16830,330 2 161251 -- MSL 163 (19U 227) +-D 15873,15060 0 161232 -- MSL 164 (19U 208) +Sd 15873,18015,330 2 161264 -- MSL 165 (19U 240) +'I 15873,21180 2 161229 -- MSL 166 (19U 205) +`I 15873,21180 2 161228 -- MSL 167 (19U 204) +'O 15873,21180,330 2 161235 -- MSL 168 (19U 211) +`O 15873,21180,330 2 161234 -- MSL 169 (19U 210) +~O 15873,20571,330 2 161237 -- MSL 170 (19U 213) +~o 15873,16830,330 2 161269 -- MSL 171 (19U 245) +vS 15873,21180,330 2 161162 -- MSL 172 (19U 138) +vs 15873,17565,330 2 161178 -- MSL 173 (19U 154) +'U 15873,21180,330 2 161242 -- MSL 174 (19U 218) +:Y 15873,20670 2 161183 -- MSL 175 (19U 159) +:y 15873,16905,5145 3 161279 -- MSL 176 (19U 255) +TP 15873,15060 0 161246 -- MSL 177 (19U 222) +Tp 15873,16500,5145 3 161278 -- MSL 178 (19U 254) +mc 15873,11445,5595 1 161205 -- MSL 180 (19U 181) +ps 15873,19635,4080 2 161206 -- MSL 181 (19U 182) +34 15873,15519,2673 2 161214 -- MSL 182 (19U 190) +\- 15873,6435 0 60096 -- MSL 183 ( 7J 192) +14 15873,15519,2673 2 161212 -- MSL 184 (19U 188) +12 15873,15519,2673 2 161213 -- MSL 185 (19U 189) +Of 15873,15390 0 161194 -- MSL 186 (19U 170) +Om 15873,15390 0 161210 -- MSL 187 (19U 186) +Fo 15873,11490 0 161195 -- MSL 188 (19U 171) +Fc 15873,11490 0 161211 -- MSL 190 (19U 187) +t+- 15873,11385,2835 0 161201 -- MSL 191 (19U 177) +bb 15873,19083,5916 3 161190 -- MSL 192 (19U 166) +co 15873,19635 2 161193 -- MSL 193 (19U 169) +tno 15873,8865 0 161196 -- MSL 194 (19U 172) +u00AD 15873,7275 0 161197 -- MSL 195 (19U 173) +rg 15873,19635 2 161198 -- MSL 196 (19U 174) +S2 15873,15240 0 161202 -- MSL 197 (19U 178) +S3 15873,15240 0 161203 -- MSL 198 (19U 179) +ac 15873,0,4815 1 161208 -- MSL 199 (19U 184) +S1 15873,15060 0 161209 -- MSL 200 (19U 185) +tmu 15873,11340 0 161239 -- MSL 201 (19U 215) +tdi 15873,10530 0 161271 -- MSL 202 (19U 247) +u203C 15873,15060,330 0 87315 -- MSL 221 (10U 19) +u20A7 15873,15060,330 0 60121 -- MSL 232 ( 7J 217) +pc 15873,8931 0 161207 -- MSL 302 (19U 183) +u013F 15873,15060 0 51943 -- MSL 306 ( 6J 231) +u0140 15873,16500 2 51959 -- MSL 307 ( 6J 247) +u2113 15873,18150,297 2 60122 -- MSL 308 ( 7J 218) +u0149 15873,15060 0 51951 -- MSL 309 ( 6J 239) +fm 15873,15060 0 60101 -- MSL 310 ( 7J 197) +sd 15873,15060 0 60102 -- MSL 311 ( 7J 198) +dg 15873,15060,1290 0 161158 -- MSL 312 (19U 134) +tm 15873,17850 2 161177 -- MSL 313 (19U 153) +u2017 15873,0,6588 1 60095 -- MSL 314 ( 7J 191) +ah 15873,17565 2 75169 -- MSL 315 ( 9E 161) +ao 15873,17997 2 60152 -- MSL 316 ( 7J 248) +f/ 15873,15519,2673 2 60109 -- MSL 324 ( 7J 205) +em 15873,7275 0 161175 -- MSL 325 (19U 151) +en 15873,7275 0 161174 -- MSL 326 (19U 150) +dd 15873,15060,1290 0 161159 -- MSL 327 (19U 135) +.i 15873,11445 0 46333 -- MSL 328 ( 5T 253) +aq 15873,15060 0 161063 -- MSL 329 (19U 39) +bu 15873,12714 0 161173 -- MSL 331 (19U 149) +u207F 15873,15240 0 87548 -- MSL 332 (10U 252) +u0111 15873,16500,330 2 75248 -- MSL 342 ( 9E 240) +u0041_0306 15873,20133 2 75203 -- MSL 400 ( 9E 195) +u0061_0306 15873,16725,330 2 75235 -- MSL 401 ( 9E 227) +u0041_0328 15873,15060,3624 0 75173 -- MSL 404 ( 9E 165) +u0061_0328 15873,11775,4263 0 75193 -- MSL 405 ( 9E 185) +'C 15873,21180,330 2 75206 -- MSL 406 ( 9E 198) +'c 15873,17565,330 2 75238 -- MSL 407 ( 9E 230) +u0041_030C 15873,21180,330 2 75208 -- MSL 410 ( 9E 200) +u0061_030C 15873,17565,330 2 75240 -- MSL 411 ( 9E 232) +u0044_030C 15873,21180 2 75215 -- MSL 414 ( 9E 207) +u0064_030C 15873,18870,330 2 75247 -- MSL 415 ( 9E 239) +u0045_030C 15873,21180 2 75212 -- MSL 416 ( 9E 204) +u0065_030C 15873,17565,330 2 75244 -- MSL 417 ( 9E 236) +u0045_0328 15873,15060,3624 0 75210 -- MSL 422 ( 9E 202) +u0065_0328 15873,11775,4263 0 75242 -- MSL 423 ( 9E 234) +u004C_0301 15873,21180 2 75205 -- MSL 440 ( 9E 197) +u006C_0301 15873,22326 2 75237 -- MSL 441 ( 9E 229) +u004C_030C 15873,18870 2 75196 -- MSL 442 ( 9E 188) +u006C_030C 15873,18870 2 75198 -- MSL 443 ( 9E 190) +u004E_0301 15873,21180 2 75217 -- MSL 446 ( 9E 209) +u006E_0301 15873,17565 2 75249 -- MSL 447 ( 9E 241) +u004E_030C 15873,21180 2 75218 -- MSL 448 ( 9E 210) +u006E_030C 15873,17565 2 75250 -- MSL 449 ( 9E 242) +u004F_030B 15873,21810,330 2 75221 -- MSL 452 ( 9E 213) +u006F_030B 15873,18195,330 2 75253 -- MSL 453 ( 9E 245) +u0052_0301 15873,21180 2 75200 -- MSL 456 ( 9E 192) +u0072_0301 15873,17565 2 75232 -- MSL 457 ( 9E 224) +u0052_030C 15873,21180 2 75224 -- MSL 458 ( 9E 216) +u0072_030C 15873,17565 2 75256 -- MSL 459 ( 9E 248) +u0053_0301 15873,21180,330 2 75148 -- MSL 462 ( 9E 140) +u0073_0301 15873,17565,330 2 75164 -- MSL 463 ( 9E 156) +u0054_030C 15873,21180 2 75149 -- MSL 466 ( 9E 141) +u0074_030C 15873,18870,330 2 75165 -- MSL 467 ( 9E 157) +u0054_0327 15873,15060,5175 1 75230 -- MSL 468 ( 9E 222) +u0074_0327 15873,14826,4815 1 75262 -- MSL 469 ( 9E 254) +u0055_030B 15873,21810,330 2 75227 -- MSL 474 ( 9E 219) +u0075_030B 15873,18195,330 2 75259 -- MSL 475 ( 9E 251) +u0055_030A 15873,21690,330 2 75225 -- MSL 476 ( 9E 217) +u0075_030A 15873,17997,330 2 75257 -- MSL 477 ( 9E 249) +u005A_0301 15873,21180 2 75151 -- MSL 482 ( 9E 143) +u007A_0301 15873,17565 2 75167 -- MSL 483 ( 9E 159) +u005A_0307 15873,20670 2 75183 -- MSL 484 ( 9E 175) +u007A_0307 15873,16905 2 75199 -- MSL 485 ( 9E 191) +u2070 15873,15240 0 51753 -- MSL 1000 ( 6J 41) +u2074 15873,15060 0 51748 -- MSL 1001 ( 6J 36) +u2075 15873,15060 0 51749 -- MSL 1002 ( 6J 37) +u2076 15873,15240 0 51806 -- MSL 1003 ( 6J 94) +u2077 15873,15060 0 51750 -- MSL 1004 ( 6J 38) +u2078 15873,15240 0 51754 -- MSL 1005 ( 6J 42) +u2079 15873,15240 0 51752 -- MSL 1006 ( 6J 40) +lq 15873,15060 0 161171 -- MSL 1017 (19U 147) +rq 15873,15060 0 161172 -- MSL 1018 (19U 148) +Bq 15873,3495,3120 0 161156 -- MSL 1019 (19U 132) +u2003 15873,0 0 51821 -- MSL 1020 ( 6J 109) +u2002 15873,0 0 51822 -- MSL 1021 ( 6J 110) +u2009 15873,0 0 51828 -- MSL 1023 ( 6J 116) +u2026 15873,2805,330 0 161157 -- MSL 1028 (19U 133) +vz 15873,17565 2 75166 -- MSL 1031 ( 9E 158) +u2120 15873,18000 2 128299 -- MSL 1034 (15U 43) +u211E 15873,15060,2466 0 51794 -- MSL 1036 ( 6J 82) +fi 15873,17235 2 60077 -- MSL 1040 ( 7J 173) +fl 15873,16500 2 60078 -- MSL 1041 ( 7J 174) +ff 15873,16500 2 51883 -- MSL 1042 ( 6J 171) +Fi 15873,16500 2 51884 -- MSL 1043 ( 6J 172) +Fl 15873,16500 2 51885 -- MSL 1044 ( 6J 173) +ij 15873,17235,5145 3 60134 -- MSL 1047 ( 7J 230) +u2105 15873,15543,2634 2 60072 -- MSL 1060 ( 7J 168) +u0047_0306 15873,20133,330 2 46288 -- MSL 1061 ( 5T 208) +u0067_0306 15873,16725,5145 3 46320 -- MSL 1062 ( 5T 240) +u0053_0327 15873,15390,5175 1 75178 -- MSL 1063 ( 9E 170) +u0073_0327 15873,11775,4815 1 75194 -- MSL 1064 ( 9E 186) +u0049_0307 15873,20670 2 46301 -- MSL 1065 ( 5T 221) +bq 15873,3495,3120 0 161154 -- MSL 1067 (19U 130) +%0 15873,16380,330 2 161161 -- MSL 1068 (19U 137) +a- 15873,15726 2 60154 -- MSL 1084 ( 7J 250) +ab 15873,16725 2 75170 -- MSL 1086 ( 9E 162) +a. 15873,16905 2 75263 -- MSL 1088 ( 9E 255) +oe 15873,11775,330 0 161180 -- MSL 1090 (19U 156) +OE 15873,15060 0 161164 -- MSL 1091 (19U 140) +fo 15873,10845 0 161163 -- MSL 1092 (19U 139) +fc 15873,10845 0 161179 -- MSL 1093 (19U 155) +sq 15873,14106 0 60091 -- MSL 1094 ( 7J 187) +/L 15873,15060 0 75171 -- MSL 1095 ( 9E 163) +/l 15873,16500 2 75187 -- MSL 1096 ( 9E 179) +a" 15873,18195 2 75197 -- MSL 1097 ( 9E 189) +ho 15873,0,4263 0 75186 -- MSL 1098 ( 9E 178) +vZ 15873,21180 2 75150 -- MSL 1106 ( 9E 142) +IJ 15873,15060,2850 0 60135 -- MSL 1107 ( 7J 231) diff -ruN groff-1.19/font/devlj4/GB groff-1.19.1/font/devlj4/GB --- groff-1.19/font/devlj4/GB Tue Feb 25 06:38:55 2003 +++ groff-1.19.1/font/devlj4/GB Wed Feb 18 10:01:17 2004 @@ -1,3 +1,4 @@ +# Garmond Hlb name GB spacewidth 7317 pcltypeface 4197 @@ -6,642 +7,712 @@ 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 cq -2925 -L ' -2925 -T hy -3414 -T - -3414 -T en -3414 -T em -3414 -A cq -2925 -A ' -2925 -hy T -3414 -- T -3414 -en T -3414 -em T -3414 -Y hy -2439 -Y - -2439 -Y en -2439 -Y em -2439 -p cq -1461 -p ' -1461 -e cq -486 -e ' -486 -b cq -975 -b ' -975 -a cq -975 -a ' -975 -V hy -1950 -V - -1950 -V en -1950 -V em -1950 -h cq -975 -h ' -975 -n cq -975 -n ' -975 -m cq -975 -m ' -975 -R cq -1461 -R ' -1461 -W hy -1950 -W - -1950 -W en -1950 -W em -1950 -cq d -1461 -' d -1461 -X hy -1461 -X - -1461 -X en -1461 -X em -1461 -A hy -975 -A - -975 -A en -975 -A em -975 -K hy -975 -K - -975 -K en -975 -K em -975 -cq s -486 -' s -486 -hy X -1461 -- X -1461 -hy A -975 -- A -975 -en X -1461 -en A -975 -em X -1461 -R hy -1461 -R - -1461 -R en -1461 -R em -1461 -G cq -486 -G ' -486 -B cq -486 -B ' -486 +L V -2924 +P . -3902 +P , -3902 +V A -3413 +A V -4388 +T o -4388 +T r -2924 +T c -3902 +T e -3902 +T d -3902 +T s -2924 +T y -3413 +T a -2924 +T w -3413 +T u -2924 +L T -2924 +L Y -2924 +Y o -3902 +Y e -3413 +Y a -3413 +A W -4388 +W A -3413 +T A -2924 +V o -3413 +V e -2924 +V a -2924 +Y A -3413 +F A -2438 +F . -3902 +F , -3902 +A T -2924 +A Y -3413 +v . -2438 +v , -2438 +y . -2438 +y , -2438 +T . -2924 +T , -2924 +L W -2924 +P A -2438 +V . -3902 +V , -3902 +Y . -3413 +Y , -3413 +W o -3413 +W e -2924 +W a -2924 +W . -3902 +W , -3902 +r . -1949 +r , -1949 +w . -974 +w , -974 +Y u -2438 +A v -1949 +A y -1949 +A w -1949 +o . -1460 +o , -1460 +p . -1460 +p , -1460 +e . -974 +e , -974 +b . -1460 +b , -1460 +O T -1949 +O V -1949 +O Y -1949 +O . -1949 +O , -1949 +L y -974 +V y -1949 +V u -1949 +V O -1949 +V G -1949 +V C -1949 +V Q -1949 +D T -1949 +D V -1949 +D Y -1949 +D . -1949 +D , -1949 +Y O -1949 +Y G -1949 +Y C -1949 +Y Q -1949 +F o -1460 +F e -974 +F a -974 +O A -974 +O W -1949 +L U -485 +R T -1949 +R V -1949 +R Y -1949 +R W -1949 +G T -485 +P o -1460 +P g -974 +P e -974 +P a -974 +D A -974 +D W -1949 +B T -974 +B Y -974 +B . -974 +B , -974 +A O -974 +A G -974 +A C -974 +A U -1460 +A Q -974 +W r -1949 +W y -1949 +W u -1949 +W O -1949 +W G -1949 +W C -1949 +W Q -1949 +J A -485 +J . -485 +J , -485 +U A -1460 +U . -1949 +U , -1949 +Q A -974 +Q W -1949 +T O -1949 +T G -1949 +T C -1949 +T Q -1949 +O X -1460 +L o -485 +G V -485 +G Y -485 +G W -485 +G . -485 +G , -485 +P T -974 +P V -974 +P Y -974 +D X -1460 +B V -974 +B X -974 +B A -974 +B W -974 +S . -974 +S , -974 +X o -1460 +X e -974 +X y -1460 +X O -1460 +X G -1460 +X C -1460 +X Q -1460 +A o -1460 +A e -974 +Q X -1460 +K o -1460 +K e -974 +K y -974 +K w -974 +K O -974 +K G -974 +K C -974 +K Q -974 +o v -1460 +o y -1460 +o x -1460 +o w -1460 +h v -974 +h y -974 +n v -974 +n y -974 +m v -974 +m y -974 +r g -974 +p v -974 +p y -974 +p x -974 +v o -1460 +v g -974 +v c -974 +v d -974 +v a -974 +v q -974 +e v -485 +e y -485 +b v -974 +b y -974 +b w -974 +s . -485 +s , -485 +y o -1460 +y g -974 +y c -974 +y d -974 +y a -974 +y q -974 +x o -1460 +x c -974 +x e -974 +x d -974 +x q -974 +a v -974 +a y -974 +a w -974 +w o -1460 +w g -974 +w c -974 +w d -974 +w a -974 +w q -974 +T S -974 +R o -1460 +R y -1460 +R O -1460 +R G -1460 +R C -1460 +R U -1460 +R Q -1460 +G X -485 +G A -485 +P s -485 +P Z -974 +P X -974 +P W -974 +V S -974 +S A -974 +Y S -974 +A t -485 +A c -974 +A d -974 +A q -974 +W S -974 +K c -974 +o f -485 +h w -974 +n w -974 +m w -974 +r o -1460 +r c -974 +r e -974 +r d -974 +r a -974 +r q -974 +p w -974 +v e -974 +v s -485 +e x -485 +e w -485 +y e -974 +y s -485 +f o -1460 +f c -974 +f e -974 +f d -974 +f q -974 +w e -974 +w s -485 +k o -974 +k c -485 +k e -485 +k d -485 +k q -485 +O Z -974 +R e -974 +G Z -485 +E o -485 +E v -974 +E y -974 +E w -974 +Z o -485 +Z y -974 +Z w -974 +D Z -974 +B Z -974 +J o -485 +U g -485 +t o -974 +t c -485 +t e -485 +t d -485 +t q -485 +o t -485 +o g -485 +o z -974 +o j -485 +r s -485 +g o -974 +g c -485 +g e -485 +g d -485 +g q -485 +p z -485 +e z -485 +z o -974 +z c -485 +z e -485 +z d -485 +z q -485 +b z -485 +C o -485 +C y -974 +B o -485 +B y -485 +B S -485 +B U -485 +U o -974 +U c -485 +U e -485 +U d -485 +U s -485 +U a -485 +U q -485 +L cq -2924 +L ' -2924 +T hy -3413 +T - -3413 +T en -3413 +T em -3413 +A cq -2924 +A ' -2924 +hy T -3413 +- T -3413 +en T -3413 +em T -3413 +Y hy -2438 +Y - -2438 +Y en -2438 +Y em -2438 +p cq -1460 +p ' -1460 +e cq -485 +e ' -485 +b cq -974 +b ' -974 +a cq -974 +a ' -974 +V hy -1949 +V - -1949 +V en -1949 +V em -1949 +h cq -974 +h ' -974 +n cq -974 +n ' -974 +m cq -974 +m ' -974 +R cq -1460 +R ' -1460 +W hy -1949 +W - -1949 +W en -1949 +W em -1949 +cq d -1460 +' d -1460 +X hy -1460 +X - -1460 +X en -1460 +X em -1460 +A hy -974 +A - -974 +A en -974 +A em -974 +K hy -974 +K - -974 +K en -974 +K em -974 +cq s -485 +' s -485 +hy X -1460 +- X -1460 +hy A -974 +- A -974 +en X -1460 +en A -974 +em X -1460 +R hy -1460 +R - -1460 +R en -1460 +R em -1460 +G cq -485 +G ' -485 +B cq -485 +B ' -485 charset -! 7317,18948,390 2 3617 -dq 10734,18987 2 3618 +! 7317,18948,390 2 161057 -- MSL 1 (19U 33) +dq 10734,18987 2 161058 -- MSL 2 (19U 34) " " -sh 13173,17805,390 0 3619 +sh 13173,17805,390 0 161059 -- MSL 3 (19U 35) # " -Do 13173,19584,1779 2 3620 +Do 13173,19584,1779 2 161060 -- MSL 4 (19U 36) $ " -% 21954,17805,390 0 3621 -& 22443,18165,390 0 3622 -cq 6831,18555 2 51751 +% 21954,17805,390 0 161061 -- MSL 5 (19U 37) +& 22443,18165,390 0 161062 -- MSL 6 (19U 38) +cq 6831,18555 2 161170 -- MSL 8 (19U 146) ' " -( 8295,20250,6705 3 3624 -) 8295,20250,6705 3 3625 -* 13173,18555 2 3626 -+ 21954,13467,87 0 3627 -, 7317,3972,4152 0 3628 -hy 7317,7575 0 3629 +( 8295,20250,6705 3 161064 -- MSL 9 (19U 40) +) 8295,20250,6705 3 161065 -- MSL 10 (19U 41) +* 13173,18555 2 161066 -- MSL 11 (19U 42) ++ 21954,13467,87 0 161067 -- MSL 12 (19U 43) +, 7317,3972,4152 0 161068 -- MSL 13 (19U 44) +hy 7317,7575 0 161069 -- MSL 14 (19U 45) - " -. 7317,3915,390 0 3630 -sl 13173,20250,300 2 3631 +. 7317,3915,390 0 161070 -- MSL 15 (19U 46) +sl 13173,20250,300 2 161071 -- MSL 16 (19U 47) / " -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 +0 13173,17805,390 0 161072 -- MSL 17 (19U 48) +1 13173,17805,150 0 161073 -- MSL 18 (19U 49) +2 13173,17805,150 0 161074 -- MSL 19 (19U 50) +3 13173,17805,390 0 161075 -- MSL 20 (19U 51) +4 13173,17805 0 161076 -- MSL 21 (19U 52) +5 13173,17490,390 0 161077 -- MSL 22 (19U 53) +6 13173,17805,390 0 161078 -- MSL 23 (19U 54) +7 13173,17415,390 0 161079 -- MSL 24 (19U 55) +8 13173,17805,390 0 161080 -- MSL 25 (19U 56) +9 13173,17805,390 0 161081 -- MSL 26 (19U 57) +: 7317,11940,390 0 161082 -- MSL 27 (19U 58) +; 7317,11940,4152 0 161083 -- MSL 28 (19U 59) +< 26346,16068 0 161084 -- MSL 29 (19U 60) += 21954,9654 0 161085 -- MSL 30 (19U 61) +> 26346,16068 0 161086 -- MSL 31 (19U 62) +? 10245,18948,390 2 161087 -- MSL 32 (19U 63) +at 21954,16950,4131 0 161088 -- MSL 33 (19U 64) @ " -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 +A 20004,18939,150 2 161089 -- MSL 34 (19U 65) +B 17565,18315,150 2 161090 -- MSL 35 (19U 66) +C 20004,18555,390 2 161091 -- MSL 36 (19U 67) +D 21954,18555,150 2 161092 -- MSL 37 (19U 68) +E 16587,18315,150 2 161093 -- MSL 38 (19U 69) +F 16587,18315,150 2 161094 -- MSL 39 (19U 70) +G 21468,18555,390 2 161095 -- MSL 40 (19U 71) +H 23418,18315,150 2 161096 -- MSL 41 (19U 72) +I 10245,18315,150 2 161097 -- MSL 42 (19U 73) +J 9759,18315,6363 3 161098 -- MSL 43 (19U 74) +K 19515,18315,150 2 161099 -- MSL 44 (19U 75) +L 16101,18315,150 2 161100 -- MSL 45 (19U 76) +M 24882,18315,390 2 161101 -- MSL 46 (19U 77) +N 22443,18315,612 2 161102 -- MSL 47 (19U 78) +O 22932,18555,390 2 161103 -- MSL 48 (19U 79) +P 16587,18555,150 2 161104 -- MSL 49 (19U 80) +Q 22932,18555,5253 2 161105 -- MSL 50 (19U 81) +R 19515,18315,150 2 161106 -- MSL 51 (19U 82) +S 14148,18555,390 2 161107 -- MSL 52 (19U 83) +T 17565,19500,138 2 161108 -- MSL 53 (19U 84) +U 21468,18315,390 2 161109 -- MSL 54 (19U 85) +V 19515,18315,390 2 161110 -- MSL 55 (19U 86) +W 26346,18315,390 2 161111 -- MSL 56 (19U 87) +X 20004,18315,150 2 161112 -- MSL 57 (19U 88) +Y 18540,18315,150 2 161113 -- MSL 58 (19U 89) +Z 17565,19500,150 2 161114 -- MSL 59 (19U 90) +lB 8295,18165,4905 0 161115 -- MSL 60 (19U 91) [ " -rs 13173,20250,300 2 3676 +rs 13173,20250,300 2 161116 -- MSL 61 (19U 92) \ " -rB 8295,18165,4905 0 3677 +rB 8295,18165,4905 0 161117 -- MSL 62 (19U 93) ] " -ha 13173,19758 2 51875 -_ 13173,0,6588 1 3679 -oq 6831,18555 2 51808 +ha 13173,19758 2 161118 -- MSL 63 (19U 94) +_ 13173,0,6588 1 161119 -- MSL 64 (19U 95) +oq 6831,18555 2 161169 -- MSL 66 (19U 145) ` " -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 -`A 20004,24810,150 2 3776 -^A 20004,24810,150 2 3778 -`E 16587,24810,150 2 3784 -^E 16587,24810,150 2 3786 -:E 16587,23505,150 2 3787 -^I 10245,24810,150 2 3790 -:I 10245,23505,150 2 3791 -aa 13173,20475 2 3764 -ga 13173,20475 2 3680 -a^ 13173,20475 2 3678 +a 12198,12420,390 0 161121 -- MSL 67 (19U 97) +b 14637,20250,390 2 161122 -- MSL 68 (19U 98) +c 11220,12420,390 0 161123 -- MSL 69 (19U 99) +d 14637,20250,390 2 161124 -- MSL 70 (19U 100) +e 11709,12420,390 0 161125 -- MSL 71 (19U 101) +f 9270,20250,150 2 161126 -- MSL 72 (19U 102) +g 14148,12420,6705 1 161127 -- MSL 73 (19U 103) +h 15612,20250,150 2 161128 -- MSL 74 (19U 104) +i 7806,19329,150 2 161129 -- MSL 75 (19U 105) +j 7317,19329,6705 3 161130 -- MSL 76 (19U 106) +k 14637,20250,150 2 161131 -- MSL 77 (19U 107) +l 7806,20250,150 2 161132 -- MSL 78 (19U 108) +m 22932,12420,150 0 161133 -- MSL 79 (19U 109) +n 15612,12420,150 0 161134 -- MSL 80 (19U 110) +o 14148,12420,390 0 161135 -- MSL 81 (19U 111) +p 14637,12420,6855 1 161136 -- MSL 82 (19U 112) +q 14637,12420,6855 1 161137 -- MSL 83 (19U 113) +r 11220,12420,150 0 161138 -- MSL 84 (19U 114) +s 9759,12420,390 0 161139 -- MSL 85 (19U 115) +t 9759,15585,390 0 161140 -- MSL 86 (19U 116) +u 15612,12420,390 0 161141 -- MSL 87 (19U 117) +v 14148,12180,390 0 161142 -- MSL 88 (19U 118) +w 20004,12180,390 0 161143 -- MSL 89 (19U 119) +x 14148,12180,150 0 161144 -- MSL 90 (19U 120) +y 13662,12180,6705 1 161145 -- MSL 91 (19U 121) +z 12684,12870,150 0 161146 -- MSL 92 (19U 122) +{ 13173,19935,6210 3 161147 -- MSL 93 (19U 123) +lC " +| 13173,19758,6588 3 161148 -- MSL 94 (19U 124) +ba " +} 13173,19935,6210 3 161149 -- MSL 95 (19U 125) +rC " +ti 26346,9435 0 161150 -- MSL 96 (19U 126) +`A 20004,24810,150 2 161216 -- MSL 99 (19U 192) +^A 20004,24810,150 2 161218 -- MSL 100 (19U 194) +`E 16587,24810,150 2 161224 -- MSL 101 (19U 200) +^E 16587,24810,150 2 161226 -- MSL 102 (19U 202) +:E 16587,23505,150 2 161227 -- MSL 103 (19U 203) +^I 10245,24810,150 2 161230 -- MSL 104 (19U 206) +:I 10245,23505,150 2 161231 -- MSL 105 (19U 207) +aa 13173,20475 2 161204 -- MSL 106 (19U 180) +ga 13173,20475 2 161120 -- MSL 107 (19U 96) +a^ 13173,20475 2 161160 -- MSL 108 (19U 136) ^ " -ad 13173,18090 0 3752 -a~ 13173,18324 2 3710 -~ " -`U 21468,24810,390 2 3801 -^U 21468,24810,390 2 3803 -'Y 18540,24810,150 2 3805 -'y 13662,20475,6705 3 3837 -de 13173,17415 0 3760 -,C 20004,18555,6405 3 3783 -,c 11220,12420,5694 0 3815 -~N 22443,23973,612 2 3793 -~n 15612,18324,150 2 3825 -r! 7317,12330,7008 1 3745 -r? 10245,12330,7008 1 3775 -Cs 13173,15834 0 3748 -Po 13173,17805,390 0 3747 -Ye 13173,18315,150 2 3749 -sc 13173,18555,6705 3 3751 -Fn 13173,20250,6705 3 51871 -ct 13173,18012,57 0 3746 -^a 12198,20475,390 2 3810 -^e 11709,20475,390 2 3818 -^o 14148,20475,390 2 3828 -^u 15612,20475,390 2 3835 -'a 12198,20475,390 2 3809 -'e 11709,20475,390 2 3817 -'o 14148,20475,390 2 3827 -'u 15612,20475,390 2 3834 -`a 12198,20475,390 2 3808 -`e 11709,20475,390 2 3816 -`o 14148,20475,390 2 3826 -`u 15612,20475,390 2 3833 -:a 12198,18090,390 0 3812 -:e 11709,18090,390 0 3819 -:o 14148,18090,390 0 3830 -:u 15612,18090,390 0 3836 -oA 20004,25065,150 2 3781 -^i 7806,20475,150 2 3822 -/O 22932,18729,390 2 3800 -AE 25857,18315,150 2 3782 -oa 12198,19836,390 2 3813 -'i 7806,20475,150 2 3821 -/o 14148,12525,804 0 3832 -ae 18051,12420,390 0 3814 -:A 20004,23505,150 2 3780 -`i 7806,20475,150 2 3820 -:O 22932,23505,390 2 3798 -:U 21468,23505,390 2 3804 -'E 16587,24810,150 2 3785 -:i 7806,18090,150 0 3823 -ss 15612,20250,390 2 3807 -^O 22932,24810,390 2 3796 -'A 20004,24810,150 2 3777 -~A 20004,23973,150 2 3779 -~a 12198,18324,390 2 3811 --D 21954,18555,150 2 3792 -Sd 14148,20250,390 2 3824 -'I 10245,24810,150 2 3789 -`I 10245,24810,150 2 3788 -'O 22932,24810,390 2 3795 -`O 22932,24810,390 2 3794 -~O 22932,23973,390 2 3797 -~o 14148,18324,390 2 3829 -vS 14148,24810,390 2 51795 -vs 9759,20475,390 2 51827 -'U 21468,24810,390 2 3802 -:Y 18540,23505,150 2 51801 -:y 13662,18090,6705 1 3839 -TP 16587,18315,153 2 3806 -Tp 14637,20250,6855 3 3838 -mc 14637,10800,5193 0 3765 -ps 13173,19635,4200 2 3766 -34 21954,17805,390 0 3774 -\- 21954,7755 0 51757 -14 21954,17805,390 0 3772 -12 21954,17805,390 0 3773 -Of 12198,17805 0 3754 -Om 12198,17805 0 3770 -Fo 12684,10605 0 3755 -Fc 12684,10605 0 3771 -t+- 21954,13467,3354 0 3761 -bb 13173,19083,5916 2 3750 -co 13173,19725 2 3753 -tno 21954,10560 0 3756 -rg 13173,19725 2 3758 -S2 9270,17805 0 3762 -S3 9270,17805 0 3763 -ac 13173,57,5694 0 3768 -S1 9270,17805 0 3769 -tmu 21954,13470,144 0 3799 -tdi 21954,13383,3 0 3831 -pc 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 -a- 13173,17088 0 3759 -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 +ad 13173,18090 0 161192 -- MSL 109 (19U 168) +~ 13173,18324 2 161176 -- MSL 110 (19U 152) +a~ " +`U 21468,24810,390 2 161241 -- MSL 111 (19U 217) +^U 21468,24810,390 2 161243 -- MSL 112 (19U 219) +u00AF 13173,21105 2 161199 -- MSL 113 (19U 175) +'Y 18540,24810,150 2 161245 -- MSL 114 (19U 221) +'y 13662,20475,6705 3 161277 -- MSL 115 (19U 253) +de 13173,17415 0 161200 -- MSL 116 (19U 176) +,C 20004,18555,6405 3 161223 -- MSL 117 (19U 199) +,c 11220,12420,5694 0 161255 -- MSL 118 (19U 231) +~N 22443,23973,612 2 161233 -- MSL 119 (19U 209) +~n 15612,18324,150 2 161265 -- MSL 120 (19U 241) +r! 7317,12330,7008 1 161185 -- MSL 121 (19U 161) +r? 10245,12330,7008 1 161215 -- MSL 122 (19U 191) +Cs 13173,15834 0 161188 -- MSL 123 (19U 164) +Po 13173,17805,390 0 161187 -- MSL 124 (19U 163) +Ye 13173,18315,150 2 161189 -- MSL 125 (19U 165) +sc 13173,18555,6705 3 161191 -- MSL 126 (19U 167) +Fn 13173,20250,6705 3 161155 -- MSL 127 (19U 131) +ct 13173,18012,57 0 161186 -- MSL 128 (19U 162) +^a 12198,20475,390 2 161250 -- MSL 129 (19U 226) +^e 11709,20475,390 2 161258 -- MSL 130 (19U 234) +^o 14148,20475,390 2 161268 -- MSL 131 (19U 244) +^u 15612,20475,390 2 161275 -- MSL 132 (19U 251) +'a 12198,20475,390 2 161249 -- MSL 133 (19U 225) +'e 11709,20475,390 2 161257 -- MSL 134 (19U 233) +'o 14148,20475,390 2 161267 -- MSL 135 (19U 243) +'u 15612,20475,390 2 161274 -- MSL 136 (19U 250) +`a 12198,20475,390 2 161248 -- MSL 137 (19U 224) +`e 11709,20475,390 2 161256 -- MSL 138 (19U 232) +`o 14148,20475,390 2 161266 -- MSL 139 (19U 242) +`u 15612,20475,390 2 161273 -- MSL 140 (19U 249) +:a 12198,18090,390 0 161252 -- MSL 141 (19U 228) +:e 11709,18090,390 0 161259 -- MSL 142 (19U 235) +:o 14148,18090,390 0 161270 -- MSL 143 (19U 246) +:u 15612,18090,390 0 161276 -- MSL 144 (19U 252) +oA 20004,25065,150 2 161221 -- MSL 145 (19U 197) +^i 7806,20475,150 2 161262 -- MSL 146 (19U 238) +/O 22932,18729,390 2 161240 -- MSL 147 (19U 216) +AE 25857,18315,150 2 161222 -- MSL 148 (19U 198) +oa 12198,19836,390 2 161253 -- MSL 149 (19U 229) +'i 7806,20475,150 2 161261 -- MSL 150 (19U 237) +/o 14148,12525,804 0 161272 -- MSL 151 (19U 248) +ae 18051,12420,390 0 161254 -- MSL 152 (19U 230) +:A 20004,23505,150 2 161220 -- MSL 153 (19U 196) +`i 7806,20475,150 2 161260 -- MSL 154 (19U 236) +:O 22932,23505,390 2 161238 -- MSL 155 (19U 214) +:U 21468,23505,390 2 161244 -- MSL 156 (19U 220) +'E 16587,24810,150 2 161225 -- MSL 157 (19U 201) +:i 7806,18090,150 0 161263 -- MSL 158 (19U 239) +ss 15612,20250,390 2 161247 -- MSL 159 (19U 223) +^O 22932,24810,390 2 161236 -- MSL 160 (19U 212) +'A 20004,24810,150 2 161217 -- MSL 161 (19U 193) +~A 20004,23973,150 2 161219 -- MSL 162 (19U 195) +~a 12198,18324,390 2 161251 -- MSL 163 (19U 227) +-D 21954,18555,150 2 161232 -- MSL 164 (19U 208) +Sd 14148,20250,390 2 161264 -- MSL 165 (19U 240) +'I 10245,24810,150 2 161229 -- MSL 166 (19U 205) +`I 10245,24810,150 2 161228 -- MSL 167 (19U 204) +'O 22932,24810,390 2 161235 -- MSL 168 (19U 211) +`O 22932,24810,390 2 161234 -- MSL 169 (19U 210) +~O 22932,23973,390 2 161237 -- MSL 170 (19U 213) +~o 14148,18324,390 2 161269 -- MSL 171 (19U 245) +vS 14148,24810,390 2 161162 -- MSL 172 (19U 138) +vs 9759,20475,390 2 161178 -- MSL 173 (19U 154) +'U 21468,24810,390 2 161242 -- MSL 174 (19U 218) +:Y 18540,23505,150 2 161183 -- MSL 175 (19U 159) +:y 13662,18090,6705 1 161279 -- MSL 176 (19U 255) +TP 16587,18315,153 2 161246 -- MSL 177 (19U 222) +Tp 14637,20250,6855 3 161278 -- MSL 178 (19U 254) +mc 14637,10800,5193 0 161205 -- MSL 180 (19U 181) +ps 13173,19635,4200 2 161206 -- MSL 181 (19U 182) +34 21954,17805,390 0 161214 -- MSL 182 (19U 190) +\- 21954,7755 0 60096 -- MSL 183 ( 7J 192) +14 21954,17805,390 0 161212 -- MSL 184 (19U 188) +12 21954,17805,390 0 161213 -- MSL 185 (19U 189) +Of 12198,17805 0 161194 -- MSL 186 (19U 170) +Om 12198,17805 0 161210 -- MSL 187 (19U 186) +Fo 12684,10605 0 161195 -- MSL 188 (19U 171) +Fc 12684,10605 0 161211 -- MSL 190 (19U 187) +t+- 21954,13467,3354 0 161201 -- MSL 191 (19U 177) +bb 13173,19083,5916 2 161190 -- MSL 192 (19U 166) +co 13173,19725 2 161193 -- MSL 193 (19U 169) +tno 21954,10560 0 161196 -- MSL 194 (19U 172) +u00AD 7317,7575 0 161197 -- MSL 195 (19U 173) +rg 13173,19725 2 161198 -- MSL 196 (19U 174) +S2 9270,17805 0 161202 -- MSL 197 (19U 178) +S3 9270,17805 0 161203 -- MSL 198 (19U 179) +ac 13173,57,5694 0 161208 -- MSL 199 (19U 184) +S1 9270,17805 0 161209 -- MSL 200 (19U 185) +tmu 21954,13470,144 0 161239 -- MSL 201 (19U 215) +tdi 21954,13383,3 0 161271 -- MSL 202 (19U 247) +u203C 13662,18948,390 2 87315 -- MSL 221 (10U 19) +u20A7 26346,18555,390 2 60121 -- MSL 232 ( 7J 217) +pc 7317,10722 0 161207 -- MSL 302 (19U 183) +u013F 16101,18315,150 2 51943 -- MSL 306 ( 6J 231) +u0140 10734,20250,150 2 51959 -- MSL 307 ( 6J 247) +u2113 13173,18045,765 0 60122 -- MSL 308 ( 7J 218) +u0149 21468,18555,150 2 51951 -- MSL 309 ( 6J 239) +fm 13173,17805 0 60101 -- MSL 310 ( 7J 197) +sd 13173,17805 0 60102 -- MSL 311 ( 7J 198) +dg 13173,18555,6579 3 161158 -- MSL 312 (19U 134) +tm 16101,17550 0 161177 -- MSL 313 (19U 153) +u2017 13173,0,6588 1 60095 -- MSL 314 ( 7J 191) +ah 13173,20475 2 75169 -- MSL 315 ( 9E 161) +ao 13173,19836 2 60152 -- MSL 316 ( 7J 248) +f/ 2928,17805,390 0 60109 -- MSL 324 ( 7J 205) +em 21954,7185 0 161175 -- MSL 325 (19U 151) +en 13173,7185 0 161174 -- MSL 326 (19U 150) +dd 13173,18555,4905 2 161159 -- MSL 327 (19U 135) +.i 7806,12420,150 0 46333 -- MSL 328 ( 5T 253) +aq 6831,18987 2 161063 -- MSL 329 (19U 39) +bu 13173,14226 0 161173 -- MSL 331 (19U 149) +u207F 14637,17805 0 87548 -- MSL 332 (10U 252) +u0111 14637,20250,390 2 75248 -- MSL 342 ( 9E 240) +u0041_0306 20004,23505,150 2 75203 -- MSL 400 ( 9E 195) +u0061_0306 12198,17079,390 0 75235 -- MSL 401 ( 9E 227) +u0041_0328 20004,18939,3861 2 75173 -- MSL 404 ( 9E 165) +u0061_0328 12198,12420,4317 0 75193 -- MSL 405 ( 9E 185) +'C 20004,24810,390 2 75206 -- MSL 406 ( 9E 198) +'c 11220,20475,390 2 75238 -- MSL 407 ( 9E 230) +u0041_030C 20004,24810,390 2 75208 -- MSL 410 ( 9E 200) +u0061_030C 11220,20475,390 2 75240 -- MSL 411 ( 9E 232) +u0044_030C 21954,24810,150 2 75215 -- MSL 414 ( 9E 207) +u0064_030C 19029,20250,390 2 75247 -- MSL 415 ( 9E 239) +u0045_030C 16587,24810,150 2 75212 -- MSL 416 ( 9E 204) +u0065_030C 11709,20475,390 2 75244 -- MSL 417 ( 9E 236) +u0045_0328 16587,18315,3861 2 75210 -- MSL 422 ( 9E 202) +u0065_0328 11709,12420,4317 0 75242 -- MSL 423 ( 9E 234) +u004C_0301 16101,24810,150 2 75205 -- MSL 440 ( 9E 197) +u006C_0301 7806,25500,150 2 75237 -- MSL 441 ( 9E 229) +u004C_030C 16101,18798,150 2 75196 -- MSL 442 ( 9E 188) +u006C_030C 11709,20250,150 2 75198 -- MSL 443 ( 9E 190) +u004E_0301 22443,24810,612 2 75217 -- MSL 446 ( 9E 209) +u006E_0301 15612,20475,150 2 75249 -- MSL 447 ( 9E 241) +u004E_030C 22443,24810,612 2 75218 -- MSL 448 ( 9E 210) +u006E_030C 15612,20475,150 2 75250 -- MSL 449 ( 9E 242) +u004F_030B 22932,24810,390 2 75221 -- MSL 452 ( 9E 213) +u006F_030B 14148,20475,390 2 75253 -- MSL 453 ( 9E 245) +u0052_0301 19515,24810,150 2 75200 -- MSL 456 ( 9E 192) +u0072_0301 11220,20475,150 2 75232 -- MSL 457 ( 9E 224) +u0052_030C 19515,24810,150 2 75224 -- MSL 458 ( 9E 216) +u0072_030C 11220,20475,150 2 75256 -- MSL 459 ( 9E 248) +u0053_0301 14148,24810,390 2 75148 -- MSL 462 ( 9E 140) +u0073_0301 9759,20475,390 2 75164 -- MSL 463 ( 9E 156) +u0054_030C 17565,24810,138 2 75149 -- MSL 466 ( 9E 141) +u0074_030C 11220,20250,390 2 75165 -- MSL 467 ( 9E 157) +u0054_0327 17565,19500,6405 3 75230 -- MSL 468 ( 9E 222) +u0074_0327 9759,15585,5694 0 75262 -- MSL 469 ( 9E 254) +u0055_030B 21468,24810,390 2 75227 -- MSL 474 ( 9E 219) +u0075_030B 15612,20475,390 2 75259 -- MSL 475 ( 9E 251) +u0055_030A 21468,25065,390 2 75225 -- MSL 476 ( 9E 217) +u0075_030A 15612,19836,390 2 75257 -- MSL 477 ( 9E 249) +u005A_0301 17565,24810,150 2 75151 -- MSL 482 ( 9E 143) +u007A_0301 12684,20475,150 2 75167 -- MSL 483 ( 9E 159) +u005A_0307 17565,23808,150 2 75183 -- MSL 484 ( 9E 175) +u007A_0307 12684,18471,150 2 75199 -- MSL 485 ( 9E 191) +u2070 9270,17805 0 51753 -- MSL 1000 ( 6J 41) +u2074 9270,17805 0 51748 -- MSL 1001 ( 6J 36) +u2075 9270,17625 0 51749 -- MSL 1002 ( 6J 37) +u2076 9270,17805 0 51806 -- MSL 1003 ( 6J 94) +u2077 9270,17625 0 51750 -- MSL 1004 ( 6J 38) +u2078 9270,17805 0 51754 -- MSL 1005 ( 6J 42) +u2079 9270,17805 0 51752 -- MSL 1006 ( 6J 40) +lq 12198,18555 2 161171 -- MSL 1017 (19U 147) +rq 12198,18555 2 161172 -- MSL 1018 (19U 148) +Bq 12198,3714,3519 0 161156 -- MSL 1019 (19U 132) +u2003 21954,0 0 51821 -- MSL 1020 ( 6J 109) +u2002 13173,0 0 51822 -- MSL 1021 ( 6J 110) +u2009 7317,0 0 51828 -- MSL 1023 ( 6J 116) +u2026 21954,3261,390 0 161157 -- MSL 1028 (19U 133) +vz 12684,20475,150 2 75166 -- MSL 1031 ( 9E 158) +u2120 16101,17703 0 128299 -- MSL 1034 (15U 43) +u211E 20004,18315,4056 2 51794 -- MSL 1036 ( 6J 82) +fi 15612,20250,150 2 60077 -- MSL 1040 ( 7J 173) +fl 15612,20250,150 2 60078 -- MSL 1041 ( 7J 174) +ff 17076,20250,150 2 51883 -- MSL 1042 ( 6J 171) +Fi 23418,20250,150 2 51884 -- MSL 1043 ( 6J 172) +Fl 23418,20250,150 2 51885 -- MSL 1044 ( 6J 173) +ij 15126,19329,6705 3 60134 -- MSL 1047 ( 7J 230) +u2105 25368,20169,300 2 60072 -- MSL 1060 ( 7J 168) +u0047_0306 21468,23505,390 2 46288 -- MSL 1061 ( 5T 208) +u0067_0306 14148,17079,6705 1 46320 -- MSL 1062 ( 5T 240) +u0053_0327 14148,18555,6405 3 75178 -- MSL 1063 ( 9E 170) +u0073_0327 9759,12420,5694 0 75194 -- MSL 1064 ( 9E 186) +u0049_0307 10245,23808,150 2 46301 -- MSL 1065 ( 5T 221) +bq 6831,3714,3519 0 161154 -- MSL 1067 (19U 130) +%0 30249,17805,180 0 161161 -- MSL 1068 (19U 137) +a- 13173,17088 0 60154 -- MSL 1084 ( 7J 250) +ab 13173,17079 0 75170 -- MSL 1086 ( 9E 162) +a. 13173,18471 2 75263 -- MSL 1088 ( 9E 255) +oe 20979,12420,390 0 161180 -- MSL 1090 (19U 156) +OE 28299,18555,390 2 161164 -- MSL 1091 (19U 140) +fo 8295,10605 0 161163 -- MSL 1092 (19U 139) +fc 8295,10605 0 161179 -- MSL 1093 (19U 155) +sq 19029,15624 0 60091 -- MSL 1094 ( 7J 187) +/L 16101,18315,150 2 75171 -- MSL 1095 ( 9E 163) +/l 7806,20250,150 2 75187 -- MSL 1096 ( 9E 179) +a" 13173,20475 2 75197 -- MSL 1097 ( 9E 189) +ho 13173,993,4317 0 75186 -- MSL 1098 ( 9E 178) +vZ 17565,24810,150 2 75150 -- MSL 1106 ( 9E 142) +IJ 20004,18315,6363 3 60135 -- MSL 1107 ( 7J 231) diff -ruN groff-1.19/font/devlj4/GBI groff-1.19.1/font/devlj4/GBI --- groff-1.19/font/devlj4/GBI Tue Feb 25 06:38:55 2003 +++ groff-1.19.1/font/devlj4/GBI Wed Feb 18 10:01:17 2004 @@ -1,3 +1,4 @@ +# Garmond KrsvHlb name GBI spacewidth 6831 slant 16.300000 @@ -7,641 +8,711 @@ 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 cq -4878 -L ' -4878 -T hy -3903 -T - -3903 -T en -3903 -T em -3903 -A cq -2439 -A ' -2439 -hy T -3903 -- T -3903 -en T -3903 -em T -3903 -Y hy -2925 -Y - -2925 -Y en -2925 -Y em -2925 -p cq -486 -p ' -486 -b cq -975 -b ' -975 -V hy -1950 -V - -1950 -V en -1950 -V em -1950 -h cq -486 -h ' -486 -n cq -486 -n ' -486 -m cq -486 -m ' -486 -R cq -975 -R ' -975 -W hy -1461 -W - -1461 -W en -1461 -W em -1461 -cq d -975 -' d -975 -L hy -1950 -L - -1950 -L en -1950 -L em -1950 -X hy -1461 -X - -1461 -X en -1461 -X em -1461 -A hy -1461 -A - -1461 -A en -1461 -A em -1461 -K hy -975 -K - -975 -K en -975 -K em -975 -hy X -1461 -- X -1461 -hy A -1461 -- A -1461 -en X -1461 -en A -1461 -em X -1461 -R hy -975 -R - -975 -R en -975 -R em -975 -v cq -486 -v ' -486 -w cq -486 -w ' -486 -E cq -486 -E ' -486 -Z hy -1461 -Z - -1461 -Z en -1461 -Z em -1461 -B cq -486 -B ' -486 -w hy -486 -w - -486 -w en -486 -w em -486 +L V -4877 +P . -4388 +P , -4388 +V A -4388 +A V -4388 +T o -4388 +T r -3413 +T c -3902 +T e -3902 +T d -3902 +T s -3413 +T y -3902 +T a -3902 +T w -3902 +T u -3413 +L T -3413 +L Y -3902 +Y o -3902 +Y e -3902 +Y a -4388 +A W -4388 +W A -3413 +T A -3413 +V o -2924 +V e -2924 +V a -3413 +Y A -4388 +F A -2438 +F . -3902 +F , -3902 +A T -3413 +A Y -3902 +v . -1460 +v , -1460 +y . -974 +y , -974 +T . -3413 +T , -3413 +L W -4877 +P A -2924 +V . -3902 +V , -3902 +Y . -3902 +Y , -3902 +W o -2438 +W e -2438 +W a -2924 +W . -3413 +W , -3413 +r . -1949 +r , -1949 +w . -1460 +w , -1460 +Y u -2924 +A v -1949 +A y -1949 +A w -1949 +o . -974 +o , -974 +p . -974 +p , -974 +b . -1949 +b , -1949 +O T -1949 +O V -1949 +O Y -1949 +O . -974 +O , -974 +L y -2924 +L O -1949 +L G -1949 +L C -1949 +L Q -1949 +V y -1949 +V u -1949 +V O -974 +V G -974 +V C -974 +V Q -974 +D T -1949 +D V -1949 +D Y -1949 +D . -974 +D , -974 +Y O -974 +Y G -974 +Y C -974 +Y Q -974 +F o -974 +F e -974 +F a -974 +O A -974 +O W -1949 +L U -1949 +R T -1949 +R V -1949 +R Y -1949 +R W -1949 +G T -974 +P o -974 +P e -974 +P a -1460 +D A -974 +D W -1949 +B T -974 +B Y -974 +B . -974 +B , -974 +A O -1460 +A G -1460 +A C -1460 +A U -1949 +A Q -1460 +W r -1460 +W y -1460 +W u -1460 +W O -974 +W G -974 +W C -974 +W Q -974 +J A -485 +J . -485 +J , -485 +U A -1460 +U . -1460 +U , -1460 +Q A -974 +Q W -1949 +T O -974 +T G -974 +T C -974 +T Q -974 +O X -974 +L o -974 +L e -974 +L q -485 +G V -974 +G Y -974 +G W -974 +P T -974 +P V -974 +P Y -974 +C T -485 +C V -485 +C Y -485 +D X -974 +B V -974 +B X -974 +B A -974 +B W -974 +X o -974 +X e -974 +X y -1460 +X O -974 +X G -974 +X C -974 +X Q -974 +A o -974 +A e -974 +Q X -974 +K o -974 +K e -974 +K y -1460 +K w -1460 +K O -974 +K G -974 +K C -974 +K Q -974 +o v -974 +o y -974 +o x -974 +o w -974 +h v -485 +h y -485 +n v -485 +n y -485 +m v -485 +m y -485 +p v -485 +p y -485 +p x -485 +v o -485 +b v -485 +b y -485 +b w -485 +y o -485 +x o -974 +x c -485 +x e -485 +x d -485 +x a -485 +x q -485 +w o -974 +w g -485 +w c -485 +w d -485 +w a -485 +w q -485 +T i -974 +L a -485 +R o -974 +R y -974 +R O -974 +R G -974 +R C -974 +R U -974 +R Q -974 +P Z -974 +P X -974 +P W -974 +C W -485 +V i -974 +Y i -974 +X a -485 +A g -485 +A c -974 +A d -974 +A a -485 +A q -485 +W i -974 +K c -974 +o f -485 +h w -485 +h . -485 +h , -485 +n w -485 +n . -485 +n , -485 +m w -485 +m . -485 +m , -485 +r o -974 +r c -974 +r e -974 +r d -974 +r a -974 +r q -974 +p w -485 +f o -485 +w e -485 +w s -485 +k o -485 +O Z -974 +L J -485 +R e -974 +R a -485 +E o -485 +E v -485 +E y -485 +E w -485 +Z o -974 +Z e -974 +Z d -974 +Z y -1460 +Z a -485 +Z w -1460 +Z O -974 +Z G -974 +Z C -974 +Z Q -974 +D Z -974 +B Z -974 +A J -485 +J o -485 +K a -485 +t o -485 +o t -485 +o g -485 +o z -485 +o j -485 +g o -485 +v y -485 +v x -485 +v w -485 +z o -485 +w t -485 +w h -485 +w n -485 +w m -485 +w l -485 +w r -485 +w i -485 +w p -485 +w v -485 +w z -485 +w b -485 +w y -485 +w f -485 +w x -485 +w w -485 +w j -485 +w u -485 +w k -485 +R J -485 +C o -485 +E T -485 +E V -485 +E Y -485 +E W -485 +E U -485 +B o -485 +B y -485 +B U -485 +U o -485 +L cq -4877 +L ' -4877 +T hy -3902 +T - -3902 +T en -3902 +T em -3902 +A cq -2438 +A ' -2438 +hy T -3902 +- T -3902 +en T -3902 +em T -3902 +Y hy -2924 +Y - -2924 +Y en -2924 +Y em -2924 +p cq -485 +p ' -485 +b cq -974 +b ' -974 +V hy -1949 +V - -1949 +V en -1949 +V em -1949 +h cq -485 +h ' -485 +n cq -485 +n ' -485 +m cq -485 +m ' -485 +R cq -974 +R ' -974 +W hy -1460 +W - -1460 +W en -1460 +W em -1460 +cq d -974 +' d -974 +L hy -1949 +L - -1949 +L en -1949 +L em -1949 +X hy -1460 +X - -1460 +X en -1460 +X em -1460 +A hy -1460 +A - -1460 +A en -1460 +A em -1460 +K hy -974 +K - -974 +K en -974 +K em -974 +hy X -1460 +- X -1460 +hy A -1460 +- A -1460 +en X -1460 +en A -1460 +em X -1460 +R hy -974 +R - -974 +R en -974 +R em -974 +v cq -485 +v ' -485 +w cq -485 +w ' -485 +E cq -485 +E ' -485 +Z hy -1460 +Z - -1460 +Z en -1460 +Z em -1460 +B cq -485 +B ' -485 +w hy -485 +w - -485 +w en -485 +w em -485 charset -! 6831,18717,390,2859,345,962 2 3617 -dq 11220,18555,0,1827,-2346,962 2 3618 +! 6831,18717,390,2859,345,962 2 161057 -- MSL 1 (19U 33) +dq 11220,18555,0,1827,-2345,962 2 161058 -- MSL 2 (19U 34) " " -sh 13173,17415,390,1542,33,962 0 3619 +sh 13173,17415,390,1542,33,962 0 161059 -- MSL 3 (19U 35) # " -Do 13173,19182,2292,1161,255,962 2 3620 +Do 13173,19182,2292,1161,255,962 2 161060 -- MSL 4 (19U 36) $ " -% 21954,17805,582,0,-1386 0 3621 -& 18540,18555,390,1743,-672,962 2 3622 -cq 6831,18555,0,2763,-1368,962 2 51751 +% 21954,17805,582,0,-1385 0 161061 -- MSL 5 (19U 37) +& 18540,18555,390,1743,-671,962 2 161062 -- MSL 6 (19U 38) +cq 6831,18555,0,2763,-1367,962 2 161170 -- MSL 8 (19U 146) ' " -( 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 -hy 6831,7575,0,882,558,882 0 3629 +( 7806,20172,6930,4779,306,962 3 161064 -- MSL 9 (19U 40) +) 7806,20172,6930,822,4263,822 3 161065 -- MSL 10 (19U 41) +* 13173,18555,0,1908,-1730,962 2 161066 -- MSL 11 (19U 42) ++ 21954,13467,87,0,-2870 0 161067 -- MSL 12 (19U 43) +, 6831,3381,4077,0,687 0 161068 -- MSL 13 (19U 44) +hy 6831,7575,0,882,558,882 0 161069 -- MSL 14 (19U 45) - " -. 6831,3486,390,0,-270 0 3630 -sl 13173,18594,390,4080,1101,962 2 3631 +. 6831,3486,390,0,-269 0 161070 -- MSL 15 (19U 46) +sl 13173,18594,390,4080,1101,962 2 161071 -- MSL 16 (19U 47) / " -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 +0 13173,17805,390,1212,-212,962 0 161072 -- MSL 17 (19U 48) +1 13173,17805,150,279,-566,279 0 161073 -- MSL 18 (19U 49) +2 13173,17805,150,1017,1179,962 0 161074 -- MSL 19 (19U 50) +3 13173,17805,390,336,1731,336 0 161075 -- MSL 20 (19U 51) +4 13173,17805,0,1485,699,962 0 161076 -- MSL 21 (19U 52) +5 13173,17415,390,1881,-713,962 0 161077 -- MSL 22 (19U 53) +6 13173,17805,390,1575,111,962 0 161078 -- MSL 23 (19U 54) +7 13173,17415,390,2856,-1331,962 0 161079 -- MSL 24 (19U 55) +8 13173,17805,390,1428,21,962 0 161080 -- MSL 25 (19U 56) +9 13173,17805,390,1536,72,962 0 161081 -- MSL 26 (19U 57) +: 6831,12177,390,1032,-269,962 0 161082 -- MSL 27 (19U 58) +; 6831,12177,4077,1032,687,962 0 161083 -- MSL 28 (19U 59) +< 26346,16068,0,0,-3980 0 161084 -- MSL 29 (19U 60) += 21954,9654,0,0,-2876 0 161085 -- MSL 30 (19U 61) +> 26346,16068,0,0,-3980 0 161086 -- MSL 31 (19U 62) +? 10245,18705,390,2250,-1022,962 2 161087 -- MSL 32 (19U 63) +at 21954,16950,4131,1743,1035,962 0 161088 -- MSL 33 (19U 64) @ " -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 +A 19515,18555,195,15,1764,15 2 161089 -- MSL 34 (19U 65) +B 16587,18555,195,1047,1806,962 2 161090 -- MSL 35 (19U 66) +C 19515,18555,390,2028,-836,962 2 161091 -- MSL 36 (19U 67) +D 20490,18555,195,1566,1323,962 2 161092 -- MSL 37 (19U 68) +E 16587,18360,195,1848,1476,962 2 161093 -- MSL 38 (19U 69) +F 15126,18360,195,3372,1542,962 2 161094 -- MSL 39 (19U 70) +G 20979,18555,390,1476,-1073,962 2 161095 -- MSL 40 (19U 71) +H 21468,18360,195,3429,1671,962 2 161096 -- MSL 41 (19U 72) +I 10245,18360,195,3429,1542,962 2 161097 -- MSL 42 (19U 73) +J 9270,18360,6219,3918,4407,962 3 161098 -- MSL 43 (19U 74) +K 19029,18360,195,2877,1482,962 2 161099 -- MSL 44 (19U 75) +L 16587,18360,195,900,1431,900 2 161100 -- MSL 45 (19U 76) +M 22932,18360,195,2907,2571,962 2 161101 -- MSL 46 (19U 77) +N 20979,18360,195,3810,1401,962 2 161102 -- MSL 47 (19U 78) +O 21954,18555,390,1014,-806,962 2 161103 -- MSL 48 (19U 79) +P 16587,18555,195,1896,1236,962 2 161104 -- MSL 49 (19U 80) +Q 21954,18555,6639,1014,-806,962 3 161105 -- MSL 50 (19U 81) +R 19515,18555,195,63,1344,63 2 161106 -- MSL 51 (19U 82) +S 13173,18555,390,2022,732,962 2 161107 -- MSL 52 (19U 83) +T 18051,19425,195,4188,-1451,962 2 161108 -- MSL 53 (19U 84) +U 21468,18360,390,3498,-1760,962 2 161109 -- MSL 54 (19U 85) +V 19515,18360,390,3597,-1550,962 2 161110 -- MSL 55 (19U 86) +W 26346,18360,390,4203,-1436,962 2 161111 -- MSL 56 (19U 87) +X 19029,18360,195,3300,1851,962 2 161112 -- MSL 57 (19U 88) +Y 19515,18360,195,3228,-2168,962 2 161113 -- MSL 58 (19U 89) +Z 17565,19425,195,1575,285,962 2 161114 -- MSL 59 (19U 90) +lB 7806,18165,4614,4290,2805,962 0 161115 -- MSL 60 (19U 91) [ " -rs 13173,18717,390,0,-2868 2 3676 +rs 13173,18717,390,0,-2867 2 161116 -- MSL 61 (19U 92) \ " -rB 7806,18165,4614,3402,3693,962 0 3677 +rB 7806,18165,4614,3402,3693,962 0 161117 -- MSL 62 (19U 93) ] " -ha 13173,19758,0,36,36,36 2 51875 -_ 13173,0,6588,1317,1317,962 1 3679 -oq 6831,18555,0,3195,-1800,962 2 51808 +ha 13173,19758,0,36,36,36 2 161118 -- MSL 63 (19U 94) +_ 13173,0,6588,1317,1317,962 1 161119 -- MSL 64 (19U 95) +oq 6831,18555,0,3195,-1799,962 2 161169 -- MSL 66 (19U 145) ` " -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 -`A 19515,24843,195,15,1764,15 2 3776 -^A 19515,25182,195,15,1764,15 2 3778 -`E 16587,24843,195,1848,1476,962 2 3784 -^E 16587,25182,195,1848,1476,962 2 3786 -:E 16587,23439,195,1848,1476,962 2 3787 -^I 10245,25182,195,4377,1542,962 2 3790 -:I 10245,23439,195,3792,1542,962 2 3791 -aa 13173,19668,0,1317,-6054,962 2 3764 -ga 13173,19668,0,0,-2961 2 3680 -a^ 13173,20514,0,285,-3393,285 2 3678 +a 13662,13143,390,1143,663,962 0 161121 -- MSL 67 (19U 97) +b 14637,20250,390,714,351,714 2 161122 -- MSL 68 (19U 98) +c 11220,12420,390,1695,438,962 0 161123 -- MSL 69 (19U 99) +d 14637,20250,390,2610,417,962 2 161124 -- MSL 70 (19U 100) +e 11220,12420,390,1365,429,962 0 161125 -- MSL 71 (19U 101) +f 7806,20250,6705,5985,4074,962 3 161126 -- MSL 72 (19U 102) +g 12684,12420,6705,2031,2331,962 1 161127 -- MSL 73 (19U 103) +h 14637,20250,390,555,657,555 2 161128 -- MSL 74 (19U 104) +i 8295,18765,390,1344,498,962 2 161129 -- MSL 75 (19U 105) +j 7806,18765,6705,2169,3789,962 3 161130 -- MSL 76 (19U 106) +k 14148,20250,390,858,426,858 2 161131 -- MSL 77 (19U 107) +l 7806,20250,390,2595,252,962 2 161132 -- MSL 78 (19U 108) +m 21468,12420,390,291,255,291 0 161133 -- MSL 79 (19U 109) +n 14637,12420,390,486,57,486 0 161134 -- MSL 80 (19U 110) +o 12684,12420,390,459,339,459 0 161135 -- MSL 81 (19U 111) +p 14637,13893,6735,639,3318,639 1 161136 -- MSL 82 (19U 112) +q 14148,12420,6900,1143,501,962 1 161137 -- MSL 83 (19U 113) +r 10245,12420,0,2187,390,962 0 161138 -- MSL 84 (19U 114) +s 8781,12420,390,873,903,873 0 161139 -- MSL 85 (19U 115) +t 8295,14937,390,2001,312,962 0 161140 -- MSL 86 (19U 116) +u 14148,12420,390,813,111,813 0 161141 -- MSL 87 (19U 117) +v 15126,12420,390,759,324,759 0 161142 -- MSL 88 (19U 118) +w 20490,12420,390,1065,462,962 0 161143 -- MSL 89 (19U 119) +x 12684,12420,390,1731,1635,962 0 161144 -- MSL 90 (19U 120) +y 13173,12420,6705,1029,1767,962 1 161145 -- MSL 91 (19U 121) +z 11220,12885,195,2064,2046,962 0 161146 -- MSL 92 (19U 122) +{ 13173,19935,6210,3339,-971,962 2 161147 -- MSL 93 (19U 123) +lC " +| 13173,19758,6588,0,-4595 3 161148 -- MSL 94 (19U 124) +ba " +} 13173,19935,6210,63,2304,63 2 161149 -- MSL 95 (19U 125) +rC " +ti 26346,9435,0,0,-4028 0 161150 -- MSL 96 (19U 126) +`A 19515,24843,195,15,1764,15 2 161216 -- MSL 99 (19U 192) +^A 19515,25182,195,15,1764,15 2 161218 -- MSL 100 (19U 194) +`E 16587,24843,195,1848,1476,962 2 161224 -- MSL 101 (19U 200) +^E 16587,25182,195,1848,1476,962 2 161226 -- MSL 102 (19U 202) +:E 16587,23439,195,1848,1476,962 2 161227 -- MSL 103 (19U 203) +^I 10245,25182,195,4377,1542,962 2 161230 -- MSL 104 (19U 206) +:I 10245,23439,195,3792,1542,962 2 161231 -- MSL 105 (19U 207) +aa 13173,19668,0,1317,-6053,962 2 161204 -- MSL 106 (19U 180) +ga 13173,19668,0,0,-2960 2 161120 -- MSL 107 (19U 96) +a^ 13173,20514,0,285,-3392,285 2 161160 -- MSL 108 (19U 136) ^ " -ad 13173,18057,0,1161,-3669,962 0 3752 -a~ 13173,18468,0,1074,-3600,962 2 3710 -~ " -`U 21468,24843,390,3498,-1761,962 2 3801 -^U 21468,25182,390,3498,-1761,962 2 3803 -'Y 19515,24843,195,3228,-2169,962 2 3805 -'y 13173,19668,6705,1317,1767,962 3 3837 -de 13173,17415,0,600,-1974,600 0 3760 -,C 19515,18555,6060,2028,-837,962 2 3783 -,c 11220,12420,4776,1695,438,962 0 3815 -~N 20979,24255,195,3810,1401,962 2 3793 -~n 14637,18468,390,486,57,486 2 3825 -r! 6831,12411,6696,834,2370,834 1 3745 -r? 10245,12405,6690,0,1686 1 3775 -Cs 13173,15834,0,2349,1044,962 0 3748 -Po 13173,17262,390,951,1173,951 0 3747 -Ye 13173,18090,150,3885,-1269,962 0 3749 -sc 13173,18555,6705,525,-69,525 3 3751 -Fn 13173,20250,6705,3279,1419,962 3 51871 -ct 13173,17613,417,1263,-1290,962 0 3746 -^a 13662,20514,390,1143,663,962 2 3810 -^e 11220,20514,390,1365,429,962 2 3818 -^o 12684,20514,390,531,339,531 2 3828 -^u 14148,20514,390,813,111,813 2 3835 -'a 13662,19668,390,1143,663,962 2 3809 -'e 11220,19668,390,2295,429,962 2 3817 -'o 12684,19668,390,1563,339,962 2 3827 -'u 14148,19668,390,831,111,831 2 3834 -`a 13662,19668,390,1143,663,962 2 3808 -`e 11220,19668,390,1365,429,962 2 3816 -`o 12684,19668,390,459,339,459 2 3826 -`u 14148,19668,390,813,111,813 2 3833 -:a 13662,18057,390,1143,663,962 0 3812 -:e 11220,18057,390,2139,429,962 0 3819 -:o 12684,18057,390,1407,339,962 0 3830 -:u 14148,18057,390,813,111,813 0 3836 -oA 19515,24900,195,15,1764,15 2 3781 -^i 8295,20514,390,2724,459,962 2 3822 -/O 21954,18555,390,1125,-696,962 2 3800 -AE 25857,18360,195,870,2910,870 2 3782 -oa 13662,18861,390,1377,663,962 2 3813 -'i 8295,19668,390,3756,459,962 2 3821 -/o 12684,12420,390,552,444,552 0 3832 -ae 18540,13047,390,1296,477,962 0 3814 -:A 19515,23439,195,15,1764,15 2 3780 -`i 8295,19668,390,663,459,663 2 3820 -:O 21954,23439,390,1014,-807,962 2 3798 -:U 21468,23439,390,3498,-1761,962 2 3804 -'E 16587,24843,195,1848,1476,962 2 3785 -:i 8295,18057,390,3600,459,962 0 3823 -ss 14148,20250,6705,2916,4902,962 3 3807 -^O 21954,25182,390,1014,-807,962 2 3796 -'A 19515,24843,195,15,1764,15 2 3777 -~A 19515,24255,195,648,1764,648 2 3779 -~a 13662,18468,390,1143,663,962 2 3811 --D 20490,18555,342,1557,1314,962 2 3792 -Sd 12684,20250,390,600,339,600 2 3824 -'I 10245,24843,195,3540,1542,962 2 3789 -`I 10245,24843,195,3429,1542,962 2 3788 -'O 21954,24843,390,1014,-807,962 2 3795 -`O 21954,24843,390,1014,-807,962 2 3794 -~O 21954,24255,390,1014,-807,962 2 3797 -~o 12684,18468,390,1320,339,962 2 3829 -vS 13173,24657,390,3903,732,962 2 51795 -vs 8781,20526,390,4242,903,962 2 51827 -'U 21468,24843,390,3498,-1761,962 2 3802 -:Y 19515,23439,195,3228,-2169,962 2 51801 -:y 13173,18057,6705,1161,1767,962 1 3839 -TP 16587,18360,195,846,1221,846 2 3806 -Tp 14637,20250,6900,663,3342,663 3 3838 -mc 14637,10800,5193,582,756,582 0 3765 -ps 13173,19635,4200,1032,-690,962 2 3766 -34 21954,17805,180,0,-627 0 3774 -\- 21954,7755,0,0,-2892 0 51757 -14 21954,17625,180,0,-1242 0 3772 -12 21954,17625,180,0,-1317 0 3773 -Of 11220,17805,0,1833,-1338,962 0 3754 -Om 11220,17805,0,1218,-1776,962 0 3770 -Fo 11220,9906,0,837,609,837 0 3755 -Fc 11220,9906,0,435,1011,435 0 3771 -t+- 21954,13467,3354,0,-2865 0 3761 -bb 13173,19083,5916,0,-4596 2 3750 -co 13173,19725,0,5022,-3198,962 2 3753 -tno 21954,10560,0,0,-2565 0 3756 -rg 13173,19725,0,5022,-3198,962 2 3758 -S2 8781,17805,0,2001,-606,962 0 3762 -S3 8781,17805,0,1881,-387,962 0 3763 -ac 13173,657,4776,0,-1791 0 3768 -S1 8781,17625,0,1389,-1590,962 0 3769 -tmu 21954,13530,192,0,-2934 0 3799 -tdi 21954,13383,3,0,-2886 0 3831 -pc 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 -a- 13173,16974,0,438,-4107,438 0 3759 -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 +ad 13173,18057,0,1161,-3668,962 0 161192 -- MSL 109 (19U 168) +~ 13173,18468,0,1074,-3599,962 2 161176 -- MSL 110 (19U 152) +a~ " +`U 21468,24843,390,3498,-1760,962 2 161241 -- MSL 111 (19U 217) +^U 21468,25182,390,3498,-1760,962 2 161243 -- MSL 112 (19U 219) +u00AF 13173,21105,0,1317,1317,962 2 161199 -- MSL 113 (19U 175) +'Y 19515,24843,195,3228,-2168,962 2 161245 -- MSL 114 (19U 221) +'y 13173,19668,6705,1317,1767,962 3 161277 -- MSL 115 (19U 253) +de 13173,17415,0,600,-1973,600 0 161200 -- MSL 116 (19U 176) +,C 19515,18555,6060,2028,-836,962 2 161223 -- MSL 117 (19U 199) +,c 11220,12420,4776,1695,438,962 0 161255 -- MSL 118 (19U 231) +~N 20979,24255,195,3810,1401,962 2 161233 -- MSL 119 (19U 209) +~n 14637,18468,390,486,57,486 2 161265 -- MSL 120 (19U 241) +r! 6831,12411,6696,834,2370,834 1 161185 -- MSL 121 (19U 161) +r? 10245,12405,6690,0,1686 1 161215 -- MSL 122 (19U 191) +Cs 13173,15834,0,2349,1044,962 0 161188 -- MSL 123 (19U 164) +Po 13173,17262,390,951,1173,951 0 161187 -- MSL 124 (19U 163) +Ye 13173,18090,150,3885,-1268,962 0 161189 -- MSL 125 (19U 165) +sc 13173,18555,6705,525,-68,525 3 161191 -- MSL 126 (19U 167) +Fn 13173,20250,6705,3279,1419,962 3 161155 -- MSL 127 (19U 131) +ct 13173,17613,417,1263,-1289,962 0 161186 -- MSL 128 (19U 162) +^a 13662,20514,390,1143,663,962 2 161250 -- MSL 129 (19U 226) +^e 11220,20514,390,1365,429,962 2 161258 -- MSL 130 (19U 234) +^o 12684,20514,390,531,339,531 2 161268 -- MSL 131 (19U 244) +^u 14148,20514,390,813,111,813 2 161275 -- MSL 132 (19U 251) +'a 13662,19668,390,1143,663,962 2 161249 -- MSL 133 (19U 225) +'e 11220,19668,390,2295,429,962 2 161257 -- MSL 134 (19U 233) +'o 12684,19668,390,1563,339,962 2 161267 -- MSL 135 (19U 243) +'u 14148,19668,390,831,111,831 2 161274 -- MSL 136 (19U 250) +`a 13662,19668,390,1143,663,962 2 161248 -- MSL 137 (19U 224) +`e 11220,19668,390,1365,429,962 2 161256 -- MSL 138 (19U 232) +`o 12684,19668,390,459,339,459 2 161266 -- MSL 139 (19U 242) +`u 14148,19668,390,813,111,813 2 161273 -- MSL 140 (19U 249) +:a 13662,18057,390,1143,663,962 0 161252 -- MSL 141 (19U 228) +:e 11220,18057,390,2139,429,962 0 161259 -- MSL 142 (19U 235) +:o 12684,18057,390,1407,339,962 0 161270 -- MSL 143 (19U 246) +:u 14148,18057,390,813,111,813 0 161276 -- MSL 144 (19U 252) +oA 19515,24900,195,15,1764,15 2 161221 -- MSL 145 (19U 197) +^i 8295,20514,390,2724,459,962 2 161262 -- MSL 146 (19U 238) +/O 21954,18555,390,1125,-695,962 2 161240 -- MSL 147 (19U 216) +AE 25857,18360,195,870,2910,870 2 161222 -- MSL 148 (19U 198) +oa 13662,18861,390,1377,663,962 2 161253 -- MSL 149 (19U 229) +'i 8295,19668,390,3756,459,962 2 161261 -- MSL 150 (19U 237) +/o 12684,12420,390,552,444,552 0 161272 -- MSL 151 (19U 248) +ae 18540,13047,390,1296,477,962 0 161254 -- MSL 152 (19U 230) +:A 19515,23439,195,15,1764,15 2 161220 -- MSL 153 (19U 196) +`i 8295,19668,390,663,459,663 2 161260 -- MSL 154 (19U 236) +:O 21954,23439,390,1014,-806,962 2 161238 -- MSL 155 (19U 214) +:U 21468,23439,390,3498,-1760,962 2 161244 -- MSL 156 (19U 220) +'E 16587,24843,195,1848,1476,962 2 161225 -- MSL 157 (19U 201) +:i 8295,18057,390,3600,459,962 0 161263 -- MSL 158 (19U 239) +ss 14148,20250,6705,2916,4902,962 3 161247 -- MSL 159 (19U 223) +^O 21954,25182,390,1014,-806,962 2 161236 -- MSL 160 (19U 212) +'A 19515,24843,195,15,1764,15 2 161217 -- MSL 161 (19U 193) +~A 19515,24255,195,648,1764,648 2 161219 -- MSL 162 (19U 195) +~a 13662,18468,390,1143,663,962 2 161251 -- MSL 163 (19U 227) +-D 20490,18555,342,1557,1314,962 2 161232 -- MSL 164 (19U 208) +Sd 12684,20250,390,600,339,600 2 161264 -- MSL 165 (19U 240) +'I 10245,24843,195,3540,1542,962 2 161229 -- MSL 166 (19U 205) +`I 10245,24843,195,3429,1542,962 2 161228 -- MSL 167 (19U 204) +'O 21954,24843,390,1014,-806,962 2 161235 -- MSL 168 (19U 211) +`O 21954,24843,390,1014,-806,962 2 161234 -- MSL 169 (19U 210) +~O 21954,24255,390,1014,-806,962 2 161237 -- MSL 170 (19U 213) +~o 12684,18468,390,1320,339,962 2 161269 -- MSL 171 (19U 245) +vS 13173,24657,390,3903,732,962 2 161162 -- MSL 172 (19U 138) +vs 8781,20526,390,4242,903,962 2 161178 -- MSL 173 (19U 154) +'U 21468,24843,390,3498,-1760,962 2 161242 -- MSL 174 (19U 218) +:Y 19515,23439,195,3228,-2168,962 2 161183 -- MSL 175 (19U 159) +:y 13173,18057,6705,1161,1767,962 1 161279 -- MSL 176 (19U 255) +TP 16587,18360,195,846,1221,846 2 161246 -- MSL 177 (19U 222) +Tp 14637,20250,6900,663,3342,663 3 161278 -- MSL 178 (19U 254) +mc 14637,10800,5193,582,756,582 0 161205 -- MSL 180 (19U 181) +ps 13173,19635,4200,1032,-689,962 2 161206 -- MSL 181 (19U 182) +34 21954,17805,180,0,-626 0 161214 -- MSL 182 (19U 190) +\- 21954,7755,0,0,-2891 0 60096 -- MSL 183 ( 7J 192) +14 21954,17625,180,0,-1241 0 161212 -- MSL 184 (19U 188) +12 21954,17625,180,0,-1316 0 161213 -- MSL 185 (19U 189) +Of 11220,17805,0,1833,-1337,962 0 161194 -- MSL 186 (19U 170) +Om 11220,17805,0,1218,-1775,962 0 161210 -- MSL 187 (19U 186) +Fo 11220,9906,0,837,609,837 0 161195 -- MSL 188 (19U 171) +Fc 11220,9906,0,435,1011,435 0 161211 -- MSL 190 (19U 187) +t+- 21954,13467,3354,0,-2864 0 161201 -- MSL 191 (19U 177) +bb 13173,19083,5916,0,-4595 2 161190 -- MSL 192 (19U 166) +co 13173,19725,0,5022,-3197,962 2 161193 -- MSL 193 (19U 169) +tno 21954,10560,0,0,-2564 0 161196 -- MSL 194 (19U 172) +u00AD 6831,7575,0,882,558,882 0 161197 -- MSL 195 (19U 173) +rg 13173,19725,0,5022,-3197,962 2 161198 -- MSL 196 (19U 174) +S2 8781,17805,0,2001,-605,962 0 161202 -- MSL 197 (19U 178) +S3 8781,17805,0,1881,-386,962 0 161203 -- MSL 198 (19U 179) +ac 13173,657,4776,0,-1790 0 161208 -- MSL 199 (19U 184) +S1 8781,17625,0,1389,-1589,962 0 161209 -- MSL 200 (19U 185) +tmu 21954,13530,192,0,-2933 0 161239 -- MSL 201 (19U 215) +tdi 21954,13383,3,0,-2885 0 161271 -- MSL 202 (19U 247) +u203C 13662,18717,390,2859,345,962 2 87315 -- MSL 221 (10U 19) +u20A7 24882,18555,390,2001,1236,962 2 60121 -- MSL 232 ( 7J 217) +pc 6831,10533,0,336,-1115,336 0 161207 -- MSL 302 (19U 183) +u013F 16587,18360,195,900,1431,900 2 51943 -- MSL 306 ( 6J 231) +u0140 10734,20250,390,2328,252,962 2 51959 -- MSL 307 ( 6J 247) +u2113 13173,18045,765,369,-1043,369 0 60122 -- MSL 308 ( 7J 218) +u0149 21468,18555,390,486,-737,486 2 51951 -- MSL 309 ( 6J 239) +fm 13173,17415,0,0,-1460 0 60101 -- MSL 310 ( 7J 197) +sd 13173,17415,0,1680,-1460,962 0 60102 -- MSL 311 ( 7J 198) +dg 13173,18555,6657,1035,186,962 3 161158 -- MSL 312 (19U 134) +tm 16101,17550,0,5508,-3158,962 0 161177 -- MSL 313 (19U 153) +u2017 13173,0,6588,1317,1317,962 1 60095 -- MSL 314 ( 7J 191) +ah 13173,20526,0,2367,-5474,962 2 75169 -- MSL 315 ( 9E 161) +ao 13173,18861,0,285,-5312,285 2 60152 -- MSL 316 ( 7J 248) +f/ 2928,17625,180,8301,6948,962 0 60109 -- MSL 324 ( 7J 205) +em 21954,7185,0,666,-44,666 0 161175 -- MSL 325 (19U 151) +en 13173,7185,0,537,-71,537 0 161174 -- MSL 326 (19U 150) +dd 13173,18555,4989,990,243,962 2 161159 -- MSL 327 (19U 135) +.i 8295,12420,390,288,459,288 0 46333 -- MSL 328 ( 5T 253) +aq 6831,18555,0,2289,-2825,962 2 161063 -- MSL 329 (19U 39) +bu 13173,14226,0,0,-497 0 161173 -- MSL 331 (19U 149) +u207F 11709,17805,0,2439,-767,962 0 87548 -- MSL 332 (10U 252) +u0111 14637,20250,390,3219,426,962 2 75248 -- MSL 342 ( 9E 240) +u0041_0306 19515,23706,195,15,1764,15 2 75203 -- MSL 400 ( 9E 195) +u0061_0306 13662,17325,390,1143,663,962 0 75235 -- MSL 401 ( 9E 227) +u0041_0328 19515,18555,4395,15,1764,15 2 75173 -- MSL 404 ( 9E 165) +u0061_0328 13662,13143,4791,1143,663,962 0 75193 -- MSL 405 ( 9E 185) +'C 19515,24843,390,2028,-836,962 2 75206 -- MSL 406 ( 9E 198) +'c 11220,19668,390,1995,438,962 2 75238 -- MSL 407 ( 9E 230) +u0041_030C 19515,24657,390,2028,-836,962 2 75208 -- MSL 410 ( 9E 200) +u0061_030C 11220,20526,390,3165,438,962 2 75240 -- MSL 411 ( 9E 232) +u0044_030C 20490,24657,195,1566,1323,962 2 75215 -- MSL 414 ( 9E 207) +u0064_030C 19029,20250,390,3315,417,962 2 75247 -- MSL 415 ( 9E 239) +u0045_030C 16587,24657,195,1848,1476,962 2 75212 -- MSL 416 ( 9E 204) +u0065_030C 11220,20526,390,3345,429,962 2 75244 -- MSL 417 ( 9E 236) +u0045_0328 16587,18360,4395,1848,1476,962 2 75210 -- MSL 422 ( 9E 202) +u0065_0328 11220,12420,4791,1365,429,962 0 75242 -- MSL 423 ( 9E 234) +u004C_0301 16587,24843,195,900,1431,900 2 75205 -- MSL 440 ( 9E 197) +u006C_0301 7806,25743,390,3861,252,962 2 75237 -- MSL 441 ( 9E 229) +u004C_030C 16587,18579,195,2697,1431,962 2 75196 -- MSL 442 ( 9E 188) +u006C_030C 12198,20250,390,3276,252,962 2 75198 -- MSL 443 ( 9E 190) +u004E_0301 20979,24843,195,3810,1401,962 2 75217 -- MSL 446 ( 9E 209) +u006E_0301 14637,19668,390,585,57,585 2 75249 -- MSL 447 ( 9E 241) +u004E_030C 20979,24657,195,3810,1401,962 2 75218 -- MSL 448 ( 9E 210) +u006E_030C 14637,20526,390,1635,57,962 2 75250 -- MSL 449 ( 9E 242) +u004F_030B 21954,24843,390,1014,-806,962 2 75221 -- MSL 452 ( 9E 213) +u006F_030B 12684,19830,390,3876,339,962 2 75253 -- MSL 453 ( 9E 245) +u0052_0301 19515,24843,195,63,1344,63 2 75200 -- MSL 456 ( 9E 192) +u0072_0301 10245,19668,0,2781,390,962 2 75232 -- MSL 457 ( 9E 224) +u0052_030C 19515,24657,195,63,1344,63 2 75224 -- MSL 458 ( 9E 216) +u0072_030C 10245,20526,0,3831,390,962 2 75256 -- MSL 459 ( 9E 248) +u0053_0301 13173,24843,390,2076,732,962 2 75148 -- MSL 462 ( 9E 140) +u0073_0301 8781,19668,390,2763,903,962 2 75164 -- MSL 463 ( 9E 156) +u0054_030C 18051,24657,195,4188,-1451,962 2 75149 -- MSL 466 ( 9E 141) +u0074_030C 11220,20250,390,3714,312,962 2 75165 -- MSL 467 ( 9E 157) +u0054_0327 18051,19425,6060,4188,-1451,962 2 75230 -- MSL 468 ( 9E 222) +u0074_0327 8295,14937,4776,2001,1173,962 0 75262 -- MSL 469 ( 9E 254) +u0055_030B 21468,24843,390,3498,-1760,962 2 75227 -- MSL 474 ( 9E 219) +u0075_030B 14148,19830,390,3144,111,962 2 75259 -- MSL 475 ( 9E 251) +u0055_030A 21468,24900,390,3498,-1760,962 2 75225 -- MSL 476 ( 9E 217) +u0075_030A 14148,18861,390,813,111,813 2 75257 -- MSL 477 ( 9E 249) +u005A_0301 17565,24843,195,1575,285,962 2 75151 -- MSL 482 ( 9E 143) +u007A_0301 11220,19668,195,2295,2046,962 2 75167 -- MSL 483 ( 9E 159) +u005A_0307 17565,23439,195,1575,285,962 2 75183 -- MSL 484 ( 9E 175) +u007A_0307 11220,18057,195,2064,2046,962 0 75199 -- MSL 485 ( 9E 191) +u2070 8781,17805,0,2100,-1385,962 0 51753 -- MSL 1000 ( 6J 41) +u2074 8781,17625,0,2277,-773,962 0 51748 -- MSL 1001 ( 6J 36) +u2075 8781,17625,0,2376,-1643,962 0 51749 -- MSL 1002 ( 6J 37) +u2076 8781,17805,0,2391,-1154,962 0 51806 -- MSL 1003 ( 6J 94) +u2077 8781,17625,0,3009,-2060,962 0 51750 -- MSL 1004 ( 6J 38) +u2078 8781,17805,0,2307,-1256,962 0 51754 -- MSL 1005 ( 6J 42) +u2079 8781,17805,0,2313,-1238,962 0 51752 -- MSL 1006 ( 6J 40) +lq 11220,18555,0,4245,-1418,962 2 161171 -- MSL 1017 (19U 147) +rq 11220,18555,0,3423,-596,962 2 161172 -- MSL 1018 (19U 148) +Bq 11220,3456,4002,0,3399 0 161156 -- MSL 1019 (19U 132) +u2003 21954,0,0,0,1317 0 51821 -- MSL 1020 ( 6J 109) +u2002 13173,0,0,0,1317 0 51822 -- MSL 1021 ( 6J 110) +u2009 6831,0,0,0,1317 0 51828 -- MSL 1023 ( 6J 116) +u2026 21954,3072,390,0,129 0 161157 -- MSL 1028 (19U 133) +vz 11220,20526,195,3345,2046,962 2 75166 -- MSL 1031 ( 9E 158) +u2120 16101,17703,0,4761,-3203,962 0 128299 -- MSL 1034 (15U 43) +u211E 20004,18315,4056,453,-1154,453 2 51794 -- MSL 1036 ( 6J 82) +fi 14637,20250,6705,1566,3645,962 3 60077 -- MSL 1040 ( 7J 173) +fl 14637,20250,6705,2934,3735,962 3 60078 -- MSL 1041 ( 7J 174) +ff 14637,20250,6705,5373,3861,962 3 51883 -- MSL 1042 ( 6J 171) +Fi 21468,20250,6705,1701,3675,962 3 51884 -- MSL 1043 ( 6J 172) +Fl 21468,20250,6705,2832,3765,962 3 51885 -- MSL 1044 ( 6J 173) +ij 14637,18765,6705,2169,498,962 3 60134 -- MSL 1047 ( 7J 230) +u2105 21954,18609,180,1233,-140,962 2 60072 -- MSL 1060 ( 7J 168) +u0047_0306 20979,23706,390,1476,-1073,962 2 46288 -- MSL 1061 ( 5T 208) +u0067_0306 12684,17325,6705,2031,2331,962 1 46320 -- MSL 1062 ( 5T 240) +u0053_0327 13173,18555,6060,2022,732,962 2 75178 -- MSL 1063 ( 9E 170) +u0073_0327 8781,12420,4776,873,903,873 0 75194 -- MSL 1064 ( 9E 186) +u0049_0307 10245,23439,195,3429,1542,962 2 46301 -- MSL 1065 ( 5T 221) +bq 6831,3456,4002,0,2925 0 161154 -- MSL 1067 (19U 130) +%0 30249,17805,450,0,-1385 0 161161 -- MSL 1068 (19U 137) +a- 13173,16974,0,438,-4106,438 0 60154 -- MSL 1084 ( 7J 250) +ab 13173,17325,0,1386,-5276,962 0 75170 -- MSL 1086 ( 9E 162) +a. 13173,18057,0,0,-6509 0 75263 -- MSL 1088 ( 9E 255) +oe 19029,12420,390,1338,357,962 0 161180 -- MSL 1090 (19U 156) +OE 27321,18555,390,1932,-527,962 2 161164 -- MSL 1091 (19U 140) +fo 6831,9906,0,999,792,962 0 161163 -- MSL 1092 (19U 139) +fc 6831,9906,0,423,1368,423 0 161179 -- MSL 1093 (19U 155) +sq 19029,15624,0,0,-2021 0 60091 -- MSL 1094 ( 7J 187) +/L 16587,18360,195,900,1431,900 2 75171 -- MSL 1095 ( 9E 163) +/l 7806,20250,390,2580,444,962 2 75187 -- MSL 1096 ( 9E 179) +a" 13173,19830,0,3630,-3815,962 2 75197 -- MSL 1097 ( 9E 189) +ho 13173,711,4791,0,-4010 0 75186 -- MSL 1098 ( 9E 178) +vZ 17565,24657,195,1707,285,962 2 75150 -- MSL 1106 ( 9E 142) +IJ 19515,18360,6219,3918,1542,962 3 60135 -- MSL 1107 ( 7J 231) diff -ruN groff-1.19/font/devlj4/GI groff-1.19.1/font/devlj4/GI --- groff-1.19/font/devlj4/GI Tue Feb 25 06:38:56 2003 +++ groff-1.19.1/font/devlj4/GI Wed Feb 18 10:01:17 2004 @@ -1,3 +1,4 @@ +# Garmond Krsv name GI spacewidth 6342 slant 16.400000 @@ -7,576 +8,646 @@ 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 cq -4878 -L ' -4878 -T hy -4389 -T - -4389 -T en -4389 -T em -4389 -A cq -2439 -A ' -2439 -hy T -3414 -- T -3414 -en T -3414 -em T -3414 -Y hy -2439 -Y - -2439 -Y en -2439 -Y em -2439 -p cq -486 -p ' -486 -b cq -975 -b ' -975 -V hy -1461 -V - -1461 -V en -1461 -V em -1461 -h cq -486 -h ' -486 -n cq -486 -n ' -486 -m cq -486 -m ' -486 -R cq -1950 -R ' -1950 -W hy -1461 -W - -1461 -W en -1461 -W em -1461 -cq d -975 -' d -975 -F hy -486 -F - -486 -F en -486 -F em -486 -X hy -1461 -X - -1461 -X en -1461 -X em -1461 -A hy -1950 -A - -1950 -A en -1950 -A em -1950 -K hy -975 -K - -975 -K en -975 -K em -975 -hy X -1461 -- X -1461 -hy A -1461 -- A -1461 -en X -1461 -en A -1461 -em X -1461 -R hy -1461 -R - -1461 -R en -1461 -R em -1461 -v cq -486 -v ' -486 -w cq -486 -w ' -486 -E cq -486 -E ' -486 -Z cq -975 -Z ' -975 -Z hy -486 -Z - -486 -Z en -486 -Z em -486 -B cq -486 -B ' -486 +L V -3902 +P . -4388 +P , -4388 +V A -3413 +A V -3413 +T o -4877 +T r -3413 +T c -4388 +T e -4388 +T d -4388 +T s -3413 +T y -4388 +T a -3902 +T w -4388 +T u -3413 +L T -3902 +L Y -3413 +Y o -3902 +Y e -3902 +Y a -3902 +A W -3413 +W A -3413 +T A -3413 +V o -2924 +V e -2924 +V a -2924 +Y A -3413 +F A -2438 +F . -3902 +F , -3902 +A T -3413 +A Y -3413 +v . -1460 +v , -1460 +y . -974 +y , -974 +T . -3413 +T , -3413 +L W -3413 +P A -2924 +V . -3902 +V , -3902 +Y . -3902 +Y , -3902 +W o -2924 +W e -2924 +W a -2924 +W . -3902 +W , -3902 +r . -1949 +r , -1949 +w . -1460 +w , -1460 +Y u -2438 +A v -1949 +A y -1949 +A w -1949 +o . -1460 +o , -1460 +p . -974 +p , -974 +b . -1949 +b , -1949 +O T -1949 +O V -1949 +O Y -1949 +O . -974 +O , -974 +V y -1460 +V u -1460 +V O -974 +V G -974 +V C -974 +V Q -974 +D T -1949 +D V -1949 +D Y -1949 +D . -974 +D , -974 +Y O -974 +Y G -974 +Y C -974 +Y Q -974 +F o -1460 +F e -974 +F a -974 +O A -974 +O W -1949 +R T -2924 +R V -2924 +R Y -2924 +R W -2924 +G T -974 +P o -1460 +P e -1460 +P a -1460 +D A -974 +D W -1949 +B T -974 +B Y -974 +B . -974 +B , -974 +A O -1949 +A G -1949 +A C -1949 +A U -1949 +A Q -1949 +W r -1460 +W y -1460 +W u -1460 +W O -974 +W G -974 +W C -974 +W Q -974 +U A -974 +U . -974 +U , -974 +Q A -974 +Q W -1949 +T O -974 +T G -974 +T C -974 +T Q -974 +O X -974 +L o -485 +G V -974 +G Y -974 +G W -974 +P T -974 +P V -974 +P Y -974 +D X -974 +B V -974 +B X -974 +B A -974 +B W -974 +F r -485 +F y -485 +F u -485 +F O -485 +F G -485 +F C -485 +F Q -485 +X o -1460 +X e -1460 +X y -1460 +X O -974 +X G -974 +X C -974 +X Q -974 +A o -1460 +A e -1460 +Q X -974 +K o -1460 +K e -974 +K y -974 +K w -974 +K O -974 +K G -974 +K C -974 +K Q -974 +o v -485 +o y -485 +o x -485 +o w -485 +v o -485 +y o -485 +x o -974 +x c -485 +x e -485 +x d -485 +x a -485 +x q -485 +w o -485 +R o -1460 +R y -1460 +R O -1460 +R G -1460 +R C -1460 +R U -1460 +R Q -1460 +P Z -974 +P X -974 +P W -974 +X a -485 +A t -974 +A g -485 +A c -1460 +A d -974 +A a -485 +A q -485 +K c -974 +o f -485 +h . -485 +h , -485 +n . -485 +n , -485 +m . -485 +m , -485 +r o -974 +r c -485 +r e -485 +r d -485 +r a -485 +r q -485 +f o -485 +k o -485 +O Z -974 +R e -1460 +R a -485 +G Z -974 +E o -485 +Z o -974 +Z e -485 +Z d -485 +Z y -485 +Z a -485 +Z w -485 +Z O -485 +Z G -485 +Z C -485 +Z Q -485 +D Z -974 +B Z -974 +J o -485 +K a -485 +t o -485 +o t -485 +o g -485 +o z -485 +o j -485 +g o -485 +z o -485 +C o -485 +E T -485 +E V -485 +E Z -485 +E Y -485 +E W -485 +B o -485 +U o -485 +L cq -4877 +L ' -4877 +T hy -4388 +T - -4388 +T en -4388 +T em -4388 +A cq -2438 +A ' -2438 +hy T -3413 +- T -3413 +en T -3413 +em T -3413 +Y hy -2438 +Y - -2438 +Y en -2438 +Y em -2438 +p cq -485 +p ' -485 +b cq -974 +b ' -974 +V hy -1460 +V - -1460 +V en -1460 +V em -1460 +h cq -485 +h ' -485 +n cq -485 +n ' -485 +m cq -485 +m ' -485 +R cq -1949 +R ' -1949 +W hy -1460 +W - -1460 +W en -1460 +W em -1460 +cq d -974 +' d -974 +F hy -485 +F - -485 +F en -485 +F em -485 +X hy -1460 +X - -1460 +X en -1460 +X em -1460 +A hy -1949 +A - -1949 +A en -1949 +A em -1949 +K hy -974 +K - -974 +K en -974 +K em -974 +hy X -1460 +- X -1460 +hy A -1460 +- A -1460 +en X -1460 +en A -1460 +em X -1460 +R hy -1460 +R - -1460 +R en -1460 +R em -1460 +v cq -485 +v ' -485 +w cq -485 +w ' -485 +E cq -485 +E ' -485 +Z cq -974 +Z ' -974 +Z hy -485 +Z - -485 +Z en -485 +Z em -485 +B cq -485 +B ' -485 charset -! 6342,18648,390,2823,786,910 2 3617 -dq 11220,18555,0,2325,-3858,910 2 3618 +! 6342,18648,390,2823,786,910 2 161057 -- MSL 1 (19U 33) +dq 11220,18555,0,2325,-3857,910 2 161058 -- MSL 2 (19U 34) " " -sh 12684,17805,390,1377,-72,910 0 3619 +sh 12684,17805,390,1377,-71,910 0 161059 -- MSL 3 (19U 35) # " -Do 12684,19380,2415,1467,-54,910 2 3620 +Do 12684,19380,2415,1467,-53,910 2 161060 -- MSL 4 (19U 36) $ " -% 20490,17805,180,252,-1311,252 0 3621 -& 18051,18555,390,1461,9,910 2 3622 -cq 6342,18555,0,2622,-1662,910 2 51751 +% 20490,17805,180,252,-1310,252 0 161061 -- MSL 5 (19U 37) +& 18051,18555,390,1461,9,910 2 161062 -- MSL 6 (19U 38) +cq 6342,18555,0,2622,-1661,910 2 161170 -- MSL 8 (19U 146) ' " -( 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 -hy 6342,6960,0,438,183,438 0 3629 +( 6342,20283,6705,5652,855,910 3 161064 -- MSL 9 (19U 40) +) 6342,20283,6705,1701,4806,910 3 161065 -- MSL 10 (19U 41) +* 12684,18555,0,2358,-2588,910 2 161066 -- MSL 11 (19U 42) ++ 20490,13191,261,0,-2495 0 161067 -- MSL 12 (19U 43) +, 6342,3300,3891,0,1584 0 161068 -- MSL 13 (19U 44) +hy 6342,6960,0,438,183,438 0 161069 -- MSL 14 (19U 45) - " -. 6342,2985,390,0,861 0 3630 -sl 13173,20250,225,4644,1500,910 2 3631 +. 6342,2985,390,0,861 0 161070 -- MSL 15 (19U 46) +sl 13173,20250,225,4644,1500,910 2 161071 -- MSL 16 (19U 47) / " -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 +0 12684,17805,390,1482,-353,910 0 161072 -- MSL 17 (19U 48) +1 12684,17415,150,0,-842 0 161073 -- MSL 18 (19U 49) +2 12684,17805,0,633,216,633 0 161074 -- MSL 19 (19U 50) +3 12684,17805,390,588,1335,588 0 161075 -- MSL 20 (19U 51) +4 12684,17805,0,1158,18,910 0 161076 -- MSL 21 (19U 52) +5 12684,17415,390,780,-182,780 0 161077 -- MSL 22 (19U 53) +6 12684,17805,390,2220,-101,910 0 161078 -- MSL 23 (19U 54) +7 12684,17415,390,2988,-887,910 0 161079 -- MSL 24 (19U 55) +8 12684,17805,390,1620,-104,910 0 161080 -- MSL 25 (19U 56) +9 12684,17805,390,1731,-125,910 0 161081 -- MSL 26 (19U 57) +: 6342,11586,390,1044,861,910 0 161082 -- MSL 27 (19U 58) +; 6342,11586,3891,1251,1584,910 0 161083 -- MSL 28 (19U 59) +< 26346,16068,0,0,-3980 0 161084 -- MSL 29 (19U 60) += 20490,8883,0,0,-2687 0 161085 -- MSL 30 (19U 61) +> 26346,16068,0,0,-3980 0 161086 -- MSL 31 (19U 62) +? 9270,18648,390,2514,-395,910 2 161087 -- MSL 32 (19U 63) +at 20619,16980,3654,2277,1044,910 0 161088 -- MSL 33 (19U 64) @ " -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 +A 18540,18555,150,0,2757 2 161089 -- MSL 34 (19U 65) +B 15126,18555,150,1614,1335,910 2 161090 -- MSL 35 (19U 66) +C 18540,18555,390,2820,-794,910 2 161091 -- MSL 36 (19U 67) +D 20004,18555,150,1380,1872,910 2 161092 -- MSL 37 (19U 68) +E 15612,18315,150,1824,1827,910 2 161093 -- MSL 38 (19U 69) +F 13173,18315,150,3717,1683,910 2 161094 -- MSL 39 (19U 70) +G 20490,18555,390,1182,-872,910 2 161095 -- MSL 40 (19U 71) +H 20490,18315,150,3783,1785,910 2 161096 -- MSL 41 (19U 72) +I 8781,18315,150,3582,1641,910 2 161097 -- MSL 42 (19U 73) +J 8295,18315,5814,3522,4017,910 2 161098 -- MSL 43 (19U 74) +K 18051,18315,150,2922,1755,910 2 161099 -- MSL 44 (19U 75) +L 15612,18315,150,345,1536,345 2 161100 -- MSL 45 (19U 76) +M 20490,18315,150,3192,2418,910 2 161101 -- MSL 46 (19U 77) +N 19515,18315,150,3774,1101,910 2 161102 -- MSL 47 (19U 78) +O 20979,18555,390,1308,-623,910 2 161103 -- MSL 48 (19U 79) +P 14637,18555,150,2430,1737,910 2 161104 -- MSL 49 (19U 80) +Q 20979,18555,6027,1248,-683,910 2 161105 -- MSL 50 (19U 81) +R 18051,18555,150,0,1965 2 161106 -- MSL 51 (19U 82) +S 12198,18555,390,1974,759,910 2 161107 -- MSL 52 (19U 83) +T 16101,19185,150,4656,-1577,910 2 161108 -- MSL 53 (19U 84) +U 20004,18315,390,3312,-1640,910 2 161109 -- MSL 54 (19U 85) +V 19029,18315,390,5280,-2375,910 2 161110 -- MSL 55 (19U 86) +W 25371,18315,390,5025,-2189,910 2 161111 -- MSL 56 (19U 87) +X 18540,18315,150,3168,1833,910 2 161112 -- MSL 57 (19U 88) +Y 17565,18315,150,5103,-1385,910 2 161113 -- MSL 58 (19U 89) +Z 16587,19557,0,1626,78,910 2 161114 -- MSL 59 (19U 90) +lB 6342,18165,5160,4749,3360,910 0 161115 -- MSL 60 (19U 91) [ " -rs 13173,20250,225,0,-3234 2 3676 +rs 13173,20250,225,0,-3233 2 161116 -- MSL 61 (19U 92) \ " -rB 6342,18165,5160,3387,4722,910 0 3677 +rB 6342,18165,5160,3387,4722,910 0 161117 -- MSL 62 (19U 93) ] " -ha 13173,19758,0,36,36,36 2 51875 -_ 13173,0,6588,1317,1317,910 1 3679 -oq 6342,18555,0,3606,-2646,910 2 51808 +ha 13173,19758,0,36,36,36 2 161118 -- MSL 63 (19U 94) +_ 13173,0,6588,1317,1317,910 1 161119 -- MSL 64 (19U 95) +oq 6342,18555,0,3606,-2645,910 2 161169 -- MSL 66 (19U 145) ` " -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 -`A 18540,24930,150,0,2757 2 3776 -^A 18540,24915,150,438,2757,438 2 3778 -`E 15612,24930,150,1824,1827,910 2 3784 -^E 15612,24915,150,1824,1827,910 2 3786 -:E 15612,22620,150,1824,1827,910 2 3787 -^I 8781,24915,150,4425,1641,910 2 3790 -:I 8781,22620,150,4899,1641,910 2 3791 -aa 12684,19590,0,1218,-5838,910 2 3764 -ga 12684,19590,0,0,-3147 2 3680 -a^ 12684,19614,0,210,-3726,210 2 3678 +a 12198,11670,390,687,1335,687 0 161121 -- MSL 67 (19U 97) +b 12684,20253,390,1776,216,910 2 161122 -- MSL 68 (19U 98) +c 9759,11670,390,1668,495,910 0 161123 -- MSL 69 (19U 99) +d 13173,20250,390,2223,915,910 2 161124 -- MSL 70 (19U 100) +e 9759,11670,390,1515,687,910 0 161125 -- MSL 71 (19U 101) +f 7317,20250,6705,6675,5391,910 3 161126 -- MSL 72 (19U 102) +g 11220,11670,6705,1806,1908,910 1 161127 -- MSL 73 (19U 103) +h 12684,20250,390,801,1086,801 2 161128 -- MSL 74 (19U 104) +i 7806,18495,390,1020,24,910 2 161129 -- MSL 75 (19U 105) +j 6342,18495,6705,2055,4209,910 3 161130 -- MSL 76 (19U 106) +k 13173,20250,390,657,957,657 2 161131 -- MSL 77 (19U 107) +l 7317,20250,390,1938,606,910 2 161132 -- MSL 78 (19U 108) +m 21468,11670,390,345,342,345 0 161133 -- MSL 79 (19U 109) +n 14637,11670,390,513,309,513 0 161134 -- MSL 80 (19U 110) +o 12198,11670,390,423,288,423 0 161135 -- MSL 81 (19U 111) +p 12198,13440,6855,963,3558,910 1 161136 -- MSL 82 (19U 112) +q 12684,11670,6855,1458,1005,910 1 161137 -- MSL 83 (19U 113) +r 10245,11670,0,2121,417,910 0 161138 -- MSL 84 (19U 114) +s 7806,11670,390,1242,1449,910 0 161139 -- MSL 85 (19U 115) +t 8295,13944,390,1638,75,910 0 161140 -- MSL 86 (19U 116) +u 13662,11670,390,576,381,576 0 161141 -- MSL 87 (19U 117) +v 13662,11670,390,1317,423,910 0 161142 -- MSL 88 (19U 118) +w 19029,11670,390,1209,393,910 0 161143 -- MSL 89 (19U 119) +x 12198,11670,390,936,1476,910 0 161144 -- MSL 90 (19U 120) +y 11709,11670,6705,867,2037,867 1 161145 -- MSL 91 (19U 121) +z 11220,12315,0,1359,1530,910 0 161146 -- MSL 92 (19U 122) +{ 11709,19935,6210,3360,-1691,910 3 161147 -- MSL 93 (19U 123) +lC " +| 13173,19758,6588,0,-4595 3 161148 -- MSL 94 (19U 124) +ba " +} 11709,19935,6210,0,2232 3 161149 -- MSL 95 (19U 125) +rC " +ti 26346,8952,0,0,-4028 0 161150 -- MSL 96 (19U 126) +`A 18540,24930,150,0,2757 2 161216 -- MSL 99 (19U 192) +^A 18540,24915,150,438,2757,438 2 161218 -- MSL 100 (19U 194) +`E 15612,24930,150,1824,1827,910 2 161224 -- MSL 101 (19U 200) +^E 15612,24915,150,1824,1827,910 2 161226 -- MSL 102 (19U 202) +:E 15612,22620,150,1824,1827,910 2 161227 -- MSL 103 (19U 203) +^I 8781,24915,150,4425,1641,910 2 161230 -- MSL 104 (19U 206) +:I 8781,22620,150,4899,1641,910 2 161231 -- MSL 105 (19U 207) +aa 12684,19590,0,1218,-5837,910 2 161204 -- MSL 106 (19U 180) +ga 12684,19590,0,0,-3146 2 161120 -- MSL 107 (19U 96) +a^ 12684,19614,0,210,-3725,210 2 161160 -- MSL 108 (19U 136) ^ " -ad 12684,17394,0,153,-3873,153 0 3752 -a~ 12684,17481,0,1239,-3270,910 0 3710 -~ " -`U 20004,24930,390,3312,-1641,910 2 3801 -^U 20004,24915,390,3312,-1641,910 2 3803 -'Y 17565,24930,150,5103,-1386,910 2 3805 -'y 11709,19590,6705,2106,2037,910 3 3837 -de 12684,17805,0,828,-2298,828 0 3760 -,C 18540,18555,6018,2820,-795,910 2 3783 -,c 9759,11670,4770,1668,516,910 0 3815 -~N 19515,23727,150,3774,1101,910 2 3793 -~n 14637,17481,390,513,309,513 0 3825 -r! 6831,12000,7038,1113,2007,910 1 3745 -r? 9270,12000,7038,0,2256 1 3775 -Cs 12684,15684,0,2205,291,910 0 3748 -Po 12684,17805,390,1413,1200,910 0 3747 -Ye 12684,18315,150,4137,-486,910 2 3749 -sc 12684,18555,5250,0,66 2 3751 -Fn 12684,20250,6705,3483,3216,910 3 51871 -ct 12684,17568,186,795,-1197,795 0 3746 -^a 12198,19614,390,687,1335,687 2 3810 -^e 9759,19614,390,1671,687,910 2 3818 -^o 12198,19614,390,453,288,453 2 3828 -^u 13662,19614,390,576,381,576 2 3835 -'a 12198,19590,390,1863,1335,910 2 3809 -'e 9759,19590,390,3081,687,910 2 3817 -'o 12198,19590,390,1863,288,910 2 3827 -'u 13662,19590,390,1131,381,910 2 3834 -`a 12198,19590,390,687,1335,687 2 3808 -`e 9759,19590,390,1515,687,910 2 3816 -`o 12198,19590,390,423,288,423 2 3826 -`u 13662,19590,390,576,381,576 2 3833 -:a 12198,17394,390,891,1335,891 0 3812 -:e 9759,17394,390,2109,687,910 0 3819 -:o 12198,17394,390,891,288,891 0 3830 -:u 13662,17394,390,576,381,576 0 3836 -oA 18540,24681,150,150,2757,150 2 3781 -^i 7806,19614,390,2649,24,910 2 3822 -/O 20979,18555,390,2475,1140,910 2 3800 -AE 25371,18315,150,1821,2859,910 2 3782 -oa 12198,19566,390,1257,1335,910 2 3813 -'i 7806,19590,390,4059,24,910 2 3821 -/o 12198,11670,390,2388,2475,910 0 3832 -ae 16587,11670,390,1551,1377,910 0 3814 -:A 18540,22620,150,1191,2757,910 2 3780 -`i 7806,19590,390,966,24,910 2 3820 -:O 20979,22620,390,1308,-624,910 2 3798 -:U 20004,22620,390,3312,-1641,910 2 3804 -'E 15612,24930,150,1824,1827,910 2 3785 -:i 7806,17394,390,2562,24,910 0 3823 -ss 13173,20250,6705,3594,6294,910 3 3807 -^O 20979,24915,390,1308,-624,910 2 3796 -'A 18540,24930,150,1083,2757,910 2 3777 -~A 18540,23727,150,2175,2757,910 2 3779 -~a 12198,17481,390,1482,1335,910 0 3811 --D 20004,18555,150,1380,1872,910 2 3792 -Sd 12198,20199,327,540,288,540 2 3824 -'I 8781,24930,150,5073,1641,910 2 3789 -`I 8781,24930,150,3582,1641,910 2 3788 -'O 20979,24930,390,1308,-624,910 2 3795 -`O 20979,24930,390,1308,-624,910 2 3794 -~O 20979,23727,390,1308,-624,910 2 3797 -~o 12198,17481,390,1482,288,910 0 3829 -vS 12198,24969,390,2829,759,910 2 51795 -vs 7806,19863,390,4191,1449,910 2 51827 -'U 20004,24930,390,3312,-1641,910 2 3802 -:Y 17565,22620,150,5103,-1386,910 2 51801 -:y 11709,17394,6705,1134,2037,910 1 3839 -TP 14637,18315,150,1383,1722,910 2 3806 -Tp 12198,20250,6855,963,3561,910 3 3838 -mc 14637,10800,5595,612,585,612 0 3765 -ps 12684,19635,4200,1812,-981,910 2 3766 -34 20490,17805,390,0,-1074 0 3774 -\- 20490,7305,0,0,-2532 0 51757 -14 20490,17625,390,0,-1143 0 3772 -12 20490,17625,390,33,-204,33 0 3773 -Of 11709,17805,0,1590,-1725,910 0 3754 -Om 11709,17805,0,936,-1989,910 0 3770 -Fo 10734,9945,0,759,-9,759 0 3755 -Fc 10734,9945,0,204,546,204 0 3771 -t+- 20490,13191,3105,0,-2502 0 3761 -bb 13173,19083,5916,0,-4596 2 3750 -co 13173,19725,0,5526,-3702,910 2 3753 -tno 20490,10029,0,0,-2055 0 3756 -rg 13173,19725,0,5526,-3702,910 2 3758 -S2 8781,17805,0,1725,-690,910 0 3762 -S3 8781,17805,0,1746,-273,910 0 3763 -ac 12684,0,4770,0,-948 0 3768 -S1 8781,17625,0,1257,-1230,910 0 3769 -tmu 20490,12969,189,0,-2793 0 3799 -tdi 20490,12966,36,0,-2424 0 3831 -pc 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 -a- 12684,17328,0,609,-3933,609 0 3759 -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 +ad 12684,17394,0,153,-3872,153 0 161192 -- MSL 109 (19U 168) +~ 12684,17481,0,1239,-3269,910 0 161176 -- MSL 110 (19U 152) +a~ " +`U 20004,24930,390,3312,-1640,910 2 161241 -- MSL 111 (19U 217) +^U 20004,24915,390,3312,-1640,910 2 161243 -- MSL 112 (19U 219) +u00AF 13173,21105,0,1317,1317,910 2 161199 -- MSL 113 (19U 175) +'Y 17565,24930,150,5103,-1385,910 2 161245 -- MSL 114 (19U 221) +'y 11709,19590,6705,2106,2037,910 3 161277 -- MSL 115 (19U 253) +de 12684,17805,0,828,-2297,828 0 161200 -- MSL 116 (19U 176) +,C 18540,18555,6018,2820,-794,910 2 161223 -- MSL 117 (19U 199) +,c 9759,11670,4770,1668,516,910 0 161255 -- MSL 118 (19U 231) +~N 19515,23727,150,3774,1101,910 2 161233 -- MSL 119 (19U 209) +~n 14637,17481,390,513,309,513 0 161265 -- MSL 120 (19U 241) +r! 6831,12000,7038,1113,2007,910 1 161185 -- MSL 121 (19U 161) +r? 9270,12000,7038,0,2256 1 161215 -- MSL 122 (19U 191) +Cs 12684,15684,0,2205,291,910 0 161188 -- MSL 123 (19U 164) +Po 12684,17805,390,1413,1200,910 0 161187 -- MSL 124 (19U 163) +Ye 12684,18315,150,4137,-485,910 2 161189 -- MSL 125 (19U 165) +sc 12684,18555,5250,0,66 2 161191 -- MSL 126 (19U 167) +Fn 12684,20250,6705,3483,3216,910 3 161155 -- MSL 127 (19U 131) +ct 12684,17568,186,795,-1196,795 0 161186 -- MSL 128 (19U 162) +^a 12198,19614,390,687,1335,687 2 161250 -- MSL 129 (19U 226) +^e 9759,19614,390,1671,687,910 2 161258 -- MSL 130 (19U 234) +^o 12198,19614,390,453,288,453 2 161268 -- MSL 131 (19U 244) +^u 13662,19614,390,576,381,576 2 161275 -- MSL 132 (19U 251) +'a 12198,19590,390,1863,1335,910 2 161249 -- MSL 133 (19U 225) +'e 9759,19590,390,3081,687,910 2 161257 -- MSL 134 (19U 233) +'o 12198,19590,390,1863,288,910 2 161267 -- MSL 135 (19U 243) +'u 13662,19590,390,1131,381,910 2 161274 -- MSL 136 (19U 250) +`a 12198,19590,390,687,1335,687 2 161248 -- MSL 137 (19U 224) +`e 9759,19590,390,1515,687,910 2 161256 -- MSL 138 (19U 232) +`o 12198,19590,390,423,288,423 2 161266 -- MSL 139 (19U 242) +`u 13662,19590,390,576,381,576 2 161273 -- MSL 140 (19U 249) +:a 12198,17394,390,891,1335,891 0 161252 -- MSL 141 (19U 228) +:e 9759,17394,390,2109,687,910 0 161259 -- MSL 142 (19U 235) +:o 12198,17394,390,891,288,891 0 161270 -- MSL 143 (19U 246) +:u 13662,17394,390,576,381,576 0 161276 -- MSL 144 (19U 252) +oA 18540,24681,150,150,2757,150 2 161221 -- MSL 145 (19U 197) +^i 7806,19614,390,2649,24,910 2 161262 -- MSL 146 (19U 238) +/O 20979,18555,390,2475,1140,910 2 161240 -- MSL 147 (19U 216) +AE 25371,18315,150,1821,2859,910 2 161222 -- MSL 148 (19U 198) +oa 12198,19566,390,1257,1335,910 2 161253 -- MSL 149 (19U 229) +'i 7806,19590,390,4059,24,910 2 161261 -- MSL 150 (19U 237) +/o 12198,11670,390,2388,2475,910 0 161272 -- MSL 151 (19U 248) +ae 16587,11670,390,1551,1377,910 0 161254 -- MSL 152 (19U 230) +:A 18540,22620,150,1191,2757,910 2 161220 -- MSL 153 (19U 196) +`i 7806,19590,390,966,24,910 2 161260 -- MSL 154 (19U 236) +:O 20979,22620,390,1308,-623,910 2 161238 -- MSL 155 (19U 214) +:U 20004,22620,390,3312,-1640,910 2 161244 -- MSL 156 (19U 220) +'E 15612,24930,150,1824,1827,910 2 161225 -- MSL 157 (19U 201) +:i 7806,17394,390,2562,24,910 0 161263 -- MSL 158 (19U 239) +ss 13173,20250,6705,3594,6294,910 3 161247 -- MSL 159 (19U 223) +^O 20979,24915,390,1308,-623,910 2 161236 -- MSL 160 (19U 212) +'A 18540,24930,150,1083,2757,910 2 161217 -- MSL 161 (19U 193) +~A 18540,23727,150,2175,2757,910 2 161219 -- MSL 162 (19U 195) +~a 12198,17481,390,1482,1335,910 0 161251 -- MSL 163 (19U 227) +-D 20004,18555,150,1380,1872,910 2 161232 -- MSL 164 (19U 208) +Sd 12198,20199,327,540,288,540 2 161264 -- MSL 165 (19U 240) +'I 8781,24930,150,5073,1641,910 2 161229 -- MSL 166 (19U 205) +`I 8781,24930,150,3582,1641,910 2 161228 -- MSL 167 (19U 204) +'O 20979,24930,390,1308,-623,910 2 161235 -- MSL 168 (19U 211) +`O 20979,24930,390,1308,-623,910 2 161234 -- MSL 169 (19U 210) +~O 20979,23727,390,1308,-623,910 2 161237 -- MSL 170 (19U 213) +~o 12198,17481,390,1482,288,910 0 161269 -- MSL 171 (19U 245) +vS 12198,24969,390,2829,759,910 2 161162 -- MSL 172 (19U 138) +vs 7806,19863,390,4191,1449,910 2 161178 -- MSL 173 (19U 154) +'U 20004,24930,390,3312,-1640,910 2 161242 -- MSL 174 (19U 218) +:Y 17565,22620,150,5103,-1385,910 2 161183 -- MSL 175 (19U 159) +:y 11709,17394,6705,1134,2037,910 1 161279 -- MSL 176 (19U 255) +TP 14637,18315,150,1383,1722,910 2 161246 -- MSL 177 (19U 222) +Tp 12198,20250,6855,963,3561,910 3 161278 -- MSL 178 (19U 254) +mc 14637,10800,5595,612,585,612 0 161205 -- MSL 180 (19U 181) +ps 12684,19635,4200,1812,-980,910 2 161206 -- MSL 181 (19U 182) +34 20490,17805,390,0,-1073 0 161214 -- MSL 182 (19U 190) +\- 20490,7305,0,0,-2531 0 60096 -- MSL 183 ( 7J 192) +14 20490,17625,390,0,-1142 0 161212 -- MSL 184 (19U 188) +12 20490,17625,390,33,-203,33 0 161213 -- MSL 185 (19U 189) +Of 11709,17805,0,1590,-1724,910 0 161194 -- MSL 186 (19U 170) +Om 11709,17805,0,936,-1988,910 0 161210 -- MSL 187 (19U 186) +Fo 10734,9945,0,759,-8,759 0 161195 -- MSL 188 (19U 171) +Fc 10734,9945,0,204,546,204 0 161211 -- MSL 190 (19U 187) +t+- 20490,13191,3105,0,-2501 0 161201 -- MSL 191 (19U 177) +bb 13173,19083,5916,0,-4595 2 161190 -- MSL 192 (19U 166) +co 13173,19725,0,5526,-3701,910 2 161193 -- MSL 193 (19U 169) +tno 20490,10029,0,0,-2054 0 161196 -- MSL 194 (19U 172) +u00AD 6342,6960,0,438,183,438 0 161197 -- MSL 195 (19U 173) +rg 13173,19725,0,5526,-3701,910 2 161198 -- MSL 196 (19U 174) +S2 8781,17805,0,1725,-689,910 0 161202 -- MSL 197 (19U 178) +S3 8781,17805,0,1746,-272,910 0 161203 -- MSL 198 (19U 179) +ac 12684,0,4770,0,-947 0 161208 -- MSL 199 (19U 184) +S1 8781,17625,0,1257,-1229,910 0 161209 -- MSL 200 (19U 185) +tmu 20490,12969,189,0,-2792 0 161239 -- MSL 201 (19U 215) +tdi 20490,12966,36,0,-2423 0 161271 -- MSL 202 (19U 247) +u203C 11709,18648,390,2664,945,910 2 87315 -- MSL 221 (10U 19) +u20A7 22932,18555,390,1638,1737,910 2 60121 -- MSL 232 ( 7J 217) +pc 6342,10350,0,534,-1211,534 0 161207 -- MSL 302 (19U 183) +u013F 15612,18315,150,345,1536,345 2 51943 -- MSL 306 ( 6J 231) +u0140 8781,20250,390,2088,606,910 2 51959 -- MSL 307 ( 6J 247) +u2113 12684,18150,297,306,-1187,306 0 60122 -- MSL 308 ( 7J 218) +u0149 19515,18555,390,513,-1307,513 2 51951 -- MSL 309 ( 6J 239) +fm 12684,17805,0,0,-2969 0 60101 -- MSL 310 ( 7J 197) +sd 12684,17805,0,0,-1373 0 60102 -- MSL 311 ( 7J 198) +dg 12684,18555,5250,2079,-740,910 2 161158 -- MSL 312 (19U 134) +tm 16101,17550,0,6012,-3662,910 0 161177 -- MSL 313 (19U 153) +u2017 13173,0,6588,1317,1317,910 1 60095 -- MSL 314 ( 7J 191) +ah 12684,19863,0,1152,-4667,910 2 75169 -- MSL 315 ( 9E 161) +ao 12684,19566,0,570,-4964,570 2 60152 -- MSL 316 ( 7J 248) +f/ 2928,17415,390,8091,6480,910 0 60109 -- MSL 324 ( 7J 205) +em 20490,6960,0,651,420,651 0 161175 -- MSL 325 (19U 151) +en 12684,6960,0,756,357,756 0 161174 -- MSL 326 (19U 150) +dd 12684,18555,5250,1128,210,910 2 161159 -- MSL 327 (19U 135) +.i 7806,11670,390,657,24,657 0 46333 -- MSL 328 ( 5T 253) +aq 7317,18555,0,2418,-3857,910 2 161063 -- MSL 329 (19U 39) +bu 13173,14226,0,0,-497 0 161173 -- MSL 331 (19U 149) +u207F 11709,17805,0,2733,-869,910 0 87548 -- MSL 332 (10U 252) +u0111 13173,20250,390,2733,915,910 2 75248 -- MSL 342 ( 9E 240) +u0041_0306 18540,23550,150,1464,2757,910 2 75203 -- MSL 400 ( 9E 195) +u0061_0306 12198,18054,390,1161,1335,910 0 75235 -- MSL 401 ( 9E 227) +u0041_0328 18540,18555,3990,0,2757 2 75173 -- MSL 404 ( 9E 165) +u0061_0328 12198,11670,4155,687,1335,687 0 75193 -- MSL 405 ( 9E 185) +'C 18540,24930,390,2820,-794,910 2 75206 -- MSL 406 ( 9E 198) +'c 9759,19590,390,3231,495,910 2 75238 -- MSL 407 ( 9E 230) +u0041_030C 18540,24969,390,2820,-794,910 2 75208 -- MSL 410 ( 9E 200) +u0061_030C 9759,19863,390,3513,495,910 2 75240 -- MSL 411 ( 9E 232) +u0044_030C 20004,24969,150,1380,1872,910 2 75215 -- MSL 414 ( 9E 207) +u0064_030C 16587,20250,390,3657,915,910 2 75247 -- MSL 415 ( 9E 239) +u0045_030C 15612,24969,150,1824,1827,910 2 75212 -- MSL 416 ( 9E 204) +u0065_030C 9759,19863,390,3213,687,910 2 75244 -- MSL 417 ( 9E 236) +u0045_0328 15612,18315,3990,1824,1827,910 2 75210 -- MSL 422 ( 9E 202) +u0065_0328 9759,11670,4155,1515,687,910 0 75242 -- MSL 423 ( 9E 234) +u004C_0301 15612,24930,150,345,1536,345 2 75205 -- MSL 440 ( 9E 197) +u006C_0301 7317,25590,390,3495,606,910 2 75237 -- MSL 441 ( 9E 229) +u004C_030C 15612,18675,150,1992,1536,910 2 75196 -- MSL 442 ( 9E 188) +u006C_030C 9759,20250,390,4095,606,910 2 75198 -- MSL 443 ( 9E 190) +u004E_0301 19515,24930,150,3774,1101,910 2 75217 -- MSL 446 ( 9E 209) +u006E_0301 14637,19590,390,642,309,642 2 75249 -- MSL 447 ( 9E 241) +u004E_030C 19515,24969,150,3774,1101,910 2 75218 -- MSL 448 ( 9E 210) +u006E_030C 14637,19863,390,774,309,774 2 75250 -- MSL 449 ( 9E 242) +u004F_030B 20979,24930,390,1308,-623,910 2 75221 -- MSL 452 ( 9E 213) +u006F_030B 12198,19590,390,4128,288,910 2 75253 -- MSL 453 ( 9E 245) +u0052_0301 18051,24930,150,0,1965 2 75200 -- MSL 456 ( 9E 192) +u0072_0301 10245,19590,0,2838,417,910 2 75232 -- MSL 457 ( 9E 224) +u0052_030C 18051,24969,150,0,1965 2 75224 -- MSL 458 ( 9E 216) +u0072_030C 10245,19863,0,2970,417,910 2 75256 -- MSL 459 ( 9E 248) +u0053_0301 12198,24930,390,3366,759,910 2 75148 -- MSL 462 ( 9E 140) +u0073_0301 7806,19590,390,4059,1449,910 2 75164 -- MSL 463 ( 9E 156) +u0054_030C 16101,24969,150,4656,-1577,910 2 75149 -- MSL 466 ( 9E 141) +u0074_030C 10245,20250,390,3819,75,910 2 75165 -- MSL 467 ( 9E 157) +u0054_0327 16101,19185,6018,4656,-1577,910 2 75230 -- MSL 468 ( 9E 222) +u0074_0327 8295,13944,4770,1638,1248,910 0 75262 -- MSL 469 ( 9E 254) +u0055_030B 20004,24930,390,3312,-1640,910 2 75227 -- MSL 474 ( 9E 219) +u0075_030B 13662,19590,390,3486,381,910 2 75259 -- MSL 475 ( 9E 251) +u0055_030A 20004,24681,390,3312,-1640,910 2 75225 -- MSL 476 ( 9E 217) +u0075_030A 13662,19566,390,576,381,576 2 75257 -- MSL 477 ( 9E 249) +u005A_0301 16587,24930,0,1626,78,910 2 75151 -- MSL 482 ( 9E 143) +u007A_0301 11220,19590,0,2352,1530,910 2 75167 -- MSL 483 ( 9E 159) +u005A_0307 16587,22380,0,1626,78,910 2 75183 -- MSL 484 ( 9E 175) +u007A_0307 11220,17034,0,1359,1530,910 0 75199 -- MSL 485 ( 9E 191) +u2070 8781,17805,0,2151,-1364,910 0 51753 -- MSL 1000 ( 6J 41) +u2074 8781,17625,0,1854,-737,910 0 51748 -- MSL 1001 ( 6J 36) +u2075 8781,17625,0,1734,-872,910 0 51749 -- MSL 1002 ( 6J 37) +u2076 8781,17805,0,2757,-857,910 0 51806 -- MSL 1003 ( 6J 94) +u2077 8781,17625,0,3267,-1376,910 0 51750 -- MSL 1004 ( 6J 38) +u2078 8781,17805,0,2412,-869,910 0 51754 -- MSL 1005 ( 6J 42) +u2079 8781,17805,0,2271,-764,910 0 51752 -- MSL 1006 ( 6J 40) +lq 10734,18555,0,3054,-1955,910 2 161171 -- MSL 1017 (19U 147) +rq 10734,18555,0,2940,-1841,910 2 161172 -- MSL 1018 (19U 148) +Bq 10734,2013,4437,0,2022 0 161156 -- MSL 1019 (19U 132) +u2003 20490,0,0,0,1317 0 51821 -- MSL 1020 ( 6J 109) +u2002 12684,0,0,0,1317 0 51822 -- MSL 1021 ( 6J 110) +u2009 6342,0,0,0,1317 0 51828 -- MSL 1023 ( 6J 116) +u2026 20490,2706,390,0,522 0 161157 -- MSL 1028 (19U 133) +vz 11220,19863,0,2484,1530,910 2 75166 -- MSL 1031 ( 9E 158) +u2120 16101,17703,0,5265,-3707,910 0 128299 -- MSL 1034 (15U 43) +u211E 20004,18315,4056,642,-1343,642 2 51794 -- MSL 1036 ( 6J 82) +fi 13173,20250,6705,1812,5289,910 3 60077 -- MSL 1040 ( 7J 173) +fl 14148,20250,6705,1464,5172,910 3 60078 -- MSL 1041 ( 7J 174) +ff 13662,20250,6705,6495,5286,910 3 51883 -- MSL 1042 ( 6J 171) +Fi 19029,20250,6705,1914,5388,910 3 51884 -- MSL 1043 ( 6J 172) +Fl 19515,20601,6705,2037,5289,910 3 51885 -- MSL 1044 ( 6J 173) +ij 14148,18495,6705,2055,24,910 3 60134 -- MSL 1047 ( 7J 230) +u2105 20490,20268,180,1470,-443,910 2 60072 -- MSL 1060 ( 7J 168) +u0047_0306 20490,23550,390,1182,-872,910 2 46288 -- MSL 1061 ( 5T 208) +u0067_0306 11220,18054,6705,1806,1908,910 1 46320 -- MSL 1062 ( 5T 240) +u0053_0327 12198,18555,6018,1974,759,910 2 75178 -- MSL 1063 ( 9E 170) +u0073_0327 7806,11670,4770,1242,1641,910 0 75194 -- MSL 1064 ( 9E 186) +u0049_0307 8781,22380,150,3582,1641,910 2 46301 -- MSL 1065 ( 5T 221) +bq 6342,2013,4437,0,1680 0 161154 -- MSL 1067 (19U 130) +%0 29760,17805,207,378,-1367,378 0 161161 -- MSL 1068 (19U 137) +a- 12684,17328,0,609,-3932,609 0 60154 -- MSL 1084 ( 7J 250) +ab 12684,18054,0,918,-4340,910 0 75170 -- MSL 1086 ( 9E 162) +a. 12684,17034,0,0,-6227 0 75263 -- MSL 1088 ( 9E 255) +oe 18051,11670,390,1527,288,910 0 161180 -- MSL 1090 (19U 156) +OE 27321,18555,390,1800,-635,910 2 161164 -- MSL 1091 (19U 140) +fo 7806,9945,0,780,-671,780 0 161163 -- MSL 1092 (19U 139) +fc 7806,9945,0,0,147 0 161179 -- MSL 1093 (19U 155) +sq 19029,15624,0,0,-2021 0 60091 -- MSL 1094 ( 7J 187) +/L 15612,18315,150,345,1536,345 2 75171 -- MSL 1095 ( 9E 163) +/l 7317,20250,390,2265,660,910 2 75187 -- MSL 1096 ( 9E 179) +a" 12684,19590,0,3705,-4451,910 2 75197 -- MSL 1097 ( 9E 189) +ho 12684,420,4155,0,-3068 0 75186 -- MSL 1098 ( 9E 178) +vZ 16587,24969,0,1626,78,910 2 75150 -- MSL 1106 ( 9E 142) +IJ 17076,18315,5814,3522,1641,910 2 60135 -- MSL 1107 ( 7J 231) diff -ruN groff-1.19/font/devlj4/GR groff-1.19.1/font/devlj4/GR --- groff-1.19/font/devlj4/GR Tue Feb 25 06:38:56 2003 +++ groff-1.19.1/font/devlj4/GR Wed Feb 18 10:01:17 2004 @@ -1,3 +1,4 @@ +# Garmond Antiqua name GR spacewidth 6831 pcltypeface 4197 @@ -6,760 +7,830 @@ 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 cq -3414 -L ' -3414 -T hy -4389 -T - -4389 -T en -4389 -T em -4389 -A cq -2925 -A ' -2925 -hy T -4389 -- T -4389 -en T -4389 -em T -4389 -Y hy -3414 -Y - -3414 -Y en -3414 -Y em -3414 -p cq -975 -p ' -975 -e cq -486 -e ' -486 -b cq -1461 -b ' -1461 -a cq -486 -a ' -486 -V hy -1950 -V - -1950 -V en -1950 -V em -1950 -h cq -975 -h ' -975 -n cq -975 -n ' -975 -m cq -975 -m ' -975 -R cq -1950 -R ' -1950 -W hy -1950 -W - -1950 -W en -1950 -W em -1950 -cq d -1461 -' d -1461 -L hy -1950 -L - -1950 -L en -1950 -L em -1950 -X hy -1461 -X - -1461 -X en -1461 -X em -1461 -A hy -1461 -A - -1461 -A en -1461 -A em -1461 -K hy -1461 -K - -1461 -K en -1461 -K em -1461 -cq s -486 -' s -486 -hy X -1461 -- X -1461 -hy A -1461 -- A -1461 -en X -1461 -en A -1461 -em X -1461 -R hy -1950 -R - -1950 -R en -1950 -R em -1950 -K cq -486 -K ' -486 -G cq -486 -G ' -486 -E cq -486 -E ' -486 -E hy -486 -E - -486 -E en -486 -E em -486 -Z hy -975 -Z - -975 -Z en -975 -Z em -975 -B cq -486 -B ' -486 -J hy -486 -J - -486 -J en -486 -J em -486 -U hy -486 -U - -486 -U en -486 -U em -486 +L V -3413 +P . -4388 +P , -4388 +V A -4388 +A V -4388 +T o -3902 +T r -2438 +T c -3413 +T e -3413 +T d -3413 +T s -2438 +T y -4388 +T a -2438 +T w -4388 +T u -3413 +L T -2924 +L Y -2924 +Y o -4388 +Y e -3902 +Y a -2924 +A W -4388 +W A -4388 +T A -2438 +V o -3413 +V e -3413 +V a -2924 +Y A -2924 +F A -2924 +F . -3902 +F , -3902 +A T -2924 +A Y -2924 +v . -2438 +v , -2438 +y . -2924 +y , -2924 +T . -2438 +T , -2438 +L W -3413 +P A -2924 +V . -3902 +V , -3902 +Y . -2924 +Y , -2924 +W o -3413 +W e -3413 +W a -2924 +W . -3902 +W , -3902 +r . -1460 +r , -1460 +w . -2924 +w , -2924 +Y u -3413 +A v -2438 +A y -2438 +A w -2924 +o . -1460 +o , -1460 +p . -1460 +p , -1460 +e . -485 +e , -485 +b . -1460 +b , -1460 +O T -1949 +O V -1949 +O Y -1949 +O . -1949 +O , -1949 +L y -2438 +L O -1949 +L G -1949 +L C -1949 +L Q -1949 +P J -974 +V y -1949 +V u -1949 +V O -1949 +V G -1949 +V C -1949 +V Q -1949 +D T -1949 +D V -1949 +D Y -1949 +D . -1949 +D , -1949 +Y O -1949 +Y G -1949 +Y C -1949 +Y Q -1949 +F o -1460 +F e -1460 +F a -974 +c . -485 +c , -485 +O A -1460 +O W -1949 +L U -1949 +R T -2924 +R V -2924 +R Y -2924 +R W -2924 +G T -485 +P o -1460 +P g -974 +P e -1460 +P a -974 +D A -1460 +D W -1949 +B T -1460 +B Y -1460 +B . -1460 +B , -1460 +A O -1460 +A G -1460 +A C -1460 +A U -1949 +A Q -1460 +W r -1949 +W y -1949 +W u -1949 +W O -1949 +W G -1949 +W C -1949 +W Q -1949 +J A -485 +J . -485 +J , -485 +U A -1949 +U . -1949 +U , -1949 +Q A -1460 +Q W -1949 +T O -1949 +T G -1949 +T C -1949 +T Q -1949 +O X -1460 +L o -1460 +L e -974 +L q -1460 +G V -485 +G Y -485 +G W -485 +P T -974 +P V -974 +P Y -974 +D X -1460 +B V -1460 +B X -1460 +B A -1460 +B W -1460 +S . -974 +S , -974 +X o -1460 +X e -974 +X y -1460 +X O -1460 +X G -1460 +X C -1460 +X Q -1460 +A o -1460 +A e -974 +Q X -1460 +K o -1460 +K e -974 +K y -1460 +K w -1460 +K O -1460 +K G -1460 +K C -1460 +K Q -1460 +o v -1460 +o y -1460 +o x -1460 +o w -1460 +h v -974 +h y -974 +n v -974 +n y -974 +m v -974 +m y -974 +r g -974 +p v -974 +p y -974 +p x -974 +v o -1460 +v g -974 +v c -974 +v d -974 +v a -974 +v q -974 +e v -485 +e y -485 +b v -974 +b y -974 +b w -1460 +s . -485 +s , -485 +y o -1460 +y g -974 +y c -1460 +y d -1460 +y a -974 +y q -1460 +x o -1460 +x c -974 +x e -974 +x d -974 +x q -974 +a v -485 +a y -485 +a w -485 +w o -1460 +w g -974 +w c -1460 +w d -1460 +w a -974 +w q -1460 +T S -974 +R o -1460 +R y -1949 +R O -1949 +R G -1949 +R C -1949 +R U -1949 +R Q -1949 +P s -485 +P Z -974 +P X -974 +P W -974 +V S -974 +S A -974 +Y S -974 +X u -974 +A t -974 +A c -974 +A d -974 +A u -974 +A q -1460 +W S -974 +J y -485 +K c -974 +K u -974 +o f -485 +h w -974 +n w -974 +m w -974 +r o -1460 +r c -974 +r e -974 +r d -974 +r a -974 +r q -974 +p w -974 +v e -974 +v s -485 +e x -485 +e w -485 +y e -1460 +y s -485 +f o -1460 +f c -974 +f e -974 +f d -974 +f q -974 +w e -1460 +w s -485 +k o -1460 +k c -974 +k e -974 +k d -974 +k q -974 +O Z -974 +O J -974 +L J -974 +R e -974 +R u -974 +P H -485 +P N -485 +P M -485 +P L -485 +P R -485 +P I -485 +P P -485 +P E -485 +P D -485 +P B -485 +P F -485 +P U -485 +P K -485 +E t -485 +E o -974 +E c -485 +E v -485 +E e -485 +E d -485 +E y -485 +E w -485 +E u -485 +E q -485 +E O -485 +E G -485 +E C -485 +E J -485 +E Q -485 +Z o -1460 +Z e -974 +Z d -974 +Z y -974 +Z w -974 +Z u -974 +Z O -974 +Z G -974 +Z C -974 +Z Q -974 +D Z -974 +D J -974 +B Z -974 +B J -974 +A J -974 +J o -974 +J e -485 +J a -485 +J u -485 +J O -485 +J G -485 +J C -485 +J S -485 +J Q -485 +U g -485 +K J -485 +t o -1460 +t c -974 +t e -974 +t d -974 +t q -974 +o t -485 +o g -485 +o z -974 +o j -485 +r s -485 +g o -974 +g c -485 +g e -485 +g d -485 +g q -485 +p z -485 +e z -485 +z o -974 +z c -485 +z e -485 +z d -485 +z q -485 +b z -485 +R J -974 +G J -485 +C o -485 +C y -974 +E T -485 +E V -485 +E Y -485 +E W -485 +E U -485 +B o -485 +B y -485 +B a -485 +B H -485 +B N -485 +B M -485 +B L -485 +B R -485 +B I -485 +B P -485 +B E -485 +B D -485 +B B -485 +B F -485 +B U -485 +B K -485 +U t -485 +U o -974 +U n -485 +U m -485 +U r -485 +U p -485 +U c -485 +U v -485 +U e -485 +U z -485 +U d -485 +U s -974 +U y -485 +U f -485 +U x -485 +U a -974 +U w -485 +U q -485 +U O -485 +U G -485 +U C -485 +U S -485 +U Q -485 +K T -485 +K V -485 +K Y -485 +K W -485 +K U -485 +L cq -3413 +L ' -3413 +T hy -4388 +T - -4388 +T en -4388 +T em -4388 +A cq -2924 +A ' -2924 +hy T -4388 +- T -4388 +en T -4388 +em T -4388 +Y hy -3413 +Y - -3413 +Y en -3413 +Y em -3413 +p cq -974 +p ' -974 +e cq -485 +e ' -485 +b cq -1460 +b ' -1460 +a cq -485 +a ' -485 +V hy -1949 +V - -1949 +V en -1949 +V em -1949 +h cq -974 +h ' -974 +n cq -974 +n ' -974 +m cq -974 +m ' -974 +R cq -1949 +R ' -1949 +W hy -1949 +W - -1949 +W en -1949 +W em -1949 +cq d -1460 +' d -1460 +L hy -1949 +L - -1949 +L en -1949 +L em -1949 +X hy -1460 +X - -1460 +X en -1460 +X em -1460 +A hy -1460 +A - -1460 +A en -1460 +A em -1460 +K hy -1460 +K - -1460 +K en -1460 +K em -1460 +cq s -485 +' s -485 +hy X -1460 +- X -1460 +hy A -1460 +- A -1460 +en X -1460 +en A -1460 +em X -1460 +R hy -1949 +R - -1949 +R en -1949 +R em -1949 +K cq -485 +K ' -485 +G cq -485 +G ' -485 +E cq -485 +E ' -485 +E hy -485 +E - -485 +E en -485 +E em -485 +Z hy -974 +Z - -974 +Z en -974 +Z em -974 +B cq -485 +B ' -485 +J hy -485 +J - -485 +J en -485 +J em -485 +U hy -485 +U - -485 +U en -485 +U em -485 charset -! 6831,18837,390 2 3617 -dq 11220,18555 2 3618 +! 6831,18837,390 2 161057 -- MSL 1 (19U 33) +dq 11220,18555 2 161058 -- MSL 2 (19U 34) " " -sh 12684,17805,390 0 3619 +sh 12684,17805,390 0 161059 -- MSL 3 (19U 35) # " -Do 12684,19122,1707 2 3620 +Do 12684,19122,1707 2 161060 -- MSL 4 (19U 36) $ " -% 21468,17415,390 0 3621 -& 21954,18165,390 0 3622 -cq 7317,18555 2 51751 +% 21468,17415,390 0 161061 -- MSL 5 (19U 37) +& 21954,18165,390 0 161062 -- MSL 6 (19U 38) +cq 7317,18555 2 161170 -- MSL 8 (19U 146) ' " -( 7806,20250,6705 3 3624 -) 7806,20250,6705 3 3625 -* 12684,18555 2 3626 -+ 21468,13191,261 0 3627 -, 6831,3096,4449 0 3628 -hy 6831,6960 0 3629 +( 7806,20250,6705 3 161064 -- MSL 9 (19U 40) +) 7806,20250,6705 3 161065 -- MSL 10 (19U 41) +* 12684,18555 2 161066 -- MSL 11 (19U 42) ++ 21468,13191,261 0 161067 -- MSL 12 (19U 43) +, 6831,3096,4449 0 161068 -- MSL 13 (19U 44) +hy 6831,6960 0 161069 -- MSL 14 (19U 45) - " -. 6831,2847,390 0 3630 -sl 12684,20250,480 2 3631 +. 6831,2847,390 0 161070 -- MSL 15 (19U 46) +sl 12684,20250,480 2 161071 -- MSL 16 (19U 47) / " -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 +0 12684,17805,390 0 161072 -- MSL 17 (19U 48) +1 12684,17805,150 0 161073 -- MSL 18 (19U 49) +2 12684,17805,150 0 161074 -- MSL 19 (19U 50) +3 12684,17805,390 0 161075 -- MSL 20 (19U 51) +4 12684,17415,390 0 161076 -- MSL 21 (19U 52) +5 12684,17415,390 0 161077 -- MSL 22 (19U 53) +6 12684,17811,390 0 161078 -- MSL 23 (19U 54) +7 12684,17415,390 0 161079 -- MSL 24 (19U 55) +8 12684,17805,390 0 161080 -- MSL 25 (19U 56) +9 12684,17805,390 0 161081 -- MSL 26 (19U 57) +: 6831,10593,390 0 161082 -- MSL 27 (19U 58) +; 6831,10593,4449 0 161083 -- MSL 28 (19U 59) +< 26346,16068 0 161084 -- MSL 29 (19U 60) += 21468,8883 0 161085 -- MSL 30 (19U 61) +> 26346,16068 0 161086 -- MSL 31 (19U 62) +? 9759,18837,390 2 161087 -- MSL 32 (19U 63) +at 21594,16980,3654 0 161088 -- MSL 33 (19U 64) @ " -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 +A 20004,18555,150 2 161089 -- MSL 34 (19U 65) +B 16101,18315,150 2 161090 -- MSL 35 (19U 66) +C 19515,18555,390 2 161091 -- MSL 36 (19U 67) +D 20979,18555,150 2 161092 -- MSL 37 (19U 68) +E 16587,18315,150 2 161093 -- MSL 38 (19U 69) +F 15612,18315,150 2 161094 -- MSL 39 (19U 70) +G 20979,18555,390 2 161095 -- MSL 40 (19U 71) +H 22443,18315,150 2 161096 -- MSL 41 (19U 72) +I 8781,18315,150 2 161097 -- MSL 42 (19U 73) +J 9759,18315,6060 2 161098 -- MSL 43 (19U 74) +K 19029,18315,150 2 161099 -- MSL 44 (19U 75) +L 16101,18315,150 2 161100 -- MSL 45 (19U 76) +M 23907,18315,390 2 161101 -- MSL 46 (19U 77) +N 22443,18315,774 2 161102 -- MSL 47 (19U 78) +O 22443,18555,390 2 161103 -- MSL 48 (19U 79) +P 15612,18555,150 2 161104 -- MSL 49 (19U 80) +Q 22443,18555,6339 3 161105 -- MSL 50 (19U 81) +R 18540,18315,150 2 161106 -- MSL 51 (19U 82) +S 12684,18555,390 2 161107 -- MSL 52 (19U 83) +T 18051,19299,150 2 161108 -- MSL 53 (19U 84) +U 21468,18315,390 2 161109 -- MSL 54 (19U 85) +V 19029,18315,390 2 161110 -- MSL 55 (19U 86) +W 25857,18315,390 2 161111 -- MSL 56 (19U 87) +X 20004,18315,150 2 161112 -- MSL 57 (19U 88) +Y 19029,18315,150 2 161113 -- MSL 58 (19U 89) +Z 17565,19299 2 161114 -- MSL 59 (19U 90) +lB 7806,18165,4905 0 161115 -- MSL 60 (19U 91) [ " -rs 12684,20250,480 2 3676 +rs 12684,20250,480 2 161116 -- MSL 61 (19U 92) \ " -rB 7806,18165,4905 0 3677 +rB 7806,18165,4905 0 161117 -- MSL 62 (19U 93) ] " -ha 13173,19758 2 51875 -_ 13173,0,6588 1 3679 -oq 7317,18555 2 51808 +ha 13173,19758 2 161118 -- MSL 63 (19U 94) +_ 13173,0,6588 1 161119 -- MSL 64 (19U 95) +oq 7317,18555 2 161169 -- MSL 66 (19U 145) ` " -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 -`A 20004,24846,150 2 3776 -^A 20004,24600,150 2 3778 -`E 16587,24846,150 2 3784 -^E 16587,24600,150 2 3786 -:E 16587,23751,150 2 3787 -^I 8781,24600,150 2 3790 -:I 8781,23751,150 2 3791 -aa 12684,20460 2 3764 -ga 12684,20460 2 3680 -a^ 12684,20460 2 3678 +a 11220,11670,390 0 161121 -- MSL 67 (19U 97) +b 14148,20265,390 2 161122 -- MSL 68 (19U 98) +c 11220,11670,390 0 161123 -- MSL 69 (19U 99) +d 13662,20250,390 2 161124 -- MSL 70 (19U 100) +e 11220,11670,390 0 161125 -- MSL 71 (19U 101) +f 8295,20250,150 2 161126 -- MSL 72 (19U 102) +g 12198,11670,6705 1 161127 -- MSL 73 (19U 103) +h 14637,20250,150 2 161128 -- MSL 74 (19U 104) +i 7317,19356,150 2 161129 -- MSL 75 (19U 105) +j 6831,19356,6705 3 161130 -- MSL 76 (19U 106) +k 14637,20250,150 2 161131 -- MSL 77 (19U 107) +l 7317,20262,150 2 161132 -- MSL 78 (19U 108) +m 21954,11670,153 0 161133 -- MSL 79 (19U 109) +n 14637,11673,150 0 161134 -- MSL 80 (19U 110) +o 14148,11670,390 0 161135 -- MSL 81 (19U 111) +p 14148,11679,6855 1 161136 -- MSL 82 (19U 112) +q 13662,11670,6855 1 161137 -- MSL 83 (19U 113) +r 10245,11670,150 0 161138 -- MSL 84 (19U 114) +s 9270,11670,390 0 161139 -- MSL 85 (19U 115) +t 8781,13677,390 0 161140 -- MSL 86 (19U 116) +u 14148,11280,390 0 161141 -- MSL 87 (19U 117) +v 13173,11430,390 0 161142 -- MSL 88 (19U 118) +w 20004,11430,390 0 161143 -- MSL 89 (19U 119) +x 13173,11430,150 0 161144 -- MSL 90 (19U 120) +y 14148,11430,6705 1 161145 -- MSL 91 (19U 121) +z 12198,12063 0 161146 -- MSL 92 (19U 122) +{ 11709,19935,6210 3 161147 -- MSL 93 (19U 123) +lC " +| 13173,19758,6588 3 161148 -- MSL 94 (19U 124) +ba " +} 11709,19935,6210 3 161149 -- MSL 95 (19U 125) +rC " +ti 26346,8952 0 161150 -- MSL 96 (19U 126) +`A 20004,24846,150 2 161216 -- MSL 99 (19U 192) +^A 20004,24600,150 2 161218 -- MSL 100 (19U 194) +`E 16587,24846,150 2 161224 -- MSL 101 (19U 200) +^E 16587,24600,150 2 161226 -- MSL 102 (19U 202) +:E 16587,23751,150 2 161227 -- MSL 103 (19U 203) +^I 8781,24600,150 2 161230 -- MSL 104 (19U 206) +:I 8781,23751,150 2 161231 -- MSL 105 (19U 207) +aa 12684,20460 2 161204 -- MSL 106 (19U 180) +ga 12684,20460 2 161120 -- MSL 107 (19U 96) +a^ 12684,20460 2 161160 -- MSL 108 (19U 136) ^ " -ad 12684,17244 0 3752 -a~ 12684,18180 0 3710 -~ " -`U 21468,24846,390 2 3801 -^U 21468,24600,390 2 3803 -'Y 19029,24846,150 2 3805 -'y 14148,20460,6705 3 3837 -de 12684,17805 0 3760 -,C 19515,18555,5964 2 3783 -,c 11220,11670,5553 0 3815 -~N 22443,24498,774 2 3793 -~n 14637,18180,150 0 3825 -r! 6831,12096,7131 1 3745 -r? 9759,12096,7131 1 3775 -Cs 12684,15684 0 3748 -Po 12684,17805,5424 0 3747 -Ye 12684,18315,150 2 3749 -sc 12684,18555,5250 2 3751 -Fn 12684,20250,6705 3 51871 -ct 12684,17556,126 0 3746 -^a 11220,20460,390 2 3810 -^e 11220,20460,390 2 3818 -^o 14148,20460,390 2 3828 -^u 14148,20460,390 2 3835 -'a 11220,20460,390 2 3809 -'e 11220,20460,390 2 3817 -'o 14148,20460,390 2 3827 -'u 14148,20460,390 2 3834 -`a 11220,20460,390 2 3808 -`e 11220,20460,390 2 3816 -`o 14148,20460,390 2 3826 -`u 14148,20460,390 2 3833 -:a 11220,17244,390 0 3812 -:e 11220,17244,390 0 3819 -:o 14148,17244,390 0 3830 -:u 14148,17244,390 0 3836 -oA 20004,24768,150 2 3781 -^i 7317,20460,150 2 3822 -/O 22443,18948,501 2 3800 -AE 28299,18315,150 2 3782 -oa 11220,19248,390 2 3813 -'i 7317,20460,150 2 3821 -/o 14148,11832,489 0 3832 -ae 17076,11670,390 0 3814 -:A 20004,23751,150 2 3780 -`i 7317,20460,150 2 3820 -:O 22443,23751,390 2 3798 -:U 21468,23751,390 2 3804 -'E 16587,24846,150 2 3785 -:i 7317,17244,150 0 3823 -ss 14637,20250,390 2 3807 -^O 22443,24600,390 2 3796 -'A 20004,24846,150 2 3777 -~A 20004,24498,150 2 3779 -~a 11220,18180,390 0 3811 --D 20979,18555,150 2 3792 -Sd 14148,20250,390 2 3824 -'I 8781,24846,150 2 3789 -`I 8781,24846,150 2 3788 -'O 22443,24846,390 2 3795 -`O 22443,24846,390 2 3794 -~O 22443,24498,390 2 3797 -~o 14148,18180,390 0 3829 -vS 12684,24612,390 2 51795 -vs 9270,20499,390 2 51827 -'U 21468,24846,390 2 3802 -:Y 19029,23751,150 2 51801 -:y 14148,17244,6705 1 3839 -TP 15612,18315,150 2 3806 -Tp 14148,20250,6855 3 3838 -mc 14637,10800,5595 0 3765 -ps 12684,19635,4200 2 3766 -34 21468,17805,288 0 3774 -\- 21468,7305 0 51757 -14 21468,17805,288 0 3772 -12 21468,17805,288 0 3773 -Of 12684,17805 0 3754 -Om 12684,17805 0 3770 -Fo 11220,9945 0 3755 -Fc 11220,9945 0 3771 -t+- 21468,13191,3105 0 3761 -bb 13173,19083,5916 2 3750 -co 13173,19725 2 3753 -tno 21468,10029 0 3756 -rg 13173,19725 2 3758 -S2 8781,17805 0 3762 -S3 8781,17805 0 3763 -ac 12684,255,5553 0 3768 -S1 8781,17805 0 3769 -tmu 21468,12969,189 0 3799 -tdi 21468,12966,36 0 3831 -pc 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 -a- 12684,17367 0 3759 -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 +ad 12684,17244 0 161192 -- MSL 109 (19U 168) +~ 12684,18180 0 161176 -- MSL 110 (19U 152) +a~ " +`U 21468,24846,390 2 161241 -- MSL 111 (19U 217) +^U 21468,24600,390 2 161243 -- MSL 112 (19U 219) +u00AF 13173,21105 2 161199 -- MSL 113 (19U 175) +'Y 19029,24846,150 2 161245 -- MSL 114 (19U 221) +'y 14148,20460,6705 3 161277 -- MSL 115 (19U 253) +de 12684,17805 0 161200 -- MSL 116 (19U 176) +,C 19515,18555,5964 2 161223 -- MSL 117 (19U 199) +,c 11220,11670,5553 0 161255 -- MSL 118 (19U 231) +~N 22443,24498,774 2 161233 -- MSL 119 (19U 209) +~n 14637,18180,150 0 161265 -- MSL 120 (19U 241) +r! 6831,12096,7131 1 161185 -- MSL 121 (19U 161) +r? 9759,12096,7131 1 161215 -- MSL 122 (19U 191) +Cs 12684,15684 0 161188 -- MSL 123 (19U 164) +Po 12684,17805,5424 0 161187 -- MSL 124 (19U 163) +Ye 12684,18315,150 2 161189 -- MSL 125 (19U 165) +sc 12684,18555,5250 2 161191 -- MSL 126 (19U 167) +Fn 12684,20250,6705 3 161155 -- MSL 127 (19U 131) +ct 12684,17556,126 0 161186 -- MSL 128 (19U 162) +^a 11220,20460,390 2 161250 -- MSL 129 (19U 226) +^e 11220,20460,390 2 161258 -- MSL 130 (19U 234) +^o 14148,20460,390 2 161268 -- MSL 131 (19U 244) +^u 14148,20460,390 2 161275 -- MSL 132 (19U 251) +'a 11220,20460,390 2 161249 -- MSL 133 (19U 225) +'e 11220,20460,390 2 161257 -- MSL 134 (19U 233) +'o 14148,20460,390 2 161267 -- MSL 135 (19U 243) +'u 14148,20460,390 2 161274 -- MSL 136 (19U 250) +`a 11220,20460,390 2 161248 -- MSL 137 (19U 224) +`e 11220,20460,390 2 161256 -- MSL 138 (19U 232) +`o 14148,20460,390 2 161266 -- MSL 139 (19U 242) +`u 14148,20460,390 2 161273 -- MSL 140 (19U 249) +:a 11220,17244,390 0 161252 -- MSL 141 (19U 228) +:e 11220,17244,390 0 161259 -- MSL 142 (19U 235) +:o 14148,17244,390 0 161270 -- MSL 143 (19U 246) +:u 14148,17244,390 0 161276 -- MSL 144 (19U 252) +oA 20004,24768,150 2 161221 -- MSL 145 (19U 197) +^i 7317,20460,150 2 161262 -- MSL 146 (19U 238) +/O 22443,18948,501 2 161240 -- MSL 147 (19U 216) +AE 28299,18315,150 2 161222 -- MSL 148 (19U 198) +oa 11220,19248,390 2 161253 -- MSL 149 (19U 229) +'i 7317,20460,150 2 161261 -- MSL 150 (19U 237) +/o 14148,11832,489 0 161272 -- MSL 151 (19U 248) +ae 17076,11670,390 0 161254 -- MSL 152 (19U 230) +:A 20004,23751,150 2 161220 -- MSL 153 (19U 196) +`i 7317,20460,150 2 161260 -- MSL 154 (19U 236) +:O 22443,23751,390 2 161238 -- MSL 155 (19U 214) +:U 21468,23751,390 2 161244 -- MSL 156 (19U 220) +'E 16587,24846,150 2 161225 -- MSL 157 (19U 201) +:i 7317,17244,150 0 161263 -- MSL 158 (19U 239) +ss 14637,20250,390 2 161247 -- MSL 159 (19U 223) +^O 22443,24600,390 2 161236 -- MSL 160 (19U 212) +'A 20004,24846,150 2 161217 -- MSL 161 (19U 193) +~A 20004,24498,150 2 161219 -- MSL 162 (19U 195) +~a 11220,18180,390 0 161251 -- MSL 163 (19U 227) +-D 20979,18555,150 2 161232 -- MSL 164 (19U 208) +Sd 14148,20250,390 2 161264 -- MSL 165 (19U 240) +'I 8781,24846,150 2 161229 -- MSL 166 (19U 205) +`I 8781,24846,150 2 161228 -- MSL 167 (19U 204) +'O 22443,24846,390 2 161235 -- MSL 168 (19U 211) +`O 22443,24846,390 2 161234 -- MSL 169 (19U 210) +~O 22443,24498,390 2 161237 -- MSL 170 (19U 213) +~o 14148,18180,390 0 161269 -- MSL 171 (19U 245) +vS 12684,24612,390 2 161162 -- MSL 172 (19U 138) +vs 9270,20499,390 2 161178 -- MSL 173 (19U 154) +'U 21468,24846,390 2 161242 -- MSL 174 (19U 218) +:Y 19029,23751,150 2 161183 -- MSL 175 (19U 159) +:y 14148,17244,6705 1 161279 -- MSL 176 (19U 255) +TP 15612,18315,150 2 161246 -- MSL 177 (19U 222) +Tp 14148,20250,6855 3 161278 -- MSL 178 (19U 254) +mc 14637,10800,5595 0 161205 -- MSL 180 (19U 181) +ps 12684,19635,4200 2 161206 -- MSL 181 (19U 182) +34 21468,17805,288 0 161214 -- MSL 182 (19U 190) +\- 21468,7305 0 60096 -- MSL 183 ( 7J 192) +14 21468,17805,288 0 161212 -- MSL 184 (19U 188) +12 21468,17805,288 0 161213 -- MSL 185 (19U 189) +Of 12684,17805 0 161194 -- MSL 186 (19U 170) +Om 12684,17805 0 161210 -- MSL 187 (19U 186) +Fo 11220,9945 0 161195 -- MSL 188 (19U 171) +Fc 11220,9945 0 161211 -- MSL 190 (19U 187) +t+- 21468,13191,3105 0 161201 -- MSL 191 (19U 177) +bb 13173,19083,5916 2 161190 -- MSL 192 (19U 166) +co 13173,19725 2 161193 -- MSL 193 (19U 169) +tno 21468,10029 0 161196 -- MSL 194 (19U 172) +u00AD 6831,6960 0 161197 -- MSL 195 (19U 173) +rg 13173,19725 2 161198 -- MSL 196 (19U 174) +S2 8781,17805 0 161202 -- MSL 197 (19U 178) +S3 8781,17805 0 161203 -- MSL 198 (19U 179) +ac 12684,255,5553 0 161208 -- MSL 199 (19U 184) +S1 8781,17805 0 161209 -- MSL 200 (19U 185) +tmu 21468,12969,189 0 161239 -- MSL 201 (19U 215) +tdi 21468,12966,36 0 161271 -- MSL 202 (19U 247) +u203C 12684,18837,390 2 87315 -- MSL 221 (10U 19) +u20A7 24396,18555,390 2 60121 -- MSL 232 ( 7J 217) +pc 6831,10326 0 161207 -- MSL 302 (19U 183) +u013F 16101,18315,150 2 51943 -- MSL 306 ( 6J 231) +u0140 8778,20262,150 2 51959 -- MSL 307 ( 6J 247) +u2113 12684,18150,297 0 60122 -- MSL 308 ( 7J 218) +u0149 17079,18555,150 2 51951 -- MSL 309 ( 6J 239) +fm 12684,17805 0 60101 -- MSL 310 ( 7J 197) +sd 12684,17805 0 60102 -- MSL 311 ( 7J 198) +dg 12684,18555,5250 2 161158 -- MSL 312 (19U 134) +tm 16101,17550 0 161177 -- MSL 313 (19U 153) +u2017 13173,0,6588 1 60095 -- MSL 314 ( 7J 191) +ah 12684,20499 2 75169 -- MSL 315 ( 9E 161) +ao 12684,19248 2 60152 -- MSL 316 ( 7J 248) +f/ 2928,17805,288 0 60109 -- MSL 324 ( 7J 205) +em 21468,6960 0 161175 -- MSL 325 (19U 151) +en 12684,6960 0 161174 -- MSL 326 (19U 150) +dd 12684,18555,5250 2 161159 -- MSL 327 (19U 135) +.i 7317,11673,150 0 46333 -- MSL 328 ( 5T 253) +aq 7317,18555 2 161063 -- MSL 329 (19U 39) +bu 13173,14226 0 161173 -- MSL 331 (19U 149) +u207F 14637,17808 0 87548 -- MSL 332 (10U 252) +u0111 13662,20250,390 2 75248 -- MSL 342 ( 9E 240) +u0041_0306 20004,24465,150 2 75203 -- MSL 400 ( 9E 195) +u0061_0306 11220,17796,390 0 75235 -- MSL 401 ( 9E 227) +u0041_0328 20004,18555,4461 2 75173 -- MSL 404 ( 9E 165) +u0061_0328 11220,11670,4653 0 75193 -- MSL 405 ( 9E 185) +'C 19515,24846,390 2 75206 -- MSL 406 ( 9E 198) +'c 11220,20460,390 2 75238 -- MSL 407 ( 9E 230) +u0041_030C 19515,24612,390 2 75208 -- MSL 410 ( 9E 200) +u0061_030C 11220,20499,390 2 75240 -- MSL 411 ( 9E 232) +u0044_030C 20979,24612,150 2 75215 -- MSL 414 ( 9E 207) +u0064_030C 17076,20250,390 2 75247 -- MSL 415 ( 9E 239) +u0045_030C 16587,24612,150 2 75212 -- MSL 416 ( 9E 204) +u0065_030C 11220,20499,390 2 75244 -- MSL 417 ( 9E 236) +u0045_0328 16587,18315,4461 2 75210 -- MSL 422 ( 9E 202) +u0065_0328 11220,11670,4653 0 75242 -- MSL 423 ( 9E 234) +u004C_0301 16101,24846,150 2 75205 -- MSL 440 ( 9E 197) +u006C_0301 7317,25626,150 2 75237 -- MSL 441 ( 9E 229) +u004C_030C 16101,18846,150 2 75196 -- MSL 442 ( 9E 188) +u006C_030C 10245,20262,150 2 75198 -- MSL 443 ( 9E 190) +u004E_0301 22443,24846,774 2 75217 -- MSL 446 ( 9E 209) +u006E_0301 14637,20460,150 2 75249 -- MSL 447 ( 9E 241) +u004E_030C 22443,24612,774 2 75218 -- MSL 448 ( 9E 210) +u006E_030C 14637,20499,150 2 75250 -- MSL 449 ( 9E 242) +u004F_030B 22443,24846,390 2 75221 -- MSL 452 ( 9E 213) +u006F_030B 14148,20460,390 2 75253 -- MSL 453 ( 9E 245) +u0052_0301 18540,24846,150 2 75200 -- MSL 456 ( 9E 192) +u0072_0301 10245,20460,150 2 75232 -- MSL 457 ( 9E 224) +u0052_030C 18540,24612,150 2 75224 -- MSL 458 ( 9E 216) +u0072_030C 10245,20499,150 2 75256 -- MSL 459 ( 9E 248) +u0053_0301 12684,24846,390 2 75148 -- MSL 462 ( 9E 140) +u0073_0301 9270,20460,390 2 75164 -- MSL 463 ( 9E 156) +u0054_030C 18051,24612,150 2 75149 -- MSL 466 ( 9E 141) +u0074_030C 9759,20250,390 2 75165 -- MSL 467 ( 9E 157) +u0054_0327 18051,19299,5964 2 75230 -- MSL 468 ( 9E 222) +u0074_0327 8781,13677,5553 0 75262 -- MSL 469 ( 9E 254) +u0055_030B 21468,24846,390 2 75227 -- MSL 474 ( 9E 219) +u0075_030B 14148,20460,390 2 75259 -- MSL 475 ( 9E 251) +u0055_030A 21468,24768,390 2 75225 -- MSL 476 ( 9E 217) +u0075_030A 14148,19248,390 2 75257 -- MSL 477 ( 9E 249) +u005A_0301 17565,24846 2 75151 -- MSL 482 ( 9E 143) +u007A_0301 12198,20460 2 75167 -- MSL 483 ( 9E 159) +u005A_0307 17565,23751 2 75183 -- MSL 484 ( 9E 175) +u007A_0307 12198,17244 0 75199 -- MSL 485 ( 9E 191) +u2070 8781,17805 0 51753 -- MSL 1000 ( 6J 41) +u2074 8781,17805 0 51748 -- MSL 1001 ( 6J 36) +u2075 8781,17625 0 51749 -- MSL 1002 ( 6J 37) +u2076 8781,17805 0 51806 -- MSL 1003 ( 6J 94) +u2077 8781,17625 0 51750 -- MSL 1004 ( 6J 38) +u2078 8781,17805 0 51754 -- MSL 1005 ( 6J 42) +u2079 8781,17805 0 51752 -- MSL 1006 ( 6J 40) +lq 11220,18555 2 161171 -- MSL 1017 (19U 147) +rq 11220,18555 2 161172 -- MSL 1018 (19U 148) +Bq 11220,2811,3939 0 161156 -- MSL 1019 (19U 132) +u2003 21468,0 0 51821 -- MSL 1020 ( 6J 109) +u2002 12684,0 0 51822 -- MSL 1021 ( 6J 110) +u2009 6831,0 0 51828 -- MSL 1023 ( 6J 116) +u2026 21468,2685,390 0 161157 -- MSL 1028 (19U 133) +vz 12198,20499 2 75166 -- MSL 1031 ( 9E 158) +u2120 16101,17703 0 128299 -- MSL 1034 (15U 43) +u211E 20004,18315,4056 2 51794 -- MSL 1036 ( 6J 82) +fi 14637,20250,150 2 60077 -- MSL 1040 ( 7J 173) +fl 14637,20250,150 2 60078 -- MSL 1041 ( 7J 174) +ff 15612,20250,150 2 51883 -- MSL 1042 ( 6J 171) +Fi 21954,20250,150 2 51884 -- MSL 1043 ( 6J 172) +Fl 21954,20250,150 2 51885 -- MSL 1044 ( 6J 173) +ij 14148,19356,6705 3 60134 -- MSL 1047 ( 7J 230) +u2105 23415,19962,474 2 60072 -- MSL 1060 ( 7J 168) +u0047_0306 20979,24465,390 2 46288 -- MSL 1061 ( 5T 208) +u0067_0306 12198,17796,6705 1 46320 -- MSL 1062 ( 5T 240) +u0053_0327 12684,18555,5964 2 75178 -- MSL 1063 ( 9E 170) +u0073_0327 9270,11670,5553 0 75194 -- MSL 1064 ( 9E 186) +u0049_0307 8781,23751,150 2 46301 -- MSL 1065 ( 5T 221) +bq 7317,2811,3939 0 161154 -- MSL 1067 (19U 130) +%0 30738,17805,180 0 161161 -- MSL 1068 (19U 137) +a- 12684,17367 0 60154 -- MSL 1084 ( 7J 250) +ab 12684,17796 0 75170 -- MSL 1086 ( 9E 162) +a. 12684,17244 0 75263 -- MSL 1088 ( 9E 255) +oe 20004,11670,390 0 161180 -- MSL 1090 (19U 156) +OE 27321,18555,390 2 161164 -- MSL 1091 (19U 140) +fo 7317,9945 0 161163 -- MSL 1092 (19U 139) +fc 7317,9945 0 161179 -- MSL 1093 (19U 155) +sq 19029,15624 0 60091 -- MSL 1094 ( 7J 187) +/L 16101,18315,150 2 75171 -- MSL 1095 ( 9E 163) +/l 7317,20262,150 2 75187 -- MSL 1096 ( 9E 179) +a" 12684,20460 2 75197 -- MSL 1097 ( 9E 189) +ho 12684,600,4653 0 75186 -- MSL 1098 ( 9E 178) +vZ 17565,24612 2 75150 -- MSL 1106 ( 9E 142) +IJ 18540,18315,6060 2 60135 -- MSL 1107 ( 7J 231) diff -ruN groff-1.19/font/devlj4/LGB groff-1.19.1/font/devlj4/LGB --- groff-1.19/font/devlj4/LGB Tue Feb 25 06:38:56 2003 +++ groff-1.19.1/font/devlj4/LGB Wed Feb 18 10:01:17 2004 @@ -1,3 +1,4 @@ +# LetterGothic Bd name LGB spacewidth 13227 pcltypeface 4102 @@ -5,255 +6,325 @@ pclweight 3 pclstyle 0 charset -! 13227,18990,330 2 3617 -dq 13227,18990 2 3618 +! 13227,18990,330 2 161057 -- MSL 1 (19U 33) +dq 13227,18990 2 161058 -- MSL 2 (19U 34) " " -sh 13227,21345,2391 2 3619 +sh 13227,21345,2391 2 161059 -- MSL 3 (19U 35) # " -Do 13227,19320,993 2 3620 +Do 13227,19320,993 2 161060 -- MSL 4 (19U 36) $ " -% 13227,19320,330 2 3621 -& 13227,19320,330 2 3622 -cq 13227,19320 2 51751 +% 13227,19320,330 2 161061 -- MSL 5 (19U 37) +& 13227,19320,330 2 161062 -- MSL 6 (19U 38) +cq 13227,19320 2 161170 -- MSL 8 (19U 146) ' " -( 13227,19320,2325 2 3624 -) 13227,19320,2325 2 3625 -* 13227,18990 2 3626 -+ 13227,15645 0 3627 -, 13227,2925,2640 0 3628 -hy 13227,8775 0 3629 +( 13227,19320,2325 2 161064 -- MSL 9 (19U 40) +) 13227,19320,2325 2 161065 -- MSL 10 (19U 41) +* 13227,18990 2 161066 -- MSL 11 (19U 42) ++ 13227,15645 0 161067 -- MSL 12 (19U 43) +, 13227,2925,2640 0 161068 -- MSL 13 (19U 44) +hy 13227,8775 0 161069 -- MSL 14 (19U 45) - " -. 13227,3180,330 0 3630 -sl 13227,19545,330 2 3631 +. 13227,3180,330 0 161070 -- MSL 15 (19U 46) +sl 13227,19545,330 2 161071 -- MSL 16 (19U 47) / " -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 +0 13227,19320,330 2 161072 -- MSL 17 (19U 48) +1 13227,19320 2 161073 -- MSL 18 (19U 49) +2 13227,19320 2 161074 -- MSL 19 (19U 50) +3 13227,19320,330 2 161075 -- MSL 20 (19U 51) +4 13227,19320 2 161076 -- MSL 21 (19U 52) +5 13227,18990,330 2 161077 -- MSL 22 (19U 53) +6 13227,19320,330 2 161078 -- MSL 23 (19U 54) +7 13227,18990 2 161079 -- MSL 24 (19U 55) +8 13227,19320,330 2 161080 -- MSL 25 (19U 56) +9 13227,19320,330 2 161081 -- MSL 26 (19U 57) +: 13227,12654,330 0 161082 -- MSL 27 (19U 58) +; 13227,12654,2640 0 161083 -- MSL 28 (19U 59) +< 13227,15312 0 161084 -- MSL 29 (19U 60) += 13227,12534 0 161085 -- MSL 30 (19U 61) +> 13227,15312 0 161086 -- MSL 31 (19U 62) +? 13227,19320,330 2 161087 -- MSL 32 (19U 63) +at 13227,19320,330 2 161088 -- MSL 33 (19U 64) @ " -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 +A 13227,18990 2 161089 -- MSL 34 (19U 65) +B 13227,18990 2 161090 -- MSL 35 (19U 66) +C 13227,19320,330 2 161091 -- MSL 36 (19U 67) +D 13227,18990 2 161092 -- MSL 37 (19U 68) +E 13227,18990 2 161093 -- MSL 38 (19U 69) +F 13227,18990 2 161094 -- MSL 39 (19U 70) +G 13227,19320,330 2 161095 -- MSL 40 (19U 71) +H 13227,18990 2 161096 -- MSL 41 (19U 72) +I 13227,18990 2 161097 -- MSL 42 (19U 73) +J 13227,18990,330 2 161098 -- MSL 43 (19U 74) +K 13227,18990 2 161099 -- MSL 44 (19U 75) +L 13227,18990 2 161100 -- MSL 45 (19U 76) +M 13227,18990 2 161101 -- MSL 46 (19U 77) +N 13227,18990 2 161102 -- MSL 47 (19U 78) +O 13227,19320,330 2 161103 -- MSL 48 (19U 79) +P 13227,18990 2 161104 -- MSL 49 (19U 80) +Q 13227,19320,2760 2 161105 -- MSL 50 (19U 81) +R 13227,18990 2 161106 -- MSL 51 (19U 82) +S 13227,19320,330 2 161107 -- MSL 52 (19U 83) +T 13227,18990 2 161108 -- MSL 53 (19U 84) +U 13227,18990,330 2 161109 -- MSL 54 (19U 85) +V 13227,18990 2 161110 -- MSL 55 (19U 86) +W 13227,18990 2 161111 -- MSL 56 (19U 87) +X 13227,18990 2 161112 -- MSL 57 (19U 88) +Y 13227,18990 2 161113 -- MSL 58 (19U 89) +Z 13227,18990 2 161114 -- MSL 59 (19U 90) +lB 13227,18990,3510 2 161115 -- MSL 60 (19U 91) [ " -rs 13227,19545,330 2 3676 +rs 13227,19545,330 2 161116 -- MSL 61 (19U 92) \ " -rB 13227,18990,3510 2 3677 +rB 13227,18990,3510 2 161117 -- MSL 62 (19U 93) ] " -ha 13227,19758 2 51875 -_ 13227,0,6588 1 3679 -oq 13227,19320 2 51808 +ha 13227,19758 2 161118 -- MSL 63 (19U 94) +_ 13227,0,6588 1 161119 -- MSL 64 (19U 95) +oq 13227,19320 2 161169 -- MSL 66 (19U 145) ` " -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 -`A 13227,25155 2 3776 -^A 13227,25080 2 3778 -`E 13227,25155 2 3784 -^E 13227,25080 2 3786 -:E 13227,24000 2 3787 -^I 13227,25080 2 3790 -:I 13227,24000 2 3791 -aa 13227,20745 2 3764 -ga 13227,20745 2 3680 -a^ 13227,21015 2 3678 +a 13227,14355,330 0 161121 -- MSL 67 (19U 97) +b 13227,19545,330 2 161122 -- MSL 68 (19U 98) +c 13227,14355,330 0 161123 -- MSL 69 (19U 99) +d 13227,19545,330 2 161124 -- MSL 70 (19U 100) +e 13227,14355,330 0 161125 -- MSL 71 (19U 101) +f 13227,19335 2 161126 -- MSL 72 (19U 102) +g 13227,14355,4350 0 161127 -- MSL 73 (19U 103) +h 13227,19545 2 161128 -- MSL 74 (19U 104) +i 13227,19095 2 161129 -- MSL 75 (19U 105) +j 13227,19095,4350 2 161130 -- MSL 76 (19U 106) +k 13227,19545 2 161131 -- MSL 77 (19U 107) +l 13227,19545 2 161132 -- MSL 78 (19U 108) +m 13227,14355 0 161133 -- MSL 79 (19U 109) +n 13227,14355 0 161134 -- MSL 80 (19U 110) +o 13227,14355,330 0 161135 -- MSL 81 (19U 111) +p 13227,14355,5475 1 161136 -- MSL 82 (19U 112) +q 13227,14355,5475 1 161137 -- MSL 83 (19U 113) +r 13227,14355 0 161138 -- MSL 84 (19U 114) +s 13227,14355,330 0 161139 -- MSL 85 (19U 115) +t 13227,18300,330 2 161140 -- MSL 86 (19U 116) +u 13227,14025,330 0 161141 -- MSL 87 (19U 117) +v 13227,14025 0 161142 -- MSL 88 (19U 118) +w 13227,14025 0 161143 -- MSL 89 (19U 119) +x 13227,14025 0 161144 -- MSL 90 (19U 120) +y 13227,14025,4350 0 161145 -- MSL 91 (19U 121) +z 13227,14025 0 161146 -- MSL 92 (19U 122) +{ 13227,20130,6141 3 161147 -- MSL 93 (19U 123) +lC " +| 13227,19758,6588 3 161148 -- MSL 94 (19U 124) +ba " +} 13227,20130,6141 3 161149 -- MSL 95 (19U 125) +rC " +ti 13227,11181 0 161150 -- MSL 96 (19U 126) +`A 13227,25155 2 161216 -- MSL 99 (19U 192) +^A 13227,25080 2 161218 -- MSL 100 (19U 194) +`E 13227,25155 2 161224 -- MSL 101 (19U 200) +^E 13227,25080 2 161226 -- MSL 102 (19U 202) +:E 13227,24000 2 161227 -- MSL 103 (19U 203) +^I 13227,25080 2 161230 -- MSL 104 (19U 206) +:I 13227,24000 2 161231 -- MSL 105 (19U 207) +aa 13227,20745 2 161204 -- MSL 106 (19U 180) +ga 13227,20745 2 161120 -- MSL 107 (19U 96) +a^ 13227,21015 2 161160 -- MSL 108 (19U 136) ^ " -ad 13227,19125 2 3752 -a~ 13227,19683 2 3710 -~ " -`U 13227,25155,330 2 3801 -^U 13227,25080,330 2 3803 -'Y 13227,25155 2 3805 -'y 13227,20745,4350 2 3837 -de 13227,19320 2 3760 -,C 13227,19320,5787 3 3783 -,c 13227,14355,6060 1 3815 -~N 13227,24552 2 3793 -~n 13227,19683 2 3825 -r! 13227,14319,5001 1 3745 -r? 13227,14265,5385 1 3775 -Cs 13227,15885 0 3748 -Po 13227,18990,330 2 3747 -Ye 13227,18990 2 3749 -sc 13227,19320,1218 2 3751 -Fn 13227,19335,3558 2 51871 -ct 13227,19320,330 2 3746 -^a 13227,21015,330 2 3810 -^e 13227,21015,330 2 3818 -^o 13227,21015,330 2 3828 -^u 13227,21015,330 2 3835 -'a 13227,20745,330 2 3809 -'e 13227,20745,330 2 3817 -'o 13227,20745,330 2 3827 -'u 13227,20745,330 2 3834 -`a 13227,20745,330 2 3808 -`e 13227,20745,330 2 3816 -`o 13227,20745,330 2 3826 -`u 13227,20745,330 2 3833 -:a 13227,19125,330 2 3812 -:e 13227,19125,330 2 3819 -:o 13227,19125,330 2 3830 -:u 13227,19125,330 2 3836 -oA 13227,24882 2 3781 -^i 13227,21015 2 3822 -/O 13227,19320,459 2 3800 -AE 13227,18990 2 3782 -oa 13227,20790,330 2 3813 -'i 13227,20745 2 3821 -/o 13227,14901,957 0 3832 -ae 13227,14355,330 0 3814 -:A 13227,24000 2 3780 -`i 13227,20745 2 3820 -:O 13227,24000,330 2 3798 -:U 13227,24000,330 2 3804 -'E 13227,25155 2 3785 -:i 13227,19125 2 3823 -ss 13227,19335,330 2 3807 -^O 13227,25080,330 2 3796 -'A 13227,25155 2 3777 -~A 13227,24552 2 3779 -~a 13227,19683,330 2 3811 --D 13227,18990 2 3792 -Sd 13227,19656,330 2 3824 -'I 13227,25155 2 3789 -`I 13227,25155 2 3788 -'O 13227,25155,330 2 3795 -`O 13227,25155,330 2 3794 -~O 13227,24552,330 2 3797 -~o 13227,19683,330 2 3829 -vS 13227,25116,330 2 51795 -vs 13227,21015,330 2 51827 -'U 13227,25155,330 2 3802 -:Y 13227,24000 2 51801 -:y 13227,19125,4350 2 3839 -TP 13227,18990 2 3806 -Tp 13227,19545,5475 3 3838 -mc 13227,14025,4350 0 3765 -ps 13227,19635,4200 2 3766 -34 13227,19110,3825 2 3774 -\- 13227,10425 0 51757 -14 13227,19110,3825 2 3772 -12 13227,19110,3825 2 3773 -Of 13227,19320 2 3754 -Om 13227,19320 2 3770 -Fo 13227,14115 0 3755 -Fc 13227,14115 0 3771 -t+- 13227,15645,30 0 3761 -bb 13227,19083,5916 3 3750 -co 13227,19635 2 3753 -tno 13227,13020 0 3756 -rg 13227,19635 2 3758 -S2 13227,19110 2 3762 -S3 13227,19110 2 3763 -ac 13227,0,6060 1 3768 -S1 13227,19110 2 3769 -tmu 13227,15549 0 3799 -tdi 13227,15510 0 3831 -pc 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 -a- 13227,19119 2 3759 -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 +ad 13227,19125 2 161192 -- MSL 109 (19U 168) +~ 13227,19683 2 161176 -- MSL 110 (19U 152) +a~ " +`U 13227,25155,330 2 161241 -- MSL 111 (19U 217) +^U 13227,25080,330 2 161243 -- MSL 112 (19U 219) +u00AF 13227,21105 2 161199 -- MSL 113 (19U 175) +'Y 13227,25155 2 161245 -- MSL 114 (19U 221) +'y 13227,20745,4350 2 161277 -- MSL 115 (19U 253) +de 13227,19320 2 161200 -- MSL 116 (19U 176) +,C 13227,19320,5787 3 161223 -- MSL 117 (19U 199) +,c 13227,14355,6060 1 161255 -- MSL 118 (19U 231) +~N 13227,24552 2 161233 -- MSL 119 (19U 209) +~n 13227,19683 2 161265 -- MSL 120 (19U 241) +r! 13227,14319,5001 1 161185 -- MSL 121 (19U 161) +r? 13227,14265,5385 1 161215 -- MSL 122 (19U 191) +Cs 13227,15885 0 161188 -- MSL 123 (19U 164) +Po 13227,18990,330 2 161187 -- MSL 124 (19U 163) +Ye 13227,18990 2 161189 -- MSL 125 (19U 165) +sc 13227,19320,1218 2 161191 -- MSL 126 (19U 167) +Fn 13227,19335,3558 2 161155 -- MSL 127 (19U 131) +ct 13227,19320,330 2 161186 -- MSL 128 (19U 162) +^a 13227,21015,330 2 161250 -- MSL 129 (19U 226) +^e 13227,21015,330 2 161258 -- MSL 130 (19U 234) +^o 13227,21015,330 2 161268 -- MSL 131 (19U 244) +^u 13227,21015,330 2 161275 -- MSL 132 (19U 251) +'a 13227,20745,330 2 161249 -- MSL 133 (19U 225) +'e 13227,20745,330 2 161257 -- MSL 134 (19U 233) +'o 13227,20745,330 2 161267 -- MSL 135 (19U 243) +'u 13227,20745,330 2 161274 -- MSL 136 (19U 250) +`a 13227,20745,330 2 161248 -- MSL 137 (19U 224) +`e 13227,20745,330 2 161256 -- MSL 138 (19U 232) +`o 13227,20745,330 2 161266 -- MSL 139 (19U 242) +`u 13227,20745,330 2 161273 -- MSL 140 (19U 249) +:a 13227,19125,330 2 161252 -- MSL 141 (19U 228) +:e 13227,19125,330 2 161259 -- MSL 142 (19U 235) +:o 13227,19125,330 2 161270 -- MSL 143 (19U 246) +:u 13227,19125,330 2 161276 -- MSL 144 (19U 252) +oA 13227,24882 2 161221 -- MSL 145 (19U 197) +^i 13227,21015 2 161262 -- MSL 146 (19U 238) +/O 13227,19320,459 2 161240 -- MSL 147 (19U 216) +AE 13227,18990 2 161222 -- MSL 148 (19U 198) +oa 13227,20790,330 2 161253 -- MSL 149 (19U 229) +'i 13227,20745 2 161261 -- MSL 150 (19U 237) +/o 13227,14901,957 0 161272 -- MSL 151 (19U 248) +ae 13227,14355,330 0 161254 -- MSL 152 (19U 230) +:A 13227,24000 2 161220 -- MSL 153 (19U 196) +`i 13227,20745 2 161260 -- MSL 154 (19U 236) +:O 13227,24000,330 2 161238 -- MSL 155 (19U 214) +:U 13227,24000,330 2 161244 -- MSL 156 (19U 220) +'E 13227,25155 2 161225 -- MSL 157 (19U 201) +:i 13227,19125 2 161263 -- MSL 158 (19U 239) +ss 13227,19335,330 2 161247 -- MSL 159 (19U 223) +^O 13227,25080,330 2 161236 -- MSL 160 (19U 212) +'A 13227,25155 2 161217 -- MSL 161 (19U 193) +~A 13227,24552 2 161219 -- MSL 162 (19U 195) +~a 13227,19683,330 2 161251 -- MSL 163 (19U 227) +-D 13227,18990 2 161232 -- MSL 164 (19U 208) +Sd 13227,19656,330 2 161264 -- MSL 165 (19U 240) +'I 13227,25155 2 161229 -- MSL 166 (19U 205) +`I 13227,25155 2 161228 -- MSL 167 (19U 204) +'O 13227,25155,330 2 161235 -- MSL 168 (19U 211) +`O 13227,25155,330 2 161234 -- MSL 169 (19U 210) +~O 13227,24552,330 2 161237 -- MSL 170 (19U 213) +~o 13227,19683,330 2 161269 -- MSL 171 (19U 245) +vS 13227,25116,330 2 161162 -- MSL 172 (19U 138) +vs 13227,21015,330 2 161178 -- MSL 173 (19U 154) +'U 13227,25155,330 2 161242 -- MSL 174 (19U 218) +:Y 13227,24000 2 161183 -- MSL 175 (19U 159) +:y 13227,19125,4350 2 161279 -- MSL 176 (19U 255) +TP 13227,18990 2 161246 -- MSL 177 (19U 222) +Tp 13227,19545,5475 3 161278 -- MSL 178 (19U 254) +mc 13227,14025,4350 0 161205 -- MSL 180 (19U 181) +ps 13227,19635,4200 2 161206 -- MSL 181 (19U 182) +34 13227,19110,3825 2 161214 -- MSL 182 (19U 190) +\- 13227,10425 0 60096 -- MSL 183 ( 7J 192) +14 13227,19110,3825 2 161212 -- MSL 184 (19U 188) +12 13227,19110,3825 2 161213 -- MSL 185 (19U 189) +Of 13227,19320 2 161194 -- MSL 186 (19U 170) +Om 13227,19320 2 161210 -- MSL 187 (19U 186) +Fo 13227,14115 0 161195 -- MSL 188 (19U 171) +Fc 13227,14115 0 161211 -- MSL 190 (19U 187) +t+- 13227,15645,30 0 161201 -- MSL 191 (19U 177) +bb 13227,19083,5916 3 161190 -- MSL 192 (19U 166) +co 13227,19635 2 161193 -- MSL 193 (19U 169) +tno 13227,13020 0 161196 -- MSL 194 (19U 172) +u00AD 13227,8775 0 161197 -- MSL 195 (19U 173) +rg 13227,19635 2 161198 -- MSL 196 (19U 174) +S2 13227,19110 2 161202 -- MSL 197 (19U 178) +S3 13227,19110 2 161203 -- MSL 198 (19U 179) +ac 13227,0,6060 1 161208 -- MSL 199 (19U 184) +S1 13227,19110 2 161209 -- MSL 200 (19U 185) +tmu 13227,15549 0 161239 -- MSL 201 (19U 215) +tdi 13227,15510 0 161271 -- MSL 202 (19U 247) +u203C 13227,18990,330 2 87315 -- MSL 221 (10U 19) +u20A7 13227,18990,330 2 60121 -- MSL 232 ( 7J 217) +pc 13227,11376 0 161207 -- MSL 302 (19U 183) +u013F 13227,18990 2 51943 -- MSL 306 ( 6J 231) +u0140 13227,19545 2 51959 -- MSL 307 ( 6J 247) +u2113 13227,18111,330 2 60122 -- MSL 308 ( 7J 218) +u0149 13227,19320 2 51951 -- MSL 309 ( 6J 239) +fm 13227,18990 2 60101 -- MSL 310 ( 7J 197) +sd 13227,18990 2 60102 -- MSL 311 ( 7J 198) +dg 13227,18990 2 161158 -- MSL 312 (19U 134) +tm 13227,17850 2 161177 -- MSL 313 (19U 153) +u2017 13227,0,6588 1 60095 -- MSL 314 ( 7J 191) +ah 13227,21015 2 75169 -- MSL 315 ( 9E 161) +ao 13227,20790 2 60152 -- MSL 316 ( 7J 248) +f/ 13227,15675 0 60109 -- MSL 324 ( 7J 205) +em 13227,8430 0 161175 -- MSL 325 (19U 151) +en 13227,8430 0 161174 -- MSL 326 (19U 150) +dd 13227,18990 2 161159 -- MSL 327 (19U 135) +.i 13227,14025 0 46333 -- MSL 328 ( 5T 253) +aq 13227,18990 2 161063 -- MSL 329 (19U 39) +bu 13227,12714 0 161173 -- MSL 331 (19U 149) +u207F 13227,19110 2 87548 -- MSL 332 (10U 252) +u0111 13227,19545,330 2 75248 -- MSL 342 ( 9E 240) +u0041_0306 13227,24720 2 75203 -- MSL 400 ( 9E 195) +u0061_0306 13227,19830,330 2 75235 -- MSL 401 ( 9E 227) +u0041_0328 13227,18990,5109 3 75173 -- MSL 404 ( 9E 165) +u0061_0328 13227,14355,5109 1 75193 -- MSL 405 ( 9E 185) +'C 13227,25155,330 2 75206 -- MSL 406 ( 9E 198) +'c 13227,20745,330 2 75238 -- MSL 407 ( 9E 230) +u0041_030C 13227,25116,330 2 75208 -- MSL 410 ( 9E 200) +u0061_030C 13227,21015,330 2 75240 -- MSL 411 ( 9E 232) +u0044_030C 13227,25116 2 75215 -- MSL 414 ( 9E 207) +u0064_030C 13227,19545,330 2 75247 -- MSL 415 ( 9E 239) +u0045_030C 13227,25116 2 75212 -- MSL 416 ( 9E 204) +u0065_030C 13227,21015,330 2 75244 -- MSL 417 ( 9E 236) +u0045_0328 13227,18990,5109 3 75210 -- MSL 422 ( 9E 202) +u0065_0328 13227,14355,5109 1 75242 -- MSL 423 ( 9E 234) +u004C_0301 13227,25155 2 75205 -- MSL 440 ( 9E 197) +u006C_0301 13227,25155 2 75237 -- MSL 441 ( 9E 229) +u004C_030C 13227,19320 2 75196 -- MSL 442 ( 9E 188) +u006C_030C 13227,19545 2 75198 -- MSL 443 ( 9E 190) +u004E_0301 13227,25155 2 75217 -- MSL 446 ( 9E 209) +u006E_0301 13227,20745 2 75249 -- MSL 447 ( 9E 241) +u004E_030C 13227,25116 2 75218 -- MSL 448 ( 9E 210) +u006E_030C 13227,21015 2 75250 -- MSL 449 ( 9E 242) +u004F_030B 13227,25155,330 2 75221 -- MSL 452 ( 9E 213) +u006F_030B 13227,20745,330 2 75253 -- MSL 453 ( 9E 245) +u0052_0301 13227,25155 2 75200 -- MSL 456 ( 9E 192) +u0072_0301 13227,20745 2 75232 -- MSL 457 ( 9E 224) +u0052_030C 13227,25116 2 75224 -- MSL 458 ( 9E 216) +u0072_030C 13227,21015 2 75256 -- MSL 459 ( 9E 248) +u0053_0301 13227,25155,330 2 75148 -- MSL 462 ( 9E 140) +u0073_0301 13227,20745,330 2 75164 -- MSL 463 ( 9E 156) +u0054_030C 13227,25116 2 75149 -- MSL 466 ( 9E 141) +u0074_030C 13227,19320,330 2 75165 -- MSL 467 ( 9E 157) +u0054_0327 13227,18990,5787 3 75230 -- MSL 468 ( 9E 222) +u0074_0327 13227,18300,6060 3 75262 -- MSL 469 ( 9E 254) +u0055_030B 13227,25155,330 2 75227 -- MSL 474 ( 9E 219) +u0075_030B 13227,20745,330 2 75259 -- MSL 475 ( 9E 251) +u0055_030A 13227,24882,330 2 75225 -- MSL 476 ( 9E 217) +u0075_030A 13227,20790,330 2 75257 -- MSL 477 ( 9E 249) +u005A_0301 13227,25155 2 75151 -- MSL 482 ( 9E 143) +u007A_0301 13227,20745 2 75167 -- MSL 483 ( 9E 159) +u005A_0307 13227,24000 2 75183 -- MSL 484 ( 9E 175) +u007A_0307 13227,19125 2 75199 -- MSL 485 ( 9E 191) +u2070 13227,19110 2 51753 -- MSL 1000 ( 6J 41) +u2074 13227,19110 2 51748 -- MSL 1001 ( 6J 36) +u2075 13227,18990 2 51749 -- MSL 1002 ( 6J 37) +u2076 13227,19110 2 51806 -- MSL 1003 ( 6J 94) +u2077 13227,18990 2 51750 -- MSL 1004 ( 6J 38) +u2078 13227,19110 2 51754 -- MSL 1005 ( 6J 42) +u2079 13227,19110 2 51752 -- MSL 1006 ( 6J 40) +lq 13227,19320 2 161171 -- MSL 1017 (19U 147) +rq 13227,19320 2 161172 -- MSL 1018 (19U 148) +Bq 13227,3486,2079 0 161156 -- MSL 1019 (19U 132) +u2003 13227,0 0 51821 -- MSL 1020 ( 6J 109) +u2002 13227,0 0 51822 -- MSL 1021 ( 6J 110) +u2009 13227,0 0 51828 -- MSL 1023 ( 6J 116) +u2026 13227,2985 0 161157 -- MSL 1028 (19U 133) +vz 13227,21015 2 75166 -- MSL 1031 ( 9E 158) +u2120 13227,18000 2 128299 -- MSL 1034 (15U 43) +u211E 13227,18990,3225 2 51794 -- MSL 1036 ( 6J 82) +fi 13227,19335 2 60077 -- MSL 1040 ( 7J 173) +fl 13227,19335 2 60078 -- MSL 1041 ( 7J 174) +ff 13227,19335 2 51883 -- MSL 1042 ( 6J 171) +Fi 13227,19335 2 51884 -- MSL 1043 ( 6J 172) +Fl 13227,19335 2 51885 -- MSL 1044 ( 6J 173) +ij 13227,19095,4350 2 60134 -- MSL 1047 ( 7J 230) +u2105 13227,19545,330 2 60072 -- MSL 1060 ( 7J 168) +u0047_0306 13227,24720,330 2 46288 -- MSL 1061 ( 5T 208) +u0067_0306 13227,19830,4350 2 46320 -- MSL 1062 ( 5T 240) +u0053_0327 13227,19320,5787 3 75178 -- MSL 1063 ( 9E 170) +u0073_0327 13227,14355,6060 1 75194 -- MSL 1064 ( 9E 186) +u0049_0307 13227,24000 2 46301 -- MSL 1065 ( 5T 221) +bq 13227,3486,2079 0 161154 -- MSL 1067 (19U 130) +%0 13227,19320,330 2 161161 -- MSL 1068 (19U 137) +a- 13227,19119 2 60154 -- MSL 1084 ( 7J 250) +ab 13227,19830 2 75170 -- MSL 1086 ( 9E 162) +a. 13227,19125 2 75263 -- MSL 1088 ( 9E 255) +oe 13227,14355,330 0 161180 -- MSL 1090 (19U 156) +OE 13227,19320,330 2 161164 -- MSL 1091 (19U 140) +fo 13227,14115 0 161163 -- MSL 1092 (19U 139) +fc 13227,14115 0 161179 -- MSL 1093 (19U 155) +sq 13227,14106 0 60091 -- MSL 1094 ( 7J 187) +/L 13227,18990 2 75171 -- MSL 1095 ( 9E 163) +/l 13227,19545 2 75187 -- MSL 1096 ( 9E 179) +a" 13227,20745 2 75197 -- MSL 1097 ( 9E 189) +ho 13227,1026,5109 1 75186 -- MSL 1098 ( 9E 178) +vZ 13227,25116 2 75150 -- MSL 1106 ( 9E 142) +IJ 13227,18990,330 2 60135 -- MSL 1107 ( 7J 231) diff -ruN groff-1.19/font/devlj4/LGI groff-1.19.1/font/devlj4/LGI --- groff-1.19/font/devlj4/LGI Tue Feb 25 06:38:56 2003 +++ groff-1.19.1/font/devlj4/LGI Wed Feb 18 10:01:17 2004 @@ -1,3 +1,4 @@ +# LetterGothic It name LGI spacewidth 13227 slant 12.000000 @@ -6,255 +7,325 @@ pclweight 0 pclstyle 1 charset -! 13227,18990,330,0,-2748 2 3617 -dq 13227,18990,0,372,-3960,372 2 3618 +! 13227,18990,330,0,-2747 2 161057 -- MSL 1 (19U 33) +dq 13227,18990,0,372,-3959,372 2 161058 -- MSL 2 (19U 34) " " -sh 13227,21309,2451,1827,1062,790 2 3619 +sh 13227,21309,2451,1827,1062,790 2 161059 -- MSL 3 (19U 35) # " -Do 13227,19320,1074,762,288,762 2 3620 +Do 13227,19320,1074,762,288,762 2 161060 -- MSL 4 (19U 36) $ " -% 13227,19320,330,2535,882,790 2 3621 -& 13227,19320,330,54,699,54 2 3622 -cq 13227,19320,0,0,-5469 2 51751 +% 13227,19320,330,2535,882,790 2 161061 -- MSL 5 (19U 37) +& 13227,19320,330,54,699,54 2 161062 -- MSL 6 (19U 38) +cq 13227,19320,0,0,-5468 2 161170 -- MSL 8 (19U 146) ' " -( 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 -hy 13227,7995,0,0,-2511 0 3629 +( 13227,19320,1935,318,-2951,318 2 161064 -- MSL 9 (19U 40) +) 13227,19320,1935,318,-2951,318 2 161065 -- MSL 10 (19U 41) +* 13227,18990,0,1995,-827,790 2 161066 -- MSL 11 (19U 42) ++ 13227,15075,0,960,-92,790 0 161067 -- MSL 12 (19U 43) +, 13227,1785,2250,0,-2768 0 161068 -- MSL 13 (19U 44) +hy 13227,7995,0,0,-2510 0 161069 -- MSL 14 (19U 45) - " -. 13227,2100,330,0,-3873 0 3630 -sl 13227,19545,330,0,-1410 2 3631 +. 13227,2100,330,0,-3872 0 161070 -- MSL 15 (19U 46) +sl 13227,19545,330,0,-1409 2 161071 -- MSL 16 (19U 47) / " -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 +0 13227,19320,330,564,-455,564 2 161072 -- MSL 17 (19U 48) +1 13227,19320,0,0,60 2 161073 -- MSL 18 (19U 49) +2 13227,19320,0,1578,1365,790 2 161074 -- MSL 19 (19U 50) +3 13227,19320,330,420,888,420 2 161075 -- MSL 20 (19U 51) +4 13227,19320,0,585,750,585 2 161076 -- MSL 21 (19U 52) +5 13227,18990,330,1215,153,790 2 161077 -- MSL 22 (19U 53) +6 13227,19320,330,1800,-92,790 2 161078 -- MSL 23 (19U 54) +7 13227,18990,0,2184,-962,790 2 161079 -- MSL 24 (19U 55) +8 13227,19320,330,996,423,790 2 161080 -- MSL 25 (19U 56) +9 13227,19320,330,741,90,741 2 161081 -- MSL 26 (19U 57) +: 13227,12492,330,0,-3038 0 161082 -- MSL 27 (19U 58) +; 13227,12492,2250,0,-2771 0 161083 -- MSL 28 (19U 59) +< 13227,15063,0,390,387,390 0 161084 -- MSL 29 (19U 60) += 13227,11721,0,1065,-287,790 0 161085 -- MSL 30 (19U 61) +> 13227,15063,0,390,387,390 0 161086 -- MSL 31 (19U 62) +? 13227,19320,330,981,-2729,790 2 161087 -- MSL 32 (19U 63) +at 13227,19320,330,993,87,790 2 161088 -- MSL 33 (19U 64) @ " -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 +A 13227,18990,0,0,2541 2 161089 -- MSL 34 (19U 65) +B 13227,18990,0,1095,831,790 2 161090 -- MSL 35 (19U 66) +C 13227,19320,330,1524,-11,790 2 161091 -- MSL 36 (19U 67) +D 13227,18990,0,1089,1263,790 2 161092 -- MSL 37 (19U 68) +E 13227,18990,0,1995,642,790 2 161093 -- MSL 38 (19U 69) +F 13227,18990,0,2535,594,790 2 161094 -- MSL 39 (19U 70) +G 13227,19320,330,1350,519,790 2 161095 -- MSL 40 (19U 71) +H 13227,18990,0,2316,1050,790 2 161096 -- MSL 41 (19U 72) +I 13227,18990,0,558,-662,558 2 161097 -- MSL 42 (19U 73) +J 13227,18990,330,2118,-38,790 2 161098 -- MSL 43 (19U 74) +K 13227,18990,0,1590,765,790 2 161099 -- MSL 44 (19U 75) +L 13227,18990,0,0,153 2 161100 -- MSL 45 (19U 76) +M 13227,18990,0,2853,1941,790 2 161101 -- MSL 46 (19U 77) +N 13227,18990,0,2097,882,790 2 161102 -- MSL 47 (19U 78) +O 13227,19320,330,1485,273,790 2 161103 -- MSL 48 (19U 79) +P 13227,18990,0,1152,771,790 2 161104 -- MSL 49 (19U 80) +Q 13227,19320,2778,1485,273,790 2 161105 -- MSL 50 (19U 81) +R 13227,18990,0,987,981,790 2 161106 -- MSL 51 (19U 82) +S 13227,19320,330,1608,1134,790 2 161107 -- MSL 52 (19U 83) +T 13227,18990,0,3171,-1430,790 2 161108 -- MSL 53 (19U 84) +U 13227,18990,330,2220,108,790 2 161109 -- MSL 54 (19U 85) +V 13227,18990,0,2217,-2732,790 2 161110 -- MSL 55 (19U 86) +W 13227,18990,0,3045,702,790 2 161111 -- MSL 56 (19U 87) +X 13227,18990,0,2355,1296,790 2 161112 -- MSL 57 (19U 88) +Y 13227,18990,0,2553,-2396,790 2 161113 -- MSL 58 (19U 89) +Z 13227,18990,0,1956,1203,790 2 161114 -- MSL 59 (19U 90) +lB 13227,18990,2940,1110,-32,790 2 161115 -- MSL 60 (19U 91) [ " -rs 13227,19545,330,0,-3072 2 3676 +rs 13227,19545,330,0,-3071 2 161116 -- MSL 61 (19U 92) \ " -rB 13227,18990,2940,342,735,342 2 3677 +rB 13227,18990,2940,342,735,342 2 161117 -- MSL 62 (19U 93) ] " -ha 13227,19758,0,9,9,9 2 51875 -_ 13227,0,6588,1317,1317,790 1 3679 -oq 13227,19326,0,0,-6222 2 51808 +ha 13227,19758,0,9,9,9 2 161118 -- MSL 63 (19U 94) +_ 13227,0,6588,1317,1317,790 1 161119 -- MSL 64 (19U 95) +oq 13227,19326,0,0,-6221 2 161169 -- MSL 66 (19U 145) ` " -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 -`A 13227,24630,0,0,2541 2 3776 -^A 13227,24810,0,2133,2541,790 2 3778 -`E 13227,24630,0,1995,642,790 2 3784 -^E 13227,24810,0,2133,642,790 2 3786 -:E 13227,23115,0,1995,642,790 2 3787 -^I 13227,24810,0,2133,-663,790 2 3790 -:I 13227,23115,0,1143,-663,790 2 3791 -aa 13227,19725,0,753,-5706,753 2 3764 -ga 13227,19725,0,0,-4728 2 3680 -a^ 13227,19905,0,1089,-3117,790 2 3678 +a 13227,14355,330,0,105 0 161121 -- MSL 67 (19U 97) +b 13227,19545,330,312,1671,312 2 161122 -- MSL 68 (19U 98) +c 13227,14355,330,810,261,790 0 161123 -- MSL 69 (19U 99) +d 13227,19545,330,2121,363,790 2 161124 -- MSL 70 (19U 100) +e 13227,14355,330,387,303,387 0 161125 -- MSL 71 (19U 101) +f 13227,19335,0,3231,-1784,790 2 161126 -- MSL 72 (19U 102) +g 13227,14355,4350,1545,1053,790 0 161127 -- MSL 73 (19U 103) +h 13227,19545,0,168,723,168 2 161128 -- MSL 74 (19U 104) +i 13227,18780,0,0,-2318 2 161129 -- MSL 75 (19U 105) +j 13227,18780,4350,906,936,790 2 161130 -- MSL 76 (19U 106) +k 13227,19545,0,495,504,495 2 161131 -- MSL 77 (19U 107) +l 13227,19545,0,0,-3602 2 161132 -- MSL 78 (19U 108) +m 13227,14355,0,1770,2205,790 0 161133 -- MSL 79 (19U 109) +n 13227,14355,0,267,774,267 0 161134 -- MSL 80 (19U 110) +o 13227,14355,330,372,252,372 0 161135 -- MSL 81 (19U 111) +p 13227,14355,5475,213,2205,213 1 161136 -- MSL 82 (19U 112) +q 13227,14355,5475,1668,318,790 1 161137 -- MSL 83 (19U 113) +r 13227,14355,0,684,-80,684 0 161138 -- MSL 84 (19U 114) +s 13227,14355,330,57,480,57 0 161139 -- MSL 85 (19U 115) +t 13227,18495,330,0,-932 2 161140 -- MSL 86 (19U 116) +u 13227,14025,330,714,249,714 0 161141 -- MSL 87 (19U 117) +v 13227,14025,0,1437,-1766,790 0 161142 -- MSL 88 (19U 118) +w 13227,14025,0,2574,279,790 0 161143 -- MSL 89 (19U 119) +x 13227,14025,0,1050,2112,790 0 161144 -- MSL 90 (19U 120) +y 13227,14025,4350,1986,3579,790 0 161145 -- MSL 91 (19U 121) +z 13227,14025,0,984,1395,790 0 161146 -- MSL 92 (19U 122) +{ 13227,20130,6075,1170,-2528,790 3 161147 -- MSL 93 (19U 123) +lC " +| 13227,19758,6588,0,-4622 3 161148 -- MSL 94 (19U 124) +ba " +} 13227,20130,6075,0,975 3 161149 -- MSL 95 (19U 125) +rC " +ti 13227,10485,0,825,822,790 0 161150 -- MSL 96 (19U 126) +`A 13227,24630,0,0,2541 2 161216 -- MSL 99 (19U 192) +^A 13227,24810,0,2133,2541,790 2 161218 -- MSL 100 (19U 194) +`E 13227,24630,0,1995,642,790 2 161224 -- MSL 101 (19U 200) +^E 13227,24810,0,2133,642,790 2 161226 -- MSL 102 (19U 202) +:E 13227,23115,0,1995,642,790 2 161227 -- MSL 103 (19U 203) +^I 13227,24810,0,2133,-662,790 2 161230 -- MSL 104 (19U 206) +:I 13227,23115,0,1143,-662,790 2 161231 -- MSL 105 (19U 207) +aa 13227,19725,0,753,-5705,753 2 161204 -- MSL 106 (19U 180) +ga 13227,19725,0,0,-4727 2 161120 -- MSL 107 (19U 96) +a^ 13227,19905,0,1089,-3116,790 2 161160 -- MSL 108 (19U 136) ^ " -ad 13227,18195,0,0,-4341 2 3752 -a~ 13227,18873,0,1833,-2406,790 2 3710 -~ " -`U 13227,24630,330,2220,108,790 2 3801 -^U 13227,24810,330,2220,108,790 2 3803 -'Y 13227,24630,0,2553,-2397,790 2 3805 -'y 13227,19725,4350,1986,3579,790 2 3837 -de 13227,19320,0,0,-2637 2 3760 -,C 13227,19320,5325,1524,-12,790 3 3783 -,c 13227,14355,5295,810,261,790 1 3815 -~N 13227,23814,0,3201,882,790 2 3793 -~n 13227,18873,0,1833,774,790 2 3825 -r! 13227,14271,5049,0,-1647 1 3745 -r? 13227,14214,5436,0,-126 1 3775 -Cs 13227,15684,0,1425,528,790 0 3748 -Po 13227,19320,330,2433,234,790 2 3747 -Ye 13227,18990,0,2712,-1056,790 2 3749 -sc 13227,19320,1344,66,-891,66 2 3751 -Fn 13227,19335,3540,231,-492,231 2 51871 -ct 13227,19320,330,891,-780,790 2 3746 -^a 13227,19905,330,1089,105,790 2 3810 -^e 13227,19905,330,1089,303,790 2 3818 -^o 13227,19905,330,1089,252,790 2 3828 -^u 13227,19905,330,1089,249,790 2 3835 -'a 13227,19725,330,753,105,753 2 3809 -'e 13227,19725,330,753,303,753 2 3817 -'o 13227,19725,330,753,252,753 2 3827 -'u 13227,19725,330,753,249,753 2 3834 -`a 13227,19725,330,0,105 2 3808 -`e 13227,19725,330,387,303,387 2 3816 -`o 13227,19725,330,372,252,372 2 3826 -`u 13227,19725,330,714,249,714 2 3833 -:a 13227,18195,330,0,105 2 3812 -:e 13227,18195,330,387,303,387 2 3819 -:o 13227,18195,330,372,252,372 2 3830 -:u 13227,18195,330,714,249,714 2 3836 -oA 13227,24810,0,0,2541 2 3781 -^i 13227,19905,0,0,-1917 2 3822 -/O 13227,19320,342,2895,1743,790 2 3800 -AE 13227,18990,0,4059,2670,790 2 3782 -oa 13227,19905,330,0,105 2 3813 -'i 13227,19725,0,3,-2319,3 2 3821 -/o 13227,14895,735,1119,1086,790 0 3832 -ae 13227,14355,330,1530,1950,790 0 3814 -:A 13227,23115,0,1143,2541,790 2 3780 -`i 13227,19725,0,0,-2319 2 3820 -:O 13227,23115,330,1485,273,790 2 3798 -:U 13227,23115,330,2220,108,790 2 3804 -'E 13227,24630,0,1995,642,790 2 3785 -:i 13227,18195,0,0,-2319 2 3823 -ss 13227,19335,330,570,270,570 2 3807 -^O 13227,24810,330,2133,273,790 2 3796 -'A 13227,24630,0,1389,2541,790 2 3777 -~A 13227,23814,0,3201,2541,790 2 3779 -~a 13227,18873,330,1833,105,790 2 3811 --D 13227,18990,0,1389,963,790 2 3792 -Sd 13227,19545,330,192,237,192 2 3824 -'I 13227,24630,0,1389,-663,790 2 3789 -`I 13227,24630,0,558,-663,558 2 3788 -'O 13227,24630,330,1485,273,790 2 3795 -`O 13227,24630,330,1485,273,790 2 3794 -~O 13227,23814,330,3201,273,790 2 3797 -~o 13227,18873,330,1833,252,790 2 3829 -vS 13227,24810,330,2433,1134,790 2 51795 -vs 13227,19905,330,1539,480,790 2 51827 -'U 13227,24630,330,2220,108,790 2 3802 -:Y 13227,23115,0,2553,-2397,790 2 51801 -:y 13227,18195,4350,1986,3579,790 2 3839 -TP 13227,18990,0,378,771,378 2 3806 -Tp 13227,19545,5475,231,2223,231 3 3838 -mc 13227,14025,4350,765,1659,765 0 3765 -ps 13227,19635,4200,696,-408,696 2 3766 -34 13227,19110,3825,1413,627,790 2 3774 -\- 13227,9945,0,1065,-288,790 0 51757 -14 13227,19110,3825,918,873,790 2 3772 -12 13227,19110,3825,1269,1023,790 2 3773 -Of 13227,19320,0,0,-3066 2 3754 -Om 13227,19320,0,0,-3330 2 3770 -Fo 13227,13710,0,2418,1104,790 0 3755 -Fc 13227,13710,0,1107,2415,790 0 3771 -t+- 13227,15075,0,1110,-243,790 0 3761 -bb 13227,19083,5916,0,-4623 3 3750 -co 13227,19635,0,3927,-2190,790 2 3753 -tno 13227,12501,0,1065,-288,790 0 3756 -rg 13227,19635,0,3927,-2190,790 2 3758 -S2 13227,19110,0,0,-2379 2 3762 -S3 13227,19110,0,0,-2073 2 3763 -ac 13227,0,5295,0,-1200 1 3768 -S1 13227,19110,0,0,-2727 2 3769 -tmu 13227,14814,0,897,-483,790 0 3799 -tdi 13227,14655,0,1104,-252,790 0 3831 -pc 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 -a- 13227,18051,0,1086,-3930,790 2 3759 -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 +ad 13227,18195,0,0,-4340 2 161192 -- MSL 109 (19U 168) +~ 13227,18873,0,1833,-2405,790 2 161176 -- MSL 110 (19U 152) +a~ " +`U 13227,24630,330,2220,108,790 2 161241 -- MSL 111 (19U 217) +^U 13227,24810,330,2220,108,790 2 161243 -- MSL 112 (19U 219) +u00AF 13227,21105,0,1317,1317,790 2 161199 -- MSL 113 (19U 175) +'Y 13227,24630,0,2553,-2396,790 2 161245 -- MSL 114 (19U 221) +'y 13227,19725,4350,1986,3579,790 2 161277 -- MSL 115 (19U 253) +de 13227,19320,0,0,-2636 2 161200 -- MSL 116 (19U 176) +,C 13227,19320,5325,1524,-11,790 3 161223 -- MSL 117 (19U 199) +,c 13227,14355,5295,810,261,790 1 161255 -- MSL 118 (19U 231) +~N 13227,23814,0,3201,882,790 2 161233 -- MSL 119 (19U 209) +~n 13227,18873,0,1833,774,790 2 161265 -- MSL 120 (19U 241) +r! 13227,14271,5049,0,-1646 1 161185 -- MSL 121 (19U 161) +r? 13227,14214,5436,0,-125 1 161215 -- MSL 122 (19U 191) +Cs 13227,15684,0,1425,528,790 0 161188 -- MSL 123 (19U 164) +Po 13227,19320,330,2433,234,790 2 161187 -- MSL 124 (19U 163) +Ye 13227,18990,0,2712,-1055,790 2 161189 -- MSL 125 (19U 165) +sc 13227,19320,1344,66,-890,66 2 161191 -- MSL 126 (19U 167) +Fn 13227,19335,3540,231,-491,231 2 161155 -- MSL 127 (19U 131) +ct 13227,19320,330,891,-779,790 2 161186 -- MSL 128 (19U 162) +^a 13227,19905,330,1089,105,790 2 161250 -- MSL 129 (19U 226) +^e 13227,19905,330,1089,303,790 2 161258 -- MSL 130 (19U 234) +^o 13227,19905,330,1089,252,790 2 161268 -- MSL 131 (19U 244) +^u 13227,19905,330,1089,249,790 2 161275 -- MSL 132 (19U 251) +'a 13227,19725,330,753,105,753 2 161249 -- MSL 133 (19U 225) +'e 13227,19725,330,753,303,753 2 161257 -- MSL 134 (19U 233) +'o 13227,19725,330,753,252,753 2 161267 -- MSL 135 (19U 243) +'u 13227,19725,330,753,249,753 2 161274 -- MSL 136 (19U 250) +`a 13227,19725,330,0,105 2 161248 -- MSL 137 (19U 224) +`e 13227,19725,330,387,303,387 2 161256 -- MSL 138 (19U 232) +`o 13227,19725,330,372,252,372 2 161266 -- MSL 139 (19U 242) +`u 13227,19725,330,714,249,714 2 161273 -- MSL 140 (19U 249) +:a 13227,18195,330,0,105 2 161252 -- MSL 141 (19U 228) +:e 13227,18195,330,387,303,387 2 161259 -- MSL 142 (19U 235) +:o 13227,18195,330,372,252,372 2 161270 -- MSL 143 (19U 246) +:u 13227,18195,330,714,249,714 2 161276 -- MSL 144 (19U 252) +oA 13227,24810,0,0,2541 2 161221 -- MSL 145 (19U 197) +^i 13227,19905,0,0,-1916 2 161262 -- MSL 146 (19U 238) +/O 13227,19320,342,2895,1743,790 2 161240 -- MSL 147 (19U 216) +AE 13227,18990,0,4059,2670,790 2 161222 -- MSL 148 (19U 198) +oa 13227,19905,330,0,105 2 161253 -- MSL 149 (19U 229) +'i 13227,19725,0,3,-2318,3 2 161261 -- MSL 150 (19U 237) +/o 13227,14895,735,1119,1086,790 0 161272 -- MSL 151 (19U 248) +ae 13227,14355,330,1530,1950,790 0 161254 -- MSL 152 (19U 230) +:A 13227,23115,0,1143,2541,790 2 161220 -- MSL 153 (19U 196) +`i 13227,19725,0,0,-2318 2 161260 -- MSL 154 (19U 236) +:O 13227,23115,330,1485,273,790 2 161238 -- MSL 155 (19U 214) +:U 13227,23115,330,2220,108,790 2 161244 -- MSL 156 (19U 220) +'E 13227,24630,0,1995,642,790 2 161225 -- MSL 157 (19U 201) +:i 13227,18195,0,0,-2318 2 161263 -- MSL 158 (19U 239) +ss 13227,19335,330,570,270,570 2 161247 -- MSL 159 (19U 223) +^O 13227,24810,330,2133,273,790 2 161236 -- MSL 160 (19U 212) +'A 13227,24630,0,1389,2541,790 2 161217 -- MSL 161 (19U 193) +~A 13227,23814,0,3201,2541,790 2 161219 -- MSL 162 (19U 195) +~a 13227,18873,330,1833,105,790 2 161251 -- MSL 163 (19U 227) +-D 13227,18990,0,1389,963,790 2 161232 -- MSL 164 (19U 208) +Sd 13227,19545,330,192,237,192 2 161264 -- MSL 165 (19U 240) +'I 13227,24630,0,1389,-662,790 2 161229 -- MSL 166 (19U 205) +`I 13227,24630,0,558,-662,558 2 161228 -- MSL 167 (19U 204) +'O 13227,24630,330,1485,273,790 2 161235 -- MSL 168 (19U 211) +`O 13227,24630,330,1485,273,790 2 161234 -- MSL 169 (19U 210) +~O 13227,23814,330,3201,273,790 2 161237 -- MSL 170 (19U 213) +~o 13227,18873,330,1833,252,790 2 161269 -- MSL 171 (19U 245) +vS 13227,24810,330,2433,1134,790 2 161162 -- MSL 172 (19U 138) +vs 13227,19905,330,1539,480,790 2 161178 -- MSL 173 (19U 154) +'U 13227,24630,330,2220,108,790 2 161242 -- MSL 174 (19U 218) +:Y 13227,23115,0,2553,-2396,790 2 161183 -- MSL 175 (19U 159) +:y 13227,18195,4350,1986,3579,790 2 161279 -- MSL 176 (19U 255) +TP 13227,18990,0,378,771,378 2 161246 -- MSL 177 (19U 222) +Tp 13227,19545,5475,231,2223,231 3 161278 -- MSL 178 (19U 254) +mc 13227,14025,4350,765,1659,765 0 161205 -- MSL 180 (19U 181) +ps 13227,19635,4200,696,-407,696 2 161206 -- MSL 181 (19U 182) +34 13227,19110,3825,1413,627,790 2 161214 -- MSL 182 (19U 190) +\- 13227,9945,0,1065,-287,790 0 60096 -- MSL 183 ( 7J 192) +14 13227,19110,3825,918,873,790 2 161212 -- MSL 184 (19U 188) +12 13227,19110,3825,1269,1023,790 2 161213 -- MSL 185 (19U 189) +Of 13227,19320,0,0,-3065 2 161194 -- MSL 186 (19U 170) +Om 13227,19320,0,0,-3329 2 161210 -- MSL 187 (19U 186) +Fo 13227,13710,0,2418,1104,790 0 161195 -- MSL 188 (19U 171) +Fc 13227,13710,0,1107,2415,790 0 161211 -- MSL 190 (19U 187) +t+- 13227,15075,0,1110,-242,790 0 161201 -- MSL 191 (19U 177) +bb 13227,19083,5916,0,-4622 3 161190 -- MSL 192 (19U 166) +co 13227,19635,0,3927,-2189,790 2 161193 -- MSL 193 (19U 169) +tno 13227,12501,0,1065,-287,790 0 161196 -- MSL 194 (19U 172) +u00AD 13227,7995,0,0,-2510 0 161197 -- MSL 195 (19U 173) +rg 13227,19635,0,3927,-2189,790 2 161198 -- MSL 196 (19U 174) +S2 13227,19110,0,0,-2378 2 161202 -- MSL 197 (19U 178) +S3 13227,19110,0,0,-2072 2 161203 -- MSL 198 (19U 179) +ac 13227,0,5295,0,-1199 1 161208 -- MSL 199 (19U 184) +S1 13227,19110,0,0,-2726 2 161209 -- MSL 200 (19U 185) +tmu 13227,14814,0,897,-482,790 0 161239 -- MSL 201 (19U 215) +tdi 13227,14655,0,1104,-251,790 0 161271 -- MSL 202 (19U 247) +u203C 13227,18990,330,1272,249,790 2 87315 -- MSL 221 (10U 19) +u20A7 13227,18990,330,3120,2262,790 2 60121 -- MSL 232 ( 7J 217) +pc 13227,11007,0,0,-4589 0 161207 -- MSL 302 (19U 183) +u013F 13227,18990,0,255,153,255 2 51943 -- MSL 306 ( 6J 231) +u0140 13227,19545,0,2202,-1160,790 2 51959 -- MSL 307 ( 6J 247) +u2113 13227,17964,330,0,-764 2 60122 -- MSL 308 ( 7J 218) +u0149 13227,19320,0,1437,903,790 2 51951 -- MSL 309 ( 6J 239) +fm 13227,18990,0,0,-3443 2 60101 -- MSL 310 ( 7J 197) +sd 13227,18990,0,0,-3443 2 60102 -- MSL 311 ( 7J 198) +dg 13227,18990,0,0,-2018 2 161158 -- MSL 312 (19U 134) +tm 13227,17850,0,4395,-2057,790 2 161177 -- MSL 313 (19U 153) +u2017 13227,0,6588,1317,1317,790 1 60095 -- MSL 314 ( 7J 191) +ah 13227,19905,0,1539,-3566,790 2 75169 -- MSL 315 ( 9E 161) +ao 13227,19905,0,0,-5465 2 60152 -- MSL 316 ( 7J 248) +f/ 13227,15675,777,0,-338 0 60109 -- MSL 324 ( 7J 205) +em 13227,7710,0,1317,1317,790 0 161175 -- MSL 325 (19U 151) +en 13227,7710,0,0,-1214 0 161174 -- MSL 326 (19U 150) +dd 13227,18990,0,0,-1712 2 161159 -- MSL 327 (19U 135) +.i 13227,14025,0,0,-2318 0 46333 -- MSL 328 ( 5T 253) +aq 13227,18990,0,0,-6059 2 161063 -- MSL 329 (19U 39) +bu 13227,12714,0,0,-518 0 161173 -- MSL 331 (19U 149) +u207F 13227,19110,0,0,-2255 2 87548 -- MSL 332 (10U 252) +u0111 13227,19545,330,4122,363,790 2 75248 -- MSL 342 ( 9E 240) +u0041_0306 13227,24270,0,1980,2541,790 2 75203 -- MSL 400 ( 9E 195) +u0061_0306 13227,19350,330,2133,105,790 2 75235 -- MSL 401 ( 9E 227) +u0041_0328 13227,18990,4086,0,2541 2 75173 -- MSL 404 ( 9E 165) +u0061_0328 13227,14355,4086,0,105 0 75193 -- MSL 405 ( 9E 185) +'C 13227,24630,330,1524,-11,790 2 75206 -- MSL 406 ( 9E 198) +'c 13227,19725,330,810,261,790 2 75238 -- MSL 407 ( 9E 230) +u0041_030C 13227,24810,330,3333,-11,790 2 75208 -- MSL 410 ( 9E 200) +u0061_030C 13227,19905,330,1839,261,790 2 75240 -- MSL 411 ( 9E 232) +u0044_030C 13227,24810,0,1956,1263,790 2 75215 -- MSL 414 ( 9E 207) +u0064_030C 13227,19545,330,4515,801,790 2 75247 -- MSL 415 ( 9E 239) +u0045_030C 13227,24810,0,2433,642,790 2 75212 -- MSL 416 ( 9E 204) +u0065_030C 13227,19905,330,1539,303,790 2 75244 -- MSL 417 ( 9E 236) +u0045_0328 13227,18990,4086,1995,642,790 2 75210 -- MSL 422 ( 9E 202) +u0065_0328 13227,14355,4086,387,303,387 0 75242 -- MSL 423 ( 9E 234) +u004C_0301 13227,24630,0,1389,153,790 2 75205 -- MSL 440 ( 9E 197) +u006C_0301 13227,24630,0,1089,-3602,790 2 75237 -- MSL 441 ( 9E 229) +u004C_030C 13227,19545,0,477,153,477 2 75196 -- MSL 442 ( 9E 188) +u006C_030C 13227,19545,0,3177,-3602,790 2 75198 -- MSL 443 ( 9E 190) +u004E_0301 13227,24630,0,2097,882,790 2 75217 -- MSL 446 ( 9E 209) +u006E_0301 13227,19725,0,753,774,753 2 75249 -- MSL 447 ( 9E 241) +u004E_030C 13227,24810,0,2433,882,790 2 75218 -- MSL 448 ( 9E 210) +u006E_030C 13227,19905,0,1539,774,790 2 75250 -- MSL 449 ( 9E 242) +u004F_030B 13227,24630,330,4149,273,790 2 75221 -- MSL 452 ( 9E 213) +u006F_030B 13227,19725,330,3210,252,790 2 75253 -- MSL 453 ( 9E 245) +u0052_0301 13227,24630,0,1389,981,790 2 75200 -- MSL 456 ( 9E 192) +u0072_0301 13227,19725,0,753,-80,753 2 75232 -- MSL 457 ( 9E 224) +u0052_030C 13227,24810,0,1956,981,790 2 75224 -- MSL 458 ( 9E 216) +u0072_030C 13227,19905,0,1539,-80,790 2 75256 -- MSL 459 ( 9E 248) +u0053_0301 13227,24630,330,1608,1134,790 2 75148 -- MSL 462 ( 9E 140) +u0073_0301 13227,19725,330,753,480,753 2 75164 -- MSL 463 ( 9E 156) +u0054_030C 13227,24810,0,3171,-1430,790 2 75149 -- MSL 466 ( 9E 141) +u0074_030C 13227,19545,330,1293,-932,790 2 75165 -- MSL 467 ( 9E 157) +u0054_0327 13227,18990,5325,3171,-437,790 3 75230 -- MSL 468 ( 9E 222) +u0074_0327 13227,18495,5295,0,-932 3 75262 -- MSL 469 ( 9E 254) +u0055_030B 13227,24630,330,4149,108,790 2 75227 -- MSL 474 ( 9E 219) +u0075_030B 13227,19725,330,3210,249,790 2 75259 -- MSL 475 ( 9E 251) +u0055_030A 13227,24810,330,2220,108,790 2 75225 -- MSL 476 ( 9E 217) +u0075_030A 13227,19905,330,714,249,714 2 75257 -- MSL 477 ( 9E 249) +u005A_0301 13227,24630,0,1956,1203,790 2 75151 -- MSL 482 ( 9E 143) +u007A_0301 13227,19725,0,984,1395,790 2 75167 -- MSL 483 ( 9E 159) +u005A_0307 13227,23115,0,1956,1203,790 2 75183 -- MSL 484 ( 9E 175) +u007A_0307 13227,18195,0,984,1395,790 2 75199 -- MSL 485 ( 9E 191) +u2070 13227,19110,0,0,-3146 2 51753 -- MSL 1000 ( 6J 41) +u2074 13227,19110,0,0,-2456 2 51748 -- MSL 1001 ( 6J 36) +u2075 13227,18990,0,0,-2765 2 51749 -- MSL 1002 ( 6J 37) +u2076 13227,19110,0,0,-3278 2 51806 -- MSL 1003 ( 6J 94) +u2077 13227,18990,0,0,-3452 2 51750 -- MSL 1004 ( 6J 38) +u2078 13227,19110,0,0,-2747 2 51754 -- MSL 1005 ( 6J 42) +u2079 13227,19110,0,0,-2573 2 51752 -- MSL 1006 ( 6J 40) +lq 13227,19326,0,1812,-4196,790 2 161171 -- MSL 1017 (19U 147) +rq 13227,19320,0,1512,-3896,790 2 161172 -- MSL 1018 (19U 148) +Bq 13227,2214,2091,0,-896 0 161156 -- MSL 1019 (19U 132) +u2003 13227,0,0,0,1317 0 51821 -- MSL 1020 ( 6J 109) +u2002 13227,0,0,0,1317 0 51822 -- MSL 1021 ( 6J 110) +u2009 13227,0,0,0,1317 0 51828 -- MSL 1023 ( 6J 116) +u2026 13227,2430,0,0,1536 0 161157 -- MSL 1028 (19U 133) +vz 13227,19905,0,1539,1395,790 2 75166 -- MSL 1031 ( 9E 158) +u2120 13227,18000,0,5586,-2075,790 2 128299 -- MSL 1034 (15U 43) +u211E 13227,18990,3225,624,-551,624 2 51794 -- MSL 1036 ( 6J 82) +fi 13227,19335,0,1065,-338,790 2 60077 -- MSL 1040 ( 7J 173) +fl 13227,19335,0,1065,-338,790 2 60078 -- MSL 1041 ( 7J 174) +ff 13227,19335,0,5175,606,790 2 51883 -- MSL 1042 ( 6J 171) +Fi 13227,19335,0,3579,1149,790 2 51884 -- MSL 1043 ( 6J 172) +Fl 13227,19335,0,2703,1155,790 2 51885 -- MSL 1044 ( 6J 173) +ij 13227,18780,4350,2355,645,790 2 60134 -- MSL 1047 ( 7J 230) +u2105 13227,18990,0,2211,855,790 2 60072 -- MSL 1060 ( 7J 168) +u0047_0306 13227,24270,330,2730,519,790 2 46288 -- MSL 1061 ( 5T 208) +u0067_0306 13227,19350,4350,1683,1053,790 2 46320 -- MSL 1062 ( 5T 240) +u0053_0327 13227,19320,5325,1608,1134,790 3 75178 -- MSL 1063 ( 9E 170) +u0073_0327 13227,14355,5295,57,480,57 1 75194 -- MSL 1064 ( 9E 186) +u0049_0307 13227,23115,0,558,-662,558 2 46301 -- MSL 1065 ( 5T 221) +bq 13227,2214,2091,0,-2921 0 161154 -- MSL 1067 (19U 130) +%0 13227,19320,330,1920,4113,790 2 161161 -- MSL 1068 (19U 137) +a- 13227,18051,0,1086,-3929,790 2 60154 -- MSL 1084 ( 7J 250) +ab 13227,19350,0,1683,-3296,790 2 75170 -- MSL 1086 ( 9E 162) +a. 13227,18195,0,0,-6560 2 75263 -- MSL 1088 ( 9E 255) +oe 13227,14355,330,1629,1671,790 0 161180 -- MSL 1090 (19U 156) +OE 13227,19320,330,4059,783,790 2 161164 -- MSL 1091 (19U 140) +fo 13227,13710,0,0,-1181 0 161163 -- MSL 1092 (19U 139) +fc 13227,13710,0,0,-662 0 161179 -- MSL 1093 (19U 155) +sq 13227,14106,0,876,876,790 0 60091 -- MSL 1094 ( 7J 187) +/L 13227,18990,0,0,885 2 75171 -- MSL 1095 ( 9E 163) +/l 13227,19545,0,0,-2768 2 75187 -- MSL 1096 ( 9E 179) +a" 13227,19725,0,3210,-3905,790 2 75197 -- MSL 1097 ( 9E 189) +ho 13227,735,4086,0,-4817 0 75186 -- MSL 1098 ( 9E 178) +vZ 13227,24810,0,2433,1203,790 2 75150 -- MSL 1106 ( 9E 142) +IJ 13227,18990,330,2259,3129,790 2 60135 -- MSL 1107 ( 7J 231) diff -ruN groff-1.19/font/devlj4/LGR groff-1.19.1/font/devlj4/LGR --- groff-1.19/font/devlj4/LGR Tue Feb 25 06:38:56 2003 +++ groff-1.19.1/font/devlj4/LGR Wed Feb 18 10:01:17 2004 @@ -1,3 +1,4 @@ +# LetterGothic name LGR spacewidth 13227 pcltypeface 4102 @@ -5,255 +6,325 @@ pclweight 0 pclstyle 0 charset -! 13227,18990,330 2 3617 -dq 13227,18990 2 3618 +! 13227,18990,330 2 161057 -- MSL 1 (19U 33) +dq 13227,18990 2 161058 -- MSL 2 (19U 34) " " -sh 13227,21309,2451 2 3619 +sh 13227,21309,2451 2 161059 -- MSL 3 (19U 35) # " -Do 13227,19320,372 2 3620 +Do 13227,19320,372 2 161060 -- MSL 4 (19U 36) $ " -% 13227,19320,330 2 3621 -& 13227,19320,330 2 3622 -cq 13227,19320 2 51751 +% 13227,19320,330 2 161061 -- MSL 5 (19U 37) +& 13227,19320,330 2 161062 -- MSL 6 (19U 38) +cq 13227,19320 2 161170 -- MSL 8 (19U 146) ' " -( 13227,19320,1935 2 3624 -) 13227,19320,1935 2 3625 -* 13227,18990 2 3626 -+ 13227,15075 0 3627 -, 13227,2055,2235 0 3628 -hy 13227,7815 0 3629 +( 13227,19320,1935 2 161064 -- MSL 9 (19U 40) +) 13227,19320,1935 2 161065 -- MSL 10 (19U 41) +* 13227,18990 2 161066 -- MSL 11 (19U 42) ++ 13227,15075 0 161067 -- MSL 12 (19U 43) +, 13227,2055,2235 0 161068 -- MSL 13 (19U 44) +hy 13227,7815 0 161069 -- MSL 14 (19U 45) - " -. 13227,2055,330 0 3630 -sl 13227,19545,330 2 3631 +. 13227,2055,330 0 161070 -- MSL 15 (19U 46) +sl 13227,19545,330 2 161071 -- MSL 16 (19U 47) / " -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 +0 13227,19320,330 2 161072 -- MSL 17 (19U 48) +1 13227,19320 2 161073 -- MSL 18 (19U 49) +2 13227,19320 2 161074 -- MSL 19 (19U 50) +3 13227,19320,330 2 161075 -- MSL 20 (19U 51) +4 13227,19320 2 161076 -- MSL 21 (19U 52) +5 13227,18990,330 2 161077 -- MSL 22 (19U 53) +6 13227,19320,330 2 161078 -- MSL 23 (19U 54) +7 13227,18990 2 161079 -- MSL 24 (19U 55) +8 13227,19320,330 2 161080 -- MSL 25 (19U 56) +9 13227,19320,330 2 161081 -- MSL 26 (19U 57) +: 13227,12414,330 0 161082 -- MSL 27 (19U 58) +; 13227,12414,2235 0 161083 -- MSL 28 (19U 59) +< 13227,15063 0 161084 -- MSL 29 (19U 60) += 13227,11721 0 161085 -- MSL 30 (19U 61) +> 13227,15063 0 161086 -- MSL 31 (19U 62) +? 13227,19320,330 2 161087 -- MSL 32 (19U 63) +at 13227,19320,330 2 161088 -- MSL 33 (19U 64) @ " -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 +A 13227,18990 2 161089 -- MSL 34 (19U 65) +B 13227,18990 2 161090 -- MSL 35 (19U 66) +C 13227,19320,330 2 161091 -- MSL 36 (19U 67) +D 13227,18990 2 161092 -- MSL 37 (19U 68) +E 13227,18990 2 161093 -- MSL 38 (19U 69) +F 13227,18990 2 161094 -- MSL 39 (19U 70) +G 13227,19320,330 2 161095 -- MSL 40 (19U 71) +H 13227,18990 2 161096 -- MSL 41 (19U 72) +I 13227,18990 2 161097 -- MSL 42 (19U 73) +J 13227,18990,330 2 161098 -- MSL 43 (19U 74) +K 13227,18990 2 161099 -- MSL 44 (19U 75) +L 13227,18990 2 161100 -- MSL 45 (19U 76) +M 13227,18990 2 161101 -- MSL 46 (19U 77) +N 13227,18990 2 161102 -- MSL 47 (19U 78) +O 13227,19320,330 2 161103 -- MSL 48 (19U 79) +P 13227,18990 2 161104 -- MSL 49 (19U 80) +Q 13227,19320,2712 2 161105 -- MSL 50 (19U 81) +R 13227,18990 2 161106 -- MSL 51 (19U 82) +S 13227,19320,330 2 161107 -- MSL 52 (19U 83) +T 13227,18990 2 161108 -- MSL 53 (19U 84) +U 13227,18990,330 2 161109 -- MSL 54 (19U 85) +V 13227,18990 2 161110 -- MSL 55 (19U 86) +W 13227,18990 2 161111 -- MSL 56 (19U 87) +X 13227,18990 2 161112 -- MSL 57 (19U 88) +Y 13227,18990 2 161113 -- MSL 58 (19U 89) +Z 13227,18990 2 161114 -- MSL 59 (19U 90) +lB 13227,18990,2940 2 161115 -- MSL 60 (19U 91) [ " -rs 13227,19545,330 2 3676 +rs 13227,19545,330 2 161116 -- MSL 61 (19U 92) \ " -rB 13227,18990,2940 2 3677 +rB 13227,18990,2940 2 161117 -- MSL 62 (19U 93) ] " -ha 13227,19758 2 51875 -_ 13227,0,6588 1 3679 -oq 13227,19320 2 51808 +ha 13227,19758 2 161118 -- MSL 63 (19U 94) +_ 13227,0,6588 1 161119 -- MSL 64 (19U 95) +oq 13227,19320 2 161169 -- MSL 66 (19U 145) ` " -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 -`A 13227,24630 2 3776 -^A 13227,24810 2 3778 -`E 13227,24630 2 3784 -^E 13227,24810 2 3786 -:E 13227,23115 2 3787 -^I 13227,24810 2 3790 -:I 13227,23115 2 3791 -aa 13227,19725 2 3764 -ga 13227,19725 2 3680 -a^ 13227,19905 2 3678 +a 13227,14355,330 0 161121 -- MSL 67 (19U 97) +b 13227,19545,330 2 161122 -- MSL 68 (19U 98) +c 13227,14355,330 0 161123 -- MSL 69 (19U 99) +d 13227,19545,330 2 161124 -- MSL 70 (19U 100) +e 13227,14355,330 0 161125 -- MSL 71 (19U 101) +f 13227,19335 2 161126 -- MSL 72 (19U 102) +g 13227,14355,4350 0 161127 -- MSL 73 (19U 103) +h 13227,19545 2 161128 -- MSL 74 (19U 104) +i 13227,18780 2 161129 -- MSL 75 (19U 105) +j 13227,18780,4350 2 161130 -- MSL 76 (19U 106) +k 13227,19545 2 161131 -- MSL 77 (19U 107) +l 13227,19545 2 161132 -- MSL 78 (19U 108) +m 13227,14355 0 161133 -- MSL 79 (19U 109) +n 13227,14355 0 161134 -- MSL 80 (19U 110) +o 13227,14355,330 0 161135 -- MSL 81 (19U 111) +p 13227,14355,5475 1 161136 -- MSL 82 (19U 112) +q 13227,14355,5475 1 161137 -- MSL 83 (19U 113) +r 13227,14355 0 161138 -- MSL 84 (19U 114) +s 13227,14355,330 0 161139 -- MSL 85 (19U 115) +t 13227,18495,330 2 161140 -- MSL 86 (19U 116) +u 13227,14025,330 0 161141 -- MSL 87 (19U 117) +v 13227,14025 0 161142 -- MSL 88 (19U 118) +w 13227,14025 0 161143 -- MSL 89 (19U 119) +x 13227,14025 0 161144 -- MSL 90 (19U 120) +y 13227,14025,4350 0 161145 -- MSL 91 (19U 121) +z 13227,14025 0 161146 -- MSL 92 (19U 122) +{ 13227,20130,6075 3 161147 -- MSL 93 (19U 123) +lC " +| 13227,19758,6588 3 161148 -- MSL 94 (19U 124) +ba " +} 13227,20130,6075 3 161149 -- MSL 95 (19U 125) +rC " +ti 13227,10485 0 161150 -- MSL 96 (19U 126) +`A 13227,24630 2 161216 -- MSL 99 (19U 192) +^A 13227,24810 2 161218 -- MSL 100 (19U 194) +`E 13227,24630 2 161224 -- MSL 101 (19U 200) +^E 13227,24810 2 161226 -- MSL 102 (19U 202) +:E 13227,23115 2 161227 -- MSL 103 (19U 203) +^I 13227,24810 2 161230 -- MSL 104 (19U 206) +:I 13227,23115 2 161231 -- MSL 105 (19U 207) +aa 13227,19725 2 161204 -- MSL 106 (19U 180) +ga 13227,19725 2 161120 -- MSL 107 (19U 96) +a^ 13227,19905 2 161160 -- MSL 108 (19U 136) ^ " -ad 13227,18195 2 3752 -a~ 13227,18867 2 3710 -~ " -`U 13227,24630,330 2 3801 -^U 13227,24810,330 2 3803 -'Y 13227,24630 2 3805 -'y 13227,19725,4350 2 3837 -de 13227,19320 2 3760 -,C 13227,19320,5430 3 3783 -,c 13227,14355,5430 1 3815 -~N 13227,23787 2 3793 -~n 13227,18867 2 3825 -r! 13227,14259,5061 1 3745 -r? 13227,14265,5385 1 3775 -Cs 13227,15684 0 3748 -Po 13227,19320,330 2 3747 -Ye 13227,18990 2 3749 -sc 13227,19320,1344 2 3751 -Fn 13227,19335,3540 2 51871 -ct 13227,19320,330 2 3746 -^a 13227,19905,330 2 3810 -^e 13227,19905,330 2 3818 -^o 13227,19905,330 2 3828 -^u 13227,19905,330 2 3835 -'a 13227,19725,330 2 3809 -'e 13227,19725,330 2 3817 -'o 13227,19725,330 2 3827 -'u 13227,19725,330 2 3834 -`a 13227,19725,330 2 3808 -`e 13227,19725,330 2 3816 -`o 13227,19725,330 2 3826 -`u 13227,19725,330 2 3833 -:a 13227,18195,330 2 3812 -:e 13227,18195,330 2 3819 -:o 13227,18195,330 2 3830 -:u 13227,18195,330 2 3836 -oA 13227,24735 2 3781 -^i 13227,19905 2 3822 -/O 13227,19320,444 2 3800 -AE 13227,18990 2 3782 -oa 13227,19830,330 2 3813 -'i 13227,19725 2 3821 -/o 13227,14805,747 0 3832 -ae 13227,14355,330 0 3814 -:A 13227,23115 2 3780 -`i 13227,19725 2 3820 -:O 13227,23115,330 2 3798 -:U 13227,23115,330 2 3804 -'E 13227,24630 2 3785 -:i 13227,18195 2 3823 -ss 13227,19335,330 2 3807 -^O 13227,24810,330 2 3796 -'A 13227,24630 2 3777 -~A 13227,23787 2 3779 -~a 13227,18867,330 2 3811 --D 13227,18990 2 3792 -Sd 13227,19545,330 2 3824 -'I 13227,24630 2 3789 -`I 13227,24630 2 3788 -'O 13227,24630,330 2 3795 -`O 13227,24630,330 2 3794 -~O 13227,23787,330 2 3797 -~o 13227,18867,330 2 3829 -vS 13227,24810,330 2 51795 -vs 13227,19905,330 2 51827 -'U 13227,24630,330 2 3802 -:Y 13227,23115 2 51801 -:y 13227,18195,4350 2 3839 -TP 13227,18990 2 3806 -Tp 13227,19545,5475 3 3838 -mc 13227,14025,4350 0 3765 -ps 13227,19635,4200 2 3766 -34 13227,19119,3825 2 3774 -\- 13227,9945 0 51757 -14 13227,19110,3825 2 3772 -12 13227,19110,3825 2 3773 -Of 13227,19320 2 3754 -Om 13227,19320 2 3770 -Fo 13227,13710 0 3755 -Fc 13227,13710 0 3771 -t+- 13227,15075 0 3761 -bb 13227,19083,5916 3 3750 -co 13227,19635 2 3753 -tno 13227,12501 0 3756 -rg 13227,19635 2 3758 -S2 13227,19110 2 3762 -S3 13227,19119 2 3763 -ac 13227,0,5430 1 3768 -S1 13227,19110 2 3769 -tmu 13227,14814 0 3799 -tdi 13227,14655 0 3831 -pc 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 -a- 13227,18078 2 3759 -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 +ad 13227,18195 2 161192 -- MSL 109 (19U 168) +~ 13227,18867 2 161176 -- MSL 110 (19U 152) +a~ " +`U 13227,24630,330 2 161241 -- MSL 111 (19U 217) +^U 13227,24810,330 2 161243 -- MSL 112 (19U 219) +u00AF 13227,21105 2 161199 -- MSL 113 (19U 175) +'Y 13227,24630 2 161245 -- MSL 114 (19U 221) +'y 13227,19725,4350 2 161277 -- MSL 115 (19U 253) +de 13227,19320 2 161200 -- MSL 116 (19U 176) +,C 13227,19320,5430 3 161223 -- MSL 117 (19U 199) +,c 13227,14355,5430 1 161255 -- MSL 118 (19U 231) +~N 13227,23787 2 161233 -- MSL 119 (19U 209) +~n 13227,18867 2 161265 -- MSL 120 (19U 241) +r! 13227,14259,5061 1 161185 -- MSL 121 (19U 161) +r? 13227,14265,5385 1 161215 -- MSL 122 (19U 191) +Cs 13227,15684 0 161188 -- MSL 123 (19U 164) +Po 13227,19320,330 2 161187 -- MSL 124 (19U 163) +Ye 13227,18990 2 161189 -- MSL 125 (19U 165) +sc 13227,19320,1344 2 161191 -- MSL 126 (19U 167) +Fn 13227,19335,3540 2 161155 -- MSL 127 (19U 131) +ct 13227,19320,330 2 161186 -- MSL 128 (19U 162) +^a 13227,19905,330 2 161250 -- MSL 129 (19U 226) +^e 13227,19905,330 2 161258 -- MSL 130 (19U 234) +^o 13227,19905,330 2 161268 -- MSL 131 (19U 244) +^u 13227,19905,330 2 161275 -- MSL 132 (19U 251) +'a 13227,19725,330 2 161249 -- MSL 133 (19U 225) +'e 13227,19725,330 2 161257 -- MSL 134 (19U 233) +'o 13227,19725,330 2 161267 -- MSL 135 (19U 243) +'u 13227,19725,330 2 161274 -- MSL 136 (19U 250) +`a 13227,19725,330 2 161248 -- MSL 137 (19U 224) +`e 13227,19725,330 2 161256 -- MSL 138 (19U 232) +`o 13227,19725,330 2 161266 -- MSL 139 (19U 242) +`u 13227,19725,330 2 161273 -- MSL 140 (19U 249) +:a 13227,18195,330 2 161252 -- MSL 141 (19U 228) +:e 13227,18195,330 2 161259 -- MSL 142 (19U 235) +:o 13227,18195,330 2 161270 -- MSL 143 (19U 246) +:u 13227,18195,330 2 161276 -- MSL 144 (19U 252) +oA 13227,24735 2 161221 -- MSL 145 (19U 197) +^i 13227,19905 2 161262 -- MSL 146 (19U 238) +/O 13227,19320,444 2 161240 -- MSL 147 (19U 216) +AE 13227,18990 2 161222 -- MSL 148 (19U 198) +oa 13227,19830,330 2 161253 -- MSL 149 (19U 229) +'i 13227,19725 2 161261 -- MSL 150 (19U 237) +/o 13227,14805,747 0 161272 -- MSL 151 (19U 248) +ae 13227,14355,330 0 161254 -- MSL 152 (19U 230) +:A 13227,23115 2 161220 -- MSL 153 (19U 196) +`i 13227,19725 2 161260 -- MSL 154 (19U 236) +:O 13227,23115,330 2 161238 -- MSL 155 (19U 214) +:U 13227,23115,330 2 161244 -- MSL 156 (19U 220) +'E 13227,24630 2 161225 -- MSL 157 (19U 201) +:i 13227,18195 2 161263 -- MSL 158 (19U 239) +ss 13227,19335,330 2 161247 -- MSL 159 (19U 223) +^O 13227,24810,330 2 161236 -- MSL 160 (19U 212) +'A 13227,24630 2 161217 -- MSL 161 (19U 193) +~A 13227,23787 2 161219 -- MSL 162 (19U 195) +~a 13227,18867,330 2 161251 -- MSL 163 (19U 227) +-D 13227,18990 2 161232 -- MSL 164 (19U 208) +Sd 13227,19545,330 2 161264 -- MSL 165 (19U 240) +'I 13227,24630 2 161229 -- MSL 166 (19U 205) +`I 13227,24630 2 161228 -- MSL 167 (19U 204) +'O 13227,24630,330 2 161235 -- MSL 168 (19U 211) +`O 13227,24630,330 2 161234 -- MSL 169 (19U 210) +~O 13227,23787,330 2 161237 -- MSL 170 (19U 213) +~o 13227,18867,330 2 161269 -- MSL 171 (19U 245) +vS 13227,24810,330 2 161162 -- MSL 172 (19U 138) +vs 13227,19905,330 2 161178 -- MSL 173 (19U 154) +'U 13227,24630,330 2 161242 -- MSL 174 (19U 218) +:Y 13227,23115 2 161183 -- MSL 175 (19U 159) +:y 13227,18195,4350 2 161279 -- MSL 176 (19U 255) +TP 13227,18990 2 161246 -- MSL 177 (19U 222) +Tp 13227,19545,5475 3 161278 -- MSL 178 (19U 254) +mc 13227,14025,4350 0 161205 -- MSL 180 (19U 181) +ps 13227,19635,4200 2 161206 -- MSL 181 (19U 182) +34 13227,19119,3825 2 161214 -- MSL 182 (19U 190) +\- 13227,9945 0 60096 -- MSL 183 ( 7J 192) +14 13227,19110,3825 2 161212 -- MSL 184 (19U 188) +12 13227,19110,3825 2 161213 -- MSL 185 (19U 189) +Of 13227,19320 2 161194 -- MSL 186 (19U 170) +Om 13227,19320 2 161210 -- MSL 187 (19U 186) +Fo 13227,13710 0 161195 -- MSL 188 (19U 171) +Fc 13227,13710 0 161211 -- MSL 190 (19U 187) +t+- 13227,15075 0 161201 -- MSL 191 (19U 177) +bb 13227,19083,5916 3 161190 -- MSL 192 (19U 166) +co 13227,19635 2 161193 -- MSL 193 (19U 169) +tno 13227,12501 0 161196 -- MSL 194 (19U 172) +u00AD 13227,7815 0 161197 -- MSL 195 (19U 173) +rg 13227,19635 2 161198 -- MSL 196 (19U 174) +S2 13227,19110 2 161202 -- MSL 197 (19U 178) +S3 13227,19119 2 161203 -- MSL 198 (19U 179) +ac 13227,0,5430 1 161208 -- MSL 199 (19U 184) +S1 13227,19110 2 161209 -- MSL 200 (19U 185) +tmu 13227,14814 0 161239 -- MSL 201 (19U 215) +tdi 13227,14655 0 161271 -- MSL 202 (19U 247) +u203C 13227,18990,330 2 87315 -- MSL 221 (10U 19) +u20A7 13227,18990,330 2 60121 -- MSL 232 ( 7J 217) +pc 13227,11025 0 161207 -- MSL 302 (19U 183) +u013F 13227,18990 2 51943 -- MSL 306 ( 6J 231) +u0140 13227,19545 2 51959 -- MSL 307 ( 6J 247) +u2113 13227,17964,330 2 60122 -- MSL 308 ( 7J 218) +u0149 13227,19320 2 51951 -- MSL 309 ( 6J 239) +fm 13227,18990 2 60101 -- MSL 310 ( 7J 197) +sd 13227,18990 2 60102 -- MSL 311 ( 7J 198) +dg 13227,18990 2 161158 -- MSL 312 (19U 134) +tm 13227,17850 2 161177 -- MSL 313 (19U 153) +u2017 13227,0,6588 1 60095 -- MSL 314 ( 7J 191) +ah 13227,19905 2 75169 -- MSL 315 ( 9E 161) +ao 13227,19830 2 60152 -- MSL 316 ( 7J 248) +f/ 13227,15675,858 0 60109 -- MSL 324 ( 7J 205) +em 13227,7710 0 161175 -- MSL 325 (19U 151) +en 13227,7710 0 161174 -- MSL 326 (19U 150) +dd 13227,18990 2 161159 -- MSL 327 (19U 135) +.i 13227,14025 0 46333 -- MSL 328 ( 5T 253) +aq 13227,18990 2 161063 -- MSL 329 (19U 39) +bu 13227,12714 0 161173 -- MSL 331 (19U 149) +u207F 13227,19110 2 87548 -- MSL 332 (10U 252) +u0111 13227,19545,330 2 75248 -- MSL 342 ( 9E 240) +u0041_0306 13227,24270 2 75203 -- MSL 400 ( 9E 195) +u0061_0306 13227,19350,330 2 75235 -- MSL 401 ( 9E 227) +u0041_0328 13227,18990,4137 2 75173 -- MSL 404 ( 9E 165) +u0061_0328 13227,14355,4137 0 75193 -- MSL 405 ( 9E 185) +'C 13227,24630,330 2 75206 -- MSL 406 ( 9E 198) +'c 13227,19725,330 2 75238 -- MSL 407 ( 9E 230) +u0041_030C 13227,24810,330 2 75208 -- MSL 410 ( 9E 200) +u0061_030C 13227,19905,330 2 75240 -- MSL 411 ( 9E 232) +u0044_030C 13227,24810 2 75215 -- MSL 414 ( 9E 207) +u0064_030C 13227,19545,330 2 75247 -- MSL 415 ( 9E 239) +u0045_030C 13227,24810 2 75212 -- MSL 416 ( 9E 204) +u0065_030C 13227,19905,330 2 75244 -- MSL 417 ( 9E 236) +u0045_0328 13227,18990,4137 2 75210 -- MSL 422 ( 9E 202) +u0065_0328 13227,14355,4137 0 75242 -- MSL 423 ( 9E 234) +u004C_0301 13227,24630 2 75205 -- MSL 440 ( 9E 197) +u006C_0301 13227,24630 2 75237 -- MSL 441 ( 9E 229) +u004C_030C 13227,19545 2 75196 -- MSL 442 ( 9E 188) +u006C_030C 13227,19545 2 75198 -- MSL 443 ( 9E 190) +u004E_0301 13227,24630 2 75217 -- MSL 446 ( 9E 209) +u006E_0301 13227,19725 2 75249 -- MSL 447 ( 9E 241) +u004E_030C 13227,24810 2 75218 -- MSL 448 ( 9E 210) +u006E_030C 13227,19905 2 75250 -- MSL 449 ( 9E 242) +u004F_030B 13227,24630,330 2 75221 -- MSL 452 ( 9E 213) +u006F_030B 13227,19725,330 2 75253 -- MSL 453 ( 9E 245) +u0052_0301 13227,24630 2 75200 -- MSL 456 ( 9E 192) +u0072_0301 13227,19725 2 75232 -- MSL 457 ( 9E 224) +u0052_030C 13227,24810 2 75224 -- MSL 458 ( 9E 216) +u0072_030C 13227,19905 2 75256 -- MSL 459 ( 9E 248) +u0053_0301 13227,24630,330 2 75148 -- MSL 462 ( 9E 140) +u0073_0301 13227,19725,330 2 75164 -- MSL 463 ( 9E 156) +u0054_030C 13227,24810 2 75149 -- MSL 466 ( 9E 141) +u0074_030C 13227,19545,330 2 75165 -- MSL 467 ( 9E 157) +u0054_0327 13227,18990,5430 3 75230 -- MSL 468 ( 9E 222) +u0074_0327 13227,18495,5430 3 75262 -- MSL 469 ( 9E 254) +u0055_030B 13227,24630,330 2 75227 -- MSL 474 ( 9E 219) +u0075_030B 13227,19725,330 2 75259 -- MSL 475 ( 9E 251) +u0055_030A 13227,24735,330 2 75225 -- MSL 476 ( 9E 217) +u0075_030A 13227,19830,330 2 75257 -- MSL 477 ( 9E 249) +u005A_0301 13227,24630 2 75151 -- MSL 482 ( 9E 143) +u007A_0301 13227,19725 2 75167 -- MSL 483 ( 9E 159) +u005A_0307 13227,23115 2 75183 -- MSL 484 ( 9E 175) +u007A_0307 13227,18195 2 75199 -- MSL 485 ( 9E 191) +u2070 13227,19110 2 51753 -- MSL 1000 ( 6J 41) +u2074 13227,19110 2 51748 -- MSL 1001 ( 6J 36) +u2075 13227,18990 2 51749 -- MSL 1002 ( 6J 37) +u2076 13227,19110 2 51806 -- MSL 1003 ( 6J 94) +u2077 13227,18990 2 51750 -- MSL 1004 ( 6J 38) +u2078 13227,19110 2 51754 -- MSL 1005 ( 6J 42) +u2079 13227,19110 2 51752 -- MSL 1006 ( 6J 40) +lq 13227,19320 2 161171 -- MSL 1017 (19U 147) +rq 13227,19320 2 161172 -- MSL 1018 (19U 148) +Bq 13227,2136,2154 0 161156 -- MSL 1019 (19U 132) +u2003 13227,0 0 51821 -- MSL 1020 ( 6J 109) +u2002 13227,0 0 51822 -- MSL 1021 ( 6J 110) +u2009 13227,0 0 51828 -- MSL 1023 ( 6J 116) +u2026 13227,2055,330 0 161157 -- MSL 1028 (19U 133) +vz 13227,19905 2 75166 -- MSL 1031 ( 9E 158) +u2120 13227,18000 2 128299 -- MSL 1034 (15U 43) +u211E 13227,18990,3225 2 51794 -- MSL 1036 ( 6J 82) +fi 13227,19335 2 60077 -- MSL 1040 ( 7J 173) +fl 13227,19335 2 60078 -- MSL 1041 ( 7J 174) +ff 13227,19335 2 51883 -- MSL 1042 ( 6J 171) +Fi 13227,19335 2 51884 -- MSL 1043 ( 6J 172) +Fl 13227,19335 2 51885 -- MSL 1044 ( 6J 173) +ij 13227,18780,4350 2 60134 -- MSL 1047 ( 7J 230) +u2105 13227,18990 2 60072 -- MSL 1060 ( 7J 168) +u0047_0306 13227,24270,330 2 46288 -- MSL 1061 ( 5T 208) +u0067_0306 13227,19350,4350 2 46320 -- MSL 1062 ( 5T 240) +u0053_0327 13227,19320,5430 3 75178 -- MSL 1063 ( 9E 170) +u0073_0327 13227,14355,5430 1 75194 -- MSL 1064 ( 9E 186) +u0049_0307 13227,23115 2 46301 -- MSL 1065 ( 5T 221) +bq 13227,2136,2154 0 161154 -- MSL 1067 (19U 130) +%0 13227,19320,330 2 161161 -- MSL 1068 (19U 137) +a- 13227,18078 2 60154 -- MSL 1084 ( 7J 250) +ab 13227,19350 2 75170 -- MSL 1086 ( 9E 162) +a. 13227,18195 2 75263 -- MSL 1088 ( 9E 255) +oe 13227,14355,330 0 161180 -- MSL 1090 (19U 156) +OE 13227,19320,330 2 161164 -- MSL 1091 (19U 140) +fo 13227,13710 0 161163 -- MSL 1092 (19U 139) +fc 13227,13710 0 161179 -- MSL 1093 (19U 155) +sq 13227,14106 0 60091 -- MSL 1094 ( 7J 187) +/L 13227,18990 2 75171 -- MSL 1095 ( 9E 163) +/l 13227,19545 2 75187 -- MSL 1096 ( 9E 179) +a" 13227,19725 2 75197 -- MSL 1097 ( 9E 189) +ho 13227,750,4137 0 75186 -- MSL 1098 ( 9E 178) +vZ 13227,24810 2 75150 -- MSL 1106 ( 9E 142) +IJ 13227,18990,330 2 60135 -- MSL 1107 ( 7J 231) diff -ruN groff-1.19/font/devlj4/MARIGOLD groff-1.19.1/font/devlj4/MARIGOLD --- groff-1.19/font/devlj4/MARIGOLD Tue Feb 25 06:38:56 2003 +++ groff-1.19.1/font/devlj4/MARIGOLD Wed Feb 18 10:01:18 2004 @@ -1,3 +1,4 @@ +# Marigold name MARIGOLD spacewidth 5856 pcltypeface 4297 @@ -6,255 +7,325 @@ pclstyle 0 ligatures fi fl ff ffi ffl 0 charset -! 7806,12570,330 0 3617 -dq 6342,11790 0 3618 +! 7806,12570,330 0 161057 -- MSL 1 (19U 33) +dq 6342,11790 0 161058 -- MSL 2 (19U 34) " " -sh 9759,11610 0 3619 +sh 9759,11610 0 161059 -- MSL 3 (19U 35) # " -Do 9759,14325,3315 0 3620 +Do 9759,14325,3315 0 161060 -- MSL 4 (19U 36) $ " -% 17076,11940,330 0 3621 -& 12684,12120,330 0 3622 -cq 3903,11790 0 51751 +% 17076,11940,330 0 161061 -- MSL 5 (19U 37) +& 12684,12120,330 0 161062 -- MSL 6 (19U 38) +cq 3903,11790 0 161170 -- MSL 8 (19U 146) ' " -( 6831,16770,2235 2 3624 -) 6831,16770,2235 2 3625 -* 9759,11940 0 3626 -+ 11709,8445,360 0 3627 -, 5856,1650,4590 0 3628 -hy 6831,6345 0 3629 +( 6831,16770,2235 2 161064 -- MSL 9 (19U 40) +) 6831,16770,2235 2 161065 -- MSL 10 (19U 41) +* 9759,11940 0 161066 -- MSL 11 (19U 42) ++ 11709,8445,360 0 161067 -- MSL 12 (19U 43) +, 5856,1650,4590 0 161068 -- MSL 13 (19U 44) +hy 6831,6345 0 161069 -- MSL 14 (19U 45) - " -. 5856,2535,330 0 3630 -sl 8781,16770,3240 2 3631 +. 5856,2535,330 0 161070 -- MSL 15 (19U 46) +sl 8781,16770,3240 2 161071 -- MSL 16 (19U 47) / " -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 +0 9759,11940,330 0 161072 -- MSL 17 (19U 48) +1 9759,11940,60 0 161073 -- MSL 18 (19U 49) +2 9759,11940,450 0 161074 -- MSL 19 (19U 50) +3 9759,11940,330 0 161075 -- MSL 20 (19U 51) +4 9759,11940,1080 0 161076 -- MSL 21 (19U 52) +5 9759,12060,330 0 161077 -- MSL 22 (19U 53) +6 9759,12660,330 0 161078 -- MSL 23 (19U 54) +7 9759,12480,30 0 161079 -- MSL 24 (19U 55) +8 9759,11940,330 0 161080 -- MSL 25 (19U 56) +9 9759,11940,1050 0 161081 -- MSL 26 (19U 57) +: 5856,8475,330 0 161082 -- MSL 27 (19U 58) +; 5856,8475,4590 0 161083 -- MSL 28 (19U 59) +< 26346,16068 2 161084 -- MSL 29 (19U 60) += 11709,6510 0 161085 -- MSL 30 (19U 61) +> 26346,16068 2 161086 -- MSL 31 (19U 62) +? 8295,12120,330 0 161087 -- MSL 32 (19U 63) +at 18051,12354,3126 0 161088 -- MSL 33 (19U 64) @ " -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 +A 12198,12120,225 0 161089 -- MSL 34 (19U 65) +B 10734,12120,60 0 161090 -- MSL 35 (19U 66) +C 10734,12120,330 0 161091 -- MSL 36 (19U 67) +D 12684,12015,225 0 161092 -- MSL 37 (19U 68) +E 10245,11910,225 0 161093 -- MSL 38 (19U 69) +F 9759,12120,60 0 161094 -- MSL 39 (19U 70) +G 12198,12120,330 0 161095 -- MSL 40 (19U 71) +H 12198,12015,60 0 161096 -- MSL 41 (19U 72) +I 6342,11850,60 0 161097 -- MSL 42 (19U 73) +J 6342,11850,4128 0 161098 -- MSL 43 (19U 74) +K 12198,11850,60 0 161099 -- MSL 44 (19U 75) +L 8781,11850,225 0 161100 -- MSL 45 (19U 76) +M 16101,12120,225 0 161101 -- MSL 46 (19U 77) +N 13173,12120,330 0 161102 -- MSL 47 (19U 78) +O 11709,12120,330 0 161103 -- MSL 48 (19U 79) +P 9759,12120,60 0 161104 -- MSL 49 (19U 80) +Q 11709,12120,3744 0 161105 -- MSL 50 (19U 81) +R 11709,12120,330 0 161106 -- MSL 51 (19U 82) +S 9759,12120,330 0 161107 -- MSL 52 (19U 83) +T 10245,12120,60 0 161108 -- MSL 53 (19U 84) +U 12684,11910,330 0 161109 -- MSL 54 (19U 85) +V 12198,12120,330 0 161110 -- MSL 55 (19U 86) +W 16101,12120,330 0 161111 -- MSL 56 (19U 87) +X 12198,11910,120 0 161112 -- MSL 57 (19U 88) +Y 10734,12120,60 0 161113 -- MSL 58 (19U 89) +Z 10734,12345,330 0 161114 -- MSL 59 (19U 90) +lB 6342,16860,1260 2 161115 -- MSL 60 (19U 91) [ " -rs 8781,16770,3240 2 3676 +rs 8781,16770,3240 2 161116 -- MSL 61 (19U 92) \ " -rB 6342,16860,1260 2 3677 +rB 6342,16860,1260 2 161117 -- MSL 62 (19U 93) ] " -ha 13173,19758 2 51875 -_ 13173,0,6588 0 3679 -oq 3903,11790 0 51808 +ha 13173,19758 2 161118 -- MSL 63 (19U 94) +_ 13173,0,6588 0 161119 -- MSL 64 (19U 95) +oq 3903,11790 0 161169 -- MSL 66 (19U 145) ` " -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 -`A 12198,17040,225 2 3776 -^A 12198,17520,225 2 3778 -`E 10245,17040,225 2 3784 -^E 10245,17520,225 2 3786 -:E 10245,16320,225 2 3787 -^I 6342,17520,60 2 3790 -:I 6342,16320,60 2 3791 -aa 11709,15030 0 3764 -ga 11709,15030 0 3680 -a^ 11709,15300 0 3678 +a 8295,10350,330 0 161121 -- MSL 67 (19U 97) +b 6831,17430,330 2 161122 -- MSL 68 (19U 98) +c 6342,10350,330 0 161123 -- MSL 69 (19U 99) +d 7806,17430,330 2 161124 -- MSL 70 (19U 100) +e 6342,10350,330 0 161125 -- MSL 71 (19U 101) +f 3903,17430,7950 3 161126 -- MSL 72 (19U 102) +g 7806,10350,7950 1 161127 -- MSL 73 (19U 103) +h 8295,17433,330 2 161128 -- MSL 74 (19U 104) +i 4878,13635,330 0 161129 -- MSL 75 (19U 105) +j 3903,13635,7950 1 161130 -- MSL 76 (19U 106) +k 6831,17430,330 2 161131 -- MSL 77 (19U 107) +l 3903,17430,330 2 161132 -- MSL 78 (19U 108) +m 11220,10350,330 0 161133 -- MSL 79 (19U 109) +n 7806,10350,330 0 161134 -- MSL 80 (19U 110) +o 6831,10350,330 0 161135 -- MSL 81 (19U 111) +p 7806,10350,7950 1 161136 -- MSL 82 (19U 112) +q 7317,10575,7950 1 161137 -- MSL 83 (19U 113) +r 6342,10350 0 161138 -- MSL 84 (19U 114) +s 5367,10350,330 0 161139 -- MSL 85 (19U 115) +t 5367,14325,330 0 161140 -- MSL 86 (19U 116) +u 7806,10350,330 0 161141 -- MSL 87 (19U 117) +v 7317,10350,330 0 161142 -- MSL 88 (19U 118) +w 9759,10350,330 0 161143 -- MSL 89 (19U 119) +x 7317,13590,330 0 161144 -- MSL 90 (19U 120) +y 7317,10350,7950 1 161145 -- MSL 91 (19U 121) +z 7317,10350,330 0 161146 -- MSL 92 (19U 122) +{ 8295,16380,2670 2 161147 -- MSL 93 (19U 123) +lC " +| 13173,19758,6588 2 161148 -- MSL 94 (19U 124) +ba " +} 8295,16380,2670 2 161149 -- MSL 95 (19U 125) +rC " +ti 26346,8952 0 161150 -- MSL 96 (19U 126) +`A 12198,17040,225 2 161216 -- MSL 99 (19U 192) +^A 12198,17520,225 2 161218 -- MSL 100 (19U 194) +`E 10245,17040,225 2 161224 -- MSL 101 (19U 200) +^E 10245,17520,225 2 161226 -- MSL 102 (19U 202) +:E 10245,16320,225 2 161227 -- MSL 103 (19U 203) +^I 6342,17520,60 2 161230 -- MSL 104 (19U 206) +:I 6342,16320,60 2 161231 -- MSL 105 (19U 207) +aa 11709,15030 0 161204 -- MSL 106 (19U 180) +ga 11709,15030 0 161120 -- MSL 107 (19U 96) +a^ 11709,15300 0 161160 -- MSL 108 (19U 136) ^ " -ad 11709,14580 0 3752 -a~ 11709,13782 0 3710 -~ " -`U 12684,17040,330 2 3801 -^U 12684,17520,330 2 3803 -'Y 10734,17040,60 2 3805 -'y 7317,15030,7950 1 3837 -de 7806,11940 0 3760 -,C 10734,12120,4140 0 3783 -,c 6342,10350,4320 0 3815 -~N 13173,15828,330 2 3793 -~n 7806,13782,330 0 3825 -r! 7806,8313,4587 0 3745 -r? 8295,8202,4248 0 3775 -Cs 9759,10668 0 3748 -Po 9759,11940,225 0 3747 -Ye 9759,12165,60 0 3749 -sc 9759,12120,4596 0 3751 -Fn 9759,17430,7950 3 51871 -ct 9759,12516,2580 0 3746 -^a 8295,15300,330 0 3810 -^e 6342,15300,330 0 3818 -^o 6831,15300,330 0 3828 -^u 7806,15300,330 0 3835 -'a 8295,15030,330 0 3809 -'e 6342,15030,330 0 3817 -'o 6831,15030,330 0 3827 -'u 7806,15030,330 0 3834 -`a 8295,15030,330 0 3808 -`e 6342,15030,330 0 3816 -`o 6831,15030,330 0 3826 -`u 7806,15030,330 0 3833 -:a 8295,14580,330 0 3812 -:e 6342,14580,330 0 3819 -:o 6831,14580,330 0 3830 -:u 7806,14580,330 0 3836 -oA 12198,16815,225 2 3781 -^i 4878,15300,330 0 3822 -/O 11709,12849,984 0 3800 -AE 17565,11910,225 0 3782 -oa 8295,14685,330 0 3813 -'i 4878,15030,330 0 3821 -/o 6831,11724,1635 0 3832 -ae 10734,10350,330 0 3814 -:A 12198,16320,225 2 3780 -`i 4878,15030,330 0 3820 -:O 11709,16320,330 2 3798 -:U 12684,16320,330 2 3804 -'E 10245,17040,225 2 3785 -:i 4878,14580,330 0 3823 -ss 9270,18135,7350 3 3807 -^O 11709,17520,330 2 3796 -'A 12198,17040,225 2 3777 -~A 12198,15828,225 2 3779 -~a 8295,13782,330 0 3811 --D 12684,12015,225 0 3792 -Sd 7317,17430,330 2 3824 -'I 6342,17040,60 2 3789 -`I 6342,17040,60 2 3788 -'O 11709,17040,330 2 3795 -`O 11709,17040,330 2 3794 -~O 11709,15828,330 2 3797 -~o 6831,13782,330 0 3829 -vS 9759,17520,330 2 51795 -vs 5367,15330,330 0 51827 -'U 12684,17040,330 2 3802 -:Y 10734,16320,60 2 51801 -:y 7317,14580,7950 1 3839 -TP 9759,11850,60 0 3806 -Tp 7806,17430,7950 3 3838 -mc 14637,10800,5595 0 3765 -ps 11709,12450,4455 0 3766 -34 17076,11940,840 0 3774 -\- 11709,4770 0 51757 -14 17076,11940,840 0 3772 -12 17076,11940,330 0 3773 -Of 6342,11940 0 3754 -Om 6342,11940 0 3770 -Fo 9270,8535 0 3755 -Fc 9270,8535 0 3771 -t+- 11709,8445,2595 0 3761 -bb 13173,19083,5916 2 3750 -co 7806,15960 2 3753 -tno 11709,6780 0 3756 -rg 7806,15960 2 3758 -S2 7317,11850 0 3762 -S3 7317,11850 0 3763 -ac 11709,0,4320 0 3768 -S1 7317,11850 0 3769 -tmu 11709,7815 0 3799 -tdi 11709,8700,360 0 3831 -pc 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 -a- 11709,13674 0 3759 -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 +ad 11709,14580 0 161192 -- MSL 109 (19U 168) +~ 11709,13782 0 161176 -- MSL 110 (19U 152) +a~ " +`U 12684,17040,330 2 161241 -- MSL 111 (19U 217) +^U 12684,17520,330 2 161243 -- MSL 112 (19U 219) +u00AF 13173,21105 2 161199 -- MSL 113 (19U 175) +'Y 10734,17040,60 2 161245 -- MSL 114 (19U 221) +'y 7317,15030,7950 1 161277 -- MSL 115 (19U 253) +de 7806,11940 0 161200 -- MSL 116 (19U 176) +,C 10734,12120,4140 0 161223 -- MSL 117 (19U 199) +,c 6342,10350,4320 0 161255 -- MSL 118 (19U 231) +~N 13173,15828,330 2 161233 -- MSL 119 (19U 209) +~n 7806,13782,330 0 161265 -- MSL 120 (19U 241) +r! 7806,8313,4587 0 161185 -- MSL 121 (19U 161) +r? 8295,8202,4248 0 161215 -- MSL 122 (19U 191) +Cs 9759,10668 0 161188 -- MSL 123 (19U 164) +Po 9759,11940,225 0 161187 -- MSL 124 (19U 163) +Ye 9759,12165,60 0 161189 -- MSL 125 (19U 165) +sc 9759,12120,4596 0 161191 -- MSL 126 (19U 167) +Fn 9759,17430,7950 3 161155 -- MSL 127 (19U 131) +ct 9759,12516,2580 0 161186 -- MSL 128 (19U 162) +^a 8295,15300,330 0 161250 -- MSL 129 (19U 226) +^e 6342,15300,330 0 161258 -- MSL 130 (19U 234) +^o 6831,15300,330 0 161268 -- MSL 131 (19U 244) +^u 7806,15300,330 0 161275 -- MSL 132 (19U 251) +'a 8295,15030,330 0 161249 -- MSL 133 (19U 225) +'e 6342,15030,330 0 161257 -- MSL 134 (19U 233) +'o 6831,15030,330 0 161267 -- MSL 135 (19U 243) +'u 7806,15030,330 0 161274 -- MSL 136 (19U 250) +`a 8295,15030,330 0 161248 -- MSL 137 (19U 224) +`e 6342,15030,330 0 161256 -- MSL 138 (19U 232) +`o 6831,15030,330 0 161266 -- MSL 139 (19U 242) +`u 7806,15030,330 0 161273 -- MSL 140 (19U 249) +:a 8295,14580,330 0 161252 -- MSL 141 (19U 228) +:e 6342,14580,330 0 161259 -- MSL 142 (19U 235) +:o 6831,14580,330 0 161270 -- MSL 143 (19U 246) +:u 7806,14580,330 0 161276 -- MSL 144 (19U 252) +oA 12198,16815,225 2 161221 -- MSL 145 (19U 197) +^i 4878,15300,330 0 161262 -- MSL 146 (19U 238) +/O 11709,12849,984 0 161240 -- MSL 147 (19U 216) +AE 17565,11910,225 0 161222 -- MSL 148 (19U 198) +oa 8295,14685,330 0 161253 -- MSL 149 (19U 229) +'i 4878,15030,330 0 161261 -- MSL 150 (19U 237) +/o 6831,11724,1635 0 161272 -- MSL 151 (19U 248) +ae 10734,10350,330 0 161254 -- MSL 152 (19U 230) +:A 12198,16320,225 2 161220 -- MSL 153 (19U 196) +`i 4878,15030,330 0 161260 -- MSL 154 (19U 236) +:O 11709,16320,330 2 161238 -- MSL 155 (19U 214) +:U 12684,16320,330 2 161244 -- MSL 156 (19U 220) +'E 10245,17040,225 2 161225 -- MSL 157 (19U 201) +:i 4878,14580,330 0 161263 -- MSL 158 (19U 239) +ss 9270,18135,7350 3 161247 -- MSL 159 (19U 223) +^O 11709,17520,330 2 161236 -- MSL 160 (19U 212) +'A 12198,17040,225 2 161217 -- MSL 161 (19U 193) +~A 12198,15828,225 2 161219 -- MSL 162 (19U 195) +~a 8295,13782,330 0 161251 -- MSL 163 (19U 227) +-D 12684,12015,225 0 161232 -- MSL 164 (19U 208) +Sd 7317,17430,330 2 161264 -- MSL 165 (19U 240) +'I 6342,17040,60 2 161229 -- MSL 166 (19U 205) +`I 6342,17040,60 2 161228 -- MSL 167 (19U 204) +'O 11709,17040,330 2 161235 -- MSL 168 (19U 211) +`O 11709,17040,330 2 161234 -- MSL 169 (19U 210) +~O 11709,15828,330 2 161237 -- MSL 170 (19U 213) +~o 6831,13782,330 0 161269 -- MSL 171 (19U 245) +vS 9759,17520,330 2 161162 -- MSL 172 (19U 138) +vs 5367,15330,330 0 161178 -- MSL 173 (19U 154) +'U 12684,17040,330 2 161242 -- MSL 174 (19U 218) +:Y 10734,16320,60 2 161183 -- MSL 175 (19U 159) +:y 7317,14580,7950 1 161279 -- MSL 176 (19U 255) +TP 9759,11850,60 0 161246 -- MSL 177 (19U 222) +Tp 7806,17430,7950 3 161278 -- MSL 178 (19U 254) +mc 14637,10800,5595 0 161205 -- MSL 180 (19U 181) +ps 11709,12450,4455 0 161206 -- MSL 181 (19U 182) +34 17076,11940,840 0 161214 -- MSL 182 (19U 190) +\- 11709,4770 0 60096 -- MSL 183 ( 7J 192) +14 17076,11940,840 0 161212 -- MSL 184 (19U 188) +12 17076,11940,330 0 161213 -- MSL 185 (19U 189) +Of 6342,11940 0 161194 -- MSL 186 (19U 170) +Om 6342,11940 0 161210 -- MSL 187 (19U 186) +Fo 9270,8535 0 161195 -- MSL 188 (19U 171) +Fc 9270,8535 0 161211 -- MSL 190 (19U 187) +t+- 11709,8445,2595 0 161201 -- MSL 191 (19U 177) +bb 13173,19083,5916 2 161190 -- MSL 192 (19U 166) +co 7806,15960 2 161193 -- MSL 193 (19U 169) +tno 11709,6780 0 161196 -- MSL 194 (19U 172) +u00AD 6831,6345 0 161197 -- MSL 195 (19U 173) +rg 7806,15960 2 161198 -- MSL 196 (19U 174) +S2 7317,11850 0 161202 -- MSL 197 (19U 178) +S3 7317,11850 0 161203 -- MSL 198 (19U 179) +ac 11709,0,4320 0 161208 -- MSL 199 (19U 184) +S1 7317,11850 0 161209 -- MSL 200 (19U 185) +tmu 11709,7815 0 161239 -- MSL 201 (19U 215) +tdi 11709,8700,360 0 161271 -- MSL 202 (19U 247) +u203C 12198,12570,330 0 87315 -- MSL 221 (10U 19) +u20A7 15126,14325,330 0 60121 -- MSL 232 ( 7J 217) +pc 5856,7662 0 161207 -- MSL 302 (19U 183) +u013F 8781,11850,225 0 51943 -- MSL 306 ( 6J 231) +u0140 6831,17430,330 2 51959 -- MSL 307 ( 6J 247) +u2113 11709,12120,330 0 60122 -- MSL 308 ( 7J 218) +u0149 11709,11790,330 0 51951 -- MSL 309 ( 6J 239) +fm 4878,11610 0 60101 -- MSL 310 ( 7J 197) +sd 7806,11610 0 60102 -- MSL 311 ( 7J 198) +dg 9759,12315,3795 0 161158 -- MSL 312 (19U 134) +tm 9759,14445 0 161177 -- MSL 313 (19U 153) +u2017 13173,0,6588 0 60095 -- MSL 314 ( 7J 191) +ah 11709,15330 0 75169 -- MSL 315 ( 9E 161) +ao 11709,14685 0 60152 -- MSL 316 ( 7J 248) +f/ 1953,11940,330 0 60109 -- MSL 324 ( 7J 205) +em 18051,6345 0 161175 -- MSL 325 (19U 151) +en 11709,6345 0 161174 -- MSL 326 (19U 150) +dd 9759,12315,3795 0 161159 -- MSL 327 (19U 135) +.i 4878,10350,330 0 46333 -- MSL 328 ( 5T 253) +aq 3903,11790 0 161063 -- MSL 329 (19U 39) +bu 13173,14226 0 161173 -- MSL 331 (19U 149) +u207F 7806,11850 0 87548 -- MSL 332 (10U 252) +u0111 7806,17430,330 2 75248 -- MSL 342 ( 9E 240) +u0041_0306 12198,16650,225 2 75203 -- MSL 400 ( 9E 195) +u0061_0306 8295,14700,330 0 75235 -- MSL 401 ( 9E 227) +u0041_0328 12198,12120,4332 0 75173 -- MSL 404 ( 9E 165) +u0061_0328 8295,10350,4410 0 75193 -- MSL 405 ( 9E 185) +'C 10734,17040,330 2 75206 -- MSL 406 ( 9E 198) +'c 6342,15030,330 0 75238 -- MSL 407 ( 9E 230) +u0041_030C 10734,17520,330 2 75208 -- MSL 410 ( 9E 200) +u0061_030C 6342,15330,330 0 75240 -- MSL 411 ( 9E 232) +u0044_030C 12684,17520,225 2 75215 -- MSL 414 ( 9E 207) +u0064_030C 10734,17430,330 2 75247 -- MSL 415 ( 9E 239) +u0045_030C 10245,17520,225 2 75212 -- MSL 416 ( 9E 204) +u0065_030C 6342,15330,330 0 75244 -- MSL 417 ( 9E 236) +u0045_0328 10245,11910,4332 0 75210 -- MSL 422 ( 9E 202) +u0065_0328 6342,10350,4410 0 75242 -- MSL 423 ( 9E 234) +u004C_0301 8781,17040,225 2 75205 -- MSL 440 ( 9E 197) +u006C_0301 3903,22008,330 2 75237 -- MSL 441 ( 9E 229) +u004C_030C 8781,11850,225 0 75196 -- MSL 442 ( 9E 188) +u006C_030C 6831,17430,330 2 75198 -- MSL 443 ( 9E 190) +u004E_0301 13173,17040,330 2 75217 -- MSL 446 ( 9E 209) +u006E_0301 7806,15030,330 0 75249 -- MSL 447 ( 9E 241) +u004E_030C 13173,17520,330 2 75218 -- MSL 448 ( 9E 210) +u006E_030C 7806,15330,330 0 75250 -- MSL 449 ( 9E 242) +u004F_030B 11709,17040,330 2 75221 -- MSL 452 ( 9E 213) +u006F_030B 6831,15030,330 0 75253 -- MSL 453 ( 9E 245) +u0052_0301 11709,17040,330 2 75200 -- MSL 456 ( 9E 192) +u0072_0301 6342,15030 0 75232 -- MSL 457 ( 9E 224) +u0052_030C 11709,17520,330 2 75224 -- MSL 458 ( 9E 216) +u0072_030C 6342,15330 0 75256 -- MSL 459 ( 9E 248) +u0053_0301 9759,17040,330 2 75148 -- MSL 462 ( 9E 140) +u0073_0301 5367,15030,330 0 75164 -- MSL 463 ( 9E 156) +u0054_030C 10245,17520,60 2 75149 -- MSL 466 ( 9E 141) +u0074_030C 6831,15330,330 0 75165 -- MSL 467 ( 9E 157) +u0054_0327 10245,12120,4140 0 75230 -- MSL 468 ( 9E 222) +u0074_0327 5367,14325,4320 0 75262 -- MSL 469 ( 9E 254) +u0055_030B 12684,17040,330 2 75227 -- MSL 474 ( 9E 219) +u0075_030B 7806,15030,330 0 75259 -- MSL 475 ( 9E 251) +u0055_030A 12684,16815,330 2 75225 -- MSL 476 ( 9E 217) +u0075_030A 7806,14685,330 0 75257 -- MSL 477 ( 9E 249) +u005A_0301 10734,17040,330 2 75151 -- MSL 482 ( 9E 143) +u007A_0301 7317,15030,330 0 75167 -- MSL 483 ( 9E 159) +u005A_0307 10734,16320,330 2 75183 -- MSL 484 ( 9E 175) +u007A_0307 7317,14580,330 0 75199 -- MSL 485 ( 9E 191) +u2070 7317,11850 0 51753 -- MSL 1000 ( 6J 41) +u2074 7317,11850 0 51748 -- MSL 1001 ( 6J 36) +u2075 7317,11910 0 51749 -- MSL 1002 ( 6J 37) +u2076 7317,12270 0 51806 -- MSL 1003 ( 6J 94) +u2077 7317,11910 0 51750 -- MSL 1004 ( 6J 38) +u2078 7317,11850 0 51754 -- MSL 1005 ( 6J 42) +u2079 7317,11850 0 51752 -- MSL 1006 ( 6J 40) +lq 6342,11790 0 161171 -- MSL 1017 (19U 147) +rq 6342,11790 0 161172 -- MSL 1018 (19U 148) +Bq 6342,1650,2550 0 161156 -- MSL 1019 (19U 132) +u2003 18051,0 0 51821 -- MSL 1020 ( 6J 109) +u2002 11709,0 0 51822 -- MSL 1021 ( 6J 110) +u2009 5856,0 0 51828 -- MSL 1023 ( 6J 116) +u2026 18051,2415,330 0 161157 -- MSL 1028 (19U 133) +vz 7317,15330,330 0 75166 -- MSL 1031 ( 9E 158) +u2120 9759,14595 0 128299 -- MSL 1034 (15U 43) +u211E 20004,18315,4056 2 51794 -- MSL 1036 ( 6J 82) +fi 7806,17430,7950 3 60077 -- MSL 1040 ( 7J 173) +fl 7806,17430,7950 3 60078 -- MSL 1041 ( 7J 174) +ff 7806,17430,7950 3 51883 -- MSL 1042 ( 6J 171) +Fi 11709,17430,7950 3 51884 -- MSL 1043 ( 6J 172) +Fl 11709,17430,7950 3 51885 -- MSL 1044 ( 6J 173) +ij 8781,13635,7950 1 60134 -- MSL 1047 ( 7J 230) +u2105 13662,12120,330 0 60072 -- MSL 1060 ( 7J 168) +u0047_0306 12198,16650,330 2 46288 -- MSL 1061 ( 5T 208) +u0067_0306 7806,14700,7950 1 46320 -- MSL 1062 ( 5T 240) +u0053_0327 9759,12120,4140 0 75178 -- MSL 1063 ( 9E 170) +u0073_0327 5367,10350,4320 0 75194 -- MSL 1064 ( 9E 186) +u0049_0307 6342,16320,60 2 46301 -- MSL 1065 ( 5T 221) +bq 3903,1650,2550 0 161154 -- MSL 1067 (19U 130) +%0 22932,11940,330 0 161161 -- MSL 1068 (19U 137) +a- 11709,13674 0 60154 -- MSL 1084 ( 7J 250) +ab 11709,14700 0 75170 -- MSL 1086 ( 9E 162) +a. 11709,14580 0 75263 -- MSL 1088 ( 9E 255) +oe 10734,10350,330 0 161180 -- MSL 1090 (19U 156) +OE 16587,12120,330 0 161164 -- MSL 1091 (19U 140) +fo 5856,8535 0 161163 -- MSL 1092 (19U 139) +fc 5856,8535 0 161179 -- MSL 1093 (19U 155) +sq 19029,15624 0 60091 -- MSL 1094 ( 7J 187) +/L 8781,11850,225 0 75171 -- MSL 1095 ( 9E 163) +/l 4878,17430,330 2 75187 -- MSL 1096 ( 9E 179) +a" 11709,15030 0 75197 -- MSL 1097 ( 9E 189) +ho 11709,1341,4410 0 75186 -- MSL 1098 ( 9E 178) +vZ 10734,17520,330 2 75150 -- MSL 1106 ( 9E 142) +IJ 12684,11850,4128 0 60135 -- MSL 1107 ( 7J 231) diff -ruN groff-1.19/font/devlj4/Makefile.sub groff-1.19.1/font/devlj4/Makefile.sub --- groff-1.19/font/devlj4/Makefile.sub Sun Feb 6 10:35:37 2000 +++ groff-1.19.1/font/devlj4/Makefile.sub Fri Mar 5 10:39:56 2004 @@ -1,7 +1,8 @@ DEV=lj4 -LJ4RES=600 +LJ4RES=1200 LJ4PRINT=$(PSPRINT) DEVFILES=DESC \ + AB ABI AI AR \ ALBB ALBR \ AOB AOI AOR \ CB CBI CI CR \ @@ -9,10 +10,17 @@ LGB LGI LGR \ OB OBI OI OR \ TB TBI TI TR \ + TNRB TNRBI TNRI TNRR \ UB UBI UI UR \ UCB UCBI UCI UCR \ CLARENDON CORONET MARIGOLD S \ - generate/Makefile generate/text.map generate/special.map + SYMBOL WINGDINGS \ + generate/Makefile \ + generate/special.map \ + generate/symbol.map \ + generate/text.map \ + generate/wingdings.map \ + generate/special.awk CLEANADD=DESC diff -ruN groff-1.19/font/devlj4/OB groff-1.19.1/font/devlj4/OB --- groff-1.19/font/devlj4/OB Tue Feb 25 06:38:56 2003 +++ groff-1.19.1/font/devlj4/OB Wed Feb 18 10:01:17 2004 @@ -1,3 +1,4 @@ +# CG Omega Bd name OB spacewidth 7317 pcltypeface 4113 @@ -6,708 +7,778 @@ 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 cq -2925 -L ' -2925 -T hy -2925 -T - -2925 -T en -2925 -T em -2925 -A cq -3414 -A ' -3414 -hy T -2925 -- T -2925 -en T -2925 -em T -2925 -Y hy -2439 -Y - -2439 -Y en -2439 -Y em -2439 -p cq -1461 -p ' -1461 -c cq -486 -c ' -486 -e cq -975 -e ' -975 -b cq -1461 -b ' -1461 -a cq -975 -a ' -975 -V hy -1461 -V - -1461 -V en -1461 -V em -1461 -h cq -975 -h ' -975 -n cq -975 -n ' -975 -m cq -975 -m ' -975 -W hy -975 -W - -975 -W en -975 -W em -975 -cq d -1461 -' d -1461 -s cq -486 -s ' -486 -L hy -1950 -L - -1950 -L en -1950 -L em -1950 -X hy -1461 -X - -1461 -X en -1461 -X em -1461 -A hy -1461 -A - -1461 -A en -1461 -A em -1461 -K hy -1461 -K - -1461 -K en -1461 -K em -1461 -cq s -975 -' s -975 -hy X -1461 -- X -1461 -hy A -1461 -- A -1461 -en X -1461 -en A -1461 -em X -1461 -K cq -486 -K ' -486 -t g -486 -b f -486 -k cq -486 -k ' -486 -M cq -486 -M ' -486 -Z hy -486 -Z - -486 -Z en -486 -Z em -486 -cq M -486 -' M -486 -k hy -486 -k - -486 -k en -486 -k em -486 +L V -2924 +P . -3902 +P , -3902 +V A -3902 +A V -3902 +T o -2924 +T r -1949 +T c -2924 +T e -2924 +T d -2924 +T s -2438 +T y -2924 +T a -2924 +T w -2924 +T u -2924 +L T -1949 +L Y -2924 +Y o -3902 +Y e -3902 +Y a -3902 +A W -3413 +W A -3413 +T A -1949 +V o -2924 +V e -2924 +V a -2924 +Y A -3902 +F A -2924 +F . -3902 +F , -3902 +A T -1949 +A Y -3902 +v . -2438 +v , -2438 +y . -2438 +y , -2438 +T . -1949 +T , -1949 +L W -2924 +P A -2924 +V . -3902 +V , -3902 +Y . -3902 +Y , -3902 +W o -2438 +W e -2438 +W a -2438 +W . -3413 +W , -3413 +r . -2438 +r , -2438 +w . -2438 +w , -2438 +Y u -2438 +A v -2438 +A y -2438 +A w -1460 +o . -1460 +o , -1460 +p . -1460 +p , -1460 +e . -974 +e , -974 +b . -1460 +b , -1460 +O T -1460 +O V -1460 +O Y -1460 +O . -1460 +O , -1460 +L y -2438 +L O -1460 +L G -1949 +L C -1949 +L Q -1949 +V y -1460 +V u -1460 +V O -1460 +V G -1460 +V C -1460 +V Q -1460 +D T -1949 +D V -1460 +D Y -1949 +D . -1949 +D , -1949 +Y O -1460 +Y G -1949 +Y C -1949 +Y Q -1949 +F o -1460 +F e -1460 +F a -1460 +c . -485 +c , -485 +O A -1460 +O W -974 +L U -1949 +R T -974 +R V -974 +R Y -974 +R W -974 +G T -974 +P o -1460 +P g -974 +P e -1460 +P a -1460 +C A -485 +C . -485 +C , -485 +D A -1460 +D W -974 +B T -974 +B Y -974 +B . -974 +B , -974 +A O -1460 +A G -1460 +A C -1460 +A U -1460 +A Q -1460 +W r -974 +W y -974 +W u -974 +W O -974 +W G -974 +W C -974 +W Q -974 +J A -974 +J . -974 +J , -974 +U A -1460 +U . -1949 +U , -1949 +Q A -1460 +Q W -974 +f . -485 +f , -485 +T O -1460 +T G -1949 +T C -1949 +T Q -1949 +O X -1460 +L o -1460 +L e -1460 +L q -1460 +G V -974 +G Y -974 +G W -974 +G . -485 +G , -485 +C T -485 +C V -485 +C Y -485 +D X -1460 +B V -974 +B X -974 +B A -974 +B W -974 +S . -974 +S , -974 +X o -1460 +X e -1460 +X y -1460 +X O -1460 +X G -1460 +X C -1460 +X Q -1460 +A o -1460 +A e -1460 +Q X -1460 +K o -1460 +K e -1460 +K y -1460 +K w -1460 +K O -1460 +K G -1460 +K C -1460 +K Q -1460 +o v -974 +o y -974 +o x -974 +h v -974 +h y -974 +n v -974 +n y -974 +m v -974 +m y -974 +r g -485 +g . -485 +g , -485 +p v -974 +p y -974 +p x -974 +c v -485 +c y -485 +v o -974 +v g -974 +v c -974 +v d -974 +v a -974 +v q -974 +e v -974 +e y -974 +b v -974 +b y -974 +s . -974 +s , -974 +y o -974 +y g -974 +y c -974 +y d -974 +y a -974 +y q -974 +f g -485 +x o -974 +x g -974 +x c -974 +x e -974 +x d -974 +x a -974 +x q -974 +a v -974 +a y -974 +T i -974 +T S -974 +L a -974 +L S -485 +G X -485 +G A -485 +P s -974 +C X -485 +C W -485 +V i -974 +V S -974 +S T -485 +S V -485 +S Y -485 +S X -485 +S A -974 +S W -485 +Y i -974 +Y S -974 +X a -974 +X u -974 +X S -485 +A t -974 +A g -974 +A c -1460 +A d -1460 +A a -974 +A u -974 +A q -1460 +A S -485 +W i -974 +W S -974 +K c -1460 +K u -974 +K S -485 +t g -485 +o f -485 +r o -485 +r c -485 +r e -485 +r d -485 +r a -485 +r q -485 +p f -485 +c f -485 +c x -485 +v e -974 +v s -974 +e f -485 +e x -974 +b f -485 +s v -485 +s y -485 +s f -485 +s x -485 +y e -974 +y s -974 +f o -485 +f c -485 +f e -485 +f d -485 +f s -485 +f a -485 +f q -485 +x s -485 +k o -485 +k g -485 +k c -485 +k v -485 +k e -485 +k d -485 +k y -485 +k a -485 +k w -485 +k q -485 +O Z -485 +L J -1460 +G Z -485 +P M -485 +C Z -485 +Z o -485 +Z e -485 +Z d -485 +Z s -485 +Z y -485 +Z a -485 +Z w -485 +Z u -485 +Z O -485 +Z G -485 +Z C -485 +Z S -485 +Z Q -485 +D Z -485 +B Z -485 +S Z -485 +A s -485 +A J -1460 +J o -485 +J e -485 +J a -485 +J M -485 +K a -974 +K J -485 +t o -485 +t c -485 +t e -485 +t d -485 +t s -485 +t a -485 +t q -485 +o z -485 +h f -485 +n f -485 +m f -485 +r s -485 +p z -485 +c z -485 +e z -485 +z o -485 +z g -485 +z c -485 +z e -485 +z d -485 +z s -485 +z a -485 +z q -485 +b z -485 +s z -485 +a f -485 +k t -485 +k s -485 +k f -485 +k u -485 +F M -485 +A f -485 +K T -485 +K V -485 +K Y -485 +K W -485 +K U -485 +L cq -2924 +L ' -2924 +T hy -2924 +T - -2924 +T en -2924 +T em -2924 +A cq -3413 +A ' -3413 +hy T -2924 +- T -2924 +en T -2924 +em T -2924 +Y hy -2438 +Y - -2438 +Y en -2438 +Y em -2438 +p cq -1460 +p ' -1460 +c cq -485 +c ' -485 +e cq -974 +e ' -974 +b cq -1460 +b ' -1460 +a cq -974 +a ' -974 +V hy -1460 +V - -1460 +V en -1460 +V em -1460 +h cq -974 +h ' -974 +n cq -974 +n ' -974 +m cq -974 +m ' -974 +W hy -974 +W - -974 +W en -974 +W em -974 +cq d -1460 +' d -1460 +s cq -485 +s ' -485 +L hy -1949 +L - -1949 +L en -1949 +L em -1949 +X hy -1460 +X - -1460 +X en -1460 +X em -1460 +A hy -1460 +A - -1460 +A en -1460 +A em -1460 +K hy -1460 +K - -1460 +K en -1460 +K em -1460 +cq s -974 +' s -974 +hy X -1460 +- X -1460 +hy A -1460 +- A -1460 +en X -1460 +en A -1460 +em X -1460 +K cq -485 +K ' -485 +t g -485 +b f -485 +k cq -485 +k ' -485 +M cq -485 +M ' -485 +Z hy -485 +Z - -485 +Z en -485 +Z em -485 +cq M -485 +' M -485 +k hy -485 +k - -485 +k en -485 +k em -485 charset -! 7317,18000,375 2 3617 -dq 12198,18375 2 3618 +! 7317,18000,375 2 161057 -- MSL 1 (19U 33) +dq 12198,18375 2 161058 -- MSL 2 (19U 34) " " -sh 14637,18069,444 2 3619 +sh 14637,18069,444 2 161059 -- MSL 3 (19U 35) # " -Do 14637,19755,2988 2 3620 +Do 14637,19755,2988 2 161060 -- MSL 4 (19U 36) $ " -% 23418,17769,444 2 3621 -& 19029,17997,375 2 3622 -cq 7317,18375 2 51751 +% 23418,17769,444 2 161061 -- MSL 5 (19U 37) +& 19029,17997,375 2 161062 -- MSL 6 (19U 38) +cq 7317,18375 2 161170 -- MSL 8 (19U 146) ' " -( 7317,18375,3165 2 3624 -) 7317,18375,3165 2 3625 -* 14637,18150 2 3626 -+ 23418,13164,534 0 3627 -, 7317,4068,4902 0 3628 -hy 7317,8307 0 3629 +( 7317,18375,3165 2 161064 -- MSL 9 (19U 40) +) 7317,18375,3165 2 161065 -- MSL 10 (19U 41) +* 14637,18150 2 161066 -- MSL 11 (19U 42) ++ 23418,13164,534 0 161067 -- MSL 12 (19U 43) +, 7317,4068,4902 0 161068 -- MSL 13 (19U 44) +hy 7317,8307 0 161069 -- MSL 14 (19U 45) - " -. 7317,3975,375 0 3630 -sl 7317,19650,525 2 3631 +. 7317,3975,375 0 161070 -- MSL 15 (19U 46) +sl 7317,19650,525 2 161071 -- MSL 16 (19U 47) / " -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 +0 14637,17700,375 0 161072 -- MSL 17 (19U 48) +1 14637,17700,69 0 161073 -- MSL 18 (19U 49) +2 14637,17700,201 0 161074 -- MSL 19 (19U 50) +3 14637,17700,375 0 161075 -- MSL 20 (19U 51) +4 14637,17394,69 0 161076 -- MSL 21 (19U 52) +5 14637,17526,375 0 161077 -- MSL 22 (19U 53) +6 14637,17700,375 0 161078 -- MSL 23 (19U 54) +7 14637,17526,69 0 161079 -- MSL 24 (19U 55) +8 14637,17700,375 0 161080 -- MSL 25 (19U 56) +9 14637,17700,375 0 161081 -- MSL 26 (19U 57) +: 7317,12057,375 0 161082 -- MSL 27 (19U 58) +; 7317,12057,4902 0 161083 -- MSL 28 (19U 59) +< 26346,16068 0 161084 -- MSL 29 (19U 60) += 23418,9639 0 161085 -- MSL 30 (19U 61) +> 26346,16068 0 161086 -- MSL 31 (19U 62) +? 11709,18000,375 2 161087 -- MSL 32 (19U 63) +at 23418,16950,4131 0 161088 -- MSL 33 (19U 64) @ " -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 +A 17565,18069,69 2 161089 -- MSL 34 (19U 65) +B 16101,18069,69 2 161090 -- MSL 35 (19U 66) +C 17565,18375,375 2 161091 -- MSL 36 (19U 67) +D 20490,18201,201 2 161092 -- MSL 37 (19U 68) +E 13173,18201,201 2 161093 -- MSL 38 (19U 69) +F 13173,18201,69 2 161094 -- MSL 39 (19U 70) +G 20490,18375,375 2 161095 -- MSL 40 (19U 71) +H 20490,18069,69 2 161096 -- MSL 41 (19U 72) +I 8781,18069,69 2 161097 -- MSL 42 (19U 73) +J 8781,18069,4218 2 161098 -- MSL 43 (19U 74) +K 16587,18069,69 2 161099 -- MSL 44 (19U 75) +L 13173,18069,201 2 161100 -- MSL 45 (19U 76) +M 23418,18069,69 2 161101 -- MSL 46 (19U 77) +N 20490,18069,69 2 161102 -- MSL 47 (19U 78) +O 21954,18375,375 2 161103 -- MSL 48 (19U 79) +P 15126,18069,69 2 161104 -- MSL 49 (19U 80) +Q 21954,18375,5223 3 161105 -- MSL 50 (19U 81) +R 16101,18069,69 2 161106 -- MSL 51 (19U 82) +S 13173,18375,375 2 161107 -- MSL 52 (19U 83) +T 14637,18201,69 2 161108 -- MSL 53 (19U 84) +U 20490,18069,375 2 161109 -- MSL 54 (19U 85) +V 17565,18069,69 2 161110 -- MSL 55 (19U 86) +W 26346,18069,69 2 161111 -- MSL 56 (19U 87) +X 16101,18069,69 2 161112 -- MSL 57 (19U 88) +Y 16101,18069,69 2 161113 -- MSL 58 (19U 89) +Z 16101,18201,201 2 161114 -- MSL 59 (19U 90) +lB 7317,18201,4701 2 161115 -- MSL 60 (19U 91) [ " -rs 7317,19650,525 2 3676 +rs 7317,19650,525 2 161116 -- MSL 61 (19U 92) \ " -rB 7317,18201,4701 2 3677 +rB 7317,18201,4701 2 161117 -- MSL 62 (19U 93) ] " -ha 13173,19758 2 51875 -_ 13173,0,6588 1 3679 -oq 7317,18375 2 51808 +ha 13173,19758 2 161118 -- MSL 63 (19U 94) +_ 13173,0,6588 1 161119 -- MSL 64 (19U 95) +oq 7317,18375 2 161169 -- MSL 66 (19U 145) ` " -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 -`A 17565,24537,69 2 3776 -^A 17565,24273,69 2 3778 -`E 13173,24537,201 2 3784 -^E 13173,24273,201 2 3786 -:E 13173,23301,201 2 3787 -^I 8781,24273,69 2 3790 -:I 8781,23301,69 2 3791 -aa 14637,18843 2 3764 -ga 14637,18843 2 3680 -a^ 14637,18738 2 3678 +a 13173,12840,375 0 161121 -- MSL 67 (19U 97) +b 14637,19569,375 2 161122 -- MSL 68 (19U 98) +c 13173,12840,375 0 161123 -- MSL 69 (19U 99) +d 14637,19569,375 2 161124 -- MSL 70 (19U 100) +e 13173,12840,375 0 161125 -- MSL 71 (19U 101) +f 8781,19710,69 2 161126 -- MSL 72 (19U 102) +g 13173,12840,5400 1 161127 -- MSL 73 (19U 103) +h 14637,19569,69 2 161128 -- MSL 74 (19U 104) +i 7317,19332,69 2 161129 -- MSL 75 (19U 105) +j 7317,19332,5400 3 161130 -- MSL 76 (19U 106) +k 13173,19569,69 2 161131 -- MSL 77 (19U 107) +l 7317,19569,69 2 161132 -- MSL 78 (19U 108) +m 21954,12900,69 0 161133 -- MSL 79 (19U 109) +n 14637,12840,69 0 161134 -- MSL 80 (19U 110) +o 14637,12840,375 0 161135 -- MSL 81 (19U 111) +p 14637,12840,5469 1 161136 -- MSL 82 (19U 112) +q 14637,12840,5469 1 161137 -- MSL 83 (19U 113) +r 10245,12780,69 0 161138 -- MSL 84 (19U 114) +s 10245,12840,375 0 161139 -- MSL 85 (19U 115) +t 8781,17100,375 0 161140 -- MSL 86 (19U 116) +u 14637,12534,375 0 161141 -- MSL 87 (19U 117) +v 13173,12534,69 0 161142 -- MSL 88 (19U 118) +w 20490,12534,69 0 161143 -- MSL 89 (19U 119) +x 13173,12534,69 0 161144 -- MSL 90 (19U 120) +y 13173,12534,5439 1 161145 -- MSL 91 (19U 121) +z 13173,12666,201 0 161146 -- MSL 92 (19U 122) +{ 13173,19935,6210 3 161147 -- MSL 93 (19U 123) +lC " +| 13173,19758,6588 3 161148 -- MSL 94 (19U 124) +ba " +} 13173,19935,6210 3 161149 -- MSL 95 (19U 125) +rC " +ti 26346,9435 0 161150 -- MSL 96 (19U 126) +`A 17565,24537,69 2 161216 -- MSL 99 (19U 192) +^A 17565,24273,69 2 161218 -- MSL 100 (19U 194) +`E 13173,24537,201 2 161224 -- MSL 101 (19U 200) +^E 13173,24273,201 2 161226 -- MSL 102 (19U 202) +:E 13173,23301,201 2 161227 -- MSL 103 (19U 203) +^I 8781,24273,69 2 161230 -- MSL 104 (19U 206) +:I 8781,23301,69 2 161231 -- MSL 105 (19U 207) +aa 14637,18843 2 161204 -- MSL 106 (19U 180) +ga 14637,18843 2 161120 -- MSL 107 (19U 96) +a^ 14637,18738 2 161160 -- MSL 108 (19U 136) ^ " -ad 14637,17694 0 3752 -a~ 14637,17694 0 3710 -~ " -`U 20490,24537,375 2 3801 -^U 20490,24273,375 2 3803 -'Y 16101,24537,69 2 3805 -'y 13173,18843,5439 3 3837 -de 14637,17700 0 3760 -,C 17565,18375,6663 3 3783 -,c 13173,12840,5469 1 3815 -~N 20490,23031,69 2 3793 -~n 14637,17694,69 0 3825 -r! 7317,12906,5469 1 3745 -r? 11709,12906,5469 1 3775 -Cs 14637,15834 0 3748 -Po 14637,17700,201 0 3747 -Ye 14637,17769,69 2 3749 -sc 14637,18000,1383 2 3751 -Fn 14637,19710,69 2 51871 -ct 14637,19788,135 2 3746 -^a 13173,18738,375 2 3810 -^e 13173,18738,375 2 3818 -^o 14637,18738,375 2 3828 -^u 14637,18738,375 2 3835 -'a 13173,18843,375 2 3809 -'e 13173,18843,375 2 3817 -'o 14637,18843,375 2 3827 -'u 14637,18843,375 2 3834 -`a 13173,18843,375 2 3808 -`e 13173,18843,375 2 3816 -`o 14637,18843,375 2 3826 -`u 14637,18843,375 2 3833 -:a 13173,17694,375 0 3812 -:e 13173,17694,375 0 3819 -:o 14637,17694,375 0 3830 -:u 14637,17694,375 0 3836 -oA 17565,25002,69 2 3781 -^i 7317,18738,69 2 3822 -/O 21954,18375,375 2 3800 -AE 22932,18201,201 2 3782 -oa 13173,18684,375 2 3813 -'i 7317,18843,69 2 3821 -/o 14637,12849,402 0 3832 -ae 20004,12840,375 0 3814 -:A 17565,23301,69 2 3780 -`i 7317,18843,69 2 3820 -:O 21954,23301,375 2 3798 -:U 20490,23301,375 2 3804 -'E 13173,24537,201 2 3785 -:i 7317,17694,69 0 3823 -ss 14637,19710,375 2 3807 -^O 21954,24273,375 2 3796 -'A 17565,24537,69 2 3777 -~A 17565,23031,69 2 3779 -~a 13173,17694,375 0 3811 --D 20490,18201,201 2 3792 -Sd 14637,19503,375 2 3824 -'I 8781,24537,69 2 3789 -`I 8781,24537,69 2 3788 -'O 21954,24537,375 2 3795 -`O 21954,24537,375 2 3794 -~O 21954,23031,375 2 3797 -~o 14637,17694,375 0 3829 -vS 13173,24273,375 2 51795 -vs 10245,18738,375 2 51827 -'U 20490,24537,375 2 3802 -:Y 16101,23301,69 2 51801 -:y 13173,17694,5439 1 3839 -TP 15126,18069,69 2 3806 -Tp 14637,19569,5469 3 3838 -mc 15612,12630,4680 0 3765 -ps 14637,19635,4200 2 3766 -34 23418,17700,444 0 3774 -\- 23418,7455 0 51757 -14 23418,18099,444 2 3772 -12 23418,18099,444 2 3773 -Of 9759,17700 0 3754 -Om 9759,17700 0 3770 -Fo 11709,11028 0 3755 -Fc 11709,11028 0 3771 -t+- 23418,13164,4314 0 3761 -bb 13173,19083,5916 3 3750 -co 13173,19635 2 3753 -tno 23418,10770 0 3756 -rg 13173,19635 2 3758 -S2 9759,17700 0 3762 -S3 9759,17700 0 3763 -ac 14637,0,5469 1 3768 -S1 9759,18099 2 3769 -tmu 23418,13107,567 0 3799 -tdi 23418,13017,387 0 3831 -pc 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 -a- 14637,16722 0 3759 -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 +ad 14637,17694 0 161192 -- MSL 109 (19U 168) +~ 14637,17694 0 161176 -- MSL 110 (19U 152) +a~ " +`U 20490,24537,375 2 161241 -- MSL 111 (19U 217) +^U 20490,24273,375 2 161243 -- MSL 112 (19U 219) +u00AF 13173,21105 2 161199 -- MSL 113 (19U 175) +'Y 16101,24537,69 2 161245 -- MSL 114 (19U 221) +'y 13173,18843,5439 3 161277 -- MSL 115 (19U 253) +de 14637,17700 0 161200 -- MSL 116 (19U 176) +,C 17565,18375,6663 3 161223 -- MSL 117 (19U 199) +,c 13173,12840,5469 1 161255 -- MSL 118 (19U 231) +~N 20490,23031,69 2 161233 -- MSL 119 (19U 209) +~n 14637,17694,69 0 161265 -- MSL 120 (19U 241) +r! 7317,12906,5469 1 161185 -- MSL 121 (19U 161) +r? 11709,12906,5469 1 161215 -- MSL 122 (19U 191) +Cs 14637,15834 0 161188 -- MSL 123 (19U 164) +Po 14637,17700,201 0 161187 -- MSL 124 (19U 163) +Ye 14637,17769,69 2 161189 -- MSL 125 (19U 165) +sc 14637,18000,1383 2 161191 -- MSL 126 (19U 167) +Fn 14637,19710,69 2 161155 -- MSL 127 (19U 131) +ct 14637,19788,135 2 161186 -- MSL 128 (19U 162) +^a 13173,18738,375 2 161250 -- MSL 129 (19U 226) +^e 13173,18738,375 2 161258 -- MSL 130 (19U 234) +^o 14637,18738,375 2 161268 -- MSL 131 (19U 244) +^u 14637,18738,375 2 161275 -- MSL 132 (19U 251) +'a 13173,18843,375 2 161249 -- MSL 133 (19U 225) +'e 13173,18843,375 2 161257 -- MSL 134 (19U 233) +'o 14637,18843,375 2 161267 -- MSL 135 (19U 243) +'u 14637,18843,375 2 161274 -- MSL 136 (19U 250) +`a 13173,18843,375 2 161248 -- MSL 137 (19U 224) +`e 13173,18843,375 2 161256 -- MSL 138 (19U 232) +`o 14637,18843,375 2 161266 -- MSL 139 (19U 242) +`u 14637,18843,375 2 161273 -- MSL 140 (19U 249) +:a 13173,17694,375 0 161252 -- MSL 141 (19U 228) +:e 13173,17694,375 0 161259 -- MSL 142 (19U 235) +:o 14637,17694,375 0 161270 -- MSL 143 (19U 246) +:u 14637,17694,375 0 161276 -- MSL 144 (19U 252) +oA 17565,25002,69 2 161221 -- MSL 145 (19U 197) +^i 7317,18738,69 2 161262 -- MSL 146 (19U 238) +/O 21954,18375,375 2 161240 -- MSL 147 (19U 216) +AE 22932,18201,201 2 161222 -- MSL 148 (19U 198) +oa 13173,18684,375 2 161253 -- MSL 149 (19U 229) +'i 7317,18843,69 2 161261 -- MSL 150 (19U 237) +/o 14637,12849,402 0 161272 -- MSL 151 (19U 248) +ae 20004,12840,375 0 161254 -- MSL 152 (19U 230) +:A 17565,23301,69 2 161220 -- MSL 153 (19U 196) +`i 7317,18843,69 2 161260 -- MSL 154 (19U 236) +:O 21954,23301,375 2 161238 -- MSL 155 (19U 214) +:U 20490,23301,375 2 161244 -- MSL 156 (19U 220) +'E 13173,24537,201 2 161225 -- MSL 157 (19U 201) +:i 7317,17694,69 0 161263 -- MSL 158 (19U 239) +ss 14637,19710,375 2 161247 -- MSL 159 (19U 223) +^O 21954,24273,375 2 161236 -- MSL 160 (19U 212) +'A 17565,24537,69 2 161217 -- MSL 161 (19U 193) +~A 17565,23031,69 2 161219 -- MSL 162 (19U 195) +~a 13173,17694,375 0 161251 -- MSL 163 (19U 227) +-D 20490,18201,201 2 161232 -- MSL 164 (19U 208) +Sd 14637,19503,375 2 161264 -- MSL 165 (19U 240) +'I 8781,24537,69 2 161229 -- MSL 166 (19U 205) +`I 8781,24537,69 2 161228 -- MSL 167 (19U 204) +'O 21954,24537,375 2 161235 -- MSL 168 (19U 211) +`O 21954,24537,375 2 161234 -- MSL 169 (19U 210) +~O 21954,23031,375 2 161237 -- MSL 170 (19U 213) +~o 14637,17694,375 0 161269 -- MSL 171 (19U 245) +vS 13173,24273,375 2 161162 -- MSL 172 (19U 138) +vs 10245,18738,375 2 161178 -- MSL 173 (19U 154) +'U 20490,24537,375 2 161242 -- MSL 174 (19U 218) +:Y 16101,23301,69 2 161183 -- MSL 175 (19U 159) +:y 13173,17694,5439 1 161279 -- MSL 176 (19U 255) +TP 15126,18069,69 2 161246 -- MSL 177 (19U 222) +Tp 14637,19569,5469 3 161278 -- MSL 178 (19U 254) +mc 15612,12630,4680 0 161205 -- MSL 180 (19U 181) +ps 14637,19635,4200 2 161206 -- MSL 181 (19U 182) +34 23418,17700,444 0 161214 -- MSL 182 (19U 190) +\- 23418,7455 0 60096 -- MSL 183 ( 7J 192) +14 23418,18099,444 2 161212 -- MSL 184 (19U 188) +12 23418,18099,444 2 161213 -- MSL 185 (19U 189) +Of 9759,17700 0 161194 -- MSL 186 (19U 170) +Om 9759,17700 0 161210 -- MSL 187 (19U 186) +Fo 11709,11028 0 161195 -- MSL 188 (19U 171) +Fc 11709,11028 0 161211 -- MSL 190 (19U 187) +t+- 23418,13164,4314 0 161201 -- MSL 191 (19U 177) +bb 13173,19083,5916 3 161190 -- MSL 192 (19U 166) +co 13173,19635 2 161193 -- MSL 193 (19U 169) +tno 23418,10770 0 161196 -- MSL 194 (19U 172) +u00AD 7317,8307 0 161197 -- MSL 195 (19U 173) +rg 13173,19635 2 161198 -- MSL 196 (19U 174) +S2 9759,17700 0 161202 -- MSL 197 (19U 178) +S3 9759,17700 0 161203 -- MSL 198 (19U 179) +ac 14637,0,5469 1 161208 -- MSL 199 (19U 184) +S1 9759,18099 2 161209 -- MSL 200 (19U 185) +tmu 23418,13107,567 0 161239 -- MSL 201 (19U 215) +tdi 23418,13017,387 0 161271 -- MSL 202 (19U 247) +u203C 14637,18000,375 2 87315 -- MSL 221 (10U 19) +u20A7 23907,18069,375 2 60121 -- MSL 232 ( 7J 217) +pc 7317,11274 0 161207 -- MSL 302 (19U 183) +u013F 13173,18069,201 2 51943 -- MSL 306 ( 6J 231) +u0140 10245,19569,69 2 51959 -- MSL 307 ( 6J 247) +u2113 14637,18045,765 2 60122 -- MSL 308 ( 7J 218) +u0149 20979,18375,69 2 51951 -- MSL 309 ( 6J 239) +fm 7317,18096 2 60101 -- MSL 310 ( 7J 197) +sd 14637,18096 2 60102 -- MSL 311 ( 7J 198) +dg 14637,18201,426 2 161158 -- MSL 312 (19U 134) +tm 16101,17850 2 161177 -- MSL 313 (19U 153) +u2017 13173,0,6588 1 60095 -- MSL 314 ( 7J 191) +ah 14637,18738 2 75169 -- MSL 315 ( 9E 161) +ao 14637,18684 2 60152 -- MSL 316 ( 7J 248) +f/ 2928,17544,444 0 60109 -- MSL 324 ( 7J 205) +em 23418,8085 0 161175 -- MSL 325 (19U 151) +en 14637,8085 0 161174 -- MSL 326 (19U 150) +dd 14637,18201,426 2 161159 -- MSL 327 (19U 135) +.i 7317,12534,69 0 46333 -- MSL 328 ( 5T 253) +aq 7317,18375 2 161063 -- MSL 329 (19U 39) +bu 13173,14226 0 161173 -- MSL 331 (19U 149) +u207F 9759,17700 0 87548 -- MSL 332 (10U 252) +u0111 14637,19569,375 2 75248 -- MSL 342 ( 9E 240) +u0041_0306 17565,23988,69 2 75203 -- MSL 400 ( 9E 195) +u0061_0306 13173,18525,375 2 75235 -- MSL 401 ( 9E 227) +u0041_0328 17565,18069,4134 2 75173 -- MSL 404 ( 9E 165) +u0061_0328 13173,12840,3774 0 75193 -- MSL 405 ( 9E 185) +'C 17565,24537,375 2 75206 -- MSL 406 ( 9E 198) +'c 13173,18843,375 2 75238 -- MSL 407 ( 9E 230) +u0041_030C 17565,24273,375 2 75208 -- MSL 410 ( 9E 200) +u0061_030C 13173,18738,375 2 75240 -- MSL 411 ( 9E 232) +u0044_030C 20490,24273,201 2 75215 -- MSL 414 ( 9E 207) +u0064_030C 18051,19710,375 2 75247 -- MSL 415 ( 9E 239) +u0045_030C 13173,24273,201 2 75212 -- MSL 416 ( 9E 204) +u0065_030C 13173,18738,375 2 75244 -- MSL 417 ( 9E 236) +u0045_0328 13173,18201,4134 2 75210 -- MSL 422 ( 9E 202) +u0065_0328 13173,12840,3774 0 75242 -- MSL 423 ( 9E 234) +u004C_0301 13173,24537,201 2 75205 -- MSL 440 ( 9E 197) +u006C_0301 7317,25578,69 2 75237 -- MSL 441 ( 9E 229) +u004C_030C 13173,18516,201 2 75196 -- MSL 442 ( 9E 188) +u006C_030C 10245,19710,69 2 75198 -- MSL 443 ( 9E 190) +u004E_0301 20490,24537,69 2 75217 -- MSL 446 ( 9E 209) +u006E_0301 14637,18843,69 2 75249 -- MSL 447 ( 9E 241) +u004E_030C 20490,24273,69 2 75218 -- MSL 448 ( 9E 210) +u006E_030C 14637,18738,69 2 75250 -- MSL 449 ( 9E 242) +u004F_030B 21954,24537,375 2 75221 -- MSL 452 ( 9E 213) +u006F_030B 14637,18843,375 2 75253 -- MSL 453 ( 9E 245) +u0052_0301 16101,24537,69 2 75200 -- MSL 456 ( 9E 192) +u0072_0301 10245,18843,69 2 75232 -- MSL 457 ( 9E 224) +u0052_030C 16101,24273,69 2 75224 -- MSL 458 ( 9E 216) +u0072_030C 10245,18738,69 2 75256 -- MSL 459 ( 9E 248) +u0053_0301 13173,24537,375 2 75148 -- MSL 462 ( 9E 140) +u0073_0301 10245,18843,375 2 75164 -- MSL 463 ( 9E 156) +u0054_030C 14637,24273,69 2 75149 -- MSL 466 ( 9E 141) +u0074_030C 10245,19710,375 2 75165 -- MSL 467 ( 9E 157) +u0054_0327 14637,18201,6663 3 75230 -- MSL 468 ( 9E 222) +u0074_0327 8781,17100,5469 1 75262 -- MSL 469 ( 9E 254) +u0055_030B 20490,24537,375 2 75227 -- MSL 474 ( 9E 219) +u0075_030B 14637,18843,375 2 75259 -- MSL 475 ( 9E 251) +u0055_030A 20490,25002,375 2 75225 -- MSL 476 ( 9E 217) +u0075_030A 14637,18684,375 2 75257 -- MSL 477 ( 9E 249) +u005A_0301 16101,24537,201 2 75151 -- MSL 482 ( 9E 143) +u007A_0301 13173,18843,201 2 75167 -- MSL 483 ( 9E 159) +u005A_0307 16101,24342,201 2 75183 -- MSL 484 ( 9E 175) +u007A_0307 13173,18792,201 2 75199 -- MSL 485 ( 9E 191) +u2070 9759,17700 0 51753 -- MSL 1000 ( 6J 41) +u2074 9759,17544 0 51748 -- MSL 1001 ( 6J 36) +u2075 9759,17676 0 51749 -- MSL 1002 ( 6J 37) +u2076 9759,17700 0 51806 -- MSL 1003 ( 6J 94) +u2077 9759,17676 0 51750 -- MSL 1004 ( 6J 38) +u2078 9759,17700 0 51754 -- MSL 1005 ( 6J 42) +u2079 9759,17700 0 51752 -- MSL 1006 ( 6J 40) +lq 12198,18330 2 161171 -- MSL 1017 (19U 147) +rq 12198,18375 2 161172 -- MSL 1018 (19U 148) +Bq 12198,4095,4371 0 161156 -- MSL 1019 (19U 132) +u2003 23418,0 0 51821 -- MSL 1020 ( 6J 109) +u2002 14637,0 0 51822 -- MSL 1021 ( 6J 110) +u2009 7317,0 0 51828 -- MSL 1023 ( 6J 116) +u2026 23418,3729 0 161157 -- MSL 1028 (19U 133) +vz 13173,18738,201 2 75166 -- MSL 1031 ( 9E 158) +u2120 16101,18000 2 128299 -- MSL 1034 (15U 43) +u211E 20004,18315,4056 2 51794 -- MSL 1036 ( 6J 82) +fi 15126,19710,69 2 60077 -- MSL 1040 ( 7J 173) +fl 15126,19710,69 2 60078 -- MSL 1041 ( 7J 174) +ff 16587,19710,69 2 51883 -- MSL 1042 ( 6J 171) +Fi 22932,19710,69 2 51884 -- MSL 1043 ( 6J 172) +Fl 22932,19710,69 2 51885 -- MSL 1044 ( 6J 173) +ij 14637,19332,5400 3 60134 -- MSL 1047 ( 7J 230) +u2105 25371,19656,300 2 60072 -- MSL 1060 ( 7J 168) +u0047_0306 20490,23988,375 2 46288 -- MSL 1061 ( 5T 208) +u0067_0306 13173,18525,5400 3 46320 -- MSL 1062 ( 5T 240) +u0053_0327 13173,18375,6663 3 75178 -- MSL 1063 ( 9E 170) +u0073_0327 10245,12840,5469 1 75194 -- MSL 1064 ( 9E 186) +u0049_0307 8781,24342,69 2 46301 -- MSL 1065 ( 5T 221) +bq 7317,4095,4371 0 161154 -- MSL 1067 (19U 130) +%0 33177,17769,444 2 161161 -- MSL 1068 (19U 137) +a- 14637,16722 0 60154 -- MSL 1084 ( 7J 250) +ab 14637,18525 2 75170 -- MSL 1086 ( 9E 162) +a. 14637,18792 2 75263 -- MSL 1088 ( 9E 255) +oe 22443,12840,375 0 161180 -- MSL 1090 (19U 156) +OE 24882,18375,375 2 161164 -- MSL 1091 (19U 140) +fo 7317,11028 0 161163 -- MSL 1092 (19U 139) +fc 7317,11028 0 161179 -- MSL 1093 (19U 155) +sq 19029,15624 0 60091 -- MSL 1094 ( 7J 187) +/L 13173,18069,201 2 75171 -- MSL 1095 ( 9E 163) +/l 7317,19569,69 2 75187 -- MSL 1096 ( 9E 179) +a" 14637,18843 2 75197 -- MSL 1097 ( 9E 189) +ho 14637,654,3774 0 75186 -- MSL 1098 ( 9E 178) +vZ 16101,24273,201 2 75150 -- MSL 1106 ( 9E 142) +IJ 17565,18069,4218 2 60135 -- MSL 1107 ( 7J 231) diff -ruN groff-1.19/font/devlj4/OBI groff-1.19.1/font/devlj4/OBI --- groff-1.19/font/devlj4/OBI Tue Feb 25 06:38:56 2003 +++ groff-1.19.1/font/devlj4/OBI Wed Feb 18 10:01:17 2004 @@ -1,3 +1,4 @@ +# CG Omega BdIt name OBI spacewidth 7317 slant 12.350000 @@ -7,699 +8,769 @@ 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 cq -2439 -L ' -2439 -T hy -2439 -T - -2439 -T en -2439 -T em -2439 -A cq -3414 -A ' -3414 -hy T -2925 -- T -2925 -en T -2925 -em T -2925 -Y hy -2439 -Y - -2439 -Y en -2439 -Y em -2439 -p cq -486 -p ' -486 -c cq -486 -c ' -486 -e cq -1461 -e ' -1461 -b cq -1950 -b ' -1950 -a cq -975 -a ' -975 -V hy -1461 -V - -1461 -V en -1461 -V em -1461 -h cq -1461 -h ' -1461 -n cq -1461 -n ' -1461 -R cq -486 -R ' -486 -W hy -975 -W - -975 -W en -975 -W em -975 -cq d -1461 -' d -1461 -L hy -1950 -L - -1950 -L en -1950 -L em -1950 -X hy -1461 -X - -1461 -X en -1461 -X em -1461 -A hy -1950 -A - -1950 -A en -1950 -A em -1950 -K hy -1461 -K - -1461 -K en -1461 -K em -1461 -cq s -975 -' s -975 -hy X -1461 -- X -1461 -hy A -975 -- A -975 -en X -1461 -en A -975 -em X -1461 -R hy -486 -R - -486 -R en -486 -R em -486 -K cq -486 -K ' -486 -b f -486 -k cq -486 -k ' -486 -Z hy -486 -Z - -486 -Z en -486 -Z em -486 -k hy -486 -k - -486 -k en -486 -k em -486 +L V -2438 +P . -3902 +P , -3902 +V A -3902 +A V -4388 +T o -2438 +T r -2438 +T c -2438 +T e -2438 +T d -2438 +T s -2438 +T y -2438 +T a -2438 +T w -2438 +T u -2438 +L T -2438 +L Y -2438 +Y o -3902 +Y e -3413 +Y a -3902 +A W -3902 +W A -3413 +T A -2438 +V o -2924 +V e -2438 +V a -2924 +Y A -3902 +F A -1460 +F . -3902 +F , -3902 +A T -2924 +A Y -4388 +v . -2924 +v , -2924 +y . -2924 +y , -2924 +T . -2438 +T , -2438 +L W -2438 +P A -1949 +V . -3902 +V , -3902 +Y . -3902 +Y , -3902 +W o -2438 +W e -1949 +W a -2438 +W . -3413 +W , -3413 +r . -2438 +r , -2438 +w . -2924 +w , -2924 +Y u -2438 +A v -2924 +A y -2924 +A w -2924 +o . -974 +o , -974 +p . -974 +p , -974 +e . -485 +e , -485 +b . -974 +b , -974 +O T -2438 +O V -1949 +O Y -2438 +O . -1949 +O , -1949 +L y -2438 +L O -2438 +L G -2438 +L C -2438 +L Q -2438 +V y -1460 +V u -1460 +V O -1460 +V G -1460 +V C -1460 +V Q -1460 +D T -2438 +D V -1949 +D Y -2438 +D . -1949 +D , -1949 +Y O -1949 +Y G -1949 +Y C -1949 +Y Q -1949 +F o -485 +F e -485 +F a -485 +c . -485 +c , -485 +O A -974 +O W -1460 +L U -2438 +R T -485 +R V -485 +R Y -485 +R W -485 +G T -974 +P o -974 +P g -974 +P e -974 +P a -974 +C A -485 +C . -485 +C , -485 +D A -974 +D W -1460 +B T -1949 +B Y -1949 +B . -1460 +B , -1460 +A O -1949 +A G -1949 +A C -1949 +A U -1949 +A Q -1949 +W r -974 +W y -974 +W u -974 +W O -974 +W G -974 +W C -974 +W Q -974 +J A -974 +J . -974 +J , -974 +U A -974 +U . -1949 +U , -1949 +Q W -1460 +f . -485 +f , -485 +T O -1949 +T G -1949 +T C -1949 +T Q -1949 +O X -1460 +L o -1949 +L e -1460 +L q -1949 +G V -974 +G Y -974 +G W -974 +G . -485 +G , -485 +P T -974 +P V -974 +P Y -974 +C T -485 +C V -485 +C Y -485 +D X -1460 +B V -1949 +B X -1460 +B A -974 +B W -1460 +S . -485 +S , -485 +X o -1460 +X e -1460 +X y -1460 +X O -1460 +X G -1460 +X C -1460 +X Q -1460 +A o -1949 +A e -1460 +K o -1460 +K e -1460 +K y -1460 +K w -1460 +K O -1460 +K G -1460 +K C -1460 +K Q -1460 +o v -974 +o y -974 +o x -485 +o w -974 +h v -974 +h y -974 +n v -974 +n y -974 +p v -485 +p y -485 +p x -485 +c v -485 +c y -485 +c w -485 +v o -485 +v g -485 +v c -485 +v d -485 +v a -485 +v q -485 +e v -974 +e y -974 +b v -974 +b y -974 +b w -974 +s . -485 +s , -485 +y o -485 +y g -485 +y c -485 +y d -485 +y a -485 +y q -485 +f g -485 +x o -485 +x g -485 +x c -485 +x e -485 +x d -485 +x a -485 +x q -485 +a v -974 +a y -974 +a w -974 +w o -485 +w g -485 +w c -485 +w d -485 +w a -485 +w q -485 +T i -485 +T S -485 +L a -974 +L S -974 +R o -974 +R y -485 +R O -485 +R G -485 +R C -485 +R U -485 +R Q -485 +G X -485 +G A -485 +P s -974 +P Z -974 +P X -974 +P W -974 +C X -485 +C W -485 +V i -485 +V S -485 +S T -974 +S V -974 +S Y -974 +S X -485 +S A -485 +S W -974 +Y i -485 +Y S -485 +X a -974 +X u -974 +X S -485 +A t -974 +A g -974 +A c -1460 +A d -1949 +A a -974 +A u -974 +A q -1949 +A S -974 +W i -485 +W S -485 +K c -1460 +K u -974 +K S -974 +o f -485 +h w -974 +n w -974 +p f -485 +p w -485 +c f -485 +c x -485 +v e -485 +v s -485 +e f -485 +e x -485 +e w -974 +b f -485 +y e -485 +y s -485 +f o -485 +f c -485 +f e -485 +f d -485 +f s -485 +f a -485 +f q -485 +w e -485 +w s -485 +k o -485 +k g -485 +k c -485 +k v -485 +k e -485 +k d -485 +k y -485 +k a -485 +k w -485 +k q -485 +O Z -485 +R e -974 +R a -974 +R u -485 +R S -485 +G Z -485 +C Z -485 +Z o -974 +Z e -974 +Z d -974 +Z y -485 +Z a -974 +Z w -485 +Z u -485 +Z O -485 +Z G -485 +Z C -485 +Z S -485 +Z Q -485 +D Z -485 +B Z -485 +S Z -485 +J o -485 +J e -485 +J a -485 +K a -974 +o z -485 +h f -485 +n f -485 +p z -485 +c z -485 +e z -485 +z o -485 +z g -485 +z c -485 +z e -485 +z d -485 +z a -485 +z q -485 +b z -485 +a f -485 +k t -485 +k f -485 +k u -485 +A f -485 +K T -485 +K V -485 +K Y -485 +K W -485 +K U -485 +L cq -2438 +L ' -2438 +T hy -2438 +T - -2438 +T en -2438 +T em -2438 +A cq -3413 +A ' -3413 +hy T -2924 +- T -2924 +en T -2924 +em T -2924 +Y hy -2438 +Y - -2438 +Y en -2438 +Y em -2438 +p cq -485 +p ' -485 +c cq -485 +c ' -485 +e cq -1460 +e ' -1460 +b cq -1949 +b ' -1949 +a cq -974 +a ' -974 +V hy -1460 +V - -1460 +V en -1460 +V em -1460 +h cq -1460 +h ' -1460 +n cq -1460 +n ' -1460 +R cq -485 +R ' -485 +W hy -974 +W - -974 +W en -974 +W em -974 +cq d -1460 +' d -1460 +L hy -1949 +L - -1949 +L en -1949 +L em -1949 +X hy -1460 +X - -1460 +X en -1460 +X em -1460 +A hy -1949 +A - -1949 +A en -1949 +A em -1949 +K hy -1460 +K - -1460 +K en -1460 +K em -1460 +cq s -974 +' s -974 +hy X -1460 +- X -1460 +hy A -974 +- A -974 +en X -1460 +en A -974 +em X -1460 +R hy -485 +R - -485 +R en -485 +R em -485 +K cq -485 +K ' -485 +b f -485 +k cq -485 +k ' -485 +Z hy -485 +Z - -485 +Z en -485 +Z em -485 +k hy -485 +k - -485 +k en -485 +k em -485 charset -! 7317,18000,375,1944,753,737 2 3617 -dq 12198,18375,0,1623,-2622,737 2 3618 +! 7317,18000,375,1944,753,737 2 161057 -- MSL 1 (19U 33) +dq 12198,18375,0,1623,-2621,737 2 161058 -- MSL 2 (19U 34) " " -sh 14637,18069,444,1440,228,737 2 3619 +sh 14637,18069,444,1440,228,737 2 161059 -- MSL 3 (19U 35) # " -Do 14637,19839,3099,1341,702,737 2 3620 +Do 14637,19839,3099,1341,702,737 2 161060 -- MSL 4 (19U 36) $ " -% 23418,17769,264,0,-2067 0 3621 -& 19029,18000,375,237,198,237 2 3622 -cq 7317,18375,0,2511,-531,737 2 51751 +% 23418,17769,264,0,-2066 0 161061 -- MSL 5 (19U 37) +& 19029,18000,375,237,198,237 2 161062 -- MSL 6 (19U 38) +cq 7317,18375,0,2511,-530,737 2 161170 -- MSL 8 (19U 146) ' " -( 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 -hy 7317,8715,0,1497,1071,737 0 3629 +( 7317,18375,3165,3450,135,737 2 161064 -- MSL 9 (19U 40) +) 7317,18375,3165,1164,2421,737 2 161065 -- MSL 10 (19U 41) +* 14637,18150,0,63,-2363,63 2 161066 -- MSL 11 (19U 42) ++ 23418,13164,534,0,-3527 0 161067 -- MSL 12 (19U 43) +, 7317,3966,5040,0,3423 1 161068 -- MSL 13 (19U 44) +hy 7317,8715,0,1497,1071,737 0 161069 -- MSL 14 (19U 45) - " -. 7317,3849,375,0,627 0 3630 -sl 7317,19575,450,4377,2736,737 2 3631 +. 7317,3849,375,0,627 0 161070 -- MSL 15 (19U 46) +sl 7317,19575,450,4377,2736,737 2 161071 -- MSL 16 (19U 47) / " -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 +0 14637,17700,375,933,-158,737 0 161072 -- MSL 17 (19U 48) +1 14637,17700,69,0,-2429 0 161073 -- MSL 18 (19U 49) +2 14637,17700,201,921,858,737 0 161074 -- MSL 19 (19U 50) +3 14637,17700,375,372,819,372 0 161075 -- MSL 20 (19U 51) +4 14637,17394,69,1008,684,737 0 161076 -- MSL 21 (19U 52) +5 14637,17526,375,1362,669,737 0 161077 -- MSL 22 (19U 53) +6 14637,17700,375,399,-581,399 0 161078 -- MSL 23 (19U 54) +7 14637,17526,69,2931,-122,737 0 161079 -- MSL 24 (19U 55) +8 14637,17700,375,1155,174,737 0 161080 -- MSL 25 (19U 56) +9 14637,17700,375,843,-404,737 0 161081 -- MSL 26 (19U 57) +: 7317,11754,375,759,627,737 0 161082 -- MSL 27 (19U 58) +; 7317,11754,5040,759,3423,737 1 161083 -- MSL 28 (19U 59) +< 26346,16068,0,0,-3980 0 161084 -- MSL 29 (19U 60) += 23418,9624,0,0,-4067 0 161085 -- MSL 30 (19U 61) +> 26346,16068,0,0,-3980 0 161086 -- MSL 31 (19U 62) +? 11709,18000,375,900,-1322,737 2 161087 -- MSL 32 (19U 63) +at 23418,16950,4131,966,348,737 0 161088 -- MSL 33 (19U 64) @ " -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 +A 17565,18069,69,0,2586 2 161089 -- MSL 34 (19U 65) +B 16101,18069,69,864,306,737 2 161090 -- MSL 35 (19U 66) +C 17565,18375,375,2640,-599,737 2 161091 -- MSL 36 (19U 67) +D 20490,18069,69,720,279,720 2 161092 -- MSL 37 (19U 68) +E 13173,18201,201,2835,738,737 2 161093 -- MSL 38 (19U 69) +F 13173,18201,69,3051,612,737 2 161094 -- MSL 39 (19U 70) +G 20490,18375,375,1230,-797,737 2 161095 -- MSL 40 (19U 71) +H 20490,18069,69,1671,417,737 2 161096 -- MSL 41 (19U 72) +I 8781,18069,69,1779,441,737 2 161097 -- MSL 42 (19U 73) +J 8781,18069,4242,1551,2634,737 2 161098 -- MSL 43 (19U 74) +K 16101,18069,69,3528,366,737 2 161099 -- MSL 44 (19U 75) +L 13173,18069,201,201,168,201 2 161100 -- MSL 45 (19U 76) +M 23418,18069,414,1542,768,737 2 161101 -- MSL 46 (19U 77) +N 20490,18069,69,1383,192,737 2 161102 -- MSL 47 (19U 78) +O 21954,18375,375,942,-446,737 2 161103 -- MSL 48 (19U 79) +P 14637,18069,69,2064,519,737 2 161104 -- MSL 49 (19U 80) +Q 21954,18375,4200,1008,-395,737 2 161105 -- MSL 50 (19U 81) +R 16101,18069,69,900,387,737 2 161106 -- MSL 51 (19U 82) +S 13173,18375,375,1626,879,737 2 161107 -- MSL 52 (19U 83) +T 14637,18201,69,3006,-1070,737 2 161108 -- MSL 53 (19U 84) +U 20490,18069,375,1671,-1070,737 2 161109 -- MSL 54 (19U 85) +V 17565,18069,69,3372,-1445,737 2 161110 -- MSL 55 (19U 86) +W 24882,18069,69,3120,-1604,737 2 161111 -- MSL 56 (19U 87) +X 16101,18069,69,2451,1470,737 2 161112 -- MSL 57 (19U 88) +Y 16101,18069,69,3747,-1418,737 2 161113 -- MSL 58 (19U 89) +Z 16101,18201,201,2589,2115,737 2 161114 -- MSL 59 (19U 90) +lB 7317,18249,4749,3699,2235,737 2 161115 -- MSL 60 (19U 91) [ " -rs 7317,19575,450,0,-1611 2 3676 +rs 7317,19575,450,0,-1610 2 161116 -- MSL 61 (19U 92) \ " -rB 7317,18249,4749,3696,2238,737 2 3677 +rB 7317,18249,4749,3696,2238,737 2 161117 -- MSL 62 (19U 93) ] " -ha 13173,19758,0,36,36,36 2 51875 -_ 13173,0,6588,1317,1317,737 1 3679 -oq 7317,18375,0,2508,-528,737 2 51808 +ha 13173,19758,0,36,36,36 2 161118 -- MSL 63 (19U 94) +_ 13173,0,6588,1317,1317,737 1 161119 -- MSL 64 (19U 95) +oq 7317,18375,0,2508,-527,737 2 161169 -- MSL 66 (19U 145) ` " -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 -`A 17565,24342,69,0,2586 2 3776 -^A 17565,24321,69,0,2586 2 3778 -`E 13173,24342,201,2835,738,737 2 3784 -^E 13173,24321,201,2835,738,737 2 3786 -:E 13173,23610,201,3084,738,737 2 3787 -^I 8781,24321,69,4296,441,737 2 3790 -:I 8781,23610,69,5280,441,737 2 3791 -aa 14637,18801,0,297,-5763,297 2 3764 -ga 14637,18801,0,0,-4419 2 3680 -a^ 14637,18780,0,0,-3456 2 3678 +a 13173,12840,375,189,954,189 0 161121 -- MSL 67 (19U 97) +b 14637,19779,375,666,1191,666 2 161122 -- MSL 68 (19U 98) +c 12684,12840,375,2118,171,737 0 161123 -- MSL 69 (19U 99) +d 14637,19569,375,2727,594,737 2 161124 -- MSL 70 (19U 100) +e 13173,12840,375,750,480,737 0 161125 -- MSL 71 (19U 101) +f 8781,19710,69,3357,996,737 2 161126 -- MSL 72 (19U 102) +g 13173,12840,5400,1836,1659,737 1 161127 -- MSL 73 (19U 103) +h 14637,19569,69,423,1242,423 2 161128 -- MSL 74 (19U 104) +i 7317,19308,69,1794,1131,737 2 161129 -- MSL 75 (19U 105) +j 7317,19308,5400,1797,3720,737 3 161130 -- MSL 76 (19U 106) +k 13173,19569,69,2670,1353,737 2 161131 -- MSL 77 (19U 107) +l 7317,19569,69,2586,1086,737 2 161132 -- MSL 78 (19U 108) +m 21954,12840,69,375,1272,375 0 161133 -- MSL 79 (19U 109) +n 14637,12840,69,438,1206,438 0 161134 -- MSL 80 (19U 110) +o 14637,12840,375,708,618,708 0 161135 -- MSL 81 (19U 111) +p 14637,12840,5469,663,2349,663 1 161136 -- MSL 82 (19U 112) +q 14637,12840,5469,1281,558,737 1 161137 -- MSL 83 (19U 113) +r 10245,12840,69,1326,1107,737 0 161138 -- MSL 84 (19U 114) +s 10245,12840,375,1188,1230,737 0 161139 -- MSL 85 (19U 115) +t 8781,17055,375,2148,-188,737 0 161140 -- MSL 86 (19U 116) +u 14637,12534,375,1230,417,737 0 161141 -- MSL 87 (19U 117) +v 13173,12534,69,2223,-767,737 0 161142 -- MSL 88 (19U 118) +w 20490,12534,69,2229,-953,737 0 161143 -- MSL 89 (19U 119) +x 13173,12534,69,1647,2190,737 0 161144 -- MSL 90 (19U 120) +y 13173,12534,5469,2040,1176,737 1 161145 -- MSL 91 (19U 121) +z 13173,12666,201,1464,1689,737 0 161146 -- MSL 92 (19U 122) +{ 13173,19935,6210,3339,-971,737 3 161147 -- MSL 93 (19U 123) +lC " +| 13173,19758,6588,0,-4595 3 161148 -- MSL 94 (19U 124) +ba " +} 13173,19935,6210,63,2304,63 3 161149 -- MSL 95 (19U 125) +rC " +ti 26346,9435,0,0,-4028 0 161150 -- MSL 96 (19U 126) +`A 17565,24342,69,0,2586 2 161216 -- MSL 99 (19U 192) +^A 17565,24321,69,0,2586 2 161218 -- MSL 100 (19U 194) +`E 13173,24342,201,2835,738,737 2 161224 -- MSL 101 (19U 200) +^E 13173,24321,201,2835,738,737 2 161226 -- MSL 102 (19U 202) +:E 13173,23610,201,3084,738,737 2 161227 -- MSL 103 (19U 203) +^I 8781,24321,69,4296,441,737 2 161230 -- MSL 104 (19U 206) +:I 8781,23610,69,5280,441,737 2 161231 -- MSL 105 (19U 207) +aa 14637,18801,0,297,-5762,297 2 161204 -- MSL 106 (19U 180) +ga 14637,18801,0,0,-4418 2 161120 -- MSL 107 (19U 96) +a^ 14637,18780,0,0,-3455 2 161160 -- MSL 108 (19U 136) ^ " -ad 14637,18090,0,429,-4023,429 2 3752 -a~ 14637,17847,0,1308,-3438,737 2 3710 -~ " -`U 20490,24342,375,1671,-1071,737 2 3801 -^U 20490,24321,375,1671,-1071,737 2 3803 -'Y 16101,24342,69,3747,-1419,737 2 3805 -'y 13173,18801,5469,2040,1176,737 3 3837 -de 14637,17700,0,0,-2586 0 3760 -,C 17565,18375,5988,2640,-600,737 3 3783 -,c 12684,12840,5733,2118,171,737 1 3815 -~N 20490,23382,69,1383,192,737 2 3793 -~n 14637,17847,69,1308,1206,737 2 3825 -r! 7317,12906,5469,861,1836,737 1 3745 -r? 11709,12906,5469,0,90 1 3775 -Cs 14637,15834,0,1452,477,737 0 3748 -Po 14637,17700,201,1260,1419,737 0 3747 -Ye 14637,18069,69,4212,-132,737 2 3749 -sc 14637,18375,1383,0,-933 2 3751 -Fn 14637,19710,69,366,-1863,366 2 51871 -ct 14637,19812,342,2082,-1152,737 2 3746 -^a 13173,18780,375,711,954,711 2 3810 -^e 13173,18780,375,750,480,737 2 3818 -^o 14637,18780,375,708,618,708 2 3828 -^u 14637,18780,375,1230,417,737 2 3835 -'a 13173,18801,375,1029,954,737 2 3809 -'e 13173,18801,375,1029,480,737 2 3817 -'o 14637,18801,375,708,618,708 2 3827 -'u 14637,18801,375,1230,417,737 2 3834 -`a 13173,18801,375,189,954,189 2 3808 -`e 13173,18801,375,750,480,737 2 3816 -`o 14637,18801,375,708,618,708 2 3826 -`u 14637,18801,375,1230,417,737 2 3833 -:a 13173,18090,375,1161,954,737 2 3812 -:e 13173,18090,375,1161,480,737 2 3819 -:o 14637,18090,375,708,618,708 2 3830 -:u 14637,18090,375,1230,417,737 2 3836 -oA 17565,25035,69,0,2586 2 3781 -^i 7317,18780,69,3639,1134,737 2 3822 -/O 21954,18375,1017,1311,-312,737 2 3800 -AE 22932,18201,201,2844,2589,737 2 3782 -oa 13173,18678,375,189,954,189 2 3813 -'i 7317,18801,69,3957,1134,737 2 3821 -/o 14637,13446,843,1227,1224,737 0 3832 -ae 20004,12840,375,744,945,737 0 3814 -:A 17565,23610,69,888,2586,737 2 3780 -`i 7317,18801,69,1116,1134,737 2 3820 -:O 21954,23610,375,942,-447,737 2 3798 -:U 20490,23610,375,1671,-1071,737 2 3804 -'E 13173,24342,201,3348,738,737 2 3785 -:i 7317,18090,69,4089,1134,737 2 3823 -ss 14637,19500,375,396,1206,396 2 3807 -^O 21954,24321,375,942,-447,737 2 3796 -'A 17565,24342,69,1152,2586,737 2 3777 -~A 17565,23382,69,1752,2586,737 2 3779 -~a 13173,17847,375,2040,954,737 2 3811 --D 20490,18069,69,720,318,720 2 3792 -Sd 14637,19674,375,831,618,737 2 3824 -'I 8781,24342,69,5544,441,737 2 3789 -`I 8781,24342,69,1779,441,737 2 3788 -'O 21954,24342,375,942,-447,737 2 3795 -`O 21954,24342,375,942,-447,737 2 3794 -~O 21954,23382,375,942,-447,737 2 3797 -~o 14637,17847,375,1308,618,737 2 3829 -vS 13173,24321,375,3120,879,737 2 51795 -vs 10245,18780,375,3117,1230,737 2 51827 -'U 20490,24342,375,1671,-1071,737 2 3802 -:Y 16101,23610,69,3747,-1419,737 2 51801 -:y 13173,18090,5469,2040,1176,737 3 3839 -TP 14637,18069,69,1347,384,737 2 3806 -Tp 14637,19779,5469,672,2361,672 3 3838 -mc 15612,12630,4680,1422,2907,737 0 3765 -ps 14637,19635,4200,18,-1140,18 2 3766 -34 23418,17769,444,0,-870 0 3774 -\- 23418,7455,0,0,-3528 0 51757 -14 23418,17865,444,0,-2133 2 3772 -12 23418,17865,444,0,-1794 2 3773 -Of 9759,17700,0,765,-258,737 0 3754 -Om 9759,17700,0,1815,-81,737 0 3770 -Fo 11220,10851,0,1272,132,737 0 3755 -Fc 11220,10851,0,588,816,588 0 3771 -t+- 23418,13080,4230,0,-3522 0 3761 -bb 13173,19083,5916,0,-4596 3 3750 -co 13173,19635,0,3885,-2094,737 2 3753 -tno 23418,10770,0,0,-3105 0 3756 -rg 13173,19635,0,3885,-2094,737 2 3758 -S2 9270,17700,0,2130,-162,737 0 3762 -S3 9270,17700,0,1656,-123,737 0 3763 -ac 14637,393,5733,0,-1119 1 3768 -S1 9270,17865,0,708,-1470,708 2 3769 -tmu 23418,13107,567,0,-4626 0 3799 -tdi 23418,12999,369,0,-3531 0 3831 -pc 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 -a- 14637,17490,0,843,-3735,737 0 3759 -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 +ad 14637,18090,0,429,-4022,429 2 161192 -- MSL 109 (19U 168) +~ 14637,17847,0,1308,-3437,737 2 161176 -- MSL 110 (19U 152) +a~ " +`U 20490,24342,375,1671,-1070,737 2 161241 -- MSL 111 (19U 217) +^U 20490,24321,375,1671,-1070,737 2 161243 -- MSL 112 (19U 219) +u00AF 13173,21105,0,1317,1317,737 2 161199 -- MSL 113 (19U 175) +'Y 16101,24342,69,3747,-1418,737 2 161245 -- MSL 114 (19U 221) +'y 13173,18801,5469,2040,1176,737 3 161277 -- MSL 115 (19U 253) +de 14637,17700,0,0,-2585 0 161200 -- MSL 116 (19U 176) +,C 17565,18375,5988,2640,-599,737 3 161223 -- MSL 117 (19U 199) +,c 12684,12840,5733,2118,171,737 1 161255 -- MSL 118 (19U 231) +~N 20490,23382,69,1383,192,737 2 161233 -- MSL 119 (19U 209) +~n 14637,17847,69,1308,1206,737 2 161265 -- MSL 120 (19U 241) +r! 7317,12906,5469,861,1836,737 1 161185 -- MSL 121 (19U 161) +r? 11709,12906,5469,0,90 1 161215 -- MSL 122 (19U 191) +Cs 14637,15834,0,1452,477,737 0 161188 -- MSL 123 (19U 164) +Po 14637,17700,201,1260,1419,737 0 161187 -- MSL 124 (19U 163) +Ye 14637,18069,69,4212,-131,737 2 161189 -- MSL 125 (19U 165) +sc 14637,18375,1383,0,-932 2 161191 -- MSL 126 (19U 167) +Fn 14637,19710,69,366,-1862,366 2 161155 -- MSL 127 (19U 131) +ct 14637,19812,342,2082,-1151,737 2 161186 -- MSL 128 (19U 162) +^a 13173,18780,375,711,954,711 2 161250 -- MSL 129 (19U 226) +^e 13173,18780,375,750,480,737 2 161258 -- MSL 130 (19U 234) +^o 14637,18780,375,708,618,708 2 161268 -- MSL 131 (19U 244) +^u 14637,18780,375,1230,417,737 2 161275 -- MSL 132 (19U 251) +'a 13173,18801,375,1029,954,737 2 161249 -- MSL 133 (19U 225) +'e 13173,18801,375,1029,480,737 2 161257 -- MSL 134 (19U 233) +'o 14637,18801,375,708,618,708 2 161267 -- MSL 135 (19U 243) +'u 14637,18801,375,1230,417,737 2 161274 -- MSL 136 (19U 250) +`a 13173,18801,375,189,954,189 2 161248 -- MSL 137 (19U 224) +`e 13173,18801,375,750,480,737 2 161256 -- MSL 138 (19U 232) +`o 14637,18801,375,708,618,708 2 161266 -- MSL 139 (19U 242) +`u 14637,18801,375,1230,417,737 2 161273 -- MSL 140 (19U 249) +:a 13173,18090,375,1161,954,737 2 161252 -- MSL 141 (19U 228) +:e 13173,18090,375,1161,480,737 2 161259 -- MSL 142 (19U 235) +:o 14637,18090,375,708,618,708 2 161270 -- MSL 143 (19U 246) +:u 14637,18090,375,1230,417,737 2 161276 -- MSL 144 (19U 252) +oA 17565,25035,69,0,2586 2 161221 -- MSL 145 (19U 197) +^i 7317,18780,69,3639,1134,737 2 161262 -- MSL 146 (19U 238) +/O 21954,18375,1017,1311,-311,737 2 161240 -- MSL 147 (19U 216) +AE 22932,18201,201,2844,2589,737 2 161222 -- MSL 148 (19U 198) +oa 13173,18678,375,189,954,189 2 161253 -- MSL 149 (19U 229) +'i 7317,18801,69,3957,1134,737 2 161261 -- MSL 150 (19U 237) +/o 14637,13446,843,1227,1224,737 0 161272 -- MSL 151 (19U 248) +ae 20004,12840,375,744,945,737 0 161254 -- MSL 152 (19U 230) +:A 17565,23610,69,888,2586,737 2 161220 -- MSL 153 (19U 196) +`i 7317,18801,69,1116,1134,737 2 161260 -- MSL 154 (19U 236) +:O 21954,23610,375,942,-446,737 2 161238 -- MSL 155 (19U 214) +:U 20490,23610,375,1671,-1070,737 2 161244 -- MSL 156 (19U 220) +'E 13173,24342,201,3348,738,737 2 161225 -- MSL 157 (19U 201) +:i 7317,18090,69,4089,1134,737 2 161263 -- MSL 158 (19U 239) +ss 14637,19500,375,396,1206,396 2 161247 -- MSL 159 (19U 223) +^O 21954,24321,375,942,-446,737 2 161236 -- MSL 160 (19U 212) +'A 17565,24342,69,1152,2586,737 2 161217 -- MSL 161 (19U 193) +~A 17565,23382,69,1752,2586,737 2 161219 -- MSL 162 (19U 195) +~a 13173,17847,375,2040,954,737 2 161251 -- MSL 163 (19U 227) +-D 20490,18069,69,720,318,720 2 161232 -- MSL 164 (19U 208) +Sd 14637,19674,375,831,618,737 2 161264 -- MSL 165 (19U 240) +'I 8781,24342,69,5544,441,737 2 161229 -- MSL 166 (19U 205) +`I 8781,24342,69,1779,441,737 2 161228 -- MSL 167 (19U 204) +'O 21954,24342,375,942,-446,737 2 161235 -- MSL 168 (19U 211) +`O 21954,24342,375,942,-446,737 2 161234 -- MSL 169 (19U 210) +~O 21954,23382,375,942,-446,737 2 161237 -- MSL 170 (19U 213) +~o 14637,17847,375,1308,618,737 2 161269 -- MSL 171 (19U 245) +vS 13173,24321,375,3120,879,737 2 161162 -- MSL 172 (19U 138) +vs 10245,18780,375,3117,1230,737 2 161178 -- MSL 173 (19U 154) +'U 20490,24342,375,1671,-1070,737 2 161242 -- MSL 174 (19U 218) +:Y 16101,23610,69,3747,-1418,737 2 161183 -- MSL 175 (19U 159) +:y 13173,18090,5469,2040,1176,737 3 161279 -- MSL 176 (19U 255) +TP 14637,18069,69,1347,384,737 2 161246 -- MSL 177 (19U 222) +Tp 14637,19779,5469,672,2361,672 3 161278 -- MSL 178 (19U 254) +mc 15612,12630,4680,1422,2907,737 0 161205 -- MSL 180 (19U 181) +ps 14637,19635,4200,18,-1139,18 2 161206 -- MSL 181 (19U 182) +34 23418,17769,444,0,-869 0 161214 -- MSL 182 (19U 190) +\- 23418,7455,0,0,-3527 0 60096 -- MSL 183 ( 7J 192) +14 23418,17865,444,0,-2132 2 161212 -- MSL 184 (19U 188) +12 23418,17865,444,0,-1793 2 161213 -- MSL 185 (19U 189) +Of 9759,17700,0,765,-257,737 0 161194 -- MSL 186 (19U 170) +Om 9759,17700,0,1815,-80,737 0 161210 -- MSL 187 (19U 186) +Fo 11220,10851,0,1272,132,737 0 161195 -- MSL 188 (19U 171) +Fc 11220,10851,0,588,816,588 0 161211 -- MSL 190 (19U 187) +t+- 23418,13080,4230,0,-3521 0 161201 -- MSL 191 (19U 177) +bb 13173,19083,5916,0,-4595 3 161190 -- MSL 192 (19U 166) +co 13173,19635,0,3885,-2093,737 2 161193 -- MSL 193 (19U 169) +tno 23418,10770,0,0,-3104 0 161196 -- MSL 194 (19U 172) +u00AD 7317,8715,0,1497,1071,737 0 161197 -- MSL 195 (19U 173) +rg 13173,19635,0,3885,-2093,737 2 161198 -- MSL 196 (19U 174) +S2 9270,17700,0,2130,-161,737 0 161202 -- MSL 197 (19U 178) +S3 9270,17700,0,1656,-122,737 0 161203 -- MSL 198 (19U 179) +ac 14637,393,5733,0,-1118 1 161208 -- MSL 199 (19U 184) +S1 9270,17865,0,708,-1469,708 2 161209 -- MSL 200 (19U 185) +tmu 23418,13107,567,0,-4625 0 161239 -- MSL 201 (19U 215) +tdi 23418,12999,369,0,-3530 0 161271 -- MSL 202 (19U 247) +u203C 14637,18000,375,1941,753,737 2 87315 -- MSL 221 (10U 19) +u20A7 23418,18069,375,2148,519,737 2 60121 -- MSL 232 ( 7J 217) +pc 7317,10899,0,282,-740,282 0 161207 -- MSL 302 (19U 183) +u013F 13173,18069,201,2250,168,737 2 51943 -- MSL 306 ( 6J 231) +u0140 10245,19569,69,2736,1086,737 2 51959 -- MSL 307 ( 6J 247) +u2113 14637,18045,765,0,-1712 2 60122 -- MSL 308 ( 7J 218) +u0149 20979,18375,69,438,-530,438 2 51951 -- MSL 309 ( 6J 239) +fm 7317,18096,0,1629,-2066,737 2 60101 -- MSL 310 ( 7J 197) +sd 14637,18096,0,0,-2066 2 60102 -- MSL 311 ( 7J 198) +dg 14637,18201,426,666,-761,666 2 161158 -- MSL 312 (19U 134) +tm 16101,17850,0,1425,-1961,737 2 161177 -- MSL 313 (19U 153) +u2017 13173,0,6588,1317,1317,737 1 60095 -- MSL 314 ( 7J 191) +ah 14637,18780,0,921,-4397,737 2 75169 -- MSL 315 ( 9E 161) +ao 14637,18678,0,0,-5651 2 60152 -- MSL 316 ( 7J 248) +f/ 2439,17769,444,7344,7137,737 0 60109 -- MSL 324 ( 7J 205) +em 23418,8070,0,759,219,737 0 161175 -- MSL 325 (19U 151) +en 14637,8070,0,681,459,681 0 161174 -- MSL 326 (19U 150) +dd 14637,18201,426,630,-725,630 2 161159 -- MSL 327 (19U 135) +.i 7317,12534,69,1116,1134,737 0 46333 -- MSL 328 ( 5T 253) +aq 7317,18375,0,1659,-2621,737 2 161063 -- MSL 329 (19U 39) +bu 13173,14226,0,0,-497 0 161173 -- MSL 331 (19U 149) +u207F 13173,17700,0,1335,-275,737 0 87548 -- MSL 332 (10U 252) +u0111 14637,19569,375,3939,609,737 2 75248 -- MSL 342 ( 9E 240) +u0041_0306 17565,24138,69,225,2586,225 2 75203 -- MSL 400 ( 9E 195) +u0061_0306 13173,18528,375,1128,954,737 2 75235 -- MSL 401 ( 9E 227) +u0041_0328 17565,18069,4161,0,2586 2 75173 -- MSL 404 ( 9E 165) +u0061_0328 13173,12840,4140,189,954,189 0 75193 -- MSL 405 ( 9E 185) +'C 17565,24342,375,2640,-599,737 2 75206 -- MSL 406 ( 9E 198) +'c 12684,18801,375,2415,171,737 2 75238 -- MSL 407 ( 9E 230) +u0041_030C 17565,24321,375,2640,-599,737 2 75208 -- MSL 410 ( 9E 200) +u0061_030C 12684,18780,375,2118,171,737 2 75240 -- MSL 411 ( 9E 232) +u0044_030C 20490,24321,69,720,279,720 2 75215 -- MSL 414 ( 9E 207) +u0064_030C 18051,19710,375,4032,594,737 2 75247 -- MSL 415 ( 9E 239) +u0045_030C 13173,24321,201,3120,738,737 2 75212 -- MSL 416 ( 9E 204) +u0065_030C 13173,18780,375,993,480,737 2 75244 -- MSL 417 ( 9E 236) +u0045_0328 13173,18201,4161,2835,738,737 2 75210 -- MSL 422 ( 9E 202) +u0065_0328 13173,12840,4140,750,480,737 0 75242 -- MSL 423 ( 9E 234) +u004C_0301 13173,24342,201,1248,168,737 2 75205 -- MSL 440 ( 9E 197) +u006C_0301 7317,25536,69,5682,1086,737 2 75237 -- MSL 441 ( 9E 229) +u004C_030C 13173,18516,201,2910,168,737 2 75196 -- MSL 442 ( 9E 188) +u006C_030C 10734,19710,69,3789,1086,737 2 75198 -- MSL 443 ( 9E 190) +u004E_0301 20490,24342,69,1383,192,737 2 75217 -- MSL 446 ( 9E 209) +u006E_0301 14637,18801,69,438,1206,438 2 75249 -- MSL 447 ( 9E 241) +u004E_030C 20490,24321,69,1383,192,737 2 75218 -- MSL 448 ( 9E 210) +u006E_030C 14637,18780,69,921,1206,737 2 75250 -- MSL 449 ( 9E 242) +u004F_030B 21954,24342,375,1263,-446,737 2 75221 -- MSL 452 ( 9E 213) +u006F_030B 14637,18801,375,3432,618,737 2 75253 -- MSL 453 ( 9E 245) +u0052_0301 16101,24342,69,984,387,737 2 75200 -- MSL 456 ( 9E 192) +u0072_0301 10245,18801,69,2493,1107,737 2 75232 -- MSL 457 ( 9E 224) +u0052_030C 16101,24321,69,906,387,737 2 75224 -- MSL 458 ( 9E 216) +u0072_030C 10245,18780,69,2967,1107,737 2 75256 -- MSL 459 ( 9E 248) +u0053_0301 13173,24342,375,2148,879,737 2 75148 -- MSL 462 ( 9E 140) +u0073_0301 10245,18801,375,2493,1230,737 2 75164 -- MSL 463 ( 9E 156) +u0054_030C 14637,24321,69,3006,-1070,737 2 75149 -- MSL 466 ( 9E 141) +u0074_030C 11220,19710,375,3813,-188,737 2 75165 -- MSL 467 ( 9E 157) +u0054_0327 14637,18201,5988,3006,-140,737 3 75230 -- MSL 468 ( 9E 222) +u0074_0327 8781,17055,5733,2148,2109,737 1 75262 -- MSL 469 ( 9E 254) +u0055_030B 20490,24342,375,2655,-1070,737 2 75227 -- MSL 474 ( 9E 219) +u0075_030B 14637,18801,375,3432,417,737 2 75259 -- MSL 475 ( 9E 251) +u0055_030A 20490,25035,375,1671,-1070,737 2 75225 -- MSL 476 ( 9E 217) +u0075_030A 14637,18678,375,1230,417,737 2 75257 -- MSL 477 ( 9E 249) +u005A_0301 16101,24342,201,2589,2115,737 2 75151 -- MSL 482 ( 9E 143) +u007A_0301 13173,18801,201,1464,1689,737 2 75167 -- MSL 483 ( 9E 159) +u005A_0307 16101,24087,201,2589,2115,737 2 75183 -- MSL 484 ( 9E 175) +u007A_0307 13173,18786,201,1464,1689,737 2 75199 -- MSL 485 ( 9E 191) +u2070 9270,17700,0,1779,-308,737 0 51753 -- MSL 1000 ( 6J 41) +u2074 9270,17562,0,1926,57,737 0 51748 -- MSL 1001 ( 6J 36) +u2075 9270,17694,0,2097,-326,737 0 51749 -- MSL 1002 ( 6J 37) +u2076 9270,17700,0,1608,-776,737 0 51806 -- MSL 1003 ( 6J 94) +u2077 9270,17694,0,3141,-152,737 0 51750 -- MSL 1004 ( 6J 38) +u2078 9270,17700,0,1821,-272,737 0 51754 -- MSL 1005 ( 6J 42) +u2079 9270,17700,0,1653,-359,737 0 51752 -- MSL 1006 ( 6J 40) +lq 11709,18375,0,2910,-386,737 2 161171 -- MSL 1017 (19U 147) +rq 11709,18375,0,2895,-371,737 2 161172 -- MSL 1018 (19U 148) +Bq 12198,3972,4527,0,2505 0 161156 -- MSL 1019 (19U 132) +u2003 23418,0,0,0,1317 0 51821 -- MSL 1020 ( 6J 109) +u2002 14637,0,0,0,1317 0 51822 -- MSL 1021 ( 6J 110) +u2009 7317,0,0,0,1317 0 51828 -- MSL 1023 ( 6J 116) +u2026 23418,3729,0,0,-413 0 161157 -- MSL 1028 (19U 133) +vz 13173,18780,201,1653,1689,737 2 75166 -- MSL 1031 ( 9E 158) +u2120 16101,18000,0,2610,-1976,737 2 128299 -- MSL 1034 (15U 43) +u211E 20004,18315,4056,387,-1088,387 2 51794 -- MSL 1036 ( 6J 82) +fi 15612,19710,69,1506,900,737 2 60077 -- MSL 1040 ( 7J 173) +fl 15612,19710,69,2385,816,737 2 60078 -- MSL 1041 ( 7J 174) +ff 16587,19710,69,3507,816,737 2 51883 -- MSL 1042 ( 6J 171) +Fi 23418,19710,69,1683,684,737 2 51884 -- MSL 1043 ( 6J 172) +Fl 23418,19710,69,2499,666,737 2 51885 -- MSL 1044 ( 6J 173) +ij 14637,19308,5400,1794,1131,737 3 60134 -- MSL 1047 ( 7J 230) +u2105 23418,19599,444,1194,399,737 2 60072 -- MSL 1060 ( 7J 168) +u0047_0306 20490,24138,375,1230,-797,737 2 46288 -- MSL 1061 ( 5T 208) +u0067_0306 13173,18528,5400,1836,1659,737 3 46320 -- MSL 1062 ( 5T 240) +u0053_0327 13173,18375,5988,1626,879,737 3 75178 -- MSL 1063 ( 9E 170) +u0073_0327 10245,12840,5733,1188,1797,737 1 75194 -- MSL 1064 ( 9E 186) +u0049_0307 8781,24087,69,2430,441,737 2 46301 -- MSL 1065 ( 5T 221) +bq 7317,3972,4527,0,2502 0 161154 -- MSL 1067 (19U 130) +%0 33663,17769,264,0,-2288 0 161161 -- MSL 1068 (19U 137) +a- 14637,17490,0,843,-3734,737 0 60154 -- MSL 1084 ( 7J 250) +ab 14637,18528,0,396,-3983,396 2 75170 -- MSL 1086 ( 9E 162) +a. 14637,18786,0,0,-6407 2 75263 -- MSL 1088 ( 9E 255) +oe 22443,12840,375,720,618,720 0 161180 -- MSL 1090 (19U 156) +OE 24882,18375,375,2916,-512,737 2 161164 -- MSL 1091 (19U 140) +fo 6831,10851,0,1296,132,737 0 161163 -- MSL 1092 (19U 139) +fc 6831,10851,0,609,819,609 0 161179 -- MSL 1093 (19U 155) +sq 19029,15624,0,0,-2021 0 60091 -- MSL 1094 ( 7J 187) +/L 13173,18069,201,198,1188,198 2 75171 -- MSL 1095 ( 9E 163) +/l 7317,19569,69,3264,1563,737 2 75187 -- MSL 1096 ( 9E 179) +a" 14637,18801,0,3432,-3053,737 2 75197 -- MSL 1097 ( 9E 189) +ho 14637,636,4140,0,-4475 0 75186 -- MSL 1098 ( 9E 178) +vZ 16101,24321,201,2589,2115,737 2 75150 -- MSL 1106 ( 9E 142) +IJ 17565,18069,4242,1548,441,737 2 60135 -- MSL 1107 ( 7J 231) diff -ruN groff-1.19/font/devlj4/OI groff-1.19.1/font/devlj4/OI --- groff-1.19/font/devlj4/OI Tue Feb 25 06:38:56 2003 +++ groff-1.19.1/font/devlj4/OI Wed Feb 18 10:01:17 2004 @@ -1,3 +1,4 @@ +# CG Omega It name OI spacewidth 7317 slant 9.860000 @@ -7,810 +8,880 @@ 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 cq -2439 -L ' -2439 -T hy -3414 -T - -3414 -T en -3414 -T em -3414 -A cq -3903 -A ' -3903 -hy T -3903 -- T -3903 -en T -3903 -em T -3903 -Y hy -1461 -Y - -1461 -Y en -1461 -Y em -1461 -p cq -1950 -p ' -1950 -c cq -486 -c ' -486 -e cq -975 -e ' -975 -b cq -1461 -b ' -1461 -a cq -1950 -a ' -1950 -V hy -1461 -V - -1461 -V en -1461 -V em -1461 -h cq -1461 -h ' -1461 -n cq -1461 -n ' -1461 -R cq -975 -R ' -975 -W hy -975 -W - -975 -W en -975 -W em -975 -cq d -1461 -' d -1461 -L hy -1950 -L - -1950 -L en -1950 -L em -1950 -F hy -486 -F - -486 -F en -486 -F em -486 -X hy -1461 -X - -1461 -X en -1461 -X em -1461 -A hy -1950 -A - -1950 -A en -1950 -A em -1950 -K hy -1461 -K - -1461 -K en -1461 -K em -1461 -cq s -975 -' s -975 -hy X -1461 -- X -1461 -hy A -1950 -- A -1950 -en X -1461 -en A -1950 -em X -1461 -R hy -975 -R - -975 -R en -975 -R em -975 -K cq -486 -K ' -486 -t g -486 -b f -486 -k cq -486 -k ' -486 -Z hy -975 -Z - -975 -Z en -975 -Z em -975 -U cq -486 -U ' -486 -k hy -486 -k - -486 -k en -486 -k em -486 -U hy -486 -U - -486 -U en -486 -U em -486 +L V -2438 +P . -3902 +P , -3902 +V A -3902 +A V -4388 +T o -3413 +T r -3413 +T c -3413 +T e -3413 +T d -3413 +T s -3413 +T y -3413 +T a -3902 +T w -3413 +T u -3413 +L T -2438 +L Y -2438 +Y o -2924 +Y e -2924 +Y a -3413 +A W -3902 +W A -2924 +T A -3413 +V o -2924 +V e -2924 +V a -3413 +Y A -2924 +F A -3902 +F . -3902 +F , -3902 +A T -4388 +A Y -4388 +v . -2924 +v , -2924 +y . -2924 +y , -2924 +T . -3413 +T , -3413 +L W -2438 +P A -3413 +V . -3902 +V , -3902 +Y . -2924 +Y , -2924 +W o -1949 +W e -1949 +W a -2438 +W . -2924 +W , -2924 +r . -2924 +r , -2924 +w . -2924 +w , -2924 +Y u -1460 +A v -2438 +A y -2924 +A w -2438 +o . -1460 +o , -1460 +p . -1460 +p , -1460 +e . -485 +e , -485 +b . -1949 +b , -1949 +O T -2924 +O V -1460 +O Y -1460 +O . -2438 +O , -2438 +L y -2438 +L O -2438 +L G -2438 +L C -2438 +L Q -2438 +V y -1460 +V u -1460 +V O -1460 +V G -1460 +V C -1460 +V Q -1460 +D T -2924 +D V -1460 +D Y -1460 +D . -2438 +D , -2438 +Y O -1460 +Y G -1460 +Y C -1460 +Y Q -1460 +F o -1949 +F e -1949 +F a -2438 +c . -485 +c , -485 +O A -1949 +O W -974 +L U -1949 +R T -1460 +R V -1460 +R Y -1460 +R W -1460 +G T -974 +P o -1460 +P g -974 +P e -1460 +P a -1949 +C A -974 +C . -974 +C , -974 +D A -1949 +D W -974 +B T -1949 +B Y -1460 +B . -1460 +B , -1460 +A O -1949 +A G -1949 +A C -1949 +A U -2438 +A Q -1949 +W r -974 +W y -974 +W u -974 +W O -974 +W G -974 +W C -974 +W Q -974 +J A -974 +J . -974 +J , -974 +U A -2438 +U . -2438 +U , -2438 +Q W -974 +f . -485 +f , -485 +T O -2438 +T G -2438 +T C -2438 +T Q -2438 +O X -1460 +L o -1949 +L e -1949 +L q -1949 +G V -974 +G Y -974 +G W -974 +G . -485 +G , -485 +P T -974 +P V -974 +P Y -974 +C T -974 +C V -974 +C Y -974 +D X -1460 +B V -1460 +B X -1460 +B A -1460 +B W -974 +S . -1460 +S , -1460 +F r -485 +F y -485 +F u -485 +F O -485 +F G -485 +F C -485 +F Q -485 +X o -1460 +X e -1460 +X y -1460 +X O -1460 +X G -1460 +X C -1460 +X Q -1460 +A o -1949 +A e -1949 +K o -1460 +K e -1460 +K y -1460 +K w -1460 +K O -1460 +K G -1460 +K C -1460 +K Q -1460 +o v -485 +o y -1460 +o x -974 +o w -485 +h v -485 +h y -1460 +n v -485 +n y -1460 +r g -485 +g . -485 +g , -485 +p v -485 +p y -1460 +p x -974 +c v -485 +c y -485 +c w -485 +v o -485 +v g -485 +v c -485 +v d -485 +v a -974 +v q -485 +e v -485 +e y -974 +b v -485 +b y -1460 +b w -485 +s . -974 +s , -974 +y o -485 +y g -485 +y c -485 +y d -485 +y a -974 +y q -485 +f g -485 +x o -974 +x g -974 +x c -974 +x e -974 +x d -974 +x a -974 +x q -974 +a v -485 +a y -1460 +a w -485 +w o -485 +w g -485 +w c -485 +w d -485 +w a -974 +w q -485 +T i -485 +T S -1460 +L a -974 +L S -485 +R o -974 +R y -974 +R O -974 +R G -974 +R C -974 +R U -1460 +R Q -974 +G X -485 +G A -485 +P s -974 +P Z -974 +P X -974 +P W -974 +C X -974 +C W -974 +V i -485 +V S -1460 +S T -485 +S V -485 +S Y -485 +S X -485 +S A -1460 +S W -485 +Y i -485 +Y S -1460 +X a -974 +X u -1460 +X S -485 +A t -1460 +A g -1460 +A c -1949 +A d -1949 +A a -1460 +A u -1949 +A q -1949 +A S -974 +W i -485 +W S -974 +K c -1460 +K u -1460 +K S -485 +t g -485 +o f -485 +h w -485 +n w -485 +r o -485 +r c -485 +r e -485 +r d -485 +r a -974 +r q -485 +p f -485 +p w -485 +c f -485 +c x -485 +v e -485 +v s -485 +e f -485 +e x -485 +e w -485 +b f -485 +y e -485 +y s -485 +f o -485 +f c -485 +f e -485 +f d -485 +f s -485 +f a -974 +f q -485 +w e -485 +w s -485 +k o -485 +k g -485 +k c -485 +k v -485 +k e -485 +k d -485 +k y -485 +k a -974 +k w -485 +k q -485 +O Z -974 +L J -1460 +R e -974 +R a -974 +R u -974 +R S -485 +G Z -485 +P U -485 +C Z -974 +E a -485 +Z o -974 +Z e -974 +Z d -974 +Z y -974 +Z a -974 +Z w -974 +Z u -974 +Z O -974 +Z G -974 +Z C -974 +Z S -485 +Z Q -974 +D Z -974 +B Z -974 +S Z -485 +F i -485 +F j -485 +F S -485 +A s -485 +A J -1949 +A . -485 +A , -485 +J o -485 +J e -485 +J a -974 +J U -485 +U g -485 +U J -485 +K a -974 +K J -485 +t o -485 +t c -485 +t e -485 +t d -485 +t a -974 +t q -485 +o z -485 +h f -485 +n f -485 +r s -485 +g a -485 +p z -485 +c z -485 +e z -485 +z o -485 +z g -485 +z c -485 +z e -485 +z d -485 +z a -974 +z q -485 +b z -485 +a f -485 +k t -485 +k f -485 +k u -485 +T U -485 +R J -974 +C a -485 +C U -485 +V U -485 +E U -485 +B a -485 +B U -485 +Y U -485 +F U -485 +X U -485 +A b -485 +A f -974 +W U -485 +U t -485 +U o -485 +U h -485 +U n -485 +U m -485 +U l -485 +U r -485 +U i -485 +U p -485 +U c -485 +U v -485 +U e -485 +U z -485 +U d -485 +U b -485 +U s -485 +U y -485 +U f -485 +U x -485 +U a -974 +U w -485 +U j -485 +U q -485 +U k -485 +U T -485 +U O -485 +U H -485 +U N -485 +U M -485 +U L -485 +U R -485 +U G -485 +U I -485 +U P -485 +U C -485 +U V -485 +U E -485 +U Z -485 +U D -485 +U B -485 +U S -485 +U Y -485 +U F -485 +U X -485 +U W -485 +U U -974 +U Q -485 +U K -485 +K T -485 +K V -485 +K Y -485 +K W -485 +K U -974 +L cq -2438 +L ' -2438 +T hy -3413 +T - -3413 +T en -3413 +T em -3413 +A cq -3902 +A ' -3902 +hy T -3902 +- T -3902 +en T -3902 +em T -3902 +Y hy -1460 +Y - -1460 +Y en -1460 +Y em -1460 +p cq -1949 +p ' -1949 +c cq -485 +c ' -485 +e cq -974 +e ' -974 +b cq -1460 +b ' -1460 +a cq -1949 +a ' -1949 +V hy -1460 +V - -1460 +V en -1460 +V em -1460 +h cq -1460 +h ' -1460 +n cq -1460 +n ' -1460 +R cq -974 +R ' -974 +W hy -974 +W - -974 +W en -974 +W em -974 +cq d -1460 +' d -1460 +L hy -1949 +L - -1949 +L en -1949 +L em -1949 +F hy -485 +F - -485 +F en -485 +F em -485 +X hy -1460 +X - -1460 +X en -1460 +X em -1460 +A hy -1949 +A - -1949 +A en -1949 +A em -1949 +K hy -1460 +K - -1460 +K en -1460 +K em -1460 +cq s -974 +' s -974 +hy X -1460 +- X -1460 +hy A -1949 +- A -1949 +en X -1460 +en A -1949 +em X -1460 +R hy -974 +R - -974 +R en -974 +R em -974 +K cq -485 +K ' -485 +t g -485 +b f -485 +k cq -485 +k ' -485 +Z hy -974 +Z - -974 +Z en -974 +Z em -974 +U cq -485 +U ' -485 +k hy -485 +k - -485 +k en -485 +k em -485 +U hy -485 +U - -485 +U en -485 +U em -485 charset -! 7317,18000,330,723,-177,586 2 3617 -dq 10734,18375,0,678,-2778,586 2 3618 +! 7317,18000,330,723,-176,586 2 161057 -- MSL 1 (19U 33) +dq 10734,18375,0,678,-2777,586 2 161058 -- MSL 2 (19U 34) " " -sh 14637,17769,444,1371,570,586 0 3619 +sh 14637,17769,444,1371,570,586 0 161059 -- MSL 3 (19U 35) # " -Do 14637,19515,3105,0,6 2 3620 +Do 14637,19515,3105,0,6 2 161060 -- MSL 4 (19U 36) $ " -% 23418,17769,444,0,-2766 0 3621 -& 17565,18000,375,264,174,264 2 3622 -cq 7317,18375,0,1704,-1407,586 2 51751 +% 23418,17769,444,0,-2765 0 161061 -- MSL 5 (19U 37) +& 17565,18000,375,264,174,264 2 161062 -- MSL 6 (19U 38) +cq 7317,18375,0,1704,-1406,586 2 161170 -- MSL 8 (19U 146) ' " -( 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 -hy 7317,7170,0,1245,1176,586 0 3629 +( 7317,18375,3165,2625,-299,586 2 161064 -- MSL 9 (19U 40) +) 7317,18375,3165,54,2271,54 2 161065 -- MSL 10 (19U 41) +* 14637,18150,0,0,-2147 2 161066 -- MSL 11 (19U 42) ++ 23418,13260,393,0,-3788 0 161067 -- MSL 12 (19U 43) +, 7317,2700,4611,0,1776 0 161068 -- MSL 13 (19U 44) +hy 7317,7170,0,1245,1176,586 0 161069 -- MSL 14 (19U 45) - " -. 7317,2622,330,0,-237 0 3630 -sl 7317,19650,480,2448,1203,586 2 3631 +. 7317,2622,330,0,-236 0 161070 -- MSL 15 (19U 46) +sl 7317,19650,480,2448,1203,586 2 161071 -- MSL 16 (19U 47) / " -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 +0 14637,17700,375,723,-179,586 0 161072 -- MSL 17 (19U 48) +1 14637,17700,69,0,-3338 0 161073 -- MSL 18 (19U 49) +2 14637,17700,201,0,-122 0 161074 -- MSL 19 (19U 50) +3 14637,17700,375,0,60 0 161075 -- MSL 20 (19U 51) +4 14637,17769,69,396,285,396 0 161076 -- MSL 21 (19U 52) +5 14637,17526,375,297,-101,297 0 161077 -- MSL 22 (19U 53) +6 14637,17700,375,0,-458 0 161078 -- MSL 23 (19U 54) +7 14637,17526,69,1713,-884,586 0 161079 -- MSL 24 (19U 55) +8 14637,17700,375,12,-146,12 0 161080 -- MSL 25 (19U 56) +9 14637,17700,375,267,-962,267 0 161081 -- MSL 26 (19U 57) +: 7317,11652,330,0,-236 0 161082 -- MSL 27 (19U 58) +; 7317,11652,4611,0,1776 0 161083 -- MSL 28 (19U 59) +< 26346,16068,0,0,-3980 0 161084 -- MSL 29 (19U 60) += 23418,8622,0,0,-3731 0 161085 -- MSL 30 (19U 61) +> 26346,16068,0,0,-3980 0 161086 -- MSL 31 (19U 62) +? 10245,18000,330,1083,-1298,586 2 161087 -- MSL 32 (19U 63) +at 23418,16980,3654,435,87,435 0 161088 -- MSL 33 (19U 64) @ " -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 +A 17565,18000,69,0,1896 2 161089 -- MSL 34 (19U 65) +B 16101,18069,69,0,-341 2 161090 -- MSL 35 (19U 66) +C 17565,18375,375,1455,-410,586 2 161091 -- MSL 36 (19U 67) +D 20490,18069,69,288,-362,288 2 161092 -- MSL 37 (19U 68) +E 13173,18201,201,1095,-101,586 2 161093 -- MSL 38 (19U 69) +F 13173,18201,69,1098,-125,586 2 161094 -- MSL 39 (19U 70) +G 19515,18375,375,1158,-668,586 2 161095 -- MSL 40 (19U 71) +H 20490,18069,69,627,-233,586 2 161096 -- MSL 41 (19U 72) +I 7806,18069,69,609,-248,586 2 161097 -- MSL 42 (19U 73) +J 7317,18069,3657,1026,2235,586 2 161098 -- MSL 43 (19U 74) +K 16101,18069,69,2220,-320,586 2 161099 -- MSL 44 (19U 75) +L 12198,18069,201,414,-221,414 2 161100 -- MSL 45 (19U 76) +M 23418,18069,69,543,-110,543 2 161101 -- MSL 46 (19U 77) +N 20490,18069,375,525,-245,525 2 161102 -- MSL 47 (19U 78) +O 21954,18375,375,555,-371,555 2 161103 -- MSL 48 (19U 79) +P 14637,18069,69,1464,-359,586 2 161104 -- MSL 49 (19U 80) +Q 21954,18375,4200,507,-347,507 2 161105 -- MSL 50 (19U 81) +R 16587,18069,69,498,-158,498 2 161106 -- MSL 51 (19U 82) +S 13173,18375,375,882,855,586 2 161107 -- MSL 52 (19U 83) +T 14637,18201,69,2493,-1079,586 2 161108 -- MSL 53 (19U 84) +U 20490,18069,375,669,-1454,586 2 161109 -- MSL 54 (19U 85) +V 16101,18069,69,2763,-746,586 2 161110 -- MSL 55 (19U 86) +W 24882,18069,69,2835,-917,586 2 161111 -- MSL 56 (19U 87) +X 14637,18069,69,2148,1377,586 2 161112 -- MSL 57 (19U 88) +Y 14637,18069,69,3225,-542,586 2 161113 -- MSL 58 (19U 89) +Z 16101,18201,201,1014,921,586 2 161114 -- MSL 59 (19U 90) +lB 7317,18201,4956,3090,1014,586 3 161115 -- MSL 60 (19U 91) [ " -rs 7317,19650,480,294,-1518,294 2 3676 +rs 7317,19650,480,294,-1517,294 2 161116 -- MSL 61 (19U 92) \ " -rB 7317,18201,4956,1338,2766,586 3 3677 +rB 7317,18201,4956,1338,2766,586 3 161117 -- MSL 62 (19U 93) ] " -ha 13173,19758,0,36,36,36 2 51875 -_ 13173,0,6588,1317,1317,586 1 3679 -oq 7317,18375,0,1704,-1407,586 2 51808 +ha 13173,19758,0,36,36,36 2 161118 -- MSL 63 (19U 94) +_ 13173,0,6588,1317,1317,586 1 161119 -- MSL 64 (19U 95) +oq 7317,18375,0,1704,-1406,586 2 161169 -- MSL 66 (19U 145) ` " -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 -`A 17565,24042,69,0,1896 2 3776 -^A 17565,23745,69,0,1896 2 3778 -`E 13173,24042,201,1095,-102,586 2 3784 -^E 13173,23745,201,1095,-102,586 2 3786 -:E 13173,22896,201,1455,-102,586 2 3787 -^I 7806,23745,69,3768,-249,586 2 3790 -:I 7806,22896,69,4140,-249,586 2 3791 -aa 14637,18375,0,0,-6180 2 3764 -ga 14637,18378,0,0,-4620 2 3680 -a^ 14637,18225,0,0,-3891 2 3678 +a 13173,12795,330,168,582,168 0 161121 -- MSL 67 (19U 97) +b 14637,19779,330,279,651,279 2 161122 -- MSL 68 (19U 98) +c 12684,12795,330,1245,282,586 0 161123 -- MSL 69 (19U 99) +d 14637,19779,330,2097,-26,586 2 161124 -- MSL 70 (19U 100) +e 13173,12795,330,588,327,586 0 161125 -- MSL 71 (19U 101) +f 7317,19710,69,3714,57,586 2 161126 -- MSL 72 (19U 102) +g 13173,12996,5400,1656,876,586 1 161127 -- MSL 73 (19U 103) +h 14637,19779,69,0,348 2 161128 -- MSL 74 (19U 104) +i 7317,18336,69,885,-287,586 2 161129 -- MSL 75 (19U 105) +j 7317,18336,5400,876,1554,586 3 161130 -- MSL 76 (19U 106) +k 13173,19779,69,1581,249,586 2 161131 -- MSL 77 (19U 107) +l 7317,19779,69,1068,-110,586 2 161132 -- MSL 78 (19U 108) +m 21954,12534,69,0,414 0 161133 -- MSL 79 (19U 109) +n 14637,12795,69,0,282 0 161134 -- MSL 80 (19U 110) +o 14637,12795,330,453,351,453 0 161135 -- MSL 81 (19U 111) +p 14637,12795,5469,216,1740,216 1 161136 -- MSL 82 (19U 112) +q 14637,12795,5469,828,-50,586 1 161137 -- MSL 83 (19U 113) +r 8781,12795,69,1512,279,586 0 161138 -- MSL 84 (19U 114) +s 10245,12795,330,411,960,411 0 161139 -- MSL 85 (19U 115) +t 7806,15654,330,1212,258,586 0 161140 -- MSL 86 (19U 116) +u 14637,12534,330,372,-347,372 0 161141 -- MSL 87 (19U 117) +v 13173,12534,69,1632,-206,586 0 161142 -- MSL 88 (19U 118) +w 20490,12534,69,1974,-182,586 0 161143 -- MSL 89 (19U 119) +x 11709,12534,69,1191,1662,586 0 161144 -- MSL 90 (19U 120) +y 13173,12534,5469,1659,-56,586 1 161145 -- MSL 91 (19U 121) +z 13173,12666,201,795,714,586 0 161146 -- MSL 92 (19U 122) +{ 11709,19935,6210,2910,-1241,586 3 161147 -- MSL 93 (19U 123) +lC " +| 13173,19758,6588,0,-4595 3 161148 -- MSL 94 (19U 124) +ba " +} 11709,19935,6210,0,2682 3 161149 -- MSL 95 (19U 125) +rC " +ti 26346,8952,0,0,-4028 0 161150 -- MSL 96 (19U 126) +`A 17565,24042,69,0,1896 2 161216 -- MSL 99 (19U 192) +^A 17565,23745,69,0,1896 2 161218 -- MSL 100 (19U 194) +`E 13173,24042,201,1095,-101,586 2 161224 -- MSL 101 (19U 200) +^E 13173,23745,201,1095,-101,586 2 161226 -- MSL 102 (19U 202) +:E 13173,22896,201,1455,-101,586 2 161227 -- MSL 103 (19U 203) +^I 7806,23745,69,3768,-248,586 2 161230 -- MSL 104 (19U 206) +:I 7806,22896,69,4140,-248,586 2 161231 -- MSL 105 (19U 207) +aa 14637,18375,0,0,-6179 2 161204 -- MSL 106 (19U 180) +ga 14637,18378,0,0,-4619 2 161120 -- MSL 107 (19U 96) +a^ 14637,18225,0,0,-3890 2 161160 -- MSL 108 (19U 136) ^ " -ad 14637,17223,0,0,-3717 0 3752 -a~ 14637,17166,0,0,-3717 0 3710 -~ " -`U 20490,24042,375,669,-1455,586 2 3801 -^U 20490,23745,375,669,-1455,586 2 3803 -'Y 14637,24048,69,3225,-543,586 2 3805 -'y 13173,18375,5469,1659,-57,586 3 3837 -de 14637,17700,0,0,-2664 0 3760 -,C 17565,18375,5736,1455,-411,586 3 3783 -,c 12684,12795,5193,1245,282,586 1 3815 -~N 20490,22812,375,525,-246,525 2 3793 -~n 14637,17166,69,0,282 0 3825 -r! 7317,12696,5634,0,639 1 3745 -r? 10245,12696,5634,0,795 1 3775 -Cs 14637,15684,0,660,-117,586 0 3748 -Po 14637,17700,201,1269,1179,586 0 3747 -Ye 14637,18069,69,2862,-180,586 2 3749 -sc 14637,17865,3633,0,-960 2 3751 -Fn 14637,19710,69,0,-3318 2 51871 -ct 14637,19782,0,393,-999,393 2 3746 -^a 13173,18225,330,168,582,168 2 3810 -^e 13173,18225,330,588,327,586 2 3818 -^o 14637,18225,330,453,351,453 2 3828 -^u 14637,18225,330,372,-348,372 2 3835 -'a 13173,18375,330,168,582,168 2 3809 -'e 13173,18375,330,588,327,586 2 3817 -'o 14637,18375,330,453,351,453 2 3827 -'u 14637,18375,330,372,-348,372 2 3834 -`a 13173,18378,330,168,582,168 2 3808 -`e 13173,18378,330,588,327,586 2 3816 -`o 14637,18378,330,453,351,453 2 3826 -`u 14637,18378,330,372,-348,372 2 3833 -:a 13173,17223,330,285,582,285 0 3812 -:e 13173,17223,330,588,327,586 0 3819 -:o 14637,17223,330,453,351,453 0 3830 -:u 14637,17223,330,372,-348,372 0 3836 -oA 17565,23979,69,0,1896 2 3781 -^i 7317,18225,69,2628,-231,586 2 3822 -/O 21954,18375,375,1341,588,586 2 3800 -AE 20979,18201,201,1296,3312,586 2 3782 -oa 13173,17973,330,168,582,168 2 3813 -'i 7317,18375,69,2973,-279,586 2 3821 -/o 14637,12795,399,1320,1203,586 0 3832 -ae 20490,12795,330,906,678,586 0 3814 -:A 17565,22896,69,0,1896 2 3780 -`i 7317,18378,69,174,-279,174 2 3820 -:O 21954,22896,375,555,-372,555 2 3798 -:U 20490,22896,375,669,-1455,586 2 3804 -'E 13173,24048,201,1239,-102,586 2 3785 -:i 7317,17223,69,3213,-57,586 0 3823 -ss 14148,19710,330,147,516,147 2 3807 -^O 21954,23745,375,555,-372,555 2 3796 -'A 17565,24048,69,0,1896 2 3777 -~A 17565,22812,69,0,1896 2 3779 -~a 13173,17166,330,168,582,168 0 3811 --D 20490,18069,69,288,936,288 2 3792 -Sd 14637,19590,330,453,351,453 2 3824 -'I 7806,24048,69,3924,-249,586 2 3789 -`I 7806,24042,69,909,-249,586 2 3788 -'O 21954,24048,375,555,-372,555 2 3795 -`O 21954,24042,375,555,-372,555 2 3794 -~O 21954,22812,375,555,-372,555 2 3797 -~o 14637,17166,330,453,351,453 0 3829 -vS 13173,23745,375,1725,855,586 2 51795 -vs 10245,18225,330,1680,960,586 2 51827 -'U 20490,24048,375,669,-1455,586 2 3802 -:Y 14637,22896,69,3225,-543,586 2 51801 -:y 13173,17223,5469,1659,-57,586 1 3839 -TP 14637,18069,69,834,-351,586 2 3806 -Tp 14637,19779,5469,225,1752,225 3 3838 -mc 14637,12630,4350,1122,2931,586 0 3765 -ps 14637,19635,4200,135,-1257,135 2 3766 -34 23418,17850,525,0,-1326 2 3774 -\- 23418,7122,0,0,-3801 0 51757 -14 23418,17850,525,0,-2268 2 3772 -12 23418,17850,525,0,-2139 2 3773 -Of 12198,17700,0,18,-1692,18 0 3754 -Om 12198,17700,0,1029,-1608,586 0 3770 -Fo 9759,10920,0,849,306,586 0 3755 -Fc 9759,10920,0,120,1035,120 0 3771 -t+- 23418,13260,3132,0,-3333 0 3761 -bb 13173,19083,5916,0,-4596 3 3750 -co 13173,19635,0,3384,-1593,586 2 3753 -tno 23418,10671,0,0,-3015 0 3756 -rg 13173,19635,0,3384,-1593,586 2 3758 -S2 10245,17700,0,705,-774,586 0 3762 -S3 10245,17700,0,525,-807,525 0 3763 -ac 14637,300,5193,0,-1905 1 3768 -S1 10245,17700,0,0,-2472 0 3769 -tmu 23418,13137,585,0,-3780 0 3799 -tdi 23418,11139,0,0,-3900 0 3831 -pc 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 -a- 14637,16521,0,0,-3732 0 3759 -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 +ad 14637,17223,0,0,-3716 0 161192 -- MSL 109 (19U 168) +~ 14637,17166,0,0,-3716 0 161176 -- MSL 110 (19U 152) +a~ " +`U 20490,24042,375,669,-1454,586 2 161241 -- MSL 111 (19U 217) +^U 20490,23745,375,669,-1454,586 2 161243 -- MSL 112 (19U 219) +u00AF 13173,21105,0,1317,1317,586 2 161199 -- MSL 113 (19U 175) +'Y 14637,24048,69,3225,-542,586 2 161245 -- MSL 114 (19U 221) +'y 13173,18375,5469,1659,-56,586 3 161277 -- MSL 115 (19U 253) +de 14637,17700,0,0,-2663 0 161200 -- MSL 116 (19U 176) +,C 17565,18375,5736,1455,-410,586 3 161223 -- MSL 117 (19U 199) +,c 12684,12795,5193,1245,282,586 1 161255 -- MSL 118 (19U 231) +~N 20490,22812,375,525,-245,525 2 161233 -- MSL 119 (19U 209) +~n 14637,17166,69,0,282 0 161265 -- MSL 120 (19U 241) +r! 7317,12696,5634,0,639 1 161185 -- MSL 121 (19U 161) +r? 10245,12696,5634,0,795 1 161215 -- MSL 122 (19U 191) +Cs 14637,15684,0,660,-116,586 0 161188 -- MSL 123 (19U 164) +Po 14637,17700,201,1269,1179,586 0 161187 -- MSL 124 (19U 163) +Ye 14637,18069,69,2862,-179,586 2 161189 -- MSL 125 (19U 165) +sc 14637,17865,3633,0,-959 2 161191 -- MSL 126 (19U 167) +Fn 14637,19710,69,0,-3317 2 161155 -- MSL 127 (19U 131) +ct 14637,19782,0,393,-998,393 2 161186 -- MSL 128 (19U 162) +^a 13173,18225,330,168,582,168 2 161250 -- MSL 129 (19U 226) +^e 13173,18225,330,588,327,586 2 161258 -- MSL 130 (19U 234) +^o 14637,18225,330,453,351,453 2 161268 -- MSL 131 (19U 244) +^u 14637,18225,330,372,-347,372 2 161275 -- MSL 132 (19U 251) +'a 13173,18375,330,168,582,168 2 161249 -- MSL 133 (19U 225) +'e 13173,18375,330,588,327,586 2 161257 -- MSL 134 (19U 233) +'o 14637,18375,330,453,351,453 2 161267 -- MSL 135 (19U 243) +'u 14637,18375,330,372,-347,372 2 161274 -- MSL 136 (19U 250) +`a 13173,18378,330,168,582,168 2 161248 -- MSL 137 (19U 224) +`e 13173,18378,330,588,327,586 2 161256 -- MSL 138 (19U 232) +`o 14637,18378,330,453,351,453 2 161266 -- MSL 139 (19U 242) +`u 14637,18378,330,372,-347,372 2 161273 -- MSL 140 (19U 249) +:a 13173,17223,330,285,582,285 0 161252 -- MSL 141 (19U 228) +:e 13173,17223,330,588,327,586 0 161259 -- MSL 142 (19U 235) +:o 14637,17223,330,453,351,453 0 161270 -- MSL 143 (19U 246) +:u 14637,17223,330,372,-347,372 0 161276 -- MSL 144 (19U 252) +oA 17565,23979,69,0,1896 2 161221 -- MSL 145 (19U 197) +^i 7317,18225,69,2628,-230,586 2 161262 -- MSL 146 (19U 238) +/O 21954,18375,375,1341,588,586 2 161240 -- MSL 147 (19U 216) +AE 20979,18201,201,1296,3312,586 2 161222 -- MSL 148 (19U 198) +oa 13173,17973,330,168,582,168 2 161253 -- MSL 149 (19U 229) +'i 7317,18375,69,2973,-278,586 2 161261 -- MSL 150 (19U 237) +/o 14637,12795,399,1320,1203,586 0 161272 -- MSL 151 (19U 248) +ae 20490,12795,330,906,678,586 0 161254 -- MSL 152 (19U 230) +:A 17565,22896,69,0,1896 2 161220 -- MSL 153 (19U 196) +`i 7317,18378,69,174,-278,174 2 161260 -- MSL 154 (19U 236) +:O 21954,22896,375,555,-371,555 2 161238 -- MSL 155 (19U 214) +:U 20490,22896,375,669,-1454,586 2 161244 -- MSL 156 (19U 220) +'E 13173,24048,201,1239,-101,586 2 161225 -- MSL 157 (19U 201) +:i 7317,17223,69,3213,-56,586 0 161263 -- MSL 158 (19U 239) +ss 14148,19710,330,147,516,147 2 161247 -- MSL 159 (19U 223) +^O 21954,23745,375,555,-371,555 2 161236 -- MSL 160 (19U 212) +'A 17565,24048,69,0,1896 2 161217 -- MSL 161 (19U 193) +~A 17565,22812,69,0,1896 2 161219 -- MSL 162 (19U 195) +~a 13173,17166,330,168,582,168 0 161251 -- MSL 163 (19U 227) +-D 20490,18069,69,288,936,288 2 161232 -- MSL 164 (19U 208) +Sd 14637,19590,330,453,351,453 2 161264 -- MSL 165 (19U 240) +'I 7806,24048,69,3924,-248,586 2 161229 -- MSL 166 (19U 205) +`I 7806,24042,69,909,-248,586 2 161228 -- MSL 167 (19U 204) +'O 21954,24048,375,555,-371,555 2 161235 -- MSL 168 (19U 211) +`O 21954,24042,375,555,-371,555 2 161234 -- MSL 169 (19U 210) +~O 21954,22812,375,555,-371,555 2 161237 -- MSL 170 (19U 213) +~o 14637,17166,330,453,351,453 0 161269 -- MSL 171 (19U 245) +vS 13173,23745,375,1725,855,586 2 161162 -- MSL 172 (19U 138) +vs 10245,18225,330,1680,960,586 2 161178 -- MSL 173 (19U 154) +'U 20490,24048,375,669,-1454,586 2 161242 -- MSL 174 (19U 218) +:Y 14637,22896,69,3225,-542,586 2 161183 -- MSL 175 (19U 159) +:y 13173,17223,5469,1659,-56,586 1 161279 -- MSL 176 (19U 255) +TP 14637,18069,69,834,-350,586 2 161246 -- MSL 177 (19U 222) +Tp 14637,19779,5469,225,1752,225 3 161278 -- MSL 178 (19U 254) +mc 14637,12630,4350,1122,2931,586 0 161205 -- MSL 180 (19U 181) +ps 14637,19635,4200,135,-1256,135 2 161206 -- MSL 181 (19U 182) +34 23418,17850,525,0,-1325 2 161214 -- MSL 182 (19U 190) +\- 23418,7122,0,0,-3800 0 60096 -- MSL 183 ( 7J 192) +14 23418,17850,525,0,-2267 2 161212 -- MSL 184 (19U 188) +12 23418,17850,525,0,-2138 2 161213 -- MSL 185 (19U 189) +Of 12198,17700,0,18,-1691,18 0 161194 -- MSL 186 (19U 170) +Om 12198,17700,0,1029,-1607,586 0 161210 -- MSL 187 (19U 186) +Fo 9759,10920,0,849,306,586 0 161195 -- MSL 188 (19U 171) +Fc 9759,10920,0,120,1035,120 0 161211 -- MSL 190 (19U 187) +t+- 23418,13260,3132,0,-3332 0 161201 -- MSL 191 (19U 177) +bb 13173,19083,5916,0,-4595 3 161190 -- MSL 192 (19U 166) +co 13173,19635,0,3384,-1592,586 2 161193 -- MSL 193 (19U 169) +tno 23418,10671,0,0,-3014 0 161196 -- MSL 194 (19U 172) +u00AD 7317,7170,0,1245,1176,586 0 161197 -- MSL 195 (19U 173) +rg 13173,19635,0,3384,-1592,586 2 161198 -- MSL 196 (19U 174) +S2 10245,17700,0,705,-773,586 0 161202 -- MSL 197 (19U 178) +S3 10245,17700,0,525,-806,525 0 161203 -- MSL 198 (19U 179) +ac 14637,300,5193,0,-1904 1 161208 -- MSL 199 (19U 184) +S1 10245,17700,0,0,-2471 0 161209 -- MSL 200 (19U 185) +tmu 23418,13137,585,0,-3779 0 161239 -- MSL 201 (19U 215) +tdi 23418,11139,0,0,-3899 0 161271 -- MSL 202 (19U 247) +u203C 14637,18000,330,231,-665,231 2 87315 -- MSL 221 (10U 19) +u20A7 22443,18069,330,1212,-359,586 2 60121 -- MSL 232 ( 7J 217) +pc 7317,10905,0,0,-1391 0 161207 -- MSL 302 (19U 183) +u013F 12198,18069,201,1377,-221,586 2 51943 -- MSL 306 ( 6J 231) +u0140 10245,19779,69,1863,-110,586 2 51959 -- MSL 307 ( 6J 247) +u2113 14637,18150,297,0,-1787 2 60122 -- MSL 308 ( 7J 218) +u0149 20490,18375,69,0,-1406 2 51951 -- MSL 309 ( 6J 239) +fm 7317,17700,0,1092,-1739,586 0 60101 -- MSL 310 ( 7J 197) +sd 14637,17700,0,0,-1739 0 60102 -- MSL 311 ( 7J 198) +dg 14637,18213,846,0,-1322 2 161158 -- MSL 312 (19U 134) +tm 16101,17850,0,924,-1460,586 2 161177 -- MSL 313 (19U 153) +u2017 13173,0,6588,1317,1317,586 1 60095 -- MSL 314 ( 7J 191) +ah 14637,18225,0,0,-4406 2 75169 -- MSL 315 ( 9E 161) +ao 14637,17973,0,0,-5852 2 60152 -- MSL 316 ( 7J 248) +f/ 3414,17850,525,7596,6609,586 2 60109 -- MSL 324 ( 7J 205) +em 23418,6885,0,390,537,390 0 161175 -- MSL 325 (19U 151) +en 14637,6885,0,507,537,507 0 161174 -- MSL 326 (19U 150) +dd 14637,18213,846,0,-1334 2 161159 -- MSL 327 (19U 135) +.i 7317,12534,69,174,-278,174 0 46333 -- MSL 328 ( 5T 253) +aq 7317,18375,0,705,-2777,586 2 161063 -- MSL 329 (19U 39) +bu 13173,14226,0,0,-497 0 161173 -- MSL 331 (19U 149) +u207F 10734,17700,0,1650,474,586 0 87548 -- MSL 332 (10U 252) +u0111 14637,19779,330,3444,-20,586 2 75248 -- MSL 342 ( 9E 240) +u0041_0306 17565,23871,69,0,1896 2 75203 -- MSL 400 ( 9E 195) +u0061_0306 13173,18165,330,450,582,450 2 75235 -- MSL 401 ( 9E 227) +u0041_0328 17565,18000,4167,0,1896 2 75173 -- MSL 404 ( 9E 165) +u0061_0328 13173,12795,3876,750,582,586 0 75193 -- MSL 405 ( 9E 185) +'C 17565,24048,375,1455,-410,586 2 75206 -- MSL 406 ( 9E 198) +'c 12684,18375,330,1245,282,586 2 75238 -- MSL 407 ( 9E 230) +u0041_030C 17565,23745,375,1455,-410,586 2 75208 -- MSL 410 ( 9E 200) +u0061_030C 12684,18225,330,1245,282,586 2 75240 -- MSL 411 ( 9E 232) +u0044_030C 20490,23745,69,288,-362,288 2 75215 -- MSL 414 ( 9E 207) +u0064_030C 17076,19779,330,4311,-26,586 2 75247 -- MSL 415 ( 9E 239) +u0045_030C 13173,23745,201,1725,-101,586 2 75212 -- MSL 416 ( 9E 204) +u0065_030C 13173,18225,330,588,327,586 2 75244 -- MSL 417 ( 9E 236) +u0045_0328 13173,18201,4167,1095,-101,586 2 75210 -- MSL 422 ( 9E 202) +u0065_0328 13173,12795,3876,588,327,586 0 75242 -- MSL 423 ( 9E 234) +u004C_0301 12198,24048,201,414,-221,414 2 75205 -- MSL 440 ( 9E 197) +u006C_0301 7317,25155,69,4473,-110,586 2 75237 -- MSL 441 ( 9E 229) +u004C_030C 12198,18516,201,1668,-221,586 2 75196 -- MSL 442 ( 9E 188) +u006C_030C 8781,19779,69,4260,-110,586 2 75198 -- MSL 443 ( 9E 190) +u004E_0301 20490,24048,375,525,-245,525 2 75217 -- MSL 446 ( 9E 209) +u006E_0301 14637,18375,69,0,282 2 75249 -- MSL 447 ( 9E 241) +u004E_030C 20490,23745,375,525,-245,525 2 75218 -- MSL 448 ( 9E 210) +u006E_030C 14637,18225,69,0,282 2 75250 -- MSL 449 ( 9E 242) +u004F_030B 21954,24048,375,555,-371,555 2 75221 -- MSL 452 ( 9E 213) +u006F_030B 14637,18375,330,1413,351,586 2 75253 -- MSL 453 ( 9E 245) +u0052_0301 16587,24048,69,498,-158,498 2 75200 -- MSL 456 ( 9E 192) +u0072_0301 8781,18375,69,2841,279,586 2 75232 -- MSL 457 ( 9E 224) +u0052_030C 16587,23745,69,498,-158,498 2 75224 -- MSL 458 ( 9E 216) +u0072_030C 8781,18225,69,3012,279,586 2 75256 -- MSL 459 ( 9E 248) +u0053_0301 13173,24048,375,1239,855,586 2 75148 -- MSL 462 ( 9E 140) +u0073_0301 10245,18375,330,1989,960,586 2 75164 -- MSL 463 ( 9E 156) +u0054_030C 14637,23745,69,2493,-1079,586 2 75149 -- MSL 466 ( 9E 141) +u0074_030C 8295,19710,330,4446,258,586 2 75165 -- MSL 467 ( 9E 157) +u0054_0327 14637,18201,5736,2493,-1079,586 3 75230 -- MSL 468 ( 9E 222) +u0074_0327 7806,15654,5193,1212,1509,586 1 75262 -- MSL 469 ( 9E 254) +u0055_030B 20490,24048,375,669,-1454,586 2 75227 -- MSL 474 ( 9E 219) +u0075_030B 14637,18375,330,1413,-347,586 2 75259 -- MSL 475 ( 9E 251) +u0055_030A 20490,23979,375,669,-1454,586 2 75225 -- MSL 476 ( 9E 217) +u0075_030A 14637,17973,330,372,-347,372 2 75257 -- MSL 477 ( 9E 249) +u005A_0301 16101,24048,201,1014,921,586 2 75151 -- MSL 482 ( 9E 143) +u007A_0301 13173,18375,201,795,714,586 2 75167 -- MSL 483 ( 9E 159) +u005A_0307 16101,22896,201,1014,921,586 2 75183 -- MSL 484 ( 9E 175) +u007A_0307 13173,17400,201,795,714,586 0 75199 -- MSL 485 ( 9E 191) +u2070 10245,17700,0,1338,-812,586 0 51753 -- MSL 1000 ( 6J 41) +u2074 10245,17619,0,1230,-617,586 0 51748 -- MSL 1001 ( 6J 36) +u2075 10245,17619,0,900,-857,586 0 51749 -- MSL 1002 ( 6J 37) +u2076 10245,17700,0,672,-1037,586 0 51806 -- MSL 1003 ( 6J 94) +u2077 10245,17619,0,2151,-1151,586 0 51750 -- MSL 1004 ( 6J 38) +u2078 10245,17700,0,717,-776,586 0 51754 -- MSL 1005 ( 6J 42) +u2079 10245,17700,0,987,-1367,586 0 51752 -- MSL 1006 ( 6J 40) +lq 11220,18375,0,1620,-1310,586 2 161171 -- MSL 1017 (19U 147) +rq 11220,18375,0,1527,-1217,586 2 161172 -- MSL 1018 (19U 148) +Bq 11220,2535,4482,0,1782 0 161156 -- MSL 1019 (19U 132) +u2003 23418,0,0,0,1317 0 51821 -- MSL 1020 ( 6J 109) +u2002 14637,0,0,0,1317 0 51822 -- MSL 1021 ( 6J 110) +u2009 7317,0,0,0,1317 0 51828 -- MSL 1023 ( 6J 116) +u2026 23418,2592,0,0,-467 0 161157 -- MSL 1028 (19U 133) +vz 13173,18225,201,795,714,586 2 75166 -- MSL 1031 ( 9E 158) +u2120 16101,18000,0,2109,-1475,586 2 128299 -- MSL 1034 (15U 43) +u211E 20004,18315,4056,237,-938,237 2 51794 -- MSL 1036 ( 6J 82) +fi 14637,19710,69,876,45,586 2 60077 -- MSL 1040 ( 7J 173) +fl 14637,19710,69,1137,117,586 2 60078 -- MSL 1041 ( 7J 174) +ff 14637,19710,69,3714,57,586 2 51883 -- MSL 1042 ( 6J 171) +Fi 21954,19710,69,876,48,586 2 51884 -- MSL 1043 ( 6J 172) +Fl 21954,19710,69,1137,120,586 2 51885 -- MSL 1044 ( 6J 173) +ij 14148,18336,5400,873,-287,586 3 60134 -- MSL 1047 ( 7J 230) +u2105 27321,17769,264,159,-632,159 0 60072 -- MSL 1060 ( 7J 168) +u0047_0306 19515,23871,375,1158,-668,586 2 46288 -- MSL 1061 ( 5T 208) +u0067_0306 13173,18165,5400,1656,876,586 3 46320 -- MSL 1062 ( 5T 240) +u0053_0327 13173,18375,5736,882,855,586 3 75178 -- MSL 1063 ( 9E 170) +u0073_0327 10245,12795,5193,411,960,411 1 75194 -- MSL 1064 ( 9E 186) +u0049_0307 7806,22896,69,1458,-248,586 2 46301 -- MSL 1065 ( 5T 221) +bq 7317,2535,4482,0,1593 0 161154 -- MSL 1067 (19U 130) +%0 32202,17769,444,0,-2810 0 161161 -- MSL 1068 (19U 137) +a- 14637,16521,0,0,-3731 0 60154 -- MSL 1084 ( 7J 250) +ab 14637,18165,0,0,-3656 2 75170 -- MSL 1086 ( 9E 162) +a. 14637,17400,0,0,-6227 0 75263 -- MSL 1088 ( 9E 255) +oe 23418,12795,330,696,354,586 0 161180 -- MSL 1090 (19U 156) +OE 24396,18375,375,1089,-371,586 2 161164 -- MSL 1091 (19U 140) +fo 6342,10920,0,624,243,586 0 161163 -- MSL 1092 (19U 139) +fc 6342,10920,0,0,972 0 161179 -- MSL 1093 (19U 155) +sq 19029,15624,0,0,-2021 0 60091 -- MSL 1094 ( 7J 187) +/L 12198,18069,201,405,1215,405 2 75171 -- MSL 1095 ( 9E 163) +/l 7317,19779,69,2694,1233,586 2 75187 -- MSL 1096 ( 9E 179) +a" 14637,18375,0,1413,-3644,586 2 75197 -- MSL 1097 ( 9E 189) +ho 14637,600,3876,0,-6092 0 75186 -- MSL 1098 ( 9E 178) +vZ 16101,23745,201,1014,921,586 2 75150 -- MSL 1106 ( 9E 142) +IJ 15126,18069,3657,1026,-248,586 2 60135 -- MSL 1107 ( 7J 231) diff -ruN groff-1.19/font/devlj4/OR groff-1.19.1/font/devlj4/OR --- groff-1.19/font/devlj4/OR Tue Feb 25 06:38:56 2003 +++ groff-1.19.1/font/devlj4/OR Wed Feb 18 10:01:17 2004 @@ -1,3 +1,4 @@ +# CG Omega name OR spacewidth 7317 pcltypeface 4113 @@ -6,787 +7,857 @@ 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 cq -3414 -L ' -3414 -T hy -3903 -T - -3903 -T en -3903 -T em -3903 -A cq -3903 -A ' -3903 -hy T -3903 -- T -3903 -en T -3903 -em T -3903 -Y hy -2439 -Y - -2439 -Y en -2439 -Y em -2439 -p cq -1461 -p ' -1461 -c cq -486 -c ' -486 -e cq -975 -e ' -975 -b cq -1461 -b ' -1461 -a cq -1461 -a ' -1461 -V hy -2439 -V - -2439 -V en -2439 -V em -2439 -h cq -1461 -h ' -1461 -n cq -1461 -n ' -1461 -m cq -1461 -m ' -1461 -R cq -975 -R ' -975 -W hy -1461 -W - -1461 -W en -1461 -W em -1461 -cq d -1461 -' d -1461 -s cq -486 -s ' -486 -L hy -1950 -L - -1950 -L en -1950 -L em -1950 -X hy -1461 -X - -1461 -X en -1461 -X em -1461 -A hy -1461 -A - -1461 -A en -1461 -A em -1461 -K hy -1461 -K - -1461 -K en -1461 -K em -1461 -cq s -975 -' s -975 -hy X -1461 -- X -1461 -hy A -1461 -- A -1461 -en X -1461 -en A -1461 -em X -1461 -R hy -975 -R - -975 -R en -975 -R em -975 -k cq -486 -k ' -486 -M cq -486 -M ' -486 -G cq -486 -G ' -486 -Z hy -975 -Z - -975 -Z en -975 -Z em -975 -B cq -486 -B ' -486 -U cq -486 -U ' -486 -cq M -486 -' M -486 -k hy -486 -k - -486 -k en -486 -k em -486 -B hy -486 -B - -486 -B en -486 -B em -486 -U hy -486 -U - -486 -U en -486 -U em -486 +L V -3413 +P . -3902 +P , -3902 +V A -4388 +A V -4388 +T o -3902 +T r -3413 +T c -3902 +T e -3902 +T d -3902 +T s -3902 +T y -3902 +T a -3902 +T w -3902 +T u -3902 +L T -3413 +L Y -3413 +Y o -3902 +Y e -3902 +Y a -3902 +A W -3902 +W A -3902 +T A -3413 +V o -3413 +V e -3413 +V a -3413 +Y A -4388 +F A -3413 +F . -3413 +F , -3413 +A T -3413 +A Y -4388 +v . -2924 +v , -2924 +y . -2924 +y , -2924 +T . -3413 +T , -3413 +L W -3413 +P A -2924 +V . -3902 +V , -3902 +Y . -3902 +Y , -3902 +W o -2924 +W e -2924 +W a -2924 +W . -3902 +W , -3902 +r . -2924 +r , -2924 +w . -1949 +w , -1949 +Y u -2438 +A v -1949 +A y -1949 +A w -1460 +o . -1460 +o , -1460 +p . -1460 +p , -1460 +e . -974 +e , -974 +b . -1460 +b , -1460 +O T -2438 +O V -2438 +O Y -2438 +O . -2438 +O , -2438 +L y -2924 +L O -2438 +L G -2438 +L C -974 +L Q -2438 +V y -2438 +V u -2438 +V O -2438 +V G -2438 +V C -1460 +V Q -2438 +D T -1949 +D V -1949 +D Y -1949 +D . -1949 +D , -1949 +Y O -2438 +Y G -2438 +Y C -1460 +Y Q -2438 +F o -1460 +F e -1460 +F a -1460 +c . -485 +c , -485 +O A -1460 +O W -1460 +L U -1460 +R T -974 +R V -974 +R Y -974 +R W -974 +G T -1460 +P o -1460 +P g -974 +P e -1460 +P a -1460 +C A -485 +C . -485 +C , -485 +D A -1460 +D W -1460 +B T -1460 +B Y -1460 +B . -1460 +B , -1460 +A O -1460 +A G -1460 +A C -974 +A U -1460 +A Q -1460 +W r -1460 +W y -1460 +W u -1460 +W O -1460 +W G -1460 +W C -1460 +W Q -1460 +J A -974 +J . -974 +J , -974 +U A -1460 +U . -1460 +U , -1460 +Q A -1460 +Q W -1460 +f . -485 +f , -485 +T O -2438 +T G -2438 +T C -1460 +T Q -2438 +O X -1460 +L o -1460 +L e -1460 +L q -1460 +G V -1460 +G Y -1460 +G W -1460 +G . -485 +G , -485 +P T -485 +P V -485 +P Y -485 +D X -1460 +B V -1460 +B X -1460 +B A -1460 +B W -1460 +S . -974 +S , -974 +X o -1460 +X e -1460 +X y -1460 +X O -1460 +X G -1460 +X C -974 +X Q -1460 +A o -1460 +A e -1460 +Q X -1460 +K o -1460 +K e -1460 +K y -1460 +K w -1460 +K O -1460 +K G -1460 +K C -974 +K Q -1460 +o v -485 +o y -485 +o x -974 +h v -485 +h y -485 +n v -485 +n y -485 +m v -485 +m y -485 +g . -485 +g , -485 +p v -485 +p y -485 +p x -974 +c v -485 +c y -485 +v o -485 +v g -485 +v c -485 +v d -485 +v a -485 +v q -485 +e v -485 +e y -485 +b v -485 +b y -485 +s . -974 +s , -974 +y o -485 +y g -485 +y c -485 +y d -485 +y a -485 +y q -485 +f g -485 +x o -974 +x g -974 +x c -974 +x e -974 +x d -974 +x a -974 +x q -974 +a v -485 +a y -485 +T i -485 +T S -974 +L a -974 +L S -974 +R o -974 +R y -974 +R O -974 +R G -974 +R C -974 +R U -1460 +R Q -974 +G X -485 +G A -485 +P s -974 +P Z -485 +P X -485 +P W -485 +V i -485 +V S -974 +S T -974 +S V -974 +S Y -974 +S X -974 +S A -974 +S W -974 +Y i -485 +Y S -974 +X a -974 +X u -1460 +X S -974 +A t -1460 +A g -974 +A c -1460 +A d -1460 +A a -974 +A u -1460 +A q -1460 +A S -974 +W i -485 +W S -974 +K c -1460 +K u -1460 +K S -974 +c x -485 +v e -485 +v s -485 +e x -974 +s v -485 +s y -485 +s x -485 +y e -485 +y s -485 +f o -485 +f c -485 +f e -485 +f d -485 +f s -485 +f a -485 +f q -485 +x s -485 +k o -485 +k g -485 +k c -485 +k v -485 +k e -485 +k d -485 +k y -485 +k a -485 +k w -485 +k q -485 +O Z -974 +R e -974 +R a -974 +R u -974 +R S -974 +G Z -485 +P M -485 +P U -485 +Z o -974 +Z e -974 +Z d -974 +Z s -485 +Z y -974 +Z a -974 +Z w -974 +Z u -974 +Z O -974 +Z G -974 +Z C -974 +Z S -974 +Z Q -974 +D Z -974 +B Z -1460 +B J -485 +S Z -974 +A s -485 +J U -485 +U g -485 +U J -485 +K a -974 +o z -485 +p z -485 +c z -485 +e z -485 +z o -485 +z g -485 +z c -485 +z e -485 +z d -485 +z s -485 +z a -485 +z q -485 +b z -485 +s z -485 +k t -485 +k s -485 +k f -485 +k u -485 +T U -485 +G J -485 +C U -485 +V U -485 +E U -485 +B o -485 +B h -485 +B l -485 +B r -485 +B i -485 +B e -485 +B y -485 +B a -485 +B u -485 +B O -485 +B H -485 +B N -485 +B M -485 +B L -485 +B R -485 +B G -485 +B I -485 +B P -485 +B C -485 +B E -485 +B D -485 +B B -485 +B S -485 +B F -485 +B U -974 +B Q -485 +B K -485 +Y U -485 +F M -485 +F U -485 +X U -485 +A f -485 +W U -485 +U t -485 +U o -485 +U h -485 +U n -485 +U m -485 +U l -485 +U r -485 +U i -485 +U p -485 +U c -485 +U v -485 +U e -485 +U z -485 +U d -485 +U b -485 +U s -485 +U y -485 +U f -485 +U x -485 +U a -485 +U w -485 +U j -485 +U q -485 +U k -485 +U T -485 +U O -485 +U H -485 +U N -485 +U M -485 +U L -485 +U R -485 +U G -485 +U I -485 +U P -485 +U C -485 +U V -485 +U E -485 +U Z -485 +U D -485 +U B -485 +U S -485 +U Y -485 +U F -485 +U X -485 +U W -485 +U U -974 +U Q -485 +U K -485 +K U -485 +L cq -3413 +L ' -3413 +T hy -3902 +T - -3902 +T en -3902 +T em -3902 +A cq -3902 +A ' -3902 +hy T -3902 +- T -3902 +en T -3902 +em T -3902 +Y hy -2438 +Y - -2438 +Y en -2438 +Y em -2438 +p cq -1460 +p ' -1460 +c cq -485 +c ' -485 +e cq -974 +e ' -974 +b cq -1460 +b ' -1460 +a cq -1460 +a ' -1460 +V hy -2438 +V - -2438 +V en -2438 +V em -2438 +h cq -1460 +h ' -1460 +n cq -1460 +n ' -1460 +m cq -1460 +m ' -1460 +R cq -974 +R ' -974 +W hy -1460 +W - -1460 +W en -1460 +W em -1460 +cq d -1460 +' d -1460 +s cq -485 +s ' -485 +L hy -1949 +L - -1949 +L en -1949 +L em -1949 +X hy -1460 +X - -1460 +X en -1460 +X em -1460 +A hy -1460 +A - -1460 +A en -1460 +A em -1460 +K hy -1460 +K - -1460 +K en -1460 +K em -1460 +cq s -974 +' s -974 +hy X -1460 +- X -1460 +hy A -1460 +- A -1460 +en X -1460 +en A -1460 +em X -1460 +R hy -974 +R - -974 +R en -974 +R em -974 +k cq -485 +k ' -485 +M cq -485 +M ' -485 +G cq -485 +G ' -485 +Z hy -974 +Z - -974 +Z en -974 +Z em -974 +B cq -485 +B ' -485 +U cq -485 +U ' -485 +cq M -485 +' M -485 +k hy -485 +k - -485 +k en -485 +k em -485 +B hy -485 +B - -485 +B en -485 +B em -485 +U hy -485 +U - -485 +U en -485 +U em -485 charset -! 7317,18000,330 2 3617 -dq 10734,18375 2 3618 +! 7317,18000,330 2 161057 -- MSL 1 (19U 33) +dq 10734,18375 2 161058 -- MSL 2 (19U 34) " " -sh 14637,17994,405 2 3619 +sh 14637,17994,405 2 161059 -- MSL 3 (19U 35) # " -Do 14637,19554,2919 2 3620 +Do 14637,19554,2919 2 161060 -- MSL 4 (19U 36) $ " -% 23418,17961,510 2 3621 -& 19029,17667,375 0 3622 -cq 7317,18375 2 51751 +% 23418,17961,510 2 161061 -- MSL 5 (19U 37) +& 19029,17667,375 0 161062 -- MSL 6 (19U 38) +cq 7317,18375 2 161170 -- MSL 8 (19U 146) ' " -( 7317,18375,3165 2 3624 -) 7317,18375,3165 2 3625 -* 14637,18066 2 3626 -+ 23418,13260,393 0 3627 -, 7317,2718,4923 1 3628 -hy 7317,7275 0 3629 +( 7317,18375,3165 2 161064 -- MSL 9 (19U 40) +) 7317,18375,3165 2 161065 -- MSL 10 (19U 41) +* 14637,18066 2 161066 -- MSL 11 (19U 42) ++ 23418,13260,393 0 161067 -- MSL 12 (19U 43) +, 7317,2718,4923 1 161068 -- MSL 13 (19U 44) +hy 7317,7275 0 161069 -- MSL 14 (19U 45) - " -. 7317,2715,330 0 3630 -sl 7317,19566,396 2 3631 +. 7317,2715,330 0 161070 -- MSL 15 (19U 46) +sl 7317,19566,396 2 161071 -- MSL 16 (19U 47) / " -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 +0 14637,17700,375 0 161072 -- MSL 17 (19U 48) +1 14637,17700,69 0 161073 -- MSL 18 (19U 49) +2 14637,17700,201 0 161074 -- MSL 19 (19U 50) +3 14637,17700,375 0 161075 -- MSL 20 (19U 51) +4 14637,17394,69 0 161076 -- MSL 21 (19U 52) +5 14637,17526,375 0 161077 -- MSL 22 (19U 53) +6 14637,17700,375 0 161078 -- MSL 23 (19U 54) +7 14637,17526,69 0 161079 -- MSL 24 (19U 55) +8 14637,17700,375 0 161080 -- MSL 25 (19U 56) +9 14637,17700,375 0 161081 -- MSL 26 (19U 57) +: 7317,11805,330 0 161082 -- MSL 27 (19U 58) +; 7317,11805,4923 1 161083 -- MSL 28 (19U 59) +< 26346,16068 0 161084 -- MSL 29 (19U 60) += 23418,8634 0 161085 -- MSL 30 (19U 61) +> 26346,16068 0 161086 -- MSL 31 (19U 62) +? 10245,18000,330 2 161087 -- MSL 32 (19U 63) +at 23418,16980,3654 0 161088 -- MSL 33 (19U 64) @ " -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 +A 17565,18000,69 2 161089 -- MSL 34 (19U 65) +B 16101,18069,69 2 161090 -- MSL 35 (19U 66) +C 17565,18375,375 2 161091 -- MSL 36 (19U 67) +D 20490,18069,69 2 161092 -- MSL 37 (19U 68) +E 13173,18201,201 2 161093 -- MSL 38 (19U 69) +F 13173,18201,69 2 161094 -- MSL 39 (19U 70) +G 20490,18375,375 2 161095 -- MSL 40 (19U 71) +H 20490,18069,69 2 161096 -- MSL 41 (19U 72) +I 7317,18069,69 2 161097 -- MSL 42 (19U 73) +J 7317,18069,3855 2 161098 -- MSL 43 (19U 74) +K 16101,18069,69 2 161099 -- MSL 44 (19U 75) +L 13173,18069,201 2 161100 -- MSL 45 (19U 76) +M 23418,18000,69 2 161101 -- MSL 46 (19U 77) +N 20490,18069,375 2 161102 -- MSL 47 (19U 78) +O 21954,18375,375 2 161103 -- MSL 48 (19U 79) +P 14637,18069,69 2 161104 -- MSL 49 (19U 80) +Q 21954,18375,5400 3 161105 -- MSL 50 (19U 81) +R 16101,18069,69 2 161106 -- MSL 51 (19U 82) +S 13173,18375,375 2 161107 -- MSL 52 (19U 83) +T 14637,18201,69 2 161108 -- MSL 53 (19U 84) +U 20490,18069,375 2 161109 -- MSL 54 (19U 85) +V 17565,18069,69 2 161110 -- MSL 55 (19U 86) +W 26346,18069,69 2 161111 -- MSL 56 (19U 87) +X 16101,18069,69 2 161112 -- MSL 57 (19U 88) +Y 16101,18069,69 2 161113 -- MSL 58 (19U 89) +Z 16101,18201,201 2 161114 -- MSL 59 (19U 90) +lB 7317,18204,4179 2 161115 -- MSL 60 (19U 91) [ " -rs 7317,19566,396 2 3676 +rs 7317,19566,396 2 161116 -- MSL 61 (19U 92) \ " -rB 7317,18204,4179 2 3677 +rB 7317,18204,4179 2 161117 -- MSL 62 (19U 93) ] " -ha 13173,19758 2 51875 -_ 13173,0,6588 1 3679 -oq 7317,18375 2 51808 +ha 13173,19758 2 161118 -- MSL 63 (19U 94) +_ 13173,0,6588 1 161119 -- MSL 64 (19U 95) +oq 7317,18375 2 161169 -- MSL 66 (19U 145) ` " -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 -`A 17565,23730,69 2 3776 -^A 17565,23760,69 2 3778 -`E 13173,23730,201 2 3784 -^E 13173,23760,201 2 3786 -:E 13173,22902,201 2 3787 -^I 7317,23760,69 2 3790 -:I 7317,22902,69 2 3791 -aa 14637,18189 2 3764 -ga 14637,18189 2 3680 -a^ 14637,18000 2 3678 +a 12684,12795,330 0 161121 -- MSL 67 (19U 97) +b 14637,19569,330 2 161122 -- MSL 68 (19U 98) +c 12684,12795,330 0 161123 -- MSL 69 (19U 99) +d 14637,19569,330 2 161124 -- MSL 70 (19U 100) +e 13173,12795,330 0 161125 -- MSL 71 (19U 101) +f 7317,19710,69 2 161126 -- MSL 72 (19U 102) +g 13173,12882,5400 1 161127 -- MSL 73 (19U 103) +h 14637,19569,69 2 161128 -- MSL 74 (19U 104) +i 7317,18399,69 2 161129 -- MSL 75 (19U 105) +j 7317,18399,5400 3 161130 -- MSL 76 (19U 106) +k 13173,19569,69 2 161131 -- MSL 77 (19U 107) +l 7317,19569,69 2 161132 -- MSL 78 (19U 108) +m 21954,12795,69 0 161133 -- MSL 79 (19U 109) +n 14637,12795,69 0 161134 -- MSL 80 (19U 110) +o 14637,12795,330 0 161135 -- MSL 81 (19U 111) +p 14637,12795,5469 1 161136 -- MSL 82 (19U 112) +q 14637,12795,5469 1 161137 -- MSL 83 (19U 113) +r 8781,12795,69 0 161138 -- MSL 84 (19U 114) +s 10245,12795,330 0 161139 -- MSL 85 (19U 115) +t 7317,16185,330 0 161140 -- MSL 86 (19U 116) +u 14637,12534,330 0 161141 -- MSL 87 (19U 117) +v 13173,12534,69 0 161142 -- MSL 88 (19U 118) +w 20490,12534,69 0 161143 -- MSL 89 (19U 119) +x 13173,12534,69 0 161144 -- MSL 90 (19U 120) +y 13173,12534,5469 1 161145 -- MSL 91 (19U 121) +z 13173,12666,201 0 161146 -- MSL 92 (19U 122) +{ 11709,19935,6210 3 161147 -- MSL 93 (19U 123) +lC " +| 13173,19758,6588 3 161148 -- MSL 94 (19U 124) +ba " +} 11709,19935,6210 3 161149 -- MSL 95 (19U 125) +rC " +ti 26346,8952 0 161150 -- MSL 96 (19U 126) +`A 17565,23730,69 2 161216 -- MSL 99 (19U 192) +^A 17565,23760,69 2 161218 -- MSL 100 (19U 194) +`E 13173,23730,201 2 161224 -- MSL 101 (19U 200) +^E 13173,23760,201 2 161226 -- MSL 102 (19U 202) +:E 13173,22902,201 2 161227 -- MSL 103 (19U 203) +^I 7317,23760,69 2 161230 -- MSL 104 (19U 206) +:I 7317,22902,69 2 161231 -- MSL 105 (19U 207) +aa 14637,18189 2 161204 -- MSL 106 (19U 180) +ga 14637,18189 2 161120 -- MSL 107 (19U 96) +a^ 14637,18000 2 161160 -- MSL 108 (19U 136) ^ " -ad 14637,17223 0 3752 -a~ 14637,16980 0 3710 -~ " -`U 20490,23730,375 2 3801 -^U 20490,23760,375 2 3803 -'Y 16101,23730,69 2 3805 -'y 13173,18189,5469 3 3837 -de 14637,17700 0 3760 -,C 17565,18375,5988 3 3783 -,c 12684,12795,5673 1 3815 -~N 20490,22707,375 2 3793 -~n 14637,16980,69 0 3825 -r! 7317,12696,5634 1 3745 -r? 10245,12696,5634 1 3775 -Cs 14637,15684 0 3748 -Po 14637,17700,201 0 3747 -Ye 14637,17769,69 2 3749 -sc 14637,18000,3633 2 3751 -Fn 14637,19710,69 2 51871 -ct 14637,19155,93 2 3746 -^a 12684,18000,330 2 3810 -^e 13173,18000,330 2 3818 -^o 14637,18000,330 2 3828 -^u 14637,18000,330 2 3835 -'a 12684,18189,330 2 3809 -'e 13173,18189,330 2 3817 -'o 14637,18189,330 2 3827 -'u 14637,18189,330 2 3834 -`a 12684,18189,330 2 3808 -`e 13173,18189,330 2 3816 -`o 14637,18189,330 2 3826 -`u 14637,18189,330 2 3833 -:a 12684,17223,330 0 3812 -:e 13173,17223,330 0 3819 -:o 14637,17223,330 0 3830 -:u 14637,17223,330 0 3836 -oA 17565,23964,69 2 3781 -^i 7317,18000,69 2 3822 -/O 21954,18375,375 2 3800 -AE 21468,18201,201 2 3782 -oa 12684,18045,330 2 3813 -'i 7317,18189,69 2 3821 -/o 14637,12876,330 0 3832 -ae 20490,12795,330 0 3814 -:A 17565,22902,69 2 3780 -`i 7317,18189,69 2 3820 -:O 21954,22902,375 2 3798 -:U 20490,22902,375 2 3804 -'E 13173,23730,201 2 3785 -:i 7317,17223,69 0 3823 -ss 14637,19710,330 2 3807 -^O 21954,23760,375 2 3796 -'A 17565,23730,69 2 3777 -~A 17565,22707,69 2 3779 -~a 12684,16980,330 0 3811 --D 20490,18069,69 2 3792 -Sd 14637,19500,330 2 3824 -'I 7317,23730,69 2 3789 -`I 7317,23730,69 2 3788 -'O 21954,23730,375 2 3795 -`O 21954,23730,375 2 3794 -~O 21954,22707,375 2 3797 -~o 14637,16980,330 0 3829 -vS 13173,23760,375 2 51795 -vs 10245,18183,330 2 51827 -'U 20490,23730,375 2 3802 -:Y 16101,22902,69 2 51801 -:y 13173,17223,5469 1 3839 -TP 14637,18069,69 2 3806 -Tp 14637,19569,5469 3 3838 -mc 14637,12630,4350 0 3765 -ps 14637,19635,4200 2 3766 -34 23418,17700,519 0 3774 -\- 23418,7122 0 51757 -14 23418,17700,519 0 3772 -12 23418,17700,519 0 3773 -Of 10734,17700 0 3754 -Om 10734,17700 0 3770 -Fo 9759,10809 0 3755 -Fc 9759,10809 0 3771 -t+- 23418,13260,3132 0 3761 -bb 13173,19083,5916 3 3750 -co 13173,19635 2 3753 -tno 23418,10671 0 3756 -rg 13173,19635 2 3758 -S2 9759,17700 0 3762 -S3 9759,17700 0 3763 -ac 14637,0,5673 1 3768 -S1 9759,17700 0 3769 -tmu 23418,13137,585 0 3799 -tdi 23418,11139 0 3831 -pc 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 -a- 14637,16662 0 3759 -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 +ad 14637,17223 0 161192 -- MSL 109 (19U 168) +~ 14637,16980 0 161176 -- MSL 110 (19U 152) +a~ " +`U 20490,23730,375 2 161241 -- MSL 111 (19U 217) +^U 20490,23760,375 2 161243 -- MSL 112 (19U 219) +u00AF 13173,21105 2 161199 -- MSL 113 (19U 175) +'Y 16101,23730,69 2 161245 -- MSL 114 (19U 221) +'y 13173,18189,5469 3 161277 -- MSL 115 (19U 253) +de 14637,17700 0 161200 -- MSL 116 (19U 176) +,C 17565,18375,5988 3 161223 -- MSL 117 (19U 199) +,c 12684,12795,5673 1 161255 -- MSL 118 (19U 231) +~N 20490,22707,375 2 161233 -- MSL 119 (19U 209) +~n 14637,16980,69 0 161265 -- MSL 120 (19U 241) +r! 7317,12696,5634 1 161185 -- MSL 121 (19U 161) +r? 10245,12696,5634 1 161215 -- MSL 122 (19U 191) +Cs 14637,15684 0 161188 -- MSL 123 (19U 164) +Po 14637,17700,201 0 161187 -- MSL 124 (19U 163) +Ye 14637,17769,69 2 161189 -- MSL 125 (19U 165) +sc 14637,18000,3633 2 161191 -- MSL 126 (19U 167) +Fn 14637,19710,69 2 161155 -- MSL 127 (19U 131) +ct 14637,19155,93 2 161186 -- MSL 128 (19U 162) +^a 12684,18000,330 2 161250 -- MSL 129 (19U 226) +^e 13173,18000,330 2 161258 -- MSL 130 (19U 234) +^o 14637,18000,330 2 161268 -- MSL 131 (19U 244) +^u 14637,18000,330 2 161275 -- MSL 132 (19U 251) +'a 12684,18189,330 2 161249 -- MSL 133 (19U 225) +'e 13173,18189,330 2 161257 -- MSL 134 (19U 233) +'o 14637,18189,330 2 161267 -- MSL 135 (19U 243) +'u 14637,18189,330 2 161274 -- MSL 136 (19U 250) +`a 12684,18189,330 2 161248 -- MSL 137 (19U 224) +`e 13173,18189,330 2 161256 -- MSL 138 (19U 232) +`o 14637,18189,330 2 161266 -- MSL 139 (19U 242) +`u 14637,18189,330 2 161273 -- MSL 140 (19U 249) +:a 12684,17223,330 0 161252 -- MSL 141 (19U 228) +:e 13173,17223,330 0 161259 -- MSL 142 (19U 235) +:o 14637,17223,330 0 161270 -- MSL 143 (19U 246) +:u 14637,17223,330 0 161276 -- MSL 144 (19U 252) +oA 17565,23964,69 2 161221 -- MSL 145 (19U 197) +^i 7317,18000,69 2 161262 -- MSL 146 (19U 238) +/O 21954,18375,375 2 161240 -- MSL 147 (19U 216) +AE 21468,18201,201 2 161222 -- MSL 148 (19U 198) +oa 12684,18045,330 2 161253 -- MSL 149 (19U 229) +'i 7317,18189,69 2 161261 -- MSL 150 (19U 237) +/o 14637,12876,330 0 161272 -- MSL 151 (19U 248) +ae 20490,12795,330 0 161254 -- MSL 152 (19U 230) +:A 17565,22902,69 2 161220 -- MSL 153 (19U 196) +`i 7317,18189,69 2 161260 -- MSL 154 (19U 236) +:O 21954,22902,375 2 161238 -- MSL 155 (19U 214) +:U 20490,22902,375 2 161244 -- MSL 156 (19U 220) +'E 13173,23730,201 2 161225 -- MSL 157 (19U 201) +:i 7317,17223,69 0 161263 -- MSL 158 (19U 239) +ss 14637,19710,330 2 161247 -- MSL 159 (19U 223) +^O 21954,23760,375 2 161236 -- MSL 160 (19U 212) +'A 17565,23730,69 2 161217 -- MSL 161 (19U 193) +~A 17565,22707,69 2 161219 -- MSL 162 (19U 195) +~a 12684,16980,330 0 161251 -- MSL 163 (19U 227) +-D 20490,18069,69 2 161232 -- MSL 164 (19U 208) +Sd 14637,19500,330 2 161264 -- MSL 165 (19U 240) +'I 7317,23730,69 2 161229 -- MSL 166 (19U 205) +`I 7317,23730,69 2 161228 -- MSL 167 (19U 204) +'O 21954,23730,375 2 161235 -- MSL 168 (19U 211) +`O 21954,23730,375 2 161234 -- MSL 169 (19U 210) +~O 21954,22707,375 2 161237 -- MSL 170 (19U 213) +~o 14637,16980,330 0 161269 -- MSL 171 (19U 245) +vS 13173,23760,375 2 161162 -- MSL 172 (19U 138) +vs 10245,18183,330 2 161178 -- MSL 173 (19U 154) +'U 20490,23730,375 2 161242 -- MSL 174 (19U 218) +:Y 16101,22902,69 2 161183 -- MSL 175 (19U 159) +:y 13173,17223,5469 1 161279 -- MSL 176 (19U 255) +TP 14637,18069,69 2 161246 -- MSL 177 (19U 222) +Tp 14637,19569,5469 3 161278 -- MSL 178 (19U 254) +mc 14637,12630,4350 0 161205 -- MSL 180 (19U 181) +ps 14637,19635,4200 2 161206 -- MSL 181 (19U 182) +34 23418,17700,519 0 161214 -- MSL 182 (19U 190) +\- 23418,7122 0 60096 -- MSL 183 ( 7J 192) +14 23418,17700,519 0 161212 -- MSL 184 (19U 188) +12 23418,17700,519 0 161213 -- MSL 185 (19U 189) +Of 10734,17700 0 161194 -- MSL 186 (19U 170) +Om 10734,17700 0 161210 -- MSL 187 (19U 186) +Fo 9759,10809 0 161195 -- MSL 188 (19U 171) +Fc 9759,10809 0 161211 -- MSL 190 (19U 187) +t+- 23418,13260,3132 0 161201 -- MSL 191 (19U 177) +bb 13173,19083,5916 3 161190 -- MSL 192 (19U 166) +co 13173,19635 2 161193 -- MSL 193 (19U 169) +tno 23418,10671 0 161196 -- MSL 194 (19U 172) +u00AD 7317,7275 0 161197 -- MSL 195 (19U 173) +rg 13173,19635 2 161198 -- MSL 196 (19U 174) +S2 9759,17700 0 161202 -- MSL 197 (19U 178) +S3 9759,17700 0 161203 -- MSL 198 (19U 179) +ac 14637,0,5673 1 161208 -- MSL 199 (19U 184) +S1 9759,17700 0 161209 -- MSL 200 (19U 185) +tmu 23418,13137,585 0 161239 -- MSL 201 (19U 215) +tdi 23418,11139 0 161271 -- MSL 202 (19U 247) +u203C 13662,18000,330 2 87315 -- MSL 221 (10U 19) +u20A7 21954,18069,330 2 60121 -- MSL 232 ( 7J 217) +pc 7317,10407 0 161207 -- MSL 302 (19U 183) +u013F 13173,18069,201 2 51943 -- MSL 306 ( 6J 231) +u0140 10245,19569,69 2 51959 -- MSL 307 ( 6J 247) +u2113 14637,18150,297 2 60122 -- MSL 308 ( 7J 218) +u0149 20490,18375,69 2 51951 -- MSL 309 ( 6J 239) +fm 7317,17700 0 60101 -- MSL 310 ( 7J 197) +sd 14637,17700 0 60102 -- MSL 311 ( 7J 198) +dg 14637,18213,846 2 161158 -- MSL 312 (19U 134) +tm 16101,17850 2 161177 -- MSL 313 (19U 153) +u2017 13173,0,6588 1 60095 -- MSL 314 ( 7J 191) +ah 14637,18183 2 75169 -- MSL 315 ( 9E 161) +ao 14637,18045 2 60152 -- MSL 316 ( 7J 248) +f/ 2439,17637,519 0 60109 -- MSL 324 ( 7J 205) +em 23418,6867 0 161175 -- MSL 325 (19U 151) +en 14637,6867 0 161174 -- MSL 326 (19U 150) +dd 14637,18213,846 2 161159 -- MSL 327 (19U 135) +.i 7317,12534,69 0 46333 -- MSL 328 ( 5T 253) +aq 7317,18375 2 161063 -- MSL 329 (19U 39) +bu 13173,14226 0 161173 -- MSL 331 (19U 149) +u207F 12198,17700 0 87548 -- MSL 332 (10U 252) +u0111 14637,19569,330 2 75248 -- MSL 342 ( 9E 240) +u0041_0306 17565,23991,69 2 75203 -- MSL 400 ( 9E 195) +u0061_0306 12684,18111,330 2 75235 -- MSL 401 ( 9E 227) +u0041_0328 17565,18000,4761 2 75173 -- MSL 404 ( 9E 165) +u0061_0328 12684,12795,3885 0 75193 -- MSL 405 ( 9E 185) +'C 17565,23730,375 2 75206 -- MSL 406 ( 9E 198) +'c 12684,18189,330 2 75238 -- MSL 407 ( 9E 230) +u0041_030C 17565,23760,375 2 75208 -- MSL 410 ( 9E 200) +u0061_030C 12684,18183,330 2 75240 -- MSL 411 ( 9E 232) +u0044_030C 20490,23760,69 2 75215 -- MSL 414 ( 9E 207) +u0064_030C 16587,19710,330 2 75247 -- MSL 415 ( 9E 239) +u0045_030C 13173,23760,201 2 75212 -- MSL 416 ( 9E 204) +u0065_030C 13173,18183,330 2 75244 -- MSL 417 ( 9E 236) +u0045_0328 13173,18201,4761 2 75210 -- MSL 422 ( 9E 202) +u0065_0328 13173,12795,4560 0 75242 -- MSL 423 ( 9E 234) +u004C_0301 13173,23730,201 2 75205 -- MSL 440 ( 9E 197) +u006C_0301 7317,25119,69 2 75237 -- MSL 441 ( 9E 229) +u004C_030C 13173,18516,201 2 75196 -- MSL 442 ( 9E 188) +u006C_030C 8781,19710,69 2 75198 -- MSL 443 ( 9E 190) +u004E_0301 20490,23730,375 2 75217 -- MSL 446 ( 9E 209) +u006E_0301 14637,18189,69 2 75249 -- MSL 447 ( 9E 241) +u004E_030C 20490,23760,375 2 75218 -- MSL 448 ( 9E 210) +u006E_030C 14637,18183,69 2 75250 -- MSL 449 ( 9E 242) +u004F_030B 21954,23730,375 2 75221 -- MSL 452 ( 9E 213) +u006F_030B 14637,18189,330 2 75253 -- MSL 453 ( 9E 245) +u0052_0301 16101,23730,69 2 75200 -- MSL 456 ( 9E 192) +u0072_0301 8781,18189,69 2 75232 -- MSL 457 ( 9E 224) +u0052_030C 16101,23760,69 2 75224 -- MSL 458 ( 9E 216) +u0072_030C 8781,18183,69 2 75256 -- MSL 459 ( 9E 248) +u0053_0301 13173,23730,375 2 75148 -- MSL 462 ( 9E 140) +u0073_0301 10245,18189,330 2 75164 -- MSL 463 ( 9E 156) +u0054_030C 14637,23760,69 2 75149 -- MSL 466 ( 9E 141) +u0074_030C 8295,19710,330 2 75165 -- MSL 467 ( 9E 157) +u0054_0327 14637,18201,5988 3 75230 -- MSL 468 ( 9E 222) +u0074_0327 7317,16185,5673 1 75262 -- MSL 469 ( 9E 254) +u0055_030B 20490,23730,375 2 75227 -- MSL 474 ( 9E 219) +u0075_030B 14637,18189,330 2 75259 -- MSL 475 ( 9E 251) +u0055_030A 20490,23964,375 2 75225 -- MSL 476 ( 9E 217) +u0075_030A 14637,18045,330 2 75257 -- MSL 477 ( 9E 249) +u005A_0301 16101,23730,201 2 75151 -- MSL 482 ( 9E 143) +u007A_0301 13173,18189,201 2 75167 -- MSL 483 ( 9E 159) +u005A_0307 16101,22902,201 2 75183 -- MSL 484 ( 9E 175) +u007A_0307 13173,17223,201 0 75199 -- MSL 485 ( 9E 191) +u2070 9759,17700 0 51753 -- MSL 1000 ( 6J 41) +u2074 9759,17562 0 51748 -- MSL 1001 ( 6J 36) +u2075 9759,17694 0 51749 -- MSL 1002 ( 6J 37) +u2076 9759,17700 0 51806 -- MSL 1003 ( 6J 94) +u2077 9759,17655 0 51750 -- MSL 1004 ( 6J 38) +u2078 9759,17700 0 51754 -- MSL 1005 ( 6J 42) +u2079 9759,17700 0 51752 -- MSL 1006 ( 6J 40) +lq 11220,18375 2 161171 -- MSL 1017 (19U 147) +rq 11220,18375 2 161172 -- MSL 1018 (19U 148) +Bq 11220,2718,4509 0 161156 -- MSL 1019 (19U 132) +u2003 23418,0 0 51821 -- MSL 1020 ( 6J 109) +u2002 14637,0 0 51822 -- MSL 1021 ( 6J 110) +u2009 7317,0 0 51828 -- MSL 1023 ( 6J 116) +u2026 23418,2667 0 161157 -- MSL 1028 (19U 133) +vz 13173,18183,201 2 75166 -- MSL 1031 ( 9E 158) +u2120 16101,18000 2 128299 -- MSL 1034 (15U 43) +u211E 20004,18315,4056 2 51794 -- MSL 1036 ( 6J 82) +fi 14148,19710,69 2 60077 -- MSL 1040 ( 7J 173) +fl 14148,19779,69 2 60078 -- MSL 1041 ( 7J 174) +ff 14637,19710,69 2 51883 -- MSL 1042 ( 6J 171) +Fi 21468,19710,69 2 51884 -- MSL 1043 ( 6J 172) +Fl 21468,19779,69 2 51885 -- MSL 1044 ( 6J 173) +ij 14148,18399,5400 3 60134 -- MSL 1047 ( 7J 230) +u2105 23418,19668,519 2 60072 -- MSL 1060 ( 7J 168) +u0047_0306 20490,23991,375 2 46288 -- MSL 1061 ( 5T 208) +u0067_0306 13173,18111,5400 3 46320 -- MSL 1062 ( 5T 240) +u0053_0327 13173,18375,5988 3 75178 -- MSL 1063 ( 9E 170) +u0073_0327 10245,12795,5673 1 75194 -- MSL 1064 ( 9E 186) +u0049_0307 7317,22902,69 2 46301 -- MSL 1065 ( 5T 221) +bq 7317,2718,4509 0 161154 -- MSL 1067 (19U 130) +%0 32202,17769,444 2 161161 -- MSL 1068 (19U 137) +a- 14637,16662 0 60154 -- MSL 1084 ( 7J 250) +ab 14637,18111 2 75170 -- MSL 1086 ( 9E 162) +a. 14637,17223 0 75263 -- MSL 1088 ( 9E 255) +oe 23418,12795,330 0 161180 -- MSL 1090 (19U 156) +OE 24396,18375,375 2 161164 -- MSL 1091 (19U 140) +fo 5856,10809 0 161163 -- MSL 1092 (19U 139) +fc 5856,10809 0 161179 -- MSL 1093 (19U 155) +sq 19029,15624 0 60091 -- MSL 1094 ( 7J 187) +/L 13173,18069,201 2 75171 -- MSL 1095 ( 9E 163) +/l 7317,19569,69 2 75187 -- MSL 1096 ( 9E 179) +a" 14637,18189 2 75197 -- MSL 1097 ( 9E 189) +ho 14637,1059,3885 0 75186 -- MSL 1098 ( 9E 178) +vZ 16101,23760,201 2 75150 -- MSL 1106 ( 9E 142) +IJ 14637,18069,3855 2 60135 -- MSL 1107 ( 7J 231) diff -ruN groff-1.19/font/devlj4/S groff-1.19.1/font/devlj4/S --- groff-1.19/font/devlj4/S Sat Feb 22 15:22:50 2003 +++ groff-1.19.1/font/devlj4/S Wed Feb 18 10:01:18 2004 @@ -1,4 +1,5 @@ -name S +# CG Times +name - special spacewidth 7806 pcltypeface 4101 @@ -6,194 +7,313 @@ 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 +*T *A -2924 +*A *T -2924 +*R *A -3902 +*O *T -1949 +*O *A -2438 +*B *T -1949 +*A *O -2438 +*T *O -1949 +*O *X -1460 +*B *X -1460 +*B *A -1949 +*X *O -1460 +*K *O -1460 +*O *Z -485 +*Z *O -485 +*B *Z -485 +*N *A -485 +*K *T -485 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 -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 -sqrt 19029,23322 2 68897 -sr " -pt 26346,12723 0 68902 -*e 11709,12705,555 0 68923 -tf 26346,16545 0 68928 +pl 23418,15750 0 68907 -- MSL 12 ( 8M 43) +eq 23418,10875 0 68925 -- MSL 30 ( 8M 61) +*A 19029,18225 2 68929 -- MSL 34 ( 8M 65) +*B 16587,17895 2 68930 -- MSL 35 ( 8M 66) +*E 16587,17895 2 68933 -- MSL 38 ( 8M 69) +*Y 19515,17895 2 68935 -- MSL 41 ( 8M 71) +*I 8781,17895 2 68937 -- MSL 42 ( 8M 73) +*K 18540,17895 2 68938 -- MSL 44 ( 8M 74) +*M 23907,17895 2 68940 -- MSL 46 ( 8M 76) +*N 19515,17895,330 2 68941 -- MSL 47 ( 8M 77) +*O 19029,18225,330 2 68943 -- MSL 48 ( 8M 79) +*R 15126,17895 2 68945 -- MSL 49 ( 8M 81) +*T 16587,17895 2 68947 -- MSL 53 ( 8M 83) +*X 19029,17895 2 68950 -- MSL 57 ( 8M 86) +*Z 17076,17895 2 68934 -- MSL 59 ( 8M 70) +ap 26346,8952 0 44414 -- MSL 96 ( 5M 126) +u2592 26346,19758,6588 3 68991 -- MSL 97 ( 8M 127) +mi 23418,8610 0 68909 -- MSL 183 ( 8M 45) +u25A0 19029,15624 0 60089 -- MSL 189 ( 7J 185) ++- 23418,15750,2625 0 69118 -- MSL 191 ( 8M 254) +no 23418,12165 0 69064 -- MSL 194 ( 8M 200) +mu 23418,15117 0 68906 -- MSL 201 ( 8M 42) +di 23418,14010 0 68901 -- MSL 202 ( 8M 37) +u263A 26346,19500 2 87297 -- MSL 203 (10U 1) +u263B 26346,19500 2 87298 -- MSL 204 (10U 2) +HE 26346,19500 2 44457 -- MSL 205 ( 5M 169) +DI 26346,19500,840 2 44456 -- MSL 206 ( 5M 168) +CL 26346,18951 2 44455 -- MSL 207 ( 5M 167) +SP 26346,19851 2 44458 -- MSL 208 ( 5M 170) +u25CF 19029,16005 0 69068 -- MSL 209 ( 8M 204) +u25D8 26346,22242,4104 2 87304 -- MSL 210 (10U 8) +u25D9 26346,22242,4104 2 87306 -- MSL 212 (10U 10) +u2642 19029,19758 2 87307 -- MSL 213 (10U 11) +u2640 19029,19758 2 87308 -- MSL 214 (10U 12) +u266A 13173,19476 2 87309 -- MSL 215 (10U 13) +u266B 19029,19476,5025 2 87310 -- MSL 216 (10U 14) +u263C 26346,18777 2 87311 -- MSL 217 (10U 15) +u25BA 19029,12924 0 87312 -- MSL 218 (10U 16) +u25C4 19029,12924 0 87313 -- MSL 219 (10U 17) +va 19029,17670 2 69033 -- MSL 220 ( 8M 169) +u25AC 26346,5229 0 87318 -- MSL 222 (10U 22) +u21A8 19029,17670,3891 2 87319 -- MSL 223 (10U 23) +ua 19029,17670 2 69025 -- MSL 224 ( 8M 161) +da 19029,17670 2 69027 -- MSL 225 ( 8M 163) +-> 19029,12231 0 69026 -- MSL 226 ( 8M 162) +<- 19029,12231 0 69028 -- MSL 227 ( 8M 164) +u221F 23418,12165 0 87324 -- MSL 228 (10U 28) +<> 19029,12453 0 69034 -- MSL 229 ( 8M 170) +u25B2 19029,12510 0 87326 -- MSL 230 (10U 30) +u25BC 19029,12510 0 87327 -- MSL 231 (10U 31) +u2310 23418,12165 0 87465 -- MSL 233 (10U 169) +u2591 26346,19758,2196 2 87472 -- MSL 234 (10U 176) +u2593 26346,19758,6588 3 87474 -- MSL 235 (10U 178) +u2502 26346,19758,6588 3 128375 -- MSL 236 (15U 119) +u2524 26346,19758,6588 3 128373 -- MSL 237 (15U 117) +u2561 26346,19758,6588 3 87477 -- MSL 238 (10U 181) +u2562 26346,19758,6588 3 87478 -- MSL 239 (10U 182) +u2556 26346,7410,6588 1 87479 -- MSL 240 (10U 183) +u2555 26346,9879,6588 1 87480 -- MSL 241 (10U 184) +u2563 26346,19758,6588 3 87481 -- MSL 242 (10U 185) +u2551 26346,19758,6588 3 87482 -- MSL 243 (10U 186) +u2557 26346,9879,6588 1 87483 -- MSL 244 (10U 187) +u255D 26346,19758 2 87484 -- MSL 245 (10U 188) +u255C 26346,19758 2 87485 -- MSL 246 (10U 189) +u255B 26346,19758 2 87486 -- MSL 247 (10U 190) +u2510 26346,7410,6588 1 128368 -- MSL 248 (15U 112) +u2514 26346,19758 2 128353 -- MSL 249 (15U 97) +u2534 26346,19758 2 128374 -- MSL 250 (15U 118) +u252C 26346,7410,6588 1 128372 -- MSL 251 (15U 116) +u251C 26346,19758,6588 3 128357 -- MSL 252 (15U 101) +u2500 26346,7410 0 128358 -- MSL 253 (15U 102) +u253C 26346,19758,6588 3 128356 -- MSL 254 (15U 100) +u255E 26346,19758,6588 3 87494 -- MSL 255 (10U 198) +u255F 26346,19758,6588 3 87495 -- MSL 256 (10U 199) +u255A 26346,19758 2 87496 -- MSL 257 (10U 200) +u2554 26346,9879,6588 1 87497 -- MSL 258 (10U 201) +u2569 26346,19758 2 87498 -- MSL 259 (10U 202) +u2566 26346,9879,6588 1 87499 -- MSL 260 (10U 203) +u2560 26346,19758,6588 3 87500 -- MSL 261 (10U 204) +u2550 26346,9879 0 87501 -- MSL 262 (10U 205) +u256C 26346,19758,6588 3 87502 -- MSL 263 (10U 206) +u2567 26346,19758 2 87503 -- MSL 264 (10U 207) +u2568 26346,19758 2 87504 -- MSL 265 (10U 208) +u2564 26346,9879,6588 1 87505 -- MSL 266 (10U 209) +u2565 26346,7410,6588 1 87506 -- MSL 267 (10U 210) +u2559 26346,19758 2 87507 -- MSL 268 (10U 211) +u2558 26346,19758 2 87508 -- MSL 269 (10U 212) +u2552 26346,9879,6588 1 87509 -- MSL 270 (10U 213) +u2553 26346,7410,6588 1 87510 -- MSL 271 (10U 214) +u256B 26346,19758,6588 3 87511 -- MSL 272 (10U 215) +u256A 26346,19758,6588 3 87512 -- MSL 273 (10U 216) +u2518 26346,19758 2 128369 -- MSL 274 (15U 113) +u250C 26346,7410,6588 1 128352 -- MSL 275 (15U 96) +u2588 26346,19758,6588 3 87515 -- MSL 276 (10U 219) +u2584 26346,6585,6588 1 87516 -- MSL 277 (10U 220) +u258C 26346,19758,6588 3 87517 -- MSL 278 (10U 221) +u2590 26346,19758,6588 3 87518 -- MSL 279 (10U 222) +u2580 26346,19758 2 87519 -- MSL 280 (10U 223) +if 26346,12846 0 68900 -- MSL 292 ( 8M 36) +ca 26346,16650 0 69046 -- MSL 295 ( 8M 182) +== 26346,11634 0 68989 -- MSL 296 ( 8M 125) +>= 26346,15960 0 68958 -- MSL 297 ( 8M 94) +<= 26346,15960 0 68956 -- MSL 298 ( 8M 92) +u2320 19029,19758,6588 3 69093 -- MSL 299 ( 8M 229) +u2321 19029,19758,6588 3 69095 -- MSL 300 ( 8M 231) +~~ 26346,11172 0 68927 -- MSL 301 ( 8M 63) +~= " +md 8781,10407 0 69066 -- MSL 302 ( 8M 202) +u221A 19029,19935,4647 2 101059 -- MSL 303 (12J 195) +u25AA 13173,14232 0 60088 -- MSL 305 ( 7J 184) +u2302 26346,18960 2 87423 -- MSL 333 (10U 127) +sr 19029,23322 2 68897 -- MSL 500 ( 8M 33) +sqrt " +pt 26346,12723 0 68902 -- MSL 501 ( 8M 38) +u212F 11709,12180,300 0 68922 -- MSL 502 ( 8M 58) +*e 11709,12705,555 0 68923 -- MSL 503 ( 8M 59) +tf 26346,16545 0 68928 -- MSL 504 ( 8M 64) 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 +*G 16101,18045 2 68931 -- MSL 505 ( 8M 67) +*D 17565,18045 2 68932 -- MSL 506 ( 8M 68) +*H 19029,18450,405 2 68936 -- MSL 507 ( 8M 72) +*L 17565,18045 2 68939 -- MSL 508 ( 8M 75) +*C 17565,19335,1752 2 68942 -- MSL 509 ( 8M 78) +*P 19029,18045 2 68944 -- MSL 510 ( 8M 80) +*S 16101,18045 2 68946 -- MSL 511 ( 8M 82) +*U 16101,18450 2 68948 -- MSL 512 ( 8M 84) +*F 17565,18045 2 68949 -- MSL 513 ( 8M 85) +*Q 20490,18045 2 68951 -- MSL 514 ( 8M 87) +*W 16101,18450 2 68952 -- MSL 515 ( 8M 88) +gr 17565,18045 2 68953 -- MSL 516 ( 8M 89) +pd 13173,18450,405 2 68954 -- MSL 517 ( 8M 90) +ts 13173,12600,4734 0 68955 -- MSL 518 ( 8M 91) +!= 26346,15396,1197 0 68957 -- MSL 519 ( 8M 93) +u2235 26346,16545 0 68960 -- MSL 521 ( 8M 96) +*a 16101,11205,405 0 68961 -- MSL 522 ( 8M 97) +*b 14637,18450,4260 2 68962 -- MSL 523 ( 8M 98) +*g 14637,11205,5595 1 68963 -- MSL 524 ( 8M 99) +*d 11709,18450,405 2 68964 -- MSL 525 ( 8M 100) ++e 10245,11205,405 0 68965 -- MSL 526 ( 8M 101) +*z 11709,17508,4920 2 68966 -- MSL 527 ( 8M 102) +*y 13173,11205,5283 1 68967 -- MSL 528 ( 8M 103) +*h 11709,18450,405 2 68968 -- MSL 529 ( 8M 104) +*i 7317,10800,405 0 68969 -- MSL 530 ( 8M 105) +*k 11709,11205,405 0 68970 -- MSL 531 ( 8M 106) +*l 14637,18450,405 2 68971 -- MSL 532 ( 8M 107) +*m 14637,10800,5595 1 68972 -- MSL 533 ( 8M 108) +*n 11709,11205,405 0 68973 -- MSL 534 ( 8M 109) +*c 13173,18450,4647 2 68974 -- MSL 535 ( 8M 110) +*o 11709,11205,405 0 68975 -- MSL 536 ( 8M 111) +*p 16101,11295,405 0 68976 -- MSL 537 ( 8M 112) +*r 13173,11205,4527 0 68977 -- MSL 538 ( 8M 113) +*s 13173,11544,405 0 68978 -- MSL 539 ( 8M 114) +*t 11709,11295,405 0 68979 -- MSL 540 ( 8M 115) +*u 11709,11205,405 0 68980 -- MSL 541 ( 8M 116) +*f 16101,17304,4314 2 68981 -- MSL 542 ( 8M 117) +*x 14637,11205,4734 0 68982 -- MSL 543 ( 8M 118) +*q 16101,18450,4734 2 68983 -- MSL 544 ( 8M 119) +*w 16101,11205,405 0 68984 -- MSL 545 ( 8M 120) ++h 16101,18450,405 2 68985 -- MSL 546 ( 8M 121) ++f 16101,11205,4608 0 68986 -- MSL 547 ( 8M 122) ++p 16101,11442,405 0 68987 -- MSL 548 ( 8M 123) +|= 26346,11436 0 68988 -- MSL 549 ( 8M 124) +ne 26346,15300,966 0 68990 -- MSL 550 ( 8M 126) +uA 19029,17553,1536 2 69029 -- MSL 551 ( 8M 165) arrowverttp " -rh 19029,13407 0 69030 +rh 19029,13407 0 69030 -- MSL 552 ( 8M 166) rA " -dA 19029,17553,1536 2 69031 +dA 19029,17553,1536 2 69031 -- MSL 553 ( 8M 167) arrowvertbt " -lh 19029,13407 0 69032 +lh 19029,13407 0 69032 -- MSL 554 ( 8M 168) 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 -integral 26346,20268,5997 3 69077 -is " -/_ 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 +vA 19029,17553,1812 2 69035 -- MSL 555 ( 8M 171) +hA 19029,14346 0 69036 -- MSL 556 ( 8M 172) +u21C4 26346,17259 2 69037 -- MSL 557 ( 8M 173) +u21C6 26346,17259 2 69038 -- MSL 558 ( 8M 174) +u21C0 19029,24993 2 69039 -- MSL 559 ( 8M 175) +radicalex 19029,23322 2 69040 -- MSL 560 ( 8M 176) +fa 15612,15153 0 69041 -- MSL 561 ( 8M 177) +te 11220,15165 0 69042 -- MSL 562 ( 8M 178) +u22A4 26346,16560 0 69043 -- MSL 563 ( 8M 179) +pp 26346,16560 0 69044 -- MSL 564 ( 8M 180) +cu 26346,16650 0 69045 -- MSL 565 ( 8M 181) +mo 26346,17925 2 69047 -- MSL 566 ( 8M 183) +u220B 26346,17925 2 69048 -- MSL 567 ( 8M 184) +nm 26346,20625,2700 2 69049 -- MSL 568 ( 8M 185) +sb 26346,16290 0 69050 -- MSL 569 ( 8M 186) +sp 26346,16290 0 69051 -- MSL 570 ( 8M 187) +nb 26346,18165,1875 2 69052 -- MSL 571 ( 8M 188) +nc 26346,18165,1875 2 69053 -- MSL 572 ( 8M 189) +ib 26346,16641 0 69054 -- MSL 573 ( 8M 190) +ip 26346,16641 0 69055 -- MSL 574 ( 8M 191) +c+ 26346,18900 2 69056 -- MSL 575 ( 8M 192) +u2299 26346,18900 2 69057 -- MSL 576 ( 8M 193) +c* 26346,18900 2 69058 -- MSL 577 ( 8M 194) +u2296 26346,18900 2 69059 -- MSL 578 ( 8M 195) +u2298 26346,18900 2 69060 -- MSL 579 ( 8M 196) +AN 26346,15240 0 69061 -- MSL 580 ( 8M 197) +OR 26346,15240 0 69062 -- MSL 581 ( 8M 198) +u22BB 26346,15240,3783 0 69063 -- MSL 582 ( 8M 199) +u2218 26346,13518 0 69065 -- MSL 583 ( 8M 201) +ci 26346,18900 2 69069 -- MSL 584 ( 8M 205) +u22A3 26346,14400 0 69073 -- MSL 585 ( 8M 209) +u22A2 26346,14400 0 69074 -- MSL 586 ( 8M 210) +is 26346,20268,5997 3 69077 -- MSL 587 ( 8M 213) +integral " +u222E 26346,20268,5997 3 69078 -- MSL 588 ( 8M 214) +/_ 26346,19365 2 69079 -- MSL 589 ( 8M 215) +es 26346,18465,435 2 69080 -- MSL 590 ( 8M 216) +Ah 13173,13980 0 69081 -- MSL 591 ( 8M 217) +u2136 11709,13980 0 69082 -- MSL 592 ( 8M 218) +u2137 8781,13980 0 69083 -- MSL 593 ( 8M 219) +u212D 17565,18255,1890 2 69084 -- MSL 594 ( 8M 220) +Im 19029,18255,1890 2 69085 -- MSL 595 ( 8M 221) +Re 20490,18255,1890 2 69086 -- MSL 596 ( 8M 222) +u2128 16101,18255,5280 3 69087 -- MSL 597 ( 8M 223) +lc 19029,23322,5124 3 69088 -- MSL 598 ( 8M 224) bracketlefttp " -lf 19029,23322,5124 3 69089 +lf 19029,23322,5124 3 69089 -- MSL 599 ( 8M 225) bracketleftbt " -lt 19029,19758,6588 3 69090 -parenlefttp " +parenlefttp 19029,22225,3995 3 69090 -- MSL 600 ( 8M 226) +lt " bracelefttp " -lk 19029,19758,6588 3 69091 +lk 19029,22225,3995 3 69091 -- MSL 601 ( 8M 227) braceleftmid " -lb 19029,19758,6588 3 69092 -parenleftbt " +parenleftbt 19029,22225,3995 3 69092 -- MSL 602 ( 8M 228) +lb " braceleftbt " -arrowvertex 19029,23322,6588 3 69097 -rc 19029,23322,5124 3 69104 +integralcrvmid 19029,22225,6588 3 69094 -- MSL 603 ( 8M 230) +arrowvertex 19029,23322,6588 3 69097 -- MSL 605 ( 8M 233) +rc 19029,23322,5124 3 69104 -- MSL 608 ( 8M 240) bracketrighttp " -rf 19029,23322,5124 3 69105 +rf 19029,23322,5124 3 69105 -- MSL 609 ( 8M 241) bracketrightbt " -rt 19029,19758,6588 3 69106 +rt 19029,22225,3995 3 69106 -- MSL 610 ( 8M 242) parenrighttp " bracerighttp " -rk 19029,19758,6588 3 69107 +rk 19029,22225,3995 3 69107 -- MSL 611 ( 8M 243) bracerightmid " -rb 19029,19758,6588 3 69108 +rb 19029,22225,3995 3 69108 -- MSL 612 ( 8M 244) parenrightbt " bracerightbt " -braceex 19029,23322,6588 3 69109 +parenrightex 19029,22225,3995 3 69109 -- MSL 613 ( 8M 245) +parenleftex " bv " bracerightex " braceleftex " -parenrightex 19029,23322,6588 3 69110 -parenleftex " -bracketrightex " +braceex " +bracketrightex 19029,22225,3995 3 69110 -- MSL 614 ( 8M 246) 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 -hbar 15126,18564,486 2 128328 +u23B7 19029,23322,5298 3 69111 -- MSL 615 ( 8M 247) +-+ 26346,18366 2 69117 -- MSL 620 ( 8M 253) +la 8781,21000,4950 2 44513 -- MSL 621 ( 5M 225) +ra 8781,21000,4950 2 44529 -- MSL 622 ( 5M 241) +=~ 26346,14187 0 69103 -- MSL 624 ( 8M 239) +u2197 19029,17445,1557 2 128308 -- MSL 625 (15U 52) +u2198 19029,17445,1557 2 128309 -- MSL 626 (15U 53) +u2199 19029,17445,1557 2 128310 -- MSL 627 (15U 54) +u2196 19029,17445,1557 2 128311 -- MSL 628 (15U 55) +u25B5 19029,13242 0 128312 -- MSL 629 (15U 56) +u25B9 19029,13377 0 128313 -- MSL 630 (15U 57) +u25BF 19029,13242 0 128314 -- MSL 631 (15U 58) +u25C3 19029,13377 0 128315 -- MSL 632 (15U 59) +<< 26346,15294,1086 0 128316 -- MSL 633 (15U 60) +>> 26346,15294,1086 0 128318 -- MSL 634 (15U 62) +u2237 26346,16545 0 128320 -- MSL 635 (15U 64) +u225C 19029,13242,2751 0 128321 -- MSL 636 (15U 65) +u03DD 15126,13008,6534 1 128326 -- MSL 637 (15U 70) +hbar 15126,18564,486 2 128328 -- MSL 638 (15U 72) -h " -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 +u2112 21954,20142 2 128332 -- MSL 639 (15U 76) +wp 17076,13026,4218 0 44483 -- MSL 641 ( 5M 195) +sum 26346,17925,5160 3 44517 -- MSL 642 ( 5M 229) +u27E6 19029,20838,4077 2 128347 -- MSL 643 (15U 91) +u27E7 19029,20838,4077 2 128349 -- MSL 645 (15U 93) +u256D 26346,7410,6588 1 128354 -- MSL 646 (15U 98) +u2570 26346,19758 2 128355 -- MSL 647 (15U 99) +lz 26346,17844,294 2 44512 -- MSL 654 ( 5M 224) +u256E 26346,7410,6588 1 128370 -- MSL 655 (15U 114) +u256F 26346,19758 2 128371 -- MSL 656 (15U 115) +u25C6 26346,16536 0 128381 -- MSL 662 (15U 125) +st 12198,12846,396 0 69076 -- MSL 663 ( 8M 212) +** 26346,13275 0 69102 -- MSL 664 ( 8M 238) +an 19029,8676 0 69100 -- MSL 665 ( 8M 236) +u221F 26346,23184 2 69075 -- MSL 668 ( 8M 211) +CR 26346,12165 0 44479 -- MSL 1099 ( 5M 191) +u25AB 13173,14226 0 60090 -- MSL 1108 ( 7J 186) +u25E6 13173,14226 0 60086 -- MSL 1109 ( 7J 182) +u25CB 19029,16008 0 60087 -- MSL 1110 ( 7J 183) +u21B5 17337,20865 2 109211 -- MSL 1112 (13J 155) +u2423 13173,3141,6369 1 109213 -- MSL 1114 (13J 157) diff -ruN groff-1.19/font/devlj4/SYMBOL groff-1.19.1/font/devlj4/SYMBOL --- groff-1.19/font/devlj4/SYMBOL Thu Jan 1 01:00:00 1970 +++ groff-1.19.1/font/devlj4/SYMBOL Wed Feb 18 10:01:18 2004 @@ -0,0 +1,220 @@ +# M Symbol +name SYMBOL +spacewidth 6615 +pcltypeface 16686 +pclproportional 1 +pclweight 0 +pclstyle 0 +charset +! 8811,17919,362 2 159009 -- HP PUA U+F021 (19M 33) +fa 18862,17518 2 159010 -- HP PUA U+F022 (19M 34) +sh 13229,17919,362 2 159011 -- HP PUA U+F023 (19M 35) +# " +te 14521,17518 2 159012 -- HP PUA U+F024 (19M 36) +% 22040,17919,723 2 159013 -- HP PUA U+F025 (19M 37) +& 20580,17919,400 2 159014 -- HP PUA U+F026 (19M 38) +st 11614,12196,413 0 159015 -- HP PUA U+F027 (19M 39) +( 8811,18371,5710 3 159016 -- HP PUA U+F028 (19M 40) +) 8811,18371,5710 3 159017 -- HP PUA U+F029 (19M 41) +** 13229,14121 0 159018 -- HP PUA U+F02A (19M 42) +pl 14521,13565 0 159019 -- HP PUA U+F02B (19M 43) +, 6615,2584,4405 0 159020 -- HP PUA U+F02C (19M 44) +mi 14521,7441 0 159021 -- HP PUA U+F02D (19M 45) +. 6615,2506,375 0 159022 -- HP PUA U+F02E (19M 46) +sl 7351,18371,362 2 159023 -- HP PUA U+F02F (19M 47) +/ " +0 13229,17880,362 2 159024 -- HP PUA U+F030 (19M 48) +1 13229,17880 2 159025 -- HP PUA U+F031 (19M 49) +2 13229,17880 2 159026 -- HP PUA U+F032 (19M 50) +3 13229,17880,362 2 159027 -- HP PUA U+F033 (19M 51) +4 13229,17880 2 159028 -- HP PUA U+F034 (19M 52) +5 13229,17518,362 2 159029 -- HP PUA U+F035 (19M 53) +6 13229,17880,362 2 159030 -- HP PUA U+F036 (19M 54) +7 13229,17518,362 2 159031 -- HP PUA U+F037 (19M 55) +8 13229,17880,362 2 159032 -- HP PUA U+F038 (19M 56) +9 13229,17880,362 2 159033 -- HP PUA U+F039 (19M 57) +: 7351,12196,362 0 159034 -- HP PUA U+F03A (19M 58) +; 7351,12183,4405 0 159035 -- HP PUA U+F03B (19M 59) +< 14521,13565 0 159036 -- HP PUA U+F03C (19M 60) += 14521,9831 0 159037 -- HP PUA U+F03D (19M 61) +> 14521,13565 0 159038 -- HP PUA U+F03E (19M 62) +? 11743,17919,349 2 159039 -- HP PUA U+F03F (19M 63) +=~ 14521,13500 0 159040 -- HP PUA U+F040 (19M 64) +*A 19107,17919 2 159041 -- HP PUA U+F041 (19M 65) +*B 17648,17518 2 159042 -- HP PUA U+F042 (19M 66) +*X 19107,17518 2 159043 -- HP PUA U+F043 (19M 67) +*D 16188,17919 2 159044 -- HP PUA U+F044 (19M 68) +*E 16162,17518 2 159045 -- HP PUA U+F045 (19M 69) +*F 20193,17518 2 159046 -- HP PUA U+F046 (19M 70) +*G 15955,17518 2 159047 -- HP PUA U+F047 (19M 71) +*Y 19107,17518 2 159048 -- HP PUA U+F048 (19M 72) +*I 8811,17518 2 159049 -- HP PUA U+F049 (19M 73) ++h 16691,18371,400 2 159050 -- HP PUA U+F04A (19M 74) +*K 19107,17518 2 159051 -- HP PUA U+F04B (19M 75) +*L 18151,17919 2 159052 -- HP PUA U+F04C (19M 76) +*M 23526,17518 2 159053 -- HP PUA U+F04D (19M 77) +*N 19107,17518,284 2 159054 -- HP PUA U+F04E (19M 78) +*O 19107,17919,400 2 159055 -- HP PUA U+F04F (19M 79) +*P 20322,17518 2 159056 -- HP PUA U+F050 (19M 80) +*H 19611,17919,400 2 159057 -- HP PUA U+F051 (19M 81) +*R 14715,17518 2 159058 -- HP PUA U+F052 (19M 82) +*S 15658,17518 2 159059 -- HP PUA U+F053 (19M 83) +*T 16162,17518 2 159060 -- HP PUA U+F054 (19M 84) +*U 18255,17518 2 159061 -- HP PUA U+F055 (19M 85) +ts 11614,12183,5710 1 159062 -- HP PUA U+F056 (19M 86) +*W 20322,17919 2 159063 -- HP PUA U+F057 (19M 87) +*C 17066,17518 2 159064 -- HP PUA U+F058 (19M 88) +*Q 21032,17725 2 159065 -- HP PUA U+F059 (19M 89) +*Z 16162,17518 2 159066 -- HP PUA U+F05A (19M 90) +lB 8811,17919,5245 3 159067 -- HP PUA U+F05B (19M 91) +[ " +tf 22828,13139 0 159068 -- HP PUA U+F05C (19M 92) +3d " +rB 8811,17919,5245 3 159069 -- HP PUA U+F05D (19M 93) +] " +pp 17415,17518 2 159070 -- HP PUA U+F05E (19M 94) +_ 13229,0,5710 1 159071 -- HP PUA U+F05F (19M 95) +--- 13229,24146 2 159072 -- HP PUA U+F060 (19M 96) +*a 16691,12183,413 0 159073 -- HP PUA U+F061 (19M 97) +*b 14521,18371,5710 3 159074 -- HP PUA U+F062 (19M 98) +*x 14521,12054,5710 1 159075 -- HP PUA U+F063 (19M 99) +*d 13074,18371,400 2 159076 -- HP PUA U+F064 (19M 100) +*e 11614,12196,400 0 159077 -- HP PUA U+F065 (19M 101) ++f 13785,18371,5710 3 159078 -- HP PUA U+F066 (19M 102) +*g 10878,12054,5710 1 159079 -- HP PUA U+F067 (19M 103) +*y 15955,12183,5710 1 159080 -- HP PUA U+F068 (19M 104) +*i 8707,12183,400 0 159081 -- HP PUA U+F069 (19M 105) +*f 15955,12183,5710 1 159082 -- HP PUA U+F06A (19M 106) +*k 14521,12183 0 159083 -- HP PUA U+F06B (19M 107) +*l 14521,18371,258 2 159084 -- HP PUA U+F06C (19M 108) +*m 15245,11834,5710 1 159085 -- HP PUA U+F06D (19M 109) +*n 13785,12196,362 0 159086 -- HP PUA U+F06E (19M 110) +*o 14521,12183,400 0 159087 -- HP PUA U+F06F (19M 111) +*p 14521,11834,400 0 159088 -- HP PUA U+F070 (19M 112) +*h 13785,18371,400 2 159089 -- HP PUA U+F071 (19M 113) +*r 14521,12196,5710 1 159090 -- HP PUA U+F072 (19M 114) +*s 15955,11834,400 0 159091 -- HP PUA U+F073 (19M 115) +*t 11614,11834,400 0 159092 -- HP PUA U+F074 (19M 116) +*u 15245,12183,400 0 159093 -- HP PUA U+F075 (19M 117) ++p 18862,11834,400 0 159094 -- HP PUA U+F076 (19M 118) +*w 18151,12183,400 0 159095 -- HP PUA U+F077 (19M 119) +*c 13048,18371,5710 3 159096 -- HP PUA U+F078 (19M 120) +*q 18151,12196,5710 1 159097 -- HP PUA U+F079 (19M 121) +*z 13074,18281,5814 3 159098 -- HP PUA U+F07A (19M 122) +lC 12699,18371,5710 3 159099 -- HP PUA U+F07B (19M 123) +{ " +ba 5297,18371,5710 3 159100 -- HP PUA U+F07C (19M 124) +| " +rC 12699,18371,5710 3 159101 -- HP PUA U+F07D (19M 125) +} " +ap 14521,8888 0 159102 -- HP PUA U+F07E (19M 126) +u03D2 16407,17919 2 159137 -- HP PUA U+F0A1 (19M 161) +fm 6537,17919 2 159138 -- HP PUA U+F0A2 (19M 162) +<= 14521,16420 0 159139 -- HP PUA U+F0A3 (19M 163) +f/ 4418,17880,698 2 159140 -- HP PUA U+F0A4 (19M 164) +if 18862,12196 0 159141 -- HP PUA U+F0A5 (19M 165) +u0192 13229,18371,5710 3 159142 -- HP PUA U+F0A6 (19M 166) +CL 19921,14599 0 159143 -- HP PUA U+F0A7 (19M 167) +DI 19921,14922,400 0 159144 -- HP PUA U+F0A8 (19M 168) +HE 19921,14340,400 0 159145 -- HP PUA U+F0A9 (19M 169) +SP 19921,15232 0 159146 -- HP PUA U+F0AA (19M 170) +<> 27569,13190,362 0 159147 -- HP PUA U+F0AB (19M 171) +<- 26110,13190,362 0 159148 -- HP PUA U+F0AC (19M 172) +ua 15955,23810,362 2 159149 -- HP PUA U+F0AD (19M 173) +-> 26110,13190,362 0 159150 -- HP PUA U+F0AE (19M 174) +da 15955,23810,362 2 159151 -- HP PUA U+F0AF (19M 175) +de 10581,17906 2 159152 -- HP PUA U+F0B0 (19M 176) ++- 14521,16407 0 159153 -- HP PUA U+F0B1 (19M 177) +sd 10878,17919 2 159154 -- HP PUA U+F0B2 (19M 178) +>= 14521,16420 0 159155 -- HP PUA U+F0B3 (19M 179) +mu 14521,12454 0 159156 -- HP PUA U+F0B4 (19M 180) +pt 18862,12196 0 159157 -- HP PUA U+F0B5 (19M 181) +pd 13074,18371,400 2 159158 -- HP PUA U+F0B6 (19M 182) +u2219 12170,12170 0 159159 -- HP PUA U+F0B7 (19M 183) +di 14521,12338 0 159160 -- HP PUA U+F0B8 (19M 184) +!= 14521,13565 0 159161 -- HP PUA U+F0B9 (19M 185) +== 14521,11201 0 159162 -- HP PUA U+F0BA (19M 186) +~~ 14521,11395 0 159163 -- HP PUA U+F0BB (19M 187) +~= " +u2026 26458,2506,375 0 159164 -- HP PUA U+F0BC (19M 188) +u23D0 15955,26600,3139 2 159165 -- HP PUA U+F0BD (19M 189) +u23AF 26458,7041 0 159166 -- HP PUA U+F0BE (19M 190) +CR 17415,16420,400 0 159167 -- HP PUA U+F0BF (19M 191) +Ah 21782,17919,400 2 159168 -- HP PUA U+F0C0 (19M 192) +Im 18151,17919,400 2 159169 -- HP PUA U+F0C1 (19M 193) +Re 21032,18151,543 2 159170 -- HP PUA U+F0C2 (19M 194) +wp 26110,13668,5710 1 159171 -- HP PUA U+F0C3 (19M 195) +c* 20322,17919,400 2 159172 -- HP PUA U+F0C4 (19M 196) +c+ 20322,17919,400 2 159173 -- HP PUA U+F0C5 (19M 197) +es 21782,18875,620 2 159174 -- HP PUA U+F0C6 (19M 198) +ca 20322,13203 0 159175 -- HP PUA U+F0C7 (19M 199) +cu 20322,13203 0 159176 -- HP PUA U+F0C8 (19M 200) +sp 18862,11834 0 159177 -- HP PUA U+F0C9 (19M 201) +ip 18862,11834,3785 0 159178 -- HP PUA U+F0CA (19M 202) +nb 18862,13888,2015 0 159179 -- HP PUA U+F0CB (19M 203) +sb 18862,11834 0 159180 -- HP PUA U+F0CC (19M 204) +ib 18862,11834,3785 0 159181 -- HP PUA U+F0CD (19M 205) +mo 18862,11834 0 159182 -- HP PUA U+F0CE (19M 206) +nm 18862,13888,1860 0 159183 -- HP PUA U+F0CF (19M 207) +/_ 20322,17919 2 159184 -- HP PUA U+F0D0 (19M 208) +gr 18862,17518,400 2 159185 -- HP PUA U+F0D1 (19M 209) +--- 20903,17932,413 2 159186 -- HP PUA U+F0D2 (19M 210) +--- 20903,17932,413 2 159187 -- HP PUA U+F0D3 (19M 211) +--- 23552,17518 2 159188 -- HP PUA U+F0D4 (19M 212) +product 21782,19585,2635 2 159189 -- HP PUA U+F0D5 (19M 213) +sqrt 14521,24146,1008 2 159190 -- HP PUA U+F0D6 (19M 214) +sr " +u22C5 6615,8204 0 159191 -- HP PUA U+F0D7 (19M 215) +no 18862,7312 0 159192 -- HP PUA U+F0D8 (19M 216) +AN 15955,11834 0 159193 -- HP PUA U+F0D9 (19M 217) +OR 15955,11834 0 159194 -- HP PUA U+F0DA (19M 218) +hA 27569,13177,362 0 159195 -- HP PUA U+F0DB (19M 219) +lh 26110,13177,362 0 159196 -- HP PUA U+F0DC (19M 220) +lA " +uA 15955,23797,362 2 159197 -- HP PUA U+F0DD (19M 221) +arrowverttp " +rh 26110,13177,362 0 159198 -- HP PUA U+F0DE (19M 222) +rA " +dA 15955,23797,362 2 159199 -- HP PUA U+F0DF (19M 223) +arrowvertbt " +lz 13074,18371 2 159200 -- HP PUA U+F0E0 (19M 224) +la 8707,18371,4858 2 159201 -- HP PUA U+F0E1 (19M 225) +--- 20903,17932,413 2 159202 -- HP PUA U+F0E2 (19M 226) +--- 20903,17932,413 2 159203 -- HP PUA U+F0E3 (19M 227) +--- 20800,17518 2 159204 -- HP PUA U+F0E4 (19M 228) +sum 18862,19598,2635 2 159205 -- HP PUA U+F0E5 (19M 229) +parenlefttp 10154,24508,2145 2 159206 -- HP PUA U+F0E6 (19M 230) +parenleftex 10154,24508,2145 2 159207 -- HP PUA U+F0E7 (19M 231) +parenleftbt 10154,24508,2145 2 159208 -- HP PUA U+F0E8 (19M 232) +bracketlefttp 10154,24508,2145 2 159209 -- HP PUA U+F0E9 (19M 233) +lc " +bracketleftex 10154,24508,2145 2 159210 -- HP PUA U+F0EA (19M 234) +bracketleftbt 10154,24508,2145 2 159211 -- HP PUA U+F0EB (19M 235) +lf " +bracelefttp 13074,24508,2157 2 159212 -- HP PUA U+F0EC (19M 236) +lt " +braceleftex 13074,24508,2145 2 159213 -- HP PUA U+F0ED (19M 237) +lk " +braceleftbt 13074,24508,2157 2 159214 -- HP PUA U+F0EE (19M 238) +lb " +u23AA 13074,24508,2145 2 159215 -- HP PUA U+F0EF (19M 239) +ra 8707,18371,4858 2 159217 -- HP PUA U+F0F1 (19M 241) +is 7248,24068,2842 2 159218 -- HP PUA U+F0F2 (19M 242) +integral " +u2320 18151,24508,2157 2 159219 -- HP PUA U+F0F3 (19M 243) +u23AE 18151,25670,2351 2 159220 -- HP PUA U+F0F4 (19M 244) +u2321 18151,24495,2157 2 159221 -- HP PUA U+F0F5 (19M 245) +parenrighttp 10154,24508,2145 2 159222 -- HP PUA U+F0F6 (19M 246) +parenrightex 10154,24508,2145 2 159223 -- HP PUA U+F0F7 (19M 247) +parenrightbt 10154,24508,2145 2 159224 -- HP PUA U+F0F8 (19M 248) +bracketrighttp 10154,24508,2145 2 159225 -- HP PUA U+F0F9 (19M 249) +rc " +bracketrightex 10154,24508,2145 2 159226 -- HP PUA U+F0FA (19M 250) +bracketrightbt 10154,24508,2145 2 159227 -- HP PUA U+F0FB (19M 251) +rf " +bracerighttp 13074,24508,2157 2 159228 -- HP PUA U+F0FC (19M 252) +rt " +bracerightex 13074,24508,2145 2 159229 -- HP PUA U+F0FD (19M 253) +rk " +bracerightbt 13074,24508,2157 2 159230 -- HP PUA U+F0FE (19M 254) +rb " diff -ruN groff-1.19/font/devlj4/TB groff-1.19.1/font/devlj4/TB --- groff-1.19/font/devlj4/TB Tue Feb 25 06:38:56 2003 +++ groff-1.19.1/font/devlj4/TB Wed Feb 18 10:01:17 2004 @@ -1,3 +1,4 @@ +# CG Times Bd name TB spacewidth 7806 pcltypeface 4101 @@ -6,877 +7,947 @@ 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 cq -3414 -L ' -3414 -T hy -1461 -T - -1461 -T en -1461 -T em -1461 -A cq -3414 -A ' -3414 -hy T -1461 -- T -1461 -en T -1461 -em T -1461 -Y hy -3414 -Y - -3414 -Y en -3414 -Y em -3414 -c cq -975 -c ' -975 -e cq -975 -e ' -975 -b cq -486 -b ' -486 -a cq -1461 -a ' -1461 -V hy -2439 -V - -2439 -V en -2439 -V em -2439 -h cq -975 -h ' -975 -n cq -975 -n ' -975 -m cq -975 -m ' -975 -R cq -975 -R ' -975 -W hy -1950 -W - -1950 -W en -1950 -W em -1950 -cq d -1461 -' d -1461 -s cq -486 -s ' -486 -L hy -975 -L - -975 -L en -975 -L em -975 -F hy -486 -F - -486 -F en -486 -F em -486 -X hy -1950 -X - -1950 -X en -1950 -X em -1950 -A hy -1950 -A - -1950 -A en -1950 -A em -1950 -K hy -1461 -K - -1461 -K en -1461 -K em -1461 -cq s -975 -' s -975 -hy X -1950 -- X -1950 -hy A -1950 -- A -1950 -en X -1950 -en A -1950 -em X -1950 -R hy -975 -R - -975 -R en -975 -R em -975 -K cq -486 -K ' -486 -t g -486 -b f -486 -k cq -486 -k ' -486 -C cq -486 -C ' -486 -E cq -486 -E ' -486 -E hy -486 -E - -486 -E en -486 -E em -486 -Z hy -486 -Z - -486 -Z en -486 -Z em -486 -k hy -486 -k - -486 -k en -486 -k em -486 -C hy -486 -C - -486 -C en -486 -C em -486 -U hy -486 -U - -486 -U en -486 -U em -486 +L V -3413 +P . -4388 +P , -4388 +V A -4877 +A V -4877 +T o -2924 +T r -1460 +T c -2438 +T e -2924 +T d -2924 +T s -2438 +T y -1460 +T a -2924 +T w -1460 +T u -1460 +T J -1460 +L T -2438 +L Y -3413 +Y o -4877 +Y e -4877 +Y a -4877 +Y J -1460 +A W -4388 +W A -4388 +T A -2438 +V o -3902 +V e -3902 +V a -3902 +Y A -3902 +F A -3902 +F . -3902 +F , -3902 +A T -2438 +A Y -3902 +v . -3413 +v , -3413 +y . -3413 +y , -3413 +T . -2438 +T , -2438 +L W -3413 +P A -3413 +V J -1460 +V . -3902 +V , -3902 +Y . -3902 +Y , -3902 +W o -3413 +W e -3413 +W a -3413 +W . -3902 +W , -3902 +r . -3413 +r , -3413 +w . -3413 +w , -3413 +Y u -3413 +A v -3413 +A y -3413 +A w -3413 +o . -1460 +o , -1460 +p . -1460 +p , -1460 +e . -974 +e , -974 +b . -485 +b , -485 +O T -1460 +O V -2438 +O Y -2924 +O . -2924 +O , -2924 +L y -1949 +L O -974 +L G -974 +L C -974 +L Q -974 +P J -974 +V y -2438 +V u -2438 +V O -2438 +V G -2438 +V C -2438 +V Q -2438 +D T -1460 +D V -2438 +D Y -2924 +D . -2924 +D , -2924 +Y O -2924 +Y G -2924 +Y C -2924 +Y Q -2924 +F o -1949 +F e -1949 +F a -1949 +c . -974 +c , -974 +O A -2438 +O W -1949 +L U -1460 +R T -1949 +R V -1949 +R Y -1949 +R W -1949 +G T -1460 +P o -974 +P g -974 +P e -974 +P a -974 +C A -2438 +C . -2438 +C , -2438 +D A -2438 +D W -1949 +B T -1460 +B Y -1460 +B . -1460 +B , -1460 +F J -1460 +A O -2438 +A G -2438 +A C -2438 +A U -2438 +A Q -2438 +W r -1949 +W y -1949 +W u -1949 +W O -1949 +W G -1949 +W C -1949 +W J -1460 +W Q -1949 +J A -1460 +J . -1460 +J , -1460 +U A -2438 +U . -2438 +U , -2438 +Q A -2438 +Q W -1949 +T O -1460 +T G -1460 +T C -1460 +T Q -1460 +O X -1949 +L o -974 +L e -974 +L q -974 +G V -1460 +G Y -1460 +G W -1460 +G . -1460 +G , -1460 +P T -485 +P V -485 +P Y -485 +C T -974 +C V -974 +C Y -974 +D X -1949 +B V -1460 +B X -1460 +B A -1460 +B W -1460 +S . -1460 +S , -1460 +F r -485 +F y -485 +F u -485 +F O -485 +F G -485 +F C -485 +F Q -485 +X o -1460 +X e -1460 +X y -1949 +X O -1949 +X G -1949 +X C -1949 +X Q -1949 +A o -1460 +A e -1460 +Q X -1949 +K o -1460 +K e -1460 +K y -1460 +K w -1460 +K O -1460 +K G -1460 +K C -1460 +K Q -1460 +o v -974 +o y -974 +o x -974 +o w -974 +h v -974 +h y -974 +n v -974 +n y -974 +m v -974 +m y -974 +r g -485 +g . -1460 +g , -1460 +c v -974 +c y -974 +c w -974 +v o -974 +v g -974 +v c -974 +v d -974 +v a -974 +v q -974 +e v -974 +e y -974 +b v -485 +b y -485 +b w -485 +s . -974 +s , -974 +y o -974 +y g -974 +y c -974 +y d -974 +y a -974 +y q -974 +f g -485 +x o -974 +x g -485 +x c -974 +x e -974 +x d -974 +x a -974 +x q -974 +a v -974 +a y -974 +a w -974 +w o -974 +w g -974 +w c -974 +w d -974 +w a -974 +w q -974 +T i -974 +T S -1460 +L a -974 +L S -485 +R o -974 +R y -974 +R O -974 +R G -974 +R C -974 +R U -1460 +R Q -974 +G X -1460 +G A -1460 +P s -974 +P Z -485 +P X -485 +P W -485 +C X -974 +C W -974 +C J -485 +V i -974 +V S -1460 +S T -485 +S V -485 +S Y -485 +S X -485 +S A -1460 +S W -485 +Y i -974 +Y S -1460 +X a -974 +X u -974 +X S -485 +A t -974 +A g -485 +A c -974 +A d -1460 +A a -974 +A u -974 +A q -1460 +A S -485 +W i -974 +W S -1460 +K c -974 +K u -974 +K S -485 +t g -485 +t . -485 +t , -485 +o f -485 +h w -974 +n w -974 +m w -974 +r o -485 +r c -485 +r e -485 +r d -485 +r a -485 +r q -485 +c f -485 +c x -974 +v e -974 +v s -974 +e f -485 +e x -974 +e w -974 +b f -485 +s v -485 +s y -485 +s f -485 +s x -485 +s w -485 +y e -974 +y s -974 +f o -485 +f c -485 +f e -485 +f d -485 +f s -485 +f a -485 +f q -485 +x s -485 +w e -974 +w s -974 +k o -485 +k g -485 +k c -485 +k v -485 +k e -485 +k d -485 +k y -485 +k a -485 +k w -485 +k q -485 +O Z -485 +N . -485 +N , -485 +R e -974 +R a -974 +R u -974 +R S -485 +G Z -485 +P U -485 +C Z -974 +E t -485 +E o -485 +E g -485 +E c -485 +E v -485 +E e -485 +E d -485 +E y -485 +E f -485 +E a -485 +E w -485 +E u -485 +E q -485 +E O -485 +E G -485 +E C -485 +E S -485 +E J -485 +E Q -485 +E . -485 +E , -485 +Z o -485 +Z e -485 +Z d -485 +Z s -485 +Z y -974 +Z a -485 +Z w -974 +Z u -485 +Z O -485 +Z G -485 +Z C -485 +Z S -485 +Z Q -485 +D Z -485 +B Z -485 +S Z -485 +F i -485 +F j -974 +F S -485 +A s -485 +U g -485 +U J -485 +K a -974 +t o -485 +t c -485 +t e -485 +t d -485 +t s -485 +t a -485 +t j -485 +t q -485 +o z -485 +r s -485 +r j -485 +c z -485 +v j -485 +e z -485 +z o -485 +z g -485 +z c -485 +z e -485 +z d -485 +z s -485 +z a -485 +z q -485 +b z -485 +s z -485 +y j -485 +w j -485 +k t -485 +k s -485 +k u -485 +N A -485 +C t -485 +C o -485 +C h -485 +C l -485 +C r -485 +C i -485 +C e -485 +C y -485 +C a -485 +C u -485 +C O -485 +C H -485 +C N -485 +C M -485 +C L -485 +C R -485 +C G -485 +C I -485 +C P -485 +C C -485 +C E -485 +C D -485 +C B -485 +C S -485 +C F -485 +C U -974 +C Q -485 +C K -485 +E n -485 +E m -485 +E l -485 +E r -485 +E i -485 +E p -485 +E z -485 +E b -485 +E s -485 +E x -485 +E j -485 +E k -485 +E T -485 +E H -485 +E N -485 +E M -485 +E L -485 +E R -485 +E I -485 +E P -485 +E V -485 +E E -485 +E Z -485 +E D -485 +E B -485 +E Y -485 +E F -485 +E X -485 +E A -485 +E W -485 +E U -485 +E K -485 +B U -485 +U t -485 +U o -485 +U n -485 +U m -485 +U r -485 +U i -485 +U p -485 +U c -485 +U v -485 +U e -485 +U z -485 +U d -485 +U s -485 +U y -485 +U f -485 +U x -485 +U a -485 +U w -485 +U j -485 +U q -485 +U O -485 +U G -485 +U C -485 +U S -485 +U Q -485 +K T -485 +K V -485 +K Y -485 +K W -485 +K U -485 +L cq -3413 +L ' -3413 +T hy -1460 +T - -1460 +T en -1460 +T em -1460 +A cq -3413 +A ' -3413 +hy T -1460 +- T -1460 +en T -1460 +em T -1460 +Y hy -3413 +Y - -3413 +Y en -3413 +Y em -3413 +c cq -974 +c ' -974 +e cq -974 +e ' -974 +b cq -485 +b ' -485 +a cq -1460 +a ' -1460 +V hy -2438 +V - -2438 +V en -2438 +V em -2438 +h cq -974 +h ' -974 +n cq -974 +n ' -974 +m cq -974 +m ' -974 +R cq -974 +R ' -974 +W hy -1949 +W - -1949 +W en -1949 +W em -1949 +cq d -1460 +' d -1460 +s cq -485 +s ' -485 +L hy -974 +L - -974 +L en -974 +L em -974 +F hy -485 +F - -485 +F en -485 +F em -485 +X hy -1949 +X - -1949 +X en -1949 +X em -1949 +A hy -1949 +A - -1949 +A en -1949 +A em -1949 +K hy -1460 +K - -1460 +K en -1460 +K em -1460 +cq s -974 +' s -974 +hy X -1949 +- X -1949 +hy A -1949 +- A -1949 +en X -1949 +en A -1949 +em X -1949 +R hy -974 +R - -974 +R en -974 +R em -974 +K cq -485 +K ' -485 +t g -485 +b f -485 +k cq -485 +k ' -485 +C cq -485 +C ' -485 +E cq -485 +E ' -485 +E hy -485 +E - -485 +E en -485 +E em -485 +Z hy -485 +Z - -485 +Z en -485 +Z em -485 +k hy -485 +k - -485 +k en -485 +k em -485 +C hy -485 +C - -485 +C en -485 +C em -485 +U hy -485 +U - -485 +U en -485 +U em -485 charset -! 8781,18045,405 2 3617 -dq 12198,18450 2 3618 +! 8781,18045,405 2 161057 -- MSL 1 (19U 33) +dq 12198,18450 2 161058 -- MSL 2 (19U 34) " " -sh 13173,18450,405 2 3619 +sh 13173,18450,405 2 161059 -- MSL 3 (19U 35) # " -Do 13173,19755,2610 2 3620 +Do 13173,19755,2610 2 161060 -- MSL 4 (19U 36) $ " -% 23418,18237,405 2 3621 -& 21954,18045,405 2 3622 -cq 8781,18450 2 51751 +% 23418,18237,405 2 161061 -- MSL 5 (19U 37) +& 21954,18045,405 2 161062 -- MSL 6 (19U 38) +cq 8781,18450 2 161170 -- MSL 8 (19U 146) ' " -( 8781,18450,4305 2 3624 -) 8781,18450,4305 2 3625 -* 13173,18450 2 3626 -+ 23418,15975 0 3627 -, 8781,4380,4560 0 3628 -hy 8781,7740 0 3629 +( 8781,18450,4305 2 161064 -- MSL 9 (19U 40) +) 8781,18450,4305 2 161065 -- MSL 10 (19U 41) +* 13173,18450 2 161066 -- MSL 11 (19U 42) ++ 23418,15975 0 161067 -- MSL 12 (19U 43) +, 8781,4380,4560 0 161068 -- MSL 13 (19U 44) +hy 8781,7740 0 161069 -- MSL 14 (19U 45) - " -. 8781,4125,405 0 3630 -sl 8781,18450,405 2 3631 +. 8781,4125,405 0 161070 -- MSL 15 (19U 46) +sl 8781,18450,405 2 161071 -- MSL 16 (19U 47) / " -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 +0 13173,18450,405 2 161072 -- MSL 17 (19U 48) +1 13173,18450 2 161073 -- MSL 18 (19U 49) +2 13173,18450 2 161074 -- MSL 19 (19U 50) +3 13173,18450,405 2 161075 -- MSL 20 (19U 51) +4 13173,18450 2 161076 -- MSL 21 (19U 52) +5 13173,18045,405 2 161077 -- MSL 22 (19U 53) +6 13173,18450,405 2 161078 -- MSL 23 (19U 54) +7 13173,18045 2 161079 -- MSL 24 (19U 55) +8 13173,18450,405 2 161080 -- MSL 25 (19U 56) +9 13173,18450,405 2 161081 -- MSL 26 (19U 57) +: 8781,12549,405 0 161082 -- MSL 27 (19U 58) +; 8781,12549,4560 0 161083 -- MSL 28 (19U 59) +< 26346,16068 0 161084 -- MSL 29 (19U 60) += 23418,11370 0 161085 -- MSL 30 (19U 61) +> 26346,16068 0 161086 -- MSL 31 (19U 62) +? 13173,18045,405 2 161087 -- MSL 32 (19U 63) +at 23418,16950,4131 2 161088 -- MSL 33 (19U 64) @ " -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 +A 19029,18450 2 161089 -- MSL 34 (19U 65) +B 17565,18045 2 161090 -- MSL 35 (19U 66) +C 19029,18450,405 2 161091 -- MSL 36 (19U 67) +D 19029,18045 2 161092 -- MSL 37 (19U 68) +E 17565,18045 2 161093 -- MSL 38 (19U 69) +F 16101,18045 2 161094 -- MSL 39 (19U 70) +G 20490,18519,405 2 161095 -- MSL 40 (19U 71) +H 20490,18045 2 161096 -- MSL 41 (19U 72) +I 10245,18045 2 161097 -- MSL 42 (19U 73) +J 12684,18045,405 2 161098 -- MSL 43 (19U 74) +K 20490,18045 2 161099 -- MSL 44 (19U 75) +L 17565,18045 2 161100 -- MSL 45 (19U 76) +M 24882,18045 2 161101 -- MSL 46 (19U 77) +N 19029,18045,405 2 161102 -- MSL 47 (19U 78) +O 20490,18450,405 2 161103 -- MSL 48 (19U 79) +P 16101,18045 2 161104 -- MSL 49 (19U 80) +Q 20490,18450,4515 2 161105 -- MSL 50 (19U 81) +R 19029,18045 2 161106 -- MSL 51 (19U 82) +S 14637,18450,462 2 161107 -- MSL 52 (19U 83) +T 17565,18045 2 161108 -- MSL 53 (19U 84) +U 19029,18045,405 2 161109 -- MSL 54 (19U 85) +V 19029,18045,405 2 161110 -- MSL 55 (19U 86) +W 26346,18045,405 2 161111 -- MSL 56 (19U 87) +X 19029,18045 2 161112 -- MSL 57 (19U 88) +Y 19029,18045 2 161113 -- MSL 58 (19U 89) +Z 17565,18045 2 161114 -- MSL 59 (19U 90) +lB 8781,18045,4305 2 161115 -- MSL 60 (19U 91) [ " -rs 8781,18450,405 2 3676 +rs 8781,18450,405 2 161116 -- MSL 61 (19U 92) \ " -rB 8781,18045,4305 2 3677 +rB 8781,18045,4305 2 161117 -- MSL 62 (19U 93) ] " -ha 13173,19758 2 51875 -_ 13173,0,6588 1 3679 -oq 8781,18450 2 51808 +ha 13173,19758 2 161118 -- MSL 63 (19U 94) +_ 13173,0,6588 1 161119 -- MSL 64 (19U 95) +oq 8781,18450 2 161169 -- MSL 66 (19U 145) ` " -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 -`A 19029,24795 2 3776 -^A 19029,24795 2 3778 -`E 17565,24795 2 3784 -^E 17565,24795 2 3786 -:E 17565,23955 2 3787 -^I 10245,24795 2 3790 -:I 10245,23955 2 3791 -aa 13173,19065 2 3764 -ga 13173,19065 2 3680 -a^ 13173,19065 2 3678 +a 13173,12735,405 0 161121 -- MSL 67 (19U 97) +b 14637,18090,405 2 161122 -- MSL 68 (19U 98) +c 11709,12735,405 0 161123 -- MSL 69 (19U 99) +d 14637,18090,405 2 161124 -- MSL 70 (19U 100) +e 11709,12735,405 0 161125 -- MSL 71 (19U 101) +f 9270,18540 2 161126 -- MSL 72 (19U 102) +g 13173,12735,5484 1 161127 -- MSL 73 (19U 103) +h 14637,18090 2 161128 -- MSL 74 (19U 104) +i 7317,18450 2 161129 -- MSL 75 (19U 105) +j 8781,18450,5490 3 161130 -- MSL 76 (19U 106) +k 14637,18090 2 161131 -- MSL 77 (19U 107) +l 7317,18090 2 161132 -- MSL 78 (19U 108) +m 21954,12735 0 161133 -- MSL 79 (19U 109) +n 14637,12735 0 161134 -- MSL 80 (19U 110) +o 13173,12735,405 0 161135 -- MSL 81 (19U 111) +p 14637,12735,5490 1 161136 -- MSL 82 (19U 112) +q 14637,12828,5490 1 161137 -- MSL 83 (19U 113) +r 11709,12735 0 161138 -- MSL 84 (19U 114) +s 10245,12735,411 0 161139 -- MSL 85 (19U 115) +t 8781,16773,405 2 161140 -- MSL 86 (19U 116) +u 14637,12330,405 0 161141 -- MSL 87 (19U 117) +v 13173,12330,405 0 161142 -- MSL 88 (19U 118) +w 19029,12330,405 0 161143 -- MSL 89 (19U 119) +x 13173,12330 0 161144 -- MSL 90 (19U 120) +y 13173,12330,5490 1 161145 -- MSL 91 (19U 121) +z 11709,12330 0 161146 -- MSL 92 (19U 122) +{ 13173,19935,6210 3 161147 -- MSL 93 (19U 123) +lC " +| 13173,19758,6588 3 161148 -- MSL 94 (19U 124) +ba " +} 13173,19935,6210 3 161149 -- MSL 95 (19U 125) +rC " +ti 26346,9435 0 161150 -- MSL 96 (19U 126) +`A 19029,24795 2 161216 -- MSL 99 (19U 192) +^A 19029,24795 2 161218 -- MSL 100 (19U 194) +`E 17565,24795 2 161224 -- MSL 101 (19U 200) +^E 17565,24795 2 161226 -- MSL 102 (19U 202) +:E 17565,23955 2 161227 -- MSL 103 (19U 203) +^I 10245,24795 2 161230 -- MSL 104 (19U 206) +:I 10245,23955 2 161231 -- MSL 105 (19U 207) +aa 13173,19065 2 161204 -- MSL 106 (19U 180) +ga 13173,19065 2 161120 -- MSL 107 (19U 96) +a^ 13173,19065 2 161160 -- MSL 108 (19U 136) ^ " -ad 13173,17820 2 3752 -a~ 13173,17772 2 3710 -~ " -`U 19029,24795,405 2 3801 -^U 19029,24795,405 2 3803 -'Y 19029,24795 2 3805 -'y 13173,19065,5490 3 3837 -de 13173,18450 2 3760 -,C 19029,18450,5532 3 3783 -,c 11709,12735,5661 1 3815 -~N 19029,23892,405 2 3793 -~n 14637,17772 2 3825 -r! 8781,12672,5778 1 3745 -r? 13173,12846,5604 1 3775 -Cs 13173,16089 0 3748 -Po 13173,18450,429 2 3747 -Ye 13173,18045 2 3749 -sc 13173,18450,3225 2 3751 -Fn 13173,18540,5490 3 51871 -ct 13173,17682 2 3746 -^a 13173,19065,405 2 3810 -^e 11709,19065,405 2 3818 -^o 13173,19065,405 2 3828 -^u 14637,19065,405 2 3835 -'a 13173,19065,405 2 3809 -'e 11709,19065,405 2 3817 -'o 13173,19065,405 2 3827 -'u 14637,19065,405 2 3834 -`a 13173,19065,405 2 3808 -`e 11709,19065,405 2 3816 -`o 13173,19065,405 2 3826 -`u 14637,19065,405 2 3833 -:a 13173,17820,405 2 3812 -:e 11709,17820,405 2 3819 -:o 13173,17820,405 2 3830 -:u 14637,17820,405 2 3836 -oA 19029,24750 2 3781 -^i 7317,19065 2 3822 -/O 20490,18450,405 2 3800 -AE 27321,18045 2 3782 -oa 13173,19020,405 2 3813 -'i 7317,19065 2 3821 -/o 13173,12750,405 0 3832 -ae 19029,12735,405 0 3814 -:A 19029,23955 2 3780 -`i 7317,19065 2 3820 -:O 20490,23955,405 2 3798 -:U 19029,23955,405 2 3804 -'E 17565,24795 2 3785 -:i 7317,17820 2 3823 -ss 14637,18492,405 2 3807 -^O 20490,24795,405 2 3796 -'A 19029,24795 2 3777 -~A 19029,23892 2 3779 -~a 13173,17772,405 2 3811 --D 19029,18045 2 3792 -Sd 13173,18090,405 2 3824 -'I 10245,24795 2 3789 -`I 10245,24795 2 3788 -'O 20490,24795,405 2 3795 -`O 20490,24795,405 2 3794 -~O 20490,23892,405 2 3797 -~o 13173,17772,405 2 3829 -vS 14637,24795,462 2 51795 -vs 10245,19065,411 2 51827 -'U 19029,24795,405 2 3802 -:Y 19029,23955 2 51801 -:y 13173,17820,5490 3 3839 -TP 16101,18045 2 3806 -Tp 14637,18090,5490 3 3838 -mc 14637,10800,5193 1 3765 -ps 13173,19635,4200 2 3766 -34 23418,18450,405 2 3774 -\- 23418,9000 0 51757 -14 23418,18450,405 2 3772 -12 23418,18450,405 2 3773 -Of 13173,18450 2 3754 -Om 13173,18450 2 3770 -Fo 11220,9861 0 3755 -Fc 11220,9861 0 3771 -t+- 23418,15975,2880 0 3761 -bb 13173,19083,5916 3 3750 -co 13173,19725 2 3753 -tno 23418,12210 0 3756 -rg 13173,19725 2 3758 -S2 9270,18285 2 3762 -S3 9270,18285 2 3763 -ac 13173,0,5661 1 3768 -S1 9270,18285 2 3769 -tmu 23418,15033 0 3799 -tdi 23418,14505 0 3831 -pc 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 -a- 13173,17259 2 3759 -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 +ad 13173,17820 2 161192 -- MSL 109 (19U 168) +~ 13173,17772 2 161176 -- MSL 110 (19U 152) +a~ " +`U 19029,24795,405 2 161241 -- MSL 111 (19U 217) +^U 19029,24795,405 2 161243 -- MSL 112 (19U 219) +u00AF 13173,21105 2 161199 -- MSL 113 (19U 175) +'Y 19029,24795 2 161245 -- MSL 114 (19U 221) +'y 13173,19065,5490 3 161277 -- MSL 115 (19U 253) +de 13173,18450 2 161200 -- MSL 116 (19U 176) +,C 19029,18450,5532 3 161223 -- MSL 117 (19U 199) +,c 11709,12735,5661 1 161255 -- MSL 118 (19U 231) +~N 19029,23892,405 2 161233 -- MSL 119 (19U 209) +~n 14637,17772 2 161265 -- MSL 120 (19U 241) +r! 8781,12672,5778 1 161185 -- MSL 121 (19U 161) +r? 13173,12846,5604 1 161215 -- MSL 122 (19U 191) +Cs 13173,16089 0 161188 -- MSL 123 (19U 164) +Po 13173,18450,429 2 161187 -- MSL 124 (19U 163) +Ye 13173,18045 2 161189 -- MSL 125 (19U 165) +sc 13173,18450,3225 2 161191 -- MSL 126 (19U 167) +Fn 13173,18540,5490 3 161155 -- MSL 127 (19U 131) +ct 13173,17682 2 161186 -- MSL 128 (19U 162) +^a 13173,19065,405 2 161250 -- MSL 129 (19U 226) +^e 11709,19065,405 2 161258 -- MSL 130 (19U 234) +^o 13173,19065,405 2 161268 -- MSL 131 (19U 244) +^u 14637,19065,405 2 161275 -- MSL 132 (19U 251) +'a 13173,19065,405 2 161249 -- MSL 133 (19U 225) +'e 11709,19065,405 2 161257 -- MSL 134 (19U 233) +'o 13173,19065,405 2 161267 -- MSL 135 (19U 243) +'u 14637,19065,405 2 161274 -- MSL 136 (19U 250) +`a 13173,19065,405 2 161248 -- MSL 137 (19U 224) +`e 11709,19065,405 2 161256 -- MSL 138 (19U 232) +`o 13173,19065,405 2 161266 -- MSL 139 (19U 242) +`u 14637,19065,405 2 161273 -- MSL 140 (19U 249) +:a 13173,17820,405 2 161252 -- MSL 141 (19U 228) +:e 11709,17820,405 2 161259 -- MSL 142 (19U 235) +:o 13173,17820,405 2 161270 -- MSL 143 (19U 246) +:u 14637,17820,405 2 161276 -- MSL 144 (19U 252) +oA 19029,24750 2 161221 -- MSL 145 (19U 197) +^i 7317,19065 2 161262 -- MSL 146 (19U 238) +/O 20490,18450,405 2 161240 -- MSL 147 (19U 216) +AE 27321,18045 2 161222 -- MSL 148 (19U 198) +oa 13173,19020,405 2 161253 -- MSL 149 (19U 229) +'i 7317,19065 2 161261 -- MSL 150 (19U 237) +/o 13173,12750,405 0 161272 -- MSL 151 (19U 248) +ae 19029,12735,405 0 161254 -- MSL 152 (19U 230) +:A 19029,23955 2 161220 -- MSL 153 (19U 196) +`i 7317,19065 2 161260 -- MSL 154 (19U 236) +:O 20490,23955,405 2 161238 -- MSL 155 (19U 214) +:U 19029,23955,405 2 161244 -- MSL 156 (19U 220) +'E 17565,24795 2 161225 -- MSL 157 (19U 201) +:i 7317,17820 2 161263 -- MSL 158 (19U 239) +ss 14637,18492,405 2 161247 -- MSL 159 (19U 223) +^O 20490,24795,405 2 161236 -- MSL 160 (19U 212) +'A 19029,24795 2 161217 -- MSL 161 (19U 193) +~A 19029,23892 2 161219 -- MSL 162 (19U 195) +~a 13173,17772,405 2 161251 -- MSL 163 (19U 227) +-D 19029,18045 2 161232 -- MSL 164 (19U 208) +Sd 13173,18090,405 2 161264 -- MSL 165 (19U 240) +'I 10245,24795 2 161229 -- MSL 166 (19U 205) +`I 10245,24795 2 161228 -- MSL 167 (19U 204) +'O 20490,24795,405 2 161235 -- MSL 168 (19U 211) +`O 20490,24795,405 2 161234 -- MSL 169 (19U 210) +~O 20490,23892,405 2 161237 -- MSL 170 (19U 213) +~o 13173,17772,405 2 161269 -- MSL 171 (19U 245) +vS 14637,24795,462 2 161162 -- MSL 172 (19U 138) +vs 10245,19065,411 2 161178 -- MSL 173 (19U 154) +'U 19029,24795,405 2 161242 -- MSL 174 (19U 218) +:Y 19029,23955 2 161183 -- MSL 175 (19U 159) +:y 13173,17820,5490 3 161279 -- MSL 176 (19U 255) +TP 16101,18045 2 161246 -- MSL 177 (19U 222) +Tp 14637,18090,5490 3 161278 -- MSL 178 (19U 254) +mc 14637,10800,5193 1 161205 -- MSL 180 (19U 181) +ps 13173,19635,4200 2 161206 -- MSL 181 (19U 182) +34 23418,18450,405 2 161214 -- MSL 182 (19U 190) +\- 23418,9000 0 60096 -- MSL 183 ( 7J 192) +14 23418,18450,405 2 161212 -- MSL 184 (19U 188) +12 23418,18450,405 2 161213 -- MSL 185 (19U 189) +Of 13173,18450 2 161194 -- MSL 186 (19U 170) +Om 13173,18450 2 161210 -- MSL 187 (19U 186) +Fo 11220,9861 0 161195 -- MSL 188 (19U 171) +Fc 11220,9861 0 161211 -- MSL 190 (19U 187) +t+- 23418,15975,2880 0 161201 -- MSL 191 (19U 177) +bb 13173,19083,5916 3 161190 -- MSL 192 (19U 166) +co 13173,19725 2 161193 -- MSL 193 (19U 169) +tno 23418,12210 0 161196 -- MSL 194 (19U 172) +u00AD 8781,7740 0 161197 -- MSL 195 (19U 173) +rg 13173,19725 2 161198 -- MSL 196 (19U 174) +S2 9270,18285 2 161202 -- MSL 197 (19U 178) +S3 9270,18285 2 161203 -- MSL 198 (19U 179) +ac 13173,0,5661 1 161208 -- MSL 199 (19U 184) +S1 9270,18285 2 161209 -- MSL 200 (19U 185) +tmu 23418,15033 0 161239 -- MSL 201 (19U 215) +tdi 23418,14505 0 161271 -- MSL 202 (19U 247) +u203C 15117,18045,405 2 87315 -- MSL 221 (10U 19) +u20A7 25701,18045,405 2 60121 -- MSL 232 ( 7J 217) +pc 8781,11274 0 161207 -- MSL 302 (19U 183) +u013F 17565,18045 2 51943 -- MSL 306 ( 6J 231) +u0140 10242,18090 2 51959 -- MSL 307 ( 6J 247) +u2113 13173,18045,765 2 60122 -- MSL 308 ( 7J 218) +u0149 20979,18450 2 51951 -- MSL 309 ( 6J 239) +fm 8781,18450 2 60101 -- MSL 310 ( 7J 197) +sd 13173,18450 2 60102 -- MSL 311 ( 7J 198) +dg 13173,18450,3075 2 161158 -- MSL 312 (19U 134) +tm 16101,17550 2 161177 -- MSL 313 (19U 153) +u2017 13173,0,6588 1 60095 -- MSL 314 ( 7J 191) +ah 13173,19065 2 75169 -- MSL 315 ( 9E 161) +ao 13173,19020 2 60152 -- MSL 316 ( 7J 248) +f/ 3417,18450,405 2 60109 -- MSL 324 ( 7J 205) +em 23418,7200 0 161175 -- MSL 325 (19U 151) +en 13173,7200 0 161174 -- MSL 326 (19U 150) +dd 13173,18450,3075 2 161159 -- MSL 327 (19U 135) +.i 7317,12330 0 46333 -- MSL 328 ( 5T 253) +aq 8781,18450 2 161063 -- MSL 329 (19U 39) +bu 13173,14226 0 161173 -- MSL 331 (19U 149) +u207F 13173,18285 2 87548 -- MSL 332 (10U 252) +u0111 14637,18090,405 2 75248 -- MSL 342 ( 9E 240) +u0041_0306 19029,24285 2 75203 -- MSL 400 ( 9E 195) +u0061_0306 13173,18285,405 2 75235 -- MSL 401 ( 9E 227) +u0041_0328 19029,18450,4113 2 75173 -- MSL 404 ( 9E 165) +u0061_0328 13173,12735,4413 0 75193 -- MSL 405 ( 9E 185) +'C 19029,24795,405 2 75206 -- MSL 406 ( 9E 198) +'c 11709,19065,405 2 75238 -- MSL 407 ( 9E 230) +u0041_030C 19029,24795,405 2 75208 -- MSL 410 ( 9E 200) +u0061_030C 11709,19065,405 2 75240 -- MSL 411 ( 9E 232) +u0044_030C 19029,24795 2 75215 -- MSL 414 ( 9E 207) +u0064_030C 18051,19065,405 2 75247 -- MSL 415 ( 9E 239) +u0045_030C 17565,24795 2 75212 -- MSL 416 ( 9E 204) +u0065_030C 11709,19065,405 2 75244 -- MSL 417 ( 9E 236) +u0045_0328 17565,18045,4113 2 75210 -- MSL 422 ( 9E 202) +u0065_0328 11709,12735,4413 0 75242 -- MSL 423 ( 9E 234) +u004C_0301 17565,24795 2 75205 -- MSL 440 ( 9E 197) +u006C_0301 7317,24885 2 75237 -- MSL 441 ( 9E 229) +u004C_030C 17565,19065 2 75196 -- MSL 442 ( 9E 188) +u006C_030C 10734,19065 2 75198 -- MSL 443 ( 9E 190) +u004E_0301 19029,24795,405 2 75217 -- MSL 446 ( 9E 209) +u006E_0301 14637,19065 2 75249 -- MSL 447 ( 9E 241) +u004E_030C 19029,24795,405 2 75218 -- MSL 448 ( 9E 210) +u006E_030C 14637,19065 2 75250 -- MSL 449 ( 9E 242) +u004F_030B 20490,24795,405 2 75221 -- MSL 452 ( 9E 213) +u006F_030B 13173,19065,405 2 75253 -- MSL 453 ( 9E 245) +u0052_0301 19029,24795 2 75200 -- MSL 456 ( 9E 192) +u0072_0301 11709,19065 2 75232 -- MSL 457 ( 9E 224) +u0052_030C 19029,24795 2 75224 -- MSL 458 ( 9E 216) +u0072_030C 11709,19065 2 75256 -- MSL 459 ( 9E 248) +u0053_0301 14637,24795,462 2 75148 -- MSL 462 ( 9E 140) +u0073_0301 10245,19065,411 2 75164 -- MSL 463 ( 9E 156) +u0054_030C 17565,24795 2 75149 -- MSL 466 ( 9E 141) +u0074_030C 10734,19065,405 2 75165 -- MSL 467 ( 9E 157) +u0054_0327 17565,18045,5532 3 75230 -- MSL 468 ( 9E 222) +u0074_0327 8781,16773,5661 3 75262 -- MSL 469 ( 9E 254) +u0055_030B 19029,24795,405 2 75227 -- MSL 474 ( 9E 219) +u0075_030B 14637,19065,405 2 75259 -- MSL 475 ( 9E 251) +u0055_030A 19029,24750,405 2 75225 -- MSL 476 ( 9E 217) +u0075_030A 14637,19020,405 2 75257 -- MSL 477 ( 9E 249) +u005A_0301 17565,24795 2 75151 -- MSL 482 ( 9E 143) +u007A_0301 11709,19065 2 75167 -- MSL 483 ( 9E 159) +u005A_0307 17565,23955 2 75183 -- MSL 484 ( 9E 175) +u007A_0307 11709,17820 2 75199 -- MSL 485 ( 9E 191) +u2070 9270,18285 2 51753 -- MSL 1000 ( 6J 41) +u2074 9270,18285 2 51748 -- MSL 1001 ( 6J 36) +u2075 9270,18045 2 51749 -- MSL 1002 ( 6J 37) +u2076 9270,18285 2 51806 -- MSL 1003 ( 6J 94) +u2077 9270,18045 2 51750 -- MSL 1004 ( 6J 38) +u2078 9270,18285 2 51754 -- MSL 1005 ( 6J 42) +u2079 9270,18285 2 51752 -- MSL 1006 ( 6J 40) +lq 15126,18450 2 161171 -- MSL 1017 (19U 147) +rq 15126,18450 2 161172 -- MSL 1018 (19U 148) +Bq 15126,4134,4806 0 161156 -- MSL 1019 (19U 132) +u2003 23418,0 0 51821 -- MSL 1020 ( 6J 109) +u2002 13173,0 0 51822 -- MSL 1021 ( 6J 110) +u2009 8781,0 0 51828 -- MSL 1023 ( 6J 116) +u2026 23418,4050 0 161157 -- MSL 1028 (19U 133) +vz 11709,19065 2 75166 -- MSL 1031 ( 9E 158) +u2120 16101,17703 2 128299 -- MSL 1034 (15U 43) +u211E 20001,18315,4056 2 51794 -- MSL 1036 ( 6J 82) +fi 14637,18540 2 60077 -- MSL 1040 ( 7J 173) +fl 14637,19116 2 60078 -- MSL 1041 ( 7J 174) +ff 16587,18540 2 51883 -- MSL 1042 ( 6J 171) +Fi 21954,18540 2 51884 -- MSL 1043 ( 6J 172) +Fl 21954,19116 2 51885 -- MSL 1044 ( 6J 173) +ij 15075,18450,5490 3 60134 -- MSL 1047 ( 7J 230) +u2105 24882,18450,405 2 60072 -- MSL 1060 ( 7J 168) +u0047_0306 20490,24285,405 2 46288 -- MSL 1061 ( 5T 208) +u0067_0306 13173,18285,5484 3 46320 -- MSL 1062 ( 5T 240) +u0053_0327 14637,18450,5532 3 75178 -- MSL 1063 ( 9E 170) +u0073_0327 10245,12735,5661 1 75194 -- MSL 1064 ( 9E 186) +u0049_0307 10245,23955 2 46301 -- MSL 1065 ( 5T 221) +bq 8781,4134,4806 0 161154 -- MSL 1067 (19U 130) +%0 30738,18237,405 2 161161 -- MSL 1068 (19U 137) +a- 13173,17259 2 60154 -- MSL 1084 ( 7J 250) +ab 13173,18285 2 75170 -- MSL 1086 ( 9E 162) +a. 13173,17820 2 75263 -- MSL 1088 ( 9E 255) +oe 19515,12735,405 0 161180 -- MSL 1090 (19U 156) +OE 29760,18450,405 2 161164 -- MSL 1091 (19U 140) +fo 6831,9861 0 161163 -- MSL 1092 (19U 139) +fc 6831,9861 0 161179 -- MSL 1093 (19U 155) +sq 19029,15624 0 60091 -- MSL 1094 ( 7J 187) +/L 17565,18045 2 75171 -- MSL 1095 ( 9E 163) +/l 7317,18090 2 75187 -- MSL 1096 ( 9E 179) +a" 13173,19065 2 75197 -- MSL 1097 ( 9E 189) +ho 13173,513,4413 0 75186 -- MSL 1098 ( 9E 178) +vZ 17565,24795 2 75150 -- MSL 1106 ( 9E 142) +IJ 23904,18045,405 2 60135 -- MSL 1107 ( 7J 231) diff -ruN groff-1.19/font/devlj4/TBI groff-1.19.1/font/devlj4/TBI --- groff-1.19/font/devlj4/TBI Tue Feb 25 06:38:56 2003 +++ groff-1.19.1/font/devlj4/TBI Wed Feb 18 10:01:17 2004 @@ -1,3 +1,4 @@ +# CG Times BdIt name TBI spacewidth 7806 slant 15.300000 @@ -7,929 +8,999 @@ 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 cq -2925 -L ' -2925 -T hy -975 -T - -975 -T en -975 -T em -975 -A cq -3414 -A ' -3414 -hy T -1461 -- T -1461 -en T -1461 -em T -1461 -Y hy -2439 -Y - -2439 -Y en -2439 -Y em -2439 -p cq -1950 -p ' -1950 -c cq -1461 -c ' -1461 -e cq -1950 -e ' -1950 -b cq -1950 -b ' -1950 -V hy -1950 -V - -1950 -V en -1950 -V em -1950 -h cq -975 -h ' -975 -n cq -975 -n ' -975 -m cq -975 -m ' -975 -R cq -486 -R ' -486 -W hy -1950 -W - -1950 -W en -1950 -W em -1950 -cq d -975 -' d -975 -X hy -1461 -X - -1461 -X en -1461 -X em -1461 -A hy -1950 -A - -1950 -A en -1950 -A em -1950 -K hy -1461 -K - -1461 -K en -1461 -K em -1461 -cq s -486 -' s -486 -hy X -1461 -- X -1461 -hy A -975 -- A -975 -en X -1461 -en A -975 -em X -1461 -R hy -486 -R - -486 -R en -486 -R em -486 -K cq -486 -K ' -486 -t g -486 -v cq -486 -v ' -486 -b f -975 -y cq -486 -y ' -486 -w cq -486 -w ' -486 -C cq -486 -C ' -486 -E cq -486 -E ' -486 -E hy -486 -E - -486 -E en -486 -E em -486 -Z hy -486 -Z - -486 -Z en -486 -Z em -486 -J cq -975 -J ' -975 -J hy -975 -J - -975 -J en -975 -J em -975 -v hy -486 -v - -486 -v en -486 -v em -486 -y hy -486 -y - -486 -y en -486 -y em -486 -w hy -486 -w - -486 -w en -486 -w em -486 -C hy -486 -C - -486 -C en -486 -C em -486 -hy g -486 -- g -486 -en g -486 -em g -486 +L V -2924 +P . -4388 +P , -4388 +V A -3902 +A V -4388 +T o -2438 +T r -974 +T c -2438 +T e -2438 +T d -1949 +T s -1460 +T y -974 +T a -2438 +T w -974 +T u -974 +T J -1949 +L T -2438 +L Y -2924 +Y o -3902 +Y e -3902 +Y a -3413 +Y J -1949 +A W -3902 +W A -3413 +T A -2438 +V o -3413 +V e -3413 +V a -3413 +Y A -2924 +F A -2438 +F . -3902 +F , -3902 +A T -2438 +A Y -3413 +v . -2438 +v , -2438 +y . -2438 +y , -2438 +T . -2438 +T , -2438 +L W -2924 +P A -2924 +V J -1949 +V . -3902 +V , -3902 +Y . -2924 +Y , -2924 +W o -2924 +W e -2924 +W a -2924 +W . -3413 +W , -3413 +r . -3413 +r , -3413 +w . -2438 +w , -2438 +Y u -2438 +A v -2438 +A y -2924 +A w -2438 +o . -1460 +o , -1460 +p . -1460 +p , -1460 +e . -974 +e , -974 +b . -1460 +b , -1460 +O T -1460 +O V -1949 +O Y -1949 +O . -2438 +O , -2438 +L y -974 +P J -2924 +V y -1949 +V u -1949 +V O -1949 +V G -1949 +V C -1949 +V Q -1949 +D T -1460 +D V -1949 +D Y -1949 +D . -2438 +D , -2438 +Y O -2438 +Y G -2438 +Y C -2438 +Y Q -2438 +F o -1460 +F e -1460 +F a -1460 +c . -974 +c , -974 +O A -974 +O W -1949 +R T -1460 +R V -1460 +R Y -1460 +R W -1460 +G T -1460 +P o -1460 +P g -1460 +P e -1460 +P a -1460 +C A -1460 +C . -2438 +C , -2438 +D A -974 +D W -1949 +B T -1460 +B Y -1949 +B . -1460 +B , -1460 +F J -1949 +A O -1949 +A G -1949 +A C -1949 +A U -1949 +A Q -1949 +W r -1949 +W y -1949 +W u -1949 +W O -1949 +W G -1949 +W C -1949 +W J -1949 +W Q -1949 +J A -974 +J . -974 +J , -974 +U A -974 +U . -1949 +U , -1949 +Q A -974 +Q W -1949 +f . -974 +f , -974 +T O -974 +T G -974 +T C -974 +T Q -974 +O X -1460 +G V -1460 +G Y -1460 +G W -1460 +G . -485 +G , -485 +P T -1460 +P V -1460 +P Y -1460 +C T -974 +C V -974 +C Y -974 +D X -1460 +B V -1949 +B X -1460 +B A -974 +B W -1949 +S . -974 +S , -974 +X o -1460 +X e -1460 +X y -1460 +X O -1460 +X G -1460 +X C -1460 +X Q -1460 +A o -1949 +A e -1949 +Q X -1460 +K o -1460 +K e -1460 +K y -1460 +K w -1460 +K O -1460 +K G -1460 +K C -1460 +K Q -1460 +o v -974 +o y -974 +o x -485 +o w -974 +h v -974 +h y -974 +n v -974 +n y -974 +m v -974 +m y -974 +r g -974 +g . -974 +g , -974 +p v -974 +p y -974 +p x -485 +c v -974 +c y -974 +c w -974 +v o -485 +v g -974 +v c -485 +v d -485 +v a -485 +v q -485 +e v -974 +e y -974 +b v -974 +b y -974 +b w -974 +s . -485 +s , -485 +y o -485 +y g -974 +y c -485 +y d -485 +y a -485 +y q -485 +f g -1460 +x o -485 +x g -485 +x c -485 +x e -485 +x d -485 +x a -485 +x q -485 +w o -485 +w g -974 +w c -485 +w d -485 +w a -485 +w q -485 +T i -974 +T S -974 +R o -485 +R y -485 +R O -485 +R G -485 +R C -485 +R U -485 +R Q -485 +G X -485 +G A -485 +P s -485 +P Z -485 +P X -1460 +P W -1460 +C X -974 +C W -974 +C J -1460 +V i -974 +V S -974 +S T -1460 +S V -1460 +S Y -1460 +S X -974 +S A -974 +S W -1460 +Y i -974 +Y S -974 +X a -485 +X u -974 +X S -485 +A t -485 +A g -485 +A c -1949 +A d -1460 +A a -485 +A u -974 +A q -974 +A S -485 +W i -974 +W S -974 +J y -1460 +K c -1460 +K u -974 +K S -485 +t g -485 +o f -974 +h w -974 +n w -974 +m w -974 +r o -485 +r c -485 +r e -485 +r d -485 +r a -485 +r q -485 +g g -974 +p f -974 +p w -974 +c f -974 +c x -485 +v e -485 +v s -485 +e f -974 +e x -485 +e w -974 +b f -974 +y e -485 +y s -485 +f o -974 +f c -974 +f e -974 +f d -974 +f s -485 +f a -974 +f q -974 +w e -485 +w s -485 +k o -485 +k g -485 +k c -485 +k e -485 +k d -485 +k a -485 +k q -485 +O Z -485 +O J -974 +R e -485 +R a -485 +R u -485 +R S -485 +G Z -485 +C Z -974 +E t -485 +E o -485 +E g -974 +E c -485 +E v -485 +E e -485 +E d -485 +E y -485 +E f -485 +E a -485 +E w -485 +E u -485 +E q -485 +E O -485 +E G -485 +E C -485 +E S -485 +E J -485 +E Q -485 +E . -485 +E , -485 +Z o -485 +Z e -485 +Z d -485 +Z y -974 +Z a -485 +Z w -974 +Z u -485 +Z O -485 +Z G -485 +Z C -485 +Z S -485 +Z Q -485 +D Z -485 +D J -974 +B Z -485 +B J -974 +S Z -485 +S J -974 +J o -974 +J i -974 +J e -974 +J a -974 +J u -974 +J T -974 +J O -974 +J H -974 +J N -974 +J M -974 +J L -974 +J R -974 +J G -974 +J I -974 +J P -974 +J C -974 +J V -974 +J E -974 +J Z -974 +J D -974 +J B -974 +J S -974 +J Y -974 +J F -974 +J X -974 +J W -974 +J J -974 +J U -974 +J Q -974 +J K -974 +U g -485 +U J -974 +K a -485 +o g -485 +o z -485 +h g -485 +h f -485 +n g -485 +n f -485 +m g -485 +m f -485 +l g -485 +r s -485 +g o -485 +g c -485 +g e -485 +g d -485 +g s -485 +g a -485 +g q -485 +i g -485 +p g -485 +p z -485 +c g -485 +c z -485 +v t -485 +v h -485 +v n -485 +v m -485 +v r -485 +v i -485 +v p -485 +v z -485 +v b -485 +v y -485 +v f -485 +v x -485 +v w -485 +v j -485 +v u -485 +v k -485 +e g -485 +e z -485 +z o -485 +z g -485 +z c -485 +z e -485 +z d -485 +z a -485 +z q -485 +d g -485 +b g -485 +b z -485 +s g -485 +y t -485 +y h -485 +y n -485 +y m -485 +y l -485 +y r -485 +y i -485 +y p -485 +y v -485 +y z -485 +y b -485 +y y -485 +y f -485 +y x -485 +y w -485 +y j -485 +y u -485 +y k -485 +a g -485 +w t -485 +w h -485 +w n -485 +w m -485 +w l -485 +w r -485 +w i -485 +w p -485 +w v -485 +w z -485 +w b -485 +w y -485 +w f -485 +w x -485 +w w -485 +w j -485 +w u -485 +w k -485 +j g -485 +u g -485 +q g -485 +O g -485 +M g -485 +G J -485 +I g -485 +C t -485 +C o -485 +C h -485 +C l -485 +C r -485 +C i -485 +C e -485 +C y -485 +C a -485 +C u -485 +C O -485 +C H -485 +C N -485 +C M -485 +C L -485 +C R -485 +C G -485 +C I -485 +C P -485 +C C -485 +C E -485 +C D -485 +C B -485 +C S -485 +C F -485 +C U -485 +C Q -485 +C K -485 +E n -485 +E m -485 +E l -485 +E r -485 +E i -485 +E p -485 +E z -485 +E b -485 +E s -485 +E x -485 +E j -485 +E k -485 +E T -485 +E H -485 +E N -485 +E M -485 +E L -485 +E R -485 +E I -485 +E P -485 +E V -485 +E E -485 +E Z -485 +E D -485 +E B -485 +E Y -485 +E F -485 +E X -485 +E A -485 +E W -485 +E U -485 +E K -485 +A f -485 +K T -485 +K V -485 +K Y -485 +K W -485 +K U -485 +L cq -2924 +L ' -2924 +T hy -974 +T - -974 +T en -974 +T em -974 +A cq -3413 +A ' -3413 +hy T -1460 +- T -1460 +en T -1460 +em T -1460 +Y hy -2438 +Y - -2438 +Y en -2438 +Y em -2438 +p cq -1949 +p ' -1949 +c cq -1460 +c ' -1460 +e cq -1949 +e ' -1949 +b cq -1949 +b ' -1949 +V hy -1949 +V - -1949 +V en -1949 +V em -1949 +h cq -974 +h ' -974 +n cq -974 +n ' -974 +m cq -974 +m ' -974 +R cq -485 +R ' -485 +W hy -1949 +W - -1949 +W en -1949 +W em -1949 +cq d -974 +' d -974 +X hy -1460 +X - -1460 +X en -1460 +X em -1460 +A hy -1949 +A - -1949 +A en -1949 +A em -1949 +K hy -1460 +K - -1460 +K en -1460 +K em -1460 +cq s -485 +' s -485 +hy X -1460 +- X -1460 +hy A -974 +- A -974 +en X -1460 +en A -974 +em X -1460 +R hy -485 +R - -485 +R en -485 +R em -485 +K cq -485 +K ' -485 +t g -485 +v cq -485 +v ' -485 +b f -974 +y cq -485 +y ' -485 +w cq -485 +w ' -485 +C cq -485 +C ' -485 +E cq -485 +E ' -485 +E hy -485 +E - -485 +E en -485 +E em -485 +Z hy -485 +Z - -485 +Z en -485 +Z em -485 +J cq -974 +J ' -974 +J hy -974 +J - -974 +J en -974 +J em -974 +v hy -485 +v - -485 +v en -485 +v em -485 +y hy -485 +y - -485 +y en -485 +y em -485 +w hy -485 +w - -485 +w en -485 +w em -485 +C hy -485 +C - -485 +C en -485 +C em -485 +hy g -485 +- g -485 +en g -485 +em g -485 charset -! 10245,18450,405,963,-453,913 2 3617 -dq 13662,18450,0,1380,-3414,913 2 3618 +! 10245,18450,405,963,-452,913 2 161057 -- MSL 1 (19U 33) +dq 13662,18450,0,1380,-3413,913 2 161058 -- MSL 2 (19U 34) " " -sh 13173,18450,405,1902,270,913 2 3619 +sh 13173,18450,405,1902,270,913 2 161059 -- MSL 3 (19U 35) # " -Do 13173,19770,2295,1998,1053,913 2 3620 +Do 13173,19770,2295,1998,1053,913 2 161060 -- MSL 4 (19U 36) $ " -% 23418,18237,405,288,-1509,288 2 3621 -& 20490,18045,405,234,87,234 2 3622 -cq 8781,18450,0,2001,-2790,913 2 51751 +% 23418,18237,405,288,-1508,288 2 161061 -- MSL 5 (19U 37) +& 20490,18045,405,234,87,234 2 161062 -- MSL 6 (19U 38) +cq 8781,18450,0,2001,-2789,913 2 161170 -- MSL 8 (19U 146) ' " -( 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 -hy 8781,7740,0,660,426,660 0 3629 +( 8781,18450,4761,3096,-317,913 2 161064 -- MSL 9 (19U 40) +) 8781,18450,4761,846,1932,846 2 161065 -- MSL 10 (19U 41) +* 13173,18450,0,1518,-1811,913 2 161066 -- MSL 11 (19U 42) ++ 23418,15975,0,0,-3104 0 161067 -- MSL 12 (19U 43) +, 8781,3612,4728,0,1515 0 161068 -- MSL 13 (19U 44) +hy 8781,7740,0,660,426,660 0 161069 -- MSL 14 (19U 45) - " -. 8781,3645,405,0,129 0 3630 -sl 8781,18450,405,3012,1209,913 2 3631 +. 8781,3645,405,0,129 0 161070 -- MSL 15 (19U 46) +sl 8781,18450,405,3012,1209,913 2 161071 -- MSL 16 (19U 47) / " -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 +0 13173,18450,405,1722,72,913 2 161072 -- MSL 17 (19U 48) +1 13173,18450,0,0,765 2 161073 -- MSL 18 (19U 49) +2 13173,18450,0,657,1419,657 2 161074 -- MSL 19 (19U 50) +3 13173,18450,405,702,1116,702 2 161075 -- MSL 20 (19U 51) +4 13173,18450,0,1953,1386,913 2 161076 -- MSL 21 (19U 52) +5 13173,18045,405,1845,855,913 2 161077 -- MSL 22 (19U 53) +6 13173,18450,405,2286,-8,913 2 161078 -- MSL 23 (19U 54) +7 13173,18045,0,2997,-968,913 2 161079 -- MSL 24 (19U 55) +8 13173,18450,405,1548,240,913 2 161080 -- MSL 25 (19U 56) +9 13173,18450,405,1572,705,913 2 161081 -- MSL 26 (19U 57) +: 8781,12360,405,0,408 0 161082 -- MSL 27 (19U 58) +; 8781,12360,4728,0,1515 0 161083 -- MSL 28 (19U 59) +< 26346,16068,0,0,-3980 0 161084 -- MSL 29 (19U 60) += 23418,11370,0,0,-3299 0 161085 -- MSL 30 (19U 61) +> 26346,16068,0,0,-3980 0 161086 -- MSL 31 (19U 62) +? 13173,18450,405,1725,-1931,913 2 161087 -- MSL 32 (19U 63) +at 23418,16950,4131,1095,219,913 2 161088 -- MSL 33 (19U 64) @ " -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 +A 17565,18450,0,546,2412,546 2 161089 -- MSL 34 (19U 65) +B 17565,18045,0,1257,1167,913 2 161090 -- MSL 35 (19U 66) +C 17565,18594,405,2331,-392,913 2 161091 -- MSL 36 (19U 67) +D 19029,18045,0,1707,1611,913 2 161092 -- MSL 37 (19U 68) +E 17565,18045,0,1974,1428,913 2 161093 -- MSL 38 (19U 69) +F 16101,18045,0,3384,1536,913 2 161094 -- MSL 39 (19U 70) +G 19029,18450,405,1863,-11,913 2 161095 -- MSL 40 (19U 71) +H 20490,18045,0,3006,1266,913 2 161096 -- MSL 41 (19U 72) +I 10245,18045,0,2997,1338,913 2 161097 -- MSL 42 (19U 73) +J 13173,18045,405,2652,1491,913 2 161098 -- MSL 43 (19U 74) +K 17565,18045,0,3312,1326,913 2 161099 -- MSL 44 (19U 75) +L 16101,18045,0,1188,1815,913 2 161100 -- MSL 45 (19U 76) +M 23418,18045,0,3132,1362,913 2 161101 -- MSL 46 (19U 77) +N 19029,18045,405,3270,1227,913 2 161102 -- MSL 47 (19U 78) +O 19029,18450,405,1503,-182,913 2 161103 -- MSL 48 (19U 79) +P 16101,18045,0,2490,1233,913 2 161104 -- MSL 49 (19U 80) +Q 18540,18450,5550,1902,-176,913 3 161105 -- MSL 50 (19U 81) +R 17565,18045,0,1260,1188,913 2 161106 -- MSL 51 (19U 82) +S 14637,18525,510,1452,543,913 2 161107 -- MSL 52 (19U 83) +T 16101,18045,0,3513,-962,913 2 161108 -- MSL 53 (19U 84) +U 19029,18045,405,3249,-1454,913 2 161109 -- MSL 54 (19U 85) +V 17565,18045,405,3771,-1355,913 2 161110 -- MSL 55 (19U 86) +W 23418,18045,405,3891,-1310,913 2 161111 -- MSL 56 (19U 87) +X 17565,18045,0,2883,1578,913 2 161112 -- MSL 57 (19U 88) +Y 16101,18045,0,3630,-1253,913 2 161113 -- MSL 58 (19U 89) +Z 16101,18045,0,1923,876,913 2 161114 -- MSL 59 (19U 90) +lB 8781,18045,4095,4575,2064,913 2 161115 -- MSL 60 (19U 91) [ " -rs 8781,18450,405,0,-2226 2 3676 +rs 8781,18450,405,0,-2225 2 161116 -- MSL 61 (19U 92) \ " -rB 8781,18045,4095,2826,3813,913 2 3677 +rB 8781,18045,4095,2826,3813,913 2 161117 -- MSL 62 (19U 93) ] " -ha 13173,19758,0,36,36,36 2 51875 -_ 13173,0,6588,1317,1317,913 1 3679 -oq 8781,18450,0,2001,-2790,913 2 51808 +ha 13173,19758,0,36,36,36 2 161118 -- MSL 63 (19U 94) +_ 13173,0,6588,1317,1317,913 1 161119 -- MSL 64 (19U 95) +oq 8781,18450,0,2001,-2789,913 2 161169 -- MSL 66 (19U 145) ` " -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 -`A 17565,24795,0,546,2412,546 2 3776 -^A 17565,24795,0,546,2412,546 2 3778 -`E 17565,24795,0,1974,1428,913 2 3784 -^E 17565,24795,0,1974,1428,913 2 3786 -:E 17565,23955,0,1974,1428,913 2 3787 -^I 10245,24795,0,3930,1338,913 2 3790 -:I 10245,23955,0,4875,1338,913 2 3791 -aa 13173,19065,0,786,-5055,786 2 3764 -ga 13173,19065,0,0,-3540 2 3680 -a^ 13173,19065,0,417,-2931,417 2 3678 +a 13173,12735,405,1059,1059,913 0 161121 -- MSL 67 (19U 97) +b 13173,18540,405,876,948,876 2 161122 -- MSL 68 (19U 98) +c 11709,12735,405,900,435,900 0 161123 -- MSL 69 (19U 99) +d 13173,18540,405,2541,1068,913 2 161124 -- MSL 70 (19U 100) +e 11709,12735,405,687,390,687 0 161125 -- MSL 71 (19U 101) +f 9270,18540,5490,4809,4866,913 3 161126 -- MSL 72 (19U 102) +g 13173,12735,5490,1500,1977,913 1 161127 -- MSL 73 (19U 103) +h 14637,18540,405,345,1146,345 2 161128 -- MSL 74 (19U 104) +i 7317,18585,405,1734,783,913 2 161129 -- MSL 75 (19U 105) +j 7317,18585,5490,2319,5745,913 3 161130 -- MSL 76 (19U 106) +k 13173,18540,405,1923,1194,913 2 161131 -- MSL 77 (19U 107) +l 7317,18540,405,2166,843,913 2 161132 -- MSL 78 (19U 108) +m 20490,12735,405,630,1101,630 0 161133 -- MSL 79 (19U 109) +n 14637,12735,405,321,954,321 0 161134 -- MSL 80 (19U 110) +o 13173,12735,405,675,714,675 0 161135 -- MSL 81 (19U 111) +p 13173,12735,5490,843,3888,843 1 161136 -- MSL 82 (19U 112) +q 13173,12735,5490,1317,672,913 1 161137 -- MSL 83 (19U 113) +r 10245,12783,0,2421,1005,913 0 161138 -- MSL 84 (19U 114) +s 10245,12735,405,885,891,885 0 161139 -- MSL 85 (19U 115) +t 7317,15870,405,2289,1056,913 0 161140 -- MSL 86 (19U 116) +u 14637,12735,405,426,279,426 0 161141 -- MSL 87 (19U 117) +v 11709,12735,405,1068,153,913 0 161142 -- MSL 88 (19U 118) +w 17565,12735,405,822,75,822 0 161143 -- MSL 89 (19U 119) +x 13173,12735,405,1137,1836,913 0 161144 -- MSL 90 (19U 120) +y 11709,12735,5490,543,3189,543 1 161145 -- MSL 91 (19U 121) +z 10245,12330,1935,1404,1839,913 0 161146 -- MSL 92 (19U 122) +{ 13173,19935,6210,3339,-971,913 3 161147 -- MSL 93 (19U 123) +lC " +| 13173,19758,6588,0,-4595 3 161148 -- MSL 94 (19U 124) +ba " +} 13173,19935,6210,63,2304,63 3 161149 -- MSL 95 (19U 125) +rC " +ti 26346,9435,0,0,-4028 0 161150 -- MSL 96 (19U 126) +`A 17565,24795,0,546,2412,546 2 161216 -- MSL 99 (19U 192) +^A 17565,24795,0,546,2412,546 2 161218 -- MSL 100 (19U 194) +`E 17565,24795,0,1974,1428,913 2 161224 -- MSL 101 (19U 200) +^E 17565,24795,0,1974,1428,913 2 161226 -- MSL 102 (19U 202) +:E 17565,23955,0,1974,1428,913 2 161227 -- MSL 103 (19U 203) +^I 10245,24795,0,3930,1338,913 2 161230 -- MSL 104 (19U 206) +:I 10245,23955,0,4875,1338,913 2 161231 -- MSL 105 (19U 207) +aa 13173,19065,0,786,-5054,786 2 161204 -- MSL 106 (19U 180) +ga 13173,19065,0,0,-3539 2 161120 -- MSL 107 (19U 96) +a^ 13173,19065,0,417,-2930,417 2 161160 -- MSL 108 (19U 136) ^ " -ad 13173,17820,0,1179,-2964,913 2 3752 -a~ 13173,17703,0,1884,-3213,913 2 3710 -~ " -`U 19029,24795,405,3249,-1455,913 2 3801 -^U 19029,24795,405,3249,-1455,913 2 3803 -'Y 16101,24795,0,3630,-1254,913 2 3805 -'y 11709,19065,5490,1518,3189,913 3 3837 -de 13173,18450,0,111,-2970,111 2 3760 -,C 17565,18594,5718,2331,-393,913 3 3783 -,c 11709,12735,5655,900,1278,900 1 3815 -~N 19029,23733,405,3270,1227,913 2 3793 -~n 14637,17703,405,1152,954,913 2 3825 -r! 10245,13050,5805,0,855 1 3745 -r? 13173,13050,5805,0,1680 1 3775 -Cs 13173,15834,0,2598,795,913 0 3748 -Po 13173,18450,429,2508,1473,913 2 3747 -Ye 13173,18045,0,5067,834,913 2 3749 -sc 13173,18450,3225,0,-597 2 3751 -Fn 13173,18540,5490,2607,3165,913 3 51871 -ct 13173,16914,0,1431,-684,913 2 3746 -^a 13173,19065,405,1059,1059,913 2 3810 -^e 11709,19065,405,1149,390,913 2 3818 -^o 13173,19065,405,675,714,675 2 3828 -^u 14637,19065,405,426,279,426 2 3835 -'a 13173,19065,405,1059,1059,913 2 3809 -'e 11709,19065,405,1518,390,913 2 3817 -'o 13173,19065,405,786,714,786 2 3827 -'u 14637,19065,405,426,279,426 2 3834 -`a 13173,19065,405,1059,1059,913 2 3808 -`e 11709,19065,405,687,390,687 2 3816 -`o 13173,19065,405,675,714,675 2 3826 -`u 14637,19065,405,426,279,426 2 3833 -:a 13173,17820,405,1179,1059,913 2 3812 -:e 11709,17820,405,1911,390,913 2 3819 -:o 13173,17820,405,1179,714,913 2 3830 -:u 14637,17820,405,447,279,447 2 3836 -oA 17565,24750,0,546,2412,546 2 3781 -^i 7317,19065,405,3345,723,913 2 3822 -/O 19029,18450,405,3702,2070,913 2 3800 -AE 24396,18045,0,2730,2331,913 2 3782 -oa 13173,19020,405,1059,1059,913 2 3813 -'i 7317,19065,405,3714,723,913 2 3821 -/o 13173,12735,405,2199,2256,913 0 3832 -ae 18540,12735,405,876,1074,876 0 3814 -:A 17565,23955,0,765,2412,765 2 3780 -`i 7317,19065,405,1749,723,913 2 3820 -:O 19029,23955,405,1503,-183,913 2 3798 -:U 19029,23955,405,3249,-1455,913 2 3804 -'E 17565,24795,0,1974,1428,913 2 3785 -:i 7317,17820,405,4107,723,913 2 3823 -ss 13173,18540,5490,1572,5862,913 3 3807 -^O 19029,24795,405,1503,-183,913 2 3796 -'A 17565,24795,0,567,2412,567 2 3777 -~A 17565,23733,0,966,2412,913 2 3779 -~a 13173,17703,405,1884,1059,913 2 3811 --D 19029,18045,0,1707,1611,913 2 3792 -Sd 13173,18540,405,2235,708,913 2 3824 -'I 10245,24795,0,4227,1338,913 2 3789 -`I 10245,24795,0,2997,1338,913 2 3788 -'O 19029,24795,405,1503,-183,913 2 3795 -`O 19029,24795,405,1503,-183,913 2 3794 -~O 19029,23733,405,1503,-183,913 2 3797 -~o 13173,17703,405,1884,714,913 2 3829 -vS 14637,24798,510,2061,543,913 2 51795 -vs 10245,19065,405,2856,891,913 2 51827 -'U 19029,24795,405,3249,-1455,913 2 3802 -:Y 16101,23955,0,3630,-1254,913 2 51801 -:y 11709,17820,5490,1311,3189,913 3 3839 -TP 16101,18045,0,1203,1227,913 2 3806 -Tp 13173,18540,5490,843,3888,843 3 3838 -mc 14637,10800,5193,582,756,582 1 3765 -ps 13173,19635,4200,1350,-1008,913 2 3766 -34 23418,18450,405,0,-1899 2 3774 -\- 23418,9000,0,0,-3315 0 51757 -14 23418,18450,405,0,-1572 2 3772 -12 23418,18450,405,0,-1311 2 3773 -Of 13173,18450,0,1368,-2397,913 2 3754 -Om 13173,18450,0,744,-2295,744 2 3770 -Fo 11709,10200,0,1158,567,913 0 3755 -Fc 11709,10200,0,615,1110,615 0 3771 -t+- 23418,15975,2880,0,-2883 0 3761 -bb 13173,19083,5916,0,-4596 3 3750 -co 13173,19725,0,4398,-2574,913 2 3753 -tno 23418,12225,0,0,-4023 0 3756 -rg 13173,19725,0,4398,-2574,913 2 3758 -S2 8781,18285,0,1911,-213,913 2 3762 -S3 8781,18285,0,1980,-552,913 2 3763 -ac 13173,0,5655,0,546 1 3768 -S1 8781,18285,0,1173,-471,913 2 3769 -tmu 23418,15033,0,0,-3690 0 3799 -tdi 23418,14505,0,0,-3327 0 3831 -pc 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 -a- 13173,16860,0,1341,-2904,913 2 3759 -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 +ad 13173,17820,0,1179,-2963,913 2 161192 -- MSL 109 (19U 168) +~ 13173,17703,0,1884,-3212,913 2 161176 -- MSL 110 (19U 152) +a~ " +`U 19029,24795,405,3249,-1454,913 2 161241 -- MSL 111 (19U 217) +^U 19029,24795,405,3249,-1454,913 2 161243 -- MSL 112 (19U 219) +u00AF 13173,21105,0,1317,1317,913 2 161199 -- MSL 113 (19U 175) +'Y 16101,24795,0,3630,-1253,913 2 161245 -- MSL 114 (19U 221) +'y 11709,19065,5490,1518,3189,913 3 161277 -- MSL 115 (19U 253) +de 13173,18450,0,111,-2969,111 2 161200 -- MSL 116 (19U 176) +,C 17565,18594,5718,2331,-392,913 3 161223 -- MSL 117 (19U 199) +,c 11709,12735,5655,900,1278,900 1 161255 -- MSL 118 (19U 231) +~N 19029,23733,405,3270,1227,913 2 161233 -- MSL 119 (19U 209) +~n 14637,17703,405,1152,954,913 2 161265 -- MSL 120 (19U 241) +r! 10245,13050,5805,0,855 1 161185 -- MSL 121 (19U 161) +r? 13173,13050,5805,0,1680 1 161215 -- MSL 122 (19U 191) +Cs 13173,15834,0,2598,795,913 0 161188 -- MSL 123 (19U 164) +Po 13173,18450,429,2508,1473,913 2 161187 -- MSL 124 (19U 163) +Ye 13173,18045,0,5067,834,913 2 161189 -- MSL 125 (19U 165) +sc 13173,18450,3225,0,-596 2 161191 -- MSL 126 (19U 167) +Fn 13173,18540,5490,2607,3165,913 3 161155 -- MSL 127 (19U 131) +ct 13173,16914,0,1431,-683,913 2 161186 -- MSL 128 (19U 162) +^a 13173,19065,405,1059,1059,913 2 161250 -- MSL 129 (19U 226) +^e 11709,19065,405,1149,390,913 2 161258 -- MSL 130 (19U 234) +^o 13173,19065,405,675,714,675 2 161268 -- MSL 131 (19U 244) +^u 14637,19065,405,426,279,426 2 161275 -- MSL 132 (19U 251) +'a 13173,19065,405,1059,1059,913 2 161249 -- MSL 133 (19U 225) +'e 11709,19065,405,1518,390,913 2 161257 -- MSL 134 (19U 233) +'o 13173,19065,405,786,714,786 2 161267 -- MSL 135 (19U 243) +'u 14637,19065,405,426,279,426 2 161274 -- MSL 136 (19U 250) +`a 13173,19065,405,1059,1059,913 2 161248 -- MSL 137 (19U 224) +`e 11709,19065,405,687,390,687 2 161256 -- MSL 138 (19U 232) +`o 13173,19065,405,675,714,675 2 161266 -- MSL 139 (19U 242) +`u 14637,19065,405,426,279,426 2 161273 -- MSL 140 (19U 249) +:a 13173,17820,405,1179,1059,913 2 161252 -- MSL 141 (19U 228) +:e 11709,17820,405,1911,390,913 2 161259 -- MSL 142 (19U 235) +:o 13173,17820,405,1179,714,913 2 161270 -- MSL 143 (19U 246) +:u 14637,17820,405,447,279,447 2 161276 -- MSL 144 (19U 252) +oA 17565,24750,0,546,2412,546 2 161221 -- MSL 145 (19U 197) +^i 7317,19065,405,3345,723,913 2 161262 -- MSL 146 (19U 238) +/O 19029,18450,405,3702,2070,913 2 161240 -- MSL 147 (19U 216) +AE 24396,18045,0,2730,2331,913 2 161222 -- MSL 148 (19U 198) +oa 13173,19020,405,1059,1059,913 2 161253 -- MSL 149 (19U 229) +'i 7317,19065,405,3714,723,913 2 161261 -- MSL 150 (19U 237) +/o 13173,12735,405,2199,2256,913 0 161272 -- MSL 151 (19U 248) +ae 18540,12735,405,876,1074,876 0 161254 -- MSL 152 (19U 230) +:A 17565,23955,0,765,2412,765 2 161220 -- MSL 153 (19U 196) +`i 7317,19065,405,1749,723,913 2 161260 -- MSL 154 (19U 236) +:O 19029,23955,405,1503,-182,913 2 161238 -- MSL 155 (19U 214) +:U 19029,23955,405,3249,-1454,913 2 161244 -- MSL 156 (19U 220) +'E 17565,24795,0,1974,1428,913 2 161225 -- MSL 157 (19U 201) +:i 7317,17820,405,4107,723,913 2 161263 -- MSL 158 (19U 239) +ss 13173,18540,5490,1572,5862,913 3 161247 -- MSL 159 (19U 223) +^O 19029,24795,405,1503,-182,913 2 161236 -- MSL 160 (19U 212) +'A 17565,24795,0,567,2412,567 2 161217 -- MSL 161 (19U 193) +~A 17565,23733,0,966,2412,913 2 161219 -- MSL 162 (19U 195) +~a 13173,17703,405,1884,1059,913 2 161251 -- MSL 163 (19U 227) +-D 19029,18045,0,1707,1611,913 2 161232 -- MSL 164 (19U 208) +Sd 13173,18540,405,2235,708,913 2 161264 -- MSL 165 (19U 240) +'I 10245,24795,0,4227,1338,913 2 161229 -- MSL 166 (19U 205) +`I 10245,24795,0,2997,1338,913 2 161228 -- MSL 167 (19U 204) +'O 19029,24795,405,1503,-182,913 2 161235 -- MSL 168 (19U 211) +`O 19029,24795,405,1503,-182,913 2 161234 -- MSL 169 (19U 210) +~O 19029,23733,405,1503,-182,913 2 161237 -- MSL 170 (19U 213) +~o 13173,17703,405,1884,714,913 2 161269 -- MSL 171 (19U 245) +vS 14637,24798,510,2061,543,913 2 161162 -- MSL 172 (19U 138) +vs 10245,19065,405,2856,891,913 2 161178 -- MSL 173 (19U 154) +'U 19029,24795,405,3249,-1454,913 2 161242 -- MSL 174 (19U 218) +:Y 16101,23955,0,3630,-1253,913 2 161183 -- MSL 175 (19U 159) +:y 11709,17820,5490,1311,3189,913 3 161279 -- MSL 176 (19U 255) +TP 16101,18045,0,1203,1227,913 2 161246 -- MSL 177 (19U 222) +Tp 13173,18540,5490,843,3888,843 3 161278 -- MSL 178 (19U 254) +mc 14637,10800,5193,582,756,582 1 161205 -- MSL 180 (19U 181) +ps 13173,19635,4200,1350,-1007,913 2 161206 -- MSL 181 (19U 182) +34 23418,18450,405,0,-1898 2 161214 -- MSL 182 (19U 190) +\- 23418,9000,0,0,-3314 0 60096 -- MSL 183 ( 7J 192) +14 23418,18450,405,0,-1571 2 161212 -- MSL 184 (19U 188) +12 23418,18450,405,0,-1310 2 161213 -- MSL 185 (19U 189) +Of 13173,18450,0,1368,-2396,913 2 161194 -- MSL 186 (19U 170) +Om 13173,18450,0,744,-2294,744 2 161210 -- MSL 187 (19U 186) +Fo 11709,10200,0,1158,567,913 0 161195 -- MSL 188 (19U 171) +Fc 11709,10200,0,615,1110,615 0 161211 -- MSL 190 (19U 187) +t+- 23418,15975,2880,0,-2882 0 161201 -- MSL 191 (19U 177) +bb 13173,19083,5916,0,-4595 3 161190 -- MSL 192 (19U 166) +co 13173,19725,0,4398,-2573,913 2 161193 -- MSL 193 (19U 169) +tno 23418,12225,0,0,-4022 0 161196 -- MSL 194 (19U 172) +u00AD 8781,7740,0,660,426,660 0 161197 -- MSL 195 (19U 173) +rg 13173,19725,0,4398,-2573,913 2 161198 -- MSL 196 (19U 174) +S2 8781,18285,0,1911,-212,913 2 161202 -- MSL 197 (19U 178) +S3 8781,18285,0,1980,-551,913 2 161203 -- MSL 198 (19U 179) +ac 13173,0,5655,0,546 1 161208 -- MSL 199 (19U 184) +S1 8781,18285,0,1173,-470,913 2 161209 -- MSL 200 (19U 185) +tmu 23418,15033,0,0,-3689 0 161239 -- MSL 201 (19U 215) +tdi 23418,14505,0,0,-3326 0 161271 -- MSL 202 (19U 247) +u203C 16593,18450,405,963,-452,913 2 87315 -- MSL 221 (10U 19) +u20A7 23418,18045,405,2289,1233,913 2 60121 -- MSL 232 ( 7J 217) +pc 8781,11121,0,0,-1898 0 161207 -- MSL 302 (19U 183) +u013F 16101,18045,0,1188,1815,913 2 51943 -- MSL 306 ( 6J 231) +u0140 9270,18540,405,2466,843,913 2 51959 -- MSL 307 ( 6J 247) +u2113 13173,18045,765,0,-854 2 60122 -- MSL 308 ( 7J 218) +u0149 19518,18450,405,321,117,321 2 51951 -- MSL 309 ( 6J 239) +fm 8781,18450,0,930,-3341,913 2 60101 -- MSL 310 ( 7J 197) +sd 13173,18450,0,873,-3341,873 2 60102 -- MSL 311 ( 7J 198) +dg 13173,18450,3075,1344,-1187,913 2 161158 -- MSL 312 (19U 134) +tm 16101,17550,0,4884,-2534,913 2 161177 -- MSL 313 (19U 153) +u2017 13173,0,6588,1317,1317,913 1 60095 -- MSL 314 ( 7J 191) +ah 13173,19065,0,1392,-3905,913 2 75169 -- MSL 315 ( 9E 161) +ao 13173,19020,0,0,-4268 2 60152 -- MSL 316 ( 7J 248) +f/ 3402,18450,405,8832,6945,913 2 60109 -- MSL 324 ( 7J 205) +em 23418,7200,0,609,459,609 0 161175 -- MSL 325 (19U 151) +en 13173,7200,0,624,459,624 0 161174 -- MSL 326 (19U 150) +dd 13173,18450,3075,939,-782,913 2 161159 -- MSL 327 (19U 135) +.i 7317,12735,405,825,723,825 0 46333 -- MSL 328 ( 5T 253) +aq 8781,18450,0,1065,-3146,913 2 161063 -- MSL 329 (19U 39) +bu 13173,14226,0,0,-497 0 161173 -- MSL 331 (19U 149) +u207F 13173,18285,0,1626,-851,913 2 87548 -- MSL 332 (10U 252) +u0111 13173,18540,405,2733,1098,913 2 75248 -- MSL 342 ( 9E 240) +u0041_0306 17565,24285,0,774,2412,774 2 75203 -- MSL 400 ( 9E 195) +u0061_0306 13173,18570,405,1581,1059,913 2 75235 -- MSL 401 ( 9E 227) +u0041_0328 17565,18450,2874,546,2412,546 2 75173 -- MSL 404 ( 9E 165) +u0061_0328 13173,12735,3249,1059,1059,913 0 75193 -- MSL 405 ( 9E 185) +'C 17565,24795,405,2331,-392,913 2 75206 -- MSL 406 ( 9E 198) +'c 11709,19065,405,1518,435,913 2 75238 -- MSL 407 ( 9E 230) +u0041_030C 17565,24798,405,2331,-392,913 2 75208 -- MSL 410 ( 9E 200) +u0061_030C 11709,19065,405,2772,435,913 2 75240 -- MSL 411 ( 9E 232) +u0044_030C 19029,24798,0,1707,1611,913 2 75215 -- MSL 414 ( 9E 207) +u0064_030C 17076,19050,405,2988,1068,913 2 75247 -- MSL 415 ( 9E 239) +u0045_030C 17565,24798,0,1974,1428,913 2 75212 -- MSL 416 ( 9E 204) +u0065_030C 11709,19065,405,2934,390,913 2 75244 -- MSL 417 ( 9E 236) +u0045_0328 17565,18045,2874,1974,1428,913 2 75210 -- MSL 422 ( 9E 202) +u0065_0328 11709,12735,3249,687,390,687 0 75242 -- MSL 423 ( 9E 234) +u004C_0301 16101,24795,0,1188,1815,913 2 75205 -- MSL 440 ( 9E 197) +u006C_0301 7317,24915,405,5295,843,913 2 75237 -- MSL 441 ( 9E 229) +u004C_030C 16101,19050,0,1611,1815,913 2 75196 -- MSL 442 ( 9E 188) +u006C_030C 10734,19050,405,3021,843,913 2 75198 -- MSL 443 ( 9E 190) +u004E_0301 19029,24795,405,3270,1227,913 2 75217 -- MSL 446 ( 9E 209) +u006E_0301 14637,19065,405,321,954,321 2 75249 -- MSL 447 ( 9E 241) +u004E_030C 19029,24798,405,3270,1227,913 2 75218 -- MSL 448 ( 9E 210) +u006E_030C 14637,19065,405,660,954,660 2 75250 -- MSL 449 ( 9E 242) +u004F_030B 19029,24795,405,2526,-182,913 2 75221 -- MSL 452 ( 9E 213) +u006F_030B 13173,19065,405,4053,714,913 2 75253 -- MSL 453 ( 9E 245) +u0052_0301 17565,24795,0,1260,1188,913 2 75200 -- MSL 456 ( 9E 192) +u0072_0301 10245,19065,0,2574,1005,913 2 75232 -- MSL 457 ( 9E 224) +u0052_030C 17565,24798,0,1260,1188,913 2 75224 -- MSL 458 ( 9E 216) +u0072_030C 10245,19065,0,3018,1005,913 2 75256 -- MSL 459 ( 9E 248) +u0053_0301 14637,24795,510,1452,543,913 2 75148 -- MSL 462 ( 9E 140) +u0073_0301 10245,19065,405,2250,891,913 2 75164 -- MSL 463 ( 9E 156) +u0054_030C 16101,24798,0,3513,-962,913 2 75149 -- MSL 466 ( 9E 141) +u0074_030C 10245,19050,405,3108,1056,913 2 75165 -- MSL 467 ( 9E 157) +u0054_0327 16101,18045,5718,3513,-962,913 3 75230 -- MSL 468 ( 9E 222) +u0074_0327 7317,15870,5655,2289,3636,913 1 75262 -- MSL 469 ( 9E 254) +u0055_030B 19029,24795,405,3249,-1454,913 2 75227 -- MSL 474 ( 9E 219) +u0075_030B 14637,19065,405,2997,279,913 2 75259 -- MSL 475 ( 9E 251) +u0055_030A 19029,24750,405,3249,-1454,913 2 75225 -- MSL 476 ( 9E 217) +u0075_030A 14637,19020,405,426,279,426 2 75257 -- MSL 477 ( 9E 249) +u005A_0301 16101,24795,0,1923,876,913 2 75151 -- MSL 482 ( 9E 143) +u007A_0301 10245,19065,1935,2250,1839,913 2 75167 -- MSL 483 ( 9E 159) +u005A_0307 16101,23955,0,1923,876,913 2 75183 -- MSL 484 ( 9E 175) +u007A_0307 10245,17820,1935,1404,1839,913 2 75199 -- MSL 485 ( 9E 191) +u2070 8781,18285,0,2436,-785,913 2 51753 -- MSL 1000 ( 6J 41) +u2074 8781,18285,0,2547,-113,913 2 51748 -- MSL 1001 ( 6J 36) +u2075 8781,18045,0,2496,-473,913 2 51749 -- MSL 1002 ( 6J 37) +u2076 8781,18285,0,2868,-911,913 2 51806 -- MSL 1003 ( 6J 94) +u2077 8781,18045,0,3444,-1556,913 2 51750 -- MSL 1004 ( 6J 38) +u2078 8781,18285,0,2400,-629,913 2 51754 -- MSL 1005 ( 6J 42) +u2079 8781,18285,0,2304,-347,913 2 51752 -- MSL 1006 ( 6J 40) +lq 14148,18450,0,1974,-2789,913 2 161171 -- MSL 1017 (19U 147) +rq 14148,18450,0,1974,-2789,913 2 161172 -- MSL 1018 (19U 148) +Bq 14148,3651,4689,0,1425 0 161156 -- MSL 1019 (19U 132) +u2003 23418,0,0,0,1317 0 51821 -- MSL 1020 ( 6J 109) +u2002 13173,0,0,0,1317 0 51822 -- MSL 1021 ( 6J 110) +u2009 8781,0,0,0,1317 0 51828 -- MSL 1023 ( 6J 116) +u2026 23418,3510,0,0,147 0 161157 -- MSL 1028 (19U 133) +vz 10245,19065,1935,2856,1839,913 2 75166 -- MSL 1031 ( 9E 158) +u2120 16101,17703,0,4137,-2579,913 2 128299 -- MSL 1034 (15U 43) +u211E 20001,18315,4056,465,-1163,465 2 51794 -- MSL 1036 ( 6J 82) +fi 15126,18540,5490,726,5055,726 3 60077 -- MSL 1040 ( 7J 173) +fl 15126,18540,5490,2328,5034,913 3 60078 -- MSL 1041 ( 7J 174) +ff 15126,18540,5490,5574,5268,913 3 51883 -- MSL 1042 ( 6J 171) +Fi 21954,18540,5490,738,5223,738 3 51884 -- MSL 1043 ( 6J 172) +Fl 21954,18540,5490,1959,5583,913 3 51885 -- MSL 1044 ( 6J 173) +ij 14148,18585,5490,2271,783,913 3 60134 -- MSL 1047 ( 7J 230) +u2105 23418,18450,405,534,-1265,534 2 60072 -- MSL 1060 ( 7J 168) +u0047_0306 19029,24285,405,1863,-11,913 2 46288 -- MSL 1061 ( 5T 208) +u0067_0306 13173,18570,5490,1500,1977,913 3 46320 -- MSL 1062 ( 5T 240) +u0053_0327 14637,18525,5718,1452,543,913 3 75178 -- MSL 1063 ( 9E 170) +u0073_0327 10245,12735,5655,885,2010,885 1 75194 -- MSL 1064 ( 9E 186) +u0049_0307 10245,23955,0,2997,1338,913 2 46301 -- MSL 1065 ( 5T 221) +bq 8781,3651,4689,0,510 0 161154 -- MSL 1067 (19U 130) +%0 32202,18237,405,612,-1121,612 2 161161 -- MSL 1068 (19U 137) +a- 13173,16860,0,1341,-2903,913 2 60154 -- MSL 1084 ( 7J 250) +ab 13173,18570,0,1281,-3689,913 2 75170 -- MSL 1086 ( 9E 162) +a. 13173,17820,0,0,-5588 2 75263 -- MSL 1088 ( 9E 255) +oe 19515,12735,405,462,462,462 0 161180 -- MSL 1090 (19U 156) +OE 28299,18450,405,1695,-155,913 2 161164 -- MSL 1091 (19U 140) +fo 7317,10200,0,1035,567,913 0 161163 -- MSL 1092 (19U 139) +fc 7317,10200,0,618,984,618 0 161179 -- MSL 1093 (19U 155) +sq 19029,15624,0,0,-2021 0 60091 -- MSL 1094 ( 7J 187) +/L 16101,18045,0,1188,1815,913 2 75171 -- MSL 1095 ( 9E 163) +/l 7317,18540,405,2622,1539,913 2 75187 -- MSL 1096 ( 9E 179) +a" 13173,19065,0,4053,-3626,913 2 75197 -- MSL 1097 ( 9E 189) +ho 13173,681,3249,420,-4388,420 0 75186 -- MSL 1098 ( 9E 178) +vZ 16101,24798,0,1923,876,913 2 75150 -- MSL 1106 ( 9E 142) +IJ 23418,18045,405,2652,1338,913 2 60135 -- MSL 1107 ( 7J 231) diff -ruN groff-1.19/font/devlj4/TI groff-1.19.1/font/devlj4/TI --- groff-1.19/font/devlj4/TI Tue Feb 25 06:38:56 2003 +++ groff-1.19.1/font/devlj4/TI Wed Feb 18 10:01:17 2004 @@ -1,3 +1,4 @@ +# CG Times It name TI spacewidth 7806 slant 15.600000 @@ -7,1013 +8,1083 @@ 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 cq -1950 -L ' -1950 -T hy -486 -T - -486 -T en -486 -T em -486 -A cq -2439 -A ' -2439 -hy T -486 -- T -486 -en T -486 -em T -486 -Y hy -1950 -Y - -1950 -Y en -1950 -Y em -1950 -p cq -1950 -p ' -1950 -c cq -1461 -c ' -1461 -e cq -1950 -e ' -1950 -b cq -1950 -b ' -1950 -V hy -1950 -V - -1950 -V en -1950 -V em -1950 -h cq -975 -h ' -975 -n cq -975 -n ' -975 -m cq -975 -m ' -975 -R cq -1461 -R ' -1461 -W hy -2439 -W - -2439 -W en -2439 -W em -2439 -cq d -1461 -' d -1461 -F hy -1950 -F - -1950 -F en -1950 -F em -1950 -X hy -1950 -X - -1950 -X en -1950 -X em -1950 -A hy -1461 -A - -1461 -A en -1461 -A em -1461 -K hy -1950 -K - -1950 -K en -1950 -K em -1950 -cq s -486 -' s -486 -hy X -1461 -- X -1461 -hy A -975 -- A -975 -en X -1461 -en A -975 -em X -1461 -R hy -975 -R - -975 -R en -975 -R em -975 -K cq -486 -K ' -486 -t g -975 -v cq -486 -v ' -486 -b f -486 -y cq -486 -y ' -486 -w cq -486 -w ' -486 -k cq -975 -k ' -975 -P cq -486 -P ' -486 -P hy -975 -P - -975 -P en -975 -P em -975 -E cq -486 -E ' -486 -E hy -975 -E - -975 -E en -975 -E em -975 -B cq -486 -B ' -486 -J cq -486 -J ' -486 -J hy -486 -J - -486 -J en -486 -J em -486 -U cq -486 -U ' -486 -v hy -486 -v - -486 -v en -486 -v em -486 -y hy -486 -y - -486 -y en -486 -y em -486 -w hy -486 -w - -486 -w en -486 -w em -486 -B hy -486 -B - -486 -B en -486 -B em -486 -U hy -486 -U - -486 -U en -486 -U em -486 -hy g -486 -- g -486 -en g -486 -em g -486 +L V -1949 +P . -4388 +P , -4388 +V A -2924 +A V -2924 +T o -1949 +T r -485 +T c -1460 +T e -1949 +T d -1949 +T s -974 +T y -485 +T a -1949 +T w -485 +T u -485 +T J -1460 +L T -1949 +L Y -1949 +Y o -3413 +Y e -3413 +Y a -3413 +Y J -1460 +A W -2924 +W A -3413 +T A -2438 +V o -1949 +V e -1949 +V a -1949 +Y A -2438 +F A -3902 +F . -3902 +F , -3902 +A T -2438 +A Y -2438 +v . -2438 +v , -2438 +y . -2438 +y , -2438 +T . -2438 +T , -2438 +L W -1949 +P A -3413 +V J -1460 +V . -3902 +V , -3902 +Y . -2438 +Y , -2438 +W o -2438 +W e -2438 +W a -2438 +W . -3902 +W , -3902 +r . -2438 +r , -2438 +w . -2438 +w , -2438 +Y u -1949 +A v -2438 +A y -2438 +A w -2438 +o . -1460 +o , -1460 +p . -1460 +p , -1460 +e . -974 +e , -974 +b . -1460 +b , -1460 +O T -485 +O V -1460 +O Y -1949 +O . -2438 +O , -2438 +L y -974 +P J -1949 +V y -1949 +V u -1949 +V O -1949 +V G -1949 +V C -1949 +V Q -1949 +D T -485 +D V -1460 +D Y -1949 +D . -2438 +D , -2438 +Y O -1949 +Y G -1949 +Y C -1949 +Y Q -1949 +F o -2924 +F e -2924 +F a -2924 +c . -974 +c , -974 +O A -974 +O W -1460 +L U -485 +R T -1460 +R V -1460 +R Y -1460 +R W -1460 +G T -485 +P o -2438 +P g -2438 +P e -2438 +P a -2438 +C A -974 +C . -974 +C , -974 +D A -974 +D W -1460 +B T -974 +B Y -2438 +B . -1949 +B , -1949 +F J -1460 +A O -1460 +A G -1460 +A C -1460 +A U -1949 +A Q -1460 +W r -2438 +W y -2438 +W u -2438 +W O -2438 +W G -2438 +W C -2438 +W J -1460 +W Q -2438 +J A -1460 +J . -1460 +J , -1460 +U A -1460 +U . -2438 +U , -2438 +Q A -974 +Q W -1460 +f . -485 +f , -485 +T O -485 +T G -485 +T C -485 +T Q -485 +O X -1460 +G V -1460 +G Y -1949 +G W -1460 +G . -974 +G , -974 +P T -485 +P V -485 +P Y -485 +C T -485 +C V -485 +C Y -485 +D X -1460 +B V -1949 +B X -1949 +B A -1460 +B W -1949 +S . -485 +S , -485 +F r -1949 +F y -1949 +F u -1949 +F O -1949 +F G -1949 +F C -1949 +F Q -1949 +X o -1949 +X e -1949 +X y -1949 +X O -1949 +X G -1949 +X C -1949 +X Q -1949 +A o -1460 +A e -1460 +Q X -1460 +K o -1949 +K e -1949 +K y -1949 +K w -1949 +K O -1949 +K G -1949 +K C -1949 +K Q -1949 +o v -974 +o y -974 +o x -485 +o w -974 +h v -974 +h y -974 +n v -974 +n y -974 +m v -974 +m y -974 +r g -1460 +g . -485 +g , -485 +p v -974 +p y -974 +p x -485 +c v -974 +c y -974 +c w -974 +v o -485 +v g -974 +v c -485 +v d -485 +v a -485 +v q -485 +e v -974 +e y -974 +b v -974 +b y -974 +b w -974 +s . -485 +s , -485 +y o -485 +y g -974 +y c -485 +y d -485 +y a -485 +y q -485 +f g -485 +x o -485 +x g -485 +x c -485 +x e -485 +x d -485 +x a -485 +x q -485 +w o -485 +w g -974 +w c -485 +w d -485 +w a -485 +w q -485 +T i -485 +T S -485 +R o -974 +R y -1460 +R O -974 +R G -974 +R C -974 +R U -1460 +R Q -974 +G X -974 +G A -974 +P s -1460 +P Z -485 +P X -485 +P W -485 +C X -485 +C W -485 +V i -485 +V S -485 +S T -485 +S V -1460 +S Y -1460 +S X -485 +S A -485 +S W -1460 +Y i -485 +Y S -485 +X a -974 +X u -974 +X S -485 +A t -974 +A g -485 +A c -1460 +A d -1460 +A a -974 +A u -974 +A q -1460 +A S -1460 +W i -485 +W S -485 +J y -485 +K c -1460 +K u -974 +K S -974 +t g -974 +t . -485 +t , -485 +o f -485 +h w -974 +n w -974 +m w -974 +r o -974 +r c -974 +r e -974 +r d -974 +r a -974 +r q -974 +g g -974 +p f -485 +p w -974 +c f -485 +c x -485 +v e -485 +v s -485 +e f -485 +e x -485 +e w -974 +b f -485 +y e -485 +y s -485 +w e -485 +w s -485 +k g -485 +k v -974 +k y -974 +k w -974 +R e -974 +R a -974 +R u -974 +R S -974 +P t -974 +P h -485 +P n -974 +P l -485 +P r -974 +P i -974 +P y -974 +P u -974 +P O -974 +P H -485 +P N -485 +P M -485 +P L -485 +P R -485 +P G -974 +P I -485 +P P -485 +P C -974 +P E -485 +P D -485 +P B -485 +P S -974 +P F -485 +P U -974 +P Q -974 +P K -485 +E t -974 +E o -974 +E g -974 +E c -974 +E v -974 +E e -974 +E d -974 +E y -974 +E f -974 +E a -974 +E w -974 +E u -974 +E q -974 +E O -974 +E G -974 +E C -974 +E S -974 +E J -485 +E Q -974 +E . -485 +E , -485 +B Z -485 +B J -485 +F i -485 +F j -485 +F S -485 +J o -485 +J i -485 +J e -485 +J a -485 +J u -485 +J T -485 +J O -485 +J H -485 +J N -485 +J M -485 +J L -485 +J R -485 +J G -485 +J I -485 +J P -485 +J C -485 +J V -485 +J E -485 +J Z -485 +J D -485 +J B -485 +J S -485 +J Y -485 +J F -485 +J X -485 +J W -485 +J J -485 +J U -974 +J Q -485 +J K -485 +U g -974 +U J -485 +K a -974 +t o -485 +t c -485 +t e -485 +t d -485 +t s -485 +t a -485 +t q -485 +o g -485 +o z -485 +h g -485 +h f -485 +n g -485 +n f -485 +m g -485 +m f -485 +l g -485 +r s -485 +g o -485 +g c -485 +g e -485 +g d -485 +g s -485 +g a -485 +g q -485 +i g -485 +p g -485 +p z -485 +c g -485 +c z -485 +v t -485 +v h -485 +v n -485 +v m -485 +v r -485 +v i -485 +v p -485 +v z -485 +v b -485 +v y -485 +v f -485 +v x -485 +v w -485 +v j -485 +v u -485 +v k -485 +e g -485 +e z -485 +z o -485 +z g -485 +z c -485 +z e -485 +z d -485 +z a -485 +z q -485 +d g -485 +b g -485 +b z -485 +s g -485 +y t -485 +y h -485 +y n -485 +y m -485 +y l -485 +y r -485 +y i -485 +y p -485 +y v -485 +y z -485 +y b -485 +y y -485 +y f -485 +y x -485 +y w -485 +y j -485 +y u -485 +y k -485 +a g -485 +w t -485 +w h -485 +w n -485 +w m -485 +w l -485 +w r -485 +w i -485 +w p -485 +w v -485 +w z -485 +w b -485 +w y -485 +w f -485 +w x -485 +w w -485 +w j -485 +w u -485 +w k -485 +j g -485 +u g -485 +q g -485 +k f -485 +T U -485 +O g -485 +M g -485 +I g -485 +C U -485 +V U -485 +E n -485 +E m -485 +E l -485 +E r -485 +E i -485 +E p -485 +E z -485 +E b -485 +E s -485 +E x -485 +E j -485 +E k -485 +E T -485 +E H -485 +E N -485 +E M -485 +E L -485 +E R -485 +E I -485 +E P -485 +E V -485 +E E -485 +E Z -485 +E D -485 +E B -485 +E Y -485 +E F -485 +E X -485 +E A -485 +E W -485 +E U -974 +E K -485 +B o -485 +B h -485 +B l -485 +B r -485 +B i -485 +B e -485 +B y -485 +B a -485 +B u -485 +B O -485 +B H -485 +B N -485 +B M -485 +B L -485 +B R -485 +B G -485 +B I -485 +B P -485 +B C -485 +B E -485 +B D -485 +B B -485 +B S -485 +B F -485 +B U -974 +B Q -485 +B K -485 +Y U -485 +F U -485 +X U -485 +A b -485 +A f -485 +W U -485 +U t -485 +U o -485 +U h -485 +U n -485 +U m -485 +U l -485 +U r -485 +U i -485 +U p -485 +U c -485 +U v -485 +U e -485 +U z -485 +U d -485 +U b -485 +U s -485 +U y -485 +U f -485 +U x -485 +U a -485 +U w -485 +U j -485 +U q -485 +U k -485 +U T -485 +U O -485 +U H -485 +U N -485 +U M -485 +U L -485 +U R -485 +U G -485 +U I -485 +U P -485 +U C -485 +U V -485 +U E -485 +U Z -485 +U D -485 +U B -485 +U S -485 +U Y -485 +U F -485 +U X -485 +U W -485 +U U -974 +U Q -485 +U K -485 +K T -485 +K V -485 +K Y -485 +K W -485 +K U -974 +L cq -1949 +L ' -1949 +T hy -485 +T - -485 +T en -485 +T em -485 +A cq -2438 +A ' -2438 +hy T -485 +- T -485 +en T -485 +em T -485 +Y hy -1949 +Y - -1949 +Y en -1949 +Y em -1949 +p cq -1949 +p ' -1949 +c cq -1460 +c ' -1460 +e cq -1949 +e ' -1949 +b cq -1949 +b ' -1949 +V hy -1949 +V - -1949 +V en -1949 +V em -1949 +h cq -974 +h ' -974 +n cq -974 +n ' -974 +m cq -974 +m ' -974 +R cq -1460 +R ' -1460 +W hy -2438 +W - -2438 +W en -2438 +W em -2438 +cq d -1460 +' d -1460 +F hy -1949 +F - -1949 +F en -1949 +F em -1949 +X hy -1949 +X - -1949 +X en -1949 +X em -1949 +A hy -1460 +A - -1460 +A en -1460 +A em -1460 +K hy -1949 +K - -1949 +K en -1949 +K em -1949 +cq s -485 +' s -485 +hy X -1460 +- X -1460 +hy A -974 +- A -974 +en X -1460 +en A -974 +em X -1460 +R hy -974 +R - -974 +R en -974 +R em -974 +K cq -485 +K ' -485 +t g -974 +v cq -485 +v ' -485 +b f -485 +y cq -485 +y ' -485 +w cq -485 +w ' -485 +k cq -974 +k ' -974 +P cq -485 +P ' -485 +P hy -974 +P - -974 +P en -974 +P em -974 +E cq -485 +E ' -485 +E hy -974 +E - -974 +E en -974 +E em -974 +B cq -485 +B ' -485 +J cq -485 +J ' -485 +J hy -485 +J - -485 +J en -485 +J em -485 +U cq -485 +U ' -485 +v hy -485 +v - -485 +v en -485 +v em -485 +y hy -485 +y - -485 +y en -485 +y em -485 +w hy -485 +w - -485 +w en -485 +w em -485 +B hy -485 +B - -485 +B en -485 +B em -485 +U hy -485 +U - -485 +U en -485 +U em -485 +hy g -485 +- g -485 +en g -485 +em g -485 charset -! 8781,18225,330,1170,-693,899 2 3617 -dq 12684,18225,0,945,-4194,899 2 3618 +! 8781,18225,330,1170,-692,899 2 161057 -- MSL 1 (19U 33) +dq 12684,18225,0,945,-4193,899 2 161058 -- MSL 2 (19U 34) " " -sh 13173,18225,687,2103,-75,899 2 3619 +sh 13173,18225,687,2103,-74,899 2 161059 -- MSL 3 (19U 35) # " -Do 13173,19686,2730,1710,507,899 2 3620 +Do 13173,19686,2730,1710,507,899 2 161060 -- MSL 4 (19U 36) $ " -% 23418,18894,1026,0,-3054 2 3621 -& 20490,18225,330,0,-321 2 3622 -cq 8781,18225,0,1434,-3582,899 2 51751 +% 23418,18894,1026,0,-3053 2 161061 -- MSL 5 (19U 37) +& 20490,18225,330,0,-320 2 161062 -- MSL 6 (19U 38) +cq 8781,18225,0,1434,-3581,899 2 161170 -- MSL 8 (19U 146) ' " -( 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 -hy 8781,7155,0,468,153,468 0 3629 +( 8781,18225,4845,3531,-2057,899 2 161064 -- MSL 9 (19U 40) +) 8781,18225,4845,0,2067 2 161065 -- MSL 10 (19U 41) +* 13173,18225,0,927,-1580,899 2 161066 -- MSL 11 (19U 42) ++ 23418,15750,0,0,-2993 0 161067 -- MSL 12 (19U 43) +, 8781,2835,3360,0,648 0 161068 -- MSL 13 (19U 44) +hy 8781,7155,0,468,153,468 0 161069 -- MSL 14 (19U 45) - " -. 8781,2685,330,0,-633 0 3630 -sl 8781,18225,330,3183,801,899 2 3631 +. 8781,2685,330,0,-632 0 161070 -- MSL 15 (19U 46) +sl 8781,18225,330,3183,801,899 2 161071 -- MSL 16 (19U 47) / " -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 +0 13173,18225,330,1938,237,899 2 161072 -- MSL 17 (19U 48) +1 13173,18225,0,0,165 2 161073 -- MSL 18 (19U 49) +2 13173,18225,0,876,567,876 2 161074 -- MSL 19 (19U 50) +3 13173,18225,330,1020,645,899 2 161075 -- MSL 20 (19U 51) +4 13173,18225,0,1773,618,899 2 161076 -- MSL 21 (19U 52) +5 13173,17895,330,1362,1008,899 2 161077 -- MSL 22 (19U 53) +6 13173,18480,330,2085,147,899 2 161078 -- MSL 23 (19U 54) +7 13173,17895,330,4029,-1493,899 2 161079 -- MSL 24 (19U 55) +8 13173,18225,330,1827,306,899 2 161080 -- MSL 25 (19U 56) +9 13173,18225,570,1785,447,899 2 161081 -- MSL 26 (19U 57) +: 8781,11988,330,501,-632,501 0 161082 -- MSL 27 (19U 58) +; 8781,11988,3360,0,1074 0 161083 -- MSL 28 (19U 59) +< 26346,16068,0,0,-3980 0 161084 -- MSL 29 (19U 60) += 23418,10875,0,0,-3182 0 161085 -- MSL 30 (19U 61) +> 26346,16068,0,0,-3980 0 161086 -- MSL 31 (19U 62) +? 13173,18225,330,1362,-2849,899 2 161087 -- MSL 32 (19U 63) +at 23418,16980,3654,750,-227,750 2 161088 -- MSL 33 (19U 64) @ " -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 +A 16101,18225,0,33,2700,33 2 161089 -- MSL 34 (19U 65) +B 16101,17895,0,1116,1701,899 2 161090 -- MSL 35 (19U 66) +C 17565,18225,330,2700,-872,899 2 161091 -- MSL 36 (19U 67) +D 19029,17895,0,594,2298,594 2 161092 -- MSL 37 (19U 68) +E 16101,17895,0,2091,1800,899 2 161093 -- MSL 38 (19U 69) +F 15126,17895,0,3180,1725,899 2 161094 -- MSL 39 (19U 70) +G 19029,18225,330,2301,-605,899 2 161095 -- MSL 40 (19U 71) +H 19029,17895,0,3057,1614,899 2 161096 -- MSL 41 (19U 72) +I 8781,17895,0,3165,1716,899 2 161097 -- MSL 42 (19U 73) +J 11709,17895,330,2847,1797,899 2 161098 -- MSL 43 (19U 74) +K 17565,17895,0,3273,1425,899 2 161099 -- MSL 44 (19U 75) +L 14637,17895,0,1023,2487,899 2 161100 -- MSL 45 (19U 76) +M 21954,17895,0,2712,1983,899 2 161101 -- MSL 46 (19U 77) +N 17565,17895,330,3843,1578,899 2 161102 -- MSL 47 (19U 78) +O 19029,18225,330,1356,-491,899 2 161103 -- MSL 48 (19U 79) +P 16101,17895,0,1950,1116,899 2 161104 -- MSL 49 (19U 80) +Q 19029,18225,4761,1215,-350,899 2 161105 -- MSL 50 (19U 81) +R 16101,17895,0,1041,1926,899 2 161106 -- MSL 51 (19U 82) +S 13173,18225,330,2190,609,899 2 161107 -- MSL 52 (19U 83) +T 14637,17895,0,3939,-89,899 2 161108 -- MSL 53 (19U 84) +U 19029,17895,330,3246,-1634,899 2 161109 -- MSL 54 (19U 85) +V 16101,17895,330,4185,-1169,899 2 161110 -- MSL 55 (19U 86) +W 21954,17895,330,4353,-821,899 2 161111 -- MSL 56 (19U 87) +X 16101,17895,0,3276,2067,899 2 161112 -- MSL 57 (19U 88) +Y 14637,17895,0,4533,-1085,899 2 161113 -- MSL 58 (19U 89) +Z 14637,17895,0,2856,1710,899 2 161114 -- MSL 59 (19U 90) +lB 8781,17895,4380,4026,1575,899 2 161115 -- MSL 60 (19U 91) [ " -rs 8781,18225,330,0,-2229 2 3676 +rs 8781,18225,330,0,-2228 2 161116 -- MSL 61 (19U 92) \ " -rB 8781,17895,4380,1938,3663,899 2 3677 +rB 8781,17895,4380,1938,3663,899 2 161117 -- MSL 62 (19U 93) ] " -ha 13173,19758,0,36,36,36 2 51875 -_ 13173,0,6588,1317,1317,899 1 3679 -oq 8781,18225,0,1422,-3570,899 2 51808 +ha 13173,19758,0,36,36,36 2 161118 -- MSL 63 (19U 94) +_ 13173,0,6588,1317,1317,899 1 161119 -- MSL 64 (19U 95) +oq 8781,18225,0,1422,-3569,899 2 161169 -- MSL 66 (19U 145) ` " -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 -`A 16101,23955,0,33,2700,33 2 3776 -^A 16101,23955,0,1314,2700,899 2 3778 -`E 16101,23955,0,2091,1800,899 2 3784 -^E 16101,23955,0,2091,1800,899 2 3786 -:E 16101,23085,0,2091,1800,899 2 3787 -^I 8781,23955,0,3984,1716,899 2 3790 -:I 8781,23085,0,4665,1716,899 2 3791 -aa 13173,18399,0,141,-5400,141 2 3764 -ga 13173,18399,0,0,-4314 2 3680 -a^ 13173,18399,0,0,-3453 2 3678 +a 13173,12669,330,759,1044,759 0 161121 -- MSL 67 (19U 97) +b 13173,18300,330,732,1038,732 2 161122 -- MSL 68 (19U 98) +c 11709,12669,330,1275,318,899 0 161123 -- MSL 69 (19U 99) +d 13173,18300,330,2283,1065,899 2 161124 -- MSL 70 (19U 100) +e 11709,12669,330,1011,444,899 0 161125 -- MSL 71 (19U 101) +f 7317,18300,5655,5346,5535,899 3 161126 -- MSL 72 (19U 102) +g 13173,12669,5655,813,1281,813 1 161127 -- MSL 73 (19U 103) +h 13173,18300,330,750,1188,750 2 161128 -- MSL 74 (19U 104) +i 7317,18369,330,1002,435,899 2 161129 -- MSL 75 (19U 105) +j 7317,18369,5655,1212,5187,899 3 161130 -- MSL 76 (19U 106) +k 11709,18300,330,1941,1422,899 2 161131 -- MSL 77 (19U 107) +l 7317,18300,330,1731,276,899 2 161132 -- MSL 78 (19U 108) +m 19029,12669,330,1080,1098,899 0 161133 -- MSL 79 (19U 109) +n 13173,12669,330,786,1053,786 0 161134 -- MSL 80 (19U 110) +o 13173,12669,330,771,732,771 0 161135 -- MSL 81 (19U 111) +p 13173,12669,5655,471,3981,471 1 161136 -- MSL 82 (19U 112) +q 13173,12669,5655,1377,651,899 1 161137 -- MSL 83 (19U 113) +r 10245,12669,0,2094,429,899 0 161138 -- MSL 84 (19U 114) +s 10245,12669,330,786,1116,786 0 161139 -- MSL 85 (19U 115) +t 7317,15339,330,1908,672,899 0 161140 -- MSL 86 (19U 116) +u 13173,12669,330,747,468,747 0 161141 -- MSL 87 (19U 117) +v 11709,12684,330,1404,399,899 0 161142 -- MSL 88 (19U 118) +w 17565,12669,330,1461,720,899 0 161143 -- MSL 89 (19U 119) +x 11709,12669,330,1134,2592,899 0 161144 -- MSL 90 (19U 120) +y 11709,12669,5655,561,2538,561 1 161145 -- MSL 91 (19U 121) +z 10245,12339,2163,1122,1815,899 0 161146 -- MSL 92 (19U 122) +{ 11709,19935,6210,3360,-1691,899 3 161147 -- MSL 93 (19U 123) +lC " +| 13173,19758,6588,0,-4595 3 161148 -- MSL 94 (19U 124) +ba " +} 11709,19935,6210,0,2232 3 161149 -- MSL 95 (19U 125) +rC " +ti 26346,8952,0,0,-4028 0 161150 -- MSL 96 (19U 126) +`A 16101,23955,0,33,2700,33 2 161216 -- MSL 99 (19U 192) +^A 16101,23955,0,1314,2700,899 2 161218 -- MSL 100 (19U 194) +`E 16101,23955,0,2091,1800,899 2 161224 -- MSL 101 (19U 200) +^E 16101,23955,0,2091,1800,899 2 161226 -- MSL 102 (19U 202) +:E 16101,23085,0,2091,1800,899 2 161227 -- MSL 103 (19U 203) +^I 8781,23955,0,3984,1716,899 2 161230 -- MSL 104 (19U 206) +:I 8781,23085,0,4665,1716,899 2 161231 -- MSL 105 (19U 207) +aa 13173,18399,0,141,-5399,141 2 161204 -- MSL 106 (19U 180) +ga 13173,18399,0,0,-4313 2 161120 -- MSL 107 (19U 96) +a^ 13173,18399,0,0,-3452 2 161160 -- MSL 108 (19U 136) ^ " -ad 13173,17124,0,624,-4002,624 2 3752 -a~ 13173,17145,0,990,-3309,899 2 3710 -~ " -`U 19029,23955,330,3246,-1635,899 2 3801 -^U 19029,23955,330,3246,-1635,899 2 3803 -'Y 14637,23955,0,4533,-1086,899 2 3805 -'y 11709,18399,5655,561,2538,561 3 3837 -de 13173,18225,0,543,-3522,543 2 3760 -,C 17565,18225,5019,2700,-873,899 2 3783 -,c 11709,12669,4785,1275,636,899 0 3815 -~N 17565,23079,330,3843,1578,899 2 3793 -~n 13173,17145,330,990,1053,899 2 3825 -r! 8781,12231,6324,33,444,33 1 3745 -r? 13173,12312,6243,0,663 1 3775 -Cs 13173,15684,0,1779,228,899 0 3748 -Po 13173,17895,330,3153,1971,899 2 3747 -Ye 13173,17895,0,4170,-15,899 2 3749 -sc 13173,18225,4200,447,-1359,447 2 3751 -Fn 13173,18300,5655,2388,2691,899 3 51871 -ct 13173,17034,0,996,-777,899 2 3746 -^a 13173,18399,330,759,1044,759 2 3810 -^e 11709,18399,330,1761,444,899 2 3818 -^o 13173,18399,330,771,732,771 2 3828 -^u 13173,18399,330,747,468,747 2 3835 -'a 13173,18399,330,759,1044,759 2 3809 -'e 11709,18399,330,1011,444,899 2 3817 -'o 13173,18399,330,771,732,771 2 3827 -'u 13173,18399,330,747,468,747 2 3834 -`a 13173,18399,330,759,1044,759 2 3808 -`e 11709,18399,330,1011,444,899 2 3816 -`o 13173,18399,330,771,732,771 2 3826 -`u 13173,18399,330,747,468,747 2 3833 -:a 13173,17124,330,759,1044,759 2 3812 -:e 11709,17124,330,1356,444,899 2 3819 -:o 13173,17124,330,1074,732,899 2 3830 -:u 13173,17124,330,747,468,747 2 3836 -oA 16101,23865,0,525,2700,525 2 3781 -^i 7317,18399,330,2907,420,899 2 3822 -/O 19029,18255,330,2082,234,899 2 3800 -AE 23418,17895,0,2961,1959,899 2 3782 -oa 13173,18309,330,759,1044,759 2 3813 -'i 7317,18399,330,3069,420,899 2 3821 -/o 13173,12738,336,1491,1443,899 0 3832 -ae 17565,12669,330,933,771,899 0 3814 -:A 16101,23085,0,2055,2700,899 2 3780 -`i 7317,18399,330,1383,420,899 2 3820 -:O 19029,23085,330,1356,-492,899 2 3798 -:U 19029,23085,330,3246,-1635,899 2 3804 -'E 16101,23955,0,2091,1800,899 2 3785 -:i 7317,17124,330,3552,420,899 2 3823 -ss 13173,18300,5655,1131,5829,899 3 3807 -^O 19029,23955,330,1356,-492,899 2 3796 -'A 16101,23955,0,1914,2700,899 2 3777 -~A 16101,23079,0,2580,2700,899 2 3779 -~a 13173,17145,330,990,1044,899 2 3811 --D 19029,17895,0,594,2298,594 2 3792 -Sd 13173,18300,330,2040,732,899 2 3824 -'I 8781,23955,0,5124,1716,899 2 3789 -`I 8781,23955,0,3165,1716,899 2 3788 -'O 19029,23955,330,1356,-492,899 2 3795 -`O 19029,23955,330,1356,-492,899 2 3794 -~O 19029,23079,330,1356,-492,899 2 3797 -~o 13173,17145,330,1665,732,899 2 3829 -vS 13173,23955,330,2268,609,899 2 51795 -vs 10245,18399,330,2472,1116,899 2 51827 -'U 19029,23955,330,3246,-1635,899 2 3802 -:Y 14637,23085,0,4533,-1086,899 2 51801 -:y 11709,17124,5655,561,2538,561 3 3839 -TP 16101,17895,0,813,1107,813 2 3806 -Tp 13173,18300,5655,471,3981,471 3 3838 -mc 14637,10800,5595,612,585,612 1 3765 -ps 13173,19635,4200,1650,-1308,899 2 3766 -34 23418,18225,330,0,-2985 2 3774 -\- 23418,8610,0,0,-3027 0 51757 -14 23418,18225,330,0,-2472 2 3772 -12 23418,18225,330,0,-1632 2 3773 -Of 13173,18225,0,1119,-1827,899 2 3754 -Om 13173,18225,0,1503,-2640,899 2 3770 -Fo 12198,10095,0,501,330,501 0 3755 -Fc 12198,10095,0,336,495,336 0 3771 -t+- 23418,15750,2625,0,-2949 0 3761 -bb 13173,19083,5916,0,-4596 3 3750 -co 13173,19725,0,5355,-3531,899 2 3753 -tno 23418,12165,0,0,-3045 0 3756 -rg 13173,19725,0,5355,-3531,899 2 3758 -S2 9270,18060,0,1602,-555,899 2 3762 -S3 9270,18060,0,1980,-771,899 2 3763 -ac 13173,0,4785,0,-96 0 3768 -S1 9270,18060,0,1146,-1233,899 2 3769 -tmu 23418,14658,0,0,-3630 0 3799 -tdi 23418,14010,0,0,-2958 0 3831 -pc 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 -a- 13173,15819,0,867,-4257,867 0 3759 -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 +ad 13173,17124,0,624,-4001,624 2 161192 -- MSL 109 (19U 168) +~ 13173,17145,0,990,-3308,899 2 161176 -- MSL 110 (19U 152) +a~ " +`U 19029,23955,330,3246,-1634,899 2 161241 -- MSL 111 (19U 217) +^U 19029,23955,330,3246,-1634,899 2 161243 -- MSL 112 (19U 219) +u00AF 13173,21105,0,1317,1317,899 2 161199 -- MSL 113 (19U 175) +'Y 14637,23955,0,4533,-1085,899 2 161245 -- MSL 114 (19U 221) +'y 11709,18399,5655,561,2538,561 3 161277 -- MSL 115 (19U 253) +de 13173,18225,0,543,-3521,543 2 161200 -- MSL 116 (19U 176) +,C 17565,18225,5019,2700,-872,899 2 161223 -- MSL 117 (19U 199) +,c 11709,12669,4785,1275,636,899 0 161255 -- MSL 118 (19U 231) +~N 17565,23079,330,3843,1578,899 2 161233 -- MSL 119 (19U 209) +~n 13173,17145,330,990,1053,899 2 161265 -- MSL 120 (19U 241) +r! 8781,12231,6324,33,444,33 1 161185 -- MSL 121 (19U 161) +r? 13173,12312,6243,0,663 1 161215 -- MSL 122 (19U 191) +Cs 13173,15684,0,1779,228,899 0 161188 -- MSL 123 (19U 164) +Po 13173,17895,330,3153,1971,899 2 161187 -- MSL 124 (19U 163) +Ye 13173,17895,0,4170,-14,899 2 161189 -- MSL 125 (19U 165) +sc 13173,18225,4200,447,-1358,447 2 161191 -- MSL 126 (19U 167) +Fn 13173,18300,5655,2388,2691,899 3 161155 -- MSL 127 (19U 131) +ct 13173,17034,0,996,-776,899 2 161186 -- MSL 128 (19U 162) +^a 13173,18399,330,759,1044,759 2 161250 -- MSL 129 (19U 226) +^e 11709,18399,330,1761,444,899 2 161258 -- MSL 130 (19U 234) +^o 13173,18399,330,771,732,771 2 161268 -- MSL 131 (19U 244) +^u 13173,18399,330,747,468,747 2 161275 -- MSL 132 (19U 251) +'a 13173,18399,330,759,1044,759 2 161249 -- MSL 133 (19U 225) +'e 11709,18399,330,1011,444,899 2 161257 -- MSL 134 (19U 233) +'o 13173,18399,330,771,732,771 2 161267 -- MSL 135 (19U 243) +'u 13173,18399,330,747,468,747 2 161274 -- MSL 136 (19U 250) +`a 13173,18399,330,759,1044,759 2 161248 -- MSL 137 (19U 224) +`e 11709,18399,330,1011,444,899 2 161256 -- MSL 138 (19U 232) +`o 13173,18399,330,771,732,771 2 161266 -- MSL 139 (19U 242) +`u 13173,18399,330,747,468,747 2 161273 -- MSL 140 (19U 249) +:a 13173,17124,330,759,1044,759 2 161252 -- MSL 141 (19U 228) +:e 11709,17124,330,1356,444,899 2 161259 -- MSL 142 (19U 235) +:o 13173,17124,330,1074,732,899 2 161270 -- MSL 143 (19U 246) +:u 13173,17124,330,747,468,747 2 161276 -- MSL 144 (19U 252) +oA 16101,23865,0,525,2700,525 2 161221 -- MSL 145 (19U 197) +^i 7317,18399,330,2907,420,899 2 161262 -- MSL 146 (19U 238) +/O 19029,18255,330,2082,234,899 2 161240 -- MSL 147 (19U 216) +AE 23418,17895,0,2961,1959,899 2 161222 -- MSL 148 (19U 198) +oa 13173,18309,330,759,1044,759 2 161253 -- MSL 149 (19U 229) +'i 7317,18399,330,3069,420,899 2 161261 -- MSL 150 (19U 237) +/o 13173,12738,336,1491,1443,899 0 161272 -- MSL 151 (19U 248) +ae 17565,12669,330,933,771,899 0 161254 -- MSL 152 (19U 230) +:A 16101,23085,0,2055,2700,899 2 161220 -- MSL 153 (19U 196) +`i 7317,18399,330,1383,420,899 2 161260 -- MSL 154 (19U 236) +:O 19029,23085,330,1356,-491,899 2 161238 -- MSL 155 (19U 214) +:U 19029,23085,330,3246,-1634,899 2 161244 -- MSL 156 (19U 220) +'E 16101,23955,0,2091,1800,899 2 161225 -- MSL 157 (19U 201) +:i 7317,17124,330,3552,420,899 2 161263 -- MSL 158 (19U 239) +ss 13173,18300,5655,1131,5829,899 3 161247 -- MSL 159 (19U 223) +^O 19029,23955,330,1356,-491,899 2 161236 -- MSL 160 (19U 212) +'A 16101,23955,0,1914,2700,899 2 161217 -- MSL 161 (19U 193) +~A 16101,23079,0,2580,2700,899 2 161219 -- MSL 162 (19U 195) +~a 13173,17145,330,990,1044,899 2 161251 -- MSL 163 (19U 227) +-D 19029,17895,0,594,2298,594 2 161232 -- MSL 164 (19U 208) +Sd 13173,18300,330,2040,732,899 2 161264 -- MSL 165 (19U 240) +'I 8781,23955,0,5124,1716,899 2 161229 -- MSL 166 (19U 205) +`I 8781,23955,0,3165,1716,899 2 161228 -- MSL 167 (19U 204) +'O 19029,23955,330,1356,-491,899 2 161235 -- MSL 168 (19U 211) +`O 19029,23955,330,1356,-491,899 2 161234 -- MSL 169 (19U 210) +~O 19029,23079,330,1356,-491,899 2 161237 -- MSL 170 (19U 213) +~o 13173,17145,330,1665,732,899 2 161269 -- MSL 171 (19U 245) +vS 13173,23955,330,2268,609,899 2 161162 -- MSL 172 (19U 138) +vs 10245,18399,330,2472,1116,899 2 161178 -- MSL 173 (19U 154) +'U 19029,23955,330,3246,-1634,899 2 161242 -- MSL 174 (19U 218) +:Y 14637,23085,0,4533,-1085,899 2 161183 -- MSL 175 (19U 159) +:y 11709,17124,5655,561,2538,561 3 161279 -- MSL 176 (19U 255) +TP 16101,17895,0,813,1107,813 2 161246 -- MSL 177 (19U 222) +Tp 13173,18300,5655,471,3981,471 3 161278 -- MSL 178 (19U 254) +mc 14637,10800,5595,612,585,612 1 161205 -- MSL 180 (19U 181) +ps 13173,19635,4200,1650,-1307,899 2 161206 -- MSL 181 (19U 182) +34 23418,18225,330,0,-2984 2 161214 -- MSL 182 (19U 190) +\- 23418,8610,0,0,-3026 0 60096 -- MSL 183 ( 7J 192) +14 23418,18225,330,0,-2471 2 161212 -- MSL 184 (19U 188) +12 23418,18225,330,0,-1631 2 161213 -- MSL 185 (19U 189) +Of 13173,18225,0,1119,-1826,899 2 161194 -- MSL 186 (19U 170) +Om 13173,18225,0,1503,-2639,899 2 161210 -- MSL 187 (19U 186) +Fo 12198,10095,0,501,330,501 0 161195 -- MSL 188 (19U 171) +Fc 12198,10095,0,336,495,336 0 161211 -- MSL 190 (19U 187) +t+- 23418,15750,2625,0,-2948 0 161201 -- MSL 191 (19U 177) +bb 13173,19083,5916,0,-4595 3 161190 -- MSL 192 (19U 166) +co 13173,19725,0,5355,-3530,899 2 161193 -- MSL 193 (19U 169) +tno 23418,12165,0,0,-3044 0 161196 -- MSL 194 (19U 172) +u00AD 8781,7155,0,468,153,468 0 161197 -- MSL 195 (19U 173) +rg 13173,19725,0,5355,-3530,899 2 161198 -- MSL 196 (19U 174) +S2 9270,18060,0,1602,-554,899 2 161202 -- MSL 197 (19U 178) +S3 9270,18060,0,1980,-770,899 2 161203 -- MSL 198 (19U 179) +ac 13173,0,4785,0,-95 0 161208 -- MSL 199 (19U 184) +S1 9270,18060,0,1146,-1232,899 2 161209 -- MSL 200 (19U 185) +tmu 23418,14658,0,0,-3629 0 161239 -- MSL 201 (19U 215) +tdi 23418,14010,0,0,-2957 0 161271 -- MSL 202 (19U 247) +u203C 13125,18225,330,1110,-692,899 2 87315 -- MSL 221 (10U 19) +u20A7 22935,17895,330,1908,1116,899 2 60121 -- MSL 232 ( 7J 217) +pc 8781,9945,0,0,-2399 0 161207 -- MSL 302 (19U 183) +u013F 14637,17895,0,1023,2487,899 2 51943 -- MSL 306 ( 6J 231) +u0140 7317,18300,330,3285,276,899 2 51959 -- MSL 307 ( 6J 247) +u2113 13173,18150,297,99,-1469,99 2 60122 -- MSL 308 ( 7J 218) +u0149 16098,18225,330,786,216,786 2 51951 -- MSL 309 ( 6J 239) +fm 8781,18225,0,852,-3668,852 2 60101 -- MSL 310 ( 7J 197) +sd 13173,18225,0,612,-3668,612 2 60102 -- MSL 311 ( 7J 198) +dg 13173,18225,4200,1470,-1433,899 2 161158 -- MSL 312 (19U 134) +tm 16101,17550,0,5841,-3491,899 2 161177 -- MSL 313 (19U 153) +u2017 13173,0,6588,1317,1317,899 1 60095 -- MSL 314 ( 7J 191) +ah 13173,18399,0,1908,-5381,899 2 75169 -- MSL 315 ( 9E 161) +ao 13173,18309,0,0,-5420 2 60152 -- MSL 316 ( 7J 248) +f/ 3402,18225,330,8451,6846,899 2 60109 -- MSL 324 ( 7J 205) +em 23418,6900,0,345,153,345 0 161175 -- MSL 325 (19U 151) +en 13173,6900,0,393,153,393 0 161174 -- MSL 326 (19U 150) +dd 13173,18225,4200,1056,-1019,899 2 161159 -- MSL 327 (19U 135) +.i 7317,12669,330,120,420,120 0 46333 -- MSL 328 ( 5T 253) +aq 8781,18225,0,585,-3806,585 2 161063 -- MSL 329 (19U 39) +bu 13173,14226,0,0,-497 0 161173 -- MSL 331 (19U 149) +u207F 13173,18060,0,1413,-1058,899 2 87548 -- MSL 332 (10U 252) +u0111 13173,18300,330,2718,1092,899 2 75248 -- MSL 342 ( 9E 240) +u0041_0306 16101,23700,0,2400,2700,899 2 75203 -- MSL 400 ( 9E 195) +u0061_0306 13173,18339,330,1122,1044,899 2 75235 -- MSL 401 ( 9E 227) +u0041_0328 16101,18225,3045,33,2700,33 2 75173 -- MSL 404 ( 9E 165) +u0061_0328 13173,12669,3186,759,1044,759 0 75193 -- MSL 405 ( 9E 185) +'C 17565,23955,330,2700,-872,899 2 75206 -- MSL 406 ( 9E 198) +'c 11709,18399,330,2199,318,899 2 75238 -- MSL 407 ( 9E 230) +u0041_030C 17565,23955,330,2892,-872,899 2 75208 -- MSL 410 ( 9E 200) +u0061_030C 11709,18399,330,2640,318,899 2 75240 -- MSL 411 ( 9E 232) +u0044_030C 19029,23955,0,594,2298,594 2 75215 -- MSL 414 ( 9E 207) +u0064_030C 16101,18339,330,3303,1065,899 2 75247 -- MSL 415 ( 9E 239) +u0045_030C 16101,23955,0,2091,1800,899 2 75212 -- MSL 416 ( 9E 204) +u0065_030C 11709,18399,330,2640,444,899 2 75244 -- MSL 417 ( 9E 236) +u0045_0328 16101,17895,3045,2091,1800,899 2 75210 -- MSL 422 ( 9E 202) +u0065_0328 11709,12669,3186,1011,444,899 0 75242 -- MSL 423 ( 9E 234) +u004C_0301 14637,23955,0,1719,2487,899 2 75205 -- MSL 440 ( 9E 197) +u006C_0301 7317,24327,330,4212,276,899 2 75237 -- MSL 441 ( 9E 229) +u004C_030C 14637,18339,0,1359,2487,899 2 75196 -- MSL 442 ( 9E 188) +u006C_030C 9759,18339,330,3291,276,899 2 75198 -- MSL 443 ( 9E 190) +u004E_0301 17565,23955,330,3843,1578,899 2 75217 -- MSL 446 ( 9E 209) +u006E_0301 13173,18399,330,786,1053,786 2 75249 -- MSL 447 ( 9E 241) +u004E_030C 17565,23955,330,3843,1578,899 2 75218 -- MSL 448 ( 9E 210) +u006E_030C 13173,18399,330,1107,1053,899 2 75250 -- MSL 449 ( 9E 242) +u004F_030B 19029,23955,330,2832,-491,899 2 75221 -- MSL 452 ( 9E 213) +u006F_030B 13173,18399,330,3321,732,899 2 75253 -- MSL 453 ( 9E 245) +u0052_0301 16101,23955,0,1041,1926,899 2 75200 -- MSL 456 ( 9E 192) +u0072_0301 10245,18399,0,2094,429,899 2 75232 -- MSL 457 ( 9E 224) +u0052_030C 16101,23955,0,1041,1926,899 2 75224 -- MSL 458 ( 9E 216) +u0072_030C 10245,18399,0,2733,429,899 2 75256 -- MSL 459 ( 9E 248) +u0053_0301 13173,23955,330,2928,609,899 2 75148 -- MSL 462 ( 9E 140) +u0073_0301 10245,18399,330,1605,1116,899 2 75164 -- MSL 463 ( 9E 156) +u0054_030C 14637,23955,0,3939,-89,899 2 75149 -- MSL 466 ( 9E 141) +u0074_030C 9270,18339,330,3345,672,899 2 75165 -- MSL 467 ( 9E 157) +u0054_0327 14637,17895,5019,3939,633,899 2 75230 -- MSL 468 ( 9E 222) +u0074_0327 7317,15339,4785,1908,3291,899 0 75262 -- MSL 469 ( 9E 254) +u0055_030B 19029,23955,330,3246,-1634,899 2 75227 -- MSL 474 ( 9E 219) +u0075_030B 13173,18399,330,2400,468,899 2 75259 -- MSL 475 ( 9E 251) +u0055_030A 19029,23865,330,3246,-1634,899 2 75225 -- MSL 476 ( 9E 217) +u0075_030A 13173,18309,330,747,468,747 2 75257 -- MSL 477 ( 9E 249) +u005A_0301 14637,23955,0,2856,1710,899 2 75151 -- MSL 482 ( 9E 143) +u007A_0301 10245,18399,2163,1446,1815,899 2 75167 -- MSL 483 ( 9E 159) +u005A_0307 14637,23085,0,2856,1710,899 2 75183 -- MSL 484 ( 9E 175) +u007A_0307 10245,17124,2163,1122,1815,899 2 75199 -- MSL 485 ( 9E 191) +u2070 9270,18060,0,2427,-944,899 2 51753 -- MSL 1000 ( 6J 41) +u2074 9270,18060,0,2415,-599,899 2 51748 -- MSL 1001 ( 6J 36) +u2075 9270,17895,0,2130,-335,899 2 51749 -- MSL 1002 ( 6J 37) +u2076 9270,18060,0,2892,-791,899 2 51806 -- MSL 1003 ( 6J 94) +u2077 9270,17895,0,3513,-1637,899 2 51750 -- MSL 1004 ( 6J 38) +u2078 9270,18060,0,2175,-812,899 2 51754 -- MSL 1005 ( 6J 42) +u2079 9270,18060,0,2847,-845,899 2 51752 -- MSL 1006 ( 6J 40) +lq 13173,18225,0,1320,-3569,899 2 161171 -- MSL 1017 (19U 147) +rq 13173,18225,0,1332,-3581,899 2 161172 -- MSL 1018 (19U 148) +Bq 13173,3039,3156,0,453 0 161156 -- MSL 1019 (19U 132) +u2003 23418,0,0,0,1317 0 51821 -- MSL 1020 ( 6J 109) +u2002 13173,0,0,0,1317 0 51822 -- MSL 1021 ( 6J 110) +u2009 8781,0,0,0,1317 0 51828 -- MSL 1023 ( 6J 116) +u2026 23418,3360,0,0,483 0 161157 -- MSL 1028 (19U 133) +vz 10245,18399,2163,1872,1815,899 2 75166 -- MSL 1031 ( 9E 158) +u2120 16101,17703,0,5094,-3536,899 2 128299 -- MSL 1034 (15U 43) +u211E 20001,18315,4056,315,-1013,315 2 51794 -- MSL 1036 ( 6J 82) +fi 13173,18300,5655,534,5772,534 3 60077 -- MSL 1040 ( 7J 173) +fl 13173,18300,5655,1773,5736,899 3 60078 -- MSL 1041 ( 7J 174) +ff 14148,18300,5655,5796,5352,899 3 51883 -- MSL 1042 ( 6J 171) +Fi 20004,18300,5655,672,5466,672 3 51884 -- MSL 1043 ( 6J 172) +Fl 20004,18300,5655,1851,5418,899 3 51885 -- MSL 1044 ( 6J 173) +ij 13173,18369,5655,1212,435,899 3 60134 -- MSL 1047 ( 7J 230) +u2105 23418,18225,330,1125,-842,899 2 60072 -- MSL 1060 ( 7J 168) +u0047_0306 19029,23700,330,2301,-605,899 2 46288 -- MSL 1061 ( 5T 208) +u0067_0306 13173,18339,5655,1122,1281,899 3 46320 -- MSL 1062 ( 5T 240) +u0053_0327 13173,18225,5019,2190,609,899 2 75178 -- MSL 1063 ( 9E 170) +u0073_0327 10245,12669,4785,786,1368,786 0 75194 -- MSL 1064 ( 9E 186) +u0049_0307 8781,23085,0,3165,1716,899 2 46301 -- MSL 1065 ( 5T 221) +bq 8781,3039,3156,0,-581 0 161154 -- MSL 1067 (19U 130) +%0 32202,18894,1026,0,-3134 2 161161 -- MSL 1068 (19U 137) +a- 13173,15819,0,867,-4256,867 0 60154 -- MSL 1084 ( 7J 250) +ab 13173,18339,0,1122,-4280,899 2 75170 -- MSL 1086 ( 9E 162) +a. 13173,17124,0,0,-6221 2 75263 -- MSL 1088 ( 9E 255) +oe 17565,12669,330,1107,711,899 0 161180 -- MSL 1090 (19U 156) +OE 24882,18225,330,2016,978,899 2 161164 -- MSL 1091 (19U 140) +fo 7317,10095,0,939,333,899 0 161163 -- MSL 1092 (19U 139) +fc 7317,10095,0,774,498,774 0 161179 -- MSL 1093 (19U 155) +sq 19029,15624,0,0,-2021 0 60091 -- MSL 1094 ( 7J 187) +/L 14637,17895,0,1023,2487,899 2 75171 -- MSL 1095 ( 9E 163) +/l 7317,18300,330,1749,654,899 2 75187 -- MSL 1096 ( 9E 179) +a" 13173,18399,0,3321,-4643,899 2 75197 -- MSL 1097 ( 9E 189) +ho 13173,564,3186,0,-3845 0 75186 -- MSL 1098 ( 9E 178) +vZ 14637,23955,0,2856,1710,899 2 75150 -- MSL 1106 ( 9E 142) +IJ 21465,17895,330,1872,1716,899 2 60135 -- MSL 1107 ( 7J 231) diff -ruN groff-1.19/font/devlj4/TNRB groff-1.19.1/font/devlj4/TNRB --- groff-1.19/font/devlj4/TNRB Thu Jan 1 01:00:00 1970 +++ groff-1.19.1/font/devlj4/TNRB Wed Feb 18 10:01:17 2004 @@ -0,0 +1,444 @@ +# M Times Bd +name TNRB +spacewidth 6615 +pcltypeface 16901 +pclproportional 1 +pclweight 3 +pclstyle 0 +ligatures fi fl 0 +kernpairs +1 1 -1459 +A T -1963 +A V -3410 +A W -2932 +A Y -2428 +A v -1963 +A w -1963 +A y -1963 +A cq -1963 +A ' -1963 +F , -2428 +F . -2428 +F A -1963 +L T -2428 +L V -2428 +L W -2428 +L Y -2428 +L y -1459 +L cq -2428 +L ' -2428 +P , -2428 +P . -2428 +P A -1963 +R T -929 +R V -929 +R W -929 +R Y -929 +R y -929 +T , -1963 +T hy -2428 +T - -2428 +T . -1963 +T : -1963 +T ; -1963 +T A -1963 +T O -477 +T a -2428 +T c -2428 +T e -2428 +T i -477 +T o -2428 +T r -1963 +T s -2428 +T u -2428 +T w -1963 +T y -1963 +V , -3410 +V hy -1963 +V - -1963 +V . -3410 +V : -2428 +V ; -2428 +V A -3410 +V O -529 +V a -2428 +V e -2428 +V i -981 +V o -2428 +V r -1963 +V u -2428 +V y -2428 +W , -2428 +W hy -981 +W - -981 +W . -2428 +W : -1459 +W ; -1459 +W A -2932 +W a -1459 +W e -1459 +W i -477 +W o -1459 +W r -477 +W u -477 +W y -981 +Y , -2428 +Y hy -2428 +Y - -2428 +Y . -2428 +Y : -2428 +Y ; -2428 +Y A -2428 +Y a -2932 +Y e -2932 +Y i -981 +Y o -2932 +Y p -2428 +Y q -2932 +Y u -2428 +Y v -2932 +f f 0 +f cq 1460 +f ' 1460 +r , -2428 +r hy -981 +r - -981 +r . -2428 +r c -477 +r e -477 +r h 0 +r o -477 +r q -477 +r t 0 +r w 0 +r x 0 +r y 0 +r z 0 +r cq 478 +r ' 478 +v , -1459 +v . -1459 +w , -1459 +w . -1459 +y , -1459 +y . -1459 +oq oq -1963 +oq ` -1963 +` oq -1963 +` ` -1963 +cq s -981 +' s -981 +cq cq -1963 +cq ' -1963 +' cq -1963 +' ' -1963 +charset +! 8811,17919,349 2 161057 -- U+0021 (19U 33) +dq 14689,17919 2 161058 -- U+0022 (19U 34) +" " +sh 13229,17880,362 2 161059 -- U+0023 (19U 35) +# " +Do 13229,17996,1783 2 161060 -- U+0024 (19U 36) +$ " +% 26458,17919,736 2 161061 -- U+0025 (19U 37) +& 22040,17919,400 2 161062 -- U+0026 (19U 38) +aq 7351,17919 2 161063 -- U+0027 (19U 39) +( 8811,17919,5297 3 161064 -- U+0028 (19U 40) +) 8811,17919,5297 3 161065 -- U+0029 (19U 41) +* 13229,17919 2 161066 -- U+002A (19U 42) ++ 15077,15813 0 161067 -- U+002B (19U 43) +, 6615,3966,4638 0 161068 -- U+002C (19U 44) +hy 8811,7416 0 161069 -- U+002D (19U 45) +- " +. 6615,3979,323 0 161070 -- U+002E (19U 46) +sl 7351,17919,400 2 161071 -- U+002F (19U 47) +/ " +0 13229,17880,362 2 161072 -- U+0030 (19U 48) +1 13229,17880 2 161073 -- U+0031 (19U 49) +2 13229,17880 2 161074 -- U+0032 (19U 50) +3 13229,17880,375 2 161075 -- U+0033 (19U 51) +4 13229,17880 2 161076 -- U+0034 (19U 52) +5 13229,17518,362 2 161077 -- U+0035 (19U 53) +6 13229,17880,362 2 161078 -- U+0036 (19U 54) +7 13229,17518,362 2 161079 -- U+0037 (19U 55) +8 13229,17815,362 2 161080 -- U+0038 (19U 56) +9 13229,17880,362 2 161081 -- U+0039 (19U 57) +: 8811,12428,323 0 161082 -- U+003A (19U 58) +; 8811,12428,4638 0 161083 -- U+003B (19U 59) +< 15077,15025 0 161084 -- U+003C (19U 60) += 15077,11679 0 161085 -- U+003D (19U 61) +> 15077,15025 0 161086 -- U+003E (19U 62) +? 13229,17919,349 2 161087 -- U+003F (19U 63) +at 24611,17919,5710 3 161088 -- U+0040 (19U 64) +@ " +A 19107,17880 2 161089 -- U+0041 (19U 65) +B 17648,17518 2 161090 -- U+0042 (19U 66) +C 19107,17919,400 2 161091 -- U+0043 (19U 67) +D 19107,17518 2 161092 -- U+0044 (19U 68) +E 17648,17518 2 161093 -- U+0045 (19U 69) +F 16162,17518 2 161094 -- U+0046 (19U 70) +G 20580,17932,413 2 161095 -- U+0047 (19U 71) +H 20580,17518 2 161096 -- U+0048 (19U 72) +I 10297,17518 2 161097 -- U+0049 (19U 73) +J 13229,17518,400 2 161098 -- U+004A (19U 74) +K 20580,17518 2 161099 -- U+004B (19U 75) +L 17648,17518 2 161100 -- U+004C (19U 76) +M 24973,17518 2 161101 -- U+004D (19U 77) +N 19107,17518,400 2 161102 -- U+004E (19U 78) +O 20580,17919,400 2 161103 -- U+004F (19U 79) +P 16162,17518 2 161104 -- U+0050 (19U 80) +Q 20580,17919,4780 2 161105 -- U+0051 (19U 81) +R 19107,17518 2 161106 -- U+0052 (19U 82) +S 14715,17919,413 2 161107 -- U+0053 (19U 83) +T 17648,17518 2 161108 -- U+0054 (19U 84) +U 19107,17518,413 2 161109 -- U+0055 (19U 85) +V 19107,17518,400 2 161110 -- U+0056 (19U 86) +W 26458,17518,400 2 161111 -- U+0057 (19U 87) +X 19107,17518 2 161112 -- U+0058 (19U 88) +Y 19107,17518 2 161113 -- U+0059 (19U 89) +Z 17648,17518 2 161114 -- U+005A (19U 90) +lB 8811,17518,4832 2 161115 -- U+005B (19U 91) +[ " +rs 7351,17919,400 2 161116 -- U+005C (19U 92) +\ " +rB 8811,17518,4832 2 161117 -- U+005D (19U 93) +] " +ha 15374,17880 2 161118 -- U+005E (19U 94) +_ 13229,0,5710 1 161119 -- U+005F (19U 95) +ga 8811,18113 2 161120 -- U+0060 (19U 96) +a 13229,12441,168 0 161121 -- U+0061 (19U 97) +b 14715,17518,362 2 161122 -- U+0062 (19U 98) +c 11743,12441,362 0 161123 -- U+0063 (19U 99) +d 14715,17518,362 2 161124 -- U+0064 (19U 100) +e 11743,12441,362 0 161125 -- U+0065 (19U 101) +f 8811,17919 2 161126 -- U+0066 (19U 102) +g 13229,12441,5710 1 161127 -- U+0067 (19U 103) +h 14715,17518 2 161128 -- U+0068 (19U 104) +i 7351,17932 2 161129 -- U+0069 (19U 105) +j 8811,17919,5710 3 161130 -- U+006A (19U 106) +k 14715,17518 2 161131 -- U+006B (19U 107) +l 7351,17518 2 161132 -- U+006C (19U 108) +m 22040,12441 0 161133 -- U+006D (19U 109) +n 14715,12441 0 161134 -- U+006E (19U 110) +o 13229,12441,362 0 161135 -- U+006F (19U 111) +p 14715,12441,5659 1 161136 -- U+0070 (19U 112) +q 14715,12441,5659 1 161137 -- U+0071 (19U 113) +r 11743,12441 0 161138 -- U+0072 (19U 114) +s 10297,12441,362 0 161139 -- U+0073 (19U 115) +t 8811,16498,168 2 161140 -- U+0074 (19U 116) +u 14715,12079,362 0 161141 -- U+0075 (19U 117) +v 13229,12079,362 0 161142 -- U+0076 (19U 118) +w 19107,12079,362 0 161143 -- U+0077 (19U 119) +x 13229,12079 0 161144 -- U+0078 (19U 120) +y 13229,12079,5710 1 161145 -- U+0079 (19U 121) +z 11743,12079 0 161146 -- U+007A (19U 122) +{ 10426,17919,5361 3 161147 -- U+007B (19U 123) +lC " +| 5827,17919,5710 3 161148 -- U+007C (19U 124) +ba " +} 10426,17945,5349 3 161149 -- U+007D (19U 125) +rC " +ti 13759,9173 0 161150 -- U+007E (19U 126) +r! 8811,12570,5710 1 161185 -- U+00A1 (19U 161) +ct 13229,17415,4871 2 161186 -- U+00A2 (19U 162) +Po 13229,17983,362 2 161187 -- U+00A3 (19U 163) +Cs 13229,15012 0 161188 -- U+00A4 (19U 164) +Ye 13229,17518 2 161189 -- U+00A5 (19U 165) +bb 5827,17919,5710 3 161190 -- U+00A6 (19U 166) +sc 13229,17919,5710 3 161191 -- U+00A7 (19U 167) +ad 8811,17673 2 161192 -- U+00A8 (19U 168) +co 19766,17919,400 2 161193 -- U+00A9 (19U 169) +Of 7932,17880 2 161194 -- U+00AA (19U 170) +Fo 13229,11976 0 161195 -- U+00AB (19U 171) +tno 15077,11653 0 161196 -- U+00AC (19U 172) +u00AD 8811,7416 0 161197 -- U+00AD (19U 173) +rg 19766,17919,400 2 161198 -- U+00AE (19U 174) +u00AF 13229,20580 2 161199 -- U+00AF (19U 175) +de 10581,17880 2 161200 -- U+00B0 (19U 176) +t+- 14521,15813 0 161201 -- U+00B1 (19U 177) +S2 7932,17880 2 161202 -- U+00B2 (19U 178) +S3 7932,17880 2 161203 -- U+00B3 (19U 179) +aa 8811,18113 2 161204 -- U+00B4 (19U 180) +mc 15245,12079,5697 1 161205 -- U+00B5 (19U 181) +ps 14289,17518,5710 3 161206 -- U+00B6 (19U 182) +pc 6615,10917 0 60157 -- U+00B7 ( 7J 253) +ac 8811,155,4987 0 161208 -- U+00B8 (19U 184) +S1 7932,17880 2 161209 -- U+00B9 (19U 185) +Om 8733,17880 2 161210 -- U+00BA (19U 186) +Fc 13229,11976 0 161211 -- U+00BB (19U 187) +14 19844,17880,762 2 161212 -- U+00BC (19U 188) +12 19844,17880,762 2 161213 -- U+00BD (19U 189) +34 19844,17880,762 2 161214 -- U+00BE (19U 190) +r? 13229,12557,5710 1 161215 -- U+00BF (19U 191) +`A 19107,23500 2 161216 -- U+00C0 (19U 192) +'A 19107,23500 2 161217 -- U+00C1 (19U 193) +^A 19107,23500 2 161218 -- U+00C2 (19U 194) +~A 19107,22660 2 161219 -- U+00C3 (19U 195) +:A 19107,22686 2 161220 -- U+00C4 (19U 196) +oA 19107,22247 2 161221 -- U+00C5 (19U 197) +AE 26458,17518 2 161222 -- U+00C6 (19U 198) +,C 19107,17919,4987 2 161223 -- U+00C7 (19U 199) +`E 17648,23500 2 161224 -- U+00C8 (19U 200) +'E 17648,23500 2 161225 -- U+00C9 (19U 201) +^E 17648,23500 2 161226 -- U+00CA (19U 202) +:E 17648,22686 2 161227 -- U+00CB (19U 203) +`I 10297,23500 2 161228 -- U+00CC (19U 204) +'I 10297,23500 2 161229 -- U+00CD (19U 205) +^I 10297,23500 2 161230 -- U+00CE (19U 206) +:I 10297,22686 2 161231 -- U+00CF (19U 207) +-D 19107,17518 2 161232 -- U+00D0 (19U 208) +~N 19107,22686,400 2 161233 -- U+00D1 (19U 209) +`O 20580,23500,400 2 161234 -- U+00D2 (19U 210) +'O 20580,23500,400 2 161235 -- U+00D3 (19U 211) +^O 20580,23500,400 2 161236 -- U+00D4 (19U 212) +~O 20580,22686,400 2 161237 -- U+00D5 (19U 213) +:O 20580,22686,400 2 161238 -- U+00D6 (19U 214) +tmu 15077,14366 0 161239 -- U+00D7 (19U 215) +/O 20580,18345,995 2 161240 -- U+00D8 (19U 216) +`U 19107,23500,413 2 161241 -- U+00D9 (19U 217) +'U 19107,23500,413 2 161242 -- U+00DA (19U 218) +^U 19107,23500,413 2 161243 -- U+00DB (19U 219) +:U 19107,22686,413 2 161244 -- U+00DC (19U 220) +'Y 19107,23500 2 161245 -- U+00DD (19U 221) +TP 16162,17518 2 161246 -- U+00DE (19U 222) +ss 14715,17919,129 2 161247 -- U+00DF (19U 223) +`a 13229,18113,168 2 161248 -- U+00E0 (19U 224) +'a 13229,18113,168 2 161249 -- U+00E1 (19U 225) +^a 13229,18436,168 2 161250 -- U+00E2 (19U 226) +~a 13229,17725,168 2 161251 -- U+00E3 (19U 227) +:a 13229,17686,168 2 161252 -- U+00E4 (19U 228) +oa 13229,18565,168 2 161253 -- U+00E5 (19U 229) +ae 19107,12441,362 0 161254 -- U+00E6 (19U 230) +,c 11743,12441,4987 0 161255 -- U+00E7 (19U 231) +`e 11743,18113,362 2 161256 -- U+00E8 (19U 232) +'e 11743,18113,362 2 161257 -- U+00E9 (19U 233) +^e 11743,18436,362 2 161258 -- U+00EA (19U 234) +:e 11743,17686,362 2 161259 -- U+00EB (19U 235) +`i 7351,18113 2 161260 -- U+00EC (19U 236) +'i 7351,18113 2 161261 -- U+00ED (19U 237) +^i 7351,18436 2 161262 -- U+00EE (19U 238) +:i 7351,17686 2 161263 -- U+00EF (19U 239) +Sd 13229,17919,362 2 161264 -- U+00F0 (19U 240) +~n 14715,17725 2 161265 -- U+00F1 (19U 241) +`o 13229,18113,362 2 161266 -- U+00F2 (19U 242) +'o 13229,18113,362 2 161267 -- U+00F3 (19U 243) +^o 13229,18436,362 2 161268 -- U+00F4 (19U 244) +~o 13229,17725,362 2 161269 -- U+00F5 (19U 245) +:o 13229,17686,362 2 161270 -- U+00F6 (19U 246) +tdi 14521,14418 0 161271 -- U+00F7 (19U 247) +/o 13229,12777,362 0 161272 -- U+00F8 (19U 248) +`u 14715,18113,362 2 161273 -- U+00F9 (19U 249) +'u 14715,18113,362 2 161274 -- U+00FA (19U 250) +^u 14715,18436,362 2 161275 -- U+00FB (19U 251) +:u 14715,17686,362 2 161276 -- U+00FC (19U 252) +'y 13229,18113,5710 3 161277 -- U+00FD (19U 253) +Tp 14715,17919,5710 3 161278 -- U+00FE (19U 254) +:y 13229,17686,5710 3 161279 -- U+00FF (19U 255) +u0041_0306 19107,23151 2 75203 -- U+0102 ( 9E 195) +u0061_0306 13229,17919,168 2 75235 -- U+0103 ( 9E 227) +u0041_0328 19107,17880,5969 3 75173 -- U+0104 ( 9E 165) +u0061_0328 13229,12441,5969 1 75193 -- U+0105 ( 9E 185) +'C 19107,23500,400 2 75206 -- U+0106 ( 9E 198) +'c 11743,18113,362 2 75238 -- U+0107 ( 9E 230) +u0041_030C 19107,23577,400 2 75208 -- U+010C ( 9E 200) +u0061_030C 11743,18436,362 2 75240 -- U+010D ( 9E 232) +u0044_030C 19107,23577 2 75215 -- U+010E ( 9E 207) +u0064_030C 19405,17919,362 2 75247 -- U+010F ( 9E 239) +u0111 14715,17518,362 2 75248 -- U+0111 ( 9E 240) +u0045_0328 17648,17518,5969 3 75210 -- U+0118 ( 9E 202) +u0065_0328 11743,12441,5969 1 75242 -- U+0119 ( 9E 234) +u0045_030C 17648,23577 2 75212 -- U+011A ( 9E 204) +u0065_030C 11743,18436,362 2 75244 -- U+011B ( 9E 236) +u0047_0306 20580,23151,413 2 46288 -- U+011E ( 5T 208) +u0067_0306 13229,17919,5710 3 46320 -- U+011F ( 5T 240) +u0049_0307 10297,22673 2 46301 -- U+0130 ( 5T 221) +.i 7351,12079 0 46333 -- U+0131 ( 5T 253) +IJ 21769,17518,400 2 60135 -- U+0132 ( 7J 231) +ij 14612,17932,5710 3 60134 -- U+0133 ( 7J 230) +u004C_0301 17648,23500 2 75205 -- U+0139 ( 9E 197) +u006C_0301 7351,23500 2 75237 -- U+013A ( 9E 229) +u004C_030C 17648,17919 2 75196 -- U+013D ( 9E 188) +u006C_030C 12402,17919 2 75198 -- U+013E ( 9E 190) +u013F 17648,17518 2 95646 -- U+013F (11U 158) +u0140 10464,17518 2 95647 -- U+0140 (11U 159) +/L 17648,17518 2 75171 -- U+0141 ( 9E 163) +/l 7351,17518 2 75187 -- U+0142 ( 9E 179) +u004E_0301 19107,23500,400 2 75217 -- U+0143 ( 9E 209) +u006E_0301 14715,18113 2 75249 -- U+0144 ( 9E 241) +u004E_030C 19107,23577,400 2 75218 -- U+0147 ( 9E 210) +u006E_030C 14715,18436 2 75250 -- U+0148 ( 9E 242) +u0149 19288,17919 2 95660 -- U+0149 (11U 172) +u004F_030B 20580,23487,400 2 75221 -- U+0150 ( 9E 213) +u006F_030B 13229,18113,362 2 75253 -- U+0151 ( 9E 245) +OE 26458,17764,233 2 161164 -- U+0152 (19U 140) +oe 19107,12441,362 0 161180 -- U+0153 (19U 156) +u0052_0301 19107,23500 2 75200 -- U+0154 ( 9E 192) +u0072_0301 11743,18113 2 75232 -- U+0155 ( 9E 224) +u0052_030C 19107,23577 2 75224 -- U+0158 ( 9E 216) +u0072_030C 11743,18436 2 75256 -- U+0159 ( 9E 248) +u0053_0301 14715,23500,413 2 75148 -- U+015A ( 9E 140) +u0073_0301 10297,18113,362 2 75164 -- U+015B ( 9E 156) +u0053_0327 14715,17919,4987 2 75178 -- U+015E ( 9E 170) +u0073_0327 10297,12441,4974 0 75194 -- U+015F ( 9E 186) +vS 14715,23577,413 2 161162 -- U+0160 (19U 138) +vs 10297,18436,362 2 161178 -- U+0161 (19U 154) +u0054_0327 17648,17518,6382 3 75230 -- U+0162 ( 9E 222) +u0074_0327 8811,16498,6382 3 75262 -- U+0163 ( 9E 254) +u0054_030C 17648,23577 2 75149 -- U+0164 ( 9E 141) +u0074_030C 13785,17919,168 2 75165 -- U+0165 ( 9E 157) +u0055_030A 19107,24004,413 2 75225 -- U+016E ( 9E 217) +u0075_030A 14715,18565,362 2 75257 -- U+016F ( 9E 249) +u0055_030B 19107,23487,413 2 75227 -- U+0170 ( 9E 219) +u0075_030B 14715,18113,362 2 75259 -- U+0171 ( 9E 251) +:Y 19107,22686 2 161183 -- U+0178 (19U 159) +u005A_0301 17648,23500 2 75151 -- U+0179 ( 9E 143) +u007A_0301 11743,18113 2 75167 -- U+017A ( 9E 159) +u005A_0307 17648,22673 2 75183 -- U+017B ( 9E 175) +u007A_0307 11743,17673 2 75199 -- U+017C ( 9E 191) +vZ 17648,23577 2 75150 -- U+017D ( 9E 142) +vz 11743,18436 2 75166 -- U+017E ( 9E 158) +Fn 13229,17932,5710 3 161155 -- U+0192 (19U 131) +a^ 8811,18436 2 161160 -- U+02C6 (19U 136) +^ " +ah 8811,18436 2 75169 -- U+02C7 ( 9E 161) +a- 8811,16201 2 60154 -- U+02C9 ( 7J 250) +ab 8811,17919 2 75170 -- U+02D8 ( 9E 162) +a. 8811,17673 2 75263 -- U+02D9 ( 9E 255) +ao 8811,18565 2 60152 -- U+02DA ( 7J 248) +ho 8811,220,5969 1 75186 -- U+02DB ( 9E 178) +~ 8811,17699 2 161176 -- U+02DC (19U 152) +a~ " +a" 8811,18113 2 75197 -- U+02DD ( 9E 189) +en 13229,6899 0 161174 -- U+2013 (19U 150) +em 26458,6899 0 161175 -- U+2014 (19U 151) +u2017 13229,0,5710 1 60095 -- U+2017 ( 7J 191) +oq 8811,17919 2 161169 -- U+2018 (19U 145) +` " +cq 8811,17919 2 161170 -- U+2019 (19U 146) +' " +bq 8811,3966,4638 0 161154 -- U+201A (19U 130) +lq 13229,17919 2 161171 -- U+201C (19U 147) +rq 13229,17919 2 161172 -- U+201D (19U 148) +Bq 13229,3992,4638 0 161156 -- U+201E (19U 132) +dg 13229,17518,5181 3 161158 -- U+2020 (19U 134) +dd 13229,17518,5245 3 161159 -- U+2021 (19U 135) +bu 9263,12428 0 161173 -- U+2022 (19U 149) +u2026 26458,3979,349 0 161157 -- U+2026 (19U 133) +%0 26458,17919,736 2 161161 -- U+2030 (19U 137) +fm 7441,17919 2 60101 -- U+2032 ( 7J 197) +sd 14612,17919 2 60102 -- U+2033 ( 7J 198) +fo 8811,11963 0 161163 -- U+2039 (19U 139) +fc 8811,11963 0 161179 -- U+203A (19U 155) +u203C 15981,17919,349 2 87315 -- U+203C (10U 19) +u207F 9198,14689 0 87548 -- U+207F (10U 252) +u20A7 25632,17518,336 2 60121 -- U+20A7 ( 7J 217) +Eu 13229,17880,362 2 161152 -- U+20AC (19U 128) +u2105 22040,17919,736 2 60072 -- U+2105 ( 7J 168) +u2113 9922,17919,362 2 60122 -- U+2113 ( 7J 218) +tm 26458,17518 2 161177 -- U+2122 (19U 153) +\- 15077,9612 0 60096 -- U+2212 ( 7J 192) +f/ 4418,17880,762 2 60109 -- U+2215 ( 7J 205) +sq 15981,12196 0 60091 -- U+25A1 ( 7J 187) +u25CA 13074,18371 2 101079 -- U+25CA (12J 215) +fi 14715,17919 2 60077 -- U+FB01 ( 7J 173) +fl 14715,17919 2 60078 -- U+FB02 ( 7J 174) diff -ruN groff-1.19/font/devlj4/TNRBI groff-1.19.1/font/devlj4/TNRBI --- groff-1.19/font/devlj4/TNRBI Thu Jan 1 01:00:00 1970 +++ groff-1.19.1/font/devlj4/TNRBI Wed Feb 18 10:01:17 2004 @@ -0,0 +1,433 @@ +# M Times New BdIt +name TNRBI +spacewidth 6615 +slant 16.340000 +pcltypeface 16901 +pclproportional 1 +pclweight 3 +pclstyle 1 +ligatures fi fl 0 +kernpairs +1 1 -1459 +A T -1459 +A V -1963 +A W -2428 +A Y -1459 +A v -1963 +A w -1963 +A y -1963 +A cq -1963 +A ' -1963 +F , -3410 +F . -3410 +F A -2428 +L T -477 +L V -981 +L W -981 +L Y -981 +L y -981 +L cq -1459 +L ' -1459 +P , -3410 +P . -3410 +P A -1963 +R V -477 +R W -477 +R Y -477 +R y -477 +T , -2428 +T hy -2428 +T - -2428 +T . -2428 +T : -1963 +T ; -1963 +T A -1459 +T O -477 +T a -2428 +T c -2428 +T e -2428 +T i -981 +T o -2428 +T r -981 +T s -2428 +T u -981 +T w -981 +T y -981 +V , -3410 +V hy -1459 +V - -1459 +V . -3410 +V : -1963 +V ; -1963 +V A -1963 +V a -2932 +V e -2932 +V i -1459 +V o -2932 +V r -1459 +V u -1459 +V y -1963 +W , -1963 +W hy -981 +W - -981 +W . -1963 +W : -1459 +W ; -1459 +W A -1963 +W a -1963 +W e -1963 +W i -981 +W o -1963 +W r -1963 +W u -1459 +W y -1459 +Y , -2428 +Y hy -2428 +Y - -2428 +Y . -1963 +Y : -2428 +Y ; -2428 +Y A -1963 +Y a -2428 +Y e -2932 +Y i -1459 +Y o -2932 +Y p -1963 +Y q -2932 +Y u -2428 +Y v -2428 +f f -477 +f cq 1460 +f ' 1460 +r , -1459 +r . -1459 +r cq 982 +r ' 982 +v , -981 +v . -981 +w , -981 +w . -981 +y , -981 +y . -981 +oq oq -1963 +oq ` -1963 +` oq -1963 +` ` -1963 +cq s -1963 +' s -1963 +cq t -981 +' t -981 +cq cq -1963 +cq ' -1963 +' cq -1963 +' ' -1963 +charset +! 10297,17919,362,323,-141,211 2 161057 -- U+0021 (19U 33) +dq 14689,17919,0,1421,-3035,211 2 161058 -- U+0022 (19U 34) +" " +sh 13229,17880,362,1305,284,211 2 161059 -- U+0023 (19U 35) +# " +Do 13229,18629,2002,1305,297,211 2 161060 -- U+0024 (19U 36) +$ " +% 22040,17919,749,0,-1536 2 161061 -- U+0025 (19U 37) +& 20580,17919,400,0,103 2 161062 -- U+0026 (19U 38) +aq 7351,17919,0,2287,-2802,211 2 161063 -- U+0027 (19U 39) +( 8811,17919,5038,4005,-12,211 2 161064 -- U+0028 (19U 40) +) 8811,17919,5038,0,4302 2 161065 -- U+0029 (19U 41) +* 13229,17919,0,1550,-1859,211 2 161066 -- U+002A (19U 42) ++ 15077,15813,0,1395,284,211 0 161067 -- U+002B (19U 43) +, 6615,3940,4250,0,2067 0 161068 -- U+002C (19U 44) +hy 8811,7144,0,1034,1150,211 0 161069 -- U+002D (19U 45) +- " +. 6615,3876,362,0,1667 0 161070 -- U+002E (19U 46) +sl 7351,17880,400,4935,3462,211 2 161071 -- U+002F (19U 47) +/ " +0 13229,17880,362,1279,-141,211 2 161072 -- U+0030 (19U 48) +1 13229,17880,0,0,698 2 161073 -- U+0031 (19U 49) +2 13229,17880,0,866,1214,211 2 161074 -- U+0032 (19U 50) +3 13229,17880,362,517,995,211 2 161075 -- U+0033 (19U 51) +4 13229,17880,362,1369,853,211 2 161076 -- U+0034 (19U 52) +5 13229,17518,375,1421,310,211 2 161077 -- U+0035 (19U 53) +6 13229,18022,362,1589,-270,211 2 161078 -- U+0036 (19U 54) +7 13229,17518,362,2739,-1795,211 2 161079 -- U+0037 (19U 55) +8 13229,17880,362,1072,336,211 2 161080 -- U+0038 (19U 56) +9 13229,18009,375,1124,194,211 2 161081 -- U+0039 (19U 57) +: 8811,11950,362,155,258,155 0 161082 -- U+003A (19U 58) +; 8811,11963,4250,233,1305,211 0 161083 -- U+003B (19U 59) +< 15077,15025,0,1382,284,211 0 161084 -- U+003C (19U 60) += 15077,11679,0,1408,284,211 0 161085 -- U+003D (19U 61) +> 15077,15025,0,1382,284,211 0 161086 -- U+003E (19U 62) +? 13229,17919,375,685,-1020,211 2 161087 -- U+003F (19U 63) +at 22014,17919,5710,2041,1421,211 3 161088 -- U+0040 (19U 64) +@ " +A 17648,17919,0,0,2816 2 161089 -- U+0041 (19U 65) +B 17648,17518,0,736,1990,211 2 161090 -- U+0042 (19U 66) +C 17648,17919,400,2739,-412,211 2 161091 -- U+0043 (19U 67) +D 19107,17518,0,775,2274,211 2 161092 -- U+0044 (19U 68) +E 17648,17518,0,1654,2248,211 2 161093 -- U+0045 (19U 69) +F 17648,17518,0,2791,1318,211 2 161094 -- U+0046 (19U 70) +G 19107,17919,400,1977,-516,211 2 161095 -- U+0047 (19U 71) +H 20580,17518,0,3540,2170,211 2 161096 -- U+0048 (19U 72) +I 10297,17518,0,3372,2248,211 2 161097 -- U+0049 (19U 73) +J 13229,17518,400,3902,1524,211 2 161098 -- U+004A (19U 74) +K 17648,17518,0,3424,2170,211 2 161099 -- U+004B (19U 75) +L 16162,17518,0,233,2170,211 2 161100 -- U+004C (19U 76) +M 23526,17518,0,3566,2209,211 2 161101 -- U+004D (19U 77) +N 19107,17518,194,3669,2170,211 2 161102 -- U+004E (19U 78) +O 19107,17932,413,1214,-89,211 2 161103 -- U+004F (19U 79) +P 16162,17518,0,2183,2106,211 2 161104 -- U+0050 (19U 80) +Q 19107,17919,5504,1201,-89,211 3 161105 -- U+0051 (19U 81) +R 17648,17518,0,581,2157,211 2 161106 -- U+0052 (19U 82) +S 14715,17919,400,2041,1899,211 2 161107 -- U+0053 (19U 83) +T 16162,17518,0,3488,-787,211 2 161108 -- U+0054 (19U 84) +U 19107,17518,400,3604,-1162,211 2 161109 -- U+0055 (19U 85) +V 17648,17518,400,4212,-1821,211 2 161110 -- U+0056 (19U 86) +W 23526,17518,400,4302,-1937,211 2 161111 -- U+0057 (19U 87) +X 17648,17518,0,3863,2920,211 2 161112 -- U+0058 (19U 88) +Y 16162,17518,0,4121,-1136,211 2 161113 -- U+0059 (19U 89) +Z 16162,17518,0,3114,2041,211 2 161114 -- U+005A (19U 90) +lB 8811,17518,4871,3850,2080,211 2 161115 -- U+005B (19U 91) +[ " +rs 7351,17880,400,0,-748 2 161116 -- U+005C (19U 92) +\ " +rB 8811,17518,4871,1679,4250,211 2 161117 -- U+005D (19U 93) +] " +ha 15077,17880,0,517,-1368,211 2 161118 -- U+005E (19U 94) +_ 13229,0,5710,0,3643 1 161119 -- U+005F (19U 95) +ga 8811,17919,0,840,-1834,211 2 161120 -- U+0060 (19U 96) +a 13229,11976,362,762,801,211 0 161121 -- U+0061 (19U 97) +b 13229,17919,362,491,1072,211 2 161122 -- U+0062 (19U 98) +c 11743,11976,362,1098,620,211 0 161123 -- U+0063 (19U 99) +d 13229,17919,362,2519,788,211 2 161124 -- U+0064 (19U 100) +e 11743,11976,362,1214,736,211 0 161125 -- U+0065 (19U 101) +f 8811,17919,5710,5930,5555,211 3 161126 -- U+0066 (19U 102) +g 13229,11976,5710,1757,2687,211 1 161127 -- U+0067 (19U 103) +h 14715,17919,155,0,995 2 161128 -- U+0068 (19U 104) +i 7351,17919,362,1809,788,211 2 161129 -- U+0069 (19U 105) +j 7351,17919,5710,1835,5581,211 3 161130 -- U+006A (19U 106) +k 13229,17919,181,1667,1163,211 2 161131 -- U+006B (19U 107) +l 7351,17919,362,2338,930,211 2 161132 -- U+006C (19U 108) +m 20580,11976,142,0,1059 0 161133 -- U+006D (19U 109) +n 14715,11976,155,0,982 0 161134 -- U+006E (19U 110) +o 13229,11976,362,517,672,211 0 161135 -- U+006F (19U 111) +p 13229,11976,5659,633,4548,211 1 161136 -- U+0070 (19U 112) +q 13229,11976,5659,878,814,211 1 161137 -- U+0071 (19U 113) +r 10297,11976,0,1667,866,211 0 161138 -- U+0072 (19U 114) +s 10297,11976,362,866,1331,211 0 161139 -- U+0073 (19U 115) +t 7351,15128,362,2209,814,211 0 161140 -- U+0074 (19U 116) +u 14715,11976,362,297,413,211 0 161141 -- U+0075 (19U 117) +v 11743,11976,362,1279,581,211 0 161142 -- U+0076 (19U 118) +w 17648,11976,362,1214,581,211 0 161143 -- U+0077 (19U 119) +x 13229,11976,362,1537,2519,211 0 161144 -- U+0078 (19U 120) +y 11743,11976,5710,1279,3798,211 1 161145 -- U+0079 (19U 121) +z 10297,11614,2248,1524,1589,211 0 161146 -- U+007A (19U 122) +{ 9211,17919,5361,4173,194,211 3 161147 -- U+007B (19U 123) +lC " +| 5827,17919,5710,0,-735 3 161148 -- U+007C (19U 124) +ba " +} 9211,17932,5349,581,3785,211 3 161149 -- U+007D (19U 125) +rC " +ti 15077,9173,0,814,814,211 0 161150 -- U+007E (19U 126) +r! 10297,12583,5710,0,801 1 161185 -- U+00A1 (19U 161) +ct 13229,17040,4922,323,-89,211 2 161186 -- U+00A2 (19U 162) +Po 13229,17880,362,1977,375,211 2 161187 -- U+00A3 (19U 163) +Cs 13229,15012,0,1602,530,211 0 161188 -- U+00A4 (19U 164) +Ye 13229,17518,0,4341,1563,211 2 161189 -- U+00A5 (19U 165) +bb 5827,17919,5710,0,-735 3 161190 -- U+00A6 (19U 166) +sc 13229,17919,5710,2106,1679,211 3 161191 -- U+00A7 (19U 167) +ad 8811,17402,0,3126,-1071,211 2 161192 -- U+00A8 (19U 168) +co 19766,17919,400,1305,-102,211 2 161193 -- U+00A9 (19U 169) +Of 7041,17880,0,3979,-490,211 2 161194 -- U+00AA (19U 170) +Fo 13229,11769,129,1137,245,211 0 161195 -- U+00AB (19U 171) +tno 16033,11653,0,362,375,211 0 161196 -- U+00AC (19U 172) +u00AD 8811,7144,0,1034,1150,211 0 161197 -- U+00AD (19U 173) +rg 19766,17919,400,1305,-102,211 2 161198 -- U+00AE (19U 174) +u00AF 13229,20580,0,5129,-2001,211 2 161199 -- U+00AF (19U 175) +de 10581,17880,0,2002,-1007,211 2 161200 -- U+00B0 (19U 176) +t+- 14521,15813,0,1318,930,211 0 161201 -- U+00B1 (19U 177) +S2 7932,17880,0,2480,13,211 2 161202 -- U+00B2 (19U 178) +S3 7932,17880,0,2274,-115,211 2 161203 -- U+00B3 (19U 179) +aa 8811,17919,0,3217,-3875,211 2 161204 -- U+00B4 (19U 180) +mc 15245,11614,5723,78,2971,78 1 161205 -- U+00B5 (19U 181) +ps 13229,17518,5710,1886,1835,211 3 161206 -- U+00B6 (19U 182) +pc 6615,10930,0,956,-684,211 0 60157 -- U+00B7 ( 7J 253) +ac 8811,0,4858,0,1176 0 161208 -- U+00B8 (19U 184) +S1 7932,17880,0,1925,-270,211 2 161209 -- U+00B9 (19U 185) +Om 7932,17880,0,3307,-955,211 2 161210 -- U+00BA (19U 186) +Fc 13229,11769,129,245,1137,211 0 161211 -- U+00BB (19U 187) +14 19844,17880,762,129,-244,129 2 161212 -- U+00BC (19U 188) +12 19844,17880,762,0,-244 2 161213 -- U+00BD (19U 189) +34 19844,17880,762,116,-89,116 2 161214 -- U+00BE (19U 190) +r? 13229,12596,5710,0,1201 1 161215 -- U+00BF (19U 191) +`A 17648,23358,0,168,2816,168 2 161216 -- U+00C0 (19U 192) +'A 17648,23086,0,3178,2816,211 2 161217 -- U+00C1 (19U 193) +^A 17648,23164,0,1796,2816,211 2 161218 -- U+00C2 (19U 194) +~A 17648,22776,0,2377,2816,211 2 161219 -- U+00C3 (19U 195) +:A 17648,22518,0,2752,2816,211 2 161220 -- U+00C4 (19U 196) +oA 17648,22337,0,1072,2803,211 2 161221 -- U+00C5 (19U 197) +AE 24973,17518,0,1705,2803,211 2 161222 -- U+00C6 (19U 198) +,C 17648,17919,4858,2739,-412,211 2 161223 -- U+00C7 (19U 199) +`E 17648,23358,0,1654,2248,211 2 161224 -- U+00C8 (19U 200) +'E 17648,23086,0,1654,2248,211 2 161225 -- U+00C9 (19U 201) +^E 17648,23164,0,1654,2248,211 2 161226 -- U+00CA (19U 202) +:E 17648,22518,0,1654,2248,211 2 161227 -- U+00CB (19U 203) +`I 10297,23358,0,3372,2248,211 2 161228 -- U+00CC (19U 204) +'I 10297,23086,0,4935,2248,211 2 161229 -- U+00CD (19U 205) +^I 10297,23164,0,3411,2248,211 2 161230 -- U+00CE (19U 206) +:I 10297,22518,0,3889,2248,211 2 161231 -- U+00CF (19U 207) +-D 19107,17518,0,943,2170,211 2 161232 -- U+00D0 (19U 208) +~N 19107,22273,194,3669,2170,211 2 161233 -- U+00D1 (19U 209) +`O 19107,23358,413,1214,-89,211 2 161234 -- U+00D2 (19U 210) +'O 19107,23461,413,1214,-89,211 2 161235 -- U+00D3 (19U 211) +^O 19107,22841,413,1214,-89,211 2 161236 -- U+00D4 (19U 212) +~O 19107,22273,413,1214,-89,211 2 161237 -- U+00D5 (19U 213) +:O 19107,22195,413,1214,-89,211 2 161238 -- U+00D6 (19U 214) +tmu 15077,14366,0,0,-671 0 161239 -- U+00D7 (19U 215) +/O 19107,17919,413,1434,220,211 2 161240 -- U+00D8 (19U 216) +`U 19107,23358,400,3604,-1162,211 2 161241 -- U+00D9 (19U 217) +'U 19107,23461,400,3604,-1162,211 2 161242 -- U+00DA (19U 218) +^U 19107,22841,400,3604,-1162,211 2 161243 -- U+00DB (19U 219) +:U 19107,22195,400,3604,-1162,211 2 161244 -- U+00DC (19U 220) +'Y 16162,23086,0,4121,-1136,211 2 161245 -- U+00DD (19U 221) +TP 16162,17518,0,1098,2132,211 2 161246 -- U+00DE (19U 222) +ss 13229,17919,5710,1473,5827,211 3 161247 -- U+00DF (19U 223) +`a 13229,17919,362,762,801,211 2 161248 -- U+00E0 (19U 224) +'a 13229,17919,362,866,801,211 2 161249 -- U+00E1 (19U 225) +^a 13229,17919,362,762,801,211 2 161250 -- U+00E2 (19U 226) +~a 13229,17518,362,827,801,211 2 161251 -- U+00E3 (19U 227) +:a 13229,17402,362,956,801,211 2 161252 -- U+00E4 (19U 228) +oa 13229,18423,362,762,801,211 2 161253 -- U+00E5 (19U 229) +ae 19107,11976,362,1163,827,211 0 161254 -- U+00E6 (19U 230) +,c 11743,11976,4858,1150,568,211 0 161255 -- U+00E7 (19U 231) +`e 11743,17919,362,1266,685,211 2 161256 -- U+00E8 (19U 232) +'e 11743,17919,362,3759,685,211 2 161257 -- U+00E9 (19U 233) +^e 11743,17919,362,1266,685,211 2 161258 -- U+00EA (19U 234) +:e 11743,17402,362,1757,685,211 2 161259 -- U+00EB (19U 235) +`i 7351,17919,362,1150,736,211 2 161260 -- U+00EC (19U 236) +'i 7351,17919,362,3527,736,211 2 161261 -- U+00ED (19U 237) +^i 7351,17919,362,2958,736,211 2 161262 -- U+00EE (19U 238) +:i 7351,17402,362,3475,736,211 2 161263 -- U+00EF (19U 239) +Sd 13229,17919,362,956,646,211 2 161264 -- U+00F0 (19U 240) +~n 14715,17518,155,0,1034 2 161265 -- U+00F1 (19U 241) +`o 13229,17919,362,517,672,211 2 161266 -- U+00F2 (19U 242) +'o 13229,17919,362,1344,672,211 2 161267 -- U+00F3 (19U 243) +^o 13229,17919,362,517,672,211 2 161268 -- U+00F4 (19U 244) +~o 13229,17518,362,827,672,211 2 161269 -- U+00F5 (19U 245) +:o 13229,17402,362,956,672,211 2 161270 -- U+00F6 (19U 246) +tdi 14521,14418,0,1563,672,211 0 161271 -- U+00F7 (19U 247) +/o 13229,11976,362,917,917,211 0 161272 -- U+00F8 (19U 248) +`u 14715,17919,362,245,465,211 2 161273 -- U+00F9 (19U 249) +'u 14715,17919,362,245,465,211 2 161274 -- U+00FA (19U 250) +^u 14715,17919,362,245,465,211 2 161275 -- U+00FB (19U 251) +:u 14715,17402,362,245,465,211 2 161276 -- U+00FC (19U 252) +'y 11743,17919,5710,1951,3747,211 3 161277 -- U+00FD (19U 253) +Tp 13229,17919,5710,633,4548,211 3 161278 -- U+00FE (19U 254) +:y 11743,17402,5710,1331,3747,211 3 161279 -- U+00FF (19U 255) +u0041_0306 17648,23422,0,3088,2816,211 2 75203 -- U+0102 ( 9E 195) +u0061_0306 13229,17919,362,762,801,211 2 75235 -- U+0103 ( 9E 227) +u0041_0328 17648,17919,5271,142,2816,142 3 75173 -- U+0104 ( 9E 165) +u0061_0328 13229,11976,5413,762,801,211 1 75193 -- U+0105 ( 9E 185) +'C 17648,23086,400,2739,-412,211 2 75206 -- U+0106 ( 9E 198) +'c 11743,17919,362,2106,568,211 2 75238 -- U+0107 ( 9E 230) +u0041_030C 17648,23203,400,2739,-412,211 2 75208 -- U+010C ( 9E 200) +u0061_030C 11743,17919,362,3036,568,211 2 75240 -- U+010D ( 9E 232) +u0044_030C 19107,23203,0,775,2274,211 2 75215 -- U+010E ( 9E 207) +u0064_030C 19805,17919,362,1395,788,211 2 75247 -- U+010F ( 9E 239) +u0111 13229,17919,362,3656,788,211 2 75248 -- U+0111 ( 9E 240) +u0045_0328 17648,17518,5271,1654,2248,211 3 75210 -- U+0118 ( 9E 202) +u0065_0328 11743,11976,5271,1266,685,211 1 75242 -- U+0119 ( 9E 234) +u0045_030C 17648,23203,0,1654,2248,211 2 75212 -- U+011A ( 9E 204) +u0065_030C 11743,17919,362,2920,685,211 2 75244 -- U+011B ( 9E 236) +u0047_0306 19107,23422,400,1977,-516,211 2 46288 -- U+011E ( 5T 208) +u0067_0306 13229,17919,5710,1757,2687,211 3 46320 -- U+011F ( 5T 240) +u0049_0307 10297,23035,0,3372,2248,211 2 46301 -- U+0130 ( 5T 221) +.i 7351,11976,362,762,736,211 0 46333 -- U+0131 ( 5T 253) +IJ 21769,17518,400,4070,2248,211 2 60135 -- U+0132 ( 7J 231) +ij 14612,17919,5710,1421,349,211 3 60134 -- U+0133 ( 7J 230) +u004C_0301 16162,23086,0,362,2041,211 2 75205 -- U+0139 ( 9E 197) +u006C_0301 7351,23086,362,4883,891,211 2 75237 -- U+013A ( 9E 229) +u004C_030C 16162,17919,0,2765,2041,211 2 75196 -- U+013D ( 9E 188) +u006C_030C 13785,17919,362,1395,891,211 2 75198 -- U+013E ( 9E 190) +u013F 16162,17518,0,362,2041,211 2 95646 -- U+013F (11U 158) +u0140 9922,17919,362,1176,749,211 2 95647 -- U+0140 (11U 159) +/L 16162,17518,0,362,2041,211 2 75171 -- U+0141 ( 9E 163) +/l 7351,17919,362,2377,1318,211 2 75187 -- U+0142 ( 9E 179) +u004E_0301 19107,23086,194,3669,2170,211 2 75217 -- U+0143 ( 9E 209) +u006E_0301 14715,17919,155,0,1034 2 75249 -- U+0144 ( 9E 241) +u004E_030C 19107,23203,194,3669,2170,211 2 75218 -- U+0147 ( 9E 210) +u006E_030C 14715,17919,155,39,1034,39 2 75250 -- U+0148 ( 9E 242) +u0149 19017,17919,155,0,155 2 95660 -- U+0149 (11U 172) +u004F_030B 19107,23422,413,2054,-89,211 2 75221 -- U+0150 ( 9E 213) +u006F_030B 13229,17919,362,4082,672,211 2 75253 -- U+0151 ( 9E 245) +OE 24973,17660,142,1705,-322,211 2 161164 -- U+0152 (19U 140) +oe 19107,11976,362,1189,723,211 0 161180 -- U+0153 (19U 156) +u0052_0301 17648,23086,0,581,2157,211 2 75200 -- U+0154 ( 9E 192) +u0072_0301 10297,17919,0,2610,866,211 2 75232 -- U+0155 ( 9E 224) +u0052_030C 17648,23203,0,581,2157,211 2 75224 -- U+0158 ( 9E 216) +u0072_030C 10297,17919,0,2145,866,211 2 75256 -- U+0159 ( 9E 248) +u0053_0301 14715,23086,400,2041,1899,211 2 75148 -- U+015A ( 9E 140) +u0073_0301 10297,17919,362,2183,1382,211 2 75164 -- U+015B ( 9E 156) +u0053_0327 14715,17919,4858,2041,1899,211 2 75178 -- U+015E ( 9E 170) +u0073_0327 10297,11976,4858,814,1382,211 0 75194 -- U+015F ( 9E 186) +vS 14715,23203,400,2041,1899,211 2 161162 -- U+0160 (19U 138) +vs 10297,17919,362,1705,1369,211 2 161178 -- U+0161 (19U 154) +u0054_0327 16162,17518,6783,3488,-787,211 3 75230 -- U+0162 ( 9E 222) +u0074_0327 7351,15128,6783,2248,1434,211 1 75262 -- U+0163 ( 9E 254) +u0054_030C 16162,23203,0,3488,-787,211 2 75149 -- U+0164 ( 9E 141) +u0074_030C 14056,17919,362,1667,788,211 2 75165 -- U+0165 ( 9E 157) +u0055_030A 19107,23229,400,3604,-1162,211 2 75225 -- U+016E ( 9E 217) +u0075_030A 14715,18423,362,245,465,211 2 75257 -- U+016F ( 9E 249) +u0055_030B 19107,23422,400,3604,-1162,211 2 75227 -- U+0170 ( 9E 219) +u0075_030B 14715,17919,362,2455,465,211 2 75259 -- U+0171 ( 9E 251) +:Y 16162,22518,0,4121,-1136,211 2 161183 -- U+0178 (19U 159) +u005A_0301 16162,23086,0,3114,2041,211 2 75151 -- U+0179 ( 9E 143) +u007A_0301 10297,17919,2248,2300,1641,211 2 75167 -- U+017A ( 9E 159) +u005A_0307 16162,22311,0,3114,2041,211 2 75183 -- U+017B ( 9E 175) +u007A_0307 10297,17531,2248,1473,1641,211 2 75199 -- U+017C ( 9E 191) +vZ 16162,23203,0,3114,2041,211 2 75150 -- U+017D ( 9E 142) +vz 10297,17919,2248,2106,1628,211 2 75166 -- U+017E ( 9E 158) +Fn 13229,17932,5710,1331,1331,211 3 161155 -- U+0192 (19U 131) +a^ 8811,17919,0,2661,-632,211 2 161160 -- U+02C6 (19U 136) +^ " +ah 8811,17919,0,3579,-1562,211 2 75169 -- U+02C7 ( 9E 161) +a- 8811,16201,0,4250,-852,211 2 60154 -- U+02C9 ( 7J 250) +ab 8811,17919,0,3178,-2182,211 2 75170 -- U+02D8 ( 9E 162) +a. 8811,17531,0,1421,-3784,211 2 75263 -- U+02D9 ( 9E 255) +ao 8811,18423,0,2222,-3022,211 2 60152 -- U+02DA ( 7J 248) +ho 8811,245,5271,0,3604 1 75186 -- U+02DB ( 9E 178) +~ 8811,17518,0,3036,-1033,211 2 161176 -- U+02DC (19U 152) +a~ " +a" 8811,17919,0,4431,-2389,211 2 75197 -- U+02DD ( 9E 189) +en 13229,6899,0,1550,1512,211 0 161174 -- U+2013 (19U 150) +em 26458,6899,0,1563,1576,211 0 161175 -- U+2014 (19U 151) +u2017 13229,0,5710,0,3643 1 60095 -- U+2017 ( 7J 191) +oq 8811,17919,0,1667,-2441,211 2 161169 -- U+2018 (19U 145) +` " +cq 8811,17919,0,1705,-2479,211 2 161170 -- U+2019 (19U 146) +' " +bq 8811,3940,4250,0,956 0 161154 -- U+201A (19U 130) +lq 13229,17919,0,2338,-1808,211 2 161171 -- U+201C (19U 147) +rq 13229,17919,0,2351,-1808,211 2 161172 -- U+201D (19U 148) +Bq 13229,3979,4276,0,2093 0 161156 -- U+201E (19U 132) +dg 13229,17932,5659,1576,-968,211 3 161158 -- U+2020 (19U 134) +dd 13229,17919,5710,1524,1473,211 3 161159 -- U+2021 (19U 135) +bu 9263,12415,0,723,26,211 0 161173 -- U+2022 (19U 149) +u2026 26458,3979,349,0,-942 0 161157 -- U+2026 (19U 133) +%0 26458,17919,723,840,646,211 2 161161 -- U+2030 (19U 137) +fm 7441,17919,0,2196,-2802,211 2 60101 -- U+2032 ( 7J 197) +sd 14612,17919,0,1499,-3035,211 2 60102 -- U+2033 ( 7J 198) +fo 8811,11782,142,594,-232,211 0 161163 -- U+2039 (19U 139) +fc 8811,11782,142,0,581 0 161179 -- U+203A (19U 155) +u203C 17441,17919,362,439,-193,211 2 87315 -- U+203C (10U 19) +u207F 9198,14418,0,556,1201,211 0 87548 -- U+207F (10U 252) +u20A7 25632,17518,297,995,853,211 2 60121 -- U+20A7 ( 7J 217) +Eu 13229,17880,362,3940,891,211 2 161152 -- U+20AC (19U 128) +u2105 22053,17919,711,698,-658,211 2 60072 -- U+2105 ( 7J 168) +u2113 11304,17919,362,1628,853,211 2 60122 -- U+2113 ( 7J 218) +tm 26458,17518,0,1460,1357,211 2 161177 -- U+2122 (19U 153) +\- 16033,9612,0,336,388,211 0 60096 -- U+2212 ( 7J 192) +f/ 4418,17880,762,6175,6188,211 2 60109 -- U+2215 ( 7J 205) +sq 15981,12196,0,0,-567 0 60091 -- U+25A1 ( 7J 187) +u25CA 13074,18371,0,736,711,211 2 101079 -- U+25CA (12J 215) +fi 14715,17919,5710,594,6059,211 3 60077 -- U+FB01 ( 7J 173) +fl 14715,17919,5710,2157,6072,211 3 60078 -- U+FB02 ( 7J 174) diff -ruN groff-1.19/font/devlj4/TNRI groff-1.19.1/font/devlj4/TNRI --- groff-1.19/font/devlj4/TNRI Thu Jan 1 01:00:00 1970 +++ groff-1.19.1/font/devlj4/TNRI Wed Feb 18 10:01:17 2004 @@ -0,0 +1,450 @@ +# M Times New It +name TNRI +spacewidth 6615 +slant 16.340000 +pcltypeface 16901 +pclproportional 1 +pclweight 0 +pclstyle 1 +ligatures fi fl 0 +kernpairs +1 1 -1963 +A T -981 +A V -1317 +A W -981 +A Y -1459 +A v -1459 +A w -1459 +A y -1459 +A cq -981 +A ' -981 +F , -3410 +F . -3410 +F A -3410 +L T -529 +L V -981 +L W -981 +L Y -529 +L y -787 +L cq -981 +L ' -981 +P , -3410 +P . -3410 +P A -3410 +R T 0 +R V -477 +R W -477 +R Y -477 +R y -477 +T , -1963 +T hy -1963 +T - -1963 +T . -1963 +T : -1459 +T ; -1717 +T A -1963 +T O -477 +T a -2428 +T c -2428 +T e -2428 +T i -1459 +T o -2428 +T r -1459 +T s -2428 +T u -1459 +T w -1963 +T y -1963 +V , -3410 +V hy -1459 +V - -1459 +V . -3410 +V : -1717 +V ; -1963 +V A -1963 +V O -787 +V a -2932 +V e -2932 +V i -1963 +V o -2932 +V r -1963 +V u -1963 +V y -2428 +W , -2428 +W hy -981 +W - -981 +W . -2428 +W : -1717 +W ; -1717 +W A -1846 +W a -2428 +W e -2428 +W i -1459 +W o -2428 +W r -1459 +W u -1459 +W y -2428 +Y , -2428 +Y hy -1963 +Y - -1963 +Y . -2428 +Y : -1717 +Y ; -1717 +Y A -1846 +Y a -2428 +Y e -2428 +Y i -1963 +Y o -2428 +Y p -2428 +Y q -2932 +Y u -2428 +Y v -2428 +f cq 2429 +f ' 2429 +r , -2932 +r hy -529 +r - -529 +r . -2932 +r c -981 +r d -981 +r e -981 +r g -981 +r h -477 +r o -981 +r q -981 +r r 0 +r t 0 +r u 0 +r v 0 +r w 0 +r x 0 +r y 0 +r cq 982 +r ' 982 +v , -1963 +v . -1963 +w , -1963 +w . -1963 +y , -1459 +y . -1459 +oq oq -2932 +oq ` -2932 +` oq -2932 +` ` -2932 +cq s -3410 +' s -3410 +cq t -2932 +' t -2932 +cq cq -2932 +cq ' -2932 +' cq -2932 +' ' -2932 +charset +! 8811,17919,426,904,-671,207 2 161057 -- U+0021 (19U 33) +dq 11110,17919,0,2170,-2479,207 2 161058 -- U+0022 (19U 34) +" " +sh 13229,17919,362,2261,-580,207 2 161059 -- U+0023 (19U 35) +# " +Do 13229,18526,1744,1021,207,207 2 161060 -- U+0024 (19U 36) +$ " +% 22040,17919,711,891,-542,207 2 161061 -- U+0025 (19U 37) +& 20580,17919,400,129,52,129 2 161062 -- U+0026 (19U 38) +aq 5659,17919,0,2571,-2156,207 2 161063 -- U+0027 (19U 39) +( 8811,18371,5659,4212,-490,207 3 161064 -- U+0028 (19U 40) +) 8811,18371,5659,0,4199 3 161065 -- U+0029 (19U 41) +* 13229,18371,0,1331,-2428,207 2 161066 -- U+002A (19U 42) ++ 17854,15748,0,0,-1136 0 161067 -- U+002B (19U 43) +, 6615,2325,3320,0,1589 0 161068 -- U+002C (19U 44) +hy 8811,6602,0,426,620,207 0 161069 -- U+002D (19U 45) +- " +. 6615,2313,297,0,426 0 161070 -- U+002E (19U 46) +sl 7351,18371,400,4057,2209,207 2 161071 -- U+002F (19U 47) +/ " +0 13229,17880,310,1150,-257,207 2 161072 -- U+0030 (19U 48) +1 13229,17880,0,0,-296 2 161073 -- U+0031 (19U 49) +2 13229,17880,0,491,904,207 2 161074 -- U+0032 (19U 50) +3 13229,17880,310,90,439,90 2 161075 -- U+0033 (19U 51) +4 13229,17518,310,969,491,207 2 161076 -- U+0034 (19U 52) +5 13229,17518,310,762,375,207 2 161077 -- U+0035 (19U 53) +6 13229,17880,310,1990,-348,207 2 161078 -- U+0036 (19U 54) +7 13229,17518,310,1938,-1678,207 2 161079 -- U+0037 (19U 55) +8 13229,17880,310,1021,310,207 2 161080 -- U+0038 (19U 56) +9 13229,17880,310,1072,556,207 2 161081 -- U+0039 (19U 57) +: 8811,11705,245,0,-257 0 161082 -- U+003A (19U 58) +; 8811,11679,3320,0,853 0 161083 -- U+003B (19U 59) +< 17854,15141,0,0,-619 0 161084 -- U+003C (19U 60) += 17854,11408,0,0,-1265 0 161085 -- U+003D (19U 61) +> 17854,15141,0,0,-619 0 161086 -- U+003E (19U 62) +? 13229,17919,400,220,-1239,207 2 161087 -- U+003F (19U 63) +at 24340,18371,5710,698,65,207 3 161088 -- U+0040 (19U 64) +@ " +A 16162,17919,0,0,2610 2 161089 -- U+0041 (19U 65) +B 16162,17518,0,775,1925,207 2 161090 -- U+0042 (19U 66) +C 17648,17919,400,2287,-464,207 2 161091 -- U+0043 (19U 67) +D 19107,17518,0,853,2106,207 2 161092 -- U+0044 (19U 68) +E 16162,17518,0,1886,1912,207 2 161093 -- U+0045 (19U 69) +F 16162,17518,0,2842,1964,207 2 161094 -- U+0046 (19U 70) +G 19107,17919,413,1382,-516,207 2 161095 -- U+0047 (19U 71) +H 19107,17518,0,3669,2015,207 2 161096 -- U+0048 (19U 72) +I 8811,17518,0,3359,2145,207 2 161097 -- U+0049 (19U 73) +J 11743,17518,400,4044,2222,207 2 161098 -- U+004A (19U 74) +K 17648,17518,0,2946,2028,207 2 161099 -- U+004B (19U 75) +L 14715,17518,0,439,2170,207 2 161100 -- U+004C (19U 76) +M 22040,17518,0,3721,2183,207 2 161101 -- U+004D (19U 77) +N 17648,17518,400,3824,2054,207 2 161102 -- U+004E (19U 78) +O 19107,17919,400,1201,-257,207 2 161103 -- U+004F (19U 79) +P 16162,17518,0,1589,1951,207 2 161104 -- U+0050 (19U 80) +Q 19107,17919,5581,1189,65,207 3 161105 -- U+0051 (19U 81) +R 16162,17518,0,478,1925,207 2 161106 -- U+0052 (19U 82) +S 13229,17919,400,2429,1137,207 2 161107 -- U+0053 (19U 83) +T 14715,17518,0,3785,-529,207 2 161108 -- U+0054 (19U 84) +U 19107,17518,400,3747,-1498,207 2 161109 -- U+0055 (19U 85) +V 16162,17518,400,4289,-1989,207 2 161110 -- U+0056 (19U 86) +W 22040,17518,400,4250,-1898,207 2 161111 -- U+0057 (19U 87) +X 16162,17518,0,4754,3088,207 2 161112 -- U+0058 (19U 88) +Y 14715,17518,0,4250,-1058,207 2 161113 -- U+0059 (19U 89) +Z 14715,17518,0,2765,1369,207 2 161114 -- U+005A (19U 90) +lB 10297,17919,5271,3488,1150,207 3 161115 -- U+005B (19U 91) +[ " +rs 7351,18371,400,90,-1498,90 2 161116 -- U+005C (19U 92) +\ " +rB 10297,17919,5271,672,3966,207 3 161117 -- U+005D (19U 93) +] " +ha 11162,17919,0,2325,594,207 2 161118 -- U+005E (19U 94) +_ 13229,0,5710,1550,1537,207 1 161119 -- U+005F (19U 95) +ga 8811,18113,0,1421,-3332,207 2 161120 -- U+0060 (19U 96) +a 13229,11692,310,504,698,207 0 161121 -- U+0061 (19U 97) +b 13229,18371,310,504,620,207 2 161122 -- U+0062 (19U 98) +c 11743,11692,310,840,594,207 0 161123 -- U+0063 (19U 99) +d 13229,18371,310,2403,814,207 2 161124 -- U+0064 (19U 100) +e 11743,11692,310,956,491,207 0 161125 -- U+0065 (19U 101) +f 7351,18371,5710,6434,5930,207 3 161126 -- U+0066 (19U 102) +g 13229,11692,5710,1873,2028,207 1 161127 -- U+0067 (19U 103) +h 13229,18371,310,233,788,207 2 161128 -- U+0068 (19U 104) +i 7351,16821,310,1176,181,207 2 161129 -- U+0069 (19U 105) +j 7351,16808,5710,1331,5865,207 3 161130 -- U+006A (19U 106) +k 11743,18371,310,2480,1059,207 2 161131 -- U+006B (19U 107) +l 7351,18371,310,1835,297,207 2 161132 -- U+006C (19U 108) +m 19107,11692,310,168,866,168 0 161133 -- U+006D (19U 109) +n 13229,11692,310,245,814,207 0 161134 -- U+006E (19U 110) +o 13229,11692,310,323,543,207 0 161135 -- U+006F (19U 111) +p 13229,11692,5659,594,4237,207 1 161136 -- U+0070 (19U 112) +q 13229,11692,5659,633,736,207 1 161137 -- U+0071 (19U 113) +r 10297,11692,0,1731,775,207 0 161138 -- U+0072 (19U 114) +s 10297,11692,310,620,1563,207 0 161139 -- U+0073 (19U 115) +t 7351,14896,310,1860,233,207 0 161140 -- U+0074 (19U 116) +u 13229,11692,310,543,543,207 0 161141 -- U+0075 (19U 117) +v 11743,11692,310,1279,749,207 0 161142 -- U+0076 (19U 118) +w 17648,11692,310,1176,866,207 0 161143 -- U+0077 (19U 119) +x 11743,11692,310,1150,2248,207 0 161144 -- U+0078 (19U 120) +y 11743,11692,5710,1176,3436,207 1 161145 -- U+0079 (19U 121) +z 10297,11382,0,1447,2054,207 0 161146 -- U+007A (19U 122) +{ 10581,18371,5710,3294,-503,207 3 161147 -- U+007B (19U 123) +lC " +| 7273,18371,5710,0,-1743 3 161148 -- U+007C (19U 124) +ba " +} 10581,18371,5710,0,3294 3 161149 -- U+007D (19U 125) +rC " +ti 14314,8759,0,1046,1059,207 0 161150 -- U+007E (19U 126) +r! 10297,12648,5710,0,-542 1 161185 -- U+00A1 (19U 161) +ct 13229,16834,4871,78,-154,78 2 161186 -- U+00A2 (19U 162) +Po 13229,17880,400,1964,685,207 2 161187 -- U+00A3 (19U 163) +Cs 13229,14999,0,1757,155,207 0 161188 -- U+00A4 (19U 164) +Ye 13229,17518,0,4560,1499,207 2 161189 -- U+00A5 (19U 165) +bb 7273,18371,5710,0,-1743 3 161190 -- U+00A6 (19U 166) +sc 13229,18074,5374,1576,1369,207 3 161191 -- U+00A7 (19U 167) +ad 8811,17312,0,3333,-2144,207 2 161192 -- U+00A8 (19U 168) +co 20102,17919,400,1344,-477,207 2 161193 -- U+00A9 (19U 169) +Of 7299,17919,0,3979,-981,207 2 161194 -- U+00AA (19U 170) +Fo 13229,11886,400,853,233,207 0 161195 -- U+00AB (19U 171) +tno 17854,11343,0,0,-619 0 161196 -- U+00AC (19U 172) +u00AD 8811,6602,0,426,620,207 0 161197 -- U+00AD (19U 173) +rg 20102,17919,400,1344,-477,207 2 161198 -- U+00AE (19U 174) +u00AF 13229,19973,0,4315,-1226,207 2 161199 -- U+00AF (19U 175) +de 10581,17906,0,1421,-1420,207 2 161200 -- U+00B0 (19U 176) +t+- 14521,15748,0,1421,633,207 0 161201 -- U+00B1 (19U 177) +S2 7932,17880,0,2209,-115,207 2 161202 -- U+00B2 (19U 178) +S3 7932,17880,0,1964,-387,207 2 161203 -- U+00B3 (19U 179) +aa 8811,18113,0,2028,-3965,207 2 161204 -- U+00B4 (19U 180) +mc 15245,11382,5697,0,1912 1 161205 -- U+00B5 (19U 181) +ps 13836,17518,5710,1085,-77,207 3 161206 -- U+00B6 (19U 182) +pc 6615,10193,0,0,-555 0 60157 -- U+00B7 ( 7J 253) +ac 8811,388,4780,0,1796 0 161208 -- U+00B8 (19U 184) +S1 7932,17880,0,1434,-787,207 2 161209 -- U+00B9 (19U 185) +Om 8204,17919,0,3514,-1627,207 2 161210 -- U+00BA (19U 186) +Fc 13229,11886,400,245,840,207 0 161211 -- U+00BB (19U 187) +14 19844,17880,711,0,-761 2 161212 -- U+00BC (19U 188) +12 19844,17880,711,0,-761 2 161213 -- U+00BD (19U 189) +34 19844,17880,711,0,-361 2 161214 -- U+00BE (19U 190) +r? 13229,12622,5710,0,375 1 161215 -- U+00BF (19U 191) +`A 16162,23280,0,594,2610,207 2 161216 -- U+00C0 (19U 192) +'A 16162,23280,0,1512,2610,207 2 161217 -- U+00C1 (19U 193) +^A 16162,22841,0,1576,2610,207 2 161218 -- U+00C2 (19U 194) +~A 16162,22415,0,2829,2610,207 2 161219 -- U+00C3 (19U 195) +:A 16162,22118,0,2855,2610,207 2 161220 -- U+00C4 (19U 196) +oA 16162,22234,0,1214,2584,207 2 161221 -- U+00C5 (19U 197) +AE 23526,17518,0,1847,2713,207 2 161222 -- U+00C6 (19U 198) +,C 17648,17919,4780,2287,-464,207 2 161223 -- U+00C7 (19U 199) +`E 16162,23280,0,1886,1912,207 2 161224 -- U+00C8 (19U 200) +'E 16162,23280,0,1886,1912,207 2 161225 -- U+00C9 (19U 201) +^E 16162,22841,0,1886,1912,207 2 161226 -- U+00CA (19U 202) +:E 16162,22118,0,1886,1912,207 2 161227 -- U+00CB (19U 203) +`I 8811,23280,0,3359,2145,207 2 161228 -- U+00CC (19U 204) +'I 8811,23280,0,3359,2145,207 2 161229 -- U+00CD (19U 205) +^I 8811,22841,0,3643,2145,207 2 161230 -- U+00CE (19U 206) +:I 8811,22118,0,4315,2145,207 2 161231 -- U+00CF (19U 207) +-D 19107,17518,0,1034,1938,207 2 161232 -- U+00D0 (19U 208) +~N 17648,22415,400,3824,2054,207 2 161233 -- U+00D1 (19U 209) +`O 19107,23280,400,1201,-257,207 2 161234 -- U+00D2 (19U 210) +'O 19107,23280,400,1201,-257,207 2 161235 -- U+00D3 (19U 211) +^O 19107,22841,400,1201,-257,207 2 161236 -- U+00D4 (19U 212) +~O 19107,22415,400,1201,-257,207 2 161237 -- U+00D5 (19U 213) +:O 19107,22118,400,1201,-257,207 2 161238 -- U+00D6 (19U 214) +tmu 17854,14095,0,0,-3565 0 161239 -- U+00D7 (19U 215) +/O 19107,18229,930,1718,388,207 2 161240 -- U+00D8 (19U 216) +`U 19107,23280,400,3747,-1498,207 2 161241 -- U+00D9 (19U 217) +'U 19107,23280,400,3747,-1498,207 2 161242 -- U+00DA (19U 218) +^U 19107,22841,400,3747,-1498,207 2 161243 -- U+00DB (19U 219) +:U 19107,22118,400,3747,-1498,207 2 161244 -- U+00DC (19U 220) +'Y 14715,23280,0,4237,-1045,207 2 161245 -- U+00DD (19U 221) +TP 16162,17518,0,1176,1951,207 2 161246 -- U+00DE (19U 222) +ss 13229,18371,5710,1266,5568,207 3 161247 -- U+00DF (19U 223) +`a 13229,18113,310,504,698,207 2 161248 -- U+00E0 (19U 224) +'a 13229,18113,310,504,698,207 2 161249 -- U+00E1 (19U 225) +^a 13229,17919,310,504,698,207 2 161250 -- U+00E2 (19U 226) +~a 13229,17648,310,1124,698,207 2 161251 -- U+00E3 (19U 227) +:a 13229,17312,310,1163,698,207 2 161252 -- U+00E4 (19U 228) +oa 13229,18358,310,504,698,207 2 161253 -- U+00E5 (19U 229) +ae 17648,11692,310,930,736,207 0 161254 -- U+00E6 (19U 230) +,c 11743,11692,4780,891,543,207 0 161255 -- U+00E7 (19U 231) +`e 11743,18113,310,956,491,207 2 161256 -- U+00E8 (19U 232) +'e 11743,18113,310,956,491,207 2 161257 -- U+00E9 (19U 233) +^e 11743,17919,310,1292,491,207 2 161258 -- U+00EA (19U 234) +:e 11743,17312,310,1951,491,207 2 161259 -- U+00EB (19U 235) +`i 7351,18113,310,1266,181,207 2 161260 -- U+00EC (19U 236) +'i 7351,18113,310,2803,181,207 2 161261 -- U+00ED (19U 237) +^i 7351,17919,310,3010,181,207 2 161262 -- U+00EE (19U 238) +:i 7351,17312,310,3682,181,207 2 161263 -- U+00EF (19U 239) +Sd 13229,18319,310,827,607,207 2 161264 -- U+00F0 (19U 240) +~n 13229,17648,310,1124,814,207 2 161265 -- U+00F1 (19U 241) +`o 13229,18113,310,323,543,207 2 161266 -- U+00F2 (19U 242) +'o 13229,18113,310,323,543,207 2 161267 -- U+00F3 (19U 243) +^o 13229,17919,310,491,543,207 2 161268 -- U+00F4 (19U 244) +~o 13229,17648,310,1124,543,207 2 161269 -- U+00F5 (19U 245) +:o 13229,17312,310,1163,543,207 2 161270 -- U+00F6 (19U 246) +tdi 14521,13888,0,1408,633,207 0 161271 -- U+00F7 (19U 247) +/o 13229,12467,943,1021,1253,207 0 161272 -- U+00F8 (19U 248) +`u 13229,18113,310,543,543,207 2 161273 -- U+00F9 (19U 249) +'u 13229,18113,310,543,543,207 2 161274 -- U+00FA (19U 250) +^u 13229,17919,310,543,543,207 2 161275 -- U+00FB (19U 251) +:u 13229,17312,310,853,543,207 2 161276 -- U+00FC (19U 252) +'y 11743,18113,5710,1227,3385,207 3 161277 -- U+00FD (19U 253) +Tp 13229,18371,5710,594,4237,207 3 161278 -- U+00FE (19U 254) +:y 11743,17312,5710,1486,3385,207 3 161279 -- U+00FF (19U 255) +u0041_0306 16162,22854,0,3398,2610,207 2 75203 -- U+0102 ( 9E 195) +u0061_0306 13229,18164,310,801,698,207 2 75235 -- U+0103 ( 9E 227) +u0041_0328 16162,17919,4909,0,2610 2 75173 -- U+0104 ( 9E 165) +u0061_0328 13229,11692,4883,1034,698,207 0 75193 -- U+0105 ( 9E 185) +'C 17648,23280,400,2287,-464,207 2 75206 -- U+0106 ( 9E 198) +'c 11743,18113,310,917,543,207 2 75238 -- U+0107 ( 9E 230) +u0041_030C 17648,22841,400,2287,-464,207 2 75208 -- U+010C ( 9E 200) +u0061_030C 11743,17919,310,3152,543,207 2 75240 -- U+010D ( 9E 232) +u0044_030C 19107,22841,0,853,2106,207 2 75215 -- U+010E ( 9E 207) +u0064_030C 16097,18371,310,3643,814,207 2 75247 -- U+010F ( 9E 239) +u0111 13229,18371,310,3630,814,207 2 75248 -- U+0111 ( 9E 240) +u0045_0328 16162,17518,4883,1886,1912,207 2 75210 -- U+0118 ( 9E 202) +u0065_0328 11743,11692,4883,956,491,207 0 75242 -- U+0119 ( 9E 234) +u0045_030C 16162,22841,0,1886,1912,207 2 75212 -- U+011A ( 9E 204) +u0065_030C 11743,17919,310,3010,491,207 2 75244 -- U+011B ( 9E 236) +u0047_0306 19107,22841,413,1382,-516,207 2 46288 -- U+011E ( 5T 208) +u0067_0306 13229,18164,5710,1873,2028,207 3 46320 -- U+011F ( 5T 240) +u0049_0307 8811,22234,0,3359,2145,207 2 46301 -- U+0130 ( 5T 221) +.i 7351,11692,310,52,181,52 0 46333 -- U+0131 ( 5T 253) +IJ 19844,17518,400,3411,2106,207 2 60135 -- U+0132 ( 7J 231) +ij 13242,16821,5710,1331,349,207 3 60134 -- U+0133 ( 7J 230) +u004C_0301 14715,23280,0,439,2170,207 2 75205 -- U+0139 ( 9E 197) +u006C_0301 7351,23280,310,3695,297,207 2 75237 -- U+013A ( 9E 229) +u004C_030C 14715,17919,0,2506,2170,207 2 75196 -- U+013D ( 9E 188) +u006C_030C 9625,18371,310,3656,310,207 2 75198 -- U+013E ( 9E 190) +u013F 14715,17518,0,439,2170,207 2 95646 -- U+013F (11U 158) +u0140 8540,18371,310,2726,375,207 2 95647 -- U+0140 (11U 159) +/L 14715,17518,0,452,2067,207 2 75171 -- U+0141 ( 9E 163) +/l 7351,18371,310,1912,659,207 2 75187 -- U+0142 ( 9E 179) +u004E_0301 17648,23280,400,3824,2054,207 2 75217 -- U+0143 ( 9E 209) +u006E_0301 13229,18113,310,245,814,207 2 75249 -- U+0144 ( 9E 241) +u004E_030C 17648,22841,400,3824,2054,207 2 75218 -- U+0147 ( 9E 210) +u006E_030C 13229,17919,310,245,814,207 2 75250 -- U+0148 ( 9E 242) +u0149 15270,17919,310,0,-167 2 95660 -- U+0149 (11U 172) +u004F_030B 19107,23280,400,1253,-257,207 2 75221 -- U+0150 ( 9E 213) +u006F_030B 13229,18113,310,2429,543,207 2 75253 -- U+0151 ( 9E 245) +OE 24973,17673,181,1990,736,207 2 161164 -- U+0152 (19U 140) +oe 17648,11692,323,827,620,207 0 161180 -- U+0153 (19U 156) +u0052_0301 16162,23280,0,478,1925,207 2 75200 -- U+0154 ( 9E 192) +u0072_0301 10297,18113,0,1679,827,207 2 75232 -- U+0155 ( 9E 224) +u0052_030C 16162,22841,0,478,1925,207 2 75224 -- U+0158 ( 9E 216) +u0072_030C 10297,17919,0,2364,827,207 2 75256 -- U+0159 ( 9E 248) +u0053_0301 13229,23280,400,2429,1137,207 2 75148 -- U+015A ( 9E 140) +u0073_0301 10297,18113,310,995,1563,207 2 75164 -- U+015B ( 9E 156) +u0053_0327 13229,17919,4780,2429,1137,207 2 75178 -- U+015E ( 9E 170) +u0073_0327 10297,11692,4780,620,1563,207 0 75194 -- U+015F ( 9E 186) +vS 13229,22841,400,2532,1137,207 2 161162 -- U+0160 (19U 138) +vs 10297,17919,310,1951,1524,207 2 161178 -- U+0161 (19U 154) +u0054_0327 14715,17518,5736,3785,-529,207 3 75230 -- U+0162 ( 9E 222) +u0074_0327 7351,14896,5736,1899,1770,207 1 75262 -- U+0163 ( 9E 254) +u0054_030C 14715,22841,0,3785,-529,207 2 75149 -- U+0164 ( 9E 141) +u0074_030C 9625,18371,310,3656,207,207 2 75165 -- U+0165 ( 9E 157) +u0055_030A 19107,23371,400,3747,-1498,207 2 75225 -- U+016E ( 9E 217) +u0075_030A 13229,18358,310,543,543,207 2 75257 -- U+016F ( 9E 249) +u0055_030B 19107,23280,400,3747,-1498,207 2 75227 -- U+0170 ( 9E 219) +u0075_030B 13229,18113,310,1912,543,207 2 75259 -- U+0171 ( 9E 251) +:Y 14715,22118,0,4237,-1045,207 2 161183 -- U+0178 (19U 159) +u005A_0301 14715,23280,0,2765,1369,207 2 75151 -- U+0179 ( 9E 143) +u007A_0301 10297,18113,0,1395,2106,207 2 75167 -- U+017A ( 9E 159) +u005A_0307 14715,22105,0,2765,1369,207 2 75183 -- U+017B ( 9E 175) +u007A_0307 10297,17312,0,1395,2106,207 2 75199 -- U+017C ( 9E 191) +vZ 14715,22841,0,2765,1369,207 2 75150 -- U+017D ( 9E 142) +vz 10297,17919,0,1628,2390,207 2 75166 -- U+017E ( 9E 158) +Fn 13229,17919,5568,995,1292,207 3 161155 -- U+0192 (19U 131) +a^ 8811,17919,0,2713,-1963,207 2 161160 -- U+02C6 (19U 136) +^ " +ah 8811,17919,0,3798,-3048,207 2 75169 -- U+02C7 ( 9E 161) +a- 8811,17415,0,3902,-1859,207 2 60154 -- U+02C9 ( 7J 250) +ab 8811,18164,0,3656,-2479,207 2 75170 -- U+02D8 ( 9E 162) +a. 8811,17312,0,1072,-4482,207 2 75263 -- U+02D9 ( 9E 255) +ao 8811,18358,0,2313,-3603,207 2 60152 -- U+02DA ( 7J 248) +ho 8811,0,4883,0,310 0 75186 -- U+02DB ( 9E 178) +~ 8811,17648,0,3333,-1239,207 2 161176 -- U+02DC (19U 152) +a~ " +a" 8811,18113,0,4431,-2596,207 2 75197 -- U+02DD ( 9E 189) +en 13229,6795,0,1537,1550,207 0 161174 -- U+2013 (19U 150) +em 23526,6808,0,1563,1563,207 0 161175 -- U+2014 (19U 151) +u2017 13229,0,5710,1550,1537,207 1 60095 -- U+2017 ( 7J 191) +oq 8811,17919,0,1899,-4288,207 2 161169 -- U+2018 (19U 145) +` " +cq 8811,17919,0,1473,-3862,207 2 161170 -- U+2019 (19U 146) +' " +bq 8811,2325,3320,0,478 0 161154 -- U+201A (19U 130) +lq 14715,17919,0,1395,-3771,207 2 161171 -- U+201C (19U 147) +rq 14715,17932,0,1124,-3500,207 2 161172 -- U+201D (19U 148) +Bq 14715,2338,3385,0,930 0 161156 -- U+201E (19U 132) +dg 13229,17919,5361,1886,-1536,207 3 161158 -- U+2020 (19U 134) +dd 13229,18371,5710,1421,1692,207 3 161159 -- U+2021 (19U 135) +bu 9263,11989,0,775,-916,207 0 161173 -- U+2022 (19U 149) +u2026 23526,2506,362,0,-2118 0 161157 -- U+2026 (19U 133) +%0 26458,17919,698,956,-322,207 2 161161 -- U+2030 (19U 137) +fm 5788,17919,0,2442,-2156,207 2 60101 -- U+2032 ( 7J 197) +sd 11020,17919,0,2261,-2479,207 2 60102 -- U+2033 ( 7J 198) +fo 8811,11886,400,749,-180,207 0 161163 -- U+2039 (19U 139) +fc 8811,11886,400,0,723 0 161179 -- U+203A (19U 155) +u203C 15154,17919,426,904,-671,207 2 87315 -- U+203C (10U 19) +u207F 8333,14431,0,723,1059,207 0 87548 -- U+207F (10U 252) +u20A7 26187,17518,310,1034,711,207 2 60121 -- U+20A7 ( 7J 217) +Eu 13229,17880,310,3604,1098,207 2 161152 -- U+20AC (19U 128) +u2105 22053,17919,698,543,-77,207 2 60072 -- U+2105 ( 7J 168) +u2113 11020,17919,310,1731,930,207 2 60122 -- U+2113 ( 7J 218) +tm 25929,17518,0,2946,-1136,207 2 161177 -- U+2122 (19U 153) +\- 17854,9328,0,0,-619 0 60096 -- U+2212 ( 7J 192) +f/ 4418,17880,711,5723,5723,207 2 60109 -- U+2215 ( 7J 205) +sq 15981,12196,0,0,-567 0 60091 -- U+25A1 ( 7J 187) +u25CA 13074,18371,0,736,711,207 2 101079 -- U+25CA (12J 215) +fi 13229,18371,5710,1318,6317,207 3 60077 -- U+FB01 ( 7J 173) +fl 13229,18371,5710,2635,6317,207 3 60078 -- U+FB02 ( 7J 174) diff -ruN groff-1.19/font/devlj4/TNRR groff-1.19.1/font/devlj4/TNRR --- groff-1.19/font/devlj4/TNRR Thu Jan 1 01:00:00 1970 +++ groff-1.19.1/font/devlj4/TNRR Wed Feb 18 10:01:17 2004 @@ -0,0 +1,436 @@ +# M Times +name TNRR +spacewidth 6615 +pcltypeface 16901 +pclproportional 1 +pclweight 0 +pclstyle 0 +ligatures fi fl 0 +kernpairs +1 1 -981 +A T -2932 +A V -3410 +A W -2118 +A Y -2428 +A v -1963 +A w -2428 +A y -2428 +A cq -2932 +A ' -2932 +F , -2118 +F . -2118 +F A -1963 +L T -2428 +L V -2428 +L W -1963 +L Y -2647 +L y -1459 +L cq -2428 +L ' -2428 +P , -2932 +P . -2932 +P A -2428 +R T -1588 +R V -2118 +R W -1459 +R Y -1459 +R y -1058 +T , -1963 +T hy -2428 +T - -2428 +T . -1963 +T : -1317 +T ; -1459 +T A -2118 +T O -477 +T a -1846 +T c -1846 +T e -1846 +T i -929 +T o -1846 +T r -929 +T s -1846 +T u -929 +T w -1846 +T y -1846 +V , -3410 +V hy -2428 +V - -2428 +V . -3410 +V : -1963 +V ; -1963 +V A -3410 +V a -2932 +V e -2932 +V i -1588 +V o -3410 +V r -1588 +V u -1588 +V y -2932 +W , -2428 +W hy -1459 +W - -1459 +W . -2428 +W : -981 +W ; -981 +W A -2932 +W a -2118 +W e -2118 +W i -1058 +W o -2118 +W r -1058 +W u -1058 +W y -1588 +Y , -3410 +Y hy -2932 +Y - -2932 +Y . -3410 +Y : -2428 +Y ; -2428 +Y A -2932 +Y a -2647 +Y e -2647 +Y i -1459 +Y o -2647 +Y p -2428 +Y q -2932 +Y u -2932 +Y v -2647 +f f -477 +f cq 1460 +f ' 1460 +r , -1058 +r hy -529 +r - -529 +r . -1459 +r g -477 +r cq 982 +r ' 982 +v , -1717 +v . -1717 +w , -1717 +w . -1717 +y , -1717 +y . -1717 +oq oq -1963 +oq ` -1963 +` oq -1963 +` ` -1963 +cq s -1459 +' s -1459 +cq t -477 +' t -477 +cq cq -1963 +cq ' -1963 +' cq -1963 +' ' -1963 +charset +! 8811,17919,362 2 161057 -- U+0021 (19U 33) +dq 10800,17919 2 161058 -- U+0022 (19U 34) +" " +sh 13229,17919,362 2 161059 -- U+0023 (19U 35) +# " +Do 13229,18991,2015 2 161060 -- U+0024 (19U 36) +$ " +% 22040,17919,723 2 161061 -- U+0025 (19U 37) +& 20580,17919,400 2 161062 -- U+0026 (19U 38) +aq 4767,17919 2 161063 -- U+0027 (19U 39) +( 8811,18371,5659 3 161064 -- U+0028 (19U 40) +) 8811,18371,5659 3 161065 -- U+0029 (19U 41) +* 13229,18371 2 161066 -- U+002A (19U 42) ++ 14922,15748 0 161067 -- U+002B (19U 43) +, 6615,2584,4405 0 161068 -- U+002C (19U 44) +hy 8811,6912 0 161069 -- U+002D (19U 45) +- " +. 6615,2506,362 0 161070 -- U+002E (19U 46) +sl 7351,18371,362 2 161071 -- U+002F (19U 47) +/ " +0 13229,17880,310 2 161072 -- U+0030 (19U 48) +1 13229,17880 2 161073 -- U+0031 (19U 49) +2 13229,17880 2 161074 -- U+0032 (19U 50) +3 13229,17880,310 2 161075 -- U+0033 (19U 51) +4 13229,17880 2 161076 -- U+0034 (19U 52) +5 13229,17518,310 2 161077 -- U+0035 (19U 53) +6 13229,17880,310 2 161078 -- U+0036 (19U 54) +7 13229,17518,362 2 161079 -- U+0037 (19U 55) +8 13229,17880,310 2 161080 -- U+0038 (19U 56) +9 13229,17880,362 2 161081 -- U+0039 (19U 57) +: 7351,12196,362 0 161082 -- U+003A (19U 58) +; 7351,12209,4405 0 161083 -- U+003B (19U 59) +< 14922,15141 0 161084 -- U+003C (19U 60) += 14922,11408 0 161085 -- U+003D (19U 61) +> 14922,15141 0 161086 -- U+003E (19U 62) +? 11743,17919,349 2 161087 -- U+003F (19U 63) +at 24365,18371,5710 3 161088 -- U+0040 (19U 64) +@ " +A 19107,17919 2 161089 -- U+0041 (19U 65) +B 17648,17518 2 161090 -- U+0042 (19U 66) +C 17648,17919,400 2 161091 -- U+0043 (19U 67) +D 19107,17518 2 161092 -- U+0044 (19U 68) +E 16162,17518 2 161093 -- U+0045 (19U 69) +F 14715,17518 2 161094 -- U+0046 (19U 70) +G 19107,17919,400 2 161095 -- U+0047 (19U 71) +H 19107,17518 2 161096 -- U+0048 (19U 72) +I 8811,17518 2 161097 -- U+0049 (19U 73) +J 10297,17518,400 2 161098 -- U+004A (19U 74) +K 19107,17518 2 161099 -- U+004B (19U 75) +L 16162,17518 2 161100 -- U+004C (19U 76) +M 23526,17518 2 161101 -- U+004D (19U 77) +N 19107,17518,284 2 161102 -- U+004E (19U 78) +O 19107,17919,400 2 161103 -- U+004F (19U 79) +P 14715,17518 2 161104 -- U+0050 (19U 80) +Q 19107,17919,5181 3 161105 -- U+0051 (19U 81) +R 17648,17518 2 161106 -- U+0052 (19U 82) +S 14715,17919,400 2 161107 -- U+0053 (19U 83) +T 16162,17518 2 161108 -- U+0054 (19U 84) +U 19107,17518,413 2 161109 -- U+0055 (19U 85) +V 19107,17518,400 2 161110 -- U+0056 (19U 86) +W 24973,17518,400 2 161111 -- U+0057 (19U 87) +X 19107,17518 2 161112 -- U+0058 (19U 88) +Y 19107,17518 2 161113 -- U+0059 (19U 89) +Z 16162,17518 2 161114 -- U+005A (19U 90) +lB 8811,17919,5245 3 161115 -- U+005B (19U 91) +[ " +rs 7351,18371,362 2 161116 -- U+005C (19U 92) +\ " +rB 8811,17919,5258 3 161117 -- U+005D (19U 93) +] " +ha 12415,17880 2 161118 -- U+005E (19U 94) +_ 13229,0,5710 1 161119 -- U+005F (19U 95) +ga 8811,17958 2 161120 -- U+0060 (19U 96) +a 11743,12183,245 0 161121 -- U+0061 (19U 97) +b 13229,18371,362 2 161122 -- U+0062 (19U 98) +c 11743,12183,362 0 161123 -- U+0063 (19U 99) +d 13229,18371,362 2 161124 -- U+0064 (19U 100) +e 11743,12196,362 0 161125 -- U+0065 (19U 101) +f 8811,18345 2 161126 -- U+0066 (19U 102) +g 13229,12183,5710 1 161127 -- U+0067 (19U 103) +h 13229,18371 2 161128 -- U+0068 (19U 104) +i 7351,18371 2 161129 -- U+0069 (19U 105) +j 7351,18384,5710 3 161130 -- U+006A (19U 106) +k 13229,18371 2 161131 -- U+006B (19U 107) +l 7351,18371 2 161132 -- U+006C (19U 108) +m 20580,12183 0 161133 -- U+006D (19U 109) +n 13229,12183 0 161134 -- U+006E (19U 110) +o 13229,12183,362 0 161135 -- U+006F (19U 111) +p 13229,12183,5659 1 161136 -- U+0070 (19U 112) +q 13229,12183,5659 1 161137 -- U+0071 (19U 113) +r 8811,12183 0 161138 -- U+0072 (19U 114) +s 10297,12183,362 0 161139 -- U+0073 (19U 115) +t 7351,15723,194 0 161140 -- U+0074 (19U 116) +u 13229,11834,362 0 161141 -- U+0075 (19U 117) +v 13229,11834,362 0 161142 -- U+0076 (19U 118) +w 19107,11834,362 0 161143 -- U+0077 (19U 119) +x 13229,11834 0 161144 -- U+0078 (19U 120) +y 13229,11834,5710 1 161145 -- U+0079 (19U 121) +z 11743,11834 0 161146 -- U+007A (19U 122) +{ 12699,18371,5710 3 161147 -- U+007B (19U 123) +lC " +| 5297,18371,5710 3 161148 -- U+007C (19U 124) +ba " +} 12699,18371,5710 3 161149 -- U+007D (19U 125) +rC " +ti 14314,8759 0 161150 -- U+007E (19U 126) +r! 8811,12583,5710 1 161185 -- U+00A1 (19U 161) +ct 13229,17131,4896 2 161186 -- U+00A2 (19U 162) +Po 13229,17880,310 2 161187 -- U+00A3 (19U 163) +Cs 13229,14999 0 161188 -- U+00A4 (19U 164) +Ye 13229,17518 2 161189 -- U+00A5 (19U 165) +bb 5297,18371,5710 3 161190 -- U+00A6 (19U 166) +sc 13229,17880,5168 3 161191 -- U+00A7 (19U 167) +ad 8811,17273 2 161192 -- U+00A8 (19U 168) +co 20102,17919,400 2 161193 -- U+00A9 (19U 169) +Of 7299,17880 2 161194 -- U+00AA (19U 170) +Fo 13229,12066,103 0 161195 -- U+00AB (19U 171) +tno 14922,11343 0 161196 -- U+00AC (19U 172) +u00AD 8811,6912 0 161197 -- U+00AD (19U 173) +rg 20102,17919,400 2 161198 -- U+00AE (19U 174) +u00AF 13229,19973 2 161199 -- U+00AF (19U 175) +de 10581,17906 2 161200 -- U+00B0 (19U 176) +t+- 14521,15748 0 161201 -- U+00B1 (19U 177) +S2 7932,17880 2 161202 -- U+00B2 (19U 178) +S3 7932,17880 2 161203 -- U+00B3 (19U 179) +aa 8811,17958 2 161204 -- U+00B4 (19U 180) +mc 15245,11834,5710 1 161205 -- U+00B5 (19U 181) +ps 11989,17518,5710 3 161206 -- U+00B6 (19U 182) +pc 6615,10193 0 60157 -- U+00B7 ( 7J 253) +ac 8811,207,5038 0 161208 -- U+00B8 (19U 184) +S1 7932,17880 2 161209 -- U+00B9 (19U 185) +Om 8204,17880 2 161210 -- U+00BA (19U 186) +Fc 13229,12066,103 0 161211 -- U+00BB (19U 187) +14 19844,17880,698 2 161212 -- U+00BC (19U 188) +12 19844,17880,698 2 161213 -- U+00BD (19U 189) +34 19844,17880,698 2 161214 -- U+00BE (19U 190) +r? 11743,12596,5710 1 161215 -- U+00BF (19U 191) +`A 19107,23216 2 161216 -- U+00C0 (19U 192) +'A 19107,23216 2 161217 -- U+00C1 (19U 193) +^A 19107,23164 2 161218 -- U+00C2 (19U 194) +~A 19107,22273 2 161219 -- U+00C3 (19U 195) +:A 19107,22066 2 161220 -- U+00C4 (19U 196) +oA 19107,21975 2 161221 -- U+00C5 (19U 197) +AE 23526,17518 2 161222 -- U+00C6 (19U 198) +,C 17648,17919,5038 2 161223 -- U+00C7 (19U 199) +`E 16162,23216 2 161224 -- U+00C8 (19U 200) +'E 16162,23216 2 161225 -- U+00C9 (19U 201) +^E 16162,23164 2 161226 -- U+00CA (19U 202) +:E 16162,22066 2 161227 -- U+00CB (19U 203) +`I 8811,23216 2 161228 -- U+00CC (19U 204) +'I 8811,23216 2 161229 -- U+00CD (19U 205) +^I 8811,23164 2 161230 -- U+00CE (19U 206) +:I 8811,22066 2 161231 -- U+00CF (19U 207) +-D 19107,17518 2 161232 -- U+00D0 (19U 208) +~N 19107,22273,284 2 161233 -- U+00D1 (19U 209) +`O 19107,23216,400 2 161234 -- U+00D2 (19U 210) +'O 19107,23216,400 2 161235 -- U+00D3 (19U 211) +^O 19107,23164,400 2 161236 -- U+00D4 (19U 212) +~O 19107,22273,400 2 161237 -- U+00D5 (19U 213) +:O 19107,22066,400 2 161238 -- U+00D6 (19U 214) +tmu 14922,14095 0 161239 -- U+00D7 (19U 215) +/O 19107,18087,607 2 161240 -- U+00D8 (19U 216) +`U 19107,23216,413 2 161241 -- U+00D9 (19U 217) +'U 19107,23216,413 2 161242 -- U+00DA (19U 218) +^U 19107,23164,413 2 161243 -- U+00DB (19U 219) +:U 19107,22066,413 2 161244 -- U+00DC (19U 220) +'Y 19107,23216 2 161245 -- U+00DD (19U 221) +TP 14715,17518 2 161246 -- U+00DE (19U 222) +ss 13229,18371,168 2 161247 -- U+00DF (19U 223) +`a 11743,17958,245 2 161248 -- U+00E0 (19U 224) +'a 11743,17958,245 2 161249 -- U+00E1 (19U 225) +^a 11743,17893,245 2 161250 -- U+00E2 (19U 226) +~a 11743,17518,245 2 161251 -- U+00E3 (19U 227) +:a 11743,17273,245 2 161252 -- U+00E4 (19U 228) +oa 11743,18423,245 2 161253 -- U+00E5 (19U 229) +ae 17648,12196,362 0 161254 -- U+00E6 (19U 230) +,c 11743,12183,5038 0 161255 -- U+00E7 (19U 231) +`e 11743,17958,362 2 161256 -- U+00E8 (19U 232) +'e 11743,17958,362 2 161257 -- U+00E9 (19U 233) +^e 11743,17893,362 2 161258 -- U+00EA (19U 234) +:e 11743,17260,362 2 161259 -- U+00EB (19U 235) +`i 7351,17958 2 161260 -- U+00EC (19U 236) +'i 7351,17958 2 161261 -- U+00ED (19U 237) +^i 7351,17893 2 161262 -- U+00EE (19U 238) +:i 7351,17260 2 161263 -- U+00EF (19U 239) +Sd 13229,18371,362 2 161264 -- U+00F0 (19U 240) +~n 13229,17518 2 161265 -- U+00F1 (19U 241) +`o 13229,17958,362 2 161266 -- U+00F2 (19U 242) +'o 13229,17958,362 2 161267 -- U+00F3 (19U 243) +^o 13229,17893,362 2 161268 -- U+00F4 (19U 244) +~o 13229,17518,362 2 161269 -- U+00F5 (19U 245) +:o 13229,17260,362 2 161270 -- U+00F6 (19U 246) +tdi 14521,13888 0 161271 -- U+00F7 (19U 247) +/o 13229,12648,866 0 161272 -- U+00F8 (19U 248) +`u 13229,17958,362 2 161273 -- U+00F9 (19U 249) +'u 13229,17958,362 2 161274 -- U+00FA (19U 250) +^u 13229,17893,362 2 161275 -- U+00FB (19U 251) +:u 13229,17260,362 2 161276 -- U+00FC (19U 252) +'y 13229,17958,5710 3 161277 -- U+00FD (19U 253) +Tp 13229,18371,5646 3 161278 -- U+00FE (19U 254) +:y 13229,17273,5710 3 161279 -- U+00FF (19U 255) +u0041_0306 19107,22725 2 75203 -- U+0102 ( 9E 195) +u0061_0306 11743,17544,245 2 75235 -- U+0103 ( 9E 227) +u0041_0328 19107,17919,4690 2 75173 -- U+0104 ( 9E 165) +u0061_0328 11743,12183,4690 0 75193 -- U+0105 ( 9E 185) +'C 17648,23216,400 2 75206 -- U+0106 ( 9E 198) +'c 11743,17958,362 2 75238 -- U+0107 ( 9E 230) +u0041_030C 17648,23164,400 2 75208 -- U+010C ( 9E 200) +u0061_030C 11743,17893,362 2 75240 -- U+010D ( 9E 232) +u0044_030C 19107,23164 2 75215 -- U+010E ( 9E 207) +u0064_030C 17105,18371,362 2 75247 -- U+010F ( 9E 239) +u0111 13229,18371,362 2 75248 -- U+0111 ( 9E 240) +u0045_0328 16162,17518,4690 2 75210 -- U+0118 ( 9E 202) +u0065_0328 11743,12196,4690 0 75242 -- U+0119 ( 9E 234) +u0045_030C 16162,23164 2 75212 -- U+011A ( 9E 204) +u0065_030C 11743,17893,362 2 75244 -- U+011B ( 9E 236) +u0047_0306 19107,22686,400 2 46288 -- U+011E ( 5T 208) +u0067_0306 13229,17544,5710 3 46320 -- U+011F ( 5T 240) +u0049_0307 8811,22079 2 46301 -- U+0130 ( 5T 221) +.i 7351,12183 0 46333 -- U+0131 ( 5T 253) +IJ 18746,17518,400 2 60135 -- U+0132 ( 7J 231) +ij 14612,18384,5710 3 60134 -- U+0133 ( 7J 230) +u004C_0301 16162,23216 2 75205 -- U+0139 ( 9E 197) +u006C_0301 7351,23216 2 75237 -- U+013A ( 9E 229) +u004C_030C 16162,17919 2 75196 -- U+013D ( 9E 188) +u006C_030C 10749,18371 2 75198 -- U+013E ( 9E 190) +u013F 16162,17518 2 95646 -- U+013F (11U 158) +u0140 9095,18371 2 95647 -- U+0140 (11U 159) +/L 16162,17518 2 75171 -- U+0141 ( 9E 163) +/l 7351,18371 2 75187 -- U+0142 ( 9E 179) +u004E_0301 19107,23216,284 2 75217 -- U+0143 ( 9E 209) +u006E_0301 13229,17958 2 75249 -- U+0144 ( 9E 241) +u004E_030C 19107,23164,284 2 75218 -- U+0147 ( 9E 210) +u006E_030C 13229,17893 2 75250 -- U+0148 ( 9E 242) +u0149 15981,17919 2 95660 -- U+0149 (11U 172) +u004F_030B 19107,23216,400 2 75221 -- U+0150 ( 9E 213) +u006F_030B 13229,17958,362 2 75253 -- U+0151 ( 9E 245) +OE 23526,17673,207 2 161164 -- U+0152 (19U 140) +oe 19107,12196,362 0 161180 -- U+0153 (19U 156) +u0052_0301 17648,23216 2 75200 -- U+0154 ( 9E 192) +u0072_0301 8811,17958 2 75232 -- U+0155 ( 9E 224) +u0052_030C 17648,23164 2 75224 -- U+0158 ( 9E 216) +u0072_030C 8811,17893 2 75256 -- U+0159 ( 9E 248) +u0053_0301 14715,23216,400 2 75148 -- U+015A ( 9E 140) +u0073_0301 10297,17958,362 2 75164 -- U+015B ( 9E 156) +u0053_0327 14715,17919,5038 2 75178 -- U+015E ( 9E 170) +u0073_0327 10297,12183,5038 0 75194 -- U+015F ( 9E 186) +vS 14715,23164,400 2 161162 -- U+0160 (19U 138) +vs 10297,17893,362 2 161178 -- U+0161 (19U 154) +u0054_0327 16162,17518,5969 3 75230 -- U+0162 ( 9E 222) +u0074_0327 7351,15723,5969 1 75262 -- U+0163 ( 9E 254) +u0054_030C 16162,23164 2 75149 -- U+0164 ( 9E 141) +u0074_030C 11304,18371,194 2 75165 -- U+0165 ( 9E 157) +u0055_030A 19107,23435,413 2 75225 -- U+016E ( 9E 217) +u0075_030A 13229,18397,362 2 75257 -- U+016F ( 9E 249) +u0055_030B 19107,23216,413 2 75227 -- U+0170 ( 9E 219) +u0075_030B 13229,17958,362 2 75259 -- U+0171 ( 9E 251) +:Y 19107,22066 2 161183 -- U+0178 (19U 159) +u005A_0301 16162,23216 2 75151 -- U+0179 ( 9E 143) +u007A_0301 11743,17958 2 75167 -- U+017A ( 9E 159) +u005A_0307 16162,22079 2 75183 -- U+017B ( 9E 175) +u007A_0307 11743,17273 2 75199 -- U+017C ( 9E 191) +vZ 16162,23164 2 75150 -- U+017D ( 9E 142) +vz 11743,17893 2 75166 -- U+017E ( 9E 158) +Fn 13229,17919,5568 3 161155 -- U+0192 (19U 131) +a^ 8811,17893 2 161160 -- U+02C6 (19U 136) +^ " +ah 8811,17893 2 75169 -- U+02C7 ( 9E 161) +a- 8811,17480 2 60154 -- U+02C9 ( 7J 250) +ab 8811,17544 2 75170 -- U+02D8 ( 9E 162) +a. 8811,17273 2 75263 -- U+02D9 ( 9E 255) +ao 8811,18397 2 60152 -- U+02DA ( 7J 248) +ho 8811,207,4690 0 75186 -- U+02DB ( 9E 178) +~ 8811,17518 2 161176 -- U+02DC (19U 152) +a~ " +a" 8811,17958 2 75197 -- U+02DD ( 9E 189) +en 13229,6795 0 161174 -- U+2013 (19U 150) +em 26458,6808 0 161175 -- U+2014 (19U 151) +u2017 13229,0,5710 1 60095 -- U+2017 ( 7J 191) +oq 8811,17919 2 161169 -- U+2018 (19U 145) +` " +cq 8811,17919 2 161170 -- U+2019 (19U 146) +' " +bq 8811,2584,4405 0 161154 -- U+201A (19U 130) +lq 11743,17919 2 161171 -- U+201C (19U 147) +rq 11743,17919 2 161172 -- U+201D (19U 148) +Bq 11743,2584,4082 0 161156 -- U+201E (19U 132) +dg 13229,18126,5439 3 161158 -- U+2020 (19U 134) +dd 13229,18371,5710 3 161159 -- U+2021 (19U 135) +bu 9263,11989 0 161173 -- U+2022 (19U 149) +u2026 26458,2506,362 0 161157 -- U+2026 (19U 133) +%0 26458,17919,711 2 161161 -- U+2030 (19U 137) +fm 5788,17919 2 60101 -- U+2032 ( 7J 197) +sd 11020,17919 2 60102 -- U+2033 ( 7J 198) +fo 8811,12066,103 0 161163 -- U+2039 (19U 139) +fc 8811,12066,103 0 161179 -- U+203A (19U 155) +u203C 15154,17919,362 2 87315 -- U+203C (10U 19) +u207F 8333,14728 0 87548 -- U+207F (10U 252) +u20A7 25632,17518,349 2 60121 -- U+20A7 ( 7J 217) +Eu 13229,17880,310 2 161152 -- U+20AC (19U 128) +u2105 22053,17919,723 2 60072 -- U+2105 ( 7J 168) +u2113 12674,17919,362 2 60122 -- U+2113 ( 7J 218) +tm 25929,17518 2 161177 -- U+2122 (19U 153) +\- 14922,9328 0 60096 -- U+2212 ( 7J 192) +f/ 4418,17880,698 2 60109 -- U+2215 ( 7J 205) +sq 15981,12196 0 60091 -- U+25A1 ( 7J 187) +u25CA 13074,18371 2 101079 -- U+25CA (12J 215) +fi 14715,18371 2 60077 -- U+FB01 ( 7J 173) +fl 14715,18371 2 60078 -- U+FB02 ( 7J 174) diff -ruN groff-1.19/font/devlj4/TR groff-1.19.1/font/devlj4/TR --- groff-1.19/font/devlj4/TR Tue Feb 25 06:38:56 2003 +++ groff-1.19.1/font/devlj4/TR Wed Feb 18 10:01:17 2004 @@ -1,3 +1,4 @@ +# CG Times name TR spacewidth 7806 pcltypeface 4101 @@ -6,767 +7,837 @@ 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 cq -3903 -L ' -3903 -T hy -1950 -T - -1950 -T en -1950 -T em -1950 -A cq -3903 -A ' -3903 -hy T -1950 -- T -1950 -en T -1950 -em T -1950 -Y hy -3414 -Y - -3414 -Y en -3414 -Y em -3414 -p cq -975 -p ' -975 -c cq -1461 -c ' -1461 -e cq -975 -e ' -975 -b cq -1461 -b ' -1461 -a cq -1461 -a ' -1461 -V hy -2925 -V - -2925 -V en -2925 -V em -2925 -h cq -975 -h ' -975 -n cq -975 -n ' -975 -m cq -975 -m ' -975 -R cq -1461 -R ' -1461 -W hy -2439 -W - -2439 -W en -2439 -W em -2439 -cq d -1461 -' d -1461 -s cq -975 -s ' -975 -F hy -486 -F - -486 -F en -486 -F em -486 -X hy -1461 -X - -1461 -X en -1461 -X em -1461 -A hy -1950 -A - -1950 -A en -1950 -A em -1950 -K hy -1461 -K - -1461 -K en -1461 -K em -1461 -cq s -975 -' s -975 -hy X -1461 -- X -1461 -hy A -1950 -- A -1950 -en X -1461 -en A -1950 -em X -1461 -R hy -1461 -R - -1461 -R en -1461 -R em -1461 -K cq -486 -K ' -486 -t g -486 -b f -975 -Z hy -486 -Z - -486 -Z en -486 -Z em -486 -J hy -486 -J - -486 -J en -486 -J em -486 -hy g -486 -- g -486 -en g -486 -em g -486 +L V -3902 +P . -3902 +P , -3902 +V A -5363 +A V -5363 +T o -3413 +T r -1949 +T c -3413 +T e -2924 +T d -2924 +T s -2924 +T y -1949 +T a -3413 +T w -1949 +T u -1949 +T J -1460 +L T -2924 +L Y -3902 +Y o -4877 +Y e -4388 +Y a -4877 +Y J -1460 +A W -4877 +W A -4877 +T A -2924 +V o -3902 +V e -3902 +V a -3902 +Y A -4388 +F A -3902 +F . -3902 +F , -3902 +A T -2924 +A Y -4388 +v . -3413 +v , -3413 +y . -3413 +y , -3413 +T . -2924 +T , -2924 +L W -3413 +P A -3902 +V J -1460 +V . -3902 +V , -3902 +Y . -3902 +Y , -3902 +W o -3413 +W e -3413 +W a -3413 +W . -3902 +W , -3902 +r . -2438 +r , -2438 +w . -3413 +w , -3413 +Y u -3413 +A v -3413 +A y -3413 +A w -3413 +o . -1460 +o , -1460 +p . -1460 +p , -1460 +e . -974 +e , -974 +b . -1460 +b , -1460 +O T -1949 +O V -2924 +O Y -2924 +O . -2924 +O , -2924 +L y -1460 +P J -1460 +V y -2924 +V u -2924 +V O -2924 +V G -2924 +V C -2924 +V Q -2924 +D T -1949 +D V -2924 +D Y -2924 +D . -2924 +D , -2924 +Y O -2924 +Y G -2924 +Y C -2924 +Y Q -2924 +F o -1460 +F e -1460 +F a -1460 +c . -1460 +c , -1460 +O A -2438 +O W -2438 +R T -2438 +R V -2438 +R Y -2438 +R W -2438 +G T -1949 +P o -1460 +P g -1460 +P e -974 +P a -1460 +C A -1949 +C . -1949 +C , -1949 +D A -2438 +D W -2438 +B T -1949 +B Y -1949 +B . -1949 +B , -1949 +F J -1460 +A O -2438 +A G -2438 +A C -2438 +A U -2438 +A Q -2438 +W r -2438 +W y -2438 +W u -2438 +W O -2438 +W G -2438 +W C -2438 +W J -1460 +W Q -2438 +J A -2438 +J . -2438 +J , -2438 +U A -2438 +U . -2438 +U , -2438 +Q A -2438 +Q W -2438 +T O -1949 +T G -1949 +T C -1949 +T Q -1949 +O X -1460 +G V -1949 +G Y -1949 +G W -1949 +G . -1460 +G , -1460 +C T -974 +C V -974 +C Y -974 +D X -1460 +B V -1949 +B X -1460 +B A -1949 +B W -1949 +S . -1460 +S , -1460 +F r -485 +F y -485 +F u -485 +F O -485 +F G -485 +F C -485 +F Q -485 +X o -1460 +X e -974 +X y -1460 +X O -1460 +X G -1460 +X C -1460 +X Q -1460 +A o -1460 +A e -974 +Q X -1460 +K o -1460 +K e -974 +K y -1460 +K w -1460 +K O -1460 +K G -1460 +K C -1460 +K Q -1460 +o v -1460 +o y -1460 +o x -974 +o w -1460 +h v -974 +h y -974 +n v -974 +n y -974 +m v -974 +m y -974 +r g -974 +g . -974 +g , -974 +p v -974 +p y -974 +p x -974 +c v -1460 +c y -1460 +c w -1460 +v o -1460 +v g -1460 +v c -1460 +v d -1460 +v a -1460 +v q -1460 +e v -974 +e y -974 +b v -1460 +b y -1460 +b w -1460 +s . -974 +s , -974 +y o -1460 +y g -1460 +y c -1460 +y d -1460 +y a -1460 +y q -1460 +f g -485 +x o -974 +x g -485 +x c -974 +x e -974 +x d -974 +x a -974 +x q -974 +a v -1460 +a y -1460 +a w -1460 +w o -1460 +w g -1460 +w c -1460 +w d -1460 +w a -1460 +w q -1460 +T i -1460 +T S -1460 +R o -1460 +R y -1460 +R O -1460 +R G -1460 +R C -1460 +R U -1460 +R Q -1460 +G X -1460 +G A -1460 +P s -974 +C X -974 +C W -974 +V i -1460 +V S -1460 +S T -485 +S V -485 +S Y -485 +S X -485 +S A -1460 +S W -485 +Y i -1460 +Y S -1460 +X a -974 +X u -974 +X S -485 +A t -974 +A g -485 +A c -1460 +A d -1460 +A a -974 +A u -974 +A q -1460 +A S -485 +W i -1460 +W S -1460 +J y -485 +K c -1460 +K u -974 +K S -485 +t g -485 +o f -974 +h w -974 +n w -974 +m w -974 +r o -485 +r c -485 +r e -485 +r d -485 +r a -485 +r q -485 +g g -974 +p f -974 +p w -974 +c f -974 +c x -974 +v e -974 +v s -974 +e f -974 +e x -974 +e w -974 +b f -974 +s v -974 +s y -974 +s f -974 +s x -974 +s w -974 +y e -974 +y s -974 +f o -974 +f c -974 +f e -974 +f d -974 +f s -974 +f a -974 +f q -974 +x s -974 +w e -974 +w s -974 +k o -485 +k g -485 +k c -485 +k e -485 +k d -485 +k a -485 +k q -485 +O Z -485 +N . -485 +N , -485 +R e -974 +R a -974 +R u -974 +R S -485 +G Z -485 +C Z -485 +E g -485 +Z o -485 +Z e -485 +Z d -485 +Z s -485 +Z y -485 +Z a -485 +Z w -485 +Z u -485 +Z O -485 +Z G -485 +Z C -485 +Z S -485 +Z J -485 +Z Q -485 +D Z -485 +B Z -485 +S Z -485 +F i -485 +F j -485 +F S -485 +X J -485 +A s -974 +A J -485 +J o -485 +J i -485 +J e -485 +J a -485 +J u -485 +J O -485 +J G -485 +J C -485 +J S -485 +J J -485 +J Q -485 +U g -485 +K a -974 +K J -485 +o g -485 +o z -485 +h g -485 +n g -485 +m g -485 +l g -485 +r s -485 +g o -485 +g c -485 +g e -485 +g d -485 +g s -485 +g a -485 +g q -485 +i g -485 +p g -485 +p z -485 +c g -485 +c z -485 +e g -485 +e z -485 +z o -485 +z g -485 +z c -485 +z e -485 +z d -485 +z s -485 +z a -485 +z q -485 +d g -485 +b g -485 +b z -485 +s g -485 +s z -485 +a g -485 +j g -485 +u g -485 +q g -485 +k s -485 +O g -485 +N A -485 +M g -485 +R J -485 +I g -485 +K T -485 +K V -485 +K Y -485 +K W -485 +K U -485 +L cq -3902 +L ' -3902 +T hy -1949 +T - -1949 +T en -1949 +T em -1949 +A cq -3902 +A ' -3902 +hy T -1949 +- T -1949 +en T -1949 +em T -1949 +Y hy -3413 +Y - -3413 +Y en -3413 +Y em -3413 +p cq -974 +p ' -974 +c cq -1460 +c ' -1460 +e cq -974 +e ' -974 +b cq -1460 +b ' -1460 +a cq -1460 +a ' -1460 +V hy -2924 +V - -2924 +V en -2924 +V em -2924 +h cq -974 +h ' -974 +n cq -974 +n ' -974 +m cq -974 +m ' -974 +R cq -1460 +R ' -1460 +W hy -2438 +W - -2438 +W en -2438 +W em -2438 +cq d -1460 +' d -1460 +s cq -974 +s ' -974 +F hy -485 +F - -485 +F en -485 +F em -485 +X hy -1460 +X - -1460 +X en -1460 +X em -1460 +A hy -1949 +A - -1949 +A en -1949 +A em -1949 +K hy -1460 +K - -1460 +K en -1460 +K em -1460 +cq s -974 +' s -974 +hy X -1460 +- X -1460 +hy A -1949 +- A -1949 +en X -1460 +en A -1949 +em X -1460 +R hy -1460 +R - -1460 +R en -1460 +R em -1460 +K cq -485 +K ' -485 +t g -485 +b f -974 +Z hy -485 +Z - -485 +Z en -485 +Z em -485 +J hy -485 +J - -485 +J en -485 +J em -485 +hy g -485 +- g -485 +en g -485 +em g -485 charset -! 8781,18225,330 2 3617 -dq 12198,18225 2 3618 +! 8781,18225,330 2 161057 -- MSL 1 (19U 33) +dq 12198,18225 2 161058 -- MSL 2 (19U 34) " " -sh 13173,18225,837 2 3619 +sh 13173,18225,837 2 161059 -- MSL 3 (19U 35) # " -Do 13173,19845,2370 2 3620 +Do 13173,19845,2370 2 161060 -- MSL 4 (19U 36) $ " -% 23418,18894,1026 2 3621 -& 20490,18225,330 2 3622 -cq 8781,18225 2 51751 +% 23418,18894,1026 2 161061 -- MSL 5 (19U 37) +& 20490,18225,330 2 161062 -- MSL 6 (19U 38) +cq 8781,18225 2 161170 -- MSL 8 (19U 146) ' " -( 8781,18225,4845 2 3624 -) 8781,18225,4845 2 3625 -* 13173,18225 2 3626 -+ 23418,15750 0 3627 -, 8781,2565,4005 0 3628 -hy 8781,7155 0 3629 +( 8781,18225,4845 2 161064 -- MSL 9 (19U 40) +) 8781,18225,4845 2 161065 -- MSL 10 (19U 41) +* 13173,18225 2 161066 -- MSL 11 (19U 42) ++ 23418,15750 0 161067 -- MSL 12 (19U 43) +, 8781,2565,4005 0 161068 -- MSL 13 (19U 44) +hy 8781,7155 0 161069 -- MSL 14 (19U 45) - " -. 8781,2685,330 0 3630 -sl 8781,18225,330 2 3631 +. 8781,2685,330 0 161070 -- MSL 15 (19U 46) +sl 8781,18225,330 2 161071 -- MSL 16 (19U 47) / " -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 +0 13173,18225,330 2 161072 -- MSL 17 (19U 48) +1 13173,18225 2 161073 -- MSL 18 (19U 49) +2 13173,18225 2 161074 -- MSL 19 (19U 50) +3 13173,18225,330 2 161075 -- MSL 20 (19U 51) +4 13173,18225 2 161076 -- MSL 21 (19U 52) +5 13173,17895,330 2 161077 -- MSL 22 (19U 53) +6 13173,18225,330 2 161078 -- MSL 23 (19U 54) +7 13173,17895 2 161079 -- MSL 24 (19U 55) +8 13173,18225,330 2 161080 -- MSL 25 (19U 56) +9 13173,18225,330 2 161081 -- MSL 26 (19U 57) +: 8781,12252,330 0 161082 -- MSL 27 (19U 58) +; 8781,12252,4005 0 161083 -- MSL 28 (19U 59) +< 26346,16068 0 161084 -- MSL 29 (19U 60) += 23418,10875 0 161085 -- MSL 30 (19U 61) +> 26346,16068 0 161086 -- MSL 31 (19U 62) +? 11709,18225,330 2 161087 -- MSL 32 (19U 63) +at 23418,16980,3654 2 161088 -- MSL 33 (19U 64) @ " -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 +A 19029,18225 2 161089 -- MSL 34 (19U 65) +B 16587,17895 2 161090 -- MSL 35 (19U 66) +C 18051,18225,330 2 161091 -- MSL 36 (19U 67) +D 19515,17895 2 161092 -- MSL 37 (19U 68) +E 16587,17895 2 161093 -- MSL 38 (19U 69) +F 15612,17895 2 161094 -- MSL 39 (19U 70) +G 19029,18225,330 2 161095 -- MSL 40 (19U 71) +H 19515,17895 2 161096 -- MSL 41 (19U 72) +I 8781,17895 2 161097 -- MSL 42 (19U 73) +J 10245,17895,330 2 161098 -- MSL 43 (19U 74) +K 18540,17895 2 161099 -- MSL 44 (19U 75) +L 16587,17895 2 161100 -- MSL 45 (19U 76) +M 23907,17895 2 161101 -- MSL 46 (19U 77) +N 19515,17895,330 2 161102 -- MSL 47 (19U 78) +O 19029,18225,330 2 161103 -- MSL 48 (19U 79) +P 15126,17895 2 161104 -- MSL 49 (19U 80) +Q 19029,18225,4605 2 161105 -- MSL 50 (19U 81) +R 17565,17895 2 161106 -- MSL 51 (19U 82) +S 14148,18225,330 2 161107 -- MSL 52 (19U 83) +T 16587,17895 2 161108 -- MSL 53 (19U 84) +U 19515,17895,330 2 161109 -- MSL 54 (19U 85) +V 19029,17895,330 2 161110 -- MSL 55 (19U 86) +W 24882,17895,330 2 161111 -- MSL 56 (19U 87) +X 19029,17895 2 161112 -- MSL 57 (19U 88) +Y 19029,17895 2 161113 -- MSL 58 (19U 89) +Z 17076,17895 2 161114 -- MSL 59 (19U 90) +lB 8781,17895,4380 2 161115 -- MSL 60 (19U 91) [ " -rs 8781,18225,330 2 3676 +rs 8781,18225,330 2 161116 -- MSL 61 (19U 92) \ " -rB 8781,17895,4380 2 3677 +rB 8781,17895,4380 2 161117 -- MSL 62 (19U 93) ] " -ha 13173,19758 2 51875 -_ 13173,0,6588 1 3679 -oq 8781,18225 2 51808 +ha 13173,19758 2 161118 -- MSL 63 (19U 94) +_ 13173,0,6588 1 161119 -- MSL 64 (19U 95) +oq 8781,18225 2 161169 -- MSL 66 (19U 145) ` " -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 -`A 19029,23955 2 3776 -^A 19029,23955 2 3778 -`E 16587,23955 2 3784 -^E 16587,23955 2 3786 -:E 16587,23085 2 3787 -^I 8781,23955 2 3790 -:I 8781,23085 2 3791 -aa 13173,18399 2 3764 -ga 13173,18399 2 3680 -a^ 13173,18399 2 3678 +a 11709,12669,330 0 161121 -- MSL 67 (19U 97) +b 13173,18300,330 2 161122 -- MSL 68 (19U 98) +c 11709,12669,330 0 161123 -- MSL 69 (19U 99) +d 13173,18300,330 2 161124 -- MSL 70 (19U 100) +e 11709,12669,330 0 161125 -- MSL 71 (19U 101) +f 8781,18300 2 161126 -- MSL 72 (19U 102) +g 13173,12669,5655 1 161127 -- MSL 73 (19U 103) +h 13173,18300 2 161128 -- MSL 74 (19U 104) +i 7317,18534 2 161129 -- MSL 75 (19U 105) +j 7317,18534,5655 3 161130 -- MSL 76 (19U 106) +k 13173,18300 2 161131 -- MSL 77 (19U 107) +l 7317,18300 2 161132 -- MSL 78 (19U 108) +m 20490,12669 0 161133 -- MSL 79 (19U 109) +n 13173,12669 0 161134 -- MSL 80 (19U 110) +o 13173,12669,330 0 161135 -- MSL 81 (19U 111) +p 13173,12669,5655 1 161136 -- MSL 82 (19U 112) +q 13173,12669,5655 1 161137 -- MSL 83 (19U 113) +r 9759,12669 0 161138 -- MSL 84 (19U 114) +s 10245,12669,330 0 161139 -- MSL 85 (19U 115) +t 7317,15465,330 0 161140 -- MSL 86 (19U 116) +u 13173,12339,330 0 161141 -- MSL 87 (19U 117) +v 13173,12339,330 0 161142 -- MSL 88 (19U 118) +w 19029,12339,330 0 161143 -- MSL 89 (19U 119) +x 13173,12339 0 161144 -- MSL 90 (19U 120) +y 13173,12339,5655 1 161145 -- MSL 91 (19U 121) +z 11709,12339 0 161146 -- MSL 92 (19U 122) +{ 11709,19935,6210 3 161147 -- MSL 93 (19U 123) +lC " +| 13173,19758,6588 3 161148 -- MSL 94 (19U 124) +ba " +} 11709,19935,6210 3 161149 -- MSL 95 (19U 125) +rC " +ti 26346,8952 0 161150 -- MSL 96 (19U 126) +`A 19029,23955 2 161216 -- MSL 99 (19U 192) +^A 19029,23955 2 161218 -- MSL 100 (19U 194) +`E 16587,23955 2 161224 -- MSL 101 (19U 200) +^E 16587,23955 2 161226 -- MSL 102 (19U 202) +:E 16587,23085 2 161227 -- MSL 103 (19U 203) +^I 8781,23955 2 161230 -- MSL 104 (19U 206) +:I 8781,23085 2 161231 -- MSL 105 (19U 207) +aa 13173,18399 2 161204 -- MSL 106 (19U 180) +ga 13173,18399 2 161120 -- MSL 107 (19U 96) +a^ 13173,18399 2 161160 -- MSL 108 (19U 136) ^ " -ad 13173,17124 2 3752 -a~ 13173,17064 2 3710 -~ " -`U 19515,23955,330 2 3801 -^U 19515,23955,330 2 3803 -'Y 19029,23955 2 3805 -'y 13173,18399,5655 3 3837 -de 13173,18225 2 3760 -,C 18051,18225,4908 2 3783 -,c 11709,12669,4572 0 3815 -~N 19515,23034,330 2 3793 -~n 13173,17064 2 3825 -r! 8781,12783,5772 1 3745 -r? 11709,12783,5772 1 3775 -Cs 13173,15684 0 3748 -Po 13173,18225,330 2 3747 -Ye 13173,17895 2 3749 -sc 13173,18225,4230 2 3751 -Fn 13173,18300,5655 3 51871 -ct 13173,16866 2 3746 -^a 11709,18399,330 2 3810 -^e 11709,18399,330 2 3818 -^o 13173,18399,330 2 3828 -^u 13173,18399,330 2 3835 -'a 11709,18399,330 2 3809 -'e 11709,18399,330 2 3817 -'o 13173,18399,330 2 3827 -'u 13173,18399,330 2 3834 -`a 11709,18399,330 2 3808 -`e 11709,18399,330 2 3816 -`o 13173,18399,330 2 3826 -`u 13173,18399,330 2 3833 -:a 11709,17124,330 2 3812 -:e 11709,17124,330 2 3819 -:o 13173,17124,330 2 3830 -:u 13173,17124,330 2 3836 -oA 19029,23865 2 3781 -^i 7317,18399 2 3822 -/O 19029,18225,339 2 3800 -AE 23418,17895 2 3782 -oa 11709,18309,330 2 3813 -'i 7317,18399 2 3821 -/o 13173,12765,330 0 3832 -ae 17565,12669,330 0 3814 -:A 19029,23085 2 3780 -`i 7317,18399 2 3820 -:O 19029,23085,330 2 3798 -:U 19515,23085,330 2 3804 -'E 16587,23955 2 3785 -:i 7317,17124 2 3823 -ss 13173,18300,330 2 3807 -^O 19029,23955,330 2 3796 -'A 19029,23955 2 3777 -~A 19029,23034 2 3779 -~a 11709,17064,330 2 3811 --D 19515,17895 2 3792 -Sd 13173,18456,330 2 3824 -'I 8781,23955 2 3789 -`I 8781,23955 2 3788 -'O 19029,23955,330 2 3795 -`O 19029,23955,330 2 3794 -~O 19029,23034,330 2 3797 -~o 13173,17064,330 2 3829 -vS 14148,23955,330 2 51795 -vs 10245,18399,330 2 51827 -'U 19515,23955,330 2 3802 -:Y 19029,23085 2 51801 -:y 13173,17124,5655 3 3839 -TP 15126,17895 2 3806 -Tp 13173,18300,5655 3 3838 -mc 14637,10800,5595 1 3765 -ps 13173,19635,4200 2 3766 -34 23418,18225,330 2 3774 -\- 23418,8610 0 51757 -14 23418,18225,330 2 3772 -12 23418,18225,330 2 3773 -Of 13173,18225 2 3754 -Om 13173,18225 2 3770 -Fo 10734,10095 0 3755 -Fc 10734,10095 0 3771 -t+- 23418,15750,2625 0 3761 -bb 13173,19083,5916 3 3750 -co 13173,19725 2 3753 -tno 23418,12165 0 3756 -rg 13173,19725 2 3758 -S2 9270,18060 2 3762 -S3 9270,18060 2 3763 -ac 13173,258,4572 0 3768 -S1 9270,18060 2 3769 -tmu 23418,15117 0 3799 -tdi 23418,14010 0 3831 -pc 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 -a- 13173,16539 0 3759 -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 +ad 13173,17124 2 161192 -- MSL 109 (19U 168) +~ 13173,17064 2 161176 -- MSL 110 (19U 152) +a~ " +`U 19515,23955,330 2 161241 -- MSL 111 (19U 217) +^U 19515,23955,330 2 161243 -- MSL 112 (19U 219) +u00AF 13173,21105 2 161199 -- MSL 113 (19U 175) +'Y 19029,23955 2 161245 -- MSL 114 (19U 221) +'y 13173,18399,5655 3 161277 -- MSL 115 (19U 253) +de 13173,18225 2 161200 -- MSL 116 (19U 176) +,C 18051,18225,4908 2 161223 -- MSL 117 (19U 199) +,c 11709,12669,4572 0 161255 -- MSL 118 (19U 231) +~N 19515,23034,330 2 161233 -- MSL 119 (19U 209) +~n 13173,17064 2 161265 -- MSL 120 (19U 241) +r! 8781,12783,5772 1 161185 -- MSL 121 (19U 161) +r? 11709,12783,5772 1 161215 -- MSL 122 (19U 191) +Cs 13173,15684 0 161188 -- MSL 123 (19U 164) +Po 13173,18225,330 2 161187 -- MSL 124 (19U 163) +Ye 13173,17895 2 161189 -- MSL 125 (19U 165) +sc 13173,18225,4230 2 161191 -- MSL 126 (19U 167) +Fn 13173,18300,5655 3 161155 -- MSL 127 (19U 131) +ct 13173,16866 2 161186 -- MSL 128 (19U 162) +^a 11709,18399,330 2 161250 -- MSL 129 (19U 226) +^e 11709,18399,330 2 161258 -- MSL 130 (19U 234) +^o 13173,18399,330 2 161268 -- MSL 131 (19U 244) +^u 13173,18399,330 2 161275 -- MSL 132 (19U 251) +'a 11709,18399,330 2 161249 -- MSL 133 (19U 225) +'e 11709,18399,330 2 161257 -- MSL 134 (19U 233) +'o 13173,18399,330 2 161267 -- MSL 135 (19U 243) +'u 13173,18399,330 2 161274 -- MSL 136 (19U 250) +`a 11709,18399,330 2 161248 -- MSL 137 (19U 224) +`e 11709,18399,330 2 161256 -- MSL 138 (19U 232) +`o 13173,18399,330 2 161266 -- MSL 139 (19U 242) +`u 13173,18399,330 2 161273 -- MSL 140 (19U 249) +:a 11709,17124,330 2 161252 -- MSL 141 (19U 228) +:e 11709,17124,330 2 161259 -- MSL 142 (19U 235) +:o 13173,17124,330 2 161270 -- MSL 143 (19U 246) +:u 13173,17124,330 2 161276 -- MSL 144 (19U 252) +oA 19029,23865 2 161221 -- MSL 145 (19U 197) +^i 7317,18399 2 161262 -- MSL 146 (19U 238) +/O 19029,18225,339 2 161240 -- MSL 147 (19U 216) +AE 23418,17895 2 161222 -- MSL 148 (19U 198) +oa 11709,18309,330 2 161253 -- MSL 149 (19U 229) +'i 7317,18399 2 161261 -- MSL 150 (19U 237) +/o 13173,12765,330 0 161272 -- MSL 151 (19U 248) +ae 17565,12669,330 0 161254 -- MSL 152 (19U 230) +:A 19029,23085 2 161220 -- MSL 153 (19U 196) +`i 7317,18399 2 161260 -- MSL 154 (19U 236) +:O 19029,23085,330 2 161238 -- MSL 155 (19U 214) +:U 19515,23085,330 2 161244 -- MSL 156 (19U 220) +'E 16587,23955 2 161225 -- MSL 157 (19U 201) +:i 7317,17124 2 161263 -- MSL 158 (19U 239) +ss 13173,18300,330 2 161247 -- MSL 159 (19U 223) +^O 19029,23955,330 2 161236 -- MSL 160 (19U 212) +'A 19029,23955 2 161217 -- MSL 161 (19U 193) +~A 19029,23034 2 161219 -- MSL 162 (19U 195) +~a 11709,17064,330 2 161251 -- MSL 163 (19U 227) +-D 19515,17895 2 161232 -- MSL 164 (19U 208) +Sd 13173,18456,330 2 161264 -- MSL 165 (19U 240) +'I 8781,23955 2 161229 -- MSL 166 (19U 205) +`I 8781,23955 2 161228 -- MSL 167 (19U 204) +'O 19029,23955,330 2 161235 -- MSL 168 (19U 211) +`O 19029,23955,330 2 161234 -- MSL 169 (19U 210) +~O 19029,23034,330 2 161237 -- MSL 170 (19U 213) +~o 13173,17064,330 2 161269 -- MSL 171 (19U 245) +vS 14148,23955,330 2 161162 -- MSL 172 (19U 138) +vs 10245,18399,330 2 161178 -- MSL 173 (19U 154) +'U 19515,23955,330 2 161242 -- MSL 174 (19U 218) +:Y 19029,23085 2 161183 -- MSL 175 (19U 159) +:y 13173,17124,5655 3 161279 -- MSL 176 (19U 255) +TP 15126,17895 2 161246 -- MSL 177 (19U 222) +Tp 13173,18300,5655 3 161278 -- MSL 178 (19U 254) +mc 14637,10800,5595 1 161205 -- MSL 180 (19U 181) +ps 13173,19635,4200 2 161206 -- MSL 181 (19U 182) +34 23418,18225,330 2 161214 -- MSL 182 (19U 190) +\- 23418,8610 0 60096 -- MSL 183 ( 7J 192) +14 23418,18225,330 2 161212 -- MSL 184 (19U 188) +12 23418,18225,330 2 161213 -- MSL 185 (19U 189) +Of 13173,18225 2 161194 -- MSL 186 (19U 170) +Om 13173,18225 2 161210 -- MSL 187 (19U 186) +Fo 10734,10095 0 161195 -- MSL 188 (19U 171) +Fc 10734,10095 0 161211 -- MSL 190 (19U 187) +t+- 23418,15750,2625 0 161201 -- MSL 191 (19U 177) +bb 13173,19083,5916 3 161190 -- MSL 192 (19U 166) +co 13173,19725 2 161193 -- MSL 193 (19U 169) +tno 23418,12165 0 161196 -- MSL 194 (19U 172) +u00AD 8781,7155 0 161197 -- MSL 195 (19U 173) +rg 13173,19725 2 161198 -- MSL 196 (19U 174) +S2 9270,18060 2 161202 -- MSL 197 (19U 178) +S3 9270,18060 2 161203 -- MSL 198 (19U 179) +ac 13173,258,4572 0 161208 -- MSL 199 (19U 184) +S1 9270,18060 2 161209 -- MSL 200 (19U 185) +tmu 23418,15117 0 161239 -- MSL 201 (19U 215) +tdi 23418,14010 0 161271 -- MSL 202 (19U 247) +u203C 13701,18225,330 2 87315 -- MSL 221 (10U 19) +u20A7 23124,17895,330 2 60121 -- MSL 232 ( 7J 217) +pc 8781,10407 0 161207 -- MSL 302 (19U 183) +u013F 16587,17895 2 51943 -- MSL 306 ( 6J 231) +u0140 7317,18300 2 51959 -- MSL 307 ( 6J 247) +u2113 13173,18150,297 2 60122 -- MSL 308 ( 7J 218) +u0149 15609,18225 2 51951 -- MSL 309 ( 6J 239) +fm 8781,18225 2 60101 -- MSL 310 ( 7J 197) +sd 13173,18225 2 60102 -- MSL 311 ( 7J 198) +dg 13173,18225,4200 2 161158 -- MSL 312 (19U 134) +tm 16101,17550 2 161177 -- MSL 313 (19U 153) +u2017 13173,0,6588 1 60095 -- MSL 314 ( 7J 191) +ah 13173,18399 2 75169 -- MSL 315 ( 9E 161) +ao 13173,18309 2 60152 -- MSL 316 ( 7J 248) +f/ 3423,18225,330 2 60109 -- MSL 324 ( 7J 205) +em 23418,6900 0 161175 -- MSL 325 (19U 151) +en 13173,6900 0 161174 -- MSL 326 (19U 150) +dd 13173,18225,4200 2 161159 -- MSL 327 (19U 135) +.i 7317,12669 0 46333 -- MSL 328 ( 5T 253) +aq 8781,18225 2 161063 -- MSL 329 (19U 39) +bu 13173,14226 0 161173 -- MSL 331 (19U 149) +u207F 13173,18060 2 87548 -- MSL 332 (10U 252) +u0111 13173,18300,330 2 75248 -- MSL 342 ( 9E 240) +u0041_0306 19029,23925 2 75203 -- MSL 400 ( 9E 195) +u0061_0306 11709,17769,330 2 75235 -- MSL 401 ( 9E 227) +u0041_0328 19029,18225,3450 2 75173 -- MSL 404 ( 9E 165) +u0061_0328 11709,12669,3165 0 75193 -- MSL 405 ( 9E 185) +'C 18051,23955,330 2 75206 -- MSL 406 ( 9E 198) +'c 11709,18399,330 2 75238 -- MSL 407 ( 9E 230) +u0041_030C 18051,23955,330 2 75208 -- MSL 410 ( 9E 200) +u0061_030C 11709,18399,330 2 75240 -- MSL 411 ( 9E 232) +u0044_030C 19515,23955 2 75215 -- MSL 414 ( 9E 207) +u0064_030C 16101,18339,330 2 75247 -- MSL 415 ( 9E 239) +u0045_030C 16587,23955 2 75212 -- MSL 416 ( 9E 204) +u0065_030C 11709,18399,330 2 75244 -- MSL 417 ( 9E 236) +u0045_0328 16587,17895,3450 2 75210 -- MSL 422 ( 9E 202) +u0065_0328 11709,12669,3165 0 75242 -- MSL 423 ( 9E 234) +u004C_0301 16587,23955 2 75205 -- MSL 440 ( 9E 197) +u006C_0301 7317,24153 2 75237 -- MSL 441 ( 9E 229) +u004C_030C 16587,18339 2 75196 -- MSL 442 ( 9E 188) +u006C_030C 9759,18339 2 75198 -- MSL 443 ( 9E 190) +u004E_0301 19515,23955,330 2 75217 -- MSL 446 ( 9E 209) +u006E_0301 13173,18399 2 75249 -- MSL 447 ( 9E 241) +u004E_030C 19515,23955,330 2 75218 -- MSL 448 ( 9E 210) +u006E_030C 13173,18399 2 75250 -- MSL 449 ( 9E 242) +u004F_030B 19029,23955,330 2 75221 -- MSL 452 ( 9E 213) +u006F_030B 13173,18399,330 2 75253 -- MSL 453 ( 9E 245) +u0052_0301 17565,23955 2 75200 -- MSL 456 ( 9E 192) +u0072_0301 9759,18399 2 75232 -- MSL 457 ( 9E 224) +u0052_030C 17565,23955 2 75224 -- MSL 458 ( 9E 216) +u0072_030C 9759,18399 2 75256 -- MSL 459 ( 9E 248) +u0053_0301 14148,23955,330 2 75148 -- MSL 462 ( 9E 140) +u0073_0301 10245,18399,330 2 75164 -- MSL 463 ( 9E 156) +u0054_030C 16587,23955 2 75149 -- MSL 466 ( 9E 141) +u0074_030C 9270,18339,330 2 75165 -- MSL 467 ( 9E 157) +u0054_0327 16587,17895,4908 2 75230 -- MSL 468 ( 9E 222) +u0074_0327 7317,15465,4572 0 75262 -- MSL 469 ( 9E 254) +u0055_030B 19515,23955,330 2 75227 -- MSL 474 ( 9E 219) +u0075_030B 13173,18399,330 2 75259 -- MSL 475 ( 9E 251) +u0055_030A 19515,23865,330 2 75225 -- MSL 476 ( 9E 217) +u0075_030A 13173,18309,330 2 75257 -- MSL 477 ( 9E 249) +u005A_0301 17076,23955 2 75151 -- MSL 482 ( 9E 143) +u007A_0301 11709,18399 2 75167 -- MSL 483 ( 9E 159) +u005A_0307 17076,23085 2 75183 -- MSL 484 ( 9E 175) +u007A_0307 11709,17124 2 75199 -- MSL 485 ( 9E 191) +u2070 9270,18060 2 51753 -- MSL 1000 ( 6J 41) +u2074 9270,18060 2 51748 -- MSL 1001 ( 6J 36) +u2075 9270,17895 2 51749 -- MSL 1002 ( 6J 37) +u2076 9270,18060 2 51806 -- MSL 1003 ( 6J 94) +u2077 9270,17895 2 51750 -- MSL 1004 ( 6J 38) +u2078 9270,18060 2 51754 -- MSL 1005 ( 6J 42) +u2079 9270,18060 2 51752 -- MSL 1006 ( 6J 40) +lq 13662,18231 2 161171 -- MSL 1017 (19U 147) +rq 13662,18225 2 161172 -- MSL 1018 (19U 148) +Bq 13662,3009,3576 0 161156 -- MSL 1019 (19U 132) +u2003 23418,0 0 51821 -- MSL 1020 ( 6J 109) +u2002 13173,0 0 51822 -- MSL 1021 ( 6J 110) +u2009 8781,0 0 51828 -- MSL 1023 ( 6J 116) +u2026 23418,2880 0 161157 -- MSL 1028 (19U 133) +vz 11709,18399 2 75166 -- MSL 1031 ( 9E 158) +u2120 16101,17703 2 128299 -- MSL 1034 (15U 43) +u211E 20001,18315,4056 2 51794 -- MSL 1036 ( 6J 82) +fi 14637,18300 2 60077 -- MSL 1040 ( 7J 173) +fl 14637,18300 2 60078 -- MSL 1041 ( 7J 174) +ff 15612,18300 2 51883 -- MSL 1042 ( 6J 171) +Fi 21954,18300 2 51884 -- MSL 1043 ( 6J 172) +Fl 21954,18300 2 51885 -- MSL 1044 ( 6J 173) +ij 14637,18534,5655 3 60134 -- MSL 1047 ( 7J 230) +u2105 24882,18225,330 2 60072 -- MSL 1060 ( 7J 168) +u0047_0306 19029,23925,330 2 46288 -- MSL 1061 ( 5T 208) +u0067_0306 13173,17769,5655 3 46320 -- MSL 1062 ( 5T 240) +u0053_0327 14148,18225,4908 2 75178 -- MSL 1063 ( 9E 170) +u0073_0327 10245,12669,4572 0 75194 -- MSL 1064 ( 9E 186) +u0049_0307 8781,23085 2 46301 -- MSL 1065 ( 5T 221) +bq 8781,3009,3561 0 161154 -- MSL 1067 (19U 130) +%0 31713,18894,1026 2 161161 -- MSL 1068 (19U 137) +a- 13173,16539 0 60154 -- MSL 1084 ( 7J 250) +ab 13173,17769 2 75170 -- MSL 1086 ( 9E 162) +a. 13173,17124 2 75263 -- MSL 1088 ( 9E 255) +oe 19029,12669,330 0 161180 -- MSL 1090 (19U 156) +OE 23418,18225,330 2 161164 -- MSL 1091 (19U 140) +fo 6831,10095 0 161163 -- MSL 1092 (19U 139) +fc 6831,10095 0 161179 -- MSL 1093 (19U 155) +sq 19029,15624 0 60091 -- MSL 1094 ( 7J 187) +/L 16587,17895 2 75171 -- MSL 1095 ( 9E 163) +/l 7317,18300 2 75187 -- MSL 1096 ( 9E 179) +a" 13173,18399 2 75197 -- MSL 1097 ( 9E 189) +ho 13173,750,3165 0 75186 -- MSL 1098 ( 9E 178) +vZ 17076,23955 2 75150 -- MSL 1106 ( 9E 142) +IJ 19245,17895,330 2 60135 -- MSL 1107 ( 7J 231) diff -ruN groff-1.19/font/devlj4/UB groff-1.19.1/font/devlj4/UB --- groff-1.19/font/devlj4/UB Tue Feb 25 06:38:56 2003 +++ groff-1.19.1/font/devlj4/UB Wed Feb 18 10:01:17 2004 @@ -1,3 +1,4 @@ +# Univers Bd name UB spacewidth 8781 pcltypeface 4148 @@ -6,721 +7,791 @@ 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 cq -6342 -L ' -6342 -T hy -4389 -T - -4389 -T en -4389 -T em -4389 -A cq -2439 -A ' -2439 -hy T -4389 -- T -4389 -en T -4389 -em T -4389 -Y hy -2439 -Y - -2439 -Y en -2439 -Y em -2439 -p cq -1461 -p ' -1461 -c cq -975 -c ' -975 -e cq -1461 -e ' -1461 -b cq -1461 -b ' -1461 -a cq -975 -a ' -975 -V hy -1461 -V - -1461 -V en -1461 -V em -1461 -h cq -975 -h ' -975 -n cq -975 -n ' -975 -m cq -975 -m ' -975 -W hy -975 -W - -975 -W en -975 -W em -975 -cq d -2439 -' d -2439 -s cq -486 -s ' -486 -L hy -975 -L - -975 -L en -975 -L em -975 -X hy -1461 -X - -1461 -X en -1461 -X em -1461 -A hy -1461 -A - -1461 -A en -1461 -A em -1461 -K hy -1461 -K - -1461 -K en -1461 -K em -1461 -cq s -1950 -' s -1950 -hy X -1461 -- X -1461 -hy A -1461 -- A -1461 -en X -1461 -en A -1461 -em X -1461 -b f -486 -Z hy -975 -Z - -975 -Z en -975 -Z em -975 -cq n -1461 -' n -1461 -cq m -1461 -' m -1461 -cq r -1461 -' r -1461 -cq v -1461 -' v -1461 +L V -3413 +P . -4877 +P , -4877 +V A -3413 +A V -3413 +T o -4388 +T r -4388 +T c -4388 +T e -4388 +T d -4388 +T s -4388 +T y -4388 +T a -4388 +T w -4388 +T u -4388 +T J -4388 +L T -4388 +L Y -3902 +Y o -3902 +Y e -3902 +Y a -3413 +Y J -3902 +A W -2438 +W A -2438 +T A -3413 +V o -2924 +V e -2924 +V a -2438 +Y A -3413 +F A -1949 +F . -3902 +F , -3902 +A T -3413 +A Y -3413 +v . -2438 +v , -2438 +y . -2438 +y , -2438 +T . -3902 +T , -3902 +L W -2438 +P A -2438 +V J -3413 +V . -3902 +V , -3902 +Y . -3902 +Y , -3902 +W o -1949 +W e -1949 +W a -1949 +W . -2924 +W , -2924 +r . -2438 +r , -2438 +w . -2438 +w , -2438 +Y u -2438 +A v -1949 +A y -1949 +A w -1949 +o . -1949 +o , -1949 +p . -1460 +p , -1460 +e . -1460 +e , -1460 +b . -1460 +b , -1460 +O T -1949 +O V -1460 +O Y -1949 +O . -2438 +O , -2438 +L y -1949 +L O -974 +L G -974 +L C -974 +L Q -974 +P J -1949 +V y -1460 +V u -1460 +V O -1460 +V G -1460 +V C -1460 +V Q -1460 +D T -2438 +D V -1460 +D Y -2438 +D . -2924 +D , -2924 +Y O -1949 +Y G -1949 +Y C -1949 +Y Q -1949 +F o -485 +F e -485 +F a -485 +c . -1460 +c , -1460 +O A -1460 +O W -974 +L U -974 +R T -1460 +R V -1460 +R Y -1460 +R W -974 +G T -1460 +P o -1460 +P g -1460 +P e -1460 +P a -974 +C A -1460 +C . -1949 +C , -1949 +D A -1460 +D W -974 +B T -1460 +B Y -1460 +B . -1460 +B , -1460 +F J -974 +A O -1460 +A G -1460 +A C -1460 +A U -1460 +A Q -1460 +W r -974 +W y -974 +W u -974 +W O -974 +W G -974 +W C -974 +W J -2438 +W Q -974 +J A -1460 +J . -1949 +J , -1949 +U A -1460 +U . -2438 +U , -2438 +Q W -974 +f . -485 +f , -485 +T O -1949 +T G -1949 +T C -1949 +T Q -1949 +O X -1460 +L o -974 +L e -974 +L q -974 +G V -1460 +G Y -1460 +G W -974 +G . -1460 +G , -1460 +P T -974 +P V -974 +P Y -974 +C T -1460 +C V -1460 +C Y -1460 +D X -1460 +B V -1460 +B X -974 +B A -974 +B W -974 +S . -1949 +S , -1949 +X o -1460 +X e -1460 +X y -1460 +X O -1460 +X G -1460 +X C -1460 +X Q -1460 +A o -1460 +A e -1460 +K o -1460 +K e -1460 +K y -1460 +K w -1460 +K O -1460 +K G -1460 +K C -1460 +K Q -1460 +o v -974 +o y -974 +o x -974 +o w -974 +h v -974 +h y -974 +n v -974 +n y -974 +m v -974 +m y -974 +g . -485 +g , -485 +p v -974 +p y -974 +p x -974 +c v -974 +c y -974 +c w -974 +v o -974 +v g -974 +v c -974 +v d -974 +v a -974 +v q -974 +e v -974 +e y -974 +b v -974 +b y -974 +b w -974 +s . -974 +s , -974 +y o -974 +y g -974 +y c -974 +y d -974 +y a -974 +y q -974 +x o -974 +x c -974 +x e -974 +x d -974 +x a -485 +x q -974 +a v -974 +a y -974 +a w -974 +w o -974 +w g -974 +w c -974 +w d -974 +w a -974 +w q -974 +T S -1460 +L a -485 +L S -974 +G X -974 +G A -974 +P s -485 +P Z -974 +P X -974 +P W -974 +C X -1460 +C W -974 +C J -485 +V S -1460 +S T -1460 +S V -1460 +S Y -1460 +S X -1460 +S A -1460 +S W -974 +Y S -1460 +X a -485 +X u -974 +X S -974 +A t -485 +A c -1460 +A d -974 +A a -485 +A u -974 +A q -974 +A S -974 +W S -974 +K c -1460 +K u -974 +K S -974 +t . -485 +t , -485 +o f -485 +h w -974 +h . -485 +h , -485 +n w -974 +n . -485 +n , -485 +m w -974 +m . -485 +m , -485 +l . -485 +l , -485 +i . -485 +i , -485 +p f -485 +p w -974 +c f -485 +c x -974 +v e -974 +v s -485 +e f -485 +e x -974 +e w -974 +z . -485 +z , -485 +d . -485 +d , -485 +b f -485 +s v -485 +s y -485 +s f -485 +s x -485 +s w -485 +y e -974 +y s -485 +x s -485 +x . -485 +x , -485 +a . -485 +a , -485 +w e -974 +w s -485 +j . -485 +j , -485 +u . -485 +k o -974 +k c -974 +k e -974 +k d -974 +k a -485 +k q -974 +k . -485 +k , -485 +O Z -974 +O J -485 +H . -485 +H , -485 +N . -485 +N , -485 +M . -485 +M , -485 +L . -485 +L , -485 +R . -485 +R , -485 +G Z -974 +I . -485 +I , -485 +C Z -974 +E . -485 +E , -485 +Z o -974 +Z e -974 +Z d -974 +Z s -485 +Z y -974 +Z a -485 +Z w -974 +Z u -974 +Z O -974 +Z G -974 +Z C -974 +Z S -974 +Z Q -974 +Z . -485 +Z , -485 +D Z -974 +D J -485 +B Z -974 +B J -485 +S Z -974 +S J -485 +X . -485 +X , -485 +A s -485 +A . -485 +A , -485 +J J -485 +U J -485 +K a -485 +K . -485 +K , -485 +h f -485 +n f -485 +m f -485 +a f -485 +k s -485 +G J -485 +A f -485 +L cq -6341 +L ' -6341 +T hy -4388 +T - -4388 +T en -4388 +T em -4388 +A cq -2438 +A ' -2438 +hy T -4388 +- T -4388 +en T -4388 +em T -4388 +Y hy -2438 +Y - -2438 +Y en -2438 +Y em -2438 +p cq -1460 +p ' -1460 +c cq -974 +c ' -974 +e cq -1460 +e ' -1460 +b cq -1460 +b ' -1460 +a cq -974 +a ' -974 +V hy -1460 +V - -1460 +V en -1460 +V em -1460 +h cq -974 +h ' -974 +n cq -974 +n ' -974 +m cq -974 +m ' -974 +W hy -974 +W - -974 +W en -974 +W em -974 +cq d -2438 +' d -2438 +s cq -485 +s ' -485 +L hy -974 +L - -974 +L en -974 +L em -974 +X hy -1460 +X - -1460 +X en -1460 +X em -1460 +A hy -1460 +A - -1460 +A en -1460 +A em -1460 +K hy -1460 +K - -1460 +K en -1460 +K em -1460 +cq s -1949 +' s -1949 +hy X -1460 +- X -1460 +hy A -1460 +- A -1460 +en X -1460 +en A -1460 +em X -1460 +b f -485 +Z hy -974 +Z - -974 +Z en -974 +Z em -974 +cq n -1460 +' n -1460 +cq m -1460 +' m -1460 +cq r -1460 +' r -1460 +cq v -1460 +' v -1460 charset -! 8781,18165 2 3617 -dq 13662,18135 2 3618 +! 8781,18165 2 161057 -- MSL 1 (19U 33) +dq 13662,18135 2 161058 -- MSL 2 (19U 34) " " -sh 16587,18105 2 3619 +sh 16587,18105 2 161059 -- MSL 3 (19U 35) # " -Do 16587,18750,645 2 3620 +Do 16587,18750,645 2 161060 -- MSL 4 (19U 36) $ " -% 26346,18720,840 2 3621 -& 20004,18495 2 3622 -cq 8781,18135 2 51751 +% 26346,18720,840 2 161061 -- MSL 5 (19U 37) +& 20004,18495 2 161062 -- MSL 6 (19U 38) +cq 8781,18135 2 161170 -- MSL 8 (19U 146) ' " -( 8781,18135,2355 2 3624 -) 8781,18135,2355 2 3625 -* 16587,18495 2 3626 -+ 26346,14940 0 3627 -, 8781,3390,2355 0 3628 -hy 8781,7875 0 3629 +( 8781,18135,2355 2 161064 -- MSL 9 (19U 40) +) 8781,18135,2355 2 161065 -- MSL 10 (19U 41) +* 16587,18495 2 161066 -- MSL 11 (19U 42) ++ 26346,14940 0 161067 -- MSL 12 (19U 43) +, 8781,3390,2355 0 161068 -- MSL 13 (19U 44) +hy 8781,7875 0 161069 -- MSL 14 (19U 45) - " -. 8781,3390 0 3630 -sl 8781,18495,885 2 3631 +. 8781,3390 0 161070 -- MSL 15 (19U 46) +sl 8781,18495,885 2 161071 -- MSL 16 (19U 47) / " -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 +0 16587,18465,360 2 161072 -- MSL 17 (19U 48) +1 16587,18105 2 161073 -- MSL 18 (19U 49) +2 16587,18465 2 161074 -- MSL 19 (19U 50) +3 16587,18465,360 2 161075 -- MSL 20 (19U 51) +4 16587,18105 2 161076 -- MSL 21 (19U 52) +5 16587,18105,360 2 161077 -- MSL 22 (19U 53) +6 16587,18465,360 2 161078 -- MSL 23 (19U 54) +7 16587,18105 2 161079 -- MSL 24 (19U 55) +8 16587,18465,360 2 161080 -- MSL 25 (19U 56) +9 16587,18465,360 2 161081 -- MSL 26 (19U 57) +: 8781,12627 0 161082 -- MSL 27 (19U 58) +; 8781,12627,2355 0 161083 -- MSL 28 (19U 59) +< 26346,16068 0 161084 -- MSL 29 (19U 60) += 26346,10563 0 161085 -- MSL 30 (19U 61) +> 26346,16068 0 161086 -- MSL 31 (19U 62) +? 13662,18315 2 161087 -- MSL 32 (19U 63) +at 26346,21057,2679 2 161088 -- MSL 33 (19U 64) @ " -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 +A 19515,18135 2 161089 -- MSL 34 (19U 65) +B 16587,18135 2 161090 -- MSL 35 (19U 66) +C 18540,18495,360 2 161091 -- MSL 36 (19U 67) +D 19029,18135 2 161092 -- MSL 37 (19U 68) +E 15126,18135 2 161093 -- MSL 38 (19U 69) +F 14637,18135 2 161094 -- MSL 39 (19U 70) +G 19515,18495,360 2 161095 -- MSL 40 (19U 71) +H 19029,18135 2 161096 -- MSL 41 (19U 72) +I 7317,18135 2 161097 -- MSL 42 (19U 73) +J 14637,18135,360 2 161098 -- MSL 43 (19U 74) +K 17565,18135 2 161099 -- MSL 44 (19U 75) +L 14148,18135 2 161100 -- MSL 45 (19U 76) +M 23907,18135 2 161101 -- MSL 46 (19U 77) +N 19029,18135 2 161102 -- MSL 47 (19U 78) +O 20004,18495,360 2 161103 -- MSL 48 (19U 79) +P 15612,18135 2 161104 -- MSL 49 (19U 80) +Q 20490,18495,360 2 161105 -- MSL 50 (19U 81) +R 17076,18135 2 161106 -- MSL 51 (19U 82) +S 17076,18495,360 2 161107 -- MSL 52 (19U 83) +T 16587,18135 2 161108 -- MSL 53 (19U 84) +U 19029,18135,360 2 161109 -- MSL 54 (19U 85) +V 19029,18135 2 161110 -- MSL 55 (19U 86) +W 26346,18135 2 161111 -- MSL 56 (19U 87) +X 19029,18135 2 161112 -- MSL 57 (19U 88) +Y 18051,18135 2 161113 -- MSL 58 (19U 89) +Z 16101,18135 2 161114 -- MSL 59 (19U 90) +lB 8781,18135,2355 2 161115 -- MSL 60 (19U 91) [ " -rs 8781,18495,885 2 3676 +rs 8781,18495,885 2 161116 -- MSL 61 (19U 92) \ " -rB 8781,18135,2355 2 3677 +rB 8781,18135,2355 2 161117 -- MSL 62 (19U 93) ] " -ha 13173,19758 2 51875 -_ 13173,0,6588 1 3679 -oq 8781,18135 2 51808 +ha 13173,19758 2 161118 -- MSL 63 (19U 94) +_ 13173,0,6588 1 161119 -- MSL 64 (19U 95) +oq 8781,18135 2 161169 -- MSL 66 (19U 145) ` " -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 -`A 19515,23130 2 3776 -^A 19515,23130 2 3778 -`E 15126,23130 2 3784 -^E 15126,23130 2 3786 -:E 15126,23040 2 3787 -^I 7317,23130 2 3790 -:I 7317,23040 2 3791 -aa 16587,18090 2 3764 -ga 16587,18090 2 3680 -a^ 16587,18090 2 3678 +a 14148,12990,360 0 161121 -- MSL 67 (19U 97) +b 15126,18165,360 2 161122 -- MSL 68 (19U 98) +c 14148,12990,360 0 161123 -- MSL 69 (19U 99) +d 15126,18165,360 2 161124 -- MSL 70 (19U 100) +e 14148,12990,360 0 161125 -- MSL 71 (19U 101) +f 9759,18315 2 161126 -- MSL 72 (19U 102) +g 15126,12990,5313 1 161127 -- MSL 73 (19U 103) +h 15126,18165 2 161128 -- MSL 74 (19U 104) +i 6342,18165 2 161129 -- MSL 75 (19U 105) +j 6342,18165,4995 3 161130 -- MSL 76 (19U 106) +k 14148,18165 2 161131 -- MSL 77 (19U 107) +l 6342,18165 2 161132 -- MSL 78 (19U 108) +m 22932,12990 0 161133 -- MSL 79 (19U 109) +n 15126,12990 0 161134 -- MSL 80 (19U 110) +o 15126,12990,360 0 161135 -- MSL 81 (19U 111) +p 15126,12990,4680 0 161136 -- MSL 82 (19U 112) +q 15126,12990,4680 0 161137 -- MSL 83 (19U 113) +r 9270,13005 0 161138 -- MSL 84 (19U 114) +s 13173,12990,360 0 161139 -- MSL 85 (19U 115) +t 9759,16110,360 0 161140 -- MSL 86 (19U 116) +u 15126,12630,360 0 161141 -- MSL 87 (19U 117) +v 14637,12630 0 161142 -- MSL 88 (19U 118) +w 22932,12630 0 161143 -- MSL 89 (19U 119) +x 14637,12630 0 161144 -- MSL 90 (19U 120) +y 14637,12630,4680 0 161145 -- MSL 91 (19U 121) +z 12684,12630 0 161146 -- MSL 92 (19U 122) +{ 13173,20130,6075 3 161147 -- MSL 93 (19U 123) +lC " +| 13173,19758,6588 3 161148 -- MSL 94 (19U 124) +ba " +} 13173,20130,6075 3 161149 -- MSL 95 (19U 125) +rC " +ti 26346,9435 0 161150 -- MSL 96 (19U 126) +`A 19515,23130 2 161216 -- MSL 99 (19U 192) +^A 19515,23130 2 161218 -- MSL 100 (19U 194) +`E 15126,23130 2 161224 -- MSL 101 (19U 200) +^E 15126,23130 2 161226 -- MSL 102 (19U 202) +:E 15126,23040 2 161227 -- MSL 103 (19U 203) +^I 7317,23130 2 161230 -- MSL 104 (19U 206) +:I 7317,23040 2 161231 -- MSL 105 (19U 207) +aa 16587,18090 2 161204 -- MSL 106 (19U 180) +ga 16587,18090 2 161120 -- MSL 107 (19U 96) +a^ 16587,18090 2 161160 -- MSL 108 (19U 136) ^ " -ad 16587,17910 2 3752 -a~ 16587,17946 2 3710 -~ " -`U 19029,23130,360 2 3801 -^U 19029,23130,360 2 3803 -'Y 18051,23130 2 3805 -'y 14637,18090,4680 2 3837 -de 16587,18465 2 3760 -,C 18540,18495,5175 3 3783 -,c 14148,12990,5160 1 3815 -~N 19029,23130 2 3793 -~n 15126,17946 2 3825 -r! 8781,12645,5520 1 3745 -r? 13662,12480,5835 1 3775 -Cs 16587,15834 0 3748 -Po 16587,18465 2 3747 -Ye 16587,18105 2 3749 -sc 16587,18495,360 2 3751 -Fn 16587,18315 2 51871 -ct 16587,18750,645 2 3746 -^a 14148,18090,360 2 3810 -^e 14148,18090,360 2 3818 -^o 15126,18090,360 2 3828 -^u 15126,18090,360 2 3835 -'a 14148,18090,360 2 3809 -'e 14148,18090,360 2 3817 -'o 15126,18090,360 2 3827 -'u 15126,18090,360 2 3834 -`a 14148,18090,360 2 3808 -`e 14148,18090,360 2 3816 -`o 15126,18090,360 2 3826 -`u 15126,18090,360 2 3833 -:a 14148,17910,360 2 3812 -:e 14148,17910,360 2 3819 -:o 15126,17910,360 2 3830 -:u 15126,17910,360 2 3836 -oA 19515,25830 2 3781 -^i 6342,18090 2 3822 -/O 20004,18495,366 2 3800 -AE 25857,18135 2 3782 -oa 14148,20100,360 2 3813 -'i 6342,18090 2 3821 -/o 15126,13047,360 0 3832 -ae 22443,12990,360 0 3814 -:A 19515,23040 2 3780 -`i 6342,18090 2 3820 -:O 20004,23040,360 2 3798 -:U 19029,23040,360 2 3804 -'E 15126,23130 2 3785 -:i 6342,17910 2 3823 -ss 16101,17790,360 2 3807 -^O 20004,23130,360 2 3796 -'A 19515,23130 2 3777 -~A 19515,23130 2 3779 -~a 14148,17946,360 2 3811 --D 19029,18135 2 3792 -Sd 15126,18747,360 2 3824 -'I 7317,23130 2 3789 -`I 7317,23130 2 3788 -'O 20004,23130,360 2 3795 -`O 20004,23130,360 2 3794 -~O 20004,23130,360 2 3797 -~o 15126,17946,360 2 3829 -vS 17076,23130,360 2 51795 -vs 13173,18090,360 2 51827 -'U 19029,23130,360 2 3802 -:Y 18051,23040 2 51801 -:y 14637,17910,4680 2 3839 -TP 15612,18135 2 3806 -Tp 15126,18165,4680 2 3838 -mc 15612,12630,4680 0 3765 -ps 16590,19635,4200 2 3766 -34 26346,18465,900 2 3774 -\- 26346,8445 0 51757 -14 26346,18465,900 2 3772 -12 26346,18465,900 2 3773 -Of 10734,18465 2 3754 -Om 10734,18465 2 3770 -Fo 14637,11250 0 3755 -Fc 14637,11250 0 3771 -t+- 26346,14670 0 3761 -bb 13173,19083,5916 3 3750 -co 13173,19635 2 3753 -tno 26346,11787 0 3756 -rg 13173,19635 2 3758 -S2 10245,18465 2 3762 -S3 10245,18465 2 3763 -ac 16587,0,5160 1 3768 -S1 10245,18345 2 3769 -tmu 26346,14154 0 3799 -tdi 26346,12870 0 3831 -pc 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 -a- 16587,16950 2 3759 -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 +ad 16587,17910 2 161192 -- MSL 109 (19U 168) +~ 16587,17946 2 161176 -- MSL 110 (19U 152) +a~ " +`U 19029,23130,360 2 161241 -- MSL 111 (19U 217) +^U 19029,23130,360 2 161243 -- MSL 112 (19U 219) +u00AF 13173,21105 2 161199 -- MSL 113 (19U 175) +'Y 18051,23130 2 161245 -- MSL 114 (19U 221) +'y 14637,18090,4680 2 161277 -- MSL 115 (19U 253) +de 16587,18465 2 161200 -- MSL 116 (19U 176) +,C 18540,18495,5175 3 161223 -- MSL 117 (19U 199) +,c 14148,12990,5160 1 161255 -- MSL 118 (19U 231) +~N 19029,23130 2 161233 -- MSL 119 (19U 209) +~n 15126,17946 2 161265 -- MSL 120 (19U 241) +r! 8781,12645,5520 1 161185 -- MSL 121 (19U 161) +r? 13662,12480,5835 1 161215 -- MSL 122 (19U 191) +Cs 16587,15834 0 161188 -- MSL 123 (19U 164) +Po 16587,18465 2 161187 -- MSL 124 (19U 163) +Ye 16587,18105 2 161189 -- MSL 125 (19U 165) +sc 16587,18495,360 2 161191 -- MSL 126 (19U 167) +Fn 16587,18315 2 161155 -- MSL 127 (19U 131) +ct 16587,18750,645 2 161186 -- MSL 128 (19U 162) +^a 14148,18090,360 2 161250 -- MSL 129 (19U 226) +^e 14148,18090,360 2 161258 -- MSL 130 (19U 234) +^o 15126,18090,360 2 161268 -- MSL 131 (19U 244) +^u 15126,18090,360 2 161275 -- MSL 132 (19U 251) +'a 14148,18090,360 2 161249 -- MSL 133 (19U 225) +'e 14148,18090,360 2 161257 -- MSL 134 (19U 233) +'o 15126,18090,360 2 161267 -- MSL 135 (19U 243) +'u 15126,18090,360 2 161274 -- MSL 136 (19U 250) +`a 14148,18090,360 2 161248 -- MSL 137 (19U 224) +`e 14148,18090,360 2 161256 -- MSL 138 (19U 232) +`o 15126,18090,360 2 161266 -- MSL 139 (19U 242) +`u 15126,18090,360 2 161273 -- MSL 140 (19U 249) +:a 14148,17910,360 2 161252 -- MSL 141 (19U 228) +:e 14148,17910,360 2 161259 -- MSL 142 (19U 235) +:o 15126,17910,360 2 161270 -- MSL 143 (19U 246) +:u 15126,17910,360 2 161276 -- MSL 144 (19U 252) +oA 19515,25830 2 161221 -- MSL 145 (19U 197) +^i 6342,18090 2 161262 -- MSL 146 (19U 238) +/O 20004,18495,366 2 161240 -- MSL 147 (19U 216) +AE 25857,18135 2 161222 -- MSL 148 (19U 198) +oa 14148,20100,360 2 161253 -- MSL 149 (19U 229) +'i 6342,18090 2 161261 -- MSL 150 (19U 237) +/o 15126,13047,360 0 161272 -- MSL 151 (19U 248) +ae 22443,12990,360 0 161254 -- MSL 152 (19U 230) +:A 19515,23040 2 161220 -- MSL 153 (19U 196) +`i 6342,18090 2 161260 -- MSL 154 (19U 236) +:O 20004,23040,360 2 161238 -- MSL 155 (19U 214) +:U 19029,23040,360 2 161244 -- MSL 156 (19U 220) +'E 15126,23130 2 161225 -- MSL 157 (19U 201) +:i 6342,17910 2 161263 -- MSL 158 (19U 239) +ss 16101,17790,360 2 161247 -- MSL 159 (19U 223) +^O 20004,23130,360 2 161236 -- MSL 160 (19U 212) +'A 19515,23130 2 161217 -- MSL 161 (19U 193) +~A 19515,23130 2 161219 -- MSL 162 (19U 195) +~a 14148,17946,360 2 161251 -- MSL 163 (19U 227) +-D 19029,18135 2 161232 -- MSL 164 (19U 208) +Sd 15126,18747,360 2 161264 -- MSL 165 (19U 240) +'I 7317,23130 2 161229 -- MSL 166 (19U 205) +`I 7317,23130 2 161228 -- MSL 167 (19U 204) +'O 20004,23130,360 2 161235 -- MSL 168 (19U 211) +`O 20004,23130,360 2 161234 -- MSL 169 (19U 210) +~O 20004,23130,360 2 161237 -- MSL 170 (19U 213) +~o 15126,17946,360 2 161269 -- MSL 171 (19U 245) +vS 17076,23130,360 2 161162 -- MSL 172 (19U 138) +vs 13173,18090,360 2 161178 -- MSL 173 (19U 154) +'U 19029,23130,360 2 161242 -- MSL 174 (19U 218) +:Y 18051,23040 2 161183 -- MSL 175 (19U 159) +:y 14637,17910,4680 2 161279 -- MSL 176 (19U 255) +TP 15612,18135 2 161246 -- MSL 177 (19U 222) +Tp 15126,18165,4680 2 161278 -- MSL 178 (19U 254) +mc 15612,12630,4680 0 161205 -- MSL 180 (19U 181) +ps 16590,19635,4200 2 161206 -- MSL 181 (19U 182) +34 26346,18465,900 2 161214 -- MSL 182 (19U 190) +\- 26346,8445 0 60096 -- MSL 183 ( 7J 192) +14 26346,18465,900 2 161212 -- MSL 184 (19U 188) +12 26346,18465,900 2 161213 -- MSL 185 (19U 189) +Of 10734,18465 2 161194 -- MSL 186 (19U 170) +Om 10734,18465 2 161210 -- MSL 187 (19U 186) +Fo 14637,11250 0 161195 -- MSL 188 (19U 171) +Fc 14637,11250 0 161211 -- MSL 190 (19U 187) +t+- 26346,14670 0 161201 -- MSL 191 (19U 177) +bb 13173,19083,5916 3 161190 -- MSL 192 (19U 166) +co 13173,19635 2 161193 -- MSL 193 (19U 169) +tno 26346,11787 0 161196 -- MSL 194 (19U 172) +u00AD 8781,7875 0 161197 -- MSL 195 (19U 173) +rg 13173,19635 2 161198 -- MSL 196 (19U 174) +S2 10245,18465 2 161202 -- MSL 197 (19U 178) +S3 10245,18465 2 161203 -- MSL 198 (19U 179) +ac 16587,0,5160 1 161208 -- MSL 199 (19U 184) +S1 10245,18345 2 161209 -- MSL 200 (19U 185) +tmu 26346,14154 0 161239 -- MSL 201 (19U 215) +tdi 26346,12870 0 161271 -- MSL 202 (19U 247) +u203C 14637,18165 2 87315 -- MSL 221 (10U 19) +u20A7 25371,18135,360 2 60121 -- MSL 232 ( 7J 217) +pc 8781,10740 0 161207 -- MSL 302 (19U 183) +u013F 14148,18135 2 51943 -- MSL 306 ( 6J 231) +u0140 10329,18165 2 51959 -- MSL 307 ( 6J 247) +u2113 16590,18045,765 2 60122 -- MSL 308 ( 7J 218) +u0149 19029,18135 2 51951 -- MSL 309 ( 6J 239) +fm 8781,18054 2 60101 -- MSL 310 ( 7J 197) +sd 16587,18054 2 60102 -- MSL 311 ( 7J 198) +dg 16587,18135 2 161158 -- MSL 312 (19U 134) +tm 16128,17850 2 161177 -- MSL 313 (19U 153) +u2017 13173,0,6588 1 60095 -- MSL 314 ( 7J 191) +ah 16587,18090 2 75169 -- MSL 315 ( 9E 161) +ao 16587,20100 2 60152 -- MSL 316 ( 7J 248) +f/ 1464,18465,900 2 60109 -- MSL 324 ( 7J 205) +em 26346,7650 0 161175 -- MSL 325 (19U 151) +en 16587,7650 0 161174 -- MSL 326 (19U 150) +dd 16587,18135 2 161159 -- MSL 327 (19U 135) +.i 6342,12630 0 46333 -- MSL 328 ( 5T 253) +aq 8781,18135 2 161063 -- MSL 329 (19U 39) +bu 13173,14226 0 161173 -- MSL 331 (19U 149) +u207F 10248,18465 2 87548 -- MSL 332 (10U 252) +u0111 15126,18165,360 2 75248 -- MSL 342 ( 9E 240) +u0041_0306 19515,23130 2 75203 -- MSL 400 ( 9E 195) +u0061_0306 14148,18147,360 2 75235 -- MSL 401 ( 9E 227) +u0041_0328 19515,18135,4662 2 75173 -- MSL 404 ( 9E 165) +u0061_0328 14148,12990,4299 0 75193 -- MSL 405 ( 9E 185) +'C 18540,23130,360 2 75206 -- MSL 406 ( 9E 198) +'c 14148,18090,360 2 75238 -- MSL 407 ( 9E 230) +u0041_030C 18540,23130,360 2 75208 -- MSL 410 ( 9E 200) +u0061_030C 14148,18090,360 2 75240 -- MSL 411 ( 9E 232) +u0044_030C 19029,23130 2 75215 -- MSL 414 ( 9E 207) +u0064_030C 19515,19650,360 2 75247 -- MSL 415 ( 9E 239) +u0045_030C 15126,23130 2 75212 -- MSL 416 ( 9E 204) +u0065_030C 14148,18090,360 2 75244 -- MSL 417 ( 9E 236) +u0045_0328 15126,18135,4662 2 75210 -- MSL 422 ( 9E 202) +u0065_0328 14148,12990,4299 0 75242 -- MSL 423 ( 9E 234) +u004C_0301 14148,23130 2 75205 -- MSL 440 ( 9E 197) +u006C_0301 6342,23145 2 75237 -- MSL 441 ( 9E 229) +u004C_030C 14148,19650 2 75196 -- MSL 442 ( 9E 188) +u006C_030C 10734,19650 2 75198 -- MSL 443 ( 9E 190) +u004E_0301 19029,23130 2 75217 -- MSL 446 ( 9E 209) +u006E_0301 15126,18090 2 75249 -- MSL 447 ( 9E 241) +u004E_030C 19029,23130 2 75218 -- MSL 448 ( 9E 210) +u006E_030C 15126,18090 2 75250 -- MSL 449 ( 9E 242) +u004F_030B 20004,23130,360 2 75221 -- MSL 452 ( 9E 213) +u006F_030B 15126,18090,360 2 75253 -- MSL 453 ( 9E 245) +u0052_0301 17076,23130 2 75200 -- MSL 456 ( 9E 192) +u0072_0301 9270,18090 2 75232 -- MSL 457 ( 9E 224) +u0052_030C 17076,23130 2 75224 -- MSL 458 ( 9E 216) +u0072_030C 9270,18090 2 75256 -- MSL 459 ( 9E 248) +u0053_0301 17076,23130,360 2 75148 -- MSL 462 ( 9E 140) +u0073_0301 13173,18090,360 2 75164 -- MSL 463 ( 9E 156) +u0054_030C 16587,23130 2 75149 -- MSL 466 ( 9E 141) +u0074_030C 12198,19650,360 2 75165 -- MSL 467 ( 9E 157) +u0054_0327 16587,18135,5175 3 75230 -- MSL 468 ( 9E 222) +u0074_0327 9759,16110,5160 1 75262 -- MSL 469 ( 9E 254) +u0055_030B 19029,23130,360 2 75227 -- MSL 474 ( 9E 219) +u0075_030B 15126,18090,360 2 75259 -- MSL 475 ( 9E 251) +u0055_030A 19029,25080,360 2 75225 -- MSL 476 ( 9E 217) +u0075_030A 15126,20100,360 2 75257 -- MSL 477 ( 9E 249) +u005A_0301 16101,23130 2 75151 -- MSL 482 ( 9E 143) +u007A_0301 12684,18090 2 75167 -- MSL 483 ( 9E 159) +u005A_0307 16101,23280 2 75183 -- MSL 484 ( 9E 175) +u007A_0307 12684,18405 2 75199 -- MSL 485 ( 9E 191) +u2070 10245,18465 2 51753 -- MSL 1000 ( 6J 41) +u2074 10245,18345 2 51748 -- MSL 1001 ( 6J 36) +u2075 10245,18345 2 51749 -- MSL 1002 ( 6J 37) +u2076 10245,18465 2 51806 -- MSL 1003 ( 6J 94) +u2077 10245,18345 2 51750 -- MSL 1004 ( 6J 38) +u2078 10245,18465 2 51754 -- MSL 1005 ( 6J 42) +u2079 10245,18465 2 51752 -- MSL 1006 ( 6J 40) +lq 13173,18135 2 161171 -- MSL 1017 (19U 147) +rq 13173,18135 2 161172 -- MSL 1018 (19U 148) +Bq 13173,3348,2292 0 161156 -- MSL 1019 (19U 132) +u2003 26346,0 0 51821 -- MSL 1020 ( 6J 109) +u2002 16587,0 0 51822 -- MSL 1021 ( 6J 110) +u2009 8781,0 0 51828 -- MSL 1023 ( 6J 116) +u2026 26346,3090 0 161157 -- MSL 1028 (19U 133) +vz 12684,18090 2 75166 -- MSL 1031 ( 9E 158) +u2120 16128,18000 2 128299 -- MSL 1034 (15U 43) +u211E 20004,18315,4056 2 51794 -- MSL 1036 ( 6J 82) +fi 16101,18315 2 60077 -- MSL 1040 ( 7J 173) +fl 16101,18315 2 60078 -- MSL 1041 ( 7J 174) +ff 18051,18315 2 51883 -- MSL 1042 ( 6J 171) +Fi 24396,18315 2 51884 -- MSL 1043 ( 6J 172) +Fl 24396,18315 2 51885 -- MSL 1044 ( 6J 173) +ij 12684,18165,4995 3 60134 -- MSL 1047 ( 7J 230) +u2105 26358,18495,360 2 60072 -- MSL 1060 ( 7J 168) +u0047_0306 19515,23130,360 2 46288 -- MSL 1061 ( 5T 208) +u0067_0306 15126,18147,5313 3 46320 -- MSL 1062 ( 5T 240) +u0053_0327 17076,18495,5175 3 75178 -- MSL 1063 ( 9E 170) +u0073_0327 13173,12990,5160 1 75194 -- MSL 1064 ( 9E 186) +u0049_0307 7317,23280 2 46301 -- MSL 1065 ( 5T 221) +bq 8781,3348,2307 0 161154 -- MSL 1067 (19U 130) +%0 26346,18720,840 2 161161 -- MSL 1068 (19U 137) +a- 16587,16950 2 60154 -- MSL 1084 ( 7J 250) +ab 16587,18147 2 75170 -- MSL 1086 ( 9E 162) +a. 16587,18405 2 75263 -- MSL 1088 ( 9E 255) +oe 23907,12990,360 0 161180 -- MSL 1090 (19U 156) +OE 26346,18270,135 2 161164 -- MSL 1091 (19U 140) +fo 9759,11277 0 161163 -- MSL 1092 (19U 139) +fc 9759,11277 0 161179 -- MSL 1093 (19U 155) +sq 19029,15624 0 60091 -- MSL 1094 ( 7J 187) +/L 14148,18135 2 75171 -- MSL 1095 ( 9E 163) +/l 7320,18165 2 75187 -- MSL 1096 ( 9E 179) +a" 16587,18090 2 75197 -- MSL 1097 ( 9E 189) +ho 16587,1197,4299 0 75186 -- MSL 1098 ( 9E 178) +vZ 16101,23130 2 75150 -- MSL 1106 ( 9E 142) +IJ 21954,18135,360 2 60135 -- MSL 1107 ( 7J 231) diff -ruN groff-1.19/font/devlj4/UBI groff-1.19.1/font/devlj4/UBI --- groff-1.19/font/devlj4/UBI Tue Feb 25 06:38:56 2003 +++ groff-1.19.1/font/devlj4/UBI Wed Feb 18 10:01:17 2004 @@ -1,3 +1,4 @@ +# Univers BdIt name UBI spacewidth 8781 slant 16.750000 @@ -7,671 +8,741 @@ 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 cq -6342 -L ' -6342 -T hy -2925 -T - -2925 -T en -2925 -T em -2925 -A cq -2439 -A ' -2439 -hy T -3414 -- T -3414 -en T -3414 -em T -3414 -Y hy -2439 -Y - -2439 -Y en -2439 -Y em -2439 -p cq -975 -p ' -975 -c cq -1461 -c ' -1461 -e cq -1461 -e ' -1461 -b cq -1461 -b ' -1461 -a cq -1461 -a ' -1461 -V hy -975 -V - -975 -V en -975 -V em -975 -h cq -1461 -h ' -1461 -n cq -975 -n ' -975 -m cq -975 -m ' -975 -W hy -486 -W - -486 -W en -486 -W em -486 -cq d -2439 -' d -2439 -s cq -486 -s ' -486 -L hy -1950 -L - -1950 -L en -1950 -L em -1950 -X hy -1461 -X - -1461 -X en -1461 -X em -1461 -A hy -1950 -A - -1950 -A en -1950 -A em -1950 -K hy -1461 -K - -1461 -K en -1461 -K em -1461 -cq s -1461 -' s -1461 -hy X -1461 -- X -1461 -hy A -975 -- A -975 -en X -1461 -en A -975 -em X -1461 -b f -486 -cq n -1461 -' n -1461 -cq m -1461 -' m -1461 -cq r -1461 -' r -1461 -cq v -1950 -' v -1950 +L V -2924 +P . -4388 +P , -4388 +V A -2438 +A V -2924 +T o -3902 +T r -2924 +T c -3413 +T e -3413 +T d -3413 +T s -2924 +T y -3413 +T a -3413 +T w -3413 +T u -2924 +T J -2924 +L T -3413 +L Y -3902 +Y o -3413 +Y e -3413 +Y a -3413 +Y J -2924 +A W -2924 +W A -974 +T A -2924 +V o -1949 +V e -1949 +V a -1949 +Y A -2924 +F A -1949 +F . -1949 +F , -1949 +A T -3413 +A Y -3413 +v . -1949 +v , -1949 +y . -1460 +y , -1460 +T . -2924 +T , -2924 +L W -2924 +P A -1949 +V J -1949 +V . -2438 +V , -2438 +Y . -2924 +Y , -2924 +W o -1460 +W e -974 +W a -974 +W . -974 +W , -974 +r . -1460 +r , -1460 +w . -1460 +w , -1460 +Y u -2438 +A v -1460 +A y -1460 +A w -1460 +o . -974 +o , -974 +p . -974 +p , -974 +e . -974 +e , -974 +b . -974 +b , -974 +O T -2924 +O V -1949 +O Y -1949 +O . -1949 +O , -1949 +L y -1460 +L O -2924 +L G -2924 +L C -2924 +L Q -2924 +P J -1460 +V y -1460 +V u -974 +V O -974 +V G -974 +V C -974 +V Q -974 +D T -2924 +D V -1949 +D Y -1949 +D . -2438 +D , -2438 +Y O -1949 +Y G -1949 +Y C -1949 +Y Q -1949 +F o -974 +F e -974 +F a -974 +c . -974 +c , -974 +O A -974 +O W -1460 +L U -2438 +R T -974 +R V -974 +R Y -974 +R W -974 +G T -2438 +P o -974 +P g -485 +P e -974 +P a -974 +C A -974 +C . -1460 +C , -1460 +D A -1460 +D W -1460 +B T -2438 +B Y -1949 +B . -485 +B , -485 +F J -974 +A O -1949 +A G -1949 +A C -1949 +A U -1949 +A Q -1949 +W r -485 +W y -974 +W u -485 +W O -485 +W G -485 +W C -485 +W J -974 +W Q -485 +U A -974 +U . -1949 +U , -1949 +Q W -1460 +T O -1949 +T G -1949 +T C -1949 +T Q -1949 +O X -1460 +L o -1460 +L e -1460 +L q -1460 +G V -1949 +G Y -1949 +G W -1460 +P T -1949 +P V -1949 +P Y -1949 +C T -1949 +C V -1949 +C Y -1949 +D X -1460 +B V -1949 +B X -485 +B A -485 +B W -1460 +S . -974 +S , -974 +F y -485 +X o -1460 +X e -1460 +X y -1460 +X O -1460 +X G -1460 +X C -1460 +X Q -1460 +A o -1460 +A e -1460 +K o -1460 +K e -1460 +K y -1460 +K w -1460 +K O -1460 +K G -1460 +K C -1460 +K Q -1460 +o v -974 +o y -1460 +o x -974 +o w -1460 +h v -485 +h y -974 +n v -485 +n y -974 +m v -485 +m y -974 +p v -485 +p y -974 +p x -974 +c v -485 +c y -974 +c w -974 +v o -974 +v g -485 +v c -485 +v d -485 +v a -485 +v q -485 +e v -485 +e y -974 +b v -974 +b y -1460 +b w -1460 +y o -974 +y g -485 +y c -974 +y d -974 +y a -974 +y q -974 +x o -974 +x c -974 +x e -974 +x d -974 +x a -974 +x q -974 +a v -485 +a y -974 +a w -974 +w o -974 +w g -485 +w c -485 +w d -485 +w a -485 +w q -485 +T S -974 +L a -974 +L S -1460 +R o -485 +R y -485 +P Z -1460 +P X -1460 +P W -1460 +C X -1460 +C W -1460 +V S -974 +S T -1460 +S V -1460 +S Y -1460 +S X -974 +S A -974 +S W -1460 +Y S -974 +X a -974 +X u -974 +X S -974 +A t -1460 +A c -1460 +A d -974 +A a -974 +A u -974 +A q -1460 +A S -1460 +W S -485 +J y -485 +K c -1460 +K u -974 +K S -974 +o f -485 +h w -974 +n w -974 +m w -974 +r o -485 +p w -974 +c x -974 +v e -485 +e x -974 +e w -974 +b f -485 +s v -485 +s y -974 +s w -974 +y e -974 +f o -485 +w e -485 +k o -974 +k c -485 +k v -485 +k e -485 +k d -485 +k y -485 +k a -485 +k w -485 +k q -485 +O Z -485 +P y -485 +C Z -485 +E o -485 +E v -485 +E y -485 +E w -485 +Z o -974 +Z e -974 +Z d -974 +Z y -485 +Z a -974 +Z w -485 +D Z -974 +D J -485 +B Z -485 +S Z -485 +A s -485 +J o -485 +K a -974 +t o -485 +o t -485 +o g -485 +o z -485 +o j -485 +g o -485 +v y -485 +v w -485 +z o -485 +b t -485 +b g -485 +b z -485 +b j -485 +y v -485 +y y -485 +y w -485 +x v -485 +x y -485 +x w -485 +w v -485 +w y -485 +w w -485 +C o -485 +C y -485 +B o -485 +B y -485 +U o -485 +U v -485 +U y -485 +U w -485 +L cq -6341 +L ' -6341 +T hy -2924 +T - -2924 +T en -2924 +T em -2924 +A cq -2438 +A ' -2438 +hy T -3413 +- T -3413 +en T -3413 +em T -3413 +Y hy -2438 +Y - -2438 +Y en -2438 +Y em -2438 +p cq -974 +p ' -974 +c cq -1460 +c ' -1460 +e cq -1460 +e ' -1460 +b cq -1460 +b ' -1460 +a cq -1460 +a ' -1460 +V hy -974 +V - -974 +V en -974 +V em -974 +h cq -1460 +h ' -1460 +n cq -974 +n ' -974 +m cq -974 +m ' -974 +W hy -485 +W - -485 +W en -485 +W em -485 +cq d -2438 +' d -2438 +s cq -485 +s ' -485 +L hy -1949 +L - -1949 +L en -1949 +L em -1949 +X hy -1460 +X - -1460 +X en -1460 +X em -1460 +A hy -1949 +A - -1949 +A en -1949 +A em -1949 +K hy -1460 +K - -1460 +K en -1460 +K em -1460 +cq s -1460 +' s -1460 +hy X -1460 +- X -1460 +hy A -974 +- A -974 +en X -1460 +en A -974 +em X -1460 +b f -485 +cq n -1460 +' n -1460 +cq m -1460 +' m -1460 +cq r -1460 +' r -1460 +cq v -1949 +' v -1949 charset -! 8781,18165,0,2643,33,1012 2 3617 -dq 14148,18135,0,1890,-3297,1012 2 3618 +! 8781,18165,0,2643,33,1012 2 161057 -- MSL 1 (19U 33) +dq 14148,18135,0,1890,-3296,1012 2 161058 -- MSL 2 (19U 34) " " -sh 16587,18105,0,1677,-99,1012 2 3619 +sh 16587,18105,0,1677,-98,1012 2 161059 -- MSL 3 (19U 35) # " -Do 16587,18738,630,495,-1428,495 2 3620 +Do 16587,18738,630,495,-1427,495 2 161060 -- MSL 4 (19U 36) $ " -% 26346,18720,840,0,-2070 2 3621 -& 20004,18495,360,54,-231,54 2 3622 -cq 8781,18135,0,3414,-2601,1012 2 51751 +% 26346,18720,840,0,-2069 2 161061 -- MSL 5 (19U 37) +& 20004,18495,360,54,-230,54 2 161062 -- MSL 6 (19U 38) +cq 8781,18135,0,3414,-2600,1012 2 161170 -- MSL 8 (19U 146) ' " -( 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 -hy 8781,7737,0,624,270,624 0 3629 +( 8781,18135,2445,3198,-833,1012 2 161064 -- MSL 9 (19U 40) +) 8781,18135,2445,180,2184,180 2 161065 -- MSL 10 (19U 41) +* 16587,18582,0,0,-3290 2 161066 -- MSL 11 (19U 42) ++ 26346,14940,0,0,-4727 0 161067 -- MSL 12 (19U 43) +, 8781,3255,2580,0,1794 0 161068 -- MSL 13 (19U 44) +hy 8781,7737,0,624,270,624 0 161069 -- MSL 14 (19U 45) - " -. 8781,3255,0,0,453 0 3630 -sl 8781,18135,1470,4308,2982,1012 2 3631 +. 8781,3255,0,0,453 0 161070 -- MSL 15 (19U 46) +sl 8781,18135,1470,4308,2982,1012 2 161071 -- MSL 16 (19U 47) / " -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 +0 16587,18465,360,1398,-356,1012 2 161072 -- MSL 17 (19U 48) +1 16587,18105,0,0,-3770 2 161073 -- MSL 18 (19U 49) +2 16587,18465,0,984,414,984 2 161074 -- MSL 19 (19U 50) +3 16587,18465,360,1794,363,1012 2 161075 -- MSL 20 (19U 51) +4 16587,18105,0,1389,1245,1012 2 161076 -- MSL 21 (19U 52) +5 16587,18105,360,2424,-38,1012 2 161077 -- MSL 22 (19U 53) +6 16587,18465,360,2316,-344,1012 2 161078 -- MSL 23 (19U 54) +7 16587,18105,0,1770,-1454,1012 2 161079 -- MSL 24 (19U 55) +8 16587,18465,360,1776,435,1012 2 161080 -- MSL 25 (19U 56) +9 16587,18465,360,1464,369,1012 2 161081 -- MSL 26 (19U 57) +: 8781,12612,0,540,453,540 0 161082 -- MSL 27 (19U 58) +; 8781,12612,2580,732,1794,732 0 161083 -- MSL 28 (19U 59) +< 26346,16068,0,0,-3980 0 161084 -- MSL 29 (19U 60) += 26346,10563,0,0,-5078 0 161085 -- MSL 30 (19U 61) +> 26346,16068,0,0,-3980 0 161086 -- MSL 31 (19U 62) +? 13662,18315,0,1908,-950,1012 2 161087 -- MSL 32 (19U 63) +at 26346,21057,2679,1164,-887,1012 2 161088 -- MSL 33 (19U 64) @ " -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 +A 19515,18135,0,0,2535 2 161089 -- MSL 34 (19U 65) +B 16587,18135,0,1848,1233,1012 2 161090 -- MSL 35 (19U 66) +C 18540,18495,360,1737,-632,1012 2 161091 -- MSL 36 (19U 67) +D 19029,18135,0,924,1227,924 2 161092 -- MSL 37 (19U 68) +E 15126,18135,0,3285,1188,1012 2 161093 -- MSL 38 (19U 69) +F 14637,18135,0,3723,1200,1012 2 161094 -- MSL 39 (19U 70) +G 19515,18495,360,1380,-785,1012 2 161095 -- MSL 40 (19U 71) +H 19029,18135,0,2856,1161,1012 2 161096 -- MSL 41 (19U 72) +I 7317,18135,0,3219,1521,1012 2 161097 -- MSL 42 (19U 73) +J 14637,18135,360,3054,1341,1012 2 161098 -- MSL 43 (19U 74) +K 17565,18135,0,3273,534,1012 2 161099 -- MSL 44 (19U 75) +L 14148,18135,0,0,1185 2 161100 -- MSL 45 (19U 76) +M 23907,18135,0,2730,1281,1012 2 161101 -- MSL 46 (19U 77) +N 19029,18135,0,2883,1248,1012 2 161102 -- MSL 47 (19U 78) +O 20004,18495,360,969,-704,969 2 161103 -- MSL 48 (19U 79) +P 15612,18135,0,2871,1203,1012 2 161104 -- MSL 49 (19U 80) +Q 20490,18495,360,531,-713,531 2 161105 -- MSL 50 (19U 81) +R 17076,18135,0,2247,1200,1012 2 161106 -- MSL 51 (19U 82) +S 17076,18495,360,1797,117,1012 2 161107 -- MSL 52 (19U 83) +T 16587,18135,0,3990,-2165,1012 2 161108 -- MSL 53 (19U 84) +U 19029,18135,360,2898,-383,1012 2 161109 -- MSL 54 (19U 85) +V 19029,18135,0,4005,-2603,1012 2 161110 -- MSL 55 (19U 86) +W 26346,18135,0,3900,-2477,1012 2 161111 -- MSL 56 (19U 87) +X 19029,18135,0,3222,1893,1012 2 161112 -- MSL 57 (19U 88) +Y 18051,18135,0,3942,-2615,1012 2 161113 -- MSL 58 (19U 89) +Z 16101,18135,0,3348,1491,1012 2 161114 -- MSL 59 (19U 90) +lB 8781,18135,2445,4068,1977,1012 2 161115 -- MSL 60 (19U 91) [ " -rs 8781,18135,1470,540,-1632,540 2 3676 +rs 8781,18135,1470,540,-1631,540 2 161116 -- MSL 61 (19U 92) \ " -rB 8781,18135,2445,2919,3126,1012 2 3677 +rB 8781,18135,2445,2919,3126,1012 2 161117 -- MSL 62 (19U 93) ] " -ha 13173,19758,0,36,36,36 2 51875 -_ 13173,0,6588,1317,1317,1012 1 3679 -oq 8781,18135,0,2880,-2067,1012 2 51808 +ha 13173,19758,0,36,36,36 2 161118 -- MSL 63 (19U 94) +_ 13173,0,6588,1317,1317,1012 1 161119 -- MSL 64 (19U 95) +oq 8781,18135,0,2880,-2066,1012 2 161169 -- MSL 66 (19U 145) ` " -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 -`A 19515,23220,0,0,2535 2 3776 -^A 19515,23220,0,0,2535 2 3778 -`E 15126,23220,0,3285,1188,1012 2 3784 -^E 15126,23220,0,3285,1188,1012 2 3786 -:E 15126,22830,0,3285,1188,1012 2 3787 -^I 7317,23220,0,5631,1521,1012 2 3790 -:I 7317,22830,0,6792,1521,1012 2 3791 -aa 16587,18105,0,360,-7359,360 2 3764 -ga 16587,18105,0,0,-6009 2 3680 -a^ 16587,18105,0,0,-4518 2 3678 +a 14148,12990,360,651,978,651 0 161121 -- MSL 67 (19U 97) +b 15126,18165,360,498,1566,498 2 161122 -- MSL 68 (19U 98) +c 14148,12990,360,903,411,903 0 161123 -- MSL 69 (19U 99) +d 15126,18165,360,3291,477,1012 2 161124 -- MSL 70 (19U 100) +e 14148,12990,360,924,600,924 0 161125 -- MSL 71 (19U 101) +f 9759,18315,0,4158,297,1012 2 161126 -- MSL 72 (19U 102) +g 15126,12990,5187,1683,2037,1012 1 161127 -- MSL 73 (19U 103) +h 15126,18165,0,684,1527,684 2 161128 -- MSL 74 (19U 104) +i 6342,18165,0,3591,1872,1012 2 161129 -- MSL 75 (19U 105) +j 6342,18165,4995,3681,5787,1012 3 161130 -- MSL 76 (19U 106) +k 14148,18165,0,2109,1359,1012 2 161131 -- MSL 77 (19U 107) +l 6342,18165,0,3579,1839,1012 2 161132 -- MSL 78 (19U 108) +m 22932,12990,0,609,1551,609 0 161133 -- MSL 79 (19U 109) +n 15126,12990,0,729,1482,729 0 161134 -- MSL 80 (19U 110) +o 15126,12990,360,492,465,492 0 161135 -- MSL 81 (19U 111) +p 15126,12990,4680,531,2868,531 1 161136 -- MSL 82 (19U 112) +q 15126,12990,4680,1671,471,1012 1 161137 -- MSL 83 (19U 113) +r 9270,12990,0,2751,1533,1012 0 161138 -- MSL 84 (19U 114) +s 13173,12990,360,984,1026,984 0 161139 -- MSL 85 (19U 115) +t 9759,16146,360,2166,-521,1012 0 161140 -- MSL 86 (19U 116) +u 15126,12630,360,1557,666,1012 0 161141 -- MSL 87 (19U 117) +v 14637,12630,0,2502,-836,1012 0 161142 -- MSL 88 (19U 118) +w 22932,12630,0,2004,-1310,1012 0 161143 -- MSL 89 (19U 119) +x 14637,12630,0,2088,2364,1012 0 161144 -- MSL 90 (19U 120) +y 14637,12630,4680,2472,-527,1012 1 161145 -- MSL 91 (19U 121) +z 12684,12630,0,1701,1482,1012 0 161146 -- MSL 92 (19U 122) +{ 13173,20130,6075,3600,-1355,1012 3 161147 -- MSL 93 (19U 123) +lC " +| 13173,19758,6588,0,-4595 3 161148 -- MSL 94 (19U 124) +ba " +} 13173,20130,6075,0,3360 3 161149 -- MSL 95 (19U 125) +rC " +ti 26346,9435,0,0,-4028 0 161150 -- MSL 96 (19U 126) +`A 19515,23220,0,0,2535 2 161216 -- MSL 99 (19U 192) +^A 19515,23220,0,0,2535 2 161218 -- MSL 100 (19U 194) +`E 15126,23220,0,3285,1188,1012 2 161224 -- MSL 101 (19U 200) +^E 15126,23220,0,3285,1188,1012 2 161226 -- MSL 102 (19U 202) +:E 15126,22830,0,3285,1188,1012 2 161227 -- MSL 103 (19U 203) +^I 7317,23220,0,5631,1521,1012 2 161230 -- MSL 104 (19U 206) +:I 7317,22830,0,6792,1521,1012 2 161231 -- MSL 105 (19U 207) +aa 16587,18105,0,360,-7358,360 2 161204 -- MSL 106 (19U 180) +ga 16587,18105,0,0,-6008 2 161120 -- MSL 107 (19U 96) +a^ 16587,18105,0,0,-4517 2 161160 -- MSL 108 (19U 136) ^ " -ad 16587,18180,0,693,-5457,693 2 3752 -a~ 16587,17994,0,771,-5169,771 2 3710 -~ " -`U 19029,23220,360,2898,-384,1012 2 3801 -^U 19029,23220,360,2898,-384,1012 2 3803 -'Y 18051,23220,0,3942,-2616,1012 2 3805 -'y 14637,18105,4680,2472,-528,1012 3 3837 -de 16587,18465,0,0,-3642 2 3760 -,C 18540,18495,5409,1737,-633,1012 3 3783 -,c 14148,12990,5046,903,411,903 1 3815 -~N 19029,23124,0,2883,1248,1012 2 3793 -~n 15126,17994,0,1503,1482,1012 2 3825 -r! 8781,12651,5514,432,2244,432 1 3745 -r? 13662,12486,5829,0,1398 1 3775 -Cs 16587,15834,0,753,-774,753 0 3748 -Po 16587,18465,0,2046,663,1012 2 3747 -Ye 16587,18105,0,4872,-30,1012 2 3749 -sc 16587,18495,360,0,-2661 2 3751 -Fn 16587,18315,0,1008,-3099,1008 2 51871 -ct 16587,18750,630,678,-1458,678 2 3746 -^a 14148,18105,360,651,978,651 2 3810 -^e 14148,18105,360,924,600,924 2 3818 -^o 15126,18105,360,492,465,492 2 3828 -^u 15126,18105,360,1557,666,1012 2 3835 -'a 14148,18105,360,1581,978,1012 2 3809 -'e 14148,18105,360,1581,600,1012 2 3817 -'o 15126,18105,360,1092,465,1012 2 3827 -'u 15126,18105,360,1557,666,1012 2 3834 -`a 14148,18105,360,651,978,651 2 3808 -`e 14148,18105,360,924,600,924 2 3816 -`o 15126,18105,360,492,465,492 2 3826 -`u 15126,18105,360,1557,666,1012 2 3833 -:a 14148,18180,360,1914,978,1012 2 3812 -:e 14148,18180,360,1914,600,1012 2 3819 -:o 15126,18180,360,1425,465,1012 2 3830 -:u 15126,18180,360,1557,666,1012 2 3836 -oA 19515,25830,0,0,2535 2 3781 -^i 6342,18105,0,4479,1860,1012 2 3822 -/O 20004,18495,360,2802,1200,1012 2 3800 -AE 25857,18135,0,3294,2781,1012 2 3782 -oa 14148,20100,360,651,978,651 2 3813 -'i 6342,18105,0,5484,1860,1012 2 3821 -/o 15126,12990,360,1764,1686,1012 0 3832 -ae 22443,12990,360,840,906,840 0 3814 -:A 19515,22830,0,693,2535,693 2 3780 -`i 6342,18105,0,2136,1860,1012 2 3820 -:O 20004,22830,360,969,-705,969 2 3798 -:U 19029,22830,360,2898,-384,1012 2 3804 -'E 15126,23220,0,3285,1188,1012 2 3785 -:i 6342,18180,0,5817,1860,1012 2 3823 -ss 16101,18315,360,795,1515,795 2 3807 -^O 20004,23220,360,969,-705,969 2 3796 -'A 19515,23220,0,0,2535 2 3777 -~A 19515,23124,0,1020,2535,1012 2 3779 -~a 14148,17994,360,1992,978,1012 2 3811 --D 19029,18135,0,924,1227,924 2 3792 -Sd 15126,18693,360,492,465,492 2 3824 -'I 7317,23220,0,5907,1521,1012 2 3789 -`I 7317,23220,0,3219,1521,1012 2 3788 -'O 20004,23220,360,969,-705,969 2 3795 -`O 20004,23220,360,969,-705,969 2 3794 -~O 20004,23124,360,969,-705,969 2 3797 -~o 15126,17994,360,1503,465,1012 2 3829 -vS 17076,23220,360,2220,117,1012 2 51795 -vs 13173,18105,360,2985,1026,1012 2 51827 -'U 19029,23220,360,2898,-384,1012 2 3802 -:Y 18051,22830,0,3942,-2616,1012 2 51801 -:y 14637,18180,4680,2472,-528,1012 3 3839 -TP 15612,18135,0,1857,1209,1012 2 3806 -Tp 15126,18165,4680,516,2856,516 3 3838 -mc 15612,12630,4680,1422,2907,1012 1 3765 -ps 16590,19635,4200,0,-2529 2 3766 -34 26346,18465,990,0,-2625 2 3774 -\- 26346,8445,0,0,-4746 0 51757 -14 26346,18465,990,0,-2682 2 3772 -12 26346,18465,990,0,-3168 2 3773 -Of 10734,18465,0,2211,-1464,1012 2 3754 -Om 10734,18465,0,2520,-1473,1012 2 3770 -Fo 14637,11115,0,1530,180,1012 0 3755 -Fc 14637,11115,0,243,1467,243 0 3771 -t+- 26346,14670,0,0,-4695 0 3761 -bb 13173,19083,5916,0,-4596 3 3750 -co 13173,19635,0,4881,-3090,1012 2 3753 -tno 26346,11787,0,0,-4329 0 3756 -rg 13173,19635,0,4881,-3090,1012 2 3758 -S2 10245,18465,0,2217,-933,1012 2 3762 -S3 10245,18465,0,2439,-957,1012 2 3763 -ac 16587,0,5046,0,-1809 1 3768 -S1 10245,18345,0,1083,-2880,1012 2 3769 -tmu 26346,14154,0,0,-5958 0 3799 -tdi 26346,12870,0,0,-4767 0 3831 -pc 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 -a- 16587,17778,0,102,-5931,102 2 3759 -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 +ad 16587,18180,0,693,-5456,693 2 161192 -- MSL 109 (19U 168) +~ 16587,17994,0,771,-5168,771 2 161176 -- MSL 110 (19U 152) +a~ " +`U 19029,23220,360,2898,-383,1012 2 161241 -- MSL 111 (19U 217) +^U 19029,23220,360,2898,-383,1012 2 161243 -- MSL 112 (19U 219) +u00AF 13173,21105,0,1317,1317,1012 2 161199 -- MSL 113 (19U 175) +'Y 18051,23220,0,3942,-2615,1012 2 161245 -- MSL 114 (19U 221) +'y 14637,18105,4680,2472,-527,1012 3 161277 -- MSL 115 (19U 253) +de 16587,18465,0,0,-3641 2 161200 -- MSL 116 (19U 176) +,C 18540,18495,5409,1737,-632,1012 3 161223 -- MSL 117 (19U 199) +,c 14148,12990,5046,903,411,903 1 161255 -- MSL 118 (19U 231) +~N 19029,23124,0,2883,1248,1012 2 161233 -- MSL 119 (19U 209) +~n 15126,17994,0,1503,1482,1012 2 161265 -- MSL 120 (19U 241) +r! 8781,12651,5514,432,2244,432 1 161185 -- MSL 121 (19U 161) +r? 13662,12486,5829,0,1398 1 161215 -- MSL 122 (19U 191) +Cs 16587,15834,0,753,-773,753 0 161188 -- MSL 123 (19U 164) +Po 16587,18465,0,2046,663,1012 2 161187 -- MSL 124 (19U 163) +Ye 16587,18105,0,4872,-29,1012 2 161189 -- MSL 125 (19U 165) +sc 16587,18495,360,0,-2660 2 161191 -- MSL 126 (19U 167) +Fn 16587,18315,0,1008,-3098,1008 2 161155 -- MSL 127 (19U 131) +ct 16587,18750,630,678,-1457,678 2 161186 -- MSL 128 (19U 162) +^a 14148,18105,360,651,978,651 2 161250 -- MSL 129 (19U 226) +^e 14148,18105,360,924,600,924 2 161258 -- MSL 130 (19U 234) +^o 15126,18105,360,492,465,492 2 161268 -- MSL 131 (19U 244) +^u 15126,18105,360,1557,666,1012 2 161275 -- MSL 132 (19U 251) +'a 14148,18105,360,1581,978,1012 2 161249 -- MSL 133 (19U 225) +'e 14148,18105,360,1581,600,1012 2 161257 -- MSL 134 (19U 233) +'o 15126,18105,360,1092,465,1012 2 161267 -- MSL 135 (19U 243) +'u 15126,18105,360,1557,666,1012 2 161274 -- MSL 136 (19U 250) +`a 14148,18105,360,651,978,651 2 161248 -- MSL 137 (19U 224) +`e 14148,18105,360,924,600,924 2 161256 -- MSL 138 (19U 232) +`o 15126,18105,360,492,465,492 2 161266 -- MSL 139 (19U 242) +`u 15126,18105,360,1557,666,1012 2 161273 -- MSL 140 (19U 249) +:a 14148,18180,360,1914,978,1012 2 161252 -- MSL 141 (19U 228) +:e 14148,18180,360,1914,600,1012 2 161259 -- MSL 142 (19U 235) +:o 15126,18180,360,1425,465,1012 2 161270 -- MSL 143 (19U 246) +:u 15126,18180,360,1557,666,1012 2 161276 -- MSL 144 (19U 252) +oA 19515,25830,0,0,2535 2 161221 -- MSL 145 (19U 197) +^i 6342,18105,0,4479,1860,1012 2 161262 -- MSL 146 (19U 238) +/O 20004,18495,360,2802,1200,1012 2 161240 -- MSL 147 (19U 216) +AE 25857,18135,0,3294,2781,1012 2 161222 -- MSL 148 (19U 198) +oa 14148,20100,360,651,978,651 2 161253 -- MSL 149 (19U 229) +'i 6342,18105,0,5484,1860,1012 2 161261 -- MSL 150 (19U 237) +/o 15126,12990,360,1764,1686,1012 0 161272 -- MSL 151 (19U 248) +ae 22443,12990,360,840,906,840 0 161254 -- MSL 152 (19U 230) +:A 19515,22830,0,693,2535,693 2 161220 -- MSL 153 (19U 196) +`i 6342,18105,0,2136,1860,1012 2 161260 -- MSL 154 (19U 236) +:O 20004,22830,360,969,-704,969 2 161238 -- MSL 155 (19U 214) +:U 19029,22830,360,2898,-383,1012 2 161244 -- MSL 156 (19U 220) +'E 15126,23220,0,3285,1188,1012 2 161225 -- MSL 157 (19U 201) +:i 6342,18180,0,5817,1860,1012 2 161263 -- MSL 158 (19U 239) +ss 16101,18315,360,795,1515,795 2 161247 -- MSL 159 (19U 223) +^O 20004,23220,360,969,-704,969 2 161236 -- MSL 160 (19U 212) +'A 19515,23220,0,0,2535 2 161217 -- MSL 161 (19U 193) +~A 19515,23124,0,1020,2535,1012 2 161219 -- MSL 162 (19U 195) +~a 14148,17994,360,1992,978,1012 2 161251 -- MSL 163 (19U 227) +-D 19029,18135,0,924,1227,924 2 161232 -- MSL 164 (19U 208) +Sd 15126,18693,360,492,465,492 2 161264 -- MSL 165 (19U 240) +'I 7317,23220,0,5907,1521,1012 2 161229 -- MSL 166 (19U 205) +`I 7317,23220,0,3219,1521,1012 2 161228 -- MSL 167 (19U 204) +'O 20004,23220,360,969,-704,969 2 161235 -- MSL 168 (19U 211) +`O 20004,23220,360,969,-704,969 2 161234 -- MSL 169 (19U 210) +~O 20004,23124,360,969,-704,969 2 161237 -- MSL 170 (19U 213) +~o 15126,17994,360,1503,465,1012 2 161269 -- MSL 171 (19U 245) +vS 17076,23220,360,2220,117,1012 2 161162 -- MSL 172 (19U 138) +vs 13173,18105,360,2985,1026,1012 2 161178 -- MSL 173 (19U 154) +'U 19029,23220,360,2898,-383,1012 2 161242 -- MSL 174 (19U 218) +:Y 18051,22830,0,3942,-2615,1012 2 161183 -- MSL 175 (19U 159) +:y 14637,18180,4680,2472,-527,1012 3 161279 -- MSL 176 (19U 255) +TP 15612,18135,0,1857,1209,1012 2 161246 -- MSL 177 (19U 222) +Tp 15126,18165,4680,516,2856,516 3 161278 -- MSL 178 (19U 254) +mc 15612,12630,4680,1422,2907,1012 1 161205 -- MSL 180 (19U 181) +ps 16590,19635,4200,0,-2528 2 161206 -- MSL 181 (19U 182) +34 26346,18465,990,0,-2624 2 161214 -- MSL 182 (19U 190) +\- 26346,8445,0,0,-4745 0 60096 -- MSL 183 ( 7J 192) +14 26346,18465,990,0,-2681 2 161212 -- MSL 184 (19U 188) +12 26346,18465,990,0,-3167 2 161213 -- MSL 185 (19U 189) +Of 10734,18465,0,2211,-1463,1012 2 161194 -- MSL 186 (19U 170) +Om 10734,18465,0,2520,-1472,1012 2 161210 -- MSL 187 (19U 186) +Fo 14637,11115,0,1530,180,1012 0 161195 -- MSL 188 (19U 171) +Fc 14637,11115,0,243,1467,243 0 161211 -- MSL 190 (19U 187) +t+- 26346,14670,0,0,-4694 0 161201 -- MSL 191 (19U 177) +bb 13173,19083,5916,0,-4595 3 161190 -- MSL 192 (19U 166) +co 13173,19635,0,4881,-3089,1012 2 161193 -- MSL 193 (19U 169) +tno 26346,11787,0,0,-4328 0 161196 -- MSL 194 (19U 172) +u00AD 8781,7737,0,624,270,624 0 161197 -- MSL 195 (19U 173) +rg 13173,19635,0,4881,-3089,1012 2 161198 -- MSL 196 (19U 174) +S2 10245,18465,0,2217,-932,1012 2 161202 -- MSL 197 (19U 178) +S3 10245,18465,0,2439,-956,1012 2 161203 -- MSL 198 (19U 179) +ac 16587,0,5046,0,-1808 1 161208 -- MSL 199 (19U 184) +S1 10245,18345,0,1083,-2879,1012 2 161209 -- MSL 200 (19U 185) +tmu 26346,14154,0,0,-5957 0 161239 -- MSL 201 (19U 215) +tdi 26346,12870,0,0,-4766 0 161271 -- MSL 202 (19U 247) +u203C 15912,18165,0,2643,33,1012 2 87315 -- MSL 221 (10U 19) +u20A7 25857,18135,360,2166,1203,1012 2 60121 -- MSL 232 ( 7J 217) +pc 8781,10692,0,276,-2054,276 0 161207 -- MSL 302 (19U 183) +u013F 14148,18135,0,1644,1185,1012 2 51943 -- MSL 306 ( 6J 231) +u0140 11070,18165,0,2091,1839,1012 2 51959 -- MSL 307 ( 6J 247) +u2113 16590,18045,765,0,-2804 2 60122 -- MSL 308 ( 7J 218) +u0149 20493,18135,0,729,-1823,729 2 51951 -- MSL 309 ( 6J 239) +fm 8781,18105,0,2145,-2915,1012 2 60101 -- MSL 310 ( 7J 197) +sd 16587,18105,0,0,-2915 2 60102 -- MSL 311 ( 7J 198) +dg 16587,18135,0,0,-2717 2 161158 -- MSL 312 (19U 134) +tm 16101,17850,0,2421,-2957,1012 2 161177 -- MSL 313 (19U 153) +u2017 13173,0,6588,1317,1317,1012 1 60095 -- MSL 314 ( 7J 191) +ah 16587,18105,0,1278,-6440,1012 2 75169 -- MSL 315 ( 9E 161) +ao 16587,20100,0,0,-7412 2 60152 -- MSL 316 ( 7J 248) +f/ 2439,18465,990,9276,7884,1012 2 60109 -- MSL 324 ( 7J 205) +em 26346,7620,0,0,-2225 0 161175 -- MSL 325 (19U 151) +en 16587,7620,0,72,-371,72 0 161174 -- MSL 326 (19U 150) +dd 16587,18135,0,0,-2717 2 161159 -- MSL 327 (19U 135) +.i 6342,12630,0,1857,1860,1012 0 46333 -- MSL 328 ( 5T 253) +aq 8781,18135,0,2100,-3296,1012 2 161063 -- MSL 329 (19U 39) +bu 13173,14226,0,0,-497 0 161173 -- MSL 331 (19U 149) +u207F 10248,18465,0,3501,39,1012 2 87548 -- MSL 332 (10U 252) +u0111 15126,18165,360,4062,474,1012 2 75248 -- MSL 342 ( 9E 240) +u0041_0306 19515,23397,0,672,2535,672 2 75203 -- MSL 400 ( 9E 195) +u0061_0306 14148,18147,360,1842,978,1012 2 75235 -- MSL 401 ( 9E 227) +u0041_0328 19515,18135,4686,0,2535 3 75173 -- MSL 404 ( 9E 165) +u0061_0328 14148,12990,4248,651,978,651 0 75193 -- MSL 405 ( 9E 185) +'C 18540,23220,360,1737,-632,1012 2 75206 -- MSL 406 ( 9E 198) +'c 14148,18105,360,1581,411,1012 2 75238 -- MSL 407 ( 9E 230) +u0041_030C 18540,23220,360,1737,-632,1012 2 75208 -- MSL 410 ( 9E 200) +u0061_030C 14148,18105,360,2823,411,1012 2 75240 -- MSL 411 ( 9E 232) +u0044_030C 19029,23220,0,924,1227,924 2 75215 -- MSL 414 ( 9E 207) +u0064_030C 19515,19650,360,5760,477,1012 2 75247 -- MSL 415 ( 9E 239) +u0045_030C 15126,23220,0,3285,1188,1012 2 75212 -- MSL 416 ( 9E 204) +u0065_030C 14148,18105,360,2499,600,1012 2 75244 -- MSL 417 ( 9E 236) +u0045_0328 15126,18135,4686,3285,1188,1012 3 75210 -- MSL 422 ( 9E 202) +u0065_0328 14148,12990,4248,924,600,924 0 75242 -- MSL 423 ( 9E 234) +u004C_0301 14148,23220,0,243,1185,243 2 75205 -- MSL 440 ( 9E 197) +u006C_0301 6342,23160,0,7134,1839,1012 2 75237 -- MSL 441 ( 9E 229) +u004C_030C 14148,19650,0,3507,1185,1012 2 75196 -- MSL 442 ( 9E 188) +u006C_030C 10734,19650,0,6051,1839,1012 2 75198 -- MSL 443 ( 9E 190) +u004E_0301 19029,23220,0,2883,1248,1012 2 75217 -- MSL 446 ( 9E 209) +u006E_0301 15126,18105,0,1092,1482,1012 2 75249 -- MSL 447 ( 9E 241) +u004E_030C 19029,23220,0,2883,1248,1012 2 75218 -- MSL 448 ( 9E 210) +u006E_030C 15126,18105,0,1848,1482,1012 2 75250 -- MSL 449 ( 9E 242) +u004F_030B 20004,23220,360,2433,-704,1012 2 75221 -- MSL 452 ( 9E 213) +u006F_030B 15126,18105,360,3918,465,1012 2 75253 -- MSL 453 ( 9E 245) +u0052_0301 17076,23220,0,2247,1200,1012 2 75200 -- MSL 456 ( 9E 192) +u0072_0301 9270,18105,0,4020,1533,1012 2 75232 -- MSL 457 ( 9E 224) +u0052_030C 17076,23220,0,2247,1200,1012 2 75224 -- MSL 458 ( 9E 216) +u0072_030C 9270,18105,0,4938,1533,1012 2 75256 -- MSL 459 ( 9E 248) +u0053_0301 17076,23220,360,1797,117,1012 2 75148 -- MSL 462 ( 9E 140) +u0073_0301 13173,18105,360,2067,1026,1012 2 75164 -- MSL 463 ( 9E 156) +u0054_030C 16587,23220,0,3990,-2165,1012 2 75149 -- MSL 466 ( 9E 141) +u0074_030C 12198,19650,360,5877,-521,1012 2 75165 -- MSL 467 ( 9E 157) +u0054_0327 16587,18135,5409,3990,-1289,1012 3 75230 -- MSL 468 ( 9E 222) +u0074_0327 9759,16146,5046,2166,1605,1012 1 75262 -- MSL 469 ( 9E 254) +u0055_030B 19029,23220,360,3240,-383,1012 2 75227 -- MSL 474 ( 9E 219) +u0075_030B 15126,18105,360,3918,666,1012 2 75259 -- MSL 475 ( 9E 251) +u0055_030A 19029,25080,360,2898,-383,1012 2 75225 -- MSL 476 ( 9E 217) +u0075_030A 15126,20100,360,1557,666,1012 2 75257 -- MSL 477 ( 9E 249) +u005A_0301 16101,23220,0,3348,1491,1012 2 75151 -- MSL 482 ( 9E 143) +u007A_0301 12684,18105,0,2313,1482,1012 2 75167 -- MSL 483 ( 9E 159) +u005A_0307 16101,23157,0,3348,1491,1012 2 75183 -- MSL 484 ( 9E 175) +u007A_0307 12684,18222,0,1701,1482,1012 2 75199 -- MSL 485 ( 9E 191) +u2070 10245,18465,0,2238,-1328,1012 2 51753 -- MSL 1000 ( 6J 41) +u2074 10245,18345,0,2259,-785,1012 2 51748 -- MSL 1001 ( 6J 36) +u2075 10245,18345,0,2859,-1298,1012 2 51749 -- MSL 1002 ( 6J 37) +u2076 10245,18465,0,2739,-1358,1012 2 51806 -- MSL 1003 ( 6J 94) +u2077 10245,18345,0,2625,-2168,1012 2 51750 -- MSL 1004 ( 6J 38) +u2078 10245,18465,0,2544,-1085,1012 2 51754 -- MSL 1005 ( 6J 42) +u2079 10245,18465,0,2424,-1079,1012 2 51752 -- MSL 1006 ( 6J 40) +lq 13173,18135,0,3480,-1523,1012 2 161171 -- MSL 1017 (19U 147) +rq 13173,18135,0,4002,-2045,1012 2 161172 -- MSL 1018 (19U 148) +Bq 13173,3234,2241,0,2283 0 161156 -- MSL 1019 (19U 132) +u2003 26346,0,0,0,1317 0 51821 -- MSL 1020 ( 6J 109) +u2002 16587,0,0,0,1317 0 51822 -- MSL 1021 ( 6J 110) +u2009 8781,0,0,0,1317 0 51828 -- MSL 1023 ( 6J 116) +u2026 26346,3255,0,0,-488 0 161157 -- MSL 1028 (19U 133) +vz 12684,18105,0,3231,1482,1012 2 75166 -- MSL 1031 ( 9E 158) +u2120 16101,18000,0,3609,-2975,1012 2 128299 -- MSL 1034 (15U 43) +u211E 20004,18315,4056,462,-1163,462 2 51794 -- MSL 1036 ( 6J 82) +fi 16101,18315,0,3693,-32,1012 2 60077 -- MSL 1040 ( 7J 173) +fl 16101,18315,0,3678,-131,1012 2 60078 -- MSL 1041 ( 7J 174) +ff 18051,18315,0,4557,-113,1012 2 51883 -- MSL 1042 ( 6J 171) +Fi 24396,18315,0,3795,-125,1012 2 51884 -- MSL 1043 ( 6J 172) +Fl 24396,18315,0,3666,-41,1012 2 51885 -- MSL 1044 ( 6J 173) +ij 12684,18165,4995,3681,1872,1012 3 60134 -- MSL 1047 ( 7J 230) +u2105 26346,18495,360,204,-1595,204 2 60072 -- MSL 1060 ( 7J 168) +u0047_0306 19515,23397,360,1380,-785,1012 2 46288 -- MSL 1061 ( 5T 208) +u0067_0306 15126,18147,5187,1683,2037,1012 3 46320 -- MSL 1062 ( 5T 240) +u0053_0327 17076,18495,5409,1797,117,1012 3 75178 -- MSL 1063 ( 9E 170) +u0073_0327 13173,12990,5046,984,1026,984 1 75194 -- MSL 1064 ( 9E 186) +u0049_0307 7317,23157,0,4410,1521,1012 2 46301 -- MSL 1065 ( 5T 221) +bq 8781,3234,2241,0,1878 0 161154 -- MSL 1067 (19U 130) +%0 26346,18720,840,696,51,696 2 161161 -- MSL 1068 (19U 137) +a- 16587,17778,0,102,-5930,102 2 60154 -- MSL 1084 ( 7J 250) +ab 16587,18147,0,771,-5873,771 2 75170 -- MSL 1086 ( 9E 162) +a. 16587,18222,0,0,-7886 2 75263 -- MSL 1088 ( 9E 255) +oe 23907,12990,360,525,258,525 0 161180 -- MSL 1090 (19U 156) +OE 26346,18270,135,3186,-818,1012 2 161164 -- MSL 1091 (19U 140) +fo 9759,11142,0,1299,-1028,1012 0 161163 -- MSL 1092 (19U 139) +fc 9759,11142,0,27,243,27 0 161179 -- MSL 1093 (19U 155) +sq 19029,15624,0,0,-2021 0 60091 -- MSL 1094 ( 7J 187) +/L 14148,18135,0,0,1692 2 75171 -- MSL 1095 ( 9E 163) +/l 7320,18165,0,3519,1320,1012 2 75187 -- MSL 1096 ( 9E 179) +a" 16587,18105,0,3672,-5375,1012 2 75197 -- MSL 1097 ( 9E 189) +ho 16587,279,4248,0,-6179 0 75186 -- MSL 1098 ( 9E 178) +vZ 16101,23220,0,3348,1491,1012 2 75150 -- MSL 1106 ( 9E 142) +IJ 21954,18135,360,3054,1521,1012 2 60135 -- MSL 1107 ( 7J 231) diff -ruN groff-1.19/font/devlj4/UCB groff-1.19.1/font/devlj4/UCB --- groff-1.19/font/devlj4/UCB Tue Feb 25 06:38:56 2003 +++ groff-1.19.1/font/devlj4/UCB Wed Feb 18 10:01:17 2004 @@ -1,3 +1,4 @@ +# Univers BdCd name UCB spacewidth 5856 pcltypeface 4148 @@ -6,682 +7,752 @@ 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 cq -4389 -L ' -4389 -T hy -2925 -T - -2925 -T en -2925 -T em -2925 -A cq -1461 -A ' -1461 -hy T -2925 -- T -2925 -en T -2925 -em T -2925 -Y hy -1461 -Y - -1461 -Y en -1461 -Y em -1461 -p cq -1461 -p ' -1461 -c cq -975 -c ' -975 -e cq -1461 -e ' -1461 -b cq -1461 -b ' -1461 -a cq -975 -a ' -975 -V hy -486 -V - -486 -V en -486 -V em -486 -h cq -975 -h ' -975 -n cq -975 -n ' -975 -m cq -975 -m ' -975 -W hy -486 -W - -486 -W en -486 -W em -486 -cq d -975 -' d -975 -s cq -975 -s ' -975 -L hy -1950 -L - -1950 -L en -1950 -L em -1950 -X hy -1461 -X - -1461 -X en -1461 -X em -1461 -A hy -975 -A - -975 -A en -975 -A em -975 -K hy -1461 -K - -1461 -K en -1461 -K em -1461 -cq s -975 -' s -975 -hy X -1461 -- X -1461 -hy A -975 -- A -975 -en X -1461 -en A -975 -em X -1461 -b f -486 -Z hy -486 -Z - -486 -Z en -486 -Z em -486 +L V -2924 +P . -4388 +P , -4388 +V A -1949 +A V -1949 +T o -2924 +T r -2924 +T c -2924 +T e -2924 +T d -2924 +T s -2924 +T y -2924 +T a -2924 +T w -2924 +T u -2924 +T J -3413 +L T -2924 +L Y -2924 +Y o -2924 +Y e -2924 +Y a -2438 +Y J -3413 +A W -1460 +W A -1460 +T A -2438 +V o -1460 +V e -1460 +V a -1460 +Y A -2438 +F A -1460 +F . -2924 +F , -2924 +A T -2438 +A Y -2438 +v . -1460 +v , -1460 +y . -1460 +y , -1460 +T . -2924 +T , -2924 +L W -1460 +P A -1460 +V J -1949 +V . -2924 +V , -2924 +Y . -2924 +Y , -2924 +W o -974 +W e -974 +W a -974 +W . -1460 +W , -1460 +r . -1460 +r , -1460 +w . -974 +w , -974 +Y u -1460 +A v -1460 +A y -974 +A w -974 +o . -1460 +o , -1460 +p . -974 +p , -974 +e . -974 +e , -974 +b . -974 +b , -974 +O T -1460 +O V -485 +O Y -1460 +O . -1460 +O , -1460 +L y -974 +L O -1460 +L G -1949 +L C -1460 +L Q -1460 +P J -1949 +V y -485 +V u -485 +V O -485 +V G -485 +V C -485 +V Q -485 +D T -1949 +D V -485 +D Y -1460 +D . -1949 +D , -1949 +Y O -1460 +Y G -1460 +Y C -1460 +Y Q -1460 +F o -974 +F e -974 +F a -974 +c . -974 +c , -974 +O A -974 +O W -485 +L U -1460 +R T -974 +R V -485 +R Y -974 +R W -485 +G T -1460 +P o -1460 +P g -1460 +P e -1460 +P a -974 +C A -974 +C . -1460 +C , -1460 +D A -974 +D W -485 +B T -1460 +B Y -1460 +B . -1460 +B , -1460 +F J -1460 +A O -974 +A G -974 +A C -974 +A U -974 +A Q -974 +W r -485 +W y -485 +W u -485 +W O -485 +W G -485 +W C -485 +W J -1460 +W Q -485 +J A -974 +J . -1460 +J , -1460 +U A -974 +U . -1460 +U , -1460 +Q W -485 +f . -485 +f , -485 +T O -1460 +T G -1949 +T C -1460 +T Q -1460 +O X -1460 +L o -1460 +L e -1460 +L q -974 +G V -485 +G Y -1460 +G W -485 +P T -974 +P V -485 +P Y -974 +C T -1460 +C V -485 +C Y -1460 +D X -1460 +B V -485 +B X -1460 +B A -974 +B W -485 +S . -974 +S , -974 +X o -1460 +X e -1460 +X y -974 +X O -1460 +X G -1460 +X C -1460 +X Q -1460 +A o -974 +A e -974 +K o -1460 +K e -1460 +K y -974 +K w -974 +K O -1460 +K G -1460 +K C -1460 +K Q -1460 +o v -485 +o y -485 +o x -485 +o w -485 +h v -485 +h y -485 +n v -485 +n y -485 +m v -485 +m y -485 +r g -485 +p v -485 +p y -485 +p x -485 +c v -485 +c y -485 +c w -485 +v o -485 +v g -485 +v c -485 +v d -485 +v a -485 +v q -485 +e v -485 +e y -485 +b v -485 +b y -485 +b w -485 +s . -485 +s , -485 +y o -485 +y g -485 +y c -485 +y d -485 +y a -485 +y q -485 +f g -485 +x o -485 +x c -485 +x e -485 +x d -485 +x a -485 +x q -485 +a v -485 +a y -485 +a w -485 +w o -485 +w g -485 +w c -485 +w d -485 +w a -485 +w q -485 +T S -974 +L a -485 +L S -974 +P s -974 +P Z -974 +P X -974 +P W -485 +C X -1460 +C W -485 +C J -485 +V S -485 +S T -974 +S V -485 +S Y -974 +S X -974 +S A -974 +S W -485 +Y S -974 +X a -485 +X u -974 +X S -974 +A t -974 +A c -974 +A d -974 +A a -485 +A u -974 +A q -974 +A S -974 +W S -485 +K c -1460 +K u -974 +K S -974 +o f -485 +h w -485 +n w -485 +m w -485 +r o -485 +r c -485 +r e -485 +r d -485 +r a -485 +r q -485 +p f -485 +p w -485 +c f -485 +c x -485 +v e -485 +v s -485 +e f -485 +e x -485 +e w -485 +b f -485 +s v -485 +s y -485 +s f -485 +s x -485 +s w -485 +y e -485 +y s -485 +f o -485 +f c -485 +f e -485 +f d -485 +f s -485 +f a -485 +f q -485 +x s -485 +w e -485 +w s -485 +k o -974 +k c -974 +k e -974 +k d -974 +k a -485 +k q -974 +O Z -485 +O J -485 +L J -485 +C Z -485 +E J -485 +Z o -1460 +Z e -1460 +Z d -974 +Z s -974 +Z y -485 +Z a -485 +Z w -485 +Z u -485 +Z O -485 +Z G -485 +Z C -485 +Z S -485 +Z J -485 +Z Q -485 +D Z -485 +D J -485 +B Z -485 +B J -485 +S Z -485 +S J -485 +X J -485 +A s -974 +A J -485 +J J -485 +U J -485 +K a -485 +K J -485 +h f -485 +n f -485 +m f -485 +r s -485 +a f -485 +k s -974 +R J -485 +G J -485 +A f -485 +L cq -4388 +L ' -4388 +T hy -2924 +T - -2924 +T en -2924 +T em -2924 +A cq -1460 +A ' -1460 +hy T -2924 +- T -2924 +en T -2924 +em T -2924 +Y hy -1460 +Y - -1460 +Y en -1460 +Y em -1460 +p cq -1460 +p ' -1460 +c cq -974 +c ' -974 +e cq -1460 +e ' -1460 +b cq -1460 +b ' -1460 +a cq -974 +a ' -974 +V hy -485 +V - -485 +V en -485 +V em -485 +h cq -974 +h ' -974 +n cq -974 +n ' -974 +m cq -974 +m ' -974 +W hy -485 +W - -485 +W en -485 +W em -485 +cq d -974 +' d -974 +s cq -974 +s ' -974 +L hy -1949 +L - -1949 +L en -1949 +L em -1949 +X hy -1460 +X - -1460 +X en -1460 +X em -1460 +A hy -974 +A - -974 +A en -974 +A em -974 +K hy -1460 +K - -1460 +K en -1460 +K em -1460 +cq s -974 +' s -974 +hy X -1460 +- X -1460 +hy A -974 +- A -974 +en X -1460 +en A -974 +em X -1460 +b f -485 +Z hy -485 +Z - -485 +Z en -485 +Z em -485 charset -! 7806,18135 2 3617 -dq 10734,18135 2 3618 +! 7806,18135 2 161057 -- MSL 1 (19U 33) +dq 10734,18135 2 161058 -- MSL 2 (19U 34) " " -sh 12684,18360,825 2 3619 +sh 12684,18360,825 2 161059 -- MSL 3 (19U 35) # " -Do 12684,18705,765 2 3620 +Do 12684,18705,765 2 161060 -- MSL 4 (19U 36) $ " -% 17565,18765,900 2 3621 -& 16587,18390,255 2 3622 -cq 5856,18135 2 51751 +% 17565,18765,900 2 161061 -- MSL 5 (19U 37) +& 16587,18390,255 2 161062 -- MSL 6 (19U 38) +cq 5856,18135 2 161170 -- MSL 8 (19U 146) ' " -( 5856,18135,2430 2 3624 -) 5856,18135,2430 2 3625 -* 12684,18495 2 3626 -+ 17565,12810 0 3627 -, 5856,3465,2430 0 3628 -hy 5856,7710 0 3629 +( 5856,18135,2430 2 161064 -- MSL 9 (19U 40) +) 5856,18135,2430 2 161065 -- MSL 10 (19U 41) +* 12684,18495 2 161066 -- MSL 11 (19U 42) ++ 17565,12810 0 161067 -- MSL 12 (19U 43) +, 5856,3465,2430 0 161068 -- MSL 13 (19U 44) +hy 5856,7710 0 161069 -- MSL 14 (19U 45) - " -. 5856,3330 0 3630 -sl 5856,18165,2430 2 3631 +. 5856,3330 0 161070 -- MSL 15 (19U 46) +sl 5856,18165,2430 2 161071 -- MSL 16 (19U 47) / " -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 +0 12684,18360,255 2 161072 -- MSL 17 (19U 48) +1 12684,18105 2 161073 -- MSL 18 (19U 49) +2 12684,18360 2 161074 -- MSL 19 (19U 50) +3 12684,18360,255 2 161075 -- MSL 20 (19U 51) +4 12684,18105 2 161076 -- MSL 21 (19U 52) +5 12684,18105,255 2 161077 -- MSL 22 (19U 53) +6 12684,18360,255 2 161078 -- MSL 23 (19U 54) +7 12684,18105 2 161079 -- MSL 24 (19U 55) +8 12684,18360,255 2 161080 -- MSL 25 (19U 56) +9 12684,18360,255 2 161081 -- MSL 26 (19U 57) +: 5856,12378 0 161082 -- MSL 27 (19U 58) +; 5856,12378,2430 0 161083 -- MSL 28 (19U 59) +< 26346,16068 0 161084 -- MSL 29 (19U 60) += 17565,9792 0 161085 -- MSL 30 (19U 61) +> 26346,16068 0 161086 -- MSL 31 (19U 62) +? 11709,18390 2 161087 -- MSL 32 (19U 63) +at 17565,18357,3219 2 161088 -- MSL 33 (19U 64) @ " -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 +A 14637,18135 2 161089 -- MSL 34 (19U 65) +B 14148,18135 2 161090 -- MSL 35 (19U 66) +C 13662,18390,255 2 161091 -- MSL 36 (19U 67) +D 14637,18135 2 161092 -- MSL 37 (19U 68) +E 12198,18135 2 161093 -- MSL 38 (19U 69) +F 11709,18135 2 161094 -- MSL 39 (19U 70) +G 14637,18390,255 2 161095 -- MSL 40 (19U 71) +H 14637,18135 2 161096 -- MSL 41 (19U 72) +I 6831,18135 2 161097 -- MSL 42 (19U 73) +J 12684,18135,255 2 161098 -- MSL 43 (19U 74) +K 14148,18135 2 161099 -- MSL 44 (19U 75) +L 11220,18135 2 161100 -- MSL 45 (19U 76) +M 19515,18135 2 161101 -- MSL 46 (19U 77) +N 15126,18135 2 161102 -- MSL 47 (19U 78) +O 14637,18390,255 2 161103 -- MSL 48 (19U 79) +P 13662,18135 2 161104 -- MSL 49 (19U 80) +Q 15126,18390,255 2 161105 -- MSL 50 (19U 81) +R 13662,18135 2 161106 -- MSL 51 (19U 82) +S 14148,18390,255 2 161107 -- MSL 52 (19U 83) +T 13173,18135 2 161108 -- MSL 53 (19U 84) +U 14637,18135,255 2 161109 -- MSL 54 (19U 85) +V 13662,18135 2 161110 -- MSL 55 (19U 86) +W 20490,18135 2 161111 -- MSL 56 (19U 87) +X 14637,18135 2 161112 -- MSL 57 (19U 88) +Y 13662,18135 2 161113 -- MSL 58 (19U 89) +Z 12198,18135 2 161114 -- MSL 59 (19U 90) +lB 5856,18135,2430 2 161115 -- MSL 60 (19U 91) [ " -rs 5856,18165,2430 2 3676 +rs 5856,18165,2430 2 161116 -- MSL 61 (19U 92) \ " -rB 5856,18135,2430 2 3677 +rB 5856,18135,2430 2 161117 -- MSL 62 (19U 93) ] " -ha 13173,19758 2 51875 -_ 13173,0,6588 1 3679 -oq 5856,18135 2 51808 +ha 13173,19758 2 161118 -- MSL 63 (19U 94) +_ 13173,0,6588 1 161119 -- MSL 64 (19U 95) +oq 5856,18135 2 161169 -- MSL 66 (19U 145) ` " -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 -`A 14637,23130 2 3776 -^A 14637,23130 2 3778 -`E 12198,23130 2 3784 -^E 12198,23130 2 3786 -:E 12198,22815 2 3787 -^I 6831,23130 2 3790 -:I 6831,22815 2 3791 -aa 12684,18285 2 3764 -ga 12684,18285 2 3680 -a^ 12684,18285 2 3678 +a 11709,12885,255 0 161121 -- MSL 67 (19U 97) +b 11709,18165,255 2 161122 -- MSL 68 (19U 98) +c 10734,12885,255 0 161123 -- MSL 69 (19U 99) +d 11709,18165,255 2 161124 -- MSL 70 (19U 100) +e 11220,12885,255 0 161125 -- MSL 71 (19U 101) +f 8295,18315 2 161126 -- MSL 72 (19U 102) +g 11709,12885,4995 1 161127 -- MSL 73 (19U 103) +h 12198,18165 2 161128 -- MSL 74 (19U 104) +i 6342,18165 2 161129 -- MSL 75 (19U 105) +j 6342,18165,4995 3 161130 -- MSL 76 (19U 106) +k 11709,18165 2 161131 -- MSL 77 (19U 107) +l 6342,18165 2 161132 -- MSL 78 (19U 108) +m 17565,12885 0 161133 -- MSL 79 (19U 109) +n 12198,12885 0 161134 -- MSL 80 (19U 110) +o 11709,12885,255 0 161135 -- MSL 81 (19U 111) +p 11709,12885,4995 1 161136 -- MSL 82 (19U 112) +q 11709,12885,4995 1 161137 -- MSL 83 (19U 113) +r 8781,12885 0 161138 -- MSL 84 (19U 114) +s 10734,12885,255 0 161139 -- MSL 85 (19U 115) +t 8295,16086,255 0 161140 -- MSL 86 (19U 116) +u 12198,12630,255 0 161141 -- MSL 87 (19U 117) +v 11709,12630 0 161142 -- MSL 88 (19U 118) +w 18540,12630 0 161143 -- MSL 89 (19U 119) +x 11709,12630 0 161144 -- MSL 90 (19U 120) +y 11709,12630,4680 1 161145 -- MSL 91 (19U 121) +z 9759,12630 0 161146 -- MSL 92 (19U 122) +{ 13173,20130,6075 3 161147 -- MSL 93 (19U 123) +lC " +| 13173,19758,6588 3 161148 -- MSL 94 (19U 124) +ba " +} 13173,20130,6075 3 161149 -- MSL 95 (19U 125) +rC " +ti 26346,9435 0 161150 -- MSL 96 (19U 126) +`A 14637,23130 2 161216 -- MSL 99 (19U 192) +^A 14637,23130 2 161218 -- MSL 100 (19U 194) +`E 12198,23130 2 161224 -- MSL 101 (19U 200) +^E 12198,23130 2 161226 -- MSL 102 (19U 202) +:E 12198,22815 2 161227 -- MSL 103 (19U 203) +^I 6831,23130 2 161230 -- MSL 104 (19U 206) +:I 6831,22815 2 161231 -- MSL 105 (19U 207) +aa 12684,18285 2 161204 -- MSL 106 (19U 180) +ga 12684,18285 2 161120 -- MSL 107 (19U 96) +a^ 12684,18285 2 161160 -- MSL 108 (19U 136) ^ " -ad 12684,18225 2 3752 -a~ 12684,17874 2 3710 -~ " -`U 14637,23130,255 2 3801 -^U 14637,23130,255 2 3803 -'Y 13662,23130 2 3805 -'y 11709,18285,4680 3 3837 -de 12684,18360 2 3760 -,C 13662,18390,5580 3 3783 -,c 10734,12885,5190 1 3815 -~N 15126,23031 2 3793 -~n 12198,17874 2 3825 -r! 7806,12630,5505 1 3745 -r? 11709,12576,5814 1 3775 -Cs 12684,15834 0 3748 -Po 12684,18360 2 3747 -Ye 12684,18105 2 3749 -sc 12684,18495,600 2 3751 -Fn 12684,18315 2 51871 -ct 12684,18705,765 2 3746 -^a 11709,18285,255 2 3810 -^e 11220,18285,255 2 3818 -^o 11709,18285,255 2 3828 -^u 12198,18285,255 2 3835 -'a 11709,18285,255 2 3809 -'e 11220,18285,255 2 3817 -'o 11709,18285,255 2 3827 -'u 12198,18285,255 2 3834 -`a 11709,18285,255 2 3808 -`e 11220,18285,255 2 3816 -`o 11709,18285,255 2 3826 -`u 12198,18285,255 2 3833 -:a 11709,18225,255 2 3812 -:e 11220,18225,255 2 3819 -:o 11709,18225,255 2 3830 -:u 12198,18225,255 2 3836 -oA 14637,25080 2 3781 -^i 6342,18285 2 3822 -/O 14637,19890,2019 2 3800 -AE 20490,18135 2 3782 -oa 11709,19455,255 2 3813 -'i 6342,18285 2 3821 -/o 11709,14256,2172 0 3832 -ae 17565,12885,255 0 3814 -:A 14637,22815 2 3780 -`i 6342,18285 2 3820 -:O 14637,22815,255 2 3798 -:U 14637,22815,255 2 3804 -'E 12198,23130 2 3785 -:i 6342,18225 2 3823 -ss 13173,18315,255 2 3807 -^O 14637,23130,255 2 3796 -'A 14637,23130 2 3777 -~A 14637,23031 2 3779 -~a 11709,17874,255 2 3811 --D 14637,18135 2 3792 -Sd 11709,18573,255 2 3824 -'I 6831,23130 2 3789 -`I 6831,23130 2 3788 -'O 14637,23130,255 2 3795 -`O 14637,23130,255 2 3794 -~O 14637,23031,255 2 3797 -~o 11709,17874,255 2 3829 -vS 14148,23130,255 2 51795 -vs 10734,18285,255 2 51827 -'U 14637,23130,255 2 3802 -:Y 13662,22815 2 51801 -:y 11709,18225,4680 3 3839 -TP 13662,18135 2 3806 -Tp 11709,18165,4995 3 3838 -mc 15612,12630,4680 1 3765 -ps 12684,19635,4200 2 3766 -34 17565,18765,900 2 3774 -\- 17565,7740 0 51757 -14 17565,18765,900 2 3772 -12 17565,18765,900 2 3773 -Of 10734,18360 2 3754 -Om 10734,18360 2 3770 -Fo 11709,11070 0 3755 -Fc 11709,11070 0 3771 -t+- 17565,12810,2520 0 3761 -bb 13173,19083,5916 3 3750 -co 13173,19635 2 3753 -tno 17565,10320 0 3756 -rg 13173,19635 2 3758 -S2 8295,18465 2 3762 -S3 8295,18465 2 3763 -ac 12684,0,5190 1 3768 -S1 8295,18345 2 3769 -tmu 17565,12345 0 3799 -tdi 17565,12015 0 3831 -pc 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 -a- 12684,17595 2 3759 -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 +ad 12684,18225 2 161192 -- MSL 109 (19U 168) +~ 12684,17874 2 161176 -- MSL 110 (19U 152) +a~ " +`U 14637,23130,255 2 161241 -- MSL 111 (19U 217) +^U 14637,23130,255 2 161243 -- MSL 112 (19U 219) +u00AF 13173,21105 2 161199 -- MSL 113 (19U 175) +'Y 13662,23130 2 161245 -- MSL 114 (19U 221) +'y 11709,18285,4680 3 161277 -- MSL 115 (19U 253) +de 12684,18360 2 161200 -- MSL 116 (19U 176) +,C 13662,18390,5580 3 161223 -- MSL 117 (19U 199) +,c 10734,12885,5190 1 161255 -- MSL 118 (19U 231) +~N 15126,23031 2 161233 -- MSL 119 (19U 209) +~n 12198,17874 2 161265 -- MSL 120 (19U 241) +r! 7806,12630,5505 1 161185 -- MSL 121 (19U 161) +r? 11709,12576,5814 1 161215 -- MSL 122 (19U 191) +Cs 12684,15834 0 161188 -- MSL 123 (19U 164) +Po 12684,18360 2 161187 -- MSL 124 (19U 163) +Ye 12684,18105 2 161189 -- MSL 125 (19U 165) +sc 12684,18495,600 2 161191 -- MSL 126 (19U 167) +Fn 12684,18315 2 161155 -- MSL 127 (19U 131) +ct 12684,18705,765 2 161186 -- MSL 128 (19U 162) +^a 11709,18285,255 2 161250 -- MSL 129 (19U 226) +^e 11220,18285,255 2 161258 -- MSL 130 (19U 234) +^o 11709,18285,255 2 161268 -- MSL 131 (19U 244) +^u 12198,18285,255 2 161275 -- MSL 132 (19U 251) +'a 11709,18285,255 2 161249 -- MSL 133 (19U 225) +'e 11220,18285,255 2 161257 -- MSL 134 (19U 233) +'o 11709,18285,255 2 161267 -- MSL 135 (19U 243) +'u 12198,18285,255 2 161274 -- MSL 136 (19U 250) +`a 11709,18285,255 2 161248 -- MSL 137 (19U 224) +`e 11220,18285,255 2 161256 -- MSL 138 (19U 232) +`o 11709,18285,255 2 161266 -- MSL 139 (19U 242) +`u 12198,18285,255 2 161273 -- MSL 140 (19U 249) +:a 11709,18225,255 2 161252 -- MSL 141 (19U 228) +:e 11220,18225,255 2 161259 -- MSL 142 (19U 235) +:o 11709,18225,255 2 161270 -- MSL 143 (19U 246) +:u 12198,18225,255 2 161276 -- MSL 144 (19U 252) +oA 14637,25080 2 161221 -- MSL 145 (19U 197) +^i 6342,18285 2 161262 -- MSL 146 (19U 238) +/O 14637,19890,2019 2 161240 -- MSL 147 (19U 216) +AE 20490,18135 2 161222 -- MSL 148 (19U 198) +oa 11709,19455,255 2 161253 -- MSL 149 (19U 229) +'i 6342,18285 2 161261 -- MSL 150 (19U 237) +/o 11709,14256,2172 0 161272 -- MSL 151 (19U 248) +ae 17565,12885,255 0 161254 -- MSL 152 (19U 230) +:A 14637,22815 2 161220 -- MSL 153 (19U 196) +`i 6342,18285 2 161260 -- MSL 154 (19U 236) +:O 14637,22815,255 2 161238 -- MSL 155 (19U 214) +:U 14637,22815,255 2 161244 -- MSL 156 (19U 220) +'E 12198,23130 2 161225 -- MSL 157 (19U 201) +:i 6342,18225 2 161263 -- MSL 158 (19U 239) +ss 13173,18315,255 2 161247 -- MSL 159 (19U 223) +^O 14637,23130,255 2 161236 -- MSL 160 (19U 212) +'A 14637,23130 2 161217 -- MSL 161 (19U 193) +~A 14637,23031 2 161219 -- MSL 162 (19U 195) +~a 11709,17874,255 2 161251 -- MSL 163 (19U 227) +-D 14637,18135 2 161232 -- MSL 164 (19U 208) +Sd 11709,18573,255 2 161264 -- MSL 165 (19U 240) +'I 6831,23130 2 161229 -- MSL 166 (19U 205) +`I 6831,23130 2 161228 -- MSL 167 (19U 204) +'O 14637,23130,255 2 161235 -- MSL 168 (19U 211) +`O 14637,23130,255 2 161234 -- MSL 169 (19U 210) +~O 14637,23031,255 2 161237 -- MSL 170 (19U 213) +~o 11709,17874,255 2 161269 -- MSL 171 (19U 245) +vS 14148,23130,255 2 161162 -- MSL 172 (19U 138) +vs 10734,18285,255 2 161178 -- MSL 173 (19U 154) +'U 14637,23130,255 2 161242 -- MSL 174 (19U 218) +:Y 13662,22815 2 161183 -- MSL 175 (19U 159) +:y 11709,18225,4680 3 161279 -- MSL 176 (19U 255) +TP 13662,18135 2 161246 -- MSL 177 (19U 222) +Tp 11709,18165,4995 3 161278 -- MSL 178 (19U 254) +mc 15612,12630,4680 1 161205 -- MSL 180 (19U 181) +ps 12684,19635,4200 2 161206 -- MSL 181 (19U 182) +34 17565,18765,900 2 161214 -- MSL 182 (19U 190) +\- 17565,7740 0 60096 -- MSL 183 ( 7J 192) +14 17565,18765,900 2 161212 -- MSL 184 (19U 188) +12 17565,18765,900 2 161213 -- MSL 185 (19U 189) +Of 10734,18360 2 161194 -- MSL 186 (19U 170) +Om 10734,18360 2 161210 -- MSL 187 (19U 186) +Fo 11709,11070 0 161195 -- MSL 188 (19U 171) +Fc 11709,11070 0 161211 -- MSL 190 (19U 187) +t+- 17565,12810,2520 0 161201 -- MSL 191 (19U 177) +bb 13173,19083,5916 3 161190 -- MSL 192 (19U 166) +co 13173,19635 2 161193 -- MSL 193 (19U 169) +tno 17565,10320 0 161196 -- MSL 194 (19U 172) +u00AD 5856,7710 0 161197 -- MSL 195 (19U 173) +rg 13173,19635 2 161198 -- MSL 196 (19U 174) +S2 8295,18465 2 161202 -- MSL 197 (19U 178) +S3 8295,18465 2 161203 -- MSL 198 (19U 179) +ac 12684,0,5190 1 161208 -- MSL 199 (19U 184) +S1 8295,18345 2 161209 -- MSL 200 (19U 185) +tmu 17565,12345 0 161239 -- MSL 201 (19U 215) +tdi 17565,12015 0 161271 -- MSL 202 (19U 247) +u203C 13173,18135 2 87315 -- MSL 221 (10U 19) +u20A7 20979,18135,255 2 60121 -- MSL 232 ( 7J 217) +pc 5856,10251 0 161207 -- MSL 302 (19U 183) +u013F 11220,18135 2 51943 -- MSL 306 ( 6J 231) +u0140 9270,18165 2 51959 -- MSL 307 ( 6J 247) +u2113 12684,18045,765 2 60122 -- MSL 308 ( 7J 218) +u0149 15612,18135 2 51951 -- MSL 309 ( 6J 239) +fm 5856,18105 2 60101 -- MSL 310 ( 7J 197) +sd 12684,18105 2 60102 -- MSL 311 ( 7J 198) +dg 12684,18135 2 161158 -- MSL 312 (19U 134) +tm 16101,17850 2 161177 -- MSL 313 (19U 153) +u2017 13173,0,6588 1 60095 -- MSL 314 ( 7J 191) +ah 12684,18285 2 75169 -- MSL 315 ( 9E 161) +ao 12684,19455 2 60152 -- MSL 316 ( 7J 248) +f/ 2928,18765,900 2 60109 -- MSL 324 ( 7J 205) +em 17565,7530 0 161175 -- MSL 325 (19U 151) +en 12684,7530 0 161174 -- MSL 326 (19U 150) +dd 12684,18135 2 161159 -- MSL 327 (19U 135) +.i 6342,12630 0 46333 -- MSL 328 ( 5T 253) +aq 5856,18135 2 161063 -- MSL 329 (19U 39) +bu 13173,14226 0 161173 -- MSL 331 (19U 149) +u207F 8295,18465 2 87548 -- MSL 332 (10U 252) +u0111 11709,18165,255 2 75248 -- MSL 342 ( 9E 240) +u0041_0306 14637,23298 2 75203 -- MSL 400 ( 9E 195) +u0061_0306 11709,18285,255 2 75235 -- MSL 401 ( 9E 227) +u0041_0328 14637,18135,4860 3 75173 -- MSL 404 ( 9E 165) +u0061_0328 11709,12885,4335 0 75193 -- MSL 405 ( 9E 185) +'C 13662,23130,255 2 75206 -- MSL 406 ( 9E 198) +'c 10734,18285,255 2 75238 -- MSL 407 ( 9E 230) +u0041_030C 13662,23130,255 2 75208 -- MSL 410 ( 9E 200) +u0061_030C 10734,18285,255 2 75240 -- MSL 411 ( 9E 232) +u0044_030C 14637,23130 2 75215 -- MSL 414 ( 9E 207) +u0064_030C 14637,18165,255 2 75247 -- MSL 415 ( 9E 239) +u0045_030C 12198,23130 2 75212 -- MSL 416 ( 9E 204) +u0065_030C 11220,18285,255 2 75244 -- MSL 417 ( 9E 236) +u0045_0328 12198,18135,4860 3 75210 -- MSL 422 ( 9E 202) +u0065_0328 11220,12885,4335 0 75242 -- MSL 423 ( 9E 234) +u004C_0301 11220,23130 2 75205 -- MSL 440 ( 9E 197) +u006C_0301 6342,23745 2 75237 -- MSL 441 ( 9E 229) +u004C_030C 11220,18165 2 75196 -- MSL 442 ( 9E 188) +u006C_030C 8781,18165 2 75198 -- MSL 443 ( 9E 190) +u004E_0301 15126,23130 2 75217 -- MSL 446 ( 9E 209) +u006E_0301 12198,18285 2 75249 -- MSL 447 ( 9E 241) +u004E_030C 15126,23130 2 75218 -- MSL 448 ( 9E 210) +u006E_030C 12198,18285 2 75250 -- MSL 449 ( 9E 242) +u004F_030B 14637,23130,255 2 75221 -- MSL 452 ( 9E 213) +u006F_030B 11709,18285,255 2 75253 -- MSL 453 ( 9E 245) +u0052_0301 13662,23130 2 75200 -- MSL 456 ( 9E 192) +u0072_0301 8781,18285 2 75232 -- MSL 457 ( 9E 224) +u0052_030C 13662,23130 2 75224 -- MSL 458 ( 9E 216) +u0072_030C 8781,18285 2 75256 -- MSL 459 ( 9E 248) +u0053_0301 14148,23130,255 2 75148 -- MSL 462 ( 9E 140) +u0073_0301 10734,18285,255 2 75164 -- MSL 463 ( 9E 156) +u0054_030C 13173,23130 2 75149 -- MSL 466 ( 9E 141) +u0074_030C 9759,18165,255 2 75165 -- MSL 467 ( 9E 157) +u0054_0327 13173,18135,5580 3 75230 -- MSL 468 ( 9E 222) +u0074_0327 8295,16086,5190 1 75262 -- MSL 469 ( 9E 254) +u0055_030B 14637,23130,255 2 75227 -- MSL 474 ( 9E 219) +u0075_030B 12198,18285,255 2 75259 -- MSL 475 ( 9E 251) +u0055_030A 14637,25080,255 2 75225 -- MSL 476 ( 9E 217) +u0075_030A 12198,19455,255 2 75257 -- MSL 477 ( 9E 249) +u005A_0301 12198,23130 2 75151 -- MSL 482 ( 9E 143) +u007A_0301 9759,18285 2 75167 -- MSL 483 ( 9E 159) +u005A_0307 12198,22920 2 75183 -- MSL 484 ( 9E 175) +u007A_0307 9759,18345 2 75199 -- MSL 485 ( 9E 191) +u2070 8295,18465 2 51753 -- MSL 1000 ( 6J 41) +u2074 8295,18345 2 51748 -- MSL 1001 ( 6J 36) +u2075 8295,18345 2 51749 -- MSL 1002 ( 6J 37) +u2076 8295,18465 2 51806 -- MSL 1003 ( 6J 94) +u2077 8295,18345 2 51750 -- MSL 1004 ( 6J 38) +u2078 8295,18465 2 51754 -- MSL 1005 ( 6J 42) +u2079 8295,18465 2 51752 -- MSL 1006 ( 6J 40) +lq 10245,18135 2 161171 -- MSL 1017 (19U 147) +rq 10245,18135 2 161172 -- MSL 1018 (19U 148) +Bq 10245,3513,2382 0 161156 -- MSL 1019 (19U 132) +u2003 17565,0 0 51821 -- MSL 1020 ( 6J 109) +u2002 12684,0 0 51822 -- MSL 1021 ( 6J 110) +u2009 5856,0 0 51828 -- MSL 1023 ( 6J 116) +u2026 17565,3210 0 161157 -- MSL 1028 (19U 133) +vz 9759,18285 2 75166 -- MSL 1031 ( 9E 158) +u2120 16101,18000 2 128299 -- MSL 1034 (15U 43) +u211E 20004,18315,4056 2 51794 -- MSL 1036 ( 6J 82) +fi 14148,18315 2 60077 -- MSL 1040 ( 7J 173) +fl 14148,18315 2 60078 -- MSL 1041 ( 7J 174) +ff 15126,18315 2 51883 -- MSL 1042 ( 6J 171) +Fi 20979,18315 2 51884 -- MSL 1043 ( 6J 172) +Fl 20979,18315 2 51885 -- MSL 1044 ( 6J 173) +ij 12684,18165,4995 3 60134 -- MSL 1047 ( 7J 230) +u2105 20979,18390,255 2 60072 -- MSL 1060 ( 7J 168) +u0047_0306 14637,23298,255 2 46288 -- MSL 1061 ( 5T 208) +u0067_0306 11709,18285,4995 3 46320 -- MSL 1062 ( 5T 240) +u0053_0327 14148,18390,5580 3 75178 -- MSL 1063 ( 9E 170) +u0073_0327 10734,12885,5190 1 75194 -- MSL 1064 ( 9E 186) +u0049_0307 6831,22920 2 46301 -- MSL 1065 ( 5T 221) +bq 5856,3513,2382 0 161154 -- MSL 1067 (19U 130) +%0 26346,18765,900 2 161161 -- MSL 1068 (19U 137) +a- 12684,17595 2 60154 -- MSL 1084 ( 7J 250) +ab 12684,18285 2 75170 -- MSL 1086 ( 9E 162) +a. 12684,18345 2 75263 -- MSL 1088 ( 9E 255) +oe 17565,12885,255 0 161180 -- MSL 1090 (19U 156) +OE 20490,18270,135 2 161164 -- MSL 1091 (19U 140) +fo 6342,11070 0 161163 -- MSL 1092 (19U 139) +fc 6342,11070 0 161179 -- MSL 1093 (19U 155) +sq 19029,15624 0 60091 -- MSL 1094 ( 7J 187) +/L 11709,18135 2 75171 -- MSL 1095 ( 9E 163) +/l 6831,18165 2 75187 -- MSL 1096 ( 9E 179) +a" 12684,18285 2 75197 -- MSL 1097 ( 9E 189) +ho 12684,300,4335 0 75186 -- MSL 1098 ( 9E 178) +vZ 12198,23130 2 75150 -- MSL 1106 ( 9E 142) +IJ 18540,18135,255 2 60135 -- MSL 1107 ( 7J 231) diff -ruN groff-1.19/font/devlj4/UCBI groff-1.19.1/font/devlj4/UCBI --- groff-1.19/font/devlj4/UCBI Tue Feb 25 06:38:56 2003 +++ groff-1.19.1/font/devlj4/UCBI Wed Feb 18 10:01:17 2004 @@ -1,3 +1,4 @@ +# Univers BdCdIt name UCBI spacewidth 5856 slant 16.500000 @@ -7,589 +8,659 @@ 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 cq -3903 -L ' -3903 -T hy -1950 -T - -1950 -T en -1950 -T em -1950 -A cq -1461 -A ' -1461 -hy T -2439 -- T -2439 -en T -2439 -em T -2439 -Y hy -975 -Y - -975 -Y en -975 -Y em -975 -p cq -975 -p ' -975 -c cq -975 -c ' -975 -e cq -1461 -e ' -1461 -b cq -1461 -b ' -1461 -a cq -975 -a ' -975 -V hy -486 -V - -486 -V en -486 -V em -486 -h cq -1461 -h ' -1461 -n cq -975 -n ' -975 -m cq -975 -m ' -975 -W hy -486 -W - -486 -W en -486 -W em -486 -cq d -975 -' d -975 -s cq -486 -s ' -486 -L hy -1950 -L - -1950 -L en -1950 -L em -1950 -X hy -975 -X - -975 -X en -975 -X em -975 -A hy -486 -A - -486 -A en -486 -A em -486 -K hy -975 -K - -975 -K en -975 -K em -975 -hy X -975 -- X -975 -hy A -486 -- A -486 -en X -975 -en A -486 -em X -975 -Z hy -486 -Z - -486 -Z en -486 -Z em -486 +L V -2438 +P . -4388 +P , -4388 +V A -1460 +A V -1949 +T o -2438 +T r -1949 +T c -2438 +T e -2438 +T d -2438 +T s -1949 +T y -1949 +T a -2438 +T w -1949 +T u -1949 +T J -1949 +L T -2438 +L Y -2924 +Y o -1949 +Y e -1460 +Y a -1460 +Y J -1949 +A W -1460 +W A -974 +T A -1949 +V o -974 +V e -974 +V a -974 +Y A -1949 +F A -974 +F . -3413 +F , -3413 +A T -2438 +A Y -2438 +v . -974 +v , -974 +y . -974 +y , -974 +T . -1949 +T , -1949 +L W -1460 +P A -1460 +V J -974 +V . -1949 +V , -1949 +Y . -1949 +Y , -1949 +W o -974 +W e -974 +W a -974 +W . -974 +W , -974 +r . -1460 +r , -1460 +w . -974 +w , -974 +Y u -974 +A v -485 +A y -974 +A w -485 +o . -974 +o , -974 +p . -974 +p , -974 +e . -485 +e , -485 +b . -974 +b , -974 +O T -1949 +O V -485 +O Y -974 +O . -1460 +O , -1460 +L y -1460 +L O -1949 +L G -1949 +L C -1949 +L Q -1949 +P J -1460 +V y -485 +V u -485 +V O -485 +V G -485 +V C -485 +V Q -485 +D T -1460 +D V -485 +D Y -974 +D . -1949 +D , -1949 +Y O -974 +Y G -974 +Y C -974 +Y Q -974 +F o -485 +F e -485 +F a -485 +c . -485 +c , -485 +O A -485 +O W -485 +L U -1460 +R T -1460 +R V -485 +R Y -974 +R W -485 +G T -1460 +P o -974 +P g -485 +P e -485 +P a -485 +C A -485 +C . -1460 +C , -1460 +D A -485 +D W -485 +B T -1949 +B Y -974 +B . -485 +B , -485 +F J -485 +A O -485 +A G -485 +A C -485 +A U -485 +A Q -485 +W r -485 +W y -485 +W u -485 +W O -485 +W G -485 +W C -485 +W J -974 +W Q -485 +U A -485 +U . -974 +U , -974 +Q W -485 +T O -1460 +T G -1460 +T C -1460 +T Q -1460 +O X -974 +L o -1460 +L e -1460 +L q -1460 +G V -485 +G Y -974 +G W -485 +P T -1460 +P V -485 +P Y -974 +C T -1949 +C V -485 +C Y -974 +D X -974 +B V -485 +B X -485 +B A -485 +B W -485 +S . -485 +S , -485 +X o -974 +X e -974 +X y -974 +X O -974 +X G -974 +X C -974 +X Q -974 +A o -485 +A e -485 +K o -974 +K e -974 +K y -974 +K w -974 +K O -974 +K G -974 +K C -974 +K Q -974 +o y -485 +o x -974 +h y -485 +n y -485 +m y -485 +r g -485 +p y -485 +p x -974 +c y -485 +e y -485 +b y -485 +x o -974 +x c -974 +x e -485 +x d -974 +x a -485 +x q -974 +a y -485 +T S -485 +L a -485 +L S -974 +P Z -485 +P X -974 +P W -485 +C X -974 +C W -485 +V S -485 +S T -974 +S V -485 +S Y -974 +S X -485 +S A -485 +S W -485 +Y S -485 +X a -485 +X u -974 +X S -485 +A t -485 +A c -485 +A d -485 +A a -485 +A u -485 +A q -485 +A S -485 +W S -485 +K c -974 +K u -974 +K S -485 +r o -485 +r c -485 +r e -485 +r d -485 +r a -485 +r q -485 +c x -485 +e x -485 +s y -485 +k o -485 +k c -485 +k e -485 +k d -485 +k a -485 +k q -485 +O Z -485 +C Z -485 +Z o -485 +Z e -485 +Z d -485 +Z s -485 +Z y -485 +Z a -485 +Z w -485 +Z u -485 +Z O -485 +Z G -485 +Z C -485 +Z S -485 +Z Q -485 +D Z -485 +B Z -485 +S Z -485 +A s -485 +K a -485 +L cq -3902 +L ' -3902 +T hy -1949 +T - -1949 +T en -1949 +T em -1949 +A cq -1460 +A ' -1460 +hy T -2438 +- T -2438 +en T -2438 +em T -2438 +Y hy -974 +Y - -974 +Y en -974 +Y em -974 +p cq -974 +p ' -974 +c cq -974 +c ' -974 +e cq -1460 +e ' -1460 +b cq -1460 +b ' -1460 +a cq -974 +a ' -974 +V hy -485 +V - -485 +V en -485 +V em -485 +h cq -1460 +h ' -1460 +n cq -974 +n ' -974 +m cq -974 +m ' -974 +W hy -485 +W - -485 +W en -485 +W em -485 +cq d -974 +' d -974 +s cq -485 +s ' -485 +L hy -1949 +L - -1949 +L en -1949 +L em -1949 +X hy -974 +X - -974 +X en -974 +X em -974 +A hy -485 +A - -485 +A en -485 +A em -485 +K hy -974 +K - -974 +K en -974 +K em -974 +hy X -974 +- X -974 +hy A -485 +- A -485 +en X -974 +en A -485 +em X -974 +Z hy -485 +Z - -485 +Z en -485 +Z em -485 charset -! 7806,18135,0,2628,993,994 2 3617 -dq 10734,18135,0,3669,-2133,994 2 3618 +! 7806,18135,0,2628,993,994 2 161057 -- MSL 1 (19U 33) +dq 10734,18135,0,3669,-2132,994 2 161058 -- MSL 2 (19U 34) " " -sh 12684,18360,825,2676,684,994 2 3619 +sh 12684,18360,825,2676,684,994 2 161059 -- MSL 3 (19U 35) # " -Do 12684,18840,570,1326,-291,994 2 3620 +Do 12684,18840,570,1326,-290,994 2 161060 -- MSL 4 (19U 36) $ " -% 17565,18465,1050,1386,228,994 2 3621 -& 16587,18390,255,609,471,609 2 3622 -cq 5856,18135,0,4215,-1392,994 2 51751 +% 17565,18465,1050,1386,228,994 2 161061 -- MSL 5 (19U 37) +& 16587,18390,255,609,471,609 2 161062 -- MSL 6 (19U 38) +cq 5856,18135,0,4215,-1391,994 2 161170 -- MSL 8 (19U 146) ' " -( 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 -hy 5856,7785,0,726,585,726 0 3629 +( 5856,18135,2430,4416,744,994 2 161064 -- MSL 9 (19U 40) +) 5856,18135,2430,1812,3348,994 2 161065 -- MSL 10 (19U 41) +* 12684,18390,0,1635,-3464,994 2 161066 -- MSL 11 (19U 42) ++ 17565,12810,0,0,-1430 0 161067 -- MSL 12 (19U 43) +, 5856,3465,2370,0,3042 0 161068 -- MSL 13 (19U 44) +hy 5856,7785,0,726,585,726 0 161069 -- MSL 14 (19U 45) - " -. 5856,3465,0,0,1917 0 3630 -sl 5856,18165,2430,4518,3396,994 2 3631 +. 5856,3465,0,0,1917 0 161070 -- MSL 15 (19U 46) +sl 5856,18165,2430,4518,3396,994 2 161071 -- MSL 16 (19U 47) / " -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 +0 12684,18360,255,2343,627,994 2 161072 -- MSL 17 (19U 48) +1 12684,18105,0,1020,-2306,994 2 161073 -- MSL 18 (19U 49) +2 12684,18360,0,2235,1779,994 2 161074 -- MSL 19 (19U 50) +3 12684,18360,255,2184,687,994 2 161075 -- MSL 20 (19U 51) +4 12684,18105,0,2082,1284,994 2 161076 -- MSL 21 (19U 52) +5 12684,18105,255,2490,525,994 2 161077 -- MSL 22 (19U 53) +6 12684,18360,255,2397,546,994 2 161078 -- MSL 23 (19U 54) +7 12684,18105,0,3309,315,994 2 161079 -- MSL 24 (19U 55) +8 12684,18360,255,2274,600,994 2 161080 -- MSL 25 (19U 56) +9 12684,18360,255,2289,819,994 2 161081 -- MSL 26 (19U 57) +: 5856,12570,0,1947,1917,994 0 161082 -- MSL 27 (19U 58) +; 5856,12570,2370,1836,3042,994 0 161083 -- MSL 28 (19U 59) +< 26346,16068,0,0,-3980 0 161084 -- MSL 29 (19U 60) += 17565,9792,0,0,-1454 0 161085 -- MSL 30 (19U 61) +> 26346,16068,0,0,-3980 0 161086 -- MSL 31 (19U 62) +? 11709,18390,0,2205,-737,994 2 161087 -- MSL 32 (19U 63) +at 17565,18372,3231,2163,1152,994 2 161088 -- MSL 33 (19U 64) @ " -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 +A 14637,18135,0,0,2460 2 161089 -- MSL 34 (19U 65) +B 14148,18135,0,1668,1362,994 2 161090 -- MSL 35 (19U 66) +C 13662,18390,255,2247,375,994 2 161091 -- MSL 36 (19U 67) +D 14637,18135,0,1851,1398,994 2 161092 -- MSL 37 (19U 68) +E 12198,18135,0,3423,1440,994 2 161093 -- MSL 38 (19U 69) +F 11709,18135,0,3855,1584,994 2 161094 -- MSL 39 (19U 70) +G 14637,18390,255,1926,117,994 2 161095 -- MSL 40 (19U 71) +H 14637,18135,0,3243,1542,994 2 161096 -- MSL 41 (19U 72) +I 6831,18135,0,3342,1641,994 2 161097 -- MSL 42 (19U 73) +J 12684,18135,255,3231,1059,994 2 161098 -- MSL 43 (19U 74) +K 14148,18135,0,3366,1374,994 2 161099 -- MSL 44 (19U 75) +L 11220,18135,0,0,1488 2 161100 -- MSL 45 (19U 76) +M 19515,18135,0,2958,1551,994 2 161101 -- MSL 46 (19U 77) +N 15126,18135,0,3003,1431,994 2 161102 -- MSL 47 (19U 78) +O 14637,18390,255,1872,204,994 2 161103 -- MSL 48 (19U 79) +P 13662,18135,0,2412,1506,994 2 161104 -- MSL 49 (19U 80) +Q 15126,18390,255,1449,189,994 2 161105 -- MSL 50 (19U 81) +R 13662,18135,0,1968,1545,994 2 161106 -- MSL 51 (19U 82) +S 14148,18390,255,2079,495,994 2 161107 -- MSL 52 (19U 83) +T 13173,18135,0,3891,-1553,994 2 161108 -- MSL 53 (19U 84) +U 14637,18135,255,3147,72,994 2 161109 -- MSL 54 (19U 85) +V 13662,18135,0,4206,-1619,994 2 161110 -- MSL 55 (19U 86) +W 20490,18135,0,3927,-698,994 2 161111 -- MSL 56 (19U 87) +X 14637,18135,0,3828,2505,994 2 161112 -- MSL 57 (19U 88) +Y 13662,18135,0,4230,-1766,994 2 161113 -- MSL 58 (19U 89) +Z 12198,18135,0,3639,2217,994 2 161114 -- MSL 59 (19U 90) +lB 5856,18135,2430,4086,2592,994 2 161115 -- MSL 60 (19U 91) [ " -rs 8295,18165,2430,534,-1680,534 2 3676 +rs 8295,18165,2430,534,-1679,534 2 161116 -- MSL 61 (19U 92) \ " -rB 5856,18135,2430,3555,3123,994 2 3677 +rB 5856,18135,2430,3555,3123,994 2 161117 -- MSL 62 (19U 93) ] " -ha 13173,19758,0,36,36,36 2 51875 -_ 13173,0,6588,1317,1317,994 1 3679 -oq 5856,18135,0,3957,-1134,994 2 51808 +ha 13173,19758,0,36,36,36 2 161118 -- MSL 63 (19U 94) +_ 13173,0,6588,1317,1317,994 1 161119 -- MSL 64 (19U 95) +oq 5856,18135,0,3957,-1133,994 2 161169 -- MSL 66 (19U 145) ` " -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 -`A 14637,23100,0,0,2460 2 3776 -^A 14637,23100,0,1626,2460,994 2 3778 -`E 12198,23100,0,3423,1440,994 2 3784 -^E 12198,23100,0,3423,1440,994 2 3786 -:E 12198,23265,0,3948,1440,994 2 3787 -^I 6831,23100,0,5529,1641,994 2 3790 -:I 6831,23265,0,6630,1641,994 2 3791 -aa 12684,18225,0,1785,-5265,994 2 3764 -ga 12684,18225,0,0,-5271 2 3680 -a^ 12684,18225,0,702,-3897,702 2 3678 +a 11709,12885,255,999,1161,994 0 161121 -- MSL 67 (19U 97) +b 11709,18165,255,1164,1920,994 2 161122 -- MSL 68 (19U 98) +c 10734,12885,255,1290,990,994 0 161123 -- MSL 69 (19U 99) +d 11709,18165,255,3657,1038,994 2 161124 -- MSL 70 (19U 100) +e 11220,12885,255,1140,1023,994 0 161125 -- MSL 71 (19U 101) +f 8295,18315,0,4233,960,994 2 161126 -- MSL 72 (19U 102) +g 11709,12885,4995,2007,2487,994 1 161127 -- MSL 73 (19U 103) +h 12198,18165,0,987,1677,987 2 161128 -- MSL 74 (19U 104) +i 6342,18165,0,3393,1722,994 2 161129 -- MSL 75 (19U 105) +j 6342,18165,4995,3432,4620,994 3 161130 -- MSL 76 (19U 106) +k 11709,18165,0,2241,1605,994 2 161131 -- MSL 77 (19U 107) +l 6342,18165,0,3426,1746,994 2 161132 -- MSL 78 (19U 108) +m 17565,12885,0,1053,1842,994 0 161133 -- MSL 79 (19U 109) +n 12198,12885,0,915,1734,915 0 161134 -- MSL 80 (19U 110) +o 11709,12885,255,990,927,990 0 161135 -- MSL 81 (19U 111) +p 11709,12885,4680,1098,3417,994 1 161136 -- MSL 82 (19U 112) +q 11709,12885,4680,1926,1122,994 1 161137 -- MSL 83 (19U 113) +r 8781,12885,0,2637,1686,994 0 161138 -- MSL 84 (19U 114) +s 10734,12885,255,1116,1380,994 0 161139 -- MSL 85 (19U 115) +t 8295,15693,255,2280,354,994 0 161140 -- MSL 86 (19U 116) +u 12198,12630,255,1764,849,994 0 161141 -- MSL 87 (19U 117) +v 11709,12630,0,2337,-545,994 0 161142 -- MSL 88 (19U 118) +w 18540,12630,0,2337,-170,994 0 161143 -- MSL 89 (19U 119) +x 11709,12630,0,2193,2526,994 0 161144 -- MSL 90 (19U 120) +y 11709,12630,4680,2457,1983,994 1 161145 -- MSL 91 (19U 121) +z 9759,12630,0,1977,2220,994 0 161146 -- MSL 92 (19U 122) +{ 13173,20130,6075,3150,-905,994 3 161147 -- MSL 93 (19U 123) +lC " +| 13173,19758,6588,0,-4595 3 161148 -- MSL 94 (19U 124) +ba " +} 13173,20130,6075,0,3510 3 161149 -- MSL 95 (19U 125) +rC " +ti 26346,9435,0,0,-4028 0 161150 -- MSL 96 (19U 126) +`A 14637,23100,0,0,2460 2 161216 -- MSL 99 (19U 192) +^A 14637,23100,0,1626,2460,994 2 161218 -- MSL 100 (19U 194) +`E 12198,23100,0,3423,1440,994 2 161224 -- MSL 101 (19U 200) +^E 12198,23100,0,3423,1440,994 2 161226 -- MSL 102 (19U 202) +:E 12198,23265,0,3948,1440,994 2 161227 -- MSL 103 (19U 203) +^I 6831,23100,0,5529,1641,994 2 161230 -- MSL 104 (19U 206) +:I 6831,23265,0,6630,1641,994 2 161231 -- MSL 105 (19U 207) +aa 12684,18225,0,1785,-5264,994 2 161204 -- MSL 106 (19U 180) +ga 12684,18225,0,0,-5270 2 161120 -- MSL 107 (19U 96) +a^ 12684,18225,0,702,-3896,702 2 161160 -- MSL 108 (19U 136) ^ " -ad 12684,18120,0,2067,-3990,994 2 3752 -a~ 12684,17811,0,1560,-3786,994 2 3710 -~ " -`U 14637,23100,255,3147,72,994 2 3801 -^U 14637,23100,255,3147,72,994 2 3803 -'Y 13662,23100,0,4230,-1767,994 2 3805 -'y 11709,18225,4680,2457,1983,994 3 3837 -de 12684,18360,0,1377,-3201,994 2 3760 -,C 13662,18390,5295,2247,375,994 3 3783 -,c 10734,12885,5205,1290,1419,994 1 3815 -~N 15126,22833,0,3003,1431,994 2 3793 -~n 12198,17811,0,1803,1734,994 2 3825 -r! 7806,12615,5520,936,2685,936 1 3745 -r? 11709,12600,5790,0,2256 1 3775 -Cs 12684,15834,0,2757,1125,994 0 3748 -Po 12684,18360,0,2571,1257,994 2 3747 -Ye 12684,18105,0,4791,834,994 2 3749 -sc 12684,18390,255,174,-1545,174 2 3751 -Fn 12684,18315,0,2196,-1392,994 2 51871 -ct 12684,18840,570,1299,-636,994 2 3746 -^a 11709,18225,255,1188,1161,994 2 3810 -^e 11220,18225,255,1434,1023,994 2 3818 -^o 11709,18225,255,1188,927,994 2 3828 -^u 12198,18225,255,1764,849,994 2 3835 -'a 11709,18225,255,2271,1161,994 2 3809 -'e 11220,18225,255,2517,1023,994 2 3817 -'o 11709,18225,255,2271,927,994 2 3827 -'u 12198,18225,255,2028,849,994 2 3834 -`a 11709,18225,255,999,1161,994 2 3808 -`e 11220,18225,255,1140,1023,994 2 3816 -`o 11709,18225,255,990,927,990 2 3826 -`u 12198,18225,255,1764,849,994 2 3833 -:a 11709,18120,255,2553,1161,994 2 3812 -:e 11220,18120,255,2799,1023,994 2 3819 -:o 11709,18120,255,2553,927,994 2 3830 -:u 12198,18120,255,2310,849,994 2 3836 -oA 14637,25164,0,1713,2460,994 2 3781 -^i 6342,18225,0,3873,1713,994 2 3822 -/O 14637,19854,1755,1872,204,994 2 3800 -AE 20490,18135,0,2688,3147,994 2 3782 -oa 11709,19089,255,1488,1161,994 2 3813 -'i 6342,18225,0,5760,1713,994 2 3821 -/o 11709,14208,1830,993,927,993 0 3832 -ae 17565,12885,255,924,966,924 0 3814 -:A 14637,23265,0,2727,2460,994 2 3780 -`i 6342,18225,0,2367,1713,994 2 3820 -:O 14637,23265,255,2727,204,994 2 3798 -:U 14637,23265,255,3147,72,994 2 3804 -'E 12198,23100,0,3660,1440,994 2 3785 -:i 6342,18120,0,5238,1713,994 2 3823 -ss 13173,18165,0,1956,1704,994 2 3807 -^O 14637,23100,255,1872,204,994 2 3796 -'A 14637,23100,0,2439,2460,994 2 3777 -~A 14637,22833,0,2379,2460,994 2 3779 -~a 11709,17811,255,2046,1161,994 2 3811 --D 14637,18135,0,1851,1398,994 2 3792 -Sd 11709,18756,255,1419,936,994 2 3824 -'I 6831,23100,0,6342,1641,994 2 3789 -`I 6831,23100,0,3732,1641,994 2 3788 -'O 14637,23100,255,2439,204,994 2 3795 -`O 14637,23100,255,1872,204,994 2 3794 -~O 14637,22833,255,2379,204,994 2 3797 -~o 11709,17811,255,2046,927,994 2 3829 -vS 14148,23100,255,2754,495,994 2 51795 -vs 10734,18225,255,2754,1380,994 2 51827 -'U 14637,23100,255,3147,72,994 2 3802 -:Y 13662,23265,0,4230,-1767,994 2 51801 -:y 11709,18120,4680,2553,1983,994 3 3839 -TP 13662,18135,0,1518,1470,994 2 3806 -Tp 11709,18165,4680,1098,3417,994 3 3838 -mc 15612,12630,4680,1422,2907,994 1 3765 -ps 12684,19635,4200,2046,-1215,994 2 3766 -34 17565,18465,1050,1788,-174,994 2 3774 -\- 17565,7740,0,0,-1455 0 51757 -14 17565,18345,1050,639,975,639 2 3772 -12 17565,18345,1050,165,1449,165 2 3773 -Of 10734,18360,0,1965,-2322,994 2 3754 -Om 10734,18360,0,1956,-2496,994 2 3770 -Fo 11709,10965,0,1749,306,994 0 3755 -Fc 11709,10965,0,219,1836,219 0 3771 -t+- 17565,12810,2520,0,-1431 0 3761 -bb 13173,19083,5916,0,-4596 3 3750 -co 13173,19635,0,4629,-2838,994 2 3753 -tno 17565,10320,0,0,-1455 0 3756 -rg 13173,19635,0,4629,-2838,994 2 3758 -S2 8295,18465,0,2814,-432,994 2 3762 -S3 8295,18465,0,2817,-1047,994 2 3763 -ac 12684,0,5205,0,444 1 3768 -S1 8295,18345,0,1920,-2586,994 2 3769 -tmu 17565,12345,0,0,-2448 0 3799 -tdi 17565,12015,0,0,-1446 0 3831 -pc 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 -a- 12684,16386,0,927,-4566,927 0 3759 -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 +ad 12684,18120,0,2067,-3989,994 2 161192 -- MSL 109 (19U 168) +~ 12684,17811,0,1560,-3785,994 2 161176 -- MSL 110 (19U 152) +a~ " +`U 14637,23100,255,3147,72,994 2 161241 -- MSL 111 (19U 217) +^U 14637,23100,255,3147,72,994 2 161243 -- MSL 112 (19U 219) +u00AF 13173,21105,0,1317,1317,994 2 161199 -- MSL 113 (19U 175) +'Y 13662,23100,0,4230,-1766,994 2 161245 -- MSL 114 (19U 221) +'y 11709,18225,4680,2457,1983,994 3 161277 -- MSL 115 (19U 253) +de 12684,18360,0,1377,-3200,994 2 161200 -- MSL 116 (19U 176) +,C 13662,18390,5295,2247,375,994 3 161223 -- MSL 117 (19U 199) +,c 10734,12885,5205,1290,1419,994 1 161255 -- MSL 118 (19U 231) +~N 15126,22833,0,3003,1431,994 2 161233 -- MSL 119 (19U 209) +~n 12198,17811,0,1803,1734,994 2 161265 -- MSL 120 (19U 241) +r! 7806,12615,5520,936,2685,936 1 161185 -- MSL 121 (19U 161) +r? 11709,12600,5790,0,2256 1 161215 -- MSL 122 (19U 191) +Cs 12684,15834,0,2757,1125,994 0 161188 -- MSL 123 (19U 164) +Po 12684,18360,0,2571,1257,994 2 161187 -- MSL 124 (19U 163) +Ye 12684,18105,0,4791,834,994 2 161189 -- MSL 125 (19U 165) +sc 12684,18390,255,174,-1544,174 2 161191 -- MSL 126 (19U 167) +Fn 12684,18315,0,2196,-1391,994 2 161155 -- MSL 127 (19U 131) +ct 12684,18840,570,1299,-635,994 2 161186 -- MSL 128 (19U 162) +^a 11709,18225,255,1188,1161,994 2 161250 -- MSL 129 (19U 226) +^e 11220,18225,255,1434,1023,994 2 161258 -- MSL 130 (19U 234) +^o 11709,18225,255,1188,927,994 2 161268 -- MSL 131 (19U 244) +^u 12198,18225,255,1764,849,994 2 161275 -- MSL 132 (19U 251) +'a 11709,18225,255,2271,1161,994 2 161249 -- MSL 133 (19U 225) +'e 11220,18225,255,2517,1023,994 2 161257 -- MSL 134 (19U 233) +'o 11709,18225,255,2271,927,994 2 161267 -- MSL 135 (19U 243) +'u 12198,18225,255,2028,849,994 2 161274 -- MSL 136 (19U 250) +`a 11709,18225,255,999,1161,994 2 161248 -- MSL 137 (19U 224) +`e 11220,18225,255,1140,1023,994 2 161256 -- MSL 138 (19U 232) +`o 11709,18225,255,990,927,990 2 161266 -- MSL 139 (19U 242) +`u 12198,18225,255,1764,849,994 2 161273 -- MSL 140 (19U 249) +:a 11709,18120,255,2553,1161,994 2 161252 -- MSL 141 (19U 228) +:e 11220,18120,255,2799,1023,994 2 161259 -- MSL 142 (19U 235) +:o 11709,18120,255,2553,927,994 2 161270 -- MSL 143 (19U 246) +:u 12198,18120,255,2310,849,994 2 161276 -- MSL 144 (19U 252) +oA 14637,25164,0,1713,2460,994 2 161221 -- MSL 145 (19U 197) +^i 6342,18225,0,3873,1713,994 2 161262 -- MSL 146 (19U 238) +/O 14637,19854,1755,1872,204,994 2 161240 -- MSL 147 (19U 216) +AE 20490,18135,0,2688,3147,994 2 161222 -- MSL 148 (19U 198) +oa 11709,19089,255,1488,1161,994 2 161253 -- MSL 149 (19U 229) +'i 6342,18225,0,5760,1713,994 2 161261 -- MSL 150 (19U 237) +/o 11709,14208,1830,993,927,993 0 161272 -- MSL 151 (19U 248) +ae 17565,12885,255,924,966,924 0 161254 -- MSL 152 (19U 230) +:A 14637,23265,0,2727,2460,994 2 161220 -- MSL 153 (19U 196) +`i 6342,18225,0,2367,1713,994 2 161260 -- MSL 154 (19U 236) +:O 14637,23265,255,2727,204,994 2 161238 -- MSL 155 (19U 214) +:U 14637,23265,255,3147,72,994 2 161244 -- MSL 156 (19U 220) +'E 12198,23100,0,3660,1440,994 2 161225 -- MSL 157 (19U 201) +:i 6342,18120,0,5238,1713,994 2 161263 -- MSL 158 (19U 239) +ss 13173,18165,0,1956,1704,994 2 161247 -- MSL 159 (19U 223) +^O 14637,23100,255,1872,204,994 2 161236 -- MSL 160 (19U 212) +'A 14637,23100,0,2439,2460,994 2 161217 -- MSL 161 (19U 193) +~A 14637,22833,0,2379,2460,994 2 161219 -- MSL 162 (19U 195) +~a 11709,17811,255,2046,1161,994 2 161251 -- MSL 163 (19U 227) +-D 14637,18135,0,1851,1398,994 2 161232 -- MSL 164 (19U 208) +Sd 11709,18756,255,1419,936,994 2 161264 -- MSL 165 (19U 240) +'I 6831,23100,0,6342,1641,994 2 161229 -- MSL 166 (19U 205) +`I 6831,23100,0,3732,1641,994 2 161228 -- MSL 167 (19U 204) +'O 14637,23100,255,2439,204,994 2 161235 -- MSL 168 (19U 211) +`O 14637,23100,255,1872,204,994 2 161234 -- MSL 169 (19U 210) +~O 14637,22833,255,2379,204,994 2 161237 -- MSL 170 (19U 213) +~o 11709,17811,255,2046,927,994 2 161269 -- MSL 171 (19U 245) +vS 14148,23100,255,2754,495,994 2 161162 -- MSL 172 (19U 138) +vs 10734,18225,255,2754,1380,994 2 161178 -- MSL 173 (19U 154) +'U 14637,23100,255,3147,72,994 2 161242 -- MSL 174 (19U 218) +:Y 13662,23265,0,4230,-1766,994 2 161183 -- MSL 175 (19U 159) +:y 11709,18120,4680,2553,1983,994 3 161279 -- MSL 176 (19U 255) +TP 13662,18135,0,1518,1470,994 2 161246 -- MSL 177 (19U 222) +Tp 11709,18165,4680,1098,3417,994 3 161278 -- MSL 178 (19U 254) +mc 15612,12630,4680,1422,2907,994 1 161205 -- MSL 180 (19U 181) +ps 12684,19635,4200,2046,-1214,994 2 161206 -- MSL 181 (19U 182) +34 17565,18465,1050,1788,-173,994 2 161214 -- MSL 182 (19U 190) +\- 17565,7740,0,0,-1454 0 60096 -- MSL 183 ( 7J 192) +14 17565,18345,1050,639,975,639 2 161212 -- MSL 184 (19U 188) +12 17565,18345,1050,165,1449,165 2 161213 -- MSL 185 (19U 189) +Of 10734,18360,0,1965,-2321,994 2 161194 -- MSL 186 (19U 170) +Om 10734,18360,0,1956,-2495,994 2 161210 -- MSL 187 (19U 186) +Fo 11709,10965,0,1749,306,994 0 161195 -- MSL 188 (19U 171) +Fc 11709,10965,0,219,1836,219 0 161211 -- MSL 190 (19U 187) +t+- 17565,12810,2520,0,-1430 0 161201 -- MSL 191 (19U 177) +bb 13173,19083,5916,0,-4595 3 161190 -- MSL 192 (19U 166) +co 13173,19635,0,4629,-2837,994 2 161193 -- MSL 193 (19U 169) +tno 17565,10320,0,0,-1454 0 161196 -- MSL 194 (19U 172) +u00AD 5856,7785,0,726,585,726 0 161197 -- MSL 195 (19U 173) +rg 13173,19635,0,4629,-2837,994 2 161198 -- MSL 196 (19U 174) +S2 8295,18465,0,2814,-431,994 2 161202 -- MSL 197 (19U 178) +S3 8295,18465,0,2817,-1046,994 2 161203 -- MSL 198 (19U 179) +ac 12684,0,5205,0,444 1 161208 -- MSL 199 (19U 184) +S1 8295,18345,0,1920,-2585,994 2 161209 -- MSL 200 (19U 185) +tmu 17565,12345,0,0,-2447 0 161239 -- MSL 201 (19U 215) +tdi 17565,12015,0,0,-1445 0 161271 -- MSL 202 (19U 247) +u203C 13662,18135,0,2628,990,994 2 87315 -- MSL 221 (10U 19) +u20A7 21954,18135,255,2283,1506,994 2 60121 -- MSL 232 ( 7J 217) +pc 5856,10671,0,1371,-188,994 0 161207 -- MSL 302 (19U 183) +u013F 11220,18135,0,2700,1488,994 2 51943 -- MSL 306 ( 6J 231) +u0140 9270,18165,0,3120,1746,994 2 51959 -- MSL 307 ( 6J 247) +u2113 17562,18045,765,0,-3065 2 60122 -- MSL 308 ( 7J 218) +u0149 15615,18135,0,915,-452,915 2 51951 -- MSL 309 ( 6J 239) +fm 5856,18105,0,3432,-2123,994 2 60101 -- MSL 310 ( 7J 197) +sd 12684,18105,0,1554,-2123,994 2 60102 -- MSL 311 ( 7J 198) +dg 12684,18135,0,318,-1352,318 2 161158 -- MSL 312 (19U 134) +tm 16101,17850,0,2169,-2705,994 2 161177 -- MSL 313 (19U 153) +u2017 13173,0,6588,1317,1317,994 1 60095 -- MSL 314 ( 7J 191) +ah 12684,18225,0,1779,-4973,994 2 75169 -- MSL 315 ( 9E 161) +ao 12684,19089,0,1002,-4802,994 2 60152 -- MSL 316 ( 7J 248) +f/ 2928,18345,1050,8775,7476,994 2 60109 -- MSL 324 ( 7J 205) +em 17565,7605,0,426,354,426 0 161175 -- MSL 325 (19U 151) +en 12684,7605,0,753,546,753 0 161174 -- MSL 326 (19U 150) +dd 12684,18135,0,399,-1433,399 2 161159 -- MSL 327 (19U 135) +.i 6342,12630,0,1770,1713,994 0 46333 -- MSL 328 ( 5T 253) +aq 5856,18135,0,3546,-2132,994 2 161063 -- MSL 329 (19U 39) +bu 13173,14226,0,0,-497 0 161173 -- MSL 331 (19U 149) +u207F 8295,18465,0,3612,90,994 2 87548 -- MSL 332 (10U 252) +u0111 11709,18165,255,4527,1038,994 2 75248 -- MSL 342 ( 9E 240) +u0041_0306 14637,23205,0,1980,2460,994 2 75203 -- MSL 400 ( 9E 195) +u0061_0306 11709,18195,255,2160,1161,994 2 75235 -- MSL 401 ( 9E 227) +u0041_0328 14637,18135,4956,0,2460 3 75173 -- MSL 404 ( 9E 165) +u0061_0328 11709,12885,4755,999,1161,994 1 75193 -- MSL 405 ( 9E 185) +'C 13662,23100,255,3378,375,994 2 75206 -- MSL 406 ( 9E 198) +'c 10734,18225,255,2910,990,994 2 75238 -- MSL 407 ( 9E 230) +u0041_030C 13662,23100,255,2997,375,994 2 75208 -- MSL 410 ( 9E 200) +u0061_030C 10734,18225,255,2754,990,994 2 75240 -- MSL 411 ( 9E 232) +u0044_030C 14637,23100,0,1851,1398,994 2 75215 -- MSL 414 ( 9E 207) +u0064_030C 15126,18165,255,4908,1038,994 2 75247 -- MSL 415 ( 9E 239) +u0045_030C 12198,23100,0,3939,1440,994 2 75212 -- MSL 416 ( 9E 204) +u0065_030C 11220,18225,255,2511,1023,994 2 75244 -- MSL 417 ( 9E 236) +u0045_0328 12198,18135,4956,3423,1440,994 3 75210 -- MSL 422 ( 9E 202) +u0065_0328 11220,12885,4755,1140,1023,994 1 75242 -- MSL 423 ( 9E 234) +u004C_0301 11220,23100,0,2889,1488,994 2 75205 -- MSL 440 ( 9E 197) +u006C_0301 6342,23685,0,7113,1746,994 2 75237 -- MSL 441 ( 9E 229) +u004C_030C 11220,18165,0,3954,1488,994 2 75196 -- MSL 442 ( 9E 188) +u006C_030C 9270,18165,0,5064,1746,994 2 75198 -- MSL 443 ( 9E 190) +u004E_0301 15126,23100,0,3003,1431,994 2 75217 -- MSL 446 ( 9E 209) +u006E_0301 12198,18225,0,2028,1734,994 2 75249 -- MSL 447 ( 9E 241) +u004E_030C 15126,23100,0,3003,1431,994 2 75218 -- MSL 448 ( 9E 210) +u006E_030C 12198,18225,0,2022,1734,994 2 75250 -- MSL 449 ( 9E 242) +u004F_030B 14637,23100,255,4542,204,994 2 75221 -- MSL 452 ( 9E 213) +u006F_030B 11709,18225,255,4101,927,994 2 75253 -- MSL 453 ( 9E 245) +u0052_0301 13662,23100,0,2928,1545,994 2 75200 -- MSL 456 ( 9E 192) +u0072_0301 8781,18225,0,4185,1686,994 2 75232 -- MSL 457 ( 9E 224) +u0052_030C 13662,23100,0,2997,1545,994 2 75224 -- MSL 458 ( 9E 216) +u0072_030C 8781,18225,0,4179,1686,994 2 75256 -- MSL 459 ( 9E 248) +u0053_0301 14148,23100,255,2910,495,994 2 75148 -- MSL 462 ( 9E 140) +u0073_0301 10734,18225,255,2895,1380,994 2 75164 -- MSL 463 ( 9E 156) +u0054_030C 13173,23100,0,3891,-1553,994 2 75149 -- MSL 466 ( 9E 141) +u0074_030C 9759,18165,255,4995,354,994 2 75165 -- MSL 467 ( 9E 157) +u0054_0327 13173,18135,5295,3891,609,994 3 75230 -- MSL 468 ( 9E 222) +u0074_0327 8295,15693,5205,2280,2040,994 1 75262 -- MSL 469 ( 9E 254) +u0055_030B 14637,23100,255,4722,72,994 2 75227 -- MSL 474 ( 9E 219) +u0075_030B 12198,18225,255,4308,849,994 2 75259 -- MSL 475 ( 9E 251) +u0055_030A 14637,25164,255,3147,72,994 2 75225 -- MSL 476 ( 9E 217) +u0075_030A 12198,19089,255,1764,849,994 2 75257 -- MSL 477 ( 9E 249) +u005A_0301 12198,23100,0,3660,2217,994 2 75151 -- MSL 482 ( 9E 143) +u007A_0301 9759,18225,0,3246,2220,994 2 75167 -- MSL 483 ( 9E 159) +u005A_0307 12198,23265,0,3639,2217,994 2 75183 -- MSL 484 ( 9E 175) +u007A_0307 9759,18120,0,1977,2220,994 2 75199 -- MSL 485 ( 9E 191) +u2070 8295,18465,0,2832,-1037,994 2 51753 -- MSL 1000 ( 6J 41) +u2074 8295,18345,0,2883,-743,994 2 51748 -- MSL 1001 ( 6J 36) +u2075 8295,18345,0,3312,-1241,994 2 51749 -- MSL 1002 ( 6J 37) +u2076 8295,18465,0,3012,-1421,994 2 51806 -- MSL 1003 ( 6J 94) +u2077 8295,18345,0,3186,-1427,994 2 51750 -- MSL 1004 ( 6J 38) +u2078 8295,18465,0,2895,-1160,994 2 51754 -- MSL 1005 ( 6J 42) +u2079 8295,18465,0,2748,-1034,994 2 51752 -- MSL 1006 ( 6J 40) +lq 10245,18135,0,3945,-1130,994 2 161171 -- MSL 1017 (19U 147) +rq 10245,18135,0,4314,-1499,994 2 161172 -- MSL 1018 (19U 148) +Bq 10245,3459,2376,0,3000 0 161156 -- MSL 1019 (19U 132) +u2003 17565,0,0,0,1317 0 51821 -- MSL 1020 ( 6J 109) +u2002 12684,0,0,0,1317 0 51822 -- MSL 1021 ( 6J 110) +u2009 5856,0,0,0,1317 0 51828 -- MSL 1023 ( 6J 116) +u2026 17565,3105,0,0,756 0 161157 -- MSL 1028 (19U 133) +vz 9759,18225,0,3240,2220,994 2 75166 -- MSL 1031 ( 9E 158) +u2120 16101,18000,0,3354,-2720,994 2 128299 -- MSL 1034 (15U 43) +u211E 20004,18315,4056,537,-1238,537 2 51794 -- MSL 1036 ( 6J 82) +fi 14148,18315,0,3318,981,994 2 60077 -- MSL 1040 ( 7J 173) +fl 14148,18315,0,3378,978,994 2 60078 -- MSL 1041 ( 7J 174) +ff 15126,18315,0,4389,963,994 2 51883 -- MSL 1042 ( 6J 171) +Fi 20979,18315,0,3477,981,994 2 51884 -- MSL 1043 ( 6J 172) +Fl 20979,18315,0,3537,978,994 2 51885 -- MSL 1044 ( 6J 173) +ij 12684,18165,4995,3432,1722,994 3 60134 -- MSL 1047 ( 7J 230) +u2105 21468,18390,255,324,-1499,324 2 60072 -- MSL 1060 ( 7J 168) +u0047_0306 14637,23205,255,2310,117,994 2 46288 -- MSL 1061 ( 5T 208) +u0067_0306 11709,18195,4995,2160,2487,994 3 46320 -- MSL 1062 ( 5T 240) +u0053_0327 14148,18390,5295,2079,495,994 3 75178 -- MSL 1063 ( 9E 170) +u0073_0327 10734,12885,5205,1116,1419,994 1 75194 -- MSL 1064 ( 9E 186) +u0049_0307 6831,23265,0,4509,1641,994 2 46301 -- MSL 1065 ( 5T 221) +bq 5856,3459,2376,57,2766,57 0 161154 -- MSL 1067 (19U 130) +%0 26346,18465,1050,450,-200,450 2 161161 -- MSL 1068 (19U 137) +a- 12684,16386,0,927,-4565,927 0 60154 -- MSL 1084 ( 7J 250) +ab 12684,18195,0,1674,-4343,994 2 75170 -- MSL 1086 ( 9E 162) +a. 12684,18120,0,0,-5504 2 75263 -- MSL 1088 ( 9E 255) +oe 17565,12885,255,903,948,903 0 161180 -- MSL 1090 (19U 156) +OE 20490,18270,135,2994,153,994 2 161164 -- MSL 1091 (19U 140) +fo 6342,10965,0,1878,399,994 0 161163 -- MSL 1092 (19U 139) +fc 6342,10965,0,453,1824,453 0 161179 -- MSL 1093 (19U 155) +sq 19029,15624,0,0,-2021 0 60091 -- MSL 1094 ( 7J 187) +/L 13173,18135,0,951,96,951 2 75171 -- MSL 1095 ( 9E 163) +/l 8781,18165,0,2745,807,994 2 75187 -- MSL 1096 ( 9E 179) +a" 12684,18225,0,4065,-4166,994 2 75197 -- MSL 1097 ( 9E 189) +ho 12684,918,4755,0,-2396 1 75186 -- MSL 1098 ( 9E 178) +vZ 12198,23100,0,3729,2217,994 2 75150 -- MSL 1106 ( 9E 142) +IJ 19515,18135,255,3231,1641,994 2 60135 -- MSL 1107 ( 7J 231) diff -ruN groff-1.19/font/devlj4/UCI groff-1.19.1/font/devlj4/UCI --- groff-1.19/font/devlj4/UCI Tue Feb 25 06:38:56 2003 +++ groff-1.19.1/font/devlj4/UCI Wed Feb 18 10:01:17 2004 @@ -1,3 +1,4 @@ +# Univers MdCdIt name UCI spacewidth 5856 slant 16.500000 @@ -7,729 +8,799 @@ 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 cq -3414 -L ' -3414 -T hy -3414 -T - -3414 -T en -3414 -T em -3414 -A cq -1461 -A ' -1461 -hy T -3414 -- T -3414 -en T -3414 -em T -3414 -Y hy -1461 -Y - -1461 -Y en -1461 -Y em -1461 -p cq -1950 -p ' -1950 -c cq -1950 -c ' -1950 -e cq -1950 -e ' -1950 -b cq -1950 -b ' -1950 -a cq -1950 -a ' -1950 -V hy -486 -V - -486 -V en -486 -V em -486 -h cq -1461 -h ' -1461 -n cq -1461 -n ' -1461 -m cq -1461 -m ' -1461 -W hy -486 -W - -486 -W en -486 -W em -486 -cq d -486 -' d -486 -s cq -975 -s ' -975 -L hy -1950 -L - -1950 -L en -1950 -L em -1950 -X hy -486 -X - -486 -X en -486 -X em -486 -A hy -486 -A - -486 -A en -486 -A em -486 -K hy -975 -K - -975 -K en -975 -K em -975 -cq s -486 -' s -486 -hy X -486 -- X -486 -hy A -486 -- A -486 -en X -486 -en A -486 -em X -486 -v cq -486 -v ' -486 -C cq -486 -C ' -486 -Z hy -486 -Z - -486 -Z en -486 -Z em -486 -v hy -486 -v - -486 -v en -486 -v em -486 -C hy -486 -C - -486 -C en -486 -C em -486 +L V -2924 +P . -5363 +P , -5363 +V A -1949 +A V -1949 +T o -3413 +T r -3413 +T c -3413 +T e -3413 +T d -3413 +T s -3902 +T y -3413 +T a -3413 +T w -3413 +T u -3413 +T J -3413 +L T -3413 +L Y -2924 +Y o -2924 +Y e -2924 +Y a -2438 +Y J -2924 +A W -1949 +W A -1949 +T A -2924 +V o -1949 +V e -1949 +V a -1460 +Y A -2924 +F A -1460 +F . -3902 +F , -3902 +A T -2924 +A Y -2924 +v . -1949 +v , -1949 +y . -2438 +y , -2438 +T . -3413 +T , -3413 +L W -1949 +P A -1460 +V J -1949 +V . -2924 +V , -2924 +Y . -2924 +Y , -2924 +W o -1460 +W e -1460 +W a -1460 +W . -1949 +W , -1949 +r . -1460 +r , -1460 +w . -1949 +w , -1949 +Y u -1460 +A v -974 +A y -974 +A w -974 +o . -485 +o , -485 +p . -485 +p , -485 +e . -485 +e , -485 +b . -485 +b , -485 +O T -1460 +O V -485 +O Y -1460 +O . -974 +O , -974 +L y -2438 +L O -1460 +L G -1460 +L C -1460 +L Q -1460 +P J -1949 +V y -485 +V u -485 +V O -485 +V G -485 +V C -485 +V Q -485 +D T -1460 +D V -485 +D Y -1460 +D . -974 +D , -974 +Y O -974 +Y G -974 +Y C -974 +Y Q -974 +F o -974 +F e -974 +F a -974 +c . -485 +c , -485 +O A -485 +O W -485 +L U -1460 +R T -1460 +R V -485 +R Y -1460 +R W -485 +G T -1460 +P o -1460 +P g -1460 +P e -1460 +P a -974 +C A -974 +C . -974 +C , -974 +D A -485 +D W -485 +B T -1460 +B Y -1460 +B . -974 +B , -974 +F J -974 +A O -485 +A G -485 +A C -485 +A U -485 +A Q -485 +W r -485 +W y -485 +W u -485 +W O -485 +W G -485 +W C -485 +W J -1460 +W Q -485 +J A -485 +J . -1460 +J , -1460 +U A -485 +U . -974 +U , -974 +Q W -485 +f . -974 +f , -974 +T O -974 +T G -974 +T C -974 +T Q -974 +O X -485 +L o -1949 +L e -1949 +L q -1949 +G V -485 +G Y -1460 +G W -485 +P T -1460 +P V -485 +P Y -1460 +C T -1460 +C V -974 +C Y -1460 +D X -485 +B V -485 +B X -485 +B A -485 +B W -485 +S . -485 +S , -485 +X o -485 +X e -485 +X y -485 +X O -485 +X G -485 +X C -485 +X Q -485 +A o -485 +A e -485 +K o -974 +K e -974 +K y -974 +K w -974 +K O -974 +K G -974 +K C -974 +K Q -974 +o v -485 +o y -485 +o x -485 +o w -485 +h v -485 +h y -485 +n v -485 +n y -485 +m v -485 +m y -485 +r g -485 +p v -485 +p y -485 +p x -485 +c v -485 +c y -485 +c w -485 +v o -485 +v g -485 +v c -485 +v d -485 +v a -485 +v q -485 +e v -485 +e y -485 +b v -485 +b y -485 +b w -485 +s . -485 +s , -485 +y o -485 +y g -485 +y c -485 +y d -485 +y a -485 +y q -485 +f g -485 +x o -485 +x g -485 +x c -485 +x e -485 +x d -485 +x a -485 +x q -485 +a v -485 +a y -485 +a w -485 +w o -485 +w g -485 +w c -485 +w d -485 +w a -485 +w q -485 +T i -485 +T S -485 +L a -1460 +L S -974 +P s -485 +P Z -485 +P X -485 +P W -485 +C X -974 +C W -974 +C J -485 +V i -485 +V S -485 +S T -974 +S V -485 +S Y -974 +S X -485 +S A -485 +S W -485 +Y i -485 +Y S -485 +X a -485 +X u -485 +X S -485 +A t -485 +A g -485 +A c -485 +A d -485 +A a -485 +A u -485 +A q -485 +A S -485 +W i -485 +W S -485 +K c -974 +K u -974 +K S -485 +h w -485 +n w -485 +m w -485 +r o -485 +r c -485 +r e -485 +r d -485 +r a -485 +r q -485 +p w -485 +c x -485 +v e -485 +v s -974 +e x -485 +e w -485 +s v -485 +s y -485 +s x -485 +s w -485 +y e -485 +y s -485 +f o -485 +f c -485 +f e -485 +f d -485 +f s -485 +f a -485 +f q -485 +x s -485 +w e -485 +w s -485 +k o -485 +k g -485 +k c -485 +k e -485 +k d -485 +k a -485 +k q -485 +O Z -485 +L J -974 +C Z -974 +Z o -485 +Z e -485 +Z d -485 +Z s -974 +Z y -485 +Z a -485 +Z w -485 +Z u -485 +Z O -485 +Z G -485 +Z C -485 +Z S -485 +Z J -485 +Z Q -485 +D Z -485 +B Z -485 +S Z -485 +X J -485 +A s -974 +A J -485 +K a -974 +K J -974 +t s -485 +r s -485 +g s -485 +v t -485 +v h -485 +v n -485 +v m -485 +v r -485 +v i -485 +v p -485 +v z -485 +v b -485 +v y -485 +v f -485 +v x -485 +v w -485 +v j -485 +v u -485 +v k -485 +z s -485 +k s -485 +C t -485 +C o -485 +C h -485 +C l -485 +C r -485 +C i -485 +C e -485 +C y -485 +C a -485 +C u -485 +C O -485 +C H -485 +C N -485 +C M -485 +C L -485 +C R -485 +C G -485 +C I -485 +C P -485 +C C -485 +C E -485 +C D -485 +C B -485 +C S -485 +C F -485 +C U -485 +C Q -485 +C K -485 +E s -485 +U s -485 +L cq -3413 +L ' -3413 +T hy -3413 +T - -3413 +T en -3413 +T em -3413 +A cq -1460 +A ' -1460 +hy T -3413 +- T -3413 +en T -3413 +em T -3413 +Y hy -1460 +Y - -1460 +Y en -1460 +Y em -1460 +p cq -1949 +p ' -1949 +c cq -1949 +c ' -1949 +e cq -1949 +e ' -1949 +b cq -1949 +b ' -1949 +a cq -1949 +a ' -1949 +V hy -485 +V - -485 +V en -485 +V em -485 +h cq -1460 +h ' -1460 +n cq -1460 +n ' -1460 +m cq -1460 +m ' -1460 +W hy -485 +W - -485 +W en -485 +W em -485 +cq d -485 +' d -485 +s cq -974 +s ' -974 +L hy -1949 +L - -1949 +L en -1949 +L em -1949 +X hy -485 +X - -485 +X en -485 +X em -485 +A hy -485 +A - -485 +A en -485 +A em -485 +K hy -974 +K - -974 +K en -974 +K em -974 +cq s -485 +' s -485 +hy X -485 +- X -485 +hy A -485 +- A -485 +en X -485 +en A -485 +em X -485 +v cq -485 +v ' -485 +C cq -485 +C ' -485 +Z hy -485 +Z - -485 +Z en -485 +Z em -485 +v hy -485 +v - -485 +v en -485 +v em -485 +C hy -485 +C - -485 +C en -485 +C em -485 charset -! 7806,18135,0,2241,591,996 2 3617 -dq 9759,18135,0,3060,-2391,996 2 3618 +! 7806,18135,0,2241,591,996 2 161057 -- MSL 1 (19U 33) +dq 9759,18135,0,3060,-2390,996 2 161058 -- MSL 2 (19U 34) " " -sh 12198,18360,975,1389,3,996 2 3619 +sh 12198,18360,975,1389,3,996 2 161059 -- MSL 3 (19U 35) # " -Do 12198,18465,630,843,-735,843 2 3620 +Do 12198,18465,630,843,-734,843 2 161060 -- MSL 4 (19U 36) $ " -% 17565,18675,975,576,-672,576 2 3621 -& 16101,18390,255,210,177,210 2 3622 -cq 5856,18135,0,3690,-1482,996 2 51751 +% 17565,18675,975,576,-671,576 2 161061 -- MSL 5 (19U 37) +& 16101,18390,255,210,177,210 2 161062 -- MSL 6 (19U 38) +cq 5856,18135,0,3690,-1481,996 2 161170 -- MSL 8 (19U 146) ' " -( 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 -hy 5856,7560,0,534,348,534 0 3629 +( 5856,18135,2325,3999,699,996 2 161064 -- MSL 9 (19U 40) +) 5856,18135,2325,1524,3174,996 2 161065 -- MSL 10 (19U 41) +* 12198,18390,0,1251,-3044,996 2 161066 -- MSL 11 (19U 42) ++ 17565,12495,0,0,-2096 0 161067 -- MSL 12 (19U 43) +, 5856,2970,2730,0,2856 0 161068 -- MSL 13 (19U 44) +hy 5856,7560,0,534,348,534 0 161069 -- MSL 14 (19U 45) - " -. 5856,2970,0,0,1347 0 3630 -sl 5856,18165,1980,4254,3456,996 2 3631 +. 5856,2970,0,0,1347 0 161070 -- MSL 15 (19U 46) +sl 5856,18165,1980,4254,3456,996 2 161071 -- MSL 16 (19U 47) / " -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 +0 12198,18360,255,2505,636,996 2 161072 -- MSL 17 (19U 48) +1 12198,18105,0,309,-2084,309 2 161073 -- MSL 18 (19U 49) +2 12198,18360,0,1968,1710,996 2 161074 -- MSL 19 (19U 50) +3 12198,18360,255,2127,735,996 2 161075 -- MSL 20 (19U 51) +4 12198,18105,0,3057,699,996 2 161076 -- MSL 21 (19U 52) +5 12198,18105,255,3717,123,996 2 161077 -- MSL 22 (19U 53) +6 12198,18360,255,3078,21,996 2 161078 -- MSL 23 (19U 54) +7 12198,18105,0,3684,138,996 2 161079 -- MSL 24 (19U 55) +8 12198,18360,255,3024,132,996 2 161080 -- MSL 25 (19U 56) +9 12198,18360,255,2850,480,996 2 161081 -- MSL 26 (19U 57) +: 5856,12621,0,1656,1347,996 0 161082 -- MSL 27 (19U 58) +; 5856,12621,2730,1737,2856,996 0 161083 -- MSL 28 (19U 59) +< 26346,16068,0,0,-3980 0 161084 -- MSL 29 (19U 60) += 17565,9375,0,0,-2114 0 161085 -- MSL 30 (19U 61) +> 26346,16068,0,0,-3980 0 161086 -- MSL 31 (19U 62) +? 11220,18390,0,2100,-608,996 2 161087 -- MSL 32 (19U 63) +at 17565,18357,3849,1746,1029,996 2 161088 -- MSL 33 (19U 64) @ " -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 +A 13662,18135,0,0,2325 2 161089 -- MSL 34 (19U 65) +B 13173,18135,0,1743,1536,996 2 161090 -- MSL 35 (19U 66) +C 13173,18390,255,1860,513,996 2 161091 -- MSL 36 (19U 67) +D 13662,18135,0,1749,1557,996 2 161092 -- MSL 37 (19U 68) +E 11220,18135,0,3267,1563,996 2 161093 -- MSL 38 (19U 69) +F 10734,18135,0,3414,1449,996 2 161094 -- MSL 39 (19U 70) +G 13662,18390,255,1893,333,996 2 161095 -- MSL 40 (19U 71) +H 13662,18135,0,2958,1509,996 2 161096 -- MSL 41 (19U 72) +I 5856,18135,0,3066,1566,996 2 161097 -- MSL 42 (19U 73) +J 11220,18135,255,2781,1866,996 2 161098 -- MSL 43 (19U 74) +K 13173,18135,0,2982,1341,996 2 161099 -- MSL 44 (19U 75) +L 10245,18135,0,0,1506 2 161100 -- MSL 45 (19U 76) +M 18051,18135,0,2886,1590,996 2 161101 -- MSL 46 (19U 77) +N 14148,18135,0,3030,1638,996 2 161102 -- MSL 47 (19U 78) +O 13662,18390,255,1875,447,996 2 161103 -- MSL 48 (19U 79) +P 12198,18135,0,2514,1401,996 2 161104 -- MSL 49 (19U 80) +Q 13662,18390,255,1773,495,996 2 161105 -- MSL 50 (19U 81) +R 13173,18135,0,2247,1515,996 2 161106 -- MSL 51 (19U 82) +S 12684,18390,255,2274,978,996 2 161107 -- MSL 52 (19U 83) +T 12684,18135,0,3735,-1889,996 2 161108 -- MSL 53 (19U 84) +U 13662,18135,255,2892,363,996 2 161109 -- MSL 54 (19U 85) +V 12198,18135,0,4140,-1262,996 2 161110 -- MSL 55 (19U 86) +W 18051,18135,0,3870,-1208,996 2 161111 -- MSL 56 (19U 87) +X 13662,18135,0,3108,2223,996 2 161112 -- MSL 57 (19U 88) +Y 12198,18135,0,4026,-1472,996 2 161113 -- MSL 58 (19U 89) +Z 12198,18135,0,3390,2130,996 2 161114 -- MSL 59 (19U 90) +lB 5856,18135,2325,4227,2679,996 2 161115 -- MSL 60 (19U 91) [ " -rs 7806,18165,1980,420,-1230,420 2 3676 +rs 7806,18165,1980,420,-1229,420 2 161116 -- MSL 61 (19U 92) \ " -rB 5856,18135,2325,3114,3792,996 2 3677 +rB 5856,18135,2325,3114,3792,996 2 161117 -- MSL 62 (19U 93) ] " -ha 13173,19758,0,36,36,36 2 51875 -_ 13173,0,6588,1317,1317,996 1 3679 -oq 5856,18135,0,3690,-1482,996 2 51808 +ha 13173,19758,0,36,36,36 2 161118 -- MSL 63 (19U 94) +_ 13173,0,6588,1317,1317,996 1 161119 -- MSL 64 (19U 95) +oq 5856,18135,0,3690,-1481,996 2 161169 -- MSL 66 (19U 145) ` " -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 -`A 13662,23640,0,0,2325 2 3776 -^A 13662,23415,0,1611,2325,996 2 3778 -`E 11220,23640,0,3267,1563,996 2 3784 -^E 11220,23415,0,3267,1563,996 2 3786 -:E 11220,22560,0,3693,1563,996 2 3787 -^I 5856,23415,0,5514,1566,996 2 3790 -:I 5856,22560,0,6375,1566,996 2 3791 -aa 12198,18165,0,1326,-5685,996 2 3764 -ga 12198,18165,0,0,-4539 2 3680 -a^ 12198,17940,0,795,-3729,795 2 3678 +a 10734,12885,255,918,1242,918 0 161121 -- MSL 67 (19U 97) +b 10734,18165,255,1200,1791,996 2 161122 -- MSL 68 (19U 98) +c 10245,12885,255,1047,816,996 0 161123 -- MSL 69 (19U 99) +d 10734,18165,255,3501,1155,996 2 161124 -- MSL 70 (19U 100) +e 10245,12885,255,1245,1065,996 0 161125 -- MSL 71 (19U 101) +f 7806,18315,0,3972,753,996 2 161126 -- MSL 72 (19U 102) +g 10734,12885,4995,1737,2589,996 1 161127 -- MSL 73 (19U 103) +h 10734,18165,0,1167,1812,996 2 161128 -- MSL 74 (19U 104) +i 4878,18165,0,3690,1905,996 2 161129 -- MSL 75 (19U 105) +j 4878,18165,4995,3777,5010,996 3 161130 -- MSL 76 (19U 106) +k 10734,18165,0,2250,1443,996 2 161131 -- MSL 77 (19U 107) +l 4878,18165,0,3627,1932,996 2 161132 -- MSL 78 (19U 108) +m 16101,12885,0,1227,1803,996 0 161133 -- MSL 79 (19U 109) +n 10734,12885,0,1218,1824,996 0 161134 -- MSL 80 (19U 110) +o 10734,12885,255,1047,825,996 0 161135 -- MSL 81 (19U 111) +p 10734,12885,4680,972,3273,972 1 161136 -- MSL 82 (19U 112) +q 10734,12885,4680,1965,1020,996 1 161137 -- MSL 83 (19U 113) +r 7317,12885,0,2601,1803,996 0 161138 -- MSL 84 (19U 114) +s 9759,12885,255,1320,1314,996 0 161139 -- MSL 85 (19U 115) +t 7806,15879,255,1989,144,996 0 161140 -- MSL 86 (19U 116) +u 10734,12630,255,1800,1011,996 0 161141 -- MSL 87 (19U 117) +v 10245,12630,0,2412,-422,996 0 161142 -- MSL 88 (19U 118) +w 17076,12630,0,2343,-368,996 0 161143 -- MSL 89 (19U 119) +x 10245,12630,0,2328,2280,996 0 161144 -- MSL 90 (19U 120) +y 10734,12630,4680,2364,1923,996 1 161145 -- MSL 91 (19U 121) +z 8781,12630,0,2136,2154,996 0 161146 -- MSL 92 (19U 122) +{ 11709,20130,6075,2865,-1289,996 3 161147 -- MSL 93 (19U 123) +lC " +| 13173,19758,6588,0,-4595 3 161148 -- MSL 94 (19U 124) +ba " +} 11709,20130,6075,0,2577 3 161149 -- MSL 95 (19U 125) +rC " +ti 26346,8952,0,0,-4028 0 161150 -- MSL 96 (19U 126) +`A 13662,23640,0,0,2325 2 161216 -- MSL 99 (19U 192) +^A 13662,23415,0,1611,2325,996 2 161218 -- MSL 100 (19U 194) +`E 11220,23640,0,3267,1563,996 2 161224 -- MSL 101 (19U 200) +^E 11220,23415,0,3267,1563,996 2 161226 -- MSL 102 (19U 202) +:E 11220,22560,0,3693,1563,996 2 161227 -- MSL 103 (19U 203) +^I 5856,23415,0,5514,1566,996 2 161230 -- MSL 104 (19U 206) +:I 5856,22560,0,6375,1566,996 2 161231 -- MSL 105 (19U 207) +aa 12198,18165,0,1326,-5684,996 2 161204 -- MSL 106 (19U 180) +ga 12198,18165,0,0,-4538 2 161120 -- MSL 107 (19U 96) +a^ 12198,17940,0,795,-3728,795 2 161160 -- MSL 108 (19U 136) ^ " -ad 12198,17355,0,1464,-3699,996 2 3752 -a~ 12198,17652,0,1776,-3729,996 2 3710 -~ " -`U 13662,23640,255,2892,363,996 2 3801 -^U 13662,23415,255,2892,363,996 2 3803 -'Y 12198,23640,0,4026,-1473,996 2 3805 -'y 10734,18165,4680,2364,1923,996 3 3837 -de 12198,18360,0,1284,-2982,996 2 3760 -,C 13173,18390,4995,1860,540,996 3 3783 -,c 10245,12885,4995,1047,2838,996 1 3815 -~N 14148,22743,0,3030,1638,996 2 3793 -~n 10734,17652,0,2508,1824,996 2 3825 -r! 7806,13041,5094,861,1971,861 1 3745 -r? 11220,12591,5799,0,2016 1 3775 -Cs 12198,15684,0,2514,468,996 0 3748 -Po 12198,18360,0,2223,522,996 2 3747 -Ye 12198,18105,0,4137,1266,996 2 3749 -sc 12198,18390,255,96,-1509,96 2 3751 -Fn 12198,18315,0,1662,-1329,996 2 51871 -ct 12198,18465,630,873,-1005,873 2 3746 -^a 10734,17940,255,1527,1242,996 2 3810 -^e 10245,17940,255,1770,1065,996 2 3818 -^o 10734,17940,255,1527,825,996 2 3828 -^u 10734,17940,255,1800,1011,996 2 3835 -'a 10734,18165,255,2058,1242,996 2 3809 -'e 10245,18165,255,2301,1065,996 2 3817 -'o 10734,18165,255,2058,825,996 2 3827 -'u 10734,18165,255,2058,1011,996 2 3834 -`a 10734,18165,255,918,1242,918 2 3808 -`e 10245,18165,255,1245,1065,996 2 3816 -`o 10734,18165,255,1047,825,996 2 3826 -`u 10734,18165,255,1800,1011,996 2 3833 -:a 10734,17355,255,2478,1242,996 2 3812 -:e 10245,17355,255,2721,1065,996 2 3819 -:o 10734,17355,255,2478,825,996 2 3830 -:u 10734,17355,255,2478,1011,996 2 3836 -oA 13662,24480,0,1125,2325,996 2 3781 -^i 5856,17940,0,3966,1425,996 2 3822 -/O 13662,19944,1833,1989,555,996 2 3800 -AE 18540,18135,0,2904,2310,996 2 3782 -oa 10734,19005,255,918,1242,918 2 3813 -'i 5856,18165,0,4779,1425,996 2 3821 -/o 10734,14238,1866,1050,930,996 0 3832 -ae 16587,12885,255,681,957,681 0 3814 -:A 13662,22560,0,2472,2325,996 2 3780 -`i 5856,18165,0,1461,1425,996 2 3820 -:O 13662,22560,255,2472,447,996 2 3798 -:U 13662,22560,255,2892,363,996 2 3804 -'E 11220,23640,0,3267,1563,996 2 3785 -:i 5856,17355,0,5118,1425,996 2 3823 -ss 11709,18315,255,1839,1917,996 2 3807 -^O 13662,23415,255,1875,447,996 2 3796 -'A 13662,23640,0,1884,2325,996 2 3777 -~A 13662,22743,0,2355,2325,996 2 3779 -~a 10734,17652,255,2508,1242,996 2 3811 --D 13662,18135,0,1749,1557,996 2 3792 -Sd 10734,18579,255,2247,927,996 2 3824 -'I 5856,23640,0,6393,1566,996 2 3789 -`I 5856,23640,0,3258,1566,996 2 3788 -'O 13662,23640,255,1884,447,996 2 3795 -`O 13662,23640,255,1875,447,996 2 3794 -~O 13662,22743,255,2355,447,996 2 3797 -~o 10734,17652,255,2508,825,996 2 3829 -vS 12684,23415,255,3015,978,996 2 51795 -vs 9759,17940,255,2751,1314,996 2 51827 -'U 13662,23640,255,2892,363,996 2 3802 -:Y 12198,22560,0,4026,-1473,996 2 51801 -:y 10734,17355,4680,2364,1923,996 3 3839 -TP 12198,18135,0,1260,1407,996 2 3806 -Tp 10734,18165,4680,969,3273,969 3 3838 -mc 14637,12630,4350,1122,2931,996 0 3765 -ps 12198,19635,4200,1923,-606,996 2 3766 -34 17565,18675,918,891,-987,891 2 3774 -\- 17565,8175,0,0,-2097 0 51757 -14 17565,18675,918,183,-279,183 2 3772 -12 17565,18675,918,0,156 2 3773 -Of 7806,18360,0,3285,-1188,996 2 3754 -Om 7806,18360,0,3303,-1197,996 2 3770 -Fo 11709,11160,0,741,-426,741 0 3755 -Fc 11709,11160,0,0,777 0 3771 -t+- 17565,12210,213,0,-2133 0 3761 -bb 13173,19083,5916,0,-4596 3 3750 -co 13173,19635,0,4470,-2679,996 2 3753 -tno 17565,10185,0,0,-2097 0 3756 -rg 13173,19635,0,4470,-2679,996 2 3758 -S2 7317,18465,0,3258,-300,996 2 3762 -S3 7317,18465,0,3042,-957,996 2 3763 -ac 12198,0,4995,0,1860 1 3768 -S1 7317,18345,0,2562,-2493,996 2 3769 -tmu 17565,12216,0,0,-2850 0 3799 -tdi 17565,11610,0,0,-2667 0 3831 -pc 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 -a- 12198,16434,0,1257,-3453,996 0 3759 -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 +ad 12198,17355,0,1464,-3698,996 2 161192 -- MSL 109 (19U 168) +~ 12198,17652,0,1776,-3728,996 2 161176 -- MSL 110 (19U 152) +a~ " +`U 13662,23640,255,2892,363,996 2 161241 -- MSL 111 (19U 217) +^U 13662,23415,255,2892,363,996 2 161243 -- MSL 112 (19U 219) +u00AF 13173,21105,0,1317,1317,996 2 161199 -- MSL 113 (19U 175) +'Y 12198,23640,0,4026,-1472,996 2 161245 -- MSL 114 (19U 221) +'y 10734,18165,4680,2364,1923,996 3 161277 -- MSL 115 (19U 253) +de 12198,18360,0,1284,-2981,996 2 161200 -- MSL 116 (19U 176) +,C 13173,18390,4995,1860,540,996 3 161223 -- MSL 117 (19U 199) +,c 10245,12885,4995,1047,2838,996 1 161255 -- MSL 118 (19U 231) +~N 14148,22743,0,3030,1638,996 2 161233 -- MSL 119 (19U 209) +~n 10734,17652,0,2508,1824,996 2 161265 -- MSL 120 (19U 241) +r! 7806,13041,5094,861,1971,861 1 161185 -- MSL 121 (19U 161) +r? 11220,12591,5799,0,2016 1 161215 -- MSL 122 (19U 191) +Cs 12198,15684,0,2514,468,996 0 161188 -- MSL 123 (19U 164) +Po 12198,18360,0,2223,522,996 2 161187 -- MSL 124 (19U 163) +Ye 12198,18105,0,4137,1266,996 2 161189 -- MSL 125 (19U 165) +sc 12198,18390,255,96,-1508,96 2 161191 -- MSL 126 (19U 167) +Fn 12198,18315,0,1662,-1328,996 2 161155 -- MSL 127 (19U 131) +ct 12198,18465,630,873,-1004,873 2 161186 -- MSL 128 (19U 162) +^a 10734,17940,255,1527,1242,996 2 161250 -- MSL 129 (19U 226) +^e 10245,17940,255,1770,1065,996 2 161258 -- MSL 130 (19U 234) +^o 10734,17940,255,1527,825,996 2 161268 -- MSL 131 (19U 244) +^u 10734,17940,255,1800,1011,996 2 161275 -- MSL 132 (19U 251) +'a 10734,18165,255,2058,1242,996 2 161249 -- MSL 133 (19U 225) +'e 10245,18165,255,2301,1065,996 2 161257 -- MSL 134 (19U 233) +'o 10734,18165,255,2058,825,996 2 161267 -- MSL 135 (19U 243) +'u 10734,18165,255,2058,1011,996 2 161274 -- MSL 136 (19U 250) +`a 10734,18165,255,918,1242,918 2 161248 -- MSL 137 (19U 224) +`e 10245,18165,255,1245,1065,996 2 161256 -- MSL 138 (19U 232) +`o 10734,18165,255,1047,825,996 2 161266 -- MSL 139 (19U 242) +`u 10734,18165,255,1800,1011,996 2 161273 -- MSL 140 (19U 249) +:a 10734,17355,255,2478,1242,996 2 161252 -- MSL 141 (19U 228) +:e 10245,17355,255,2721,1065,996 2 161259 -- MSL 142 (19U 235) +:o 10734,17355,255,2478,825,996 2 161270 -- MSL 143 (19U 246) +:u 10734,17355,255,2478,1011,996 2 161276 -- MSL 144 (19U 252) +oA 13662,24480,0,1125,2325,996 2 161221 -- MSL 145 (19U 197) +^i 5856,17940,0,3966,1425,996 2 161262 -- MSL 146 (19U 238) +/O 13662,19944,1833,1989,555,996 2 161240 -- MSL 147 (19U 216) +AE 18540,18135,0,2904,2310,996 2 161222 -- MSL 148 (19U 198) +oa 10734,19005,255,918,1242,918 2 161253 -- MSL 149 (19U 229) +'i 5856,18165,0,4779,1425,996 2 161261 -- MSL 150 (19U 237) +/o 10734,14238,1866,1050,930,996 0 161272 -- MSL 151 (19U 248) +ae 16587,12885,255,681,957,681 0 161254 -- MSL 152 (19U 230) +:A 13662,22560,0,2472,2325,996 2 161220 -- MSL 153 (19U 196) +`i 5856,18165,0,1461,1425,996 2 161260 -- MSL 154 (19U 236) +:O 13662,22560,255,2472,447,996 2 161238 -- MSL 155 (19U 214) +:U 13662,22560,255,2892,363,996 2 161244 -- MSL 156 (19U 220) +'E 11220,23640,0,3267,1563,996 2 161225 -- MSL 157 (19U 201) +:i 5856,17355,0,5118,1425,996 2 161263 -- MSL 158 (19U 239) +ss 11709,18315,255,1839,1917,996 2 161247 -- MSL 159 (19U 223) +^O 13662,23415,255,1875,447,996 2 161236 -- MSL 160 (19U 212) +'A 13662,23640,0,1884,2325,996 2 161217 -- MSL 161 (19U 193) +~A 13662,22743,0,2355,2325,996 2 161219 -- MSL 162 (19U 195) +~a 10734,17652,255,2508,1242,996 2 161251 -- MSL 163 (19U 227) +-D 13662,18135,0,1749,1557,996 2 161232 -- MSL 164 (19U 208) +Sd 10734,18579,255,2247,927,996 2 161264 -- MSL 165 (19U 240) +'I 5856,23640,0,6393,1566,996 2 161229 -- MSL 166 (19U 205) +`I 5856,23640,0,3258,1566,996 2 161228 -- MSL 167 (19U 204) +'O 13662,23640,255,1884,447,996 2 161235 -- MSL 168 (19U 211) +`O 13662,23640,255,1875,447,996 2 161234 -- MSL 169 (19U 210) +~O 13662,22743,255,2355,447,996 2 161237 -- MSL 170 (19U 213) +~o 10734,17652,255,2508,825,996 2 161269 -- MSL 171 (19U 245) +vS 12684,23415,255,3015,978,996 2 161162 -- MSL 172 (19U 138) +vs 9759,17940,255,2751,1314,996 2 161178 -- MSL 173 (19U 154) +'U 13662,23640,255,2892,363,996 2 161242 -- MSL 174 (19U 218) +:Y 12198,22560,0,4026,-1472,996 2 161183 -- MSL 175 (19U 159) +:y 10734,17355,4680,2364,1923,996 3 161279 -- MSL 176 (19U 255) +TP 12198,18135,0,1260,1407,996 2 161246 -- MSL 177 (19U 222) +Tp 10734,18165,4680,969,3273,969 3 161278 -- MSL 178 (19U 254) +mc 14637,12630,4350,1122,2931,996 0 161205 -- MSL 180 (19U 181) +ps 12198,19635,4200,1923,-605,996 2 161206 -- MSL 181 (19U 182) +34 17565,18675,918,891,-986,891 2 161214 -- MSL 182 (19U 190) +\- 17565,8175,0,0,-2096 0 60096 -- MSL 183 ( 7J 192) +14 17565,18675,918,183,-278,183 2 161212 -- MSL 184 (19U 188) +12 17565,18675,918,0,156 2 161213 -- MSL 185 (19U 189) +Of 7806,18360,0,3285,-1187,996 2 161194 -- MSL 186 (19U 170) +Om 7806,18360,0,3303,-1196,996 2 161210 -- MSL 187 (19U 186) +Fo 11709,11160,0,741,-425,741 0 161195 -- MSL 188 (19U 171) +Fc 11709,11160,0,0,777 0 161211 -- MSL 190 (19U 187) +t+- 17565,12210,213,0,-2132 0 161201 -- MSL 191 (19U 177) +bb 13173,19083,5916,0,-4595 3 161190 -- MSL 192 (19U 166) +co 13173,19635,0,4470,-2678,996 2 161193 -- MSL 193 (19U 169) +tno 17565,10185,0,0,-2096 0 161196 -- MSL 194 (19U 172) +u00AD 5856,7560,0,534,348,534 0 161197 -- MSL 195 (19U 173) +rg 13173,19635,0,4470,-2678,996 2 161198 -- MSL 196 (19U 174) +S2 7317,18465,0,3258,-299,996 2 161202 -- MSL 197 (19U 178) +S3 7317,18465,0,3042,-956,996 2 161203 -- MSL 198 (19U 179) +ac 12198,0,4995,0,1860 1 161208 -- MSL 199 (19U 184) +S1 7317,18345,0,2562,-2492,996 2 161209 -- MSL 200 (19U 185) +tmu 17565,12216,0,0,-2849 0 161239 -- MSL 201 (19U 215) +tdi 17565,11610,0,0,-2666 0 161271 -- MSL 202 (19U 247) +u203C 13173,18135,0,2241,591,996 2 87315 -- MSL 221 (10U 19) +u20A7 20004,18135,255,1989,1401,996 2 60121 -- MSL 232 ( 7J 217) +pc 5856,10578,0,1095,-722,996 0 161207 -- MSL 302 (19U 183) +u013F 10245,18135,0,1734,1506,996 2 51943 -- MSL 306 ( 6J 231) +u0140 8295,18165,0,2043,1932,996 2 51959 -- MSL 307 ( 6J 247) +u2113 12198,18150,297,477,-1010,477 2 60122 -- MSL 308 ( 7J 218) +u0149 15612,18135,0,1218,-1481,996 2 51951 -- MSL 309 ( 6J 239) +fm 5856,18105,0,3918,-1724,996 2 60101 -- MSL 310 ( 7J 197) +sd 12198,18105,0,2577,-2924,996 2 60102 -- MSL 311 ( 7J 198) +dg 12198,18135,0,315,-1853,315 2 161158 -- MSL 312 (19U 134) +tm 16101,17850,0,2010,-2546,996 2 161177 -- MSL 313 (19U 153) +u2017 13173,0,6588,1317,1317,996 1 60095 -- MSL 314 ( 7J 191) +ah 12198,17940,0,1533,-4466,996 2 75169 -- MSL 315 ( 9E 161) +ao 12198,19005,0,114,-4877,114 2 60152 -- MSL 316 ( 7J 248) +f/ 2928,18675,918,8010,6531,996 2 60109 -- MSL 324 ( 7J 205) +em 17565,7350,0,423,330,423 0 161175 -- MSL 325 (19U 151) +en 12198,7350,0,936,786,936 0 161174 -- MSL 326 (19U 150) +dd 12198,18135,0,315,-1853,315 2 161159 -- MSL 327 (19U 135) +.i 5856,12630,0,1461,1425,996 0 46333 -- MSL 328 ( 5T 253) +aq 5856,18135,0,3051,-2387,996 2 161063 -- MSL 329 (19U 39) +bu 13173,14226,0,0,-497 0 161173 -- MSL 331 (19U 149) +u207F 7317,18465,0,3843,-35,996 2 87548 -- MSL 332 (10U 252) +u0111 10734,18165,255,4488,1152,996 2 75248 -- MSL 342 ( 9E 240) +u0041_0306 13662,23415,0,2628,2325,996 2 75203 -- MSL 400 ( 9E 195) +u0061_0306 10734,17940,255,2622,1242,996 2 75235 -- MSL 401 ( 9E 227) +u0041_0328 13662,18135,4839,0,2325 3 75173 -- MSL 404 ( 9E 165) +u0061_0328 10734,12885,4716,918,1242,918 1 75193 -- MSL 405 ( 9E 185) +'C 13173,23640,255,2427,513,996 2 75206 -- MSL 406 ( 9E 198) +'c 10245,18165,255,2301,816,996 2 75238 -- MSL 407 ( 9E 230) +u0041_030C 13173,23415,255,2769,513,996 2 75208 -- MSL 410 ( 9E 200) +u0061_030C 10245,17940,255,2508,816,996 2 75240 -- MSL 411 ( 9E 232) +u0044_030C 13662,23415,0,1926,1557,996 2 75215 -- MSL 414 ( 9E 207) +u0064_030C 13662,18165,255,4695,1155,996 2 75247 -- MSL 415 ( 9E 239) +u0045_030C 11220,23415,0,3897,1563,996 2 75212 -- MSL 416 ( 9E 204) +u0065_030C 10245,17940,255,2508,1065,996 2 75244 -- MSL 417 ( 9E 236) +u0045_0328 11220,18135,4839,3267,1563,996 3 75210 -- MSL 422 ( 9E 202) +u0065_0328 10245,12885,4716,1245,1065,996 1 75242 -- MSL 423 ( 9E 234) +u004C_0301 10245,23640,0,2691,1506,996 2 75205 -- MSL 440 ( 9E 197) +u006C_0301 4878,23385,0,6975,1932,996 2 75237 -- MSL 441 ( 9E 229) +u004C_030C 10245,18165,0,3507,1506,996 2 75196 -- MSL 442 ( 9E 188) +u006C_030C 7806,18165,0,4851,1932,996 2 75198 -- MSL 443 ( 9E 190) +u004E_0301 14148,23640,0,3030,1638,996 2 75217 -- MSL 446 ( 9E 209) +u006E_0301 10734,18165,0,2358,1824,996 2 75249 -- MSL 447 ( 9E 241) +u004E_030C 14148,23415,0,3030,1638,996 2 75218 -- MSL 448 ( 9E 210) +u006E_030C 10734,17940,0,2415,1824,996 2 75250 -- MSL 449 ( 9E 242) +u004F_030B 13662,23640,255,4017,447,996 2 75221 -- MSL 452 ( 9E 213) +u006F_030B 10734,18165,255,3987,825,996 2 75253 -- MSL 453 ( 9E 245) +u0052_0301 13173,23640,0,2247,1515,996 2 75200 -- MSL 456 ( 9E 192) +u0072_0301 7317,18165,0,4065,1803,996 2 75232 -- MSL 457 ( 9E 224) +u0052_030C 13173,23415,0,2769,1515,996 2 75224 -- MSL 458 ( 9E 216) +u0072_030C 7317,17940,0,4272,1803,996 2 75256 -- MSL 459 ( 9E 248) +u0053_0301 12684,23640,255,2748,978,996 2 75148 -- MSL 462 ( 9E 140) +u0073_0301 9759,18165,255,2544,1314,996 2 75164 -- MSL 463 ( 9E 156) +u0054_030C 12684,23415,0,3735,-1889,996 2 75149 -- MSL 466 ( 9E 141) +u0074_030C 8781,18165,255,4746,144,996 2 75165 -- MSL 467 ( 9E 157) +u0054_0327 12684,18135,4995,3735,1143,996 3 75230 -- MSL 468 ( 9E 222) +u0074_0327 7806,15879,4995,1989,2856,996 1 75262 -- MSL 469 ( 9E 254) +u0055_030B 13662,23640,255,4107,363,996 2 75227 -- MSL 474 ( 9E 219) +u0075_030B 10734,18165,255,4077,1011,996 2 75259 -- MSL 475 ( 9E 251) +u0055_030A 13662,24480,255,2892,363,996 2 75225 -- MSL 476 ( 9E 217) +u0075_030A 10734,19005,255,1800,1011,996 2 75257 -- MSL 477 ( 9E 249) +u005A_0301 12198,23640,0,3390,2130,996 2 75151 -- MSL 482 ( 9E 143) +u007A_0301 8781,18165,0,3033,2154,996 2 75167 -- MSL 483 ( 9E 159) +u005A_0307 12198,22740,0,3390,2130,996 2 75183 -- MSL 484 ( 9E 175) +u007A_0307 8781,17355,0,2136,2154,996 2 75199 -- MSL 485 ( 9E 191) +u2070 7317,18465,0,3273,-968,996 2 51753 -- MSL 1000 ( 6J 41) +u2074 7317,18345,0,3249,-479,996 2 51748 -- MSL 1001 ( 6J 36) +u2075 7317,18345,0,3420,-1022,996 2 51749 -- MSL 1002 ( 6J 37) +u2076 7317,18465,0,3300,-1043,996 2 51806 -- MSL 1003 ( 6J 94) +u2077 7317,18345,0,3513,-1061,996 2 51750 -- MSL 1004 ( 6J 38) +u2078 7317,18465,0,3288,-872,996 2 51754 -- MSL 1005 ( 6J 42) +u2079 7317,18465,0,3120,-869,996 2 51752 -- MSL 1006 ( 6J 40) +lq 9270,18135,0,4254,-1484,996 2 161171 -- MSL 1017 (19U 147) +rq 9270,18135,0,4254,-1484,996 2 161172 -- MSL 1018 (19U 148) +Bq 9270,2916,2784,0,3018 0 161156 -- MSL 1019 (19U 132) +u2003 17565,0,0,0,1317 0 51821 -- MSL 1020 ( 6J 109) +u2002 12198,0,0,0,1317 0 51822 -- MSL 1021 ( 6J 110) +u2009 5856,0,0,0,1317 0 51828 -- MSL 1023 ( 6J 116) +u2026 17565,2310,0,0,822 0 161157 -- MSL 1028 (19U 133) +vz 8781,17940,0,3240,2154,996 2 75166 -- MSL 1031 ( 9E 158) +u2120 16101,18000,0,3195,-2561,996 2 128299 -- MSL 1034 (15U 43) +u211E 20004,18315,4056,537,-1238,537 2 51794 -- MSL 1036 ( 6J 82) +fi 12684,18315,0,2934,795,996 2 60077 -- MSL 1040 ( 7J 173) +fl 12684,18315,0,2949,744,996 2 60078 -- MSL 1041 ( 7J 174) +ff 13662,18315,0,3921,888,996 2 51883 -- MSL 1042 ( 6J 171) +Fi 18540,18315,0,2892,921,996 2 51884 -- MSL 1043 ( 6J 172) +Fl 18540,18315,0,2928,849,996 2 51885 -- MSL 1044 ( 6J 173) +ij 9759,18165,4995,3777,1905,996 3 60134 -- MSL 1047 ( 7J 230) +u2105 17565,18390,255,510,-803,510 2 60072 -- MSL 1060 ( 7J 168) +u0047_0306 13662,23415,255,2838,333,996 2 46288 -- MSL 1061 ( 5T 208) +u0067_0306 10734,17940,4995,2622,2589,996 3 46320 -- MSL 1062 ( 5T 240) +u0053_0327 12684,18390,4995,2274,978,996 3 75178 -- MSL 1063 ( 9E 170) +u0073_0327 9759,12885,4995,1320,2271,996 1 75194 -- MSL 1064 ( 9E 186) +u0049_0307 5856,22740,0,4563,1566,996 2 46301 -- MSL 1065 ( 5T 221) +bq 5856,2916,2784,0,3330 0 161154 -- MSL 1067 (19U 130) +%0 22443,18675,975,1293,267,996 2 161161 -- MSL 1068 (19U 137) +a- 12198,16434,0,1257,-3452,996 0 60154 -- MSL 1084 ( 7J 250) +ab 12198,17940,0,1890,-4328,996 2 75170 -- MSL 1086 ( 9E 162) +a. 12198,17355,0,0,-6068 2 75263 -- MSL 1088 ( 9E 255) +oe 16587,12885,255,912,783,912 0 161180 -- MSL 1090 (19U 156) +OE 18051,18270,135,3174,363,996 2 161164 -- MSL 1091 (19U 140) +fo 6342,11160,0,1608,-185,996 0 161163 -- MSL 1092 (19U 139) +fc 6342,11160,0,537,885,537 0 161179 -- MSL 1093 (19U 155) +sq 19029,15624,0,0,-2021 0 60091 -- MSL 1094 ( 7J 187) +/L 10245,18135,0,0,1620 2 75171 -- MSL 1095 ( 9E 163) +/l 4878,18165,0,3627,1932,996 2 75187 -- MSL 1096 ( 9E 179) +a" 12198,18165,0,3174,-3893,996 2 75197 -- MSL 1097 ( 9E 189) +ho 12198,879,4716,0,-2141 1 75186 -- MSL 1098 ( 9E 178) +vZ 12198,23415,0,3390,2130,996 2 75150 -- MSL 1106 ( 9E 142) +IJ 17076,18135,255,2781,1566,996 2 60135 -- MSL 1107 ( 7J 231) diff -ruN groff-1.19/font/devlj4/UCR groff-1.19.1/font/devlj4/UCR --- groff-1.19/font/devlj4/UCR Tue Feb 25 06:38:56 2003 +++ groff-1.19.1/font/devlj4/UCR Wed Feb 18 10:01:18 2004 @@ -1,3 +1,4 @@ +# Univers MdCd name UCR spacewidth 5856 pcltypeface 4148 @@ -6,651 +7,721 @@ 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 cq -5364 -L ' -5364 -T hy -3414 -T - -3414 -T en -3414 -T em -3414 -A cq -1461 -A ' -1461 -hy T -3414 -- T -3414 -en T -3414 -em T -3414 -Y hy -975 -Y - -975 -Y en -975 -Y em -975 -p cq -975 -p ' -975 -c cq -975 -c ' -975 -e cq -975 -e ' -975 -b cq -975 -b ' -975 -a cq -1461 -a ' -1461 -V hy -486 -V - -486 -V en -486 -V em -486 -h cq -1461 -h ' -1461 -n cq -1461 -n ' -1461 -m cq -1461 -m ' -1461 -W hy -486 -W - -486 -W en -486 -W em -486 -cq d -1950 -' d -1950 -s cq -486 -s ' -486 -L hy -1950 -L - -1950 -L en -1950 -L em -1950 -X hy -486 -X - -486 -X en -486 -X em -486 -A hy -486 -A - -486 -A en -486 -A em -486 -K hy -975 -K - -975 -K en -975 -K em -975 -cq s -486 -' s -486 -hy X -486 -- X -486 -hy A -486 -- A -486 -en X -486 -en A -486 -em X -486 -K cq -486 -K ' -486 -Z hy -486 -Z - -486 -Z en -486 -Z em -486 +L V -2438 +P . -4877 +P , -4877 +V A -1949 +A V -1949 +T o -3413 +T r -3413 +T c -3413 +T e -3413 +T d -3413 +T s -3413 +T y -3413 +T a -3413 +T w -3413 +T u -3413 +T J -3413 +L T -3413 +L Y -2924 +Y o -1949 +Y e -1949 +Y a -2438 +Y J -2924 +A W -1460 +W A -1460 +T A -2438 +V o -1460 +V e -1460 +V a -1460 +Y A -2438 +F A -974 +F . -2924 +F , -2924 +A T -2438 +A Y -2438 +v . -1949 +v , -1949 +y . -1949 +y , -1949 +T . -3413 +T , -3413 +L W -1460 +P A -1460 +V J -1460 +V . -2438 +V , -2438 +Y . -2924 +Y , -2924 +W o -974 +W e -974 +W a -974 +W . -1460 +W , -1460 +r . -1460 +r , -1460 +w . -1949 +w , -1949 +Y u -974 +A v -974 +A y -974 +A w -974 +o . -974 +o , -974 +p . -974 +p , -974 +e . -974 +e , -974 +b . -974 +b , -974 +O T -1460 +O V -485 +O Y -974 +O . -1460 +O , -1460 +L y -1949 +L O -1460 +L G -1460 +L C -1460 +L Q -1460 +P J -1460 +V y -485 +V u -485 +V O -485 +V G -485 +V C -485 +V Q -485 +D T -1460 +D V -485 +D Y -974 +D . -1460 +D , -1460 +Y O -974 +Y G -974 +Y C -974 +Y Q -974 +F o -485 +F e -485 +F a -485 +c . -974 +c , -974 +O A -485 +O W -485 +L U -1460 +R T -1460 +R V -485 +R Y -974 +R W -485 +G T -1460 +P o -974 +P g -1460 +P e -974 +P a -1460 +C A -485 +C . -1460 +C , -1460 +D A -485 +D W -485 +B T -1460 +B Y -974 +B . -1460 +B , -1460 +F J -485 +A O -485 +A G -485 +A C -485 +A U -485 +A Q -485 +W r -485 +W y -485 +W u -485 +W O -485 +W G -485 +W C -485 +W J -974 +W Q -485 +J A -485 +J . -485 +J , -485 +U A -485 +U . -1460 +U , -1460 +Q W -485 +f . -974 +f , -974 +T O -1460 +T G -1460 +T C -1460 +T Q -1460 +O X -485 +L o -974 +L e -974 +L q -1949 +G V -485 +G Y -974 +G W -485 +P T -974 +P V -485 +P Y -974 +C T -1460 +C V -485 +C Y -974 +D X -485 +B V -485 +B X -485 +B A -485 +B W -485 +S . -485 +S , -485 +X o -485 +X e -485 +X y -485 +X O -485 +X G -485 +X C -485 +X Q -485 +A o -485 +A e -485 +K o -974 +K e -974 +K y -974 +K w -974 +K O -974 +K G -974 +K C -974 +K Q -974 +o v -485 +o y -485 +o w -485 +h v -485 +h y -485 +n v -485 +n y -485 +m v -485 +m y -485 +r g -485 +p v -485 +p y -485 +c v -485 +c y -485 +c w -485 +v o -485 +v g -485 +v c -485 +v d -485 +v a -485 +v q -485 +e v -485 +e y -485 +b v -485 +b y -485 +b w -485 +s . -485 +s , -485 +y o -485 +y g -485 +y c -485 +y d -485 +y a -485 +y q -485 +a v -485 +a y -485 +a w -485 +w o -485 +w g -485 +w c -485 +w d -485 +w a -485 +w q -485 +T S -485 +L a -485 +L S -485 +P s -485 +P Z -485 +P X -485 +P W -485 +C X -485 +C W -485 +V S -485 +S T -485 +S V -485 +S Y -485 +S X -485 +S A -485 +S W -485 +Y S -485 +X a -485 +X u -485 +X S -485 +A t -485 +A g -485 +A c -485 +A d -485 +A a -485 +A u -485 +A q -485 +A S -485 +W S -485 +K c -974 +K u -974 +K S -974 +h w -485 +n w -485 +m w -485 +r o -485 +r c -485 +r e -485 +r d -485 +r a -485 +r q -485 +p w -485 +v e -485 +v s -485 +e w -485 +s v -485 +s y -485 +s w -485 +y e -485 +y s -485 +w e -485 +w s -485 +k o -485 +k g -485 +k c -485 +k e -485 +k d -485 +k a -485 +k q -485 +O Z -485 +L J -485 +C Z -485 +Z o -485 +Z e -485 +Z d -485 +Z s -485 +Z y -485 +Z a -485 +Z w -485 +Z u -485 +Z O -485 +Z G -485 +Z C -485 +Z S -485 +Z J -485 +Z Q -485 +D Z -485 +B Z -485 +S Z -485 +X J -485 +A s -485 +A J -485 +K a -974 +K J -974 +K . -485 +K , -485 +r s -485 +k s -485 +K T -485 +K V -485 +K Y -485 +K W -485 +K U -485 +L cq -5363 +L ' -5363 +T hy -3413 +T - -3413 +T en -3413 +T em -3413 +A cq -1460 +A ' -1460 +hy T -3413 +- T -3413 +en T -3413 +em T -3413 +Y hy -974 +Y - -974 +Y en -974 +Y em -974 +p cq -974 +p ' -974 +c cq -974 +c ' -974 +e cq -974 +e ' -974 +b cq -974 +b ' -974 +a cq -1460 +a ' -1460 +V hy -485 +V - -485 +V en -485 +V em -485 +h cq -1460 +h ' -1460 +n cq -1460 +n ' -1460 +m cq -1460 +m ' -1460 +W hy -485 +W - -485 +W en -485 +W em -485 +cq d -1949 +' d -1949 +s cq -485 +s ' -485 +L hy -1949 +L - -1949 +L en -1949 +L em -1949 +X hy -485 +X - -485 +X en -485 +X em -485 +A hy -485 +A - -485 +A en -485 +A em -485 +K hy -974 +K - -974 +K en -974 +K em -974 +cq s -485 +' s -485 +hy X -485 +- X -485 +hy A -485 +- A -485 +en X -485 +en A -485 +em X -485 +K cq -485 +K ' -485 +Z hy -485 +Z - -485 +Z en -485 +Z em -485 charset -! 7806,18135 2 3617 -dq 9759,18135 2 3618 +! 7806,18135 2 161057 -- MSL 1 (19U 33) +dq 9759,18135 2 161058 -- MSL 2 (19U 34) " " -sh 12198,18360,975 2 3619 +sh 12198,18360,975 2 161059 -- MSL 3 (19U 35) # " -Do 12198,18360,630 2 3620 +Do 12198,18360,630 2 161060 -- MSL 4 (19U 36) $ " -% 17565,18675,975 2 3621 -& 16101,18390,255 2 3622 -cq 5856,18135 2 51751 +% 17565,18675,975 2 161061 -- MSL 5 (19U 37) +& 16101,18390,255 2 161062 -- MSL 6 (19U 38) +cq 5856,18135 2 161170 -- MSL 8 (19U 146) ' " -( 5856,18135,2520 2 3624 -) 5856,18135,2520 2 3625 -* 12198,18390 2 3626 -+ 17565,12495 0 3627 -, 5856,2970,2730 0 3628 -hy 5856,7560 0 3629 +( 5856,18135,2520 2 161064 -- MSL 9 (19U 40) +) 5856,18135,2520 2 161065 -- MSL 10 (19U 41) +* 12198,18390 2 161066 -- MSL 11 (19U 42) ++ 17565,12495 0 161067 -- MSL 12 (19U 43) +, 5856,2970,2730 0 161068 -- MSL 13 (19U 44) +hy 5856,7560 0 161069 -- MSL 14 (19U 45) - " -. 5856,2760 0 3630 -sl 5856,18165,1980 2 3631 +. 5856,2760 0 161070 -- MSL 15 (19U 46) +sl 5856,18165,1980 2 161071 -- MSL 16 (19U 47) / " -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 +0 12198,18360,255 2 161072 -- MSL 17 (19U 48) +1 12198,18105 2 161073 -- MSL 18 (19U 49) +2 12198,18360 2 161074 -- MSL 19 (19U 50) +3 12198,18360,255 2 161075 -- MSL 20 (19U 51) +4 12198,18105 2 161076 -- MSL 21 (19U 52) +5 12198,18105,255 2 161077 -- MSL 22 (19U 53) +6 12198,18360,255 2 161078 -- MSL 23 (19U 54) +7 12198,18105 2 161079 -- MSL 24 (19U 55) +8 12198,18360,255 2 161080 -- MSL 25 (19U 56) +9 12198,18360,255 2 161081 -- MSL 26 (19U 57) +: 5856,12333 0 161082 -- MSL 27 (19U 58) +; 5856,12333,2730 0 161083 -- MSL 28 (19U 59) +< 26346,16068 0 161084 -- MSL 29 (19U 60) += 17565,9570 0 161085 -- MSL 30 (19U 61) +> 26346,16068 0 161086 -- MSL 31 (19U 62) +? 11220,18390 2 161087 -- MSL 32 (19U 63) +at 17565,18438,3246 2 161088 -- MSL 33 (19U 64) @ " -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 +A 13662,18135 2 161089 -- MSL 34 (19U 65) +B 13173,18135 2 161090 -- MSL 35 (19U 66) +C 13173,18390,255 2 161091 -- MSL 36 (19U 67) +D 13662,18135 2 161092 -- MSL 37 (19U 68) +E 11220,18135 2 161093 -- MSL 38 (19U 69) +F 10734,18135 2 161094 -- MSL 39 (19U 70) +G 13662,18390,255 2 161095 -- MSL 40 (19U 71) +H 13662,18135 2 161096 -- MSL 41 (19U 72) +I 5856,18135 2 161097 -- MSL 42 (19U 73) +J 11220,18135,255 2 161098 -- MSL 43 (19U 74) +K 13173,18135 2 161099 -- MSL 44 (19U 75) +L 10245,18135 2 161100 -- MSL 45 (19U 76) +M 18051,18135 2 161101 -- MSL 46 (19U 77) +N 14148,18135 2 161102 -- MSL 47 (19U 78) +O 13662,18390,255 2 161103 -- MSL 48 (19U 79) +P 12198,18135 2 161104 -- MSL 49 (19U 80) +Q 13662,18390,255 2 161105 -- MSL 50 (19U 81) +R 13173,18135 2 161106 -- MSL 51 (19U 82) +S 12684,18390,255 2 161107 -- MSL 52 (19U 83) +T 12684,18135 2 161108 -- MSL 53 (19U 84) +U 13662,18135,255 2 161109 -- MSL 54 (19U 85) +V 12198,18135 2 161110 -- MSL 55 (19U 86) +W 18051,18135 2 161111 -- MSL 56 (19U 87) +X 13662,18135 2 161112 -- MSL 57 (19U 88) +Y 12198,18135 2 161113 -- MSL 58 (19U 89) +Z 12198,18135 2 161114 -- MSL 59 (19U 90) +lB 5856,18135,2520 2 161115 -- MSL 60 (19U 91) [ " -rs 5856,18165,1980 2 3676 +rs 5856,18165,1980 2 161116 -- MSL 61 (19U 92) \ " -rB 5856,18135,2520 2 3677 +rB 5856,18135,2520 2 161117 -- MSL 62 (19U 93) ] " -ha 13173,19758 2 51875 -_ 13173,0,6588 1 3679 -oq 5856,18135 2 51808 +ha 13173,19758 2 161118 -- MSL 63 (19U 94) +_ 13173,0,6588 1 161119 -- MSL 64 (19U 95) +oq 5856,18135 2 161169 -- MSL 66 (19U 145) ` " -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 -`A 13662,23640 2 3776 -^A 13662,23415 2 3778 -`E 11220,23640 2 3784 -^E 11220,23415 2 3786 -:E 11220,22710 2 3787 -^I 5856,23415 2 3790 -:I 5856,22710 2 3791 -aa 12198,18165 2 3764 -ga 12198,18165 2 3680 -a^ 12198,17940 2 3678 +a 10734,12885,255 0 161121 -- MSL 67 (19U 97) +b 10734,18165,255 2 161122 -- MSL 68 (19U 98) +c 10245,12885,255 0 161123 -- MSL 69 (19U 99) +d 10734,18165,255 2 161124 -- MSL 70 (19U 100) +e 10245,12885,255 0 161125 -- MSL 71 (19U 101) +f 7806,18315 2 161126 -- MSL 72 (19U 102) +g 10734,12885,4995 1 161127 -- MSL 73 (19U 103) +h 10734,18165 2 161128 -- MSL 74 (19U 104) +i 4878,18165 2 161129 -- MSL 75 (19U 105) +j 4878,18165,4995 3 161130 -- MSL 76 (19U 106) +k 10734,18165 2 161131 -- MSL 77 (19U 107) +l 4878,18165 2 161132 -- MSL 78 (19U 108) +m 16101,12885 0 161133 -- MSL 79 (19U 109) +n 10734,12885 0 161134 -- MSL 80 (19U 110) +o 10734,12885,255 0 161135 -- MSL 81 (19U 111) +p 10734,12885,4680 1 161136 -- MSL 82 (19U 112) +q 10734,12885,4680 1 161137 -- MSL 83 (19U 113) +r 7317,12885 0 161138 -- MSL 84 (19U 114) +s 9759,12885,255 0 161139 -- MSL 85 (19U 115) +t 7806,15954,255 0 161140 -- MSL 86 (19U 116) +u 10734,12630,255 0 161141 -- MSL 87 (19U 117) +v 10245,12630 0 161142 -- MSL 88 (19U 118) +w 17076,12630 0 161143 -- MSL 89 (19U 119) +x 10245,12630 0 161144 -- MSL 90 (19U 120) +y 10734,12630,4680 1 161145 -- MSL 91 (19U 121) +z 8781,12630 0 161146 -- MSL 92 (19U 122) +{ 11709,20130,6075 3 161147 -- MSL 93 (19U 123) +lC " +| 13173,19758,6588 3 161148 -- MSL 94 (19U 124) +ba " +} 11709,20130,6075 3 161149 -- MSL 95 (19U 125) +rC " +ti 26346,8952 0 161150 -- MSL 96 (19U 126) +`A 13662,23640 2 161216 -- MSL 99 (19U 192) +^A 13662,23415 2 161218 -- MSL 100 (19U 194) +`E 11220,23640 2 161224 -- MSL 101 (19U 200) +^E 11220,23415 2 161226 -- MSL 102 (19U 202) +:E 11220,22710 2 161227 -- MSL 103 (19U 203) +^I 5856,23415 2 161230 -- MSL 104 (19U 206) +:I 5856,22710 2 161231 -- MSL 105 (19U 207) +aa 12198,18165 2 161204 -- MSL 106 (19U 180) +ga 12198,18165 2 161120 -- MSL 107 (19U 96) +a^ 12198,17940 2 161160 -- MSL 108 (19U 136) ^ " -ad 12198,17355 2 3752 -a~ 12198,17844 2 3710 -~ " -`U 13662,23640,255 2 3801 -^U 13662,23415,255 2 3803 -'Y 12198,23640 2 3805 -'y 10734,18165,4680 3 3837 -de 12198,18360 2 3760 -,C 13173,18390,4755 3 3783 -,c 10245,12885,4755 1 3815 -~N 14148,23121 2 3793 -~n 10734,17844 2 3825 -r! 7806,12591,5544 1 3745 -r? 11220,12480,5910 1 3775 -Cs 12198,15684 0 3748 -Po 12198,18360 2 3747 -Ye 12198,18105 2 3749 -sc 12198,18390,255 2 3751 -Fn 12198,18315 2 51871 -ct 12198,18360,630 2 3746 -^a 10734,17940,255 2 3810 -^e 10245,17940,255 2 3818 -^o 10734,17940,255 2 3828 -^u 10734,17940,255 2 3835 -'a 10734,18165,255 2 3809 -'e 10245,18165,255 2 3817 -'o 10734,18165,255 2 3827 -'u 10734,18165,255 2 3834 -`a 10734,18165,255 2 3808 -`e 10245,18165,255 2 3816 -`o 10734,18165,255 2 3826 -`u 10734,18165,255 2 3833 -:a 10734,17355,255 2 3812 -:e 10245,17355,255 2 3819 -:o 10734,17355,255 2 3830 -:u 10734,17355,255 2 3836 -oA 13662,24480 2 3781 -^i 5856,17940 2 3822 -/O 13662,19767,1851 2 3800 -AE 18540,18135 2 3782 -oa 10734,19005,255 2 3813 -'i 5856,18165 2 3821 -/o 10734,14274,2115 0 3832 -ae 16587,12885,255 0 3814 -:A 13662,22710 2 3780 -`i 5856,18165 2 3820 -:O 13662,22710,255 2 3798 -:U 13662,22710,255 2 3804 -'E 11220,23640 2 3785 -:i 5856,17355 2 3823 -ss 11709,18315,255 2 3807 -^O 13662,23415,255 2 3796 -'A 13662,23640 2 3777 -~A 13662,23121 2 3779 -~a 10734,17844,255 2 3811 --D 13662,18135 2 3792 -Sd 10734,18531,255 2 3824 -'I 5856,23640 2 3789 -`I 5856,23640 2 3788 -'O 13662,23640,255 2 3795 -`O 13662,23640,255 2 3794 -~O 13662,23121,255 2 3797 -~o 10734,17844,255 2 3829 -vS 12684,23415,255 2 51795 -vs 9759,17940,255 2 51827 -'U 13662,23640,255 2 3802 -:Y 12198,22710 2 51801 -:y 10734,17355,4680 3 3839 -TP 12198,18135 2 3806 -Tp 10734,18165,4680 3 3838 -mc 14637,12630,4350 0 3765 -ps 12198,19635,4200 2 3766 -34 17565,18675,975 2 3774 -\- 17565,8175 0 51757 -14 17565,18675,975 2 3772 -12 17565,18675,975 2 3773 -Of 7317,18360 2 3754 -Om 7317,18360 2 3770 -Fo 11709,11010 0 3755 -Fc 11709,11010 0 3771 -t+- 17565,12210,213 0 3761 -bb 13173,19083,5916 3 3750 -co 13173,19635 2 3753 -tno 17565,10185 0 3756 -rg 13173,19635 2 3758 -S2 7317,18465 2 3762 -S3 7317,18465 2 3763 -ac 12198,0,4755 1 3768 -S1 7317,18345 2 3769 -tmu 17565,12216 0 3799 -tdi 17565,11610 0 3831 -pc 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 -a- 12198,16440 0 3759 -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 +ad 12198,17355 2 161192 -- MSL 109 (19U 168) +~ 12198,17844 2 161176 -- MSL 110 (19U 152) +a~ " +`U 13662,23640,255 2 161241 -- MSL 111 (19U 217) +^U 13662,23415,255 2 161243 -- MSL 112 (19U 219) +u00AF 13173,21105 2 161199 -- MSL 113 (19U 175) +'Y 12198,23640 2 161245 -- MSL 114 (19U 221) +'y 10734,18165,4680 3 161277 -- MSL 115 (19U 253) +de 12198,18360 2 161200 -- MSL 116 (19U 176) +,C 13173,18390,4755 3 161223 -- MSL 117 (19U 199) +,c 10245,12885,4755 1 161255 -- MSL 118 (19U 231) +~N 14148,23121 2 161233 -- MSL 119 (19U 209) +~n 10734,17844 2 161265 -- MSL 120 (19U 241) +r! 7806,12591,5544 1 161185 -- MSL 121 (19U 161) +r? 11220,12480,5910 1 161215 -- MSL 122 (19U 191) +Cs 12198,15684 0 161188 -- MSL 123 (19U 164) +Po 12198,18360 2 161187 -- MSL 124 (19U 163) +Ye 12198,18105 2 161189 -- MSL 125 (19U 165) +sc 12198,18390,255 2 161191 -- MSL 126 (19U 167) +Fn 12198,18315 2 161155 -- MSL 127 (19U 131) +ct 12198,18360,630 2 161186 -- MSL 128 (19U 162) +^a 10734,17940,255 2 161250 -- MSL 129 (19U 226) +^e 10245,17940,255 2 161258 -- MSL 130 (19U 234) +^o 10734,17940,255 2 161268 -- MSL 131 (19U 244) +^u 10734,17940,255 2 161275 -- MSL 132 (19U 251) +'a 10734,18165,255 2 161249 -- MSL 133 (19U 225) +'e 10245,18165,255 2 161257 -- MSL 134 (19U 233) +'o 10734,18165,255 2 161267 -- MSL 135 (19U 243) +'u 10734,18165,255 2 161274 -- MSL 136 (19U 250) +`a 10734,18165,255 2 161248 -- MSL 137 (19U 224) +`e 10245,18165,255 2 161256 -- MSL 138 (19U 232) +`o 10734,18165,255 2 161266 -- MSL 139 (19U 242) +`u 10734,18165,255 2 161273 -- MSL 140 (19U 249) +:a 10734,17355,255 2 161252 -- MSL 141 (19U 228) +:e 10245,17355,255 2 161259 -- MSL 142 (19U 235) +:o 10734,17355,255 2 161270 -- MSL 143 (19U 246) +:u 10734,17355,255 2 161276 -- MSL 144 (19U 252) +oA 13662,24480 2 161221 -- MSL 145 (19U 197) +^i 5856,17940 2 161262 -- MSL 146 (19U 238) +/O 13662,19767,1851 2 161240 -- MSL 147 (19U 216) +AE 18540,18135 2 161222 -- MSL 148 (19U 198) +oa 10734,19005,255 2 161253 -- MSL 149 (19U 229) +'i 5856,18165 2 161261 -- MSL 150 (19U 237) +/o 10734,14274,2115 0 161272 -- MSL 151 (19U 248) +ae 16587,12885,255 0 161254 -- MSL 152 (19U 230) +:A 13662,22710 2 161220 -- MSL 153 (19U 196) +`i 5856,18165 2 161260 -- MSL 154 (19U 236) +:O 13662,22710,255 2 161238 -- MSL 155 (19U 214) +:U 13662,22710,255 2 161244 -- MSL 156 (19U 220) +'E 11220,23640 2 161225 -- MSL 157 (19U 201) +:i 5856,17355 2 161263 -- MSL 158 (19U 239) +ss 11709,18315,255 2 161247 -- MSL 159 (19U 223) +^O 13662,23415,255 2 161236 -- MSL 160 (19U 212) +'A 13662,23640 2 161217 -- MSL 161 (19U 193) +~A 13662,23121 2 161219 -- MSL 162 (19U 195) +~a 10734,17844,255 2 161251 -- MSL 163 (19U 227) +-D 13662,18135 2 161232 -- MSL 164 (19U 208) +Sd 10734,18531,255 2 161264 -- MSL 165 (19U 240) +'I 5856,23640 2 161229 -- MSL 166 (19U 205) +`I 5856,23640 2 161228 -- MSL 167 (19U 204) +'O 13662,23640,255 2 161235 -- MSL 168 (19U 211) +`O 13662,23640,255 2 161234 -- MSL 169 (19U 210) +~O 13662,23121,255 2 161237 -- MSL 170 (19U 213) +~o 10734,17844,255 2 161269 -- MSL 171 (19U 245) +vS 12684,23415,255 2 161162 -- MSL 172 (19U 138) +vs 9759,17940,255 2 161178 -- MSL 173 (19U 154) +'U 13662,23640,255 2 161242 -- MSL 174 (19U 218) +:Y 12198,22710 2 161183 -- MSL 175 (19U 159) +:y 10734,17355,4680 3 161279 -- MSL 176 (19U 255) +TP 12198,18135 2 161246 -- MSL 177 (19U 222) +Tp 10734,18165,4680 3 161278 -- MSL 178 (19U 254) +mc 14637,12630,4350 0 161205 -- MSL 180 (19U 181) +ps 12198,19635,4200 2 161206 -- MSL 181 (19U 182) +34 17565,18675,975 2 161214 -- MSL 182 (19U 190) +\- 17565,8175 0 60096 -- MSL 183 ( 7J 192) +14 17565,18675,975 2 161212 -- MSL 184 (19U 188) +12 17565,18675,975 2 161213 -- MSL 185 (19U 189) +Of 7317,18360 2 161194 -- MSL 186 (19U 170) +Om 7317,18360 2 161210 -- MSL 187 (19U 186) +Fo 11709,11010 0 161195 -- MSL 188 (19U 171) +Fc 11709,11010 0 161211 -- MSL 190 (19U 187) +t+- 17565,12210,213 0 161201 -- MSL 191 (19U 177) +bb 13173,19083,5916 3 161190 -- MSL 192 (19U 166) +co 13173,19635 2 161193 -- MSL 193 (19U 169) +tno 17565,10185 0 161196 -- MSL 194 (19U 172) +u00AD 5856,7560 0 161197 -- MSL 195 (19U 173) +rg 13173,19635 2 161198 -- MSL 196 (19U 174) +S2 7317,18465 2 161202 -- MSL 197 (19U 178) +S3 7317,18465 2 161203 -- MSL 198 (19U 179) +ac 12198,0,4755 1 161208 -- MSL 199 (19U 184) +S1 7317,18345 2 161209 -- MSL 200 (19U 185) +tmu 17565,12216 0 161239 -- MSL 201 (19U 215) +tdi 17565,11610 0 161271 -- MSL 202 (19U 247) +u203C 11709,18135 2 87315 -- MSL 221 (10U 19) +u20A7 20004,18135,255 2 60121 -- MSL 232 ( 7J 217) +pc 5856,10755 0 161207 -- MSL 302 (19U 183) +u013F 10245,18135 2 51943 -- MSL 306 ( 6J 231) +u0140 7788,18165 2 51959 -- MSL 307 ( 6J 247) +u2113 12684,18150,297 2 60122 -- MSL 308 ( 7J 218) +u0149 15612,18135 2 51951 -- MSL 309 ( 6J 239) +fm 5856,18105 2 60101 -- MSL 310 ( 7J 197) +sd 12198,18105 2 60102 -- MSL 311 ( 7J 198) +dg 12198,18135 2 161158 -- MSL 312 (19U 134) +tm 16101,17850 2 161177 -- MSL 313 (19U 153) +u2017 13173,0,6588 1 60095 -- MSL 314 ( 7J 191) +ah 12198,17940 2 75169 -- MSL 315 ( 9E 161) +ao 12198,19005 2 60152 -- MSL 316 ( 7J 248) +f/ 2439,18675,975 2 60109 -- MSL 324 ( 7J 205) +em 17565,7350 0 161175 -- MSL 325 (19U 151) +en 12198,7350 0 161174 -- MSL 326 (19U 150) +dd 12198,18135 2 161159 -- MSL 327 (19U 135) +.i 5856,12630 0 46333 -- MSL 328 ( 5T 253) +aq 5856,18135 2 161063 -- MSL 329 (19U 39) +bu 13173,14226 0 161173 -- MSL 331 (19U 149) +u207F 7317,18465 2 87548 -- MSL 332 (10U 252) +u0111 10734,18165,255 2 75248 -- MSL 342 ( 9E 240) +u0041_0306 13662,23415 2 75203 -- MSL 400 ( 9E 195) +u0061_0306 10734,17940,255 2 75235 -- MSL 401 ( 9E 227) +u0041_0328 13662,18135,4668 3 75173 -- MSL 404 ( 9E 165) +u0061_0328 10734,12885,4077 0 75193 -- MSL 405 ( 9E 185) +'C 13173,23640,255 2 75206 -- MSL 406 ( 9E 198) +'c 10245,18165,255 2 75238 -- MSL 407 ( 9E 230) +u0041_030C 13173,23415,255 2 75208 -- MSL 410 ( 9E 200) +u0061_030C 10245,17940,255 2 75240 -- MSL 411 ( 9E 232) +u0044_030C 13662,23415 2 75215 -- MSL 414 ( 9E 207) +u0064_030C 13662,18165,255 2 75247 -- MSL 415 ( 9E 239) +u0045_030C 11220,23415 2 75212 -- MSL 416 ( 9E 204) +u0065_030C 10245,17940,255 2 75244 -- MSL 417 ( 9E 236) +u0045_0328 11220,18135,4668 3 75210 -- MSL 422 ( 9E 202) +u0065_0328 10245,12885,4077 0 75242 -- MSL 423 ( 9E 234) +u004C_0301 10245,23640 2 75205 -- MSL 440 ( 9E 197) +u006C_0301 4878,23385 2 75237 -- MSL 441 ( 9E 229) +u004C_030C 10245,18165 2 75196 -- MSL 442 ( 9E 188) +u006C_030C 7806,18165 2 75198 -- MSL 443 ( 9E 190) +u004E_0301 14148,23640 2 75217 -- MSL 446 ( 9E 209) +u006E_0301 10734,18165 2 75249 -- MSL 447 ( 9E 241) +u004E_030C 14148,23415 2 75218 -- MSL 448 ( 9E 210) +u006E_030C 10734,17940 2 75250 -- MSL 449 ( 9E 242) +u004F_030B 13662,23640,255 2 75221 -- MSL 452 ( 9E 213) +u006F_030B 10734,18165,255 2 75253 -- MSL 453 ( 9E 245) +u0052_0301 13173,23640 2 75200 -- MSL 456 ( 9E 192) +u0072_0301 7317,18165 2 75232 -- MSL 457 ( 9E 224) +u0052_030C 13173,23415 2 75224 -- MSL 458 ( 9E 216) +u0072_030C 7317,17940 2 75256 -- MSL 459 ( 9E 248) +u0053_0301 12684,23640,255 2 75148 -- MSL 462 ( 9E 140) +u0073_0301 9759,18165,255 2 75164 -- MSL 463 ( 9E 156) +u0054_030C 12684,23415 2 75149 -- MSL 466 ( 9E 141) +u0074_030C 8781,18165,255 2 75165 -- MSL 467 ( 9E 157) +u0054_0327 12684,18135,4755 3 75230 -- MSL 468 ( 9E 222) +u0074_0327 7806,15954,4755 1 75262 -- MSL 469 ( 9E 254) +u0055_030B 13662,23640,255 2 75227 -- MSL 474 ( 9E 219) +u0075_030B 10734,18165,255 2 75259 -- MSL 475 ( 9E 251) +u0055_030A 13662,24480,255 2 75225 -- MSL 476 ( 9E 217) +u0075_030A 10734,19005,255 2 75257 -- MSL 477 ( 9E 249) +u005A_0301 12198,23640 2 75151 -- MSL 482 ( 9E 143) +u007A_0301 8781,18165 2 75167 -- MSL 483 ( 9E 159) +u005A_0307 12198,22905 2 75183 -- MSL 484 ( 9E 175) +u007A_0307 8781,17700 2 75199 -- MSL 485 ( 9E 191) +u2070 7317,18465 2 51753 -- MSL 1000 ( 6J 41) +u2074 7317,18345 2 51748 -- MSL 1001 ( 6J 36) +u2075 7317,18345 2 51749 -- MSL 1002 ( 6J 37) +u2076 7317,18465 2 51806 -- MSL 1003 ( 6J 94) +u2077 7317,18345 2 51750 -- MSL 1004 ( 6J 38) +u2078 7317,18465 2 51754 -- MSL 1005 ( 6J 42) +u2079 7317,18465 2 51752 -- MSL 1006 ( 6J 40) +lq 9270,18135 2 161171 -- MSL 1017 (19U 147) +rq 9270,18135 2 161172 -- MSL 1018 (19U 148) +Bq 9270,3006,2694 0 161156 -- MSL 1019 (19U 132) +u2003 17565,0 0 51821 -- MSL 1020 ( 6J 109) +u2002 12198,0 0 51822 -- MSL 1021 ( 6J 110) +u2009 5856,0 0 51828 -- MSL 1023 ( 6J 116) +u2026 17565,2310 0 161157 -- MSL 1028 (19U 133) +vz 8781,17940 2 75166 -- MSL 1031 ( 9E 158) +u2120 16101,18000 2 128299 -- MSL 1034 (15U 43) +u211E 20004,18315,4056 2 51794 -- MSL 1036 ( 6J 82) +fi 12198,18315 2 60077 -- MSL 1040 ( 7J 173) +fl 12684,18315 2 60078 -- MSL 1041 ( 7J 174) +ff 13662,18315 2 51883 -- MSL 1042 ( 6J 171) +Fi 17826,18315 2 51884 -- MSL 1043 ( 6J 172) +Fl 17694,18315 2 51885 -- MSL 1044 ( 6J 173) +ij 9759,18165,4995 3 60134 -- MSL 1047 ( 7J 230) +u2105 18540,18390,255 2 60072 -- MSL 1060 ( 7J 168) +u0047_0306 13662,23415,255 2 46288 -- MSL 1061 ( 5T 208) +u0067_0306 10734,17940,4995 3 46320 -- MSL 1062 ( 5T 240) +u0053_0327 12684,18390,4755 3 75178 -- MSL 1063 ( 9E 170) +u0073_0327 9759,12885,4755 1 75194 -- MSL 1064 ( 9E 186) +u0049_0307 5856,22905 2 46301 -- MSL 1065 ( 5T 221) +bq 5856,3006,2694 0 161154 -- MSL 1067 (19U 130) +%0 22443,18675,975 2 161161 -- MSL 1068 (19U 137) +a- 12198,16440 0 60154 -- MSL 1084 ( 7J 250) +ab 12198,17940 2 75170 -- MSL 1086 ( 9E 162) +a. 12198,17700 2 75263 -- MSL 1088 ( 9E 255) +oe 16587,12885,255 0 161180 -- MSL 1090 (19U 156) +OE 18051,18270,135 2 161164 -- MSL 1091 (19U 140) +fo 6342,11010 0 161163 -- MSL 1092 (19U 139) +fc 6342,11010 0 161179 -- MSL 1093 (19U 155) +sq 19029,15624 0 60091 -- MSL 1094 ( 7J 187) +/L 10245,18135 2 75171 -- MSL 1095 ( 9E 163) +/l 4878,18165 2 75187 -- MSL 1096 ( 9E 179) +a" 12198,18165 2 75197 -- MSL 1097 ( 9E 189) +ho 12198,363,4077 0 75186 -- MSL 1098 ( 9E 178) +vZ 12198,23415 2 75150 -- MSL 1106 ( 9E 142) +IJ 17076,18135,255 2 60135 -- MSL 1107 ( 7J 231) diff -ruN groff-1.19/font/devlj4/UI groff-1.19.1/font/devlj4/UI --- groff-1.19/font/devlj4/UI Tue Feb 25 06:38:56 2003 +++ groff-1.19.1/font/devlj4/UI Wed Feb 18 10:01:17 2004 @@ -1,3 +1,4 @@ +# Univers MdIt name UI spacewidth 8781 slant 16.500000 @@ -7,873 +8,943 @@ 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 cq -7317 -L ' -7317 -T hy -4389 -T - -4389 -T en -4389 -T em -4389 -A cq -3903 -A ' -3903 -hy T -4389 -- T -4389 -en T -4389 -em T -4389 -Y hy -2439 -Y - -2439 -Y en -2439 -Y em -2439 -p cq -2925 -p ' -2925 -c cq -2925 -c ' -2925 -e cq -2925 -e ' -2925 -b cq -2925 -b ' -2925 -a cq -2925 -a ' -2925 -V hy -1461 -V - -1461 -V en -1461 -V em -1461 -h cq -2439 -h ' -2439 -n cq -2439 -n ' -2439 -m cq -2439 -m ' -2439 -R cq -975 -R ' -975 -W hy -486 -W - -486 -W en -486 -W em -486 -cq d -2925 -' d -2925 -s cq -1950 -s ' -1950 -L hy -1950 -L - -1950 -L en -1950 -L em -1950 -X hy -1461 -X - -1461 -X en -1461 -X em -1461 -A hy -1461 -A - -1461 -A en -1461 -A em -1461 -K hy -975 -K - -975 -K en -975 -K em -975 -cq s -1950 -' s -1950 -hy X -1461 -- X -1461 -hy A -1461 -- A -1461 -en X -1461 -en A -1461 -em X -1461 -x cq -1461 -x ' -1461 -X cq -1461 -X ' -1461 -K cq -1461 -K ' -1461 -t g -486 -t cq -975 -t ' -975 -l cq -975 -l ' -975 -r cq -975 -r ' -975 -g cq -975 -g ' -975 -i cq -975 -i ' -975 -v cq -975 -v ' -975 -z cq -975 -z ' -975 -d cq -975 -d ' -975 -y cq -975 -y ' -975 -f cq -975 -f ' -975 -w cq -975 -w ' -975 -j cq -975 -j ' -975 -u cq -975 -u ' -975 -k cq -975 -k ' -975 -T cq -975 -T ' -975 -O cq -975 -O ' -975 -H cq -975 -H ' -975 -N cq -975 -N ' -975 -M cq -975 -M ' -975 -G cq -975 -G ' -975 -I cq -975 -I ' -975 -P cq -975 -P ' -975 -C cq -975 -C ' -975 -V cq -975 -V ' -975 -E cq -975 -E ' -975 -Z cq -975 -Z ' -975 -Z hy -975 -Z - -975 -Z en -975 -Z em -975 -D cq -975 -D ' -975 -B cq -975 -B ' -975 -S cq -975 -S ' -975 -Y cq -975 -Y ' -975 -F cq -975 -F ' -975 -W cq -975 -W ' -975 -J cq -975 -J ' -975 -U cq -975 -U ' -975 -cq t -1461 -' t -1461 -cq n -1461 -' n -1461 -cq m -1461 -' m -1461 -cq l -975 -' l -975 -cq r -1461 -' r -1461 -cq v -1461 -' v -1461 -cq T -975 -' T -975 -cq N -975 -' N -975 -cq M -975 -' M -975 -cq L -975 -' L -975 -cq R -975 -' R -975 -cq D -975 -' D -975 -x hy -486 -x - -486 -x en -486 -x em -486 +L V -5852 +P . -5363 +P , -5363 +V A -3413 +A V -4388 +T o -4388 +T r -4388 +T c -4388 +T e -4388 +T d -4388 +T s -4388 +T y -4388 +T a -4388 +T w -4388 +T u -4388 +T J -4388 +L T -4388 +L Y -4877 +Y o -3902 +Y e -3902 +Y a -3413 +Y J -3902 +A W -3902 +W A -1949 +T A -3413 +V o -2438 +V e -2438 +V a -2438 +Y A -3413 +F A -2924 +F . -3902 +F , -3902 +A T -4388 +A Y -4388 +v . -3902 +v , -3902 +y . -3902 +y , -3902 +T . -3902 +T , -3902 +L W -3902 +P A -2438 +V J -2438 +V . -3902 +V , -3902 +Y . -3902 +Y , -3902 +W o -974 +W e -974 +W a -974 +W . -2924 +W , -2924 +r . -2438 +r , -2438 +w . -3413 +w , -3413 +Y u -2438 +A v -2924 +A y -2438 +A w -2438 +o . -2438 +o , -2438 +p . -2438 +p , -2438 +e . -1949 +e , -1949 +b . -2438 +b , -2438 +O T -2438 +O V -1949 +O Y -2438 +O . -1949 +O , -1949 +L y -2924 +L O -2438 +L G -1949 +L C -1949 +L Q -1460 +P J -974 +V y -1460 +V u -1460 +V O -974 +V G -974 +V C -974 +V Q -974 +D T -2438 +D V -1949 +D Y -2438 +D . -1949 +D , -1949 +Y O -974 +Y G -974 +Y C -974 +Y Q -974 +F o -1460 +F e -1460 +F a -974 +c . -1949 +c , -1949 +O A -974 +O W -974 +L U -1460 +R T -1460 +R V -1460 +R Y -1460 +R W -974 +G T -1949 +P o -974 +P g -974 +P e -974 +P a -974 +C A -974 +C . -1949 +C , -1949 +D A -974 +D W -974 +B T -1460 +B Y -1460 +B . -1949 +B , -1949 +F J -1460 +A O -1460 +A G -1460 +A C -1460 +A U -1460 +A Q -1460 +W r -485 +W y -485 +W u -485 +W O -485 +W G -485 +W C -485 +W J -974 +W Q -485 +J A -1460 +J . -2438 +J , -2438 +U A -974 +U . -1949 +U , -1949 +Q W -974 +f . -1949 +f , -1949 +T O -974 +T G -974 +T C -974 +T Q -974 +O X -974 +L o -1949 +L e -1949 +L q -1949 +G V -1949 +G Y -1949 +G W -974 +G . -1460 +G , -1460 +P T -1460 +P V -1460 +P Y -1460 +C T -1460 +C V -1460 +C Y -1460 +D X -974 +B V -1460 +B X -974 +B A -974 +B W -974 +S . -1949 +S , -1949 +X o -1460 +X e -1460 +X y -1460 +X O -1460 +X G -1460 +X C -1460 +X Q -1460 +A o -1460 +A e -1460 +K o -974 +K e -974 +K y -974 +K w -974 +K O -974 +K G -974 +K C -974 +K Q -974 +o v -1460 +o y -974 +o x -1460 +o w -974 +h v -1460 +h y -974 +n v -1460 +n y -974 +m v -1460 +m y -974 +r g -485 +g . -974 +g , -974 +p v -1460 +p y -974 +p x -1460 +c v -1460 +c y -974 +c w -974 +v o -974 +v g -974 +v c -974 +v d -974 +v a -974 +v q -974 +e v -1460 +e y -974 +b v -1460 +b y -974 +b w -974 +s . -1460 +s , -1460 +y o -974 +y g -974 +y c -974 +y d -974 +y a -974 +y q -974 +f g -485 +x o -1460 +x g -1460 +x c -1460 +x e -1460 +x d -1460 +x a -1460 +x q -1460 +a v -1460 +a y -974 +a w -974 +w o -974 +w g -974 +w c -974 +w d -974 +w a -974 +w q -974 +T i -974 +T S -974 +L a -1460 +L S -1460 +G X -485 +G A -485 +P s -485 +P Z -974 +P X -1460 +P W -974 +C X -974 +C W -974 +V i -974 +V S -974 +S T -1460 +S V -1460 +S Y -1460 +S X -974 +S A -974 +S W -974 +Y i -974 +Y S -974 +X a -1460 +X u -1460 +X S -1460 +A t -974 +A g -1460 +A c -1460 +A d -1460 +A a -1460 +A u -1460 +A q -1460 +A S -1460 +W i -485 +W S -485 +K c -974 +K u -974 +K S -974 +t g -485 +t . -974 +t , -974 +h w -974 +h . -974 +h , -974 +n w -974 +n . -974 +n , -974 +m w -974 +m . -974 +m , -974 +l . -974 +l , -974 +r o -485 +r c -485 +r e -485 +r d -485 +r a -485 +r q -485 +i . -974 +i , -974 +p w -974 +c x -974 +v e -974 +v s -485 +e x -974 +e w -974 +z . -974 +z , -974 +d . -974 +d , -974 +s v -974 +s y -974 +s x -485 +s w -974 +y e -974 +y s -485 +f o -485 +f c -485 +f e -485 +f d -485 +f s -485 +f a -485 +f q -485 +x s -974 +x . -974 +x , -974 +a . -974 +a , -974 +w e -974 +w s -485 +j . -974 +j , -974 +u . -974 +k o -485 +k g -485 +k c -485 +k e -485 +k d -485 +k a -485 +k q -485 +k . -974 +k , -974 +O Z -974 +H . -974 +H , -974 +N . -974 +N , -974 +M . -974 +M , -974 +L J -974 +L . -974 +L , -974 +R . -974 +R , -974 +G Z -485 +I . -974 +I , -974 +C Z -974 +E . -974 +E , -974 +Z o -974 +Z e -974 +Z d -974 +Z s -974 +Z y -974 +Z a -974 +Z w -974 +Z u -974 +Z O -974 +Z G -974 +Z C -974 +Z S -974 +Z J -974 +Z Q -974 +Z . -974 +Z , -974 +D Z -974 +B Z -974 +S Z -974 +X J -974 +X . -974 +X , -974 +A s -974 +A J -974 +A . -974 +A , -974 +K a -974 +K J -974 +K . -974 +K , -974 +t o -485 +t c -485 +t e -485 +t d -485 +t s -485 +t a -485 +t q -485 +o t -485 +o z -485 +h t -485 +n t -485 +m t -485 +r s -485 +p t -485 +p z -485 +c t -485 +c z -485 +e t -485 +e z -485 +z o -485 +z g -485 +z c -485 +z e -485 +z d -485 +z s -485 +z a -485 +z q -485 +b t -485 +b z -485 +s t -485 +s z -485 +x t -485 +x v -485 +x y -485 +x w -485 +x u -485 +a t -485 +k s -485 +X T -485 +X V -485 +X Y -485 +X W -485 +X U -485 +K T -485 +K V -485 +K Y -485 +K W -485 +K U -485 +L cq -7316 +L ' -7316 +T hy -4388 +T - -4388 +T en -4388 +T em -4388 +A cq -3902 +A ' -3902 +hy T -4388 +- T -4388 +en T -4388 +em T -4388 +Y hy -2438 +Y - -2438 +Y en -2438 +Y em -2438 +p cq -2924 +p ' -2924 +c cq -2924 +c ' -2924 +e cq -2924 +e ' -2924 +b cq -2924 +b ' -2924 +a cq -2924 +a ' -2924 +V hy -1460 +V - -1460 +V en -1460 +V em -1460 +h cq -2438 +h ' -2438 +n cq -2438 +n ' -2438 +m cq -2438 +m ' -2438 +R cq -974 +R ' -974 +W hy -485 +W - -485 +W en -485 +W em -485 +cq d -2924 +' d -2924 +s cq -1949 +s ' -1949 +L hy -1949 +L - -1949 +L en -1949 +L em -1949 +X hy -1460 +X - -1460 +X en -1460 +X em -1460 +A hy -1460 +A - -1460 +A en -1460 +A em -1460 +K hy -974 +K - -974 +K en -974 +K em -974 +cq s -1949 +' s -1949 +hy X -1460 +- X -1460 +hy A -1460 +- A -1460 +en X -1460 +en A -1460 +em X -1460 +x cq -1460 +x ' -1460 +X cq -1460 +X ' -1460 +K cq -1460 +K ' -1460 +t g -485 +t cq -974 +t ' -974 +l cq -974 +l ' -974 +r cq -974 +r ' -974 +g cq -974 +g ' -974 +i cq -974 +i ' -974 +v cq -974 +v ' -974 +z cq -974 +z ' -974 +d cq -974 +d ' -974 +y cq -974 +y ' -974 +f cq -974 +f ' -974 +w cq -974 +w ' -974 +j cq -974 +j ' -974 +u cq -974 +u ' -974 +k cq -974 +k ' -974 +T cq -974 +T ' -974 +O cq -974 +O ' -974 +H cq -974 +H ' -974 +N cq -974 +N ' -974 +M cq -974 +M ' -974 +G cq -974 +G ' -974 +I cq -974 +I ' -974 +P cq -974 +P ' -974 +C cq -974 +C ' -974 +V cq -974 +V ' -974 +E cq -974 +E ' -974 +Z cq -974 +Z ' -974 +Z hy -974 +Z - -974 +Z en -974 +Z em -974 +D cq -974 +D ' -974 +B cq -974 +B ' -974 +S cq -974 +S ' -974 +Y cq -974 +Y ' -974 +F cq -974 +F ' -974 +W cq -974 +W ' -974 +J cq -974 +J ' -974 +U cq -974 +U ' -974 +cq t -1460 +' t -1460 +cq n -1460 +' n -1460 +cq m -1460 +' m -1460 +cq l -974 +' l -974 +cq r -1460 +' r -1460 +cq v -1460 +' v -1460 +cq T -974 +' T -974 +cq N -974 +' N -974 +cq M -974 +' M -974 +cq L -974 +' L -974 +cq R -974 +' R -974 +cq D -974 +' D -974 +x hy -485 +x - -485 +x en -485 +x em -485 charset -! 8781,18165,0,1956,81,1000 2 3617 -dq 13173,18246,0,2049,-4233,1000 2 3618 +! 8781,18165,0,1956,81,1000 2 161057 -- MSL 1 (19U 33) +dq 13173,18246,0,2049,-4232,1000 2 161058 -- MSL 2 (19U 34) " " -sh 16587,18105,0,1020,-1137,1000 2 3619 +sh 16587,18105,0,1020,-1136,1000 2 161059 -- MSL 3 (19U 35) # " -Do 16587,18750,765,0,-2391 2 3620 +Do 16587,18750,765,0,-2390 2 161060 -- MSL 4 (19U 36) $ " -% 26346,18720,840,0,-3195 2 3621 -& 20004,18495,360,0,-942 2 3622 -cq 8781,18135,0,3114,-2751,1000 2 51751 +% 26346,18720,840,0,-3194 2 161061 -- MSL 5 (19U 37) +& 20004,18495,360,0,-941 2 161062 -- MSL 6 (19U 38) +cq 8781,18135,0,3114,-2750,1000 2 161170 -- MSL 8 (19U 146) ' " -( 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 -hy 8781,7680,0,561,147,561 0 3629 +( 8781,18135,2397,2823,-1442,1000 2 161064 -- MSL 9 (19U 40) +) 8781,18135,2397,0,1764 2 161065 -- MSL 10 (19U 41) +* 16587,18495,0,0,-4154 2 161066 -- MSL 11 (19U 42) ++ 26346,14745,105,0,-4859 0 161067 -- MSL 12 (19U 43) +, 8781,3000,3135,0,1794 0 161068 -- MSL 13 (19U 44) +hy 8781,7680,0,561,147,561 0 161069 -- MSL 14 (19U 45) - " -. 8781,2970,0,0,192 0 3630 -sl 8781,18135,1500,4326,3072,1000 2 3631 +. 8781,2970,0,0,192 0 161070 -- MSL 15 (19U 46) +sl 8781,18135,1500,4326,3072,1000 2 161071 -- MSL 16 (19U 47) / " -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 +0 16587,18465,360,1602,-242,1000 2 161072 -- MSL 17 (19U 48) +1 16587,18105,0,0,-4466 2 161073 -- MSL 18 (19U 49) +2 16587,18465,0,540,78,540 2 161074 -- MSL 19 (19U 50) +3 16587,18465,360,1374,-353,1000 2 161075 -- MSL 20 (19U 51) +4 16587,18105,0,843,609,843 2 161076 -- MSL 21 (19U 52) +5 16587,18105,360,1494,-395,1000 2 161077 -- MSL 22 (19U 53) +6 16587,18465,360,1632,-965,1000 2 161078 -- MSL 23 (19U 54) +7 16587,18105,0,1188,-2582,1000 2 161079 -- MSL 24 (19U 55) +8 16587,18465,360,1356,-176,1000 2 161080 -- MSL 25 (19U 56) +9 16587,18465,360,630,171,630 2 161081 -- MSL 26 (19U 57) +: 8781,12615,0,330,192,330 0 161082 -- MSL 27 (19U 58) +; 8781,12615,3135,405,1794,405 0 161083 -- MSL 28 (19U 59) +< 26346,16068,0,0,-3980 0 161084 -- MSL 29 (19U 60) += 26346,10500,0,0,-4949 0 161085 -- MSL 30 (19U 61) +> 26346,16068,0,0,-3980 0 161086 -- MSL 31 (19U 62) +? 13662,18315,0,1380,-1016,1000 2 161087 -- MSL 32 (19U 63) +at 26349,21030,2745,243,-1712,243 2 161088 -- MSL 33 (19U 64) @ " -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 +A 19515,18135,0,0,2400 2 161089 -- MSL 34 (19U 65) +B 16587,18135,0,1641,684,1000 2 161090 -- MSL 35 (19U 66) +C 18540,18495,360,1554,-989,1000 2 161091 -- MSL 36 (19U 67) +D 19029,18135,0,477,804,477 2 161092 -- MSL 37 (19U 68) +E 15126,18135,0,3099,699,1000 2 161093 -- MSL 38 (19U 69) +F 14637,18135,0,3549,702,1000 2 161094 -- MSL 39 (19U 70) +G 19515,18495,360,1095,-1046,1000 2 161095 -- MSL 40 (19U 71) +H 19029,18135,0,2322,852,1000 2 161096 -- MSL 41 (19U 72) +I 7317,18135,0,2439,852,1000 2 161097 -- MSL 42 (19U 73) +J 14637,18135,360,2559,1242,1000 2 161098 -- MSL 43 (19U 74) +K 17565,18135,0,2910,417,1000 2 161099 -- MSL 44 (19U 75) +L 14148,18135,0,0,693 2 161100 -- MSL 45 (19U 76) +M 23907,18135,0,2115,669,1000 2 161101 -- MSL 46 (19U 77) +N 19029,18135,0,2688,750,1000 2 161102 -- MSL 47 (19U 78) +O 20004,18495,360,582,-947,582 2 161103 -- MSL 48 (19U 79) +P 15612,18135,0,2715,708,1000 2 161104 -- MSL 49 (19U 80) +Q 20490,18495,360,168,-1079,168 2 161105 -- MSL 50 (19U 81) +R 17076,18135,0,1728,729,1000 2 161106 -- MSL 51 (19U 82) +S 17076,18495,360,1455,-20,1000 2 161107 -- MSL 52 (19U 83) +T 16587,18135,0,3801,-2426,1000 2 161108 -- MSL 53 (19U 84) +U 19029,18135,360,2250,-800,1000 2 161109 -- MSL 54 (19U 85) +V 19029,18135,0,3789,-2918,1000 2 161110 -- MSL 55 (19U 86) +W 26346,18135,0,4122,-2540,1000 2 161111 -- MSL 56 (19U 87) +X 19029,18135,0,3081,1605,1000 2 161112 -- MSL 57 (19U 88) +Y 18051,18135,0,3720,-2762,1000 2 161113 -- MSL 58 (19U 89) +Z 16101,18135,0,2598,1719,1000 2 161114 -- MSL 59 (19U 90) +lB 8781,18135,2397,3690,1038,1000 2 161115 -- MSL 60 (19U 91) [ " -rs 8781,18135,1500,0,-2547 2 3676 +rs 8781,18135,1500,0,-2546 2 161116 -- MSL 61 (19U 92) \ " -rB 8781,18135,2397,2013,2715,1000 2 3677 +rB 8781,18135,2397,2013,2715,1000 2 161117 -- MSL 62 (19U 93) ] " -ha 13173,19758,0,36,36,36 2 51875 -_ 13173,0,6588,1317,1317,1000 1 3679 -oq 8781,18135,0,2658,-2295,1000 2 51808 +ha 13173,19758,0,36,36,36 2 161118 -- MSL 63 (19U 94) +_ 13173,0,6588,1317,1317,1000 1 161119 -- MSL 64 (19U 95) +oq 8781,18135,0,2658,-2294,1000 2 161169 -- MSL 66 (19U 145) ` " -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 -`A 19515,23100,0,0,2400 2 3776 -^A 19515,23085,0,0,2400 2 3778 -`E 15126,23100,0,3099,699,1000 2 3784 -^E 15126,23085,0,3099,699,1000 2 3786 -:E 15126,22638,0,3099,699,1000 2 3787 -^I 7317,23085,0,5385,852,1000 2 3790 -:I 7317,22638,0,6231,852,1000 2 3791 -aa 16587,17970,0,0,-7479 2 3764 -ga 16587,17970,0,0,-6621 2 3680 -a^ 16587,18105,0,0,-5334 2 3678 +a 14148,12990,360,87,729,87 0 161121 -- MSL 67 (19U 97) +b 15126,18165,360,129,1092,129 2 161122 -- MSL 68 (19U 98) +c 14148,12990,360,534,114,534 0 161123 -- MSL 69 (19U 99) +d 15126,18165,360,2658,144,1000 2 161124 -- MSL 70 (19U 100) +e 14148,12990,360,567,153,567 0 161125 -- MSL 71 (19U 101) +f 9759,18315,0,3546,-32,1000 2 161126 -- MSL 72 (19U 102) +g 15126,12990,5169,1059,1470,1000 1 161127 -- MSL 73 (19U 103) +h 15126,18165,0,126,1185,126 2 161128 -- MSL 74 (19U 104) +i 6342,18165,0,3060,1143,1000 2 161129 -- MSL 75 (19U 105) +j 6342,18165,4995,2970,4578,1000 3 161130 -- MSL 76 (19U 106) +k 14148,18165,0,1248,1092,1000 2 161131 -- MSL 77 (19U 107) +l 6342,18165,0,2937,1137,1000 2 161132 -- MSL 78 (19U 108) +m 22932,12990,0,363,1182,363 0 161133 -- MSL 79 (19U 109) +n 15126,12990,0,117,1182,117 0 161134 -- MSL 80 (19U 110) +o 15126,12990,360,12,261,12 0 161135 -- MSL 81 (19U 111) +p 15126,12990,4680,9,2592,9 1 161136 -- MSL 82 (19U 112) +q 15126,12990,4680,1146,132,1000 1 161137 -- MSL 83 (19U 113) +r 9270,12990,0,2499,1026,1000 0 161138 -- MSL 84 (19U 114) +s 13173,12990,360,579,960,579 0 161139 -- MSL 85 (19U 115) +t 9759,15843,360,2022,-863,1000 0 161140 -- MSL 86 (19U 116) +u 15126,12630,360,1023,261,1000 0 161141 -- MSL 87 (19U 117) +v 14637,12630,0,1902,-1085,1000 0 161142 -- MSL 88 (19U 118) +w 22932,12630,0,1953,-1577,1000 0 161143 -- MSL 89 (19U 119) +x 14637,12630,0,1035,1767,1000 0 161144 -- MSL 90 (19U 120) +y 14637,12630,4680,1992,-962,1000 1 161145 -- MSL 91 (19U 121) +z 12684,12630,0,1344,1365,1000 0 161146 -- MSL 92 (19U 122) +{ 11709,20130,6075,3315,-1739,1000 3 161147 -- MSL 93 (19U 123) +lC " +| 13173,19758,6588,0,-4595 3 161148 -- MSL 94 (19U 124) +ba " +} 11709,20130,6075,0,3183 3 161149 -- MSL 95 (19U 125) +rC " +ti 26346,8952,0,0,-4028 0 161150 -- MSL 96 (19U 126) +`A 19515,23100,0,0,2400 2 161216 -- MSL 99 (19U 192) +^A 19515,23085,0,0,2400 2 161218 -- MSL 100 (19U 194) +`E 15126,23100,0,3099,699,1000 2 161224 -- MSL 101 (19U 200) +^E 15126,23085,0,3099,699,1000 2 161226 -- MSL 102 (19U 202) +:E 15126,22638,0,3099,699,1000 2 161227 -- MSL 103 (19U 203) +^I 7317,23085,0,5385,852,1000 2 161230 -- MSL 104 (19U 206) +:I 7317,22638,0,6231,852,1000 2 161231 -- MSL 105 (19U 207) +aa 16587,17970,0,0,-7478 2 161204 -- MSL 106 (19U 180) +ga 16587,17970,0,0,-6620 2 161120 -- MSL 107 (19U 96) +a^ 16587,18105,0,0,-5333 2 161160 -- MSL 108 (19U 136) ^ " -ad 16587,17943,0,174,-6261,174 2 3752 -a~ 16587,17724,0,312,-5604,312 2 3710 -~ " -`U 19029,23100,360,2250,-801,1000 2 3801 -^U 19029,23085,360,2250,-801,1000 2 3803 -'Y 18051,23100,0,3720,-2763,1000 2 3805 -'y 14637,17970,4680,1992,-963,1000 3 3837 -de 16587,18465,0,0,-4104 2 3760 -,C 18540,18495,4875,1554,-990,1000 3 3783 -,c 14148,12990,4875,534,114,534 1 3815 -~N 19029,23019,0,2688,750,1000 2 3793 -~n 15126,17724,0,1044,1182,1000 2 3825 -r! 8781,12576,5589,54,1983,54 1 3745 -r? 13662,12573,5742,0,921 1 3775 -Cs 16587,15684,0,126,-1533,126 0 3748 -Po 16587,18465,0,2265,291,1000 2 3747 -Ye 16587,18105,0,4818,-1089,1000 2 3749 -sc 16587,18495,360,0,-3750 2 3751 -Fn 16587,18315,0,330,-3528,330 2 51871 -ct 16587,18750,765,0,-2322 2 3746 -^a 14148,18105,360,711,729,711 2 3810 -^e 14148,18105,360,711,153,711 2 3818 -^o 15126,18105,360,222,261,222 2 3828 -^u 15126,18105,360,1023,261,1000 2 3835 -'a 14148,17970,360,690,729,690 2 3809 -'e 14148,17970,360,690,153,690 2 3817 -'o 15126,17970,360,201,261,201 2 3827 -'u 15126,17970,360,1023,261,1000 2 3834 -`a 14148,17970,360,87,729,87 2 3808 -`e 14148,17970,360,567,153,567 2 3816 -`o 15126,17970,360,12,261,12 2 3826 -`u 15126,17970,360,1023,261,1000 2 3833 -:a 14148,17943,360,1395,729,1000 2 3812 -:e 14148,17943,360,1395,153,1000 2 3819 -:o 15126,17943,360,906,261,906 2 3830 -:u 15126,17943,360,1023,261,1000 2 3836 -oA 19515,25923,0,0,2400 2 3781 -^i 6342,18105,0,4614,1155,1000 2 3822 -/O 20004,18495,360,2847,1161,1000 2 3800 -AE 25857,18135,0,3231,2919,1000 2 3782 -oa 14148,20490,360,87,729,87 2 3813 -'i 6342,17970,0,4593,1155,1000 2 3821 -/o 15126,12990,360,1242,1386,1000 0 3832 -ae 22443,12990,360,165,384,165 0 3814 -:A 19515,22638,0,132,2400,132 2 3780 -`i 6342,17970,0,1737,1155,1000 2 3820 -:O 20004,22638,360,582,-948,582 2 3798 -:U 19029,22638,360,2250,-801,1000 2 3804 -'E 15126,23100,0,3099,699,1000 2 3785 -:i 6342,17943,0,5298,1155,1000 2 3823 -ss 16101,18315,360,1320,939,1000 2 3807 -^O 20004,23085,360,582,-948,582 2 3796 -'A 19515,23100,0,0,2400 2 3777 -~A 19515,23019,0,936,2400,936 2 3779 -~a 14148,17724,360,1533,729,1000 2 3811 --D 19029,18135,0,477,804,477 2 3792 -Sd 15126,18315,360,357,108,357 2 3824 -'I 7317,23100,0,5619,852,1000 2 3789 -`I 7317,23100,0,2787,852,1000 2 3788 -'O 20004,23100,360,582,-948,582 2 3795 -`O 20004,23100,360,582,-948,582 2 3794 -~O 20004,23019,360,693,-948,693 2 3797 -~o 15126,17724,360,1044,261,1000 2 3829 -vS 17076,23085,360,1629,-21,1000 2 51795 -vs 13173,18234,360,2241,960,1000 2 51827 -'U 19029,23100,360,2250,-801,1000 2 3802 -:Y 18051,22638,0,3720,-2763,1000 2 51801 -:y 14637,17943,4680,1992,-963,1000 3 3839 -TP 15612,18135,0,1692,717,1000 2 3806 -Tp 15126,18165,4680,9,2592,9 3 3838 -mc 14637,12630,4350,1122,2931,1000 0 3765 -ps 16590,19635,4200,0,-2379 2 3766 -34 26346,18465,945,0,-3291 2 3774 -\- 26346,8070,0,0,-4869 0 51757 -14 26346,18465,945,0,-3621 2 3772 -12 26346,18465,945,0,-3087 2 3773 -Of 10734,18465,0,1791,-1671,1000 2 3754 -Om 10734,18465,0,2232,-1599,1000 2 3770 -Fo 14637,11046,0,468,-876,468 0 3755 -Fc 14637,11046,0,0,537 0 3771 -t+- 26346,14910,0,0,-4770 0 3761 -bb 13173,19083,5916,0,-4596 3 3750 -co 13173,19635,0,4683,-2892,1000 2 3753 -tno 26346,11697,0,0,-4425 0 3756 -rg 13173,19635,0,4683,-2892,1000 2 3758 -S2 10245,18465,0,1800,-1065,1000 2 3762 -S3 10245,18465,0,1941,-1134,1000 2 3763 -ac 16587,0,4875,0,-1797 1 3768 -S1 10245,18345,0,693,-3387,693 2 3769 -tmu 26346,14010,0,0,-6081 0 3799 -tdi 26346,12255,0,0,-4845 0 3831 -pc 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 -a- 16587,17040,0,327,-5010,327 2 3759 -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 +ad 16587,17943,0,174,-6260,174 2 161192 -- MSL 109 (19U 168) +~ 16587,17724,0,312,-5603,312 2 161176 -- MSL 110 (19U 152) +a~ " +`U 19029,23100,360,2250,-800,1000 2 161241 -- MSL 111 (19U 217) +^U 19029,23085,360,2250,-800,1000 2 161243 -- MSL 112 (19U 219) +u00AF 13173,21105,0,1317,1317,1000 2 161199 -- MSL 113 (19U 175) +'Y 18051,23100,0,3720,-2762,1000 2 161245 -- MSL 114 (19U 221) +'y 14637,17970,4680,1992,-962,1000 3 161277 -- MSL 115 (19U 253) +de 16587,18465,0,0,-4103 2 161200 -- MSL 116 (19U 176) +,C 18540,18495,4875,1554,-989,1000 3 161223 -- MSL 117 (19U 199) +,c 14148,12990,4875,534,114,534 1 161255 -- MSL 118 (19U 231) +~N 19029,23019,0,2688,750,1000 2 161233 -- MSL 119 (19U 209) +~n 15126,17724,0,1044,1182,1000 2 161265 -- MSL 120 (19U 241) +r! 8781,12576,5589,54,1983,54 1 161185 -- MSL 121 (19U 161) +r? 13662,12573,5742,0,921 1 161215 -- MSL 122 (19U 191) +Cs 16587,15684,0,126,-1532,126 0 161188 -- MSL 123 (19U 164) +Po 16587,18465,0,2265,291,1000 2 161187 -- MSL 124 (19U 163) +Ye 16587,18105,0,4818,-1088,1000 2 161189 -- MSL 125 (19U 165) +sc 16587,18495,360,0,-3749 2 161191 -- MSL 126 (19U 167) +Fn 16587,18315,0,330,-3527,330 2 161155 -- MSL 127 (19U 131) +ct 16587,18750,765,0,-2321 2 161186 -- MSL 128 (19U 162) +^a 14148,18105,360,711,729,711 2 161250 -- MSL 129 (19U 226) +^e 14148,18105,360,711,153,711 2 161258 -- MSL 130 (19U 234) +^o 15126,18105,360,222,261,222 2 161268 -- MSL 131 (19U 244) +^u 15126,18105,360,1023,261,1000 2 161275 -- MSL 132 (19U 251) +'a 14148,17970,360,690,729,690 2 161249 -- MSL 133 (19U 225) +'e 14148,17970,360,690,153,690 2 161257 -- MSL 134 (19U 233) +'o 15126,17970,360,201,261,201 2 161267 -- MSL 135 (19U 243) +'u 15126,17970,360,1023,261,1000 2 161274 -- MSL 136 (19U 250) +`a 14148,17970,360,87,729,87 2 161248 -- MSL 137 (19U 224) +`e 14148,17970,360,567,153,567 2 161256 -- MSL 138 (19U 232) +`o 15126,17970,360,12,261,12 2 161266 -- MSL 139 (19U 242) +`u 15126,17970,360,1023,261,1000 2 161273 -- MSL 140 (19U 249) +:a 14148,17943,360,1395,729,1000 2 161252 -- MSL 141 (19U 228) +:e 14148,17943,360,1395,153,1000 2 161259 -- MSL 142 (19U 235) +:o 15126,17943,360,906,261,906 2 161270 -- MSL 143 (19U 246) +:u 15126,17943,360,1023,261,1000 2 161276 -- MSL 144 (19U 252) +oA 19515,25923,0,0,2400 2 161221 -- MSL 145 (19U 197) +^i 6342,18105,0,4614,1155,1000 2 161262 -- MSL 146 (19U 238) +/O 20004,18495,360,2847,1161,1000 2 161240 -- MSL 147 (19U 216) +AE 25857,18135,0,3231,2919,1000 2 161222 -- MSL 148 (19U 198) +oa 14148,20490,360,87,729,87 2 161253 -- MSL 149 (19U 229) +'i 6342,17970,0,4593,1155,1000 2 161261 -- MSL 150 (19U 237) +/o 15126,12990,360,1242,1386,1000 0 161272 -- MSL 151 (19U 248) +ae 22443,12990,360,165,384,165 0 161254 -- MSL 152 (19U 230) +:A 19515,22638,0,132,2400,132 2 161220 -- MSL 153 (19U 196) +`i 6342,17970,0,1737,1155,1000 2 161260 -- MSL 154 (19U 236) +:O 20004,22638,360,582,-947,582 2 161238 -- MSL 155 (19U 214) +:U 19029,22638,360,2250,-800,1000 2 161244 -- MSL 156 (19U 220) +'E 15126,23100,0,3099,699,1000 2 161225 -- MSL 157 (19U 201) +:i 6342,17943,0,5298,1155,1000 2 161263 -- MSL 158 (19U 239) +ss 16101,18315,360,1320,939,1000 2 161247 -- MSL 159 (19U 223) +^O 20004,23085,360,582,-947,582 2 161236 -- MSL 160 (19U 212) +'A 19515,23100,0,0,2400 2 161217 -- MSL 161 (19U 193) +~A 19515,23019,0,936,2400,936 2 161219 -- MSL 162 (19U 195) +~a 14148,17724,360,1533,729,1000 2 161251 -- MSL 163 (19U 227) +-D 19029,18135,0,477,804,477 2 161232 -- MSL 164 (19U 208) +Sd 15126,18315,360,357,108,357 2 161264 -- MSL 165 (19U 240) +'I 7317,23100,0,5619,852,1000 2 161229 -- MSL 166 (19U 205) +`I 7317,23100,0,2787,852,1000 2 161228 -- MSL 167 (19U 204) +'O 20004,23100,360,582,-947,582 2 161235 -- MSL 168 (19U 211) +`O 20004,23100,360,582,-947,582 2 161234 -- MSL 169 (19U 210) +~O 20004,23019,360,693,-947,693 2 161237 -- MSL 170 (19U 213) +~o 15126,17724,360,1044,261,1000 2 161269 -- MSL 171 (19U 245) +vS 17076,23085,360,1629,-20,1000 2 161162 -- MSL 172 (19U 138) +vs 13173,18234,360,2241,960,1000 2 161178 -- MSL 173 (19U 154) +'U 19029,23100,360,2250,-800,1000 2 161242 -- MSL 174 (19U 218) +:Y 18051,22638,0,3720,-2762,1000 2 161183 -- MSL 175 (19U 159) +:y 14637,17943,4680,1992,-962,1000 3 161279 -- MSL 176 (19U 255) +TP 15612,18135,0,1692,717,1000 2 161246 -- MSL 177 (19U 222) +Tp 15126,18165,4680,9,2592,9 3 161278 -- MSL 178 (19U 254) +mc 14637,12630,4350,1122,2931,1000 0 161205 -- MSL 180 (19U 181) +ps 16590,19635,4200,0,-2378 2 161206 -- MSL 181 (19U 182) +34 26346,18465,945,0,-3290 2 161214 -- MSL 182 (19U 190) +\- 26346,8070,0,0,-4868 0 60096 -- MSL 183 ( 7J 192) +14 26346,18465,945,0,-3620 2 161212 -- MSL 184 (19U 188) +12 26346,18465,945,0,-3086 2 161213 -- MSL 185 (19U 189) +Of 10734,18465,0,1791,-1670,1000 2 161194 -- MSL 186 (19U 170) +Om 10734,18465,0,2232,-1598,1000 2 161210 -- MSL 187 (19U 186) +Fo 14637,11046,0,468,-875,468 0 161195 -- MSL 188 (19U 171) +Fc 14637,11046,0,0,537 0 161211 -- MSL 190 (19U 187) +t+- 26346,14910,0,0,-4769 0 161201 -- MSL 191 (19U 177) +bb 13173,19083,5916,0,-4595 3 161190 -- MSL 192 (19U 166) +co 13173,19635,0,4683,-2891,1000 2 161193 -- MSL 193 (19U 169) +tno 26346,11697,0,0,-4424 0 161196 -- MSL 194 (19U 172) +u00AD 8781,7680,0,561,147,561 0 161197 -- MSL 195 (19U 173) +rg 13173,19635,0,4683,-2891,1000 2 161198 -- MSL 196 (19U 174) +S2 10245,18465,0,1800,-1064,1000 2 161202 -- MSL 197 (19U 178) +S3 10245,18465,0,1941,-1133,1000 2 161203 -- MSL 198 (19U 179) +ac 16587,0,4875,0,-1796 1 161208 -- MSL 199 (19U 184) +S1 10245,18345,0,693,-3386,693 2 161209 -- MSL 200 (19U 185) +tmu 26346,14010,0,0,-6080 0 161239 -- MSL 201 (19U 215) +tdi 26346,12255,0,0,-4844 0 161271 -- MSL 202 (19U 247) +u203C 14439,18165,0,1956,81,1000 2 87315 -- MSL 221 (10U 19) +u20A7 25371,18135,360,2022,708,1000 2 60121 -- MSL 232 ( 7J 217) +pc 8781,10935,0,0,-2135 0 161207 -- MSL 302 (19U 183) +u013F 14148,18135,0,708,693,708 2 51943 -- MSL 306 ( 6J 231) +u0140 8295,18165,0,3105,1137,1000 2 51959 -- MSL 307 ( 6J 247) +u2113 16587,18150,297,0,-3104 2 60122 -- MSL 308 ( 7J 218) +u0149 19515,18135,0,117,-1310,117 2 51951 -- MSL 309 ( 6J 239) +fm 8781,18105,0,1911,-2999,1000 2 60101 -- MSL 310 ( 7J 197) +sd 16587,18105,0,0,-2999 2 60102 -- MSL 311 ( 7J 198) +dg 16587,18135,0,0,-2771 2 161158 -- MSL 312 (19U 134) +tm 16128,17850,0,2196,-2759,1000 2 161177 -- MSL 313 (19U 153) +u2017 13173,0,6588,1317,1317,1000 1 60095 -- MSL 314 ( 7J 191) +ah 16587,18234,0,534,-6377,534 2 75169 -- MSL 315 ( 9E 161) +ao 16587,20490,0,0,-6317 2 60152 -- MSL 316 ( 7J 248) +f/ 2439,18465,945,8739,7344,1000 2 60109 -- MSL 324 ( 7J 205) +em 26346,7380,0,0,-2342 0 161175 -- MSL 325 (19U 151) +en 16587,7470,0,24,-377,24 0 161174 -- MSL 326 (19U 150) +dd 16587,18135,0,0,-2798 2 161159 -- MSL 327 (19U 135) +.i 6342,12630,0,1374,1155,1000 0 46333 -- MSL 328 ( 5T 253) +aq 8781,18246,0,2136,-4232,1000 2 161063 -- MSL 329 (19U 39) +bu 13173,14226,0,0,-497 0 161173 -- MSL 331 (19U 149) +u207F 10248,18465,0,2817,30,1000 2 87548 -- MSL 332 (10U 252) +u0111 15126,18165,360,3759,159,1000 2 75248 -- MSL 342 ( 9E 240) +u0041_0306 19515,23130,0,261,2400,261 2 75203 -- MSL 400 ( 9E 195) +u0061_0306 14148,17937,360,1122,729,1000 2 75235 -- MSL 401 ( 9E 227) +u0041_0328 19515,18135,4467,0,2400 2 75173 -- MSL 404 ( 9E 165) +u0061_0328 14148,12990,4458,87,729,87 0 75193 -- MSL 405 ( 9E 185) +'C 18540,23100,360,1554,-989,1000 2 75206 -- MSL 406 ( 9E 198) +'c 14148,17970,360,690,114,690 2 75238 -- MSL 407 ( 9E 230) +u0041_030C 18540,23085,360,1554,-989,1000 2 75208 -- MSL 410 ( 9E 200) +u0061_030C 14148,18234,360,1755,114,1000 2 75240 -- MSL 411 ( 9E 232) +u0044_030C 19029,23085,0,477,804,477 2 75215 -- MSL 414 ( 9E 207) +u0064_030C 17565,19635,360,6540,144,1000 2 75247 -- MSL 415 ( 9E 239) +u0045_030C 15126,23085,0,3114,699,1000 2 75212 -- MSL 416 ( 9E 204) +u0065_030C 14148,18234,360,1755,153,1000 2 75244 -- MSL 417 ( 9E 236) +u0045_0328 15126,18135,4467,3099,699,1000 2 75210 -- MSL 422 ( 9E 202) +u0065_0328 14148,12990,4458,567,153,567 0 75242 -- MSL 423 ( 9E 234) +u004C_0301 14148,23100,0,0,693 2 75205 -- MSL 440 ( 9E 197) +u006C_0301 6342,23025,0,6393,1137,1000 2 75237 -- MSL 441 ( 9E 229) +u004C_030C 14148,19635,0,2082,693,1000 2 75196 -- MSL 442 ( 9E 188) +u006C_030C 8781,19635,0,6834,1137,1000 2 75198 -- MSL 443 ( 9E 190) +u004E_0301 19029,23100,0,2688,750,1000 2 75217 -- MSL 446 ( 9E 209) +u006E_0301 15126,17970,0,201,1182,201 2 75249 -- MSL 447 ( 9E 241) +u004E_030C 19029,23085,0,2688,750,1000 2 75218 -- MSL 448 ( 9E 210) +u006E_030C 15126,18234,0,942,1182,942 2 75250 -- MSL 449 ( 9E 242) +u004F_030B 20004,23100,360,1959,-947,1000 2 75221 -- MSL 452 ( 9E 213) +u006F_030B 15126,17970,360,3192,261,1000 2 75253 -- MSL 453 ( 9E 245) +u0052_0301 17076,23100,0,1728,729,1000 2 75200 -- MSL 456 ( 9E 192) +u0072_0301 9270,17970,0,3129,1026,1000 2 75232 -- MSL 457 ( 9E 224) +u0052_030C 17076,23085,0,1728,729,1000 2 75224 -- MSL 458 ( 9E 216) +u0072_030C 9270,18234,0,4194,1026,1000 2 75256 -- MSL 459 ( 9E 248) +u0053_0301 17076,23100,360,1455,-20,1000 2 75148 -- MSL 462 ( 9E 140) +u0073_0301 13173,17970,360,1176,960,1000 2 75164 -- MSL 463 ( 9E 156) +u0054_030C 16587,23085,0,3801,-2426,1000 2 75149 -- MSL 466 ( 9E 141) +u0074_030C 10734,19635,360,6291,-863,1000 2 75165 -- MSL 467 ( 9E 157) +u0054_0327 16587,18135,4875,3801,-1589,1000 3 75230 -- MSL 468 ( 9E 222) +u0074_0327 9759,15843,4875,2022,1617,1000 1 75262 -- MSL 469 ( 9E 254) +u0055_030B 19029,23100,360,2445,-800,1000 2 75227 -- MSL 474 ( 9E 219) +u0075_030B 15126,17970,360,2592,261,1000 2 75259 -- MSL 475 ( 9E 251) +u0055_030A 19029,25173,360,2250,-800,1000 2 75225 -- MSL 476 ( 9E 217) +u0075_030A 15126,20490,360,1023,261,1000 2 75257 -- MSL 477 ( 9E 249) +u005A_0301 16101,23100,0,2598,1719,1000 2 75151 -- MSL 482 ( 9E 143) +u007A_0301 12684,17970,0,1422,1365,1000 2 75167 -- MSL 483 ( 9E 159) +u005A_0307 16101,22650,0,2598,1719,1000 2 75183 -- MSL 484 ( 9E 175) +u007A_0307 12684,17943,0,1344,1365,1000 2 75199 -- MSL 485 ( 9E 191) +u2070 10245,18465,0,2388,-1205,1000 2 51753 -- MSL 1000 ( 6J 41) +u2074 10245,18345,0,1842,-857,1000 2 51748 -- MSL 1001 ( 6J 36) +u2075 10245,18345,0,2226,-1361,1000 2 51749 -- MSL 1002 ( 6J 37) +u2076 10245,18465,0,2094,-1640,1000 2 51806 -- MSL 1003 ( 6J 94) +u2077 10245,18345,0,2004,-2096,1000 2 51750 -- MSL 1004 ( 6J 38) +u2078 10245,18465,0,2007,-1160,1000 2 51754 -- MSL 1005 ( 6J 42) +u2079 10245,18465,0,1710,-1265,1000 2 51752 -- MSL 1006 ( 6J 40) +lq 13173,18135,0,3186,-2321,1000 2 161171 -- MSL 1017 (19U 147) +rq 13173,18135,0,3246,-2381,1000 2 161172 -- MSL 1018 (19U 148) +Bq 13173,2925,3150,0,1596 0 161156 -- MSL 1019 (19U 132) +u2003 26346,0,0,0,1317 0 51821 -- MSL 1020 ( 6J 109) +u2002 16587,0,0,0,1317 0 51822 -- MSL 1021 ( 6J 110) +u2009 8781,0,0,0,1317 0 51828 -- MSL 1023 ( 6J 116) +u2026 26346,2760,0,0,-314 0 161157 -- MSL 1028 (19U 133) +vz 12684,18234,0,2487,1365,1000 2 75166 -- MSL 1031 ( 9E 158) +u2120 16128,18000,0,3384,-2777,1000 2 128299 -- MSL 1034 (15U 43) +u211E 20004,18315,4056,342,-1043,342 2 51794 -- MSL 1036 ( 6J 82) +fi 16101,18315,0,2976,-248,1000 2 60077 -- MSL 1040 ( 7J 173) +fl 16101,18315,0,2811,-215,1000 2 60078 -- MSL 1041 ( 7J 174) +ff 18051,18315,0,3666,-164,1000 2 51883 -- MSL 1042 ( 6J 171) +Fi 24396,18315,0,2886,-173,1000 2 51884 -- MSL 1043 ( 6J 172) +Fl 24396,18315,0,2748,-167,1000 2 51885 -- MSL 1044 ( 6J 173) +ij 12684,18165,4995,2970,1143,1000 3 60134 -- MSL 1047 ( 7J 230) +u2105 26349,18495,360,0,-1991 2 60072 -- MSL 1060 ( 7J 168) +u0047_0306 19515,23130,360,1095,-1046,1000 2 46288 -- MSL 1061 ( 5T 208) +u0067_0306 15126,17937,5169,1059,1470,1000 3 46320 -- MSL 1062 ( 5T 240) +u0053_0327 17076,18495,4875,1455,-20,1000 3 75178 -- MSL 1063 ( 9E 170) +u0073_0327 13173,12990,4875,579,960,579 1 75194 -- MSL 1064 ( 9E 186) +u0049_0307 7317,22650,0,3942,852,1000 2 46301 -- MSL 1065 ( 5T 221) +bq 8781,2925,3150,0,2349 0 161154 -- MSL 1067 (19U 130) +%0 26346,18720,840,426,-314,426 2 161161 -- MSL 1068 (19U 137) +a- 16587,17040,0,327,-5009,327 2 60154 -- MSL 1084 ( 7J 250) +ab 16587,17937,0,0,-5468 2 75170 -- MSL 1086 ( 9E 162) +a. 16587,17943,0,0,-8354 2 75263 -- MSL 1088 ( 9E 255) +oe 23907,12990,360,141,-242,141 0 161180 -- MSL 1090 (19U 156) +OE 26346,18270,135,3102,-986,1000 2 161164 -- MSL 1091 (19U 140) +fo 9759,11046,0,438,-1292,438 0 161163 -- MSL 1092 (19U 139) +fc 9759,11046,0,0,-362 0 161179 -- MSL 1093 (19U 155) +sq 19029,15624,0,0,-2021 0 60091 -- MSL 1094 ( 7J 187) +/L 14148,18135,0,0,693 2 75171 -- MSL 1095 ( 9E 163) +/l 6342,18165,0,2937,1122,1000 2 75187 -- MSL 1096 ( 9E 179) +a" 16587,17970,0,2460,-5864,1000 2 75197 -- MSL 1097 ( 9E 189) +ho 16587,696,4458,0,-6956 0 75186 -- MSL 1098 ( 9E 178) +vZ 16101,23085,0,2598,1719,1000 2 75150 -- MSL 1106 ( 9E 142) +IJ 20976,18135,360,2559,852,1000 2 60135 -- MSL 1107 ( 7J 231) diff -ruN groff-1.19/font/devlj4/UR groff-1.19.1/font/devlj4/UR --- groff-1.19/font/devlj4/UR Tue Feb 25 06:38:56 2003 +++ groff-1.19.1/font/devlj4/UR Wed Feb 18 10:01:17 2004 @@ -1,3 +1,4 @@ +# Univers Md name UR spacewidth 8781 pcltypeface 4148 @@ -6,772 +7,842 @@ 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 cq -6342 -L ' -6342 -T hy -4878 -T - -4878 -T en -4878 -T em -4878 -A cq -2925 -A ' -2925 -hy T -4878 -- T -4878 -en T -4878 -em T -4878 -Y hy -2925 -Y - -2925 -Y en -2925 -Y em -2925 -p cq -1950 -p ' -1950 -c cq -1461 -c ' -1461 -e cq -1950 -e ' -1950 -b cq -1950 -b ' -1950 -a cq -1461 -a ' -1461 -V hy -1461 -V - -1461 -V en -1461 -V em -1461 -h cq -1461 -h ' -1461 -n cq -1461 -n ' -1461 -m cq -1461 -m ' -1461 -W hy -975 -W - -975 -W en -975 -W em -975 -cq d -3414 -' d -3414 -s cq -486 -s ' -486 -L hy -1950 -L - -1950 -L en -1950 -L em -1950 -X hy -1461 -X - -1461 -X en -1461 -X em -1461 -A hy -1461 -A - -1461 -A en -1461 -A em -1461 -K hy -1461 -K - -1461 -K en -1461 -K em -1461 -cq s -1950 -' s -1950 -hy X -1461 -- X -1461 -hy A -1461 -- A -1461 -en X -1461 -en A -1461 -em X -1461 -K cq -486 -K ' -486 -t g -486 -b f -486 -Z hy -486 -Z - -486 -Z en -486 -Z em -486 -cq t -975 -' t -975 -cq n -1461 -' n -1461 -cq m -1461 -' m -1461 -cq r -1461 -' r -1461 -cq v -1461 -' v -1461 +L V -3902 +P . -4388 +P , -4388 +V A -3902 +A V -3902 +T o -4877 +T r -4877 +T c -4877 +T e -4877 +T d -4877 +T s -4877 +T y -4877 +T a -4877 +T w -4877 +T u -4877 +T J -4877 +L T -4877 +L Y -4388 +Y o -4388 +Y e -4388 +Y a -4388 +Y J -4388 +A W -2438 +W A -2438 +T A -4388 +V o -2924 +V e -2924 +V a -2924 +Y A -4388 +F A -2924 +F . -3902 +F , -3902 +A T -4388 +A Y -4388 +v . -3902 +v , -3902 +y . -3902 +y , -3902 +T . -3902 +T , -3902 +L W -2438 +P A -2924 +V J -3902 +V . -3902 +V , -3902 +Y . -3902 +Y , -3902 +W o -1949 +W e -1949 +W a -1949 +W . -3413 +W , -3413 +r . -2438 +r , -2438 +w . -3413 +w , -3413 +Y u -2924 +A v -2438 +A y -1949 +A w -2438 +o . -2924 +o , -2924 +p . -2924 +p , -2924 +e . -2924 +e , -2924 +b . -2924 +b , -2924 +O T -1949 +O V -1460 +O Y -1949 +O . -2924 +O , -2924 +L y -2438 +L O -1949 +L G -1949 +L C -1949 +L Q -1949 +P J -2438 +V y -1460 +V u -1460 +V O -1460 +V G -1460 +V C -1460 +V Q -1460 +D T -1949 +D V -1460 +D Y -1949 +D . -2924 +D , -2924 +Y O -1949 +Y G -1949 +Y C -1949 +Y Q -1949 +F o -1460 +F e -1460 +F a -1460 +c . -2438 +c , -2438 +O A -1460 +O W -974 +L U -1460 +R T -1460 +R V -1460 +R Y -1460 +R W -974 +G T -1460 +P o -1460 +P g -1460 +P e -1460 +P a -1460 +C A -1460 +C . -2438 +C , -2438 +D A -1460 +D W -974 +B T -1460 +B Y -1460 +B . -1949 +B , -1949 +F J -2438 +A O -1460 +A G -1460 +A C -1460 +A U -1460 +A Q -1460 +W r -974 +W y -974 +W u -974 +W O -974 +W G -974 +W C -974 +W J -2438 +W Q -974 +J A -1460 +J . -2438 +J , -2438 +U A -1460 +U . -2438 +U , -2438 +Q W -974 +f . -1949 +f , -1949 +T O -1949 +T G -1949 +T C -1949 +T Q -1949 +O X -1460 +L o -1949 +L e -1949 +L q -1949 +G V -1460 +G Y -1460 +G W -974 +G . -974 +G , -974 +P T -485 +P V -485 +P Y -485 +C T -1460 +C V -1460 +C Y -1460 +D X -1460 +B V -1460 +B X -974 +B A -974 +B W -974 +S . -1949 +S , -1949 +X o -1460 +X e -1460 +X y -1460 +X O -1460 +X G -1460 +X C -1460 +X Q -1460 +A o -1460 +A e -1460 +K o -1460 +K e -1460 +K y -1460 +K w -1460 +K O -1460 +K G -1460 +K C -1460 +K Q -1460 +o v -974 +o y -485 +o x -974 +o w -974 +h v -974 +h y -485 +n v -974 +n y -485 +m v -974 +m y -485 +r g -485 +g . -974 +g , -974 +p v -974 +p y -485 +p x -974 +c v -974 +c y -485 +c w -974 +v o -974 +v g -974 +v c -974 +v d -974 +v a -974 +v q -974 +e v -974 +e y -485 +b v -974 +b y -485 +b w -974 +s . -1460 +s , -1460 +y o -974 +y g -974 +y c -974 +y d -974 +y a -974 +y q -974 +f g -485 +x o -974 +x g -974 +x c -974 +x e -974 +x d -974 +x a -974 +x q -974 +a v -974 +a y -485 +a w -974 +w o -974 +w g -974 +w c -974 +w d -974 +w a -974 +w q -974 +T i -974 +T S -974 +L a -974 +L S -974 +P s -485 +P Z -485 +P X -485 +P W -485 +C X -1460 +C W -974 +C J -974 +V i -974 +V S -974 +S T -974 +S V -974 +S Y -974 +S X -974 +S A -974 +S W -974 +Y i -974 +Y S -974 +X a -974 +X u -1460 +X S -974 +A t -974 +A g -1460 +A c -1460 +A d -1460 +A a -974 +A u -1460 +A q -1460 +A S -974 +W i -974 +W S -974 +K c -1460 +K u -1460 +K S -974 +t g -485 +t . -974 +t , -974 +o f -485 +h w -974 +h . -974 +h , -974 +n w -974 +n . -974 +n , -974 +m w -974 +m . -974 +m , -974 +l . -974 +l , -974 +r o -485 +r c -485 +r e -485 +r d -485 +r a -485 +r q -485 +i . -974 +i , -974 +p f -485 +p w -974 +c f -485 +c x -974 +v e -974 +v s -485 +e f -485 +e x -974 +e w -974 +z . -974 +z , -974 +d . -974 +d , -974 +b f -485 +s v -485 +s y -485 +s f -485 +s x -485 +s w -485 +y e -974 +y s -485 +f o -485 +f c -485 +f e -485 +f d -485 +f s -485 +f a -485 +f q -485 +x s -485 +x . -974 +x , -974 +a . -974 +a , -974 +w e -974 +w s -485 +j . -974 +j , -974 +u . -974 +k o -974 +k g -974 +k c -974 +k e -974 +k d -974 +k a -974 +k q -974 +k . -974 +k , -974 +O Z -485 +O J -974 +H . -974 +H , -974 +N . -974 +N , -974 +M . -974 +M , -974 +L . -974 +L , -974 +R . -974 +R , -974 +I . -974 +I , -974 +C Z -485 +E . -974 +E , -974 +Z o -485 +Z e -485 +Z d -485 +Z s -485 +Z y -485 +Z a -485 +Z w -485 +Z u -485 +Z O -485 +Z G -485 +Z C -485 +Z S -485 +Z Q -485 +Z . -974 +Z , -974 +D Z -485 +D J -974 +B Z -485 +B J -974 +S Z -485 +S J -974 +X . -974 +X , -974 +A s -485 +A . -974 +A , -974 +J J -974 +U J -974 +K a -974 +K . -974 +K , -974 +t o -485 +t c -485 +t e -485 +t d -485 +t s -485 +t a -485 +t q -485 +o z -485 +h f -485 +n f -485 +m f -485 +r s -485 +p z -485 +c z -485 +e z -485 +z o -485 +z g -485 +z c -485 +z e -485 +z d -485 +z s -485 +z a -485 +z q -485 +b z -485 +s z -485 +a f -485 +k s -485 +A f -485 +K T -485 +K V -485 +K Y -485 +K W -485 +K U -485 +L cq -6341 +L ' -6341 +T hy -4877 +T - -4877 +T en -4877 +T em -4877 +A cq -2924 +A ' -2924 +hy T -4877 +- T -4877 +en T -4877 +em T -4877 +Y hy -2924 +Y - -2924 +Y en -2924 +Y em -2924 +p cq -1949 +p ' -1949 +c cq -1460 +c ' -1460 +e cq -1949 +e ' -1949 +b cq -1949 +b ' -1949 +a cq -1460 +a ' -1460 +V hy -1460 +V - -1460 +V en -1460 +V em -1460 +h cq -1460 +h ' -1460 +n cq -1460 +n ' -1460 +m cq -1460 +m ' -1460 +W hy -974 +W - -974 +W en -974 +W em -974 +cq d -3413 +' d -3413 +s cq -485 +s ' -485 +L hy -1949 +L - -1949 +L en -1949 +L em -1949 +X hy -1460 +X - -1460 +X en -1460 +X em -1460 +A hy -1460 +A - -1460 +A en -1460 +A em -1460 +K hy -1460 +K - -1460 +K en -1460 +K em -1460 +cq s -1949 +' s -1949 +hy X -1460 +- X -1460 +hy A -1460 +- A -1460 +en X -1460 +en A -1460 +em X -1460 +K cq -485 +K ' -485 +t g -485 +b f -485 +Z hy -485 +Z - -485 +Z en -485 +Z em -485 +cq t -974 +' t -974 +cq n -1460 +' n -1460 +cq m -1460 +' m -1460 +cq r -1460 +' r -1460 +cq v -1460 +' v -1460 charset -! 8781,18165 2 3617 -dq 13173,18237 2 3618 +! 8781,18165 2 161057 -- MSL 1 (19U 33) +dq 13173,18237 2 161058 -- MSL 2 (19U 34) " " -sh 16587,18105 2 3619 +sh 16587,18105 2 161059 -- MSL 3 (19U 35) # " -Do 16587,18825,720 2 3620 +Do 16587,18825,720 2 161060 -- MSL 4 (19U 36) $ " -% 26346,18720,840 2 3621 -& 20004,18495,360 2 3622 -cq 8781,18135 2 51751 +% 26346,18720,840 2 161061 -- MSL 5 (19U 37) +& 20004,18495,360 2 161062 -- MSL 6 (19U 38) +cq 8781,18135 2 161170 -- MSL 8 (19U 146) ' " -( 8781,18135,2550 2 3624 -) 8781,18135,2550 2 3625 -* 16587,18495 2 3626 -+ 26346,14775,105 0 3627 -, 8781,3030,3075 0 3628 -hy 8781,7755 0 3629 +( 8781,18135,2550 2 161064 -- MSL 9 (19U 40) +) 8781,18135,2550 2 161065 -- MSL 10 (19U 41) +* 16587,18495 2 161066 -- MSL 11 (19U 42) ++ 26346,14775,105 0 161067 -- MSL 12 (19U 43) +, 8781,3030,3075 0 161068 -- MSL 13 (19U 44) +hy 8781,7755 0 161069 -- MSL 14 (19U 45) - " -. 8781,3030 0 3630 -sl 8781,18135,1380 2 3631 +. 8781,3030 0 161070 -- MSL 15 (19U 46) +sl 8781,18135,1380 2 161071 -- MSL 16 (19U 47) / " -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 +0 16587,18465,360 2 161072 -- MSL 17 (19U 48) +1 16587,18105 2 161073 -- MSL 18 (19U 49) +2 16587,18465 2 161074 -- MSL 19 (19U 50) +3 16587,18465,360 2 161075 -- MSL 20 (19U 51) +4 16587,18105 2 161076 -- MSL 21 (19U 52) +5 16587,18105,360 2 161077 -- MSL 22 (19U 53) +6 16587,18465,360 2 161078 -- MSL 23 (19U 54) +7 16587,18105 2 161079 -- MSL 24 (19U 55) +8 16587,18465,360 2 161080 -- MSL 25 (19U 56) +9 16587,18465,360 2 161081 -- MSL 26 (19U 57) +: 8781,12630 0 161082 -- MSL 27 (19U 58) +; 8781,12630,3075 0 161083 -- MSL 28 (19U 59) +< 26346,16068 0 161084 -- MSL 29 (19U 60) += 26346,10566 0 161085 -- MSL 30 (19U 61) +> 26346,16068 0 161086 -- MSL 31 (19U 62) +? 13662,18315 2 161087 -- MSL 32 (19U 63) +at 26352,21030,2745 2 161088 -- MSL 33 (19U 64) @ " -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 +A 19515,18135 2 161089 -- MSL 34 (19U 65) +B 16587,18135 2 161090 -- MSL 35 (19U 66) +C 18540,18495,360 2 161091 -- MSL 36 (19U 67) +D 19029,18135 2 161092 -- MSL 37 (19U 68) +E 15126,18135 2 161093 -- MSL 38 (19U 69) +F 14637,18135 2 161094 -- MSL 39 (19U 70) +G 19515,18495,360 2 161095 -- MSL 40 (19U 71) +H 19029,18135 2 161096 -- MSL 41 (19U 72) +I 7317,18135 2 161097 -- MSL 42 (19U 73) +J 14637,18135,360 2 161098 -- MSL 43 (19U 74) +K 17565,18135 2 161099 -- MSL 44 (19U 75) +L 14148,18135 2 161100 -- MSL 45 (19U 76) +M 23907,18135 2 161101 -- MSL 46 (19U 77) +N 19029,18135 2 161102 -- MSL 47 (19U 78) +O 20004,18495,360 2 161103 -- MSL 48 (19U 79) +P 15612,18135 2 161104 -- MSL 49 (19U 80) +Q 20490,18495,360 2 161105 -- MSL 50 (19U 81) +R 17076,18135 2 161106 -- MSL 51 (19U 82) +S 17076,18495,360 2 161107 -- MSL 52 (19U 83) +T 16587,18135 2 161108 -- MSL 53 (19U 84) +U 19029,18135,360 2 161109 -- MSL 54 (19U 85) +V 19029,18135 2 161110 -- MSL 55 (19U 86) +W 26346,18135 2 161111 -- MSL 56 (19U 87) +X 19029,18135 2 161112 -- MSL 57 (19U 88) +Y 18051,18135 2 161113 -- MSL 58 (19U 89) +Z 16101,18135 2 161114 -- MSL 59 (19U 90) +lB 8781,18135,2370 2 161115 -- MSL 60 (19U 91) [ " -rs 8781,18135,1380 2 3676 +rs 8781,18135,1380 2 161116 -- MSL 61 (19U 92) \ " -rB 8781,18135,2370 2 3677 +rB 8781,18135,2370 2 161117 -- MSL 62 (19U 93) ] " -ha 13173,19758 2 51875 -_ 13173,0,6588 1 3679 -oq 8781,18135 2 51808 +ha 13173,19758 2 161118 -- MSL 63 (19U 94) +_ 13173,0,6588 1 161119 -- MSL 64 (19U 95) +oq 8781,18135 2 161169 -- MSL 66 (19U 145) ` " -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 -`A 19515,23085 2 3776 -^A 19515,23085 2 3778 -`E 15126,23085 2 3784 -^E 15126,23085 2 3786 -:E 15126,22755 2 3787 -^I 7317,23085 2 3790 -:I 7317,22755 2 3791 -aa 16587,18075 2 3764 -ga 16587,18075 2 3680 -a^ 16587,17985 2 3678 +a 14148,12990,360 0 161121 -- MSL 67 (19U 97) +b 15126,18165,360 2 161122 -- MSL 68 (19U 98) +c 14148,12990,360 0 161123 -- MSL 69 (19U 99) +d 15126,18165,360 2 161124 -- MSL 70 (19U 100) +e 14148,12990,360 0 161125 -- MSL 71 (19U 101) +f 9759,18315 2 161126 -- MSL 72 (19U 102) +g 15126,12990,5088 1 161127 -- MSL 73 (19U 103) +h 15126,18165 2 161128 -- MSL 74 (19U 104) +i 6342,18165 2 161129 -- MSL 75 (19U 105) +j 6342,18165,4995 3 161130 -- MSL 76 (19U 106) +k 14148,18165 2 161131 -- MSL 77 (19U 107) +l 6342,18165 2 161132 -- MSL 78 (19U 108) +m 22932,12990 0 161133 -- MSL 79 (19U 109) +n 15126,12990 0 161134 -- MSL 80 (19U 110) +o 15126,12990,360 0 161135 -- MSL 81 (19U 111) +p 15126,12990,4680 1 161136 -- MSL 82 (19U 112) +q 15126,12990,4680 1 161137 -- MSL 83 (19U 113) +r 9270,12990 0 161138 -- MSL 84 (19U 114) +s 13173,12990,360 0 161139 -- MSL 85 (19U 115) +t 9759,15963,360 0 161140 -- MSL 86 (19U 116) +u 15126,12630,360 0 161141 -- MSL 87 (19U 117) +v 14637,12630 0 161142 -- MSL 88 (19U 118) +w 22932,12630 0 161143 -- MSL 89 (19U 119) +x 14637,12630 0 161144 -- MSL 90 (19U 120) +y 14637,12630,4680 1 161145 -- MSL 91 (19U 121) +z 12684,12630 0 161146 -- MSL 92 (19U 122) +{ 11712,20130,6075 3 161147 -- MSL 93 (19U 123) +lC " +| 13173,19758,6588 3 161148 -- MSL 94 (19U 124) +ba " +} 11712,20130,6075 3 161149 -- MSL 95 (19U 125) +rC " +ti 26346,8952 0 161150 -- MSL 96 (19U 126) +`A 19515,23085 2 161216 -- MSL 99 (19U 192) +^A 19515,23085 2 161218 -- MSL 100 (19U 194) +`E 15126,23085 2 161224 -- MSL 101 (19U 200) +^E 15126,23085 2 161226 -- MSL 102 (19U 202) +:E 15126,22755 2 161227 -- MSL 103 (19U 203) +^I 7317,23085 2 161230 -- MSL 104 (19U 206) +:I 7317,22755 2 161231 -- MSL 105 (19U 207) +aa 16587,18075 2 161204 -- MSL 106 (19U 180) +ga 16587,18075 2 161120 -- MSL 107 (19U 96) +a^ 16587,17985 2 161160 -- MSL 108 (19U 136) ^ " -ad 16587,17775 2 3752 -a~ 16587,18294 2 3710 -~ " -`U 19029,23085,360 2 3801 -^U 19029,23085,360 2 3803 -'Y 18051,23085 2 3805 -'y 14637,18075,4680 3 3837 -de 16587,18465 2 3760 -,C 18540,18495,5025 3 3783 -,c 14148,12990,5025 1 3815 -~N 19029,22959 2 3793 -~n 15126,18294 2 3825 -r! 8781,12645,5520 1 3745 -r? 13662,12516,5799 1 3775 -Cs 16587,15684 0 3748 -Po 16587,18465 2 3747 -Ye 16587,18105 2 3749 -sc 16587,18495,360 2 3751 -Fn 16587,18315 2 51871 -ct 16587,18825,720 2 3746 -^a 14148,17985,360 2 3810 -^e 14148,17985,360 2 3818 -^o 15126,17985,360 2 3828 -^u 15126,17985,360 2 3835 -'a 14148,18075,360 2 3809 -'e 14148,18075,360 2 3817 -'o 15126,18075,360 2 3827 -'u 15126,18075,360 2 3834 -`a 14148,18075,360 2 3808 -`e 14148,18075,360 2 3816 -`o 15126,18075,360 2 3826 -`u 15126,18075,360 2 3833 -:a 14148,17775,360 2 3812 -:e 14148,17775,360 2 3819 -:o 15126,17775,360 2 3830 -:u 15126,17775,360 2 3836 -oA 19515,25923 2 3781 -^i 6342,17985 2 3822 -/O 20004,18495,375 2 3800 -AE 25857,18165 2 3782 -oa 14148,20412,360 2 3813 -'i 6342,18075 2 3821 -/o 15126,13008,408 0 3832 -ae 22443,12990,360 0 3814 -:A 19515,22755 2 3780 -`i 6342,18075 2 3820 -:O 20004,22755,360 2 3798 -:U 19029,22755,360 2 3804 -'E 15126,23085 2 3785 -:i 6342,17775 2 3823 -ss 16101,18165,360 2 3807 -^O 20004,23085,360 2 3796 -'A 19515,23085 2 3777 -~A 19515,22959 2 3779 -~a 14148,18294,360 2 3811 --D 19029,18135 2 3792 -Sd 15126,18315,360 2 3824 -'I 7317,23085 2 3789 -`I 7317,23085 2 3788 -'O 20004,23085,360 2 3795 -`O 20004,23085,360 2 3794 -~O 20004,22959,360 2 3797 -~o 15126,18294,360 2 3829 -vS 17076,23085,360 2 51795 -vs 13173,17985,360 2 51827 -'U 19029,23085,360 2 3802 -:Y 18051,22755 2 51801 -:y 14637,17775,4680 3 3839 -TP 15612,18135 2 3806 -Tp 15126,18165,4680 3 3838 -mc 14637,12630,4350 0 3765 -ps 16587,19635,4200 2 3766 -34 26346,18465,1020 2 3774 -\- 26346,8100 0 51757 -14 26346,18465,1020 2 3772 -12 26346,18465,1020 2 3773 -Of 10734,18465 2 3754 -Om 10734,18465 2 3770 -Fo 14637,11085 0 3755 -Fc 14637,11085 0 3771 -t+- 26346,14985 0 3761 -bb 13173,19083,5916 3 3750 -co 13173,19635 2 3753 -tno 26346,11607 0 3756 -rg 13173,19635 2 3758 -S2 10245,18465 2 3762 -S3 10245,18465 2 3763 -ac 16587,0,5025 1 3768 -S1 10245,18345 2 3769 -tmu 26346,14010 0 3799 -tdi 26346,12315 0 3831 -pc 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 -a- 16587,16845 2 3759 -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 +ad 16587,17775 2 161192 -- MSL 109 (19U 168) +~ 16587,18294 2 161176 -- MSL 110 (19U 152) +a~ " +`U 19029,23085,360 2 161241 -- MSL 111 (19U 217) +^U 19029,23085,360 2 161243 -- MSL 112 (19U 219) +u00AF 13173,21105 2 161199 -- MSL 113 (19U 175) +'Y 18051,23085 2 161245 -- MSL 114 (19U 221) +'y 14637,18075,4680 3 161277 -- MSL 115 (19U 253) +de 16587,18465 2 161200 -- MSL 116 (19U 176) +,C 18540,18495,5025 3 161223 -- MSL 117 (19U 199) +,c 14148,12990,5025 1 161255 -- MSL 118 (19U 231) +~N 19029,22959 2 161233 -- MSL 119 (19U 209) +~n 15126,18294 2 161265 -- MSL 120 (19U 241) +r! 8781,12645,5520 1 161185 -- MSL 121 (19U 161) +r? 13662,12516,5799 1 161215 -- MSL 122 (19U 191) +Cs 16587,15684 0 161188 -- MSL 123 (19U 164) +Po 16587,18465 2 161187 -- MSL 124 (19U 163) +Ye 16587,18105 2 161189 -- MSL 125 (19U 165) +sc 16587,18495,360 2 161191 -- MSL 126 (19U 167) +Fn 16587,18315 2 161155 -- MSL 127 (19U 131) +ct 16587,18825,720 2 161186 -- MSL 128 (19U 162) +^a 14148,17985,360 2 161250 -- MSL 129 (19U 226) +^e 14148,17985,360 2 161258 -- MSL 130 (19U 234) +^o 15126,17985,360 2 161268 -- MSL 131 (19U 244) +^u 15126,17985,360 2 161275 -- MSL 132 (19U 251) +'a 14148,18075,360 2 161249 -- MSL 133 (19U 225) +'e 14148,18075,360 2 161257 -- MSL 134 (19U 233) +'o 15126,18075,360 2 161267 -- MSL 135 (19U 243) +'u 15126,18075,360 2 161274 -- MSL 136 (19U 250) +`a 14148,18075,360 2 161248 -- MSL 137 (19U 224) +`e 14148,18075,360 2 161256 -- MSL 138 (19U 232) +`o 15126,18075,360 2 161266 -- MSL 139 (19U 242) +`u 15126,18075,360 2 161273 -- MSL 140 (19U 249) +:a 14148,17775,360 2 161252 -- MSL 141 (19U 228) +:e 14148,17775,360 2 161259 -- MSL 142 (19U 235) +:o 15126,17775,360 2 161270 -- MSL 143 (19U 246) +:u 15126,17775,360 2 161276 -- MSL 144 (19U 252) +oA 19515,25923 2 161221 -- MSL 145 (19U 197) +^i 6342,17985 2 161262 -- MSL 146 (19U 238) +/O 20004,18495,375 2 161240 -- MSL 147 (19U 216) +AE 25857,18165 2 161222 -- MSL 148 (19U 198) +oa 14148,20412,360 2 161253 -- MSL 149 (19U 229) +'i 6342,18075 2 161261 -- MSL 150 (19U 237) +/o 15126,13008,408 0 161272 -- MSL 151 (19U 248) +ae 22443,12990,360 0 161254 -- MSL 152 (19U 230) +:A 19515,22755 2 161220 -- MSL 153 (19U 196) +`i 6342,18075 2 161260 -- MSL 154 (19U 236) +:O 20004,22755,360 2 161238 -- MSL 155 (19U 214) +:U 19029,22755,360 2 161244 -- MSL 156 (19U 220) +'E 15126,23085 2 161225 -- MSL 157 (19U 201) +:i 6342,17775 2 161263 -- MSL 158 (19U 239) +ss 16101,18165,360 2 161247 -- MSL 159 (19U 223) +^O 20004,23085,360 2 161236 -- MSL 160 (19U 212) +'A 19515,23085 2 161217 -- MSL 161 (19U 193) +~A 19515,22959 2 161219 -- MSL 162 (19U 195) +~a 14148,18294,360 2 161251 -- MSL 163 (19U 227) +-D 19029,18135 2 161232 -- MSL 164 (19U 208) +Sd 15126,18315,360 2 161264 -- MSL 165 (19U 240) +'I 7317,23085 2 161229 -- MSL 166 (19U 205) +`I 7317,23085 2 161228 -- MSL 167 (19U 204) +'O 20004,23085,360 2 161235 -- MSL 168 (19U 211) +`O 20004,23085,360 2 161234 -- MSL 169 (19U 210) +~O 20004,22959,360 2 161237 -- MSL 170 (19U 213) +~o 15126,18294,360 2 161269 -- MSL 171 (19U 245) +vS 17076,23085,360 2 161162 -- MSL 172 (19U 138) +vs 13173,17985,360 2 161178 -- MSL 173 (19U 154) +'U 19029,23085,360 2 161242 -- MSL 174 (19U 218) +:Y 18051,22755 2 161183 -- MSL 175 (19U 159) +:y 14637,17775,4680 3 161279 -- MSL 176 (19U 255) +TP 15612,18135 2 161246 -- MSL 177 (19U 222) +Tp 15126,18165,4680 3 161278 -- MSL 178 (19U 254) +mc 14637,12630,4350 0 161205 -- MSL 180 (19U 181) +ps 16587,19635,4200 2 161206 -- MSL 181 (19U 182) +34 26346,18465,1020 2 161214 -- MSL 182 (19U 190) +\- 26346,8100 0 60096 -- MSL 183 ( 7J 192) +14 26346,18465,1020 2 161212 -- MSL 184 (19U 188) +12 26346,18465,1020 2 161213 -- MSL 185 (19U 189) +Of 10734,18465 2 161194 -- MSL 186 (19U 170) +Om 10734,18465 2 161210 -- MSL 187 (19U 186) +Fo 14637,11085 0 161195 -- MSL 188 (19U 171) +Fc 14637,11085 0 161211 -- MSL 190 (19U 187) +t+- 26346,14985 0 161201 -- MSL 191 (19U 177) +bb 13173,19083,5916 3 161190 -- MSL 192 (19U 166) +co 13173,19635 2 161193 -- MSL 193 (19U 169) +tno 26346,11607 0 161196 -- MSL 194 (19U 172) +u00AD 8781,7755 0 161197 -- MSL 195 (19U 173) +rg 13173,19635 2 161198 -- MSL 196 (19U 174) +S2 10245,18465 2 161202 -- MSL 197 (19U 178) +S3 10245,18465 2 161203 -- MSL 198 (19U 179) +ac 16587,0,5025 1 161208 -- MSL 199 (19U 184) +S1 10245,18345 2 161209 -- MSL 200 (19U 185) +tmu 26346,14010 0 161239 -- MSL 201 (19U 215) +tdi 26346,12315 0 161271 -- MSL 202 (19U 247) +u203C 13917,18165 2 87315 -- MSL 221 (10U 19) +u20A7 25371,18135,360 2 60121 -- MSL 232 ( 7J 217) +pc 8781,10509 0 161207 -- MSL 302 (19U 183) +u013F 14148,18135 2 51943 -- MSL 306 ( 6J 231) +u0140 9570,18165 2 51959 -- MSL 307 ( 6J 247) +u2113 16587,18150,297 2 60122 -- MSL 308 ( 7J 218) +u0149 18054,18135 2 51951 -- MSL 309 ( 6J 239) +fm 8781,18105 2 60101 -- MSL 310 ( 7J 197) +sd 16587,18105 2 60102 -- MSL 311 ( 7J 198) +dg 16587,18135 2 161158 -- MSL 312 (19U 134) +tm 16128,17850 2 161177 -- MSL 313 (19U 153) +u2017 13173,0,6588 1 60095 -- MSL 314 ( 7J 191) +ah 16587,17985 2 75169 -- MSL 315 ( 9E 161) +ao 16587,20412 2 60152 -- MSL 316 ( 7J 248) +f/ 1464,18465,1020 2 60109 -- MSL 324 ( 7J 205) +em 26346,7425 0 161175 -- MSL 325 (19U 151) +en 16587,7425 0 161174 -- MSL 326 (19U 150) +dd 16587,18135 2 161159 -- MSL 327 (19U 135) +.i 6342,12630 0 46333 -- MSL 328 ( 5T 253) +aq 8781,18237 2 161063 -- MSL 329 (19U 39) +bu 13173,14226 0 161173 -- MSL 331 (19U 149) +u207F 10245,18465 2 87548 -- MSL 332 (10U 252) +u0111 15126,18165,360 2 75248 -- MSL 342 ( 9E 240) +u0041_0306 19515,23160 2 75203 -- MSL 400 ( 9E 195) +u0061_0306 14148,17985,360 2 75235 -- MSL 401 ( 9E 227) +u0041_0328 19515,18135,4530 2 75173 -- MSL 404 ( 9E 165) +u0061_0328 14148,12990,4704 1 75193 -- MSL 405 ( 9E 185) +'C 18540,23085,360 2 75206 -- MSL 406 ( 9E 198) +'c 14148,18075,360 2 75238 -- MSL 407 ( 9E 230) +u0041_030C 18540,23085,360 2 75208 -- MSL 410 ( 9E 200) +u0061_030C 14148,17985,360 2 75240 -- MSL 411 ( 9E 232) +u0044_030C 19029,23085 2 75215 -- MSL 414 ( 9E 207) +u0064_030C 17565,19650,360 2 75247 -- MSL 415 ( 9E 239) +u0045_030C 15126,23085 2 75212 -- MSL 416 ( 9E 204) +u0065_030C 14148,17985,360 2 75244 -- MSL 417 ( 9E 236) +u0045_0328 15126,18135,4530 2 75210 -- MSL 422 ( 9E 202) +u0065_0328 14148,12990,4704 1 75242 -- MSL 423 ( 9E 234) +u004C_0301 14148,23085 2 75205 -- MSL 440 ( 9E 197) +u006C_0301 6342,23130 2 75237 -- MSL 441 ( 9E 229) +u004C_030C 14148,19650 2 75196 -- MSL 442 ( 9E 188) +u006C_030C 8781,19650 2 75198 -- MSL 443 ( 9E 190) +u004E_0301 19029,23085 2 75217 -- MSL 446 ( 9E 209) +u006E_0301 15126,18075 2 75249 -- MSL 447 ( 9E 241) +u004E_030C 19029,23085 2 75218 -- MSL 448 ( 9E 210) +u006E_030C 15126,17985 2 75250 -- MSL 449 ( 9E 242) +u004F_030B 20004,23085,360 2 75221 -- MSL 452 ( 9E 213) +u006F_030B 15126,18075,360 2 75253 -- MSL 453 ( 9E 245) +u0052_0301 17076,23085 2 75200 -- MSL 456 ( 9E 192) +u0072_0301 9270,18075 2 75232 -- MSL 457 ( 9E 224) +u0052_030C 17076,23085 2 75224 -- MSL 458 ( 9E 216) +u0072_030C 9270,17985 2 75256 -- MSL 459 ( 9E 248) +u0053_0301 17076,23085,360 2 75148 -- MSL 462 ( 9E 140) +u0073_0301 13173,18075,360 2 75164 -- MSL 463 ( 9E 156) +u0054_030C 16587,23085 2 75149 -- MSL 466 ( 9E 141) +u0074_030C 10734,19650,360 2 75165 -- MSL 467 ( 9E 157) +u0054_0327 16587,18135,5025 3 75230 -- MSL 468 ( 9E 222) +u0074_0327 9759,15963,5025 1 75262 -- MSL 469 ( 9E 254) +u0055_030B 19029,23085,360 2 75227 -- MSL 474 ( 9E 219) +u0075_030B 15126,18075,360 2 75259 -- MSL 475 ( 9E 251) +u0055_030A 19029,25173,360 2 75225 -- MSL 476 ( 9E 217) +u0075_030A 15126,20412,360 2 75257 -- MSL 477 ( 9E 249) +u005A_0301 16101,23085 2 75151 -- MSL 482 ( 9E 143) +u007A_0301 12684,18075 2 75167 -- MSL 483 ( 9E 159) +u005A_0307 16101,22755 2 75183 -- MSL 484 ( 9E 175) +u007A_0307 12684,17775 2 75199 -- MSL 485 ( 9E 191) +u2070 10245,18465 2 51753 -- MSL 1000 ( 6J 41) +u2074 10245,18345 2 51748 -- MSL 1001 ( 6J 36) +u2075 10245,18345 2 51749 -- MSL 1002 ( 6J 37) +u2076 10245,18465 2 51806 -- MSL 1003 ( 6J 94) +u2077 10245,18345 2 51750 -- MSL 1004 ( 6J 38) +u2078 10245,18465 2 51754 -- MSL 1005 ( 6J 42) +u2079 10245,18465 2 51752 -- MSL 1006 ( 6J 40) +lq 13173,18135 2 161171 -- MSL 1017 (19U 147) +rq 13173,18135 2 161172 -- MSL 1018 (19U 148) +Bq 13173,3015,3060 0 161156 -- MSL 1019 (19U 132) +u2003 26346,0 0 51821 -- MSL 1020 ( 6J 109) +u2002 16587,0 0 51822 -- MSL 1021 ( 6J 110) +u2009 8781,0 0 51828 -- MSL 1023 ( 6J 116) +u2026 26346,2745 0 161157 -- MSL 1028 (19U 133) +vz 12684,17985 2 75166 -- MSL 1031 ( 9E 158) +u2120 16128,18000 2 128299 -- MSL 1034 (15U 43) +u211E 20004,18315,4056 2 51794 -- MSL 1036 ( 6J 82) +fi 16101,18315 2 60077 -- MSL 1040 ( 7J 173) +fl 16101,18315 2 60078 -- MSL 1041 ( 7J 174) +ff 18051,18315 2 51883 -- MSL 1042 ( 6J 171) +Fi 24396,18315 2 51884 -- MSL 1043 ( 6J 172) +Fl 24396,18315 2 51885 -- MSL 1044 ( 6J 173) +ij 12684,18165,4995 3 60134 -- MSL 1047 ( 7J 230) +u2105 25374,18495,360 2 60072 -- MSL 1060 ( 7J 168) +u0047_0306 19515,23160,360 2 46288 -- MSL 1061 ( 5T 208) +u0067_0306 15126,17985,5088 3 46320 -- MSL 1062 ( 5T 240) +u0053_0327 17076,18495,5025 3 75178 -- MSL 1063 ( 9E 170) +u0073_0327 13173,12990,5025 1 75194 -- MSL 1064 ( 9E 186) +u0049_0307 7317,22755 2 46301 -- MSL 1065 ( 5T 221) +bq 8781,3015,3060 0 161154 -- MSL 1067 (19U 130) +%0 26346,18720,840 2 161161 -- MSL 1068 (19U 137) +a- 16587,16845 2 60154 -- MSL 1084 ( 7J 250) +ab 16587,17985 2 75170 -- MSL 1086 ( 9E 162) +a. 16587,17775 2 75263 -- MSL 1088 ( 9E 255) +oe 23907,12990,360 0 161180 -- MSL 1090 (19U 156) +OE 26346,18270,135 2 161164 -- MSL 1091 (19U 140) +fo 9759,11085 0 161163 -- MSL 1092 (19U 139) +fc 9759,11085 0 161179 -- MSL 1093 (19U 155) +sq 19029,15624 0 60091 -- MSL 1094 ( 7J 187) +/L 14148,18135 2 75171 -- MSL 1095 ( 9E 163) +/l 6342,18165 2 75187 -- MSL 1096 ( 9E 179) +a" 16587,18075 2 75197 -- MSL 1097 ( 9E 189) +ho 16587,1425,4704 1 75186 -- MSL 1098 ( 9E 178) +vZ 16101,23085 2 75150 -- MSL 1106 ( 9E 142) +IJ 21354,18135,360 2 60135 -- MSL 1107 ( 7J 231) diff -ruN groff-1.19/font/devlj4/WINGDINGS groff-1.19.1/font/devlj4/WINGDINGS --- groff-1.19/font/devlj4/WINGDINGS Thu Jan 1 01:00:00 1970 +++ groff-1.19.1/font/devlj4/WINGDINGS Wed Feb 18 10:01:18 2004 @@ -0,0 +1,230 @@ +# Wingdings +name WINGDINGS +spacewidth 26458 +pcltypeface 31402 +pclproportional 1 +pclweight 0 +pclstyle 0 +charset +u270F 27259,19598,478 2 4746273 -- HP PUA U+F021 (579L 33) +u2702 30282,19120 2 4746274 -- HP PUA U+F022 (579L 34) +u2701 34429,20451 2 4746275 -- HP PUA U+F023 (579L 35) +--- 35553,13255 0 4746276 -- HP PUA U+F024 (579L 36) +--- 23642,19598,478 2 4746277 -- HP PUA U+F025 (579L 37) +--- 32194,20399,323 2 4746278 -- HP PUA U+F026 (579L 38) +--- 12118,19521,478 2 4746279 -- HP PUA U+F027 (579L 39) +u260E 28680,19598 2 4746280 -- HP PUA U+F028 (579L 40) +u2706 23590,19120 2 4746281 -- HP PUA U+F029 (579L 41) +u2709 29959,19120 2 4746282 -- HP PUA U+F02A (579L 42) +--- 29959,19120 2 4746283 -- HP PUA U+F02B (579L 43) +--- 30993,19120 2 4746284 -- HP PUA U+F02C (579L 44) +--- 30993,20942 2 4746285 -- HP PUA U+F02D (579L 45) +--- 38124,20942 2 4746286 -- HP PUA U+F02E (579L 46) +--- 38189,19069 2 4746287 -- HP PUA U+F02F (579L 47) +--- 29003,19120 2 4746288 -- HP PUA U+F030 (579L 48) +--- 35540,19120 2 4746289 -- HP PUA U+F031 (579L 49) +--- 18487,19120 2 4746290 -- HP PUA U+F032 (579L 50) +--- 18487,19120 2 4746291 -- HP PUA U+F033 (579L 51) +--- 23590,19120,5103 3 4746292 -- HP PUA U+F034 (579L 52) +--- 14663,19120 2 4746293 -- HP PUA U+F035 (579L 53) +u231B 15929,19598,478 2 4746294 -- HP PUA U+F036 (579L 54) +u2328 28370,19598 2 4746295 -- HP PUA U+F037 (579L 55) +--- 25076,20877,478 2 4746296 -- HP PUA U+F038 (579L 56) +--- 28525,15787 0 4746297 -- HP PUA U+F039 (579L 57) +--- 24856,19120 2 4746298 -- HP PUA U+F03A (579L 58) +--- 23577,8927 0 4746299 -- HP PUA U+F03B (579L 59) +--- 23590,19120 2 4746300 -- HP PUA U+F03C (579L 60) +--- 23590,19120 2 4746301 -- HP PUA U+F03D (579L 61) +u2707 23577,19120 2 4746302 -- HP PUA U+F03E (579L 62) +u270D 24068,14159 0 4746303 -- HP PUA U+F03F (579L 63) +--- 24068,14159 0 4746304 -- HP PUA U+F040 (579L 64) +u270C 15542,20722,323 2 4746305 -- HP PUA U+F041 (579L 65) +--- 20981,20722,930 2 4746306 -- HP PUA U+F042 (579L 66) +--- 17841,19598 2 4746307 -- HP PUA U+F043 (579L 67) +--- 17841,16033,478 0 4746308 -- HP PUA U+F044 (579L 68) +u261C 24921,15477 0 4746309 -- HP PUA U+F045 (579L 69) +u261E 24921,15477 0 4746310 -- HP PUA U+F046 (579L 70) +u261D 14521,19973,478 2 4746311 -- HP PUA U+F047 (579L 71) +u261F 14521,19973,478 2 4746312 -- HP PUA U+F048 (579L 72) +--- 23590,20722,323 2 4746313 -- HP PUA U+F049 (579L 73) +u263A 22311,19598,478 2 4746314 -- HP PUA U+F04A (579L 74) +--- 22311,19598,478 2 4746315 -- HP PUA U+F04B (579L 75) +u2639 22311,19598,478 2 4746316 -- HP PUA U+F04C (579L 76) +--- 29391,19598,478 2 4746317 -- HP PUA U+F04D (579L 77) +u2620 17467,19598,478 2 4746318 -- HP PUA U+F04E (579L 78) +--- 22466,20399,2713 2 4746319 -- HP PUA U+F04F (579L 79) +--- 28810,21523 2 4746320 -- HP PUA U+F050 (579L 80) +u2708 23500,19120 2 4746321 -- HP PUA U+F051 (579L 81) +u263C 23293,19120 2 4746322 -- HP PUA U+F052 (579L 82) +--- 17208,19120 2 4746323 -- HP PUA U+F053 (579L 83) +u2744 21510,19120 2 4746324 -- HP PUA U+F054 (579L 84) +--- 19753,19120 2 4746325 -- HP PUA U+F055 (579L 85) +u271E 19753,19120 2 4746326 -- HP PUA U+F056 (579L 86) +--- 19120,19120 2 4746327 -- HP PUA U+F057 (579L 87) +u2720 18345,16498 0 4746328 -- HP PUA U+F058 (579L 88) +u2721 21019,19120 2 4746329 -- HP PUA U+F059 (579L 89) +u262A 23422,19120 2 4746330 -- HP PUA U+F05A (579L 90) +u262F 23590,19120 2 4746331 -- HP PUA U+F05B (579L 91) +u0950 23694,19598,491 2 4746332 -- HP PUA U+F05C (579L 92) +u2638 23577,19120 2 4746333 -- HP PUA U+F05D (579L 93) +u2648 30592,19611,5103 3 4746334 -- HP PUA U+F05E (579L 94) +u2649 27892,19120,5413 3 4746335 -- HP PUA U+F05F (579L 95) +u264A 25502,20309,1279 2 4746336 -- HP PUA U+F060 (579L 96) +u264B 28848,19133 2 4746337 -- HP PUA U+F061 (579L 97) +u264C 24895,20722,5413 3 4746338 -- HP PUA U+F062 (579L 98) +u264D 24688,19469,5103 3 4746339 -- HP PUA U+F063 (579L 99) +u264E 25024,19120 2 4746340 -- HP PUA U+F064 (579L 100) +u264F 27117,19495,5361 3 4746341 -- HP PUA U+F065 (579L 101) +u2650 24572,19598,478 2 4746342 -- HP PUA U+F066 (579L 102) +u2651 29003,19611,3824 2 4746343 -- HP PUA U+F067 (579L 103) +u2652 28177,17531 0 4746344 -- HP PUA U+F068 (579L 104) +u2653 20632,19598,478 2 4746345 -- HP PUA U+F069 (579L 105) +u0026 27776,15167,2713 0 4746346 -- HP PUA U+F06A (579L 106) +u0026 33628,19598,4147 2 4746347 -- HP PUA U+F06B (579L 107) +u25CF 19753,17208 0 4746348 -- HP PUA U+F06C (579L 108) +u274D 25205,19120 2 4746349 -- HP PUA U+F06D (579L 109) +u25A0 19753,17208 0 4746350 -- HP PUA U+F06E (579L 110) +u25A1 23577,19120 2 4746351 -- HP PUA U+F06F (579L 111) +--- 23577,19120 2 4746352 -- HP PUA U+F070 (579L 112) +u2751 23577,19120 2 4746353 -- HP PUA U+F071 (579L 113) +u2752 23577,19120 2 4746354 -- HP PUA U+F072 (579L 114) +--- 12105,14973 0 4746355 -- HP PUA U+F073 (579L 115) +u2666 19753,20386,1253 2 4746356 -- HP PUA U+F074 (579L 116) +u25C6 26097,20386,1253 2 4746357 -- HP PUA U+F075 (579L 117) +u2756 23577,19120 2 4746358 -- HP PUA U+F076 (579L 118) +--- 15283,14973 0 4746359 -- HP PUA U+F077 (579L 119) +u2327 28047,19120 2 4746360 -- HP PUA U+F078 (579L 120) +u2353 28047,19120 2 4746361 -- HP PUA U+F079 (579L 121) +u2318 23577,19120 2 4746362 -- HP PUA U+F07A (579L 122) +u2740 23590,18746 0 4746363 -- HP PUA U+F07B (579L 123) +u273F 23590,19017 2 4746364 -- HP PUA U+F07C (579L 124) +u275D 14030,20399 2 4746365 -- HP PUA U+F07D (579L 125) +u275E 14030,20399 2 4746366 -- HP PUA U+F07E (579L 126) +u24EA 23590,19120 2 4746368 -- HP PUA U+F080 (579L 128) +u2460 23590,19120 2 4746369 -- HP PUA U+F081 (579L 129) +u2461 23590,19120 2 4746370 -- HP PUA U+F082 (579L 130) +u2462 23590,19120 2 4746371 -- HP PUA U+F083 (579L 131) +u2463 23590,19120 2 4746372 -- HP PUA U+F084 (579L 132) +u2464 23590,19120 2 4746373 -- HP PUA U+F085 (579L 133) +u2465 23590,19120 2 4746374 -- HP PUA U+F086 (579L 134) +u2466 23590,19120 2 4746375 -- HP PUA U+F087 (579L 135) +u2467 23590,19120 2 4746376 -- HP PUA U+F088 (579L 136) +u2468 23590,19120 2 4746377 -- HP PUA U+F089 (579L 137) +u2469 23590,19120 2 4746378 -- HP PUA U+F08A (579L 138) +u24FF 23590,19120 2 4746379 -- HP PUA U+F08B (579L 139) +u2776 23590,19120 2 4746380 -- HP PUA U+F08C (579L 140) +u2777 23590,19120 2 4746381 -- HP PUA U+F08D (579L 141) +u2778 23590,19120 2 4746382 -- HP PUA U+F08E (579L 142) +u2779 23590,19120 2 4746383 -- HP PUA U+F08F (579L 143) +u277A 23590,19120 2 4746384 -- HP PUA U+F090 (579L 144) +u277B 23590,19120 2 4746385 -- HP PUA U+F091 (579L 145) +u277C 23590,19120 2 4746386 -- HP PUA U+F092 (579L 146) +u277D 23590,19120 2 4746387 -- HP PUA U+F093 (579L 147) +u277E 23590,19120 2 4746388 -- HP PUA U+F094 (579L 148) +u277F 23590,19120 2 4746389 -- HP PUA U+F095 (579L 149) +--- 26458,14030 0 4746390 -- HP PUA U+F096 (579L 150) +--- 26458,14030 0 4746391 -- HP PUA U+F097 (579L 151) +--- 26458,14030 0 4746392 -- HP PUA U+F098 (579L 152) +--- 26458,14030 0 4746393 -- HP PUA U+F099 (579L 153) +--- 26458,14030 0 4746394 -- HP PUA U+F09A (579L 154) +--- 26458,14030 0 4746395 -- HP PUA U+F09B (579L 155) +--- 26458,14030 0 4746396 -- HP PUA U+F09C (579L 156) +--- 26458,14030 0 4746397 -- HP PUA U+F09D (579L 157) +u00B7 8281,11472 0 4746398 -- HP PUA U+F09E (579L 158) +u2022 12105,13384 0 4746399 -- HP PUA U+F09F (579L 159) +u25AA 8281,11472 0 4746400 -- HP PUA U+F0A0 (579L 160) +u25CB 23577,19120 2 4746401 -- HP PUA U+F0A1 (579L 161) +--- 23577,19120 2 4746402 -- HP PUA U+F0A2 (579L 162) +--- 23577,19120 2 4746403 -- HP PUA U+F0A3 (579L 163) +u25C9 23577,19120 2 4746404 -- HP PUA U+F0A4 (579L 164) +u25CE 23577,19120 2 4746405 -- HP PUA U+F0A5 (579L 165) +--- 25205,19120 2 4746406 -- HP PUA U+F0A6 (579L 166) +u25AA 12105,13384 0 4746407 -- HP PUA U+F0A7 (579L 167) +u25FB 23577,19120 2 4746408 -- HP PUA U+F0A8 (579L 168) +--- 23577,19120 2 4746409 -- HP PUA U+F0A9 (579L 169) +u2726 23577,19120 2 4746410 -- HP PUA U+F0AA (579L 170) +u2605 23577,19120 2 4746411 -- HP PUA U+F0AB (579L 171) +u2736 23577,19120 2 4746412 -- HP PUA U+F0AC (579L 172) +u2734 23577,19120 2 4746413 -- HP PUA U+F0AD (579L 173) +u2739 23577,19120 2 4746414 -- HP PUA U+F0AE (579L 174) +u2735 23577,19120 2 4746415 -- HP PUA U+F0AF (579L 175) +--- 23577,19120 2 4746416 -- HP PUA U+F0B0 (579L 176) +u2316 23577,19120 2 4746417 -- HP PUA U+F0B1 (579L 177) +u2727 23577,19120 2 4746418 -- HP PUA U+F0B2 (579L 178) +u2311 23577,16769 0 4746419 -- HP PUA U+F0B3 (579L 179) +--- 23577,19120 2 4746420 -- HP PUA U+F0B4 (579L 180) +u272A 23577,19120 2 4746421 -- HP PUA U+F0B5 (579L 181) +u2730 23577,19120 2 4746422 -- HP PUA U+F0B6 (579L 182) +--- 23577,19120 2 4746423 -- HP PUA U+F0B7 (579L 183) +--- 23577,19120 2 4746424 -- HP PUA U+F0B8 (579L 184) +--- 23577,19120 2 4746425 -- HP PUA U+F0B9 (579L 185) +--- 23577,19120 2 4746426 -- HP PUA U+F0BA (579L 186) +--- 23577,19120 2 4746427 -- HP PUA U+F0BB (579L 187) +--- 23577,19120 2 4746428 -- HP PUA U+F0BC (579L 188) +--- 23577,19120 2 4746429 -- HP PUA U+F0BD (579L 189) +--- 23577,19120 2 4746430 -- HP PUA U+F0BE (579L 190) +--- 23577,19120 2 4746431 -- HP PUA U+F0BF (579L 191) +--- 23577,19120 2 4746432 -- HP PUA U+F0C0 (579L 192) +--- 23577,19120 2 4746433 -- HP PUA U+F0C1 (579L 193) +--- 23577,19120 2 4746434 -- HP PUA U+F0C2 (579L 194) +--- 23577,20877,2390 2 4746435 -- HP PUA U+F0C3 (579L 195) +--- 23577,20877,2390 2 4746436 -- HP PUA U+F0C4 (579L 196) +--- 23577,20877,2390 2 4746437 -- HP PUA U+F0C5 (579L 197) +--- 23577,20877,2390 2 4746438 -- HP PUA U+F0C6 (579L 198) +--- 27724,19120 2 4746439 -- HP PUA U+F0C7 (579L 199) +--- 27724,19120 2 4746440 -- HP PUA U+F0C8 (579L 200) +--- 27724,19120 2 4746441 -- HP PUA U+F0C9 (579L 201) +--- 27724,19120 2 4746442 -- HP PUA U+F0CA (579L 202) +--- 26458,20244,5103 3 4746443 -- HP PUA U+F0CB (579L 203) +--- 26458,20877,5581 3 4746444 -- HP PUA U+F0CC (579L 204) +--- 26458,20244,4935 3 4746445 -- HP PUA U+F0CD (579L 205) +--- 26458,20244,4935 3 4746446 -- HP PUA U+F0CE (579L 206) +--- 26458,20244,4935 3 4746447 -- HP PUA U+F0CF (579L 207) +--- 26458,20244,4935 3 4746448 -- HP PUA U+F0D0 (579L 208) +--- 26458,20244,4948 3 4746449 -- HP PUA U+F0D1 (579L 209) +--- 26458,20244,4935 3 4746450 -- HP PUA U+F0D2 (579L 210) +--- 26458,20244,4935 3 4746451 -- HP PUA U+F0D3 (579L 211) +--- 26458,20257,4935 3 4746452 -- HP PUA U+F0D4 (579L 212) +u232B 33150,19120 2 4746453 -- HP PUA U+F0D5 (579L 213) +u2326 33150,19120 2 4746454 -- HP PUA U+F0D6 (579L 214) +--- 21019,19120 2 4746455 -- HP PUA U+F0D7 (579L 215) +u27A2 21019,19120 2 4746456 -- HP PUA U+F0D8 (579L 216) +--- 23577,19120 2 4746457 -- HP PUA U+F0D9 (579L 217) +--- 23577,16562 0 4746458 -- HP PUA U+F0DA (579L 218) +--- 23577,19120 2 4746459 -- HP PUA U+F0DB (579L 219) +u27B2 23577,19120 2 4746460 -- HP PUA U+F0DC (579L 220) +--- 23577,19120 2 4746461 -- HP PUA U+F0DD (579L 221) +--- 23577,18578 0 4746462 -- HP PUA U+F0DE (579L 222) +--- 25916,19120 2 4746463 -- HP PUA U+F0DF (579L 223) +--- 25916,19120 2 4746464 -- HP PUA U+F0E0 (579L 224) +--- 23577,19120,2338 2 4746465 -- HP PUA U+F0E1 (579L 225) +--- 23577,21459 2 4746466 -- HP PUA U+F0E2 (579L 226) +--- 20528,17596 0 4746467 -- HP PUA U+F0E3 (579L 227) +--- 20528,17596 0 4746468 -- HP PUA U+F0E4 (579L 228) +--- 20528,17596 0 4746469 -- HP PUA U+F0E5 (579L 229) +--- 20528,17596 0 4746470 -- HP PUA U+F0E6 (579L 230) +--- 28241,19120 2 4746471 -- HP PUA U+F0E7 (579L 231) +u2794 28241,19120 2 4746472 -- HP PUA U+F0E8 (579L 232) +--- 23577,19120,4664 3 4746473 -- HP PUA U+F0E9 (579L 233) +--- 23577,23784 2 4746474 -- HP PUA U+F0EA (579L 234) +--- 23086,18875 2 4746475 -- HP PUA U+F0EB (579L 235) +--- 23086,18875 2 4746476 -- HP PUA U+F0EC (579L 236) +--- 23086,18875 2 4746477 -- HP PUA U+F0ED (579L 237) +--- 23086,18875 2 4746478 -- HP PUA U+F0EE (579L 238) +u21E6 23577,17738 0 4746479 -- HP PUA U+F0EF (579L 239) +u21E8 23577,17738 0 4746480 -- HP PUA U+F0F0 (579L 240) +u21E7 21446,19120 2 4746481 -- HP PUA U+F0F1 (579L 241) +u21E9 21446,19120 2 4746482 -- HP PUA U+F0F2 (579L 242) +u2B04 28047,17738 0 4746483 -- HP PUA U+F0F3 (579L 243) +u21F3 21446,19120,4470 2 4746484 -- HP PUA U+F0F4 (579L 244) +u2B00 20683,19120 2 4746485 -- HP PUA U+F0F5 (579L 245) +u2B01 20683,19120 2 4746486 -- HP PUA U+F0F6 (579L 246) +u2B03 20683,16226 0 4746487 -- HP PUA U+F0F7 (579L 247) +u2B02 20683,16226 0 4746488 -- HP PUA U+F0F8 (579L 248) +u25AD 12751,13384 0 4746489 -- HP PUA U+F0F9 (579L 249) +u25AB 10193,13384 0 4746490 -- HP PUA U+F0FA (579L 250) +u2717 16808,15852 0 4746491 -- HP PUA U+F0FB (579L 251) +u2713 20787,20257 2 4746492 -- HP PUA U+F0FC (579L 252) +u2612 23590,19120 2 4746493 -- HP PUA U+F0FD (579L 253) +u2611 23590,20167 2 4746494 -- HP PUA U+F0FE (579L 254) +--- 27376,19844 2 4746495 -- HP PUA U+F0FF (579L 255) diff -ruN groff-1.19/font/devlj4/generate/Makefile groff-1.19.1/font/devlj4/generate/Makefile --- groff-1.19/font/devlj4/generate/Makefile Mon Mar 11 11:55:27 2002 +++ groff-1.19.1/font/devlj4/generate/Makefile Wed Feb 18 09:58:26 2004 @@ -1,4 +1,4 @@ -# Copyright (C) 1994, 2002 Free Software Foundation, Inc. +# Copyright (C) 1994, 2002, 2003, 2004 Free Software Foundation, Inc. # Written by James Clark (jjc@jclark.com) # # This file is part of groff. @@ -18,11 +18,17 @@ # 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 +# The TFM files used are available for ftp as # # ftp://ftp.hp.com/pub/faxes/software/tfmlj4p.exe # # This is a self-extracting MS-DOS archive (in ZIP format). +# +# Metric files for the Arial and Times New Roman families and the Symbol +# font have been replaced with versions which have more glyphs and/or +# kerning pairs: +# +# ftp://ftp.ffii.org/pub/groff/contrib/lj4/tfmlj4x.zip # This is set up so you can do # make -f generate/Makefile @@ -31,13 +37,16 @@ AUTOFONT=/usr/local/lib/groff-lj4 HPFTODIT=hpftodit # .05 em -IFLAG=-i 439 +IFLAG=-i 50 SFLAG=-s srcdir=generate TEXTMAP=$(srcdir)/text.map SPECIALMAP=$(srcdir)/special.map +SYMBOLMAP=$(srcdir)/symbol.map +WINGDINGSMAP=$(srcdir)/wingdings.map FONTS=\ + AB ABI AI AR \ ALBB ALBR \ AOB AOI AOR \ CB CBI CI CR \ @@ -45,119 +54,206 @@ LGB LGI LGR \ OB OBI OI OR \ TB TBI TI TR \ + TNRB TNRBI TNRI TNRR \ UB UBI UI UR \ UCB UCBI UCI UCR \ - CLARENDON CORONET MARIGOLD S + CLARENDON CORONET MARIGOLD S \ + SYMBOL WINGDINGS all: $(FONTS) +# +# Intellifont +# + +# CG Times TR: $(AUTOFONT)/9nb00086.tfm $(TEXTMAP) $(HPFTODIT) $(AUTOFONT)/9nb00086.tfm $(TEXTMAP) $@ +# CG Times Italic TI: $(AUTOFONT)/9nb00084.tfm $(TEXTMAP) $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00084.tfm $(TEXTMAP) $@ +# CG Times Bold TB: $(AUTOFONT)/9nb00083.tfm $(TEXTMAP) $(HPFTODIT) $(AUTOFONT)/9nb00083.tfm $(TEXTMAP) $@ +# CG Times Bold Italic TBI: $(AUTOFONT)/9nb00085.tfm $(TEXTMAP) $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00085.tfm $(TEXTMAP) $@ +# Courier CR: $(AUTOFONT)/9nb00064.tfm $(TEXTMAP) $(HPFTODIT) $(AUTOFONT)/9nb00064.tfm $(TEXTMAP) $@ +# Courier Italic CI: $(AUTOFONT)/9nb00062.tfm $(TEXTMAP) $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00062.tfm $(TEXTMAP) $@ +# Courier Bold CB: $(AUTOFONT)/9nb00061.tfm $(TEXTMAP) $(HPFTODIT) $(AUTOFONT)/9nb00061.tfm $(TEXTMAP) $@ +# Courier Bold Italic CBI: $(AUTOFONT)/9nb00063.tfm $(TEXTMAP) $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00063.tfm $(TEXTMAP) $@ +# Garamond Antiqua GR: $(AUTOFONT)/9nb00068.tfm $(TEXTMAP) $(HPFTODIT) $(AUTOFONT)/9nb00068.tfm $(TEXTMAP) $@ +# Garamond Kursiv GI: $(AUTOFONT)/9nb00066.tfm $(TEXTMAP) $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00066.tfm $(TEXTMAP) $@ +# Garamond Halbfett GB: $(AUTOFONT)/9nb00065.tfm $(TEXTMAP) $(HPFTODIT) $(AUTOFONT)/9nb00065.tfm $(TEXTMAP) $@ +# Garamond Kursiv Halbfett GBI: $(AUTOFONT)/9nb00067.tfm $(TEXTMAP) $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00067.tfm $(TEXTMAP) $@ +# Omega OR: $(AUTOFONT)/9nb00076.tfm $(TEXTMAP) $(HPFTODIT) $(AUTOFONT)/9nb00076.tfm $(TEXTMAP) $@ +# Omega Italic OI: $(AUTOFONT)/9nb00074.tfm $(TEXTMAP) $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00074.tfm $(TEXTMAP) $@ +# Omega Bold OB: $(AUTOFONT)/9nb00073.tfm $(TEXTMAP) $(HPFTODIT) $(AUTOFONT)/9nb00073.tfm $(TEXTMAP) $@ +# Omega Bold Italic OBI: $(AUTOFONT)/9nb00075.tfm $(TEXTMAP) $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00075.tfm $(TEXTMAP) $@ +# Univers UR: $(AUTOFONT)/9nb00094.tfm $(TEXTMAP) $(HPFTODIT) $(AUTOFONT)/9nb00094.tfm $(TEXTMAP) $@ +# Univers Italic UI: $(AUTOFONT)/9nb00092.tfm $(TEXTMAP) $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00092.tfm $(TEXTMAP) $@ +# Univers Bold UB: $(AUTOFONT)/9nb00088.tfm $(TEXTMAP) $(HPFTODIT) $(AUTOFONT)/9nb00088.tfm $(TEXTMAP) $@ +# Univers Bold Italic UBI: $(AUTOFONT)/9nb00093.tfm $(TEXTMAP) $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00093.tfm $(TEXTMAP) $@ +# Univers Condensed UCR: $(AUTOFONT)/9nb00089.tfm $(TEXTMAP) $(HPFTODIT) $(AUTOFONT)/9nb00089.tfm $(TEXTMAP) $@ +# Univers Condensed Italic UCI: $(AUTOFONT)/9nb00087.tfm $(TEXTMAP) $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00087.tfm $(TEXTMAP) $@ +# Univers Condensed Bold UCB: $(AUTOFONT)/9nb00090.tfm $(TEXTMAP) $(HPFTODIT) $(AUTOFONT)/9nb00090.tfm $(TEXTMAP) $@ +# Univers Condensed Bold Italic UCBI: $(AUTOFONT)/9nb00091.tfm $(TEXTMAP) $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00091.tfm $(TEXTMAP) $@ +# Albertus ALBR: $(AUTOFONT)/9nb00052.tfm $(TEXTMAP) $(HPFTODIT) $(AUTOFONT)/9nb00052.tfm $(TEXTMAP) $@ +# Albertus Extrabold ALBB: $(AUTOFONT)/9nb00051.tfm $(TEXTMAP) $(HPFTODIT) $(AUTOFONT)/9nb00051.tfm $(TEXTMAP) $@ +# Letter Gothic LGR: $(AUTOFONT)/9nb00071.tfm $(TEXTMAP) $(HPFTODIT) $(AUTOFONT)/9nb00071.tfm $(TEXTMAP) $@ -LGB: $(AUTOFONT)/9nb00069.tfm $(TEXTMAP) - $(HPFTODIT) $(AUTOFONT)/9nb00069.tfm $(TEXTMAP) $@ - +# Letter Gothic Italic LGI: $(AUTOFONT)/9nb00070.tfm $(TEXTMAP) $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00070.tfm $(TEXTMAP) $@ +# Letter Gothic Bold +LGB: $(AUTOFONT)/9nb00069.tfm $(TEXTMAP) + $(HPFTODIT) $(AUTOFONT)/9nb00069.tfm $(TEXTMAP) $@ + +# Antique Olive AOR: $(AUTOFONT)/9nb00055.tfm $(TEXTMAP) $(HPFTODIT) $(AUTOFONT)/9nb00055.tfm $(TEXTMAP) $@ +# Antique Olive Italic AOI: $(AUTOFONT)/9nb00054.tfm $(TEXTMAP) $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00054.tfm $(TEXTMAP) $@ +# Antique Olive Bold AOB: $(AUTOFONT)/9nb00053.tfm $(TEXTMAP) $(HPFTODIT) $(AUTOFONT)/9nb00053.tfm $(TEXTMAP) $@ +# Marigold MARIGOLD: $(AUTOFONT)/9nb00072.tfm $(TEXTMAP) $(HPFTODIT) $(AUTOFONT)/9nb00072.tfm $(TEXTMAP) $@ -CORONET: $(AUTOFONT)/9nb00070.tfm $(TEXTMAP) - $(HPFTODIT) $(AUTOFONT)/9nb00070.tfm $(TEXTMAP) $@ +# Coronet +CORONET: $(AUTOFONT)/9nb00077.tfm $(TEXTMAP) + $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00077.tfm $(TEXTMAP) $@ +# Clarendon Condensed CLARENDON: $(AUTOFONT)/9nb00060.tfm $(TEXTMAP) $(HPFTODIT) $(AUTOFONT)/9nb00060.tfm $(TEXTMAP) $@ -S: $(AUTOFONT)/9nb00086.tfm $(SPECIALMAP) - $(HPFTODIT) $(SFLAG) $(AUTOFONT)/9nb00086.tfm $(SPECIALMAP) $@ +S: $(AUTOFONT)/9nb00086.tfm $(SPECIALMAP) $(srcdir)/special.awk + $(HPFTODIT) $(SFLAG) $(AUTOFONT)/9nb00086.tfm $(SPECIALMAP) - \ + | awk -f $(srcdir)/special.awk > $@ + +# +# TrueType +# + +# Times New Roman +TNRR: $(AUTOFONT)/tmnr000s.tfm $(TEXTMAP) + $(HPFTODIT) $(AUTOFONT)/tmnr000s.tfm $(TEXTMAP) $@ + +# Times New Roman Italic +TNRI: $(AUTOFONT)/tmni000s.tfm $(TEXTMAP) + $(HPFTODIT) $(IFLAG) $(AUTOFONT)/tmni000s.tfm $(TEXTMAP) $@ + +# Times New Roman Bold +TNRB: $(AUTOFONT)/tmnb000s.tfm $(TEXTMAP) + $(HPFTODIT) $(AUTOFONT)/tmnb000s.tfm $(TEXTMAP) $@ + +# Times New Roman Bold Italic +TNRBI: $(AUTOFONT)/tmnj000s.tfm $(TEXTMAP) + $(HPFTODIT) $(IFLAG) $(AUTOFONT)/tmnj000s.tfm $(TEXTMAP) $@ + +# Arial +AR: $(AUTOFONT)/arlr000s.tfm $(TEXTMAP) + $(HPFTODIT) $(AUTOFONT)/arlr000s.tfm $(TEXTMAP) $@ + +# Arial Italic +AI: $(AUTOFONT)/arli000s.tfm $(TEXTMAP) + $(HPFTODIT) $(IFLAG) $(AUTOFONT)/arli000s.tfm $(TEXTMAP) $@ + +# Arial Bold +AB: $(AUTOFONT)/arlb000s.tfm $(TEXTMAP) + $(HPFTODIT) $(AUTOFONT)/arlb000s.tfm $(TEXTMAP) $@ + +# Arial Bold Italic +ABI: $(AUTOFONT)/arlj000s.tfm $(TEXTMAP) + $(HPFTODIT) $(IFLAG) $(AUTOFONT)/arlj000s.tfm $(TEXTMAP) $@ + +# Symbol +SYMBOL: $(AUTOFONT)/9nb28703.tfm $(SYMBOLMAP) + $(HPFTODIT) $(AUTOFONT)/9nb28703.tfm $(SYMBOLMAP) $@ + +# Wingdings +WINGDINGS: $(AUTOFONT)/9nb00095.tfm $(WINGDINGSMAP) + $(HPFTODIT) $(AUTOFONT)/9nb00095.tfm $(WINGDINGSMAP) $@ + clean: diff -ruN groff-1.19/font/devlj4/generate/special.awk groff-1.19.1/font/devlj4/generate/special.awk --- groff-1.19/font/devlj4/generate/special.awk Thu Jan 1 01:00:00 1970 +++ groff-1.19.1/font/devlj4/generate/special.awk Wed Feb 18 09:01:57 2004 @@ -0,0 +1,82 @@ +#! /bin/awk -f + +# Correct Intellifont-based height metrics for several glyphs in +# special font for TrueType CG Times (LaserJet 4000 and later). + +function scale(num) +{ + return int(num * em + 0.5) +} + +BEGIN { + FS = "\t" + OFS = "\t" + em = 26346 # Intellifont (8782 DU/em) and hpftodit(1) multiplier of 3 + + ascent["integralcrvmid"] = scale(0.84358) + descent["integralcrvmid"] = scale(0.25006) + ascent["integralbt"] = scale(0.84358) + descent["integralbt"] = scale(0.15164) + ascent["lt"] = scale(0.84358) + descent["lt"] = scale(0.15164) + ascent["parenlefttp"] = scale(0.84358) + descent["parenlefttp"] = scale(0.15164) + ascent["bracelefttp"] = scale(0.84358) + descent["bracelefttp"] = scale(0.15164) + ascent["lk"] = scale(0.84358) + descent["lk"] = scale(0.15164) + ascent["braceleftmid"] = scale(0.84358) + descent["braceleftmid"] = scale(0.15164) + ascent["lb"] = scale(0.84358) + descent["lb"] = scale(0.15164) + ascent["parenleftbt"] = scale(0.84358) + descent["parenleftbt"] = scale(0.15164) + ascent["braceleftbt"] = scale(0.84358) + descent["braceleftbt"] = scale(0.15164) + ascent["rt"] = scale(0.84358) + descent["rt"] = scale(0.15164) + ascent["parenrighttp"] = scale(0.84358) + descent["parenrighttp"] = scale(0.15164) + ascent["bracerighttp"] = scale(0.84358) + descent["bracerighttp"] = scale(0.15164) + ascent["rk"] = scale(0.84358) + descent["rk"] = scale(0.15164) + ascent["bracerightmid"] = scale(0.84358) + descent["bracerightmid"] = scale(0.15164) + ascent["rb"] = scale(0.84358) + descent["rb"] = scale(0.15164) + ascent["parenrightbt"] = scale(0.84358) + descent["parenrightbt"] = scale(0.15164) + ascent["bracerightbt"] = scale(0.84358) + descent["bracerightbt"] = scale(0.15164) + ascent["parenrightex"] = scale(0.84358) + descent["parenrightex"] = scale(0.15164) + ascent["parenleftex"] = scale(0.84358) + descent["parenleftex"] = scale(0.15164) + ascent["bv"] = scale(0.84358) + descent["bv"] = scale(0.15164) + ascent["bracerightex"] = scale(0.84358) + descent["bracerightex"] = scale(0.15164) + ascent["braceleftex"] = scale(0.84358) + descent["braceleftex"] = scale(0.15164) + ascent["integralex"] = scale(0.84358) + descent["integralex"] = scale(0.15164) + ascent["bracketrightex"] = scale(0.84358) + descent["bracketrightex"] = scale(0.15164) + ascent["bracketleftex"] = scale(0.84358) + descent["bracketleftex"] = scale(0.15164) + ascent["barex"] = scale(0.84358) + descent["barex"] = scale(0.15164) +} +{ + if ($2 != "\"" && ascent[$1]) { + n = split($2, temp, ",") + $2 = sprintf("%d,%d,%d", temp[1], ascent[$1], descent[$1]) + # just in case there are additional metrics + for (i = 4; i <= n; i++) + $2 = $2 "," temp[i] + } + print $0 +} + +# EOF diff -ruN groff-1.19/font/devlj4/generate/special.map groff-1.19.1/font/devlj4/generate/special.map --- groff-1.19/font/devlj4/generate/special.map Sat Feb 22 14:22:38 2003 +++ groff-1.19.1/font/devlj4/generate/special.map Thu Jan 8 22:14:04 2004 @@ -1,182 +1,271 @@ -# 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 -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 ~~ -301 ~= -302 md -500 sr -500 sqrt -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 -587 integral -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 -613 braceex -614 barex -614 bracketleftex -614 bracketrightex -614 parenleftex -614 parenrightex -620 -+ -621 la -622 ra -624 =~ -633 << -634 >> -638 -h -638 hbar -641 wp -654 lz -663 st -664 ** -665 an -680 AN -1099 CR +# Map HP MSL numbers and HP Unicode values to troff names for a special font. +# +# Created 30 December 2003 -- you need hpftodit from groff 1.19.1 or newer! -#637 digamma -#655 parenrighttp -#656 parenrightbt -#642 sum -#644 bardblex -#646 parenlefttp -#647 parenleftbt +12 002B pl +30 003D eq +34 0041 *A +35 0042 *B +38 0045 *E +41 0048 *Y +42 0049 *I +44 004B *K +46 004D *M +47 004E *N +48 004F *O +49 0050 *R +53 0054 *T +57 0058 *X +59 005A *Z +96 007E ap +97 2592 u2592 +183 2212 mi +189 25A0 u25A0 +191 00B1 +- +194 00AC no +201 00D7 mu +202 00F7 di +203 263A u263A +204 263B u263B +205 2665 HE +206 2666 DI +207 2663 CL +208 2660 SP +209 25CF u25CF +210 25D8 u25D8 +212 25D9 u25D9 +213 2642 u2642 +214 2640 u2640 +215 266A u266A +216 266B u266B +217 263C u263C +218 25BA u25BA +219 25C4 u25C4 +220 2195 va +222 25AC u25AC +223 21A8 u21A8 +224 2191 ua +225 2193 da +226 2192 -> +227 2190 <- +# U+2319 would be the right code for MSL 228, according to the description +# and used glyph shape in the PCL 5 comparison guide, but this neither +# reflects the actual look nor the mapping value used in recent HP printers. +228 221F u221F +229 2194 <> +230 25B2 u25B2 +231 25BC u25BC +233 2310 u2310 +234 2591 u2591 +235 2593 u2593 +236 2502 u2502 +237 2524 u2524 +238 2561 u2561 +239 2562 u2562 +240 2556 u2556 +241 2555 u2555 +242 2563 u2563 +243 2551 u2551 +244 2557 u2557 +245 255D u255D +246 255C u255C +247 255B u255B +248 2510 u2510 +249 2514 u2514 +250 2534 u2534 +251 252C u252C +252 251C u251C +253 2500 u2500 +254 253C u253C +255 255E u255E +256 255F u255F +257 255A u255A +258 2554 u2554 +259 2569 u2569 +260 2566 u2566 +261 2560 u2560 +262 2550 u2550 +263 256C u256C +264 2567 u2567 +265 2568 u2568 +266 2564 u2564 +267 2565 u2565 +268 2559 u2559 +269 2558 u2558 +270 2552 u2552 +271 2553 u2553 +272 256B u256B +273 256A u256A +274 2518 u2518 +275 250C u250C +276 2588 u2588 +277 2584 u2584 +278 258C u258C +279 2590 u2590 +280 2580 u2580 +292 221E if +295 2229 ca +296 2261 == +297 2265 >= +298 2264 <= +299 2320 u2320 +300 2321 u2321 +301 2248 ~= ~~ +302 00B7 md +303 221A u221A +305 25AA u25AA +333 2302 u2302 +500 EFBF sqrt sr +501 221D pt +502 212F u212F +503 EFEC *e +504 2234 3d tf +505 0393 *G +506 2206 *D +507 0398 *H +508 039B *L +509 039E *C +510 03A0 *P +511 03A3 *S +512 03A5 *U +513 03A6 *F +514 03A8 *Q +515 03A9 *W +516 2207 gr +517 2202 pd +518 03C2 ts +519 2260 != +521 2235 u2235 +522 03B1 *a +523 03B2 *b +524 03B3 *g +525 03B4 *d +526 03B5 +e +527 03B6 *z +528 03B7 *y +529 03B8 *h +530 03B9 *i +531 03BA *k +532 03BB *l +533 03BC *m +534 03BD *n +535 03BE *c +536 03BF *o +537 03C0 *p +538 03C1 *r +539 03C3 *s +540 03C4 *t +541 03C5 *u +542 03C6 *f +543 03C7 *x +544 03C8 *q +545 03C9 *w +546 03D1 +h +547 03D5 +f +548 03D6 +p +549 2243 |= +550 2262 ne +551 21D1 arrowverttp uA +552 21D2 rA rh +553 21D3 arrowvertbt dA +554 21D0 lA lh +555 21D5 vA +556 21D4 hA +557 21C4 u21C4 +558 21C6 u21C6 +559 EFE9 u21C0 +560 EFEA radicalex +561 2200 fa +562 2203 te +563 22A4 u22A4 +564 22A5 pp +565 222A cu +566 2208 mo +567 220B u220B +568 2209 nm +569 2282 sb +570 2283 sp +571 2284 nb +572 2285 nc +573 2286 ib +574 2287 ip +575 2295 c+ +576 2299 u2299 +577 2297 c* +578 2296 u2296 +579 2298 u2298 +580 2227 AN +581 2228 OR +582 22BB u22BB +583 2218 u2218 +584 20DD ci +585 22A3 u22A3 +586 22A2 u22A2 +587 222B integral is +588 222E u222E +589 2220 /_ +590 2205 es +591 2135 Ah +592 2136 u2136 +593 2137 u2137 +594 212D u212D +595 2111 Im +596 211C Re +597 2128 u2128 +598 EFE7 bracketlefttp lc +599 EFE6 bracketleftbt lf +600 EFE3 bracelefttp lt parenlefttp +601 EFE2 braceleftmid lk +602 EFE1 braceleftbt lb parenleftbt +603 EFD4 integralcrvmid +605 2225 arrowvertex +608 EFE5 bracketrighttp rc +609 EFE4 bracketrightbt rf +610 EFE0 bracerighttp parenrighttp rt +611 EFDF bracerightmid rk +612 EFDE bracerightbt parenrightbt rb +613 EFDD braceex braceleftex bracerightex bv parenleftex parenrightex +614 2223 barex bracketleftex bracketrightex +615 EFDC u23B7 +620 2213 -+ +621 2329 la +622 232A ra +624 2245 =~ +625 2197 u2197 +626 2198 u2198 +627 2199 u2199 +628 2196 u2196 +629 25B5 u25B5 +630 25B9 u25B9 +631 25BF u25BF +632 25C3 u25C3 +633 226A << +634 226B >> +635 2237 u2237 +636 EFCA u225C +637 EFD5 u03DD +638 210F -h hbar +639 2112 u2112 +641 2118 wp +642 2211 sum +643 301A u27E6 +645 301B u27E7 +646 256D u256D +647 2570 u2570 +654 25C7 lz +655 256E u256E +656 256F u256F +662 25C6 u25C6 +663 220D st +664 2217 ** +665 EFE8 an +668 221F u221F +669 220F product +1099 21B5 CR +1108 25AB u25AB +1109 25E6 u25E6 +1110 25CB u25CB +1112 21B5 u21B5 +1114 2423 u2423 + +# EOF diff -ruN groff-1.19/font/devlj4/generate/symbol.map groff-1.19.1/font/devlj4/generate/symbol.map --- groff-1.19/font/devlj4/generate/symbol.map Thu Jan 1 01:00:00 1970 +++ groff-1.19.1/font/devlj4/generate/symbol.map Sun Jan 18 15:08:08 2004 @@ -0,0 +1,199 @@ +# Map HP Unicode values to groff names for Monotype Symbol font. +# +# This font is TrueType only, so the MSL values are dummies. +# +# Created 16 January 2004. Some mappings are taken from Alan Wood's +# website (www.alanwood.net) +# +# You need hpftodit from groff 1.19.1 or newer! + +-1 F021 ! # exclamation point +-1 F022 fa # for all (u2200) +-1 F023 # sh # number sign +-1 F024 te # there exists (u2203) +-1 F025 % # per cent +-1 F026 & # ampersand +-1 F027 st # such that, small contains as member (u220D) +-1 F028 ( # left parenthesis +-1 F029 ) # right parenthesis +-1 F02A ** # math asterisk operator (u2217) +-1 F02B pl # plus +-1 F02C , # comma +-1 F02D mi # minus (- is hyphen) (u2212) +-1 F02E . # period +-1 F02F / sl # solidus +-1 F030 0 # numeral 0 +-1 F031 1 # numeral 1 +-1 F032 2 # numeral 2 +-1 F033 3 # numeral 3 +-1 F034 4 # numeral 4 +-1 F035 5 # numeral 5 +-1 F036 6 # numeral 6 +-1 F037 7 # numeral 7 +-1 F038 8 # numeral 8 +-1 F039 9 # numeral 9 +-1 F03A : # colon +-1 F03B ; # semicolon +-1 F03C < # less than +-1 F03D = # equals +-1 F03E > # greater than +-1 F03F ? # question mark +-1 F040 =~ # approximately equal to, congruent (u2245) +-1 F041 *A # capital Alpha (u0391) +-1 F042 *B # capital Beta (u0392) +-1 F043 *X # capital Chi (u03A7) +-1 F044 *D # capital Delta (u0394) +-1 F045 *E # capital Epsilon (u0395) +-1 F046 *F # capital Phi (u03A6) +-1 F047 *G # capital Gamma (u0393) +-1 F048 *Y # capital Eta (u0397) +-1 F049 *I # capital Iota (u0399) +-1 F04A +h # theta symbol (u03D1) +-1 F04B *K # capital Kappa (u039A) +-1 F04C *L # capital Lambda (u039B) +-1 F04D *M # capital Mu (u039C) +-1 F04E *N # capital Nu (u039D) +-1 F04F *O # capital Omicron (u039F) +-1 F050 *P # capital Pi (u03A0) +-1 F051 *H # capital Theta (u0398) +-1 F052 *R # capital Rho (u03A1) +-1 F053 *S # capital Sigma (u03A3) +-1 F054 *T # capital Tau (u03A4) +-1 F055 *U # capital Upsilon (u03A5) +-1 F056 ts # lower case sigma (terminal) (u03C2) +-1 F057 *W # capital Omega (u03A9) +-1 F058 *C # capital Xi (u039E) +-1 F059 *Q # capital Psi (u03A8) +-1 F05A *Z # capital Zeta (u0396) +-1 F05B [ lB # left bracket +-1 F05C 3d tf # therefore (u2234) +-1 F05D ] rB # right bracket +-1 F05E pp # perpendicular (u22A5) +-1 F05F _ # underscore +-1 F060 --- # radical extender +-1 F061 *a # lower case alpha (u03B1) +-1 F062 *b # lower case beta (u03B2) +-1 F063 *x # lower case chi (u03C7) +-1 F064 *d # lower case delta (u03B4) +-1 F065 *e # lower case epsilon (u03B5) +-1 F066 +f # lower case phi (stroked) (u03D5) +-1 F067 *g # lower case gamma (u03B3) +-1 F068 *y # lower case eta (u03B7) +-1 F069 *i # lower case iota (u03B9) +-1 F06A *f # lower case phi (curly) (u03C6) +-1 F06B *k # lower case kappa (u03BA) +-1 F06C *l # lower case lambda (u03BB) +-1 F06D *m # lower case mu (u03BC) +-1 F06E *n # lower case nu (u03BD) +-1 F06F *o # lower case omicron (u03BF) +-1 F070 *p # lower case pi (u03C0) +-1 F071 *h # lower case theta (u03B8) +-1 F072 *r # lower case rho (u03C1) +-1 F073 *s # lower case sigma (u03C3) +-1 F074 *t # lower case tau (u03C4) +-1 F075 *u # lower case upsilon (u03C5) +-1 F076 +p # pi symbol (u03D6) +-1 F077 *w # lower case omega (u03C9) +-1 F078 *c # lower case xi (u03BE) +-1 F079 *q # lower case psi (u03C8) +-1 F07A *z # lower case zeta (u03B6) +-1 F07B { lC # left brace +-1 F07C | ba # vertical bar +-1 F07D } rC # right brace +-1 F07E ap # similar, tilde operator (u223C) +-1 F0A1 u03D2 # upsilon with hook symbol (u03D2) +-1 F0A2 fm # prime or minutes or feet (u2032) +-1 F0A3 <= # less than or equal to (u2264) +-1 F0A4 f/ # figure slash (fraction) (/ is normal slash) (u2044) +-1 F0A5 if # infinity (u221E) +-1 F0A6 u0192 # Florin or Guilder +-1 F0A7 CL # clubs (u2663) +-1 F0A8 DI # diamonds (u2666) +-1 F0A9 HE # hearts (u2665) +-1 F0AA SP # spades (u2660) +-1 F0AB <> # arrow left and right (u2194) +-1 F0AC <- # arrow left (u2190) +-1 F0AD ua # arrow up (u2191) +-1 F0AE -> # arrow right (u2192) +-1 F0AF da # arrow down (u2193) +-1 F0B0 de # degree +-1 F0B1 +- # plus minus (u00B1) +-1 F0B2 sd # double prime or seconds or inches (u2033) +-1 F0B3 >= # greater than or equal to (u2265) +-1 F0B4 mu # multiply (u00D7) +-1 F0B5 pt # proportional (u221D) +-1 F0B6 pd # partial derivative / partial differential (u2202) +-1 F0B7 u2219 # bullet operator (u2219) +-1 F0B8 di # divide (u00F7) +-1 F0B9 != # not equal (u2260) +-1 F0BA == # equivalent (u2261) +-1 F0BB ~= ~~ # almost equal to, asymptotic to (u2248) +-1 F0BC u2026 # ellipsis (u2026) +-1 F0BD u23D0 # vertical arrow extender (u23D0) +-1 F0BE u23AF # horizontal arrow extender (u23AF) +-1 F0BF CR # carriage return (u21B5) +-1 F0C0 Ah # alef symbol (u2135) +-1 F0C1 Im # I fraktur (u2111) +-1 F0C2 Re # R fraktur (u211C) +-1 F0C3 wp # Weierstrass (u2118) +-1 F0C4 c* # circle multiply (u2297) +-1 F0C5 c+ # circle plus (u2295) +-1 F0C6 es # empty set (u2205) +-1 F0C7 ca # intersection (u2229) +-1 F0C8 cu # union (u222A) +-1 F0C9 sp # proper superset, superset of (u2283) +-1 F0CA ip # reflex superset (contains or equals), superset of or equal to (u2287) +-1 F0CB nb # not subset (u2284) +-1 F0CC sb # proper subset, subset of (u2282) +-1 F0CD ib # reflex subset (contained in or equals), subset of or equal to (u2286) +-1 F0CE mo # member (element) (u2208) +-1 F0CF nm # not a member (not an element) (u2209) +-1 F0D0 /_ # angle (u2220) +-1 F0D1 gr # nabla or gradient (u2207) +-1 F0D2 --- # registered (serif) (u00AE) +-1 F0D3 --- # copyright (serif) (u00A9) +-1 F0D4 --- # trade mark (serif) +-1 F0D5 product # product of (u220F) +-1 F0D6 sr sqrt # square root (u221A) +-1 F0D7 u22C5 # dot operator (u22C5) +-1 F0D8 no # not (u00AC) +-1 F0D9 AN # logical and (u2227) +-1 F0DA OR # logical or (u2228) +-1 F0DB hA # double arrow left and right (u21D4) +-1 F0DC lA lh # double arrow left (implied by) (u21D0) +-1 F0DD arrowverttp uA # double arrow up (u21D1) +-1 F0DE rA rh # double arrow right (implies) (u21D2) +-1 F0DF arrowvertbt dA # double arrow down (u21D3) +-1 F0E0 lz # lozenge (u25CA) +-1 F0E1 la # left angle bracket (u2329) +-1 F0E2 --- # registered (sans serif) (u00AE) +-1 F0E3 --- # copyright (sans serif) (u00A9) +-1 F0E4 --- # trade mark (sans serif) +-1 F0E5 sum # sum of (u2211) +-1 F0E6 parenlefttp # composite left parenthesis (top) (u239B) +-1 F0E7 parenleftex # composite left parenthesis (extender) (u239C) +-1 F0E8 parenleftbt # composite left parenthesis (bottom) (u239D) +-1 F0E9 lc bracketlefttp # composite left bracket (top) (u23A1) +-1 F0EA bracketleftex # composite left bracket (extender) (u23A2) +-1 F0EB lf bracketleftbt # composite left bracket (bottom) (u23A3) +-1 F0EC lt bracelefttp # composite left brace (top) (u23A7) +-1 F0ED lk braceleftex # composite left brace (middle) (u23A8) +-1 F0EE lb braceleftbt # composite left brace (bottom) (u23A9) +-1 F0EF u23AA # composite brace extender (u23AA) +-1 F0F0 Eu # euro sign (u20AC) +-1 F0F1 ra # right angle bracket (u232A) +-1 F0F2 integral is # integral (u222B) +-1 F0F3 u2320 # composite integral (top) (u2320) +-1 F0F4 u23AE # composite integral extender (u23AE) +-1 F0F5 u2321 # composite integral (bottom) (u2321) +-1 F0F6 parenrighttp # composite right parenthesis (top) (u239E) +-1 F0F7 parenrightex # composite right parenthesis (extender) (u239F) +-1 F0F8 parenrightbt # composite right parenthesis (bottom) (u23A0) +-1 F0F9 rc bracketrighttp # composite right bracket (top) (u23A4) +-1 F0FA bracketrightex # composite right bracket (extender) (u23A5) +-1 F0FB rf bracketrightbt # composite right bracket (bottom) (u23A6) +-1 F0FC rt bracerighttp # composite right brace (top) (u23AB) +-1 F0FD rk bracerightex # composite right brace (middle) (u23AC) +-1 F0FE rb bracerightbt # composite right brace (bottom) (u23AD) + +# EOF diff -ruN groff-1.19/font/devlj4/generate/text.map groff-1.19.1/font/devlj4/generate/text.map --- groff-1.19/font/devlj4/generate/text.map Sat Feb 22 13:31:25 2003 +++ groff-1.19.1/font/devlj4/generate/text.map Sat Jan 3 10:25:14 2004 @@ -1,254 +1,845 @@ -# Map MSL numbers to troff names for a text font. -1 ! -2 " -2 dq -3 # -3 sh -4 $ -4 Do -5 % -6 & -8 ' -8 cq -9 ( -10 ) -11 * -12 + -13 , -14 - -14 hy -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 -100 ^A -101 `E -102 ^E -103 :E -104 ^I -105 :I -106 aa -107 ga -108 ^ -108 a^ -109 ad -110 ~ -110 a~ -111 `U -112 ^U -114 'Y -115 'y -116 de -117 ,C -118 ,c -119 ~N -120 ~n -121 r! -122 r? -123 Cs -124 Po -125 Ye -126 sc -127 Fn -128 ct -129 ^a -130 ^e -131 ^o -132 ^u -133 'a -134 'e -135 'o -136 'u -137 `a -138 `e -139 `o -140 `u -141 :a -142 :e -143 :o -144 :u -145 oA -146 ^i -147 /O -148 AE -149 oa -150 'i -151 /o -152 ae -153 :A -154 `i -155 :O -156 :U -157 'E -158 :i -159 ss -160 ^O -161 'A -162 ~A -163 ~a -164 -D -165 Sd -166 'I -167 `I -168 'O -169 `O -170 ~O -171 ~o -172 vS -173 vs -174 'U -175 :Y -176 :y -177 TP -178 Tp -180 mc -181 ps -182 34 -183 \- -184 14 -185 12 -186 Of -187 Om -188 Fo -190 Fc -191 t+- -192 bb -193 co -194 tno -196 rg -197 S2 -198 S3 -199 ac -200 S1 -201 tmu -202 tdi -302 pc -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 -1069 Eu -1084 a- -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 +# Map HP MSL numbers and HP Unicode values to troff names for a text font. +# +# Created 30 December 2003 -- you need hpftodit from groff 1.19.1 or newer! +# +# Glyphs marked with an asterisk have (also) an entry in `special.umap'. +# Unknown MSL numbers are marked with a question mark; glyphs with an +# uncertain Unicode mapping are tagged also with a question mark. + +# 0 space -- unused +1 0021 ! +2 0022 " dq +3 0023 # sh +4 0024 $ Do +5 0025 % +6 0026 & +# 7 ? +8 2019 ' cq +9 0028 ( + +10 0029 ) +11 002A * +# 12 * +12 002B + +13 002C , +14 002D - hy +15 002E . +16 002F / sl +17 0030 0 +18 0031 1 +19 0032 2 + +20 0033 3 +21 0034 4 +22 0035 5 +23 0036 6 +24 0037 7 +25 0038 8 +26 0039 9 +27 003A : +28 003B ; +29 003C < + +# 30 * +30 003D = +31 003E > +32 003F ? +33 0040 @ at +# 34 * +34 0041 A +# 35 * +35 0042 B +36 0043 C +37 0044 D +# 38 * +38 0045 E +39 0046 F + +40 0047 G +# 41 * +41 0048 H +# 42 * +42 0049 I +43 004A J +# 44 * +44 004B K +45 004C L +# 46 * +46 004D M +# 47 * +47 004E N +# 48 * +48 004F O +# 49 * +49 0050 P + +50 0051 Q +51 0052 R +52 0053 S +# 53 * +53 0054 T +54 0055 U +55 0056 V +56 0057 W +# 57 * +57 0058 X +58 0059 Y +# 59 * +59 005A Z + +60 005B [ lB +61 005C \ rs +62 005D ] rB +63 005E ha +64 005F _ +# 65 ? +66 2018 ` oq +67 0061 a +68 0062 b +69 0063 c + +70 0064 d +71 0065 e +72 0066 f +73 0067 g +74 0068 h +75 0069 i +76 006A j +77 006B k +78 006C l +79 006D m + +80 006E n +81 006F o +82 0070 p +83 0071 q +84 0072 r +85 0073 s +86 0074 t +87 0075 u +88 0076 v +89 0077 w + +90 0078 x +91 0079 y +92 007A z +93 007B lC { +94 007C ba | +95 007D rC } +# 96 * +96 007E ti +# 97 medium shading * +# 98 uppercase greek delta -- unused +99 00C0 `A + +100 00C2 ^A +101 00C8 `E +102 00CA ^E +103 00CB :E +104 00CE ^I +105 00CF :I +106 00B4 aa +107 0060 ga +108 02C6 ^ a^ +109 00A8 ad + +110 02DC a~ ~ +111 00D9 `U +112 00DB ^U +113 00AF u00AF +114 00DD 'Y +115 00FD 'y +116 00B0 de +117 00C7 ,C +118 00E7 ,c +119 00D1 ~N + +120 00F1 ~n +121 00A1 r! +122 00BF r? +123 00A4 Cs +124 00A3 Po +125 00A5 Ye +126 00A7 sc +127 0192 Fn +128 00A2 ct +129 00E2 ^a + +130 00EA ^e +131 00F4 ^o +132 00FB ^u +133 00E1 'a +134 00E9 'e +135 00F3 'o +136 00FA 'u +137 00E0 `a +138 00E8 `e +139 00F2 `o + +140 00F9 `u +141 00E4 :a +142 00EB :e +143 00F6 :o +144 00FC :u +145 00C5 oA +146 00EE ^i +147 00D8 /O +148 00C6 AE +149 00E5 oa + +150 00ED 'i +151 00F8 /o +152 00E6 ae +153 00C4 :A +154 00EC `i +155 00D6 :O +156 00DC :U +157 00C9 'E +158 00EF :i +159 00DF ss + +160 00D4 ^O +161 00C1 'A +162 00C3 ~A +163 00E3 ~a +164 00D0 -D +165 00F0 Sd +166 00CD 'I +167 00CC `I +168 00D3 'O +169 00D2 `O + +170 00D5 ~O +171 00F5 ~o +172 0160 vS +173 0161 vs +174 00DA 'U +175 0178 :Y +176 00FF :y +177 00DE TP +178 00FE Tp +# 179 lowercase middle dot -- unused (no Unicode mapping) + +180 00B5 mc +181 00B6 ps +182 00BE 34 +# 183 * +183 2212 \- +184 00BC 14 +185 00BD 12 +186 00AA Of +187 00BA Om +188 00AB Fo +# 189 medium solid box * + +190 00BB Fc +# 191 * +191 00B1 t+- +192 00A6 bb +193 00A9 co +# 194 * +194 00AC tno +195 00AD u00AD +196 00AE rg +197 00B2 S2 +198 00B3 S3 +199 00B8 ac + +200 00B9 S1 +# 201 * +201 00D7 tmu +# 202 * +202 00F7 tdi +# 203 open smiling face * +# 204 solid smiling face * +# 205 solid heart * +# 206 solid diamond * +# 207 solid club * +# 208 solid spade * +# 209 medium solid bullet * + +# 210 large solid square/open dot * +# 211 large open bullet ? +# 212 large solid square/open ring * +# 213 male symbol * +# 214 female symbol * +# 215 musical note * +# 216 pair of musical notes * +# 217 compass, 8 pointed sun * +# 218 right solid arrowhead * +# 219 left solid arrowhead * + +# 220 up/down arrow * +221 203C u203C +# 222 thick horizontal mark * +# 223 up/down arrow baseline * +# 224 up arrow * +# 225 down arrow * +# 226 right arrow * +# 227 left arrow * +# 228 tick up at left (`logicalnotflopped') * +# 229 left/right arrow * + +# 230 up solid arrowhead * +# 231 down solid arrowhead * +232 20A7 u20A7 +# 233 tick down at left * +# 234 light shading * +# 235 dark shading * +# 236 vertical 1 * +# 237 left 1 vertical 1 * +# 238 left 2 vertical 1 * +# 239 left 1 vertical 2 * + +# 240 left 1 down 2 * +# 241 left 2 down 1 * +# 242 left 2 vertical 2 * +# 243 vertical 2 * +# 244 left 2 down 2 * +# 245 left 2 up 2 * +# 246 left 1 up 2 * +# 247 left 2 up 1 * +# 248 left 1 down 1 * +# 249 right 1 up 1 * + +# 250 horizontal 1 up 1 * +# 251 horizontal 1 down 1 * +# 252 right 1 vertical 1 * +# 253 horizontal 1 * +# 254 horizontal 1 vertical 1 * +# 255 right 2 vertical 1 * +# 256 right 1 vertical 2 * +# 257 right 2 up 2 * +# 258 right 2 down 2 * +# 259 horizontal 2 up 2 * + +# 260 horizontal 2 down 2 * +# 261 right 2 vertical 2 * +# 262 horizontal 2 * +# 263 horizontal 2 vertical 2 * +# 264 horizontal 2 up 1 * +# 265 horizontal 1 up 2 * +# 266 horizontal 2 down 1 * +# 267 horizontal 1 down 2 * +# 268 right 1 up 2 * +# 269 right 2 up 1 * + +# 270 right 2 down 1 * +# 271 right 1 down 2 * +# 272 horizontal 1 vertical 2 * +# 273 horizontal 2 vertical 1 * +# 274 left 1 up 1 * +# 275 right 1 down 1 * +# 276 solid full rectangle * +# 277 bottom 1/2 solid rectangle * +# 278 left 1/2 solid rectangle * +# 279 right 1/2 solid rectangle * + +# 280 top 1/2 solid rectangle * +# 281 lowercase greek alpha -- unused +# 282 lowercase greek beta -- unused +# 283 uppercase greek gamma -- unused +# 284 lowercase greek pi -- unused +# 285 uppercase greek sigma -- unused +# 286 lowercase greek sigma -- unused +# 287 lowercase greek tau -- unused +# 288 uppercase greek phi -- unused +# 289 uppercase greek theta -- unused + +# 290 uppercase omega, ohms -- unused +# 291 lowercase greek delta -- unused +# 292 infinity sign * +# 293 lowercase greek phi -- unused +# 294 lowercase greek epsilon -- unused +# 295 set intersection * +# 296 exactly equals * +# 297 greater than/equal to * +# 298 less than/equal to * +# 299 top segment integral * + +# 300 bottom segment integral * +# 301 2 wavy line approximation * +# 302 * +302 00B7 pc +# 303 radical symbol * +# 304 lowercase greek eta -- unused +# 305 small solid box * +306 013F u013F +307 0140 u0140 +308 2113 u2113 +309 0149 u0149 + +310 2032 fm +311 2033 sd +312 2020 dg +313 2122 tm +314 2017 u2017 +315 02C7 ah +316 02DA ao +# 317 uppercase acute accent -- unused +# 318 uppercase grave accent -- unused +# 319 uppercase circumflex accent -- unused + +# 320 uppercase dieresis accent -- unused +# 321 uppercase tilde accent -- unused +# 322 uppercase hacek accent -- unused +# 323 uppercase ring accent -- unused +324 2215 f/ +325 2014 em +326 2013 en +327 2021 dd +328 0131 .i +329 0027 aq + +# 330 uppercase cedilla -- unused +331 2022 bu +332 207F u207F +# 333 home plate * +# 334 ? +335 0138 u0138 +# 336 ? +# 337 ? +338 0166 u0166 +339 0167 u0167 + +340 014A u014A +341 014B u014B +342 0111 u0111 +# 343-369 ? + +# 370 `lira' ? +# 371-374 ? +# 375 `asciigrave' ? + +# 376-399 ? + +400 0102 u0041_0306 +401 0103 u0061_0306 +402 0100 u0041_0304 +403 0101 u0061_0304 +404 0104 u0041_0328 +405 0105 u0061_0328 +406 0106 'C +407 0107 'c +# 408 ? +# 409 ? + +410 010C u0041_030C +411 010D u0061_030C +# 412 ? +# 413 ? +414 010E u0044_030C +415 010F u0064_030C +416 011A u0045_030C +417 011B u0065_030C +418 0116 u0045_0307 +419 0117 u0065_0307 + +420 0112 u0045_0304 +421 0113 u0065_0304 +422 0118 u0045_0328 +423 0119 u0065_0328 +# 424-427 ? +428 0122 u0047_0327 +429 0123 u0067_0327 + +# 430 ? +# 431 ? +432 012E u0049_0328 +433 012F u0069_0328 +434 012A u0049_0304 +435 012B u0069_0304 +# 436 ? +# 437 ? +438 0136 u004B_0327 +439 0137 u006B_0327 + +440 0139 u004C_0301 +441 013A u006C_0301 +442 013D u004C_030C +443 013E u006C_030C +444 013B u004C_0327 +445 013C u006C_0327 +446 0143 u004E_0301 +447 0144 u006E_0301 +448 0147 u004E_030C +449 0148 u006E_030C + +450 0145 u004E_0327 +451 0146 u006E_0327 +452 0150 u004F_030B +453 0151 u006F_030B +454 014C u004F_0304 +455 014D u006F_0304 +456 0154 u0052_0301 +457 0155 u0072_0301 +458 0158 u0052_030C +459 0159 u0072_030C + +460 0156 u0052_0327 +461 0157 u0072_0327 +462 015A u0053_0301 +463 015B u0073_0301 +# 464 ? +# 465 ? +466 0164 u0054_030C +467 0165 u0074_030C +468 0162 u0054_0327 +469 0163 u0074_0327 + +470 0168 u0055_0303 +471 0169 u0075_0303 +# 472 ? +# 473 ? +474 0170 u0055_030B +475 0171 u0075_030B +476 016E u0055_030A +477 016F u0075_030A +478 016A u0055_0304 +479 016B u0075_0304 + +480 0172 u0055_0328 +481 0173 u0075_0328 +482 0179 u005A_0301 +483 017A u007A_0301 +484 017B u005A_0307 +485 017C u007A_0307 +486 0128 u0049_0303 +487 0129 u0069_0303 +# 488 ? +# 489 ? + +# 490-499 ? + +# 500 radical segment * +# 501 proportional to symbol * +# 502 lowercase italic e * +# 503 alternate lowercase epsilon * +# 504 therefore * +# 505 uppercase greek gamma * +# 506 uppercase greek delta * +# 507 uppercase greek theta * +# 508 uppercase greek lambda * +# 509 uppercase greek xi * + +# 510 uppercase greek pi * +# 511 uppercase greek sigma * +# 512 uppercase greek upsilon * +# 513 uppercase greek phi * +# 514 uppercase greek psi * +# 515 uppercase greek omega * +# 516 nabla symbol * +# 517 partial diff symbol * +# 518 terminal sigma * +# 519 not equal to symbol * + +# 520 underline, composite ? +# 521 because * +# 522 lowercase greek alpha * +# 523 lowercase greek beta * +# 524 lowercase greek gamma * +# 525 lowercase greek delta * +# 526 lowercase greek epsilon * +# 527 lowercase greek zeta * +# 528 lowercase greek eta * +# 529 lowercase greek theta * + +# 530 lowercase greek iota * +# 531 lowercase greek kappa * +# 532 lowercase greek lambda * +# 533 lowercase greek mu * +# 534 lowercase greek nu * +# 535 lowercase greek xi * +# 536 lowercase greek omicron * +# 537 lowercase greek pi * +# 538 lowercase greek rho * +# 539 lowercase greek sigma * + +# 540 lowercase greek tau * +# 541 lowercase greek upsilon * +# 542 lowercase greek phi * +# 543 lowercase greek chi * +# 544 lowercase greek psi * +# 545 lowercase greek omega * +# 546 open lowercase greek theta * +# 547 open lowercase greek phi * +# 548 alternate lowercase pi * +# 549 wavy/straight approximation * + +# 550 not exactly equal to * +# 551 up arrow double stroke * +# 552 right arrow double stroke * +# 553 down arrow double stroke * +# 554 left arrow double stroke * +# 555 up/down arrow double stroke * +# 556 left/right arrow double stroke * +# 557 right over left arrow * +# 558 left over right arrow * +# 559 vector symbol * + +# 560 overline, composite * +# 561 for all symbol * +# 562 there exists symbol * +# 563 top symbol * +# 564 bottom symbol * +# 565 set union symbol * +# 566 element of symbol * +# 567 contains symbol * +# 568 not element of symbol * +# 569 proper subset symbol * + +# 570 proper superset symbol * +# 571 not proper subset symbol * +# 572 not proper superset symbol * +# 573 subset symbol * +# 574 superset symbol * +# 575 plus in circle symbol * +# 576 dot in circle * +# 577 times in circle * +# 578 minus in circle * +# 579 slash in circle * + +# 580 logical and symbol * +# 581 logical or symbol * +# 582 exclusive or symbol * +# 583 function composition symbol * +# 584 large open circle * +# 585 assertion symbol * +# 586 backwards assertion symbol * +# 587 integral symbol * +# 588 curvilinear integral symbol * +# 589 angle symbol * + +# 590 empty set * +# 591 hebrew aleph * +# 592 hebrew beth * +# 593 hebrew gimmel * +# 594 fractur uppercase c * +# 595 fractur uppercase i * +# 596 fractur uppercase r * +# 597 fractur uppercase z * +# 598 top left bracket * +# 599 bottom left bracket * + +# 600 top left brace * +# 601 middle left brace * +# 602 bottom left brace * +# 603 middle curvature integral -- no Unicode mapping! +# 604 top left summation -- no Unicode mapping! +# 605 double vertical line, composite * +# 606 bottom left summation -- no Unicode mapping! +# 607 bottom diagonal summation -- no Unicode mapping! +# 608 top right bracket * +# 609 bottom right bracket * + +# 610 top right brace * +# 611 middle right brace * +# 612 bottom right brace * +# 613 thick vertical line, composite * +# 614 thin vertical line, composite * +# 615 bottom radical, vert * +# 616 top right summation -- no Unicode mapping! +# 617 middle summation -- no Unicode mapping! +# 618 bottom right summation -- no Unicode mapping! +# 619 top diagonal summation -- no Unicode mapping! + +# 620 minus over plus sign * +# 621 left angle bracket * +# 622 right angle bracket * +# 623 mask symbol, superior -- no Unicode mapping! +# 624 wavy/2 straight approximation * +# 625 45 degrees arrow * +# 626 -45 degrees arrow * +# 627 -135 degrees arrow * +# 628 135 degrees arrow * +# 629 up open triangle * + +# 630 right open triangle * +# 631 down open triangle * +# 632 left open triangle * +# 633 much less than sign * +# 634 much greater than sign * +# 635 proportional to symbol * +# 636 defined as symbol * +# 637 lowercase greek digamma * +# 638 planck's constant/2 pi * +# 639 laplace transform symbol * + +# 640 power set symbol ? +# 641 weierstrassian symbol * +# 642 summation symbol, sigma * +# 643 left double bracket * +# 644 middle double bracket -- no Unicode mapping! +# 645 right double bracket * +# 646 left top round corner * +# 647 left bottom round corner * +# 648 extension large union/product -- no Unicode mapping! +# 649 bottom large union -- no Unicode mapping! + +# 650 top large intersection -- no Unicode mapping! +# 651 top left double bracket -- no Unicode mapping! +# 652 bottom left double bracket -- no Unicode mapping! +# 653 large open box ? +# 654 open diamond * +# 655 right top round corner * +# 656 right bottom round corner * +# 657 bottom large bottom product -- no Unicode mapping! +# 658 top large top product -- no Unicode mapping! +# 659 top right double bracket -- no Unicode mapping! + +# 660 bottom right double bracket -- no Unicode mapping! +# 661 large solid box ? +# 662 solid diamond * +# 663 such that * +# 664 math asterisk sign * +# 665 horizontal arrow extension * +# 666 double horizontal arrow extension -- no Unicode mapping! +# 667 complement of #617 -- no Unicode mapping! +# 668 right angle symbol * +# 669 product symbol * + +# 670-683 ? + +684 25CA u25CA + +# 684-999 ? + +1000 2070 u2070 +1001 2074 u2074 +1002 2075 u2075 +1003 2076 u2076 +1004 2077 u2077 +1005 2078 u2078 +1006 2079 u2079 +# 1007-1009 ? + +# 1010-1016 ? +1017 201C lq +1018 201D rq +1019 201E Bq + +1020 2003 u2003 +1021 2002 u2002 +# 1022 ? +1023 2009 u2009 +# 1024-1027 ? +1028 2026 u2026 +# 1029 ? + +# 1030 uppercase ogonek -- unused +1031 017E vz +# 1032-1033 ? +1034 2120 u2120 +# 1035 ? +1036 211E u211E +# 1037-1039 ? + +# older HP TrueType TFM files use Unicode value U+F001 instead +1040 FB01 fi +# older HP TrueType TFM files use Unicode value U+F002 instead +1041 FB02 fl +1042 FB00 ff +1043 FB03 Fi +1044 FB04 Fl +# 1045 uppercase double acute accent -- unused +# 1046 ? +1047 0133 ij +# 1048 ? +# 1049 ? + +# 1050-1059 ? + +1060 2105 u2105 +1061 011E u0047_0306 +1062 011F u0067_0306 +1063 015E u0053_0327 +1064 015F u0073_0327 +1065 0130 u0049_0307 +# 1066 ? +1067 201A bq +1068 2030 %0 +1069 20AC Eu + +# 1070-1079 ? + +# 1080-1083 ? +1084 02C9 a- +# 1085 uppercase macron accent -- unused +1086 02D8 ab +# 1087 uppercase breve accent -- unused +1088 02D9 a. +# 1089 uppercase overdot accent -- unused + +1090 0153 oe +1091 0152 OE +1092 2039 fo +1093 203A fc +1094 25A1 sq +1095 0141 /L +1096 0142 /l +1097 02DD a" +1098 02DB ho +# 1099 carriage return symbol * + +# 1100 registered, full, serif -- unused +# 1101 copyright, full, serif -- unused +# 1102 trademark, full, serif -- unused +# 1103 registered, full, sans -- unused +# 1104 copyright, full, sans -- unused +# 1105 trademark, full, sans -- unused +1106 017D vZ +1107 0132 IJ +# 1108 small open box * +# 1109 small open bullet * + +# 1110 medium open bullet * +# 1111 large solid bullet ? +# 1112 visible carriage return * +# 1113 visible tab (`arrowtab') ? +# 1114 visible space * +# 1115 visible soft hyphen -- unused +# 1116 visible end-of-file (`embox')? +# 1117 `enspacereverse' ? +# 1118 `emspacereverse' ? +# 1119 ? + +# 1120-1399 ? + +1400 0301 u0301 +1401 0300 u0300 +1402 0302 u0302 +1403 0308 u0308 +1404 0303 u0303 +1405 030C u030C +1406 0306 u0306 +1407 030B u030B +1408 030A u030A +1409 0307 u0307 + +1410 0304 u0304 +1411 0327 u0327 +1412 0328 u0328 +# 1413 combining uppercase acute accent -- unused +# 1414 combining uppercase grave accent -- unused +# 1415 combining uppercase circumflex accent -- unused +# 1416 combining uppercase dieresis accent -- unused +# 1417 combining uppercase tilde accent -- unused +# 1418 combining uppercase caron accent -- unused +# 1419 combining uppercase breve accent -- unused + +# 1420 combining uppercase double acute accent -- unused +# 1421 combining uppercase ring accent -- unused +# 1422 combining uppercase dot accent -- unused +# 1423 combining uppercase macron accent -- unused +# 1424 combining uppercase cedilla -- unused +# 1425 combining uppercase ogonek -- unused +# 1426 ? +# 1427 uppercase middle dot -- unused (no Unicode mapping) +# 1428 ? +# 1429 ? + +# 1430-3811 ? + +# 3812 ornament, apple ? + +# EOF diff -ruN groff-1.19/font/devlj4/generate/wingdings.map groff-1.19.1/font/devlj4/generate/wingdings.map --- groff-1.19/font/devlj4/generate/wingdings.map Thu Jan 1 01:00:00 1970 +++ groff-1.19.1/font/devlj4/generate/wingdings.map Sun Jan 18 00:10:55 2004 @@ -0,0 +1,233 @@ +# Map HP Unicode values to troff names for Wingding font. +# +# This font is TrueType only, so the MSL values are dummies. +# +# Created 16 January 2004 from data on Alan Wood's website +# (www.alanwood.net). +# +# You need hpftodit from groff 1.19.1 or newer! + +-1 F021 u270F # Pencil +-1 F022 u2702 # Black scissors +-1 F023 u2701 # Upper blade scissors +-1 F024 --- +-1 F025 --- +-1 F026 --- +-1 F027 --- +-1 F028 u260E # Black telephone +-1 F029 u2706 # Telephone location sign +-1 F02A u2709 # Envelope +-1 F02B --- +-1 F02C --- +-1 F02D --- +-1 F02E --- +-1 F02F --- +-1 F030 --- +-1 F031 --- +-1 F032 --- +-1 F033 --- +-1 F034 --- +-1 F035 --- +-1 F036 u231B # Hourglass +-1 F037 u2328 # Keyboard +-1 F038 --- +-1 F039 --- +-1 F03A --- +-1 F03B --- +-1 F03C --- +-1 F03D --- +-1 F03E u2707 # Tape drive +-1 F03F u270D # Writing hand +-1 F040 --- +-1 F041 u270C # Victory hand +-1 F042 --- +-1 F043 --- +-1 F044 --- +-1 F045 u261C # White left pointing index +-1 F046 u261E # White right pointing index +-1 F047 u261D # White up pointing index +-1 F048 u261F # White down pointing index +-1 F049 --- +-1 F04A u263A # White smiling face +-1 F04B --- +-1 F04C u2639 # White frowning face +-1 F04D --- +-1 F04E u2620 # Skull and crossbones +-1 F04F --- +-1 F050 --- +-1 F051 u2708 # Airplane +-1 F052 u263C # White sun with rays +-1 F053 --- +-1 F054 u2744 # Snowflake +-1 F055 --- +-1 F056 u271E # Shadowed white Latin cross +-1 F057 --- +-1 F058 u2720 # Maltese cross +-1 F059 u2721 # Star of David +-1 F05A u262A # Star and crescent +-1 F05B u262F # Yin Yang +-1 F05C u0950 # Devanagari Om +-1 F05D u2638 # Wheel of Dharma +-1 F05E u2648 # Aries +-1 F05F u2649 # Taurus +-1 F060 u264A # Gemini +-1 F061 u264B # Cancer +-1 F062 u264C # Leo +-1 F063 u264D # Virgo +-1 F064 u264E # Libra +-1 F065 u264F # Scorpio +-1 F066 u2650 # Sagittarius +-1 F067 u2651 # Capricorn +-1 F068 u2652 # Aquarius +-1 F069 u2653 # Pisces +-1 F06A u0026 # Ampersand +-1 F06B u0026 # Ampersand +-1 F06C u25CF # Black circle +-1 F06D u274D # Shadowed white circle +-1 F06E u25A0 # Black square +-1 F06F u25A1 # White square +-1 F070 --- +-1 F071 u2751 # Lower right shadowed white square +-1 F072 u2752 # Upper right shadowed white square +-1 F073 --- +-1 F074 u2666 # Black diamond suit +-1 F075 u25C6 # Black diamond +-1 F076 u2756 # Black diamond minus white X +-1 F077 --- +-1 F078 u2327 # X in a rectangle box +-1 F079 u2353 # APL functional symbol quad up caret +-1 F07A u2318 # Place of interest sign +-1 F07B u2740 # White florette +-1 F07C u273F # Black florette +-1 F07D u275D # Heavy double turned comma quotation mark ornament +-1 F07E u275E # Heavy double comma quotation mark ornament +-1 F080 u24EA # Circled digit zero +-1 F081 u2460 # Circled digit one +-1 F082 u2461 # Circled digit two +-1 F083 u2462 # Circled digit three +-1 F084 u2463 # Circled digit four +-1 F085 u2464 # Circled digit five +-1 F086 u2465 # Circled digit six +-1 F087 u2466 # Circled digit seven +-1 F088 u2467 # Circled digit eight +-1 F089 u2468 # Circled digit nine +-1 F08A u2469 # Circled number ten +-1 F08B u24FF # Negative circled digit zero +-1 F08C u2776 # Dingbat negative circled digit one +-1 F08D u2777 # Dingbat negative circled digit two +-1 F08E u2778 # Dingbat negative circled digit three +-1 F08F u2779 # Dingbat negative circled digit four +-1 F090 u277A # Dingbat negative circled digit five +-1 F091 u277B # Dingbat negative circled digit six +-1 F092 u277C # Dingbat negative circled digit seven +-1 F093 u277D # Dingbat negative circled digit eight +-1 F094 u277E # Dingbat negative circled digit nine +-1 F095 u277F # Dingbat negative circled number ten +-1 F096 --- +-1 F097 --- +-1 F098 --- +-1 F099 --- +-1 F09A --- +-1 F09B --- +-1 F09C --- +-1 F09D --- +-1 F09E u00B7 # Middle dot +-1 F09F u2022 # Bullet +-1 F0A0 u25AA # Black small square +-1 F0A1 u25CB # White circle +-1 F0A2 --- +-1 F0A3 --- +-1 F0A4 u25C9 # Fisheye +-1 F0A5 u25CE # Bullseye +-1 F0A6 --- +-1 F0A7 u25AA # Black small square +-1 F0A8 u25FB # White medium square +-1 F0A9 --- +-1 F0AA u2726 # Black four pointed star +-1 F0AB u2605 # Black star +-1 F0AC u2736 # Six pointed black star +-1 F0AD u2734 # Eight pointed black star +-1 F0AE u2739 # Twelve pointed black star +-1 F0AF u2735 # Eight pointed pinwheel star +-1 F0B0 --- +-1 F0B1 u2316 # Position indicator +-1 F0B2 u2727 # White four pointed star +-1 F0B3 u2311 # Square lozenge +-1 F0B4 --- +-1 F0B5 u272A # Circled white star +-1 F0B6 u2730 # Shadowed white star +-1 F0B7 --- +-1 F0B8 --- +-1 F0B9 --- +-1 F0BA --- +-1 F0BB --- +-1 F0BC --- +-1 F0BD --- +-1 F0BE --- +-1 F0BF --- +-1 F0C0 --- +-1 F0C1 --- +-1 F0C2 --- +-1 F0C3 --- +-1 F0C4 --- +-1 F0C5 --- +-1 F0C6 --- +-1 F0C7 --- +-1 F0C8 --- +-1 F0C9 --- +-1 F0CA --- +-1 F0CB --- +-1 F0CC --- +-1 F0CD --- +-1 F0CE --- +-1 F0CF --- +-1 F0D0 --- +-1 F0D1 --- +-1 F0D2 --- +-1 F0D3 --- +-1 F0D4 --- +-1 F0D5 u232B # Erase to the left +-1 F0D6 u2326 # Erase to the right +-1 F0D7 --- +-1 F0D8 u27A2 # Three-D top-lighted rightwards arrowhead +-1 F0D9 --- +-1 F0DA --- +-1 F0DB --- +-1 F0DC u27B2 # Circled heavy white rightwards arrow +-1 F0DD --- +-1 F0DE --- +-1 F0DF --- +-1 F0E0 --- +-1 F0E1 --- +-1 F0E2 --- +-1 F0E3 --- +-1 F0E4 --- +-1 F0E5 --- +-1 F0E6 --- +-1 F0E7 --- +-1 F0E8 u2794 # Heavy wide-headed rightwards arrow +-1 F0E9 --- +-1 F0EA --- +-1 F0EB --- +-1 F0EC --- +-1 F0ED --- +-1 F0EE --- +-1 F0EF u21E6 # Leftwards white arrow +-1 F0F0 u21E8 # Rightwards white arrow +-1 F0F1 u21E7 # Upwards white arrow +-1 F0F2 u21E9 # Downwards white arrow +-1 F0F3 u2B04 # Left right white arrow +-1 F0F4 u21F3 # Up down white arrow +-1 F0F5 u2B00 # North east white arrow +-1 F0F6 u2B01 # North west white arrow +-1 F0F7 u2B03 # South west white arrow +-1 F0F8 u2B02 # South east white arrow +-1 F0F9 u25AD # White rectangle +-1 F0FA u25AB # White small square +-1 F0FB u2717 # Ballot X +-1 F0FC u2713 # Check mark +-1 F0FD u2612 # Ballot box with X +-1 F0FE u2611 # Ballot box with check +-1 F0FF --- + +# EOF diff -ruN groff-1.19/font/devps/AB groff-1.19.1/font/devps/AB --- groff-1.19/font/devps/AB Fri Mar 7 09:14:55 2003 +++ groff-1.19.1/font/devps/AB Sun Dec 28 12:16:02 2003 @@ -138,6 +138,7 @@ c y -20 c l -15 c k -15 +, u0020 -50 , ' -70 , cq -70 , rq -70 @@ -168,10 +169,12 @@ o w -20 o v -30 p y -20 +. u0020 -50 . ' -70 . cq -70 . rq -70 lq A -50 +rq u0020 -50 ` ` -80 ` oq -80 oq ` -80 @@ -182,6 +185,8 @@ cq v -10 ' t 10 cq t 10 +' u0020 -50 +cq u0020 -50 ' s -15 cq s -15 ' r -20 @@ -215,6 +220,14 @@ r c -7 s . 20 s , 20 +u0020 ` -50 +u0020 oq -50 +u0020 lq -50 +u0020 Y -60 +u0020 W -25 +u0020 V -80 +u0020 T -25 +u0020 A -20 v . -90 v o -20 v e -20 diff -ruN groff-1.19/font/devps/ABI groff-1.19.1/font/devps/ABI --- groff-1.19/font/devps/ABI Fri Mar 7 09:14:55 2003 +++ groff-1.19.1/font/devps/ABI Sun Dec 28 12:16:03 2003 @@ -139,6 +139,7 @@ c y -20 c l -15 c k -15 +, u0020 -50 , ' -70 , cq -70 , rq -70 @@ -169,10 +170,12 @@ o w -20 o v -30 p y -20 +. u0020 -50 . ' -70 . cq -70 . rq -70 lq A -50 +rq u0020 -50 ` ` -80 ` oq -80 oq ` -80 @@ -183,6 +186,8 @@ cq v -10 ' t 10 cq t 10 +' u0020 -50 +cq u0020 -50 ' s -15 cq s -15 ' r -20 @@ -216,6 +221,14 @@ r c -7 s . 20 s , 20 +u0020 ` -50 +u0020 oq -50 +u0020 lq -50 +u0020 Y -60 +u0020 W -25 +u0020 V -80 +u0020 T -25 +u0020 A -20 v . -90 v o -20 v e -20 diff -ruN groff-1.19/font/devps/AI groff-1.19.1/font/devps/AI --- groff-1.19/font/devps/AI Fri Mar 7 09:14:55 2003 +++ groff-1.19.1/font/devps/AI Sun Dec 28 12:16:03 2003 @@ -136,6 +136,7 @@ b v -20 c y -20 c k -15 +, u0020 -110 , ' -120 , cq -120 , rq -120 @@ -165,12 +166,14 @@ o w -20 o v -30 p y -20 +. u0020 -110 . ' -120 . cq -120 . rq -120 lq ` -35 lq oq -35 lq A -100 +rq u0020 -110 ` ` -203 ` oq -203 oq ` -203 @@ -181,6 +184,8 @@ cq v -30 ' t 10 cq t 10 +' u0020 -110 +cq u0020 -110 ' s -15 cq s -15 ' r -20 @@ -217,6 +222,14 @@ r a -20 s . 20 s , 20 +u0020 ` -110 +u0020 oq -110 +u0020 lq -110 +u0020 Y -60 +u0020 W -25 +u0020 V -50 +u0020 T -25 +u0020 A -20 v . -130 v o -30 v e -20 diff -ruN groff-1.19/font/devps/AR groff-1.19.1/font/devps/AR --- groff-1.19/font/devps/AR Fri Mar 7 09:14:55 2003 +++ groff-1.19.1/font/devps/AR Sun Dec 28 12:16:03 2003 @@ -135,6 +135,7 @@ b v -20 c y -20 c k -15 +, u0020 -110 , ' -120 , cq -120 , rq -120 @@ -164,12 +165,14 @@ o w -20 o v -30 p y -20 +. u0020 -110 . ' -120 . cq -120 . rq -120 lq ` -35 lq oq -35 lq A -100 +rq u0020 -110 ` ` -203 ` oq -203 oq ` -203 @@ -180,6 +183,8 @@ cq v -30 ' t 10 cq t 10 +' u0020 -110 +cq u0020 -110 ' s -15 cq s -15 ' r -20 @@ -216,6 +221,14 @@ r a -20 s . 20 s , 20 +u0020 ` -110 +u0020 oq -110 +u0020 lq -110 +u0020 Y -60 +u0020 W -25 +u0020 V -50 +u0020 T -25 +u0020 A -20 v . -130 v o -30 v e -20 diff -ruN groff-1.19/font/devps/HB groff-1.19.1/font/devps/HB --- groff-1.19/font/devps/HB Fri Mar 7 09:14:57 2003 +++ groff-1.19.1/font/devps/HB Sun Dec 28 12:16:05 2003 @@ -135,6 +135,8 @@ c l -20 c k -20 c h -10 +: u0020 -40 +, u0020 -40 , ' -120 , cq -120 , rq -120 @@ -171,15 +173,19 @@ o w -15 o v -20 p y -15 +. u0020 -40 . ' -120 . cq -120 . rq -120 +rq u0020 -80 ` ` -46 ` oq -46 oq ` -46 oq oq -46 ' v -20 cq v -20 +' u0020 -80 +cq u0020 -80 ' s -60 cq s -60 ' r -40 @@ -206,6 +212,14 @@ r , -60 r c -20 s w -15 +; u0020 -40 +u0020 ` -60 +u0020 oq -60 +u0020 lq -80 +u0020 Y -120 +u0020 W -80 +u0020 V -80 +u0020 T -100 v . -80 v o -30 v , -80 diff -ruN groff-1.19/font/devps/HBI groff-1.19.1/font/devps/HBI --- groff-1.19/font/devps/HBI Fri Mar 7 09:14:57 2003 +++ groff-1.19.1/font/devps/HBI Sun Dec 28 12:16:05 2003 @@ -136,6 +136,8 @@ c l -20 c k -20 c h -10 +: u0020 -40 +, u0020 -40 , ' -120 , cq -120 , rq -120 @@ -172,15 +174,19 @@ o w -15 o v -20 p y -15 +. u0020 -40 . ' -120 . cq -120 . rq -120 +rq u0020 -80 ` ` -46 ` oq -46 oq ` -46 oq oq -46 ' v -20 cq v -20 +' u0020 -80 +cq u0020 -80 ' s -60 cq s -60 ' r -40 @@ -207,6 +213,14 @@ r , -60 r c -20 s w -15 +; u0020 -40 +u0020 ` -60 +u0020 oq -60 +u0020 lq -80 +u0020 Y -120 +u0020 W -80 +u0020 V -80 +u0020 T -100 v . -80 v o -30 v , -80 diff -ruN groff-1.19/font/devps/HI groff-1.19.1/font/devps/HI --- groff-1.19/font/devps/HI Fri Mar 7 09:14:58 2003 +++ groff-1.19.1/font/devps/HI Sun Dec 28 12:16:05 2003 @@ -144,6 +144,7 @@ b b -10 c k -20 c , -15 +: u0020 -50 , ' -100 , cq -100 , rq -100 @@ -208,13 +209,17 @@ p y -30 p . -35 p , -35 +. u0020 -60 . ' -100 . cq -100 . rq -100 +rq u0020 -40 ` ` -57 ` oq -57 oq ` -57 oq oq -57 +' u0020 -70 +cq u0020 -70 ' s -50 cq s -50 ' r -50 @@ -243,6 +248,14 @@ s w -30 s . -15 s , -15 +; u0020 -50 +u0020 ` -60 +u0020 oq -60 +u0020 lq -30 +u0020 Y -90 +u0020 W -40 +u0020 V -50 +u0020 T -50 v . -80 v o -25 v e -25 diff -ruN groff-1.19/font/devps/HNB groff-1.19.1/font/devps/HNB --- groff-1.19/font/devps/HNB Fri Mar 7 09:14:58 2003 +++ groff-1.19.1/font/devps/HNB Sun Dec 28 12:16:05 2003 @@ -135,6 +135,8 @@ c l -15 c k -15 c h -7 +: u0020 -32 +, u0020 -32 , ' -97 , cq -97 , rq -97 @@ -171,15 +173,19 @@ o w -11 o v -15 p y -11 +. u0020 -32 . ' -97 . cq -97 . rq -97 +rq u0020 -65 ` ` -37 ` oq -37 oq ` -37 oq oq -37 ' v -15 cq v -15 +' u0020 -65 +cq u0020 -65 ' s -48 cq s -48 ' r -32 @@ -206,6 +212,14 @@ r , -48 r c -15 s w -11 +; u0020 -32 +u0020 ` -48 +u0020 oq -48 +u0020 lq -65 +u0020 Y -97 +u0020 W -65 +u0020 V -65 +u0020 T -81 v . -65 v o -24 v , -65 diff -ruN groff-1.19/font/devps/HNBI groff-1.19.1/font/devps/HNBI --- groff-1.19/font/devps/HNBI Fri Mar 7 09:14:58 2003 +++ groff-1.19.1/font/devps/HNBI Sun Dec 28 12:16:06 2003 @@ -136,6 +136,8 @@ c l -20 c k -20 c h -10 +: u0020 -40 +, u0020 -40 , ' -120 , cq -120 , rq -120 @@ -172,15 +174,19 @@ o w -15 o v -20 p y -15 +. u0020 -40 . ' -120 . cq -120 . rq -120 +rq u0020 -80 ` ` -46 ` oq -46 oq ` -46 oq oq -46 ' v -20 cq v -20 +' u0020 -80 +cq u0020 -80 ' s -60 cq s -60 ' r -40 @@ -207,6 +213,14 @@ r , -60 r c -20 s w -15 +; u0020 -40 +u0020 ` -60 +u0020 oq -60 +u0020 lq -80 +u0020 Y -120 +u0020 W -80 +u0020 V -80 +u0020 T -100 v . -80 v o -30 v , -80 diff -ruN groff-1.19/font/devps/HNI groff-1.19.1/font/devps/HNI --- groff-1.19/font/devps/HNI Fri Mar 7 09:14:58 2003 +++ groff-1.19.1/font/devps/HNI Sun Dec 28 12:16:06 2003 @@ -144,6 +144,7 @@ b b -10 c k -20 c , -15 +: u0020 -50 , ' -100 , cq -100 , rq -100 @@ -208,13 +209,17 @@ p y -30 p . -35 p , -35 +. u0020 -60 . ' -100 . cq -100 . rq -100 +rq u0020 -40 ` ` -57 ` oq -57 oq ` -57 oq oq -57 +' u0020 -70 +cq u0020 -70 ' s -50 cq s -50 ' r -50 @@ -243,6 +248,14 @@ s w -30 s . -15 s , -15 +; u0020 -50 +u0020 ` -60 +u0020 oq -60 +u0020 lq -30 +u0020 Y -90 +u0020 W -40 +u0020 V -50 +u0020 T -50 v . -80 v o -25 v e -25 diff -ruN groff-1.19/font/devps/HNR groff-1.19.1/font/devps/HNR --- groff-1.19/font/devps/HNR Fri Mar 7 09:14:59 2003 +++ groff-1.19.1/font/devps/HNR Sun Dec 28 12:16:06 2003 @@ -143,6 +143,7 @@ b b -7 c k -15 c , -11 +: u0020 -40 , ' -81 , cq -81 , rq -81 @@ -207,13 +208,17 @@ p y -24 p . -28 p , -28 +. u0020 -48 . ' -81 . cq -81 . rq -81 +rq u0020 -32 ` ` -46 ` oq -46 oq ` -46 oq oq -46 +' u0020 -56 +cq u0020 -56 ' s -40 cq s -40 ' r -40 @@ -242,6 +247,14 @@ s w -24 s . -11 s , -11 +; u0020 -40 +u0020 ` -48 +u0020 oq -48 +u0020 lq -24 +u0020 Y -73 +u0020 W -32 +u0020 V -40 +u0020 T -40 v . -65 v o -20 v e -20 diff -ruN groff-1.19/font/devps/HR groff-1.19.1/font/devps/HR --- groff-1.19/font/devps/HR Fri Mar 7 09:14:58 2003 +++ groff-1.19.1/font/devps/HR Sun Dec 28 12:16:05 2003 @@ -143,6 +143,7 @@ b b -10 c k -20 c , -15 +: u0020 -50 , ' -100 , cq -100 , rq -100 @@ -207,13 +208,17 @@ p y -30 p . -35 p , -35 +. u0020 -60 . ' -100 . cq -100 . rq -100 +rq u0020 -40 ` ` -57 ` oq -57 oq ` -57 oq oq -57 +' u0020 -70 +cq u0020 -70 ' s -50 cq s -50 ' r -50 @@ -242,6 +247,14 @@ s w -30 s . -15 s , -15 +; u0020 -50 +u0020 ` -60 +u0020 oq -60 +u0020 lq -30 +u0020 Y -90 +u0020 W -40 +u0020 V -50 +u0020 T -50 v . -80 v o -25 v e -25 diff -ruN groff-1.19/font/devps/NB groff-1.19.1/font/devps/NB --- groff-1.19/font/devps/NB Fri Mar 7 09:14:59 2003 +++ groff-1.19.1/font/devps/NB Sun Dec 28 12:16:06 2003 @@ -108,16 +108,20 @@ Y : -25 Y a -100 Y A -91 +: u0020 -18 +, u0020 -18 , ' -18 , cq -18 , rq -18 f ' 75 f cq 75 f rq 75 +. u0020 -18 . ' -18 . cq -18 . rq -18 lq A -74 +rq u0020 -18 ` A -74 oq A -74 ' s -25 @@ -126,6 +130,15 @@ cq d -25 r . -74 r , -74 +; u0020 -18 +u0020 ` -18 +u0020 oq -18 +u0020 lq -18 +u0020 Y -18 +u0020 W -18 +u0020 V -18 +u0020 T -18 +u0020 A -18 v . -100 v , -100 w . -100 diff -ruN groff-1.19/font/devps/NBI groff-1.19.1/font/devps/NBI --- groff-1.19/font/devps/NBI Fri Mar 7 09:14:59 2003 +++ groff-1.19.1/font/devps/NBI Sun Dec 28 12:16:06 2003 @@ -148,6 +148,8 @@ c k -8 c h -18 c , -8 +: u0020 -18 +, u0020 -18 , ' -18 , cq -18 , rq -18 @@ -192,12 +194,14 @@ p y -4 p . 8 p , 8 +. u0020 -18 . ' -18 . cq -18 . rq -18 lq ` 20 lq oq 20 lq A -60 +rq u0020 -18 ` A -80 oq A -80 ' v -16 @@ -236,6 +240,13 @@ r a -11 s . 11 s , 11 +; u0020 -18 +u0020 lq -18 +u0020 Y -18 +u0020 W -33 +u0020 V -24 +u0020 T -18 +u0020 A -22 v . -11 v o -6 v , -11 diff -ruN groff-1.19/font/devps/NI groff-1.19.1/font/devps/NI --- groff-1.19/font/devps/NI Fri Mar 7 09:14:59 2003 +++ groff-1.19.1/font/devps/NI Sun Dec 28 12:16:06 2003 @@ -141,6 +141,8 @@ c k -18 c h -18 c , -50 +: u0020 -37 +, u0020 -37 , ' -37 , cq -37 , rq -37 @@ -159,10 +161,12 @@ o , -50 p . -50 p , -50 +. u0020 -37 . ' -37 . cq -37 . rq -37 lq A -75 +rq u0020 -37 ` ` -37 ` oq -37 oq ` -37 @@ -187,6 +191,15 @@ r : -25 s . -50 s , -50 +; u0020 -37 +u0020 ` -37 +u0020 oq -37 +u0020 lq -37 +u0020 Y -37 +u0020 W -37 +u0020 V -37 +u0020 T -37 +u0020 A -37 v . -75 v , -75 w . -75 diff -ruN groff-1.19/font/devps/NR groff-1.19.1/font/devps/NR --- groff-1.19/font/devps/NR Fri Mar 7 09:14:59 2003 +++ groff-1.19.1/font/devps/NR Sun Dec 28 12:16:07 2003 @@ -133,6 +133,8 @@ c k -7 c h -7 c , -18 +: u0020 -37 +, u0020 -37 , ' -37 , cq -37 , rq -37 @@ -149,10 +151,12 @@ o , -18 p . -18 p , -18 +. u0020 -37 . ' -37 . cq -37 . rq -37 lq A -74 +rq u0020 -37 ` ` -25 ` oq -25 oq ` -25 @@ -173,6 +177,15 @@ r , -100 s . -25 s , -25 +; u0020 -37 +u0020 ` -37 +u0020 oq -37 +u0020 lq -37 +u0020 Y -37 +u0020 W -37 +u0020 V -37 +u0020 T -37 +u0020 A -37 v . -125 v , -125 w . -125 diff -ruN groff-1.19/font/devps/PB groff-1.19.1/font/devps/PB --- groff-1.19/font/devps/PB Fri Mar 7 09:15:00 2003 +++ groff-1.19.1/font/devps/PB Sun Dec 28 12:16:07 2003 @@ -7,6 +7,7 @@ A y -70 A w -70 A v -70 +A u0020 -18 A ' -92 A cq -92 A Y -111 @@ -17,6 +18,7 @@ F , -111 F A -55 L y -74 +L u0020 -18 L ' -74 L cq -74 L Y -92 @@ -101,6 +103,8 @@ oq oq -55 ' t -18 cq t -18 +' u0020 -55 +cq u0020 -55 ' s -55 cq s -55 ' ' -55 diff -ruN groff-1.19/font/devps/PBI groff-1.19.1/font/devps/PBI --- groff-1.19/font/devps/PBI Fri Mar 7 09:15:00 2003 +++ groff-1.19.1/font/devps/PBI Sun Dec 28 12:16:07 2003 @@ -8,22 +8,26 @@ A y -55 A w -37 A v -55 +A u0020 -55 A ' -55 A cq -55 A Y -74 A W -74 A V -74 A T -55 +F u0020 -18 F . -111 F , -111 F A -74 L y -37 +L u0020 -18 L ' -55 L cq -55 L Y -74 L W -74 L V -74 L T -74 +P u0020 -55 P . -129 P , -129 P A -92 @@ -101,6 +105,8 @@ oq oq -55 ' t -18 cq t -18 +' u0020 -37 +cq u0020 -37 ' s -37 cq s -37 ' ' -55 diff -ruN groff-1.19/font/devps/PI groff-1.19.1/font/devps/PI --- groff-1.19/font/devps/PI Fri Mar 7 09:15:00 2003 +++ groff-1.19.1/font/devps/PI Sun Dec 28 12:16:07 2003 @@ -8,6 +8,7 @@ A y -55 A w -37 A v -37 +A u0020 -37 A ' -55 A cq -55 A Y -55 @@ -18,6 +19,7 @@ F , -111 F A -111 L y -37 +L u0020 -18 L ' -37 L cq -37 L Y -74 @@ -102,6 +104,8 @@ oq oq -74 ' t -37 cq t -37 +' u0020 -55 +cq u0020 -55 ' s -55 cq s -55 ' ' -74 diff -ruN groff-1.19/font/devps/PR groff-1.19.1/font/devps/PR --- groff-1.19/font/devps/PR Fri Mar 7 09:15:00 2003 +++ groff-1.19.1/font/devps/PR Sun Dec 28 12:16:07 2003 @@ -7,6 +7,7 @@ A y -74 A w -74 A v -92 +A u0020 -55 A ' -74 A cq -74 A Y -111 @@ -17,12 +18,14 @@ F , -92 F A -74 L y -55 +L u0020 -37 L ' -74 L cq -74 L Y -92 L W -74 L V -92 L T -74 +P u0020 -18 P . -129 P , -129 P A -92 @@ -79,6 +82,7 @@ W A -92 Y v -90 Y u -90 +Y u0020 -18 Y ; -74 Y q -90 Y . -111 @@ -118,6 +122,8 @@ r d -18 r , -74 r c -18 +u0020 Y -18 +u0020 A -37 v . -111 v , -111 w . -92 diff -ruN groff-1.19/font/devps/S groff-1.19.1/font/devps/S --- groff-1.19/font/devps/S Fri Mar 7 09:15:01 2003 +++ groff-1.19.1/font/devps/S Sun Dec 28 12:16:09 2003 @@ -61,7 +61,7 @@ *R 556,673,0,7 3 82 Rho *S 592,673 3 83 Sigma *T 611,673 3 84 Tau ---- 690,673,0,4,8 3 85 Upsilon +u03A5 690,673,0,4,8 3 85 Upsilon ts 439,500,233 3 86 sigma1 *W 768,688 3 87 Omega *C 645,673 3 88 Xi @@ -143,7 +143,7 @@ == 549,443 3 186 equivalence ~~ 549,394 3 187 approxequal ~= " ---- 1000,95,17 3 188 ellipsis +u2026 1000,95,17 3 188 ellipsis arrowvertex 603,1010,120 3 189 arrowvertex an 1000,276,0,50,60 3 190 arrowhorizex CR 658,629,16 3 191 carriagereturn @@ -209,9 +209,9 @@ ra 329,746,198 3 241 angleright is 274,916,107,67,52,-10 3 242 integral integral " ---- 686,921,83,29 3 243 integraltp ---- 686,975,88 3 244 integralex ---- 686,921,81 3 245 integralbt +u2320 686,921,83,29 3 243 integraltp +u23AE 686,975,88 3 244 integralex +u2321 686,921,81 3 245 integralbt parenrighttp 384,926,293,66 3 246 parenrighttp parenrightex 384,920,80,66 3 247 parenrightex parenrightbt 384,920,293,66 3 248 parenrightbt diff -ruN groff-1.19/font/devps/SS groff-1.19.1/font/devps/SS --- groff-1.19/font/devps/SS Fri Mar 7 09:15:01 2003 +++ groff-1.19.1/font/devps/SS Sun Dec 28 12:16:09 2003 @@ -192,4 +192,3 @@ --- 440,824,67,35,-108,35 3 252 bracerighttp --- 440,832,76,127,-105,99 3 253 bracerightmid --- 440,824,62,94,54,94 3 254 bracerightbt ---- 703,719,2,131,-86,99 3 256 apple diff -ruN groff-1.19/font/devps/TB groff-1.19.1/font/devps/TB --- groff-1.19/font/devps/TB Fri Mar 7 09:15:00 2003 +++ groff-1.19.1/font/devps/TB Sun Dec 28 12:16:08 2003 @@ -172,6 +172,8 @@ oq A -10 ' v -20 cq v -20 +' u0020 -74 +cq u0020 -74 ' s -37 cq s -37 ' r -20 @@ -194,6 +196,11 @@ r e -18 r , -92 r c -18 +u0020 Y -55 +u0020 W -30 +u0020 V -45 +u0020 T -30 +u0020 A -55 v . -70 v o -10 v e -10 diff -ruN groff-1.19/font/devps/TBI groff-1.19.1/font/devps/TBI --- groff-1.19/font/devps/TBI Fri Mar 7 09:15:01 2003 +++ groff-1.19.1/font/devps/TBI Sun Dec 28 12:16:08 2003 @@ -166,6 +166,8 @@ cq v -15 ' t -37 cq t -37 +' u0020 -74 +cq u0020 -74 ' s -74 cq s -74 ' r -15 @@ -178,6 +180,10 @@ cq d -15 r . -65 r , -65 +u0020 Y -70 +u0020 W -70 +u0020 V -70 +u0020 A -37 v . -37 v o -15 v e -15 diff -ruN groff-1.19/font/devps/TI groff-1.19.1/font/devps/TI --- groff-1.19/font/devps/TI Fri Mar 7 09:15:01 2003 +++ groff-1.19.1/font/devps/TI Sun Dec 28 12:16:08 2003 @@ -174,6 +174,8 @@ cq v -10 ' t -30 cq t -30 +' u0020 -111 +cq u0020 -111 ' s -40 cq s -40 ' r -25 @@ -196,6 +198,11 @@ r , -111 r c -37 r a -15 +u0020 Y -75 +u0020 W -40 +u0020 V -35 +u0020 T -18 +u0020 A -18 v . -74 v , -74 w . -74 diff -ruN groff-1.19/font/devps/TR groff-1.19.1/font/devps/TR --- groff-1.19/font/devps/TR Fri Mar 7 09:15:01 2003 +++ groff-1.19.1/font/devps/TR Sun Dec 28 12:16:08 2003 @@ -165,6 +165,8 @@ cq v -50 ' t -18 cq t -18 +' u0020 -74 +cq u0020 -74 ' s -55 cq s -55 ' r -50 @@ -182,6 +184,11 @@ r hy -20 r g -18 r , -40 +u0020 Y -90 +u0020 W -30 +u0020 V -50 +u0020 T -18 +u0020 A -55 v . -65 v o -20 v e -15 diff -ruN groff-1.19/font/devps/generate/Makefile groff-1.19.1/font/devps/generate/Makefile --- groff-1.19/font/devps/generate/Makefile Mon Jan 20 10:08:03 2003 +++ groff-1.19.1/font/devps/generate/Makefile Mon Jan 5 23:25:30 2004 @@ -1,4 +1,4 @@ -# Copyright (C) 1989-2000, 2002 Free Software Foundation, Inc. +# Copyright (C) 1989-2000, 2002, 2003 Free Software Foundation, Inc. # Written by James Clark (jjc@jclark.com) # # This file is part of groff. @@ -188,7 +188,8 @@ `$(AFMNAME) $(afmdir)/ZapfDingbats.afm` $(srcdir)/dingbats.map $@ SS: $(srcdir)/symbolsl.afm - $(AFMTODIT) -s $(IFLAG) $(srcdir)/symbolsl.afm $(srcdir)/lgreekmap $@ + $(AFMTODIT) -s -x $(IFLAG) \ + $(srcdir)/symbolsl.afm $(srcdir)/lgreekmap $@ S: symbol.afm $(AFMTODIT) -s $(RFLAG) symbol.afm symbolmap $@ diff -ruN groff-1.19/font/devps/generate/textmap groff-1.19.1/font/devps/generate/textmap --- groff-1.19/font/devps/generate/textmap Wed Mar 5 06:52:46 2003 +++ groff-1.19.1/font/devps/generate/textmap Sun Dec 28 11:44:18 2003 @@ -210,6 +210,8 @@ infinity if integral is integral integral +# the next line overrides the (old) PUA value of the AGL +integralex u23AE intersection ca less < lessequal <= @@ -304,6 +306,7 @@ underscore _ uni210F -h uni210F hbar +uni2210 coproduct uni2213 -+ uni2243 |= uni2262 ne diff -ruN groff-1.19/font/devps/symbolmap groff-1.19.1/font/devps/symbolmap --- groff-1.19/font/devps/symbolmap Wed Mar 5 06:53:04 2003 +++ groff-1.19.1/font/devps/symbolmap Sun Dec 28 12:16:08 2003 @@ -213,6 +213,8 @@ infinity if integral is integral integral +# the next line overrides the (old) PUA value of the AGL +integralex u23AE intersection ca less < lessequal <= @@ -307,6 +309,7 @@ underscore _ uni210F -h uni210F hbar +uni2210 coproduct uni2213 -+ uni2243 |= uni2262 ne diff -ruN groff-1.19/font/devutf8/R.proto groff-1.19.1/font/devutf8/R.proto --- groff-1.19/font/devutf8/R.proto Tue Apr 15 16:57:13 2003 +++ groff-1.19.1/font/devutf8/R.proto Sun Dec 28 09:42:31 2003 @@ -284,18 +284,65 @@ 'y 24 0 0x00FD Tp 24 0 0x00FE :y 24 0 0x00FF +u0041_0306 24 0 0x0102 +u0061_0306 24 0 0x0103 +u0041_0328 24 0 0x0104 +u0061_0328 24 0 0x0105 'C 24 0 0x0106 'c 24 0 0x0107 +u0043_030C 24 0 0x010C +u0063_030C 24 0 0x010D +u0044_030C 24 0 0x010E +u0064_030C 24 0 0x010F +u0110 24 0 0x0110 +u0111 24 0 0x0111 +u0045_0328 24 0 0x0118 +u0065_0328 24 0 0x0119 +u0045_030C 24 0 0x011A +u0065_030C 24 0 0x011B +u0047_0306 24 0 0x011E +u0067_0306 24 0 0x011F +u0049_0307 24 0 0x0130 .i 24 0 0x0131 IJ 24 0 0x0132 ij 24 0 0x0133 +u004C_0301 24 0 0x0139 +u006C_0301 24 0 0x013A +u004C_030C 24 0 0x013D +u006C_030C 24 0 0x013E /L 24 0 0x0141 /l 24 0 0x0142 +u004E_0301 24 0 0x0143 +u006E_0301 24 0 0x0144 +u004E_030C 24 0 0x0147 +u006E_030C 24 0 0x0148 +u004F_030B 24 0 0x0150 +u006F_030B 24 0 0x0151 OE 24 0 0x0152 oe 24 0 0x0153 +u0052_0301 24 0 0x0154 +u0072_0301 24 0 0x0155 +u0052_030C 24 0 0x0158 +u0072_030C 24 0 0x0159 +u0053_0301 24 0 0x015A +u0073_0301 24 0 0x015B +u0053_0327 24 0 0x015E +u0073_0327 24 0 0x015F vS 24 0 0x0160 vs 24 0 0x0161 +u0054_0327 24 0 0x0162 +u0074_0327 24 0 0x0163 +u0054_030C 24 0 0x0164 +u0074_030C 24 0 0x0165 +u0055_030A 24 0 0x016E +u0075_030A 24 0 0x016F +u0055_030B 24 0 0x0170 +u0075_030B 24 0 0x0171 :Y 24 0 0x0178 +u005A_0301 24 0 0x0179 +u007A_0301 24 0 0x017A +u005A_0307 24 0 0x017B +u007A_0307 24 0 0x017C vZ 24 0 0x017D vz 24 0 0x017E Fn 24 0 0x0192 @@ -415,6 +462,7 @@ nm 24 0 0x2209 st 24 0 0x220B product 24 0 0x220F +coproduct 24 0 0x2210 sum 24 0 0x2211 \- 24 0 0x2212 mi " @@ -487,6 +535,7 @@ bracerightmid " rb 24 0 0x23AD bracerightbt " +u23AE 24 0 0x23AE an 24 0 0x23AF br 24 0 0x2502 sq 24 0 0x25A1 diff -ruN groff-1.19/install-sh groff-1.19.1/install-sh --- groff-1.19/install-sh Sun Feb 6 10:34:43 2000 +++ groff-1.19.1/install-sh Tue Apr 20 05:11:04 2004 @@ -1,23 +1,52 @@ -#! /bin/sh -# +#!/bin/sh # install - install a program, script, or datafile -# This comes from X11R5. + +scriptversion=2004-04-01.17 + +# This originates from X11R5 (mit/util/scripts/install.sh), which was +# later released in X11R6 (xc/config/util/install.sh) with the +# following copyright and license. +# +# Copyright (C) 1994 X Consortium +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- +# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# Except as contained in this notice, the name of the X Consortium shall not +# be used in advertising or otherwise to promote the sale, use or other deal- +# ings in this Software without prior written authorization from the X Consor- +# tium. +# +# +# FSF changes to this file are in the public domain. # # 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. -# - +# from scratch. It can only install one file at a time, a restriction +# shared with many OS's install programs. # 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}" @@ -29,210 +58,268 @@ rmprog="${RMPROG-rm}" mkdirprog="${MKDIRPROG-mkdir}" -tranformbasename="" -transform_arg="" +transformbasename= +transform_arg= instcmd="$mvprog" chmodcmd="$chmodprog 0755" -chowncmd="" -chgrpcmd="" -stripcmd="" +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 +src= +dst= +dir_arg= + +usage="Usage: $0 [OPTION]... SRCFILE DSTFILE + or: $0 [OPTION]... SRCFILES... DIRECTORY + or: $0 -d DIRECTORIES... + +In the first form, install SRCFILE to DSTFILE, removing SRCFILE by default. +In the second, create the directory path DIR. + +Options: +-b=TRANSFORMBASENAME +-c copy source (using $cpprog) instead of moving (using $mvprog). +-d create directories instead of installing files. +-g GROUP $chgrp installed files to GROUP. +-m MODE $chmod installed files to MODE. +-o USER $chown installed files to USER. +-s strip installed files (using $stripprog). +-t=TRANSFORM +--help display this help and exit. +--version display version info and exit. + +Environment variables override the default commands: + CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG +" + +while test -n "$1"; do + case $1 in + -b=*) transformbasename=`echo $1 | sed 's/-b=//'` + shift + continue;; + + -c) instcmd=$cpprog + shift + continue;; + + -d) dir_arg=true + shift + continue;; + + -g) chgrpcmd="$chgrpprog $2" + shift + shift + continue;; + + --help) echo "$usage"; exit 0;; + + -m) chmodcmd="$chmodprog $2" + shift + shift + continue;; + + -o) chowncmd="$chownprog $2" + shift + shift + continue;; + + -s) stripcmd=$stripprog + shift + continue;; + + -t=*) transformarg=`echo $1 | sed 's/-t=//'` + shift + continue;; + + --version) echo "$0 $scriptversion"; exit 0;; + + *) # When -d is used, all remaining arguments are directories to create. + test -n "$dir_arg" && break + # Otherwise, the last argument is the destination. Remove it from $@. + for arg + do + if test -n "$dstarg"; then + # $@ is not empty: it contains at least $arg. + set fnord "$@" "$dstarg" + shift # fnord + fi + shift # arg + dstarg=$arg + done + break;; + esac done -if [ x"$src" = x ] -then - echo "install: no input file specified" - exit 1 -else - true +if test -z "$1"; then + if test -z "$dir_arg"; then + echo "$0: no input file specified." >&2 + exit 1 + fi + # It's OK to call `install-sh -d' without argument. + # This can happen when creating conditional directories. + exit 0 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 +for src +do + # Protect names starting with `-'. + case $src in + -*) src=./$src ;; + esac + + if test -n "$dir_arg"; then + dst=$src + src= + + if test -d "$dst"; then + instcmd=: + chmodcmd= + else + instcmd=$mkdirprog + 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 test ! -f "$src" && test ! -d "$src"; then + echo "$0: $src does not exist." >&2 + exit 1 + fi + + if test -z "$dstarg"; then + echo "$0: no destination specified." >&2 + exit 1 + fi + + dst=$dstarg + # Protect names starting with `-'. + case $dst in + -*) dst=./$dst ;; + esac - pathcomp="${pathcomp}/" + # If destination is a directory, append the input filename; won't work + # if double slashes aren't ignored. + if test -d "$dst"; then + dst=$dst/`basename "$src"` + fi + fi + + # This sed command emulates the dirname command. + dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` + + # Make sure that the destination directory exists. + + # Skip lots of stat calls in the usual case. + if test ! -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 test $# -ne 0 ; do + pathcomp=$pathcomp$1 + shift + if test ! -d "$pathcomp"; then + $mkdirprog "$pathcomp" || lasterr=$? + # mkdir can fail with a `File exist' error in case several + # install-sh are creating the directory concurrently. This + # is OK. + test ! -d "$pathcomp" && { (exit ${lasterr-1}); exit; } + fi + pathcomp=$pathcomp/ + done + fi + + if test -n "$dir_arg"; then + $doit $instcmd "$dst" \ + && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \ + && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \ + && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \ + && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; } + + else + # If we're going to rename the final executable, determine the name now. + if test -z "$transformarg"; then + dstfile=`basename "$dst"` + else + dstfile=`basename "$dst" $transformbasename \ + | sed $transformarg`$transformbasename + fi + + # don't allow the sed command to completely eliminate the filename. + test -z "$dstfile" && dstfile=`basename "$dst"` + + # Make a couple of temp file names in the proper directory. + dsttmp=$dstdir/_inst.$$_ + rmtmp=$dstdir/_rm.$$_ + + # Trap to clean up those temp files at exit. + trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0 + trap '(exit $?); exit' 1 2 13 15 + + # Move or copy the file name to the temp name + $doit $instcmd "$src" "$dsttmp" && + + # 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. + # + { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \ + && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \ + && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \ + && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } && + + # Now rename the file to the real destination. + { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \ + || { + # The rename failed, perhaps because mv can't rename something else + # to itself, or perhaps because mv is so ancient that it does not + # support -f. + + # Now remove or move aside any old file at destination location. + # We try this two ways since rm can't unlink itself on some + # systems and the destination file might be busy for other + # reasons. In this case, the final cleanup might fail but the new + # file should still install successfully. + { + if test -f "$dstdir/$dstfile"; then + $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \ + || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \ + || { + echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2 + (exit 1); exit + } + else + : + fi + } && + + # Now rename the file to the real destination. + $doit $mvcmd "$dsttmp" "$dstdir/$dstfile" + } + } + fi || { (exit 1); exit; } 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 +# The final little trick to "correctly" pass the exit status to the exit trap. +{ + (exit 0); exit +} + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff -ruN groff-1.19/man/groff.man groff-1.19.1/man/groff.man --- groff-1.19/man/groff.man Thu Apr 10 14:09:12 2003 +++ groff-1.19.1/man/groff.man Wed May 5 18:58:37 2004 @@ -2,11 +2,11 @@ .ig groff.man -Last update: 13 Feb 2003 +Last update: 04 May 2004 This file is part of groff, the GNU roff type-setting system. -Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc. +Copyright (C) 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. written by Bernd Warken maintained by Werner Lemberg @@ -24,6 +24,9 @@ .\" Setup .\" -------------------------------------------------------------------- . +.do nr groff_C \n[.C] +.cp 0 +. .mso www.tmac . .if n \{\ @@ -1165,6 +1168,16 @@ .request .end is called. . +.REQ .am1 macro +Same as +.request .am +but with compatibility mode switched off during macro expansion. +. +.REQ .am1 macro end +Same as +.request .am +but with compatibility mode switched off during macro expansion. +. .REQ .ami macro Append to a macro whose name is contained in the string register .I macro @@ -1180,14 +1193,14 @@ are string registers whose contents are interpolated for the macro name and the end macro, respectively. . -.REQ .am1 macro +.REQ .ami1 macro Same as -.request .am +.request .ami but with compatibility mode switched off during macro expansion. . -.REQ .am1 macro end +.REQ .ami1 macro end Same as -.request .am +.request .ami but with compatibility mode switched off during macro expansion. . .REQ .as stringvar anything @@ -1196,15 +1209,15 @@ to .IR stringvar . . -.REQ .asciify diversion -Unformat ASCII characters, spaces, and some escape sequences in -.IR diversion . -. .REQ .as1 stringvar anything Same as .request .as but with compatibility mode switched off during string expansion. . +.REQ .asciify diversion +Unformat ASCII characters, spaces, and some escape sequences in +.IR diversion . +. .REQ .backtrace Print a backtrace of the input on stderr. . @@ -1429,6 +1442,16 @@ are string registers whose contents are interpolated for the macro name and the end macro, respectively. . +.REQ .dei1 macro +Same as +.request .dei +but with compatibility mode switched off during macro expansion. +. +.REQ .dei1 macro end +Same as +.request .dei +but with compatibility mode switched off during macro expansion. +. .REQ .di End current diversion. . @@ -1963,6 +1986,10 @@ .REQ .return Return from a macro. . +.REQ .return anything +Return twice, namely from the macro at the current level and from the macro +one level higher. +. .REQ .rfschar f c1 c2 .\|.\|.\& Remove the definitions of characters .IR c1 , @@ -3137,6 +3164,12 @@ .request lt request). . +.REG .m +The current drawing color (string-valued). +. +.REG .M +The current background color (string-valued). +. .REG .n Length of text portion on previous output line. . @@ -3229,7 +3262,10 @@ request. . .REG .u -Equal to 1 bin fill mode and 0 in nofill mode. +Equal to 1 in fill mode and 0 in nofill mode. +. +.REG .U +Equal to 1 in safer mode and 0 in unsafe mode. . .REG .v Current vertical line spacing. @@ -3424,7 +3460,7 @@ .SH AUTHORS .\" -------------------------------------------------------------------- . -Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc. +Copyright (C) 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. . .P This document is distributed under the terms of the FDL (GNU Free @@ -3488,6 +3524,7 @@ "Nroff/\:Troff User's Manual by Osanna & Kernighan" \[em] the bible for classical troff. . +.cp \n[groff_C] . .\" -------------------------------------------------------------------- .\" Emacs Setup diff -ruN groff-1.19/man/groff_char.man groff-1.19.1/man/groff_char.man --- groff-1.19/man/groff_char.man Tue Feb 25 07:11:47 2003 +++ groff-1.19.1/man/groff_char.man Sat Dec 27 23:48:40 2003 @@ -17,7 +17,7 @@ This file is part of groff (GNU roff). File position: /man/groff_char.man -Last update: 24 Feb 2003 +Last update: 27 Dec 2003 Copyright (C) 1989-2000, 2001, 2002, 2003 Free Software Foundation, Inc. written by Werner Lemberg @@ -37,6 +37,9 @@ .\" Setup Part 1 .\" -------------------------------------------------------------------- . +.do nr groff_char_C \n[.C] +.cp 0 +. .\" groff only .if \n(.g .mso www.tmac .\".if \n(.g .ne 2v @@ -1235,6 +1238,7 @@ .CN integral integral u222B "***" .CN sum summation u2211 "***" .CN product product u220F "***" +.CN coproduct uni2210 u2210 "***" .C2 gr gradient u2207 "+" .C2 sr radical u221A "square root +" .CN sqrt radical u221A "***" @@ -1406,6 +1410,8 @@ .P .ie \n(.g .URL http://\:www.unicode.org "The Unicode Standard" .el The Unicode Standard +. +.cp \n[groff_char_C] . .\" -------------------------------------------------------------------- .\" Emacs settings diff -ruN groff-1.19/man/groff_diff.man groff-1.19.1/man/groff_diff.man --- groff-1.19/man/groff_diff.man Thu Apr 10 14:06:12 2003 +++ groff-1.19.1/man/groff_diff.man Wed May 5 18:58:49 2004 @@ -3,12 +3,12 @@ .ig groff_diff.man -Last update : 1 Mar 2003 +Last update : 04 May 2004 This file is part of groff, the GNU roff type-setting system. It is the source of the man-page groff_diff(7). -Copyright (C) 1989, 2001, 2002, 2003 Free Software Foundation, Inc. +Copyright (C) 1989, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. written by James Clark modified by Werner Lemberg @@ -28,6 +28,9 @@ .\" Setup .\" -------------------------------------------------------------------- . +.do nr groff_diff_C \n[.C] +.cp 0 +. .mso www.tmac . .if n \{\ @@ -878,14 +881,6 @@ request; normally they modify the value of an existing object. . .TP -.BI .ami\ xx\ yy -Append to macro indirectly. -. -See the -.B dei -request below for more information. -. -.TP .BI .am1\ xx\ yy Similar to .BR .am , @@ -908,6 +903,41 @@ .BR .ds1 . . .TP +.BI .ami\ xx\ yy +Append to macro indirectly. +. +See the +.B dei +request below for more information. +. +.TP +.BI .ami1\ xx\ yy +Same as the +.B ami +request but compatibility mode is switched off during execution. +. +.TP +.BI .as1\ xx\ yy +Similar to +.BR .as , +but compatibility mode is switched off during expansion. +. +To be more precise, a `compatibility save' token is inserted at the +beginning of the string, and a `compatibility restore' token at the end. +. +As a consequence, the requests +.BR as , +.BR as1 , +.BR ds , +and +.B ds1 +can be intermixed freely since the compatibility save/\:restore tokens +only affect the (sub)strings defined by +.B as1 +and +.BR ds1 . +. +.TP .BI .asciify\ xx This request `unformats' the diversion .I xx @@ -953,27 +983,6 @@ instead. . .TP -.BI .as1\ xx\ yy -Similar to -.BR .as , -but compatibility mode is switched off during expansion. -. -To be more precise, a `compatibility save' token is inserted at the -beginning of the string, and a `compatibility restore' token at the end. -. -As a consequence, the requests -.BR as , -.BR as1 , -.BR ds , -and -.B ds1 -can be intermixed freely since the compatibility save/\:restore tokens -only affect the (sub)strings defined by -.B as1 -and -.BR ds1 . -. -.TP .B .backtrace Print a backtrace of the input stack on stderr. . @@ -1244,6 +1253,14 @@ is not the same. . .TP +.BI .de1\ xx\ yy +Similar to +.BR .de , +but compatibility mode is switched off during execution. +. +On entry, the current compatibility mode is saved and restored at exit. +. +.TP .BI .dei\ xx\ yy Define macro indirectly. . @@ -1273,12 +1290,10 @@ .RE . .TP -.BI .de1\ xx\ yy -Similar to -.BR .de , -but compatibility mode is switched off during execution. -. -On entry, the current compatibility mode is saved and restored at exit. +.BI .dei1\ xx\ yy +Similar to the +.B dei +request but compatibility mode is switched off during execution. . .TP .BI .do\ xxx @@ -1890,6 +1905,9 @@ .B .return Within a macro, return immediately. . +If called with an argument, return twice, namely from the current macro and +from the macro one level higher. +. No effect otherwise. . .TP @@ -2675,6 +2693,18 @@ request. . .TP +.B \[rs]n[.m] +The name of the current drawing color. +. +This is a string-valued register. +. +.TP +.B \[rs]n[.M] +The name of the current background color. +. +This is a string-valued register. +. +.TP .B \[rs]n[.ne] The amount of space that was needed in the last .B ne @@ -2765,6 +2795,12 @@ register. . .TP +.B \[rs]n[.U] +Set to 1 if in safer mode and to 0 if in unsafe mode (as given with the +.B \-U +command line option). +. +.TP .B \[rs]n[.vpt] 1\~if vertical position traps are enabled, 0\~otherwise. . @@ -2902,7 +2938,7 @@ predefines a single (read/write) string-based register, .BR \[rs]*(.T , which contains the argument given to the -.B -T +.B \-T command line option, namely the current output device (for example, .I latin1 or @@ -2912,7 +2948,7 @@ which is defined to be\~1 if .B troff is called with the -.B -T +.B \-T command line option, and zero otherwise. . This behaviour is different to UNIX troff. @@ -3539,8 +3575,8 @@ . .P In -.I groff -mode, there is a fundamental difference between unformatted input +.IR groff , +there is a fundamental difference between unformatted input characters, and formatted output characters (glyphs). . Everything that affects how a glyph will be output is @@ -3590,8 +3626,8 @@ .RE . .P -In -.I GNU mode +With +.I GNU troff this will be printed as .esc \[rs] . So each pair of input backslashes @@ -3662,7 +3698,7 @@ .SH AUTHORS .\" -------------------------------------------------------------------- . -Copyright (C) 1989, 2001, 2002, 2003 Free Software Foundation, Inc. +Copyright (C) 1989, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. . .P This document is distributed under the terms of the FDL (GNU Free @@ -3740,6 +3776,7 @@ .URL http://\:cm.bell-labs.com/\:cm/\:cs/\:cstr/\:54.ps.gz \ "classical troff documentation" . . +.cp \n[groff_diff_C] . .\" -------------------------------------------------------------------- .\" Emacs variables diff -ruN groff-1.19/man/groff_font.man groff-1.19.1/man/groff_font.man --- groff-1.19/man/groff_font.man Fri Mar 14 09:13:32 2003 +++ groff-1.19.1/man/groff_font.man Tue Feb 3 23:00:54 2004 @@ -1,5 +1,5 @@ .ig -Copyright (C) 1989-1995, 2001, 2002, 2003 Free Software Foundation, Inc. +Copyright (C) 1989-1995, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice @@ -17,17 +17,20 @@ the original English. .. . +.do nr groff_font_C \n[.C] +.cp 0 +. .de TQ -.br -.ns -.TP \\$1 +. br +. ns +. TP \\$1 .. . .\" 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" +. ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP +. el .TP "\\$1" .. . . @@ -100,7 +103,7 @@ machine units. . .TP -.BI paperheight\ n +.BI paperlength\ n The physical vertical dimension of the output medium in machine units. . This isn't used by @@ -626,6 +629,8 @@ . .BR groff_out (@MAN5EXT@), .BR @g@troff (@MAN1EXT@). +. +.cp \n[groff_font_C] . .\" Local Variables: .\" mode: nroff diff -ruN groff-1.19/man/groff_out.man groff-1.19.1/man/groff_out.man --- groff-1.19/man/groff_out.man Sat Apr 12 16:05:07 2003 +++ groff-1.19.1/man/groff_out.man Thu Jul 17 15:55:06 2003 @@ -3,7 +3,7 @@ .ig groff_out.5 -Last update: 13 Apr 2003 +Last update: 15 Jul 2003 This file is part of groff, the GNU roff type-setting system. @@ -24,6 +24,9 @@ .\" Setup .\" -------------------------------------------------------------------- . +.do nr groff_out_C \n[.C] +.cp 0 +. .mso www.tmac . .if n \{\ @@ -1887,6 +1890,8 @@ .MTO bwarken@mayn.de "Bernd Warken" and is maintained by .MTO wl@gnu.org "Werner Lemberg" . +. +.cp \n[groff_out_C] . .\" -------------------------------------------------------------------- .\" Emacs settings diff -ruN groff-1.19/man/groff_tmac.man groff-1.19.1/man/groff_tmac.man --- groff-1.19/man/groff_tmac.man Thu Mar 13 16:19:15 2003 +++ groff-1.19.1/man/groff_tmac.man Thu Jul 17 15:56:04 2003 @@ -14,7 +14,7 @@ File position: /man/groff_tmac.man -Last update: 13 Mar 2003 +Last update: 15 Jul 2003 This file is part of groff, the GNU roff type-setting system. @@ -36,6 +36,9 @@ .\" Setup .\" -------------------------------------------------------------------- . +.do nr groff_tmac_C \n[.C] +.cp 0 +. .mso www.tmac . .if n \{\ @@ -1238,6 +1241,8 @@ .P The Filesystem Hierarchy Standard is available at the .URL http://\:www.pathname.com/\:fhs/ "FHS web site" . +. +.cp \n[groff_tmac_C] . .\" Local Variables: .\" mode: nroff diff -ruN groff-1.19/man/roff.man groff-1.19.1/man/roff.man --- groff-1.19/man/roff.man Thu Apr 3 09:12:44 2003 +++ groff-1.19.1/man/roff.man Thu Jan 22 22:37:30 2004 @@ -1,11 +1,11 @@ .ig roff.man -Last update: 3 Apr 2003 +Last update: 21 Jan 2004 This file is part of groff, the GNU roff type-setting system. -Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc. +Copyright (C) 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. written by Bernd Warken maintained by Werner Lemberg @@ -23,6 +23,9 @@ .\" Setup .\" -------------------------------------------------------------------- . +.do nr roff_C \n[.C] +.cp 0 +. .mso www.tmac . .if n \{\ @@ -470,7 +473,7 @@ operating system. . It is freely available for non-commercial use, even the source code, -but has a proprietary license that empedes the free development. +but has a proprietary license that impedes the free development. . This concept is outdated, so Plan\~9 was not accepted as a platform to bundle the main-stream development. @@ -1166,7 +1169,7 @@ .\" -------------------------------------------------------------------- . Many classical -.troff +.B troff documents are still available on-line. . The two main manuals of the troff language are @@ -1244,7 +1247,7 @@ .SH AUTHORS .\" -------------------------------------------------------------------- . -Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc. +Copyright (C) 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. . .P This document is distributed under the terms of the FDL (GNU Free @@ -1264,6 +1267,7 @@ it is maintained by .MTO wl@gnu.org "Werner Lemberg". . +.cp \n[roff_C] . .\" -------------------------------------------------------------------- .\" Emacs setup diff -ruN groff-1.19/mkinstalldirs groff-1.19.1/mkinstalldirs --- groff-1.19/mkinstalldirs Sun Feb 6 10:34:43 2000 +++ groff-1.19.1/mkinstalldirs Tue Apr 20 05:11:04 2004 @@ -1,40 +1,150 @@ #! /bin/sh # mkinstalldirs --- make directory hierarchy -# Author: Noah Friedman -# Created: 1993-05-16 -# Public domain -# $Id: mkinstalldirs,v 1.1.1.1 2000/02/06 09:34:43 wlemb Exp $ +scriptversion=2004-02-15.20 + +# Original author: Noah Friedman +# Created: 1993-05-16 +# Public domain. +# +# This file is maintained in Automake, please report +# bugs to or send patches to +# . errstatus=0 +dirmode="" + +usage="\ +Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ... + +Create each directory DIR (with mode MODE, if specified), including all +leading file name components. + +Report bugs to ." + +# process command line arguments +while test $# -gt 0 ; do + case $1 in + -h | --help | --h*) # -h for help + echo "$usage" + exit 0 + ;; + -m) # -m PERM arg + shift + test $# -eq 0 && { echo "$usage" 1>&2; exit 1; } + dirmode=$1 + shift + ;; + --version) + echo "$0 $scriptversion" + exit 0 + ;; + --) # stop option processing + shift + break + ;; + -*) # unknown option + echo "$usage" 1>&2 + exit 1 + ;; + *) # first non-opt arg + break + ;; + esac +done + +for file +do + if test -d "$file"; then + shift + else + break + fi +done + +case $# in + 0) exit 0 ;; +esac + +# Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and +# mkdir -p a/c at the same time, both will detect that a is missing, +# one will create a, then the other will try to create a and die with +# a "File exists" error. This is a problem when calling mkinstalldirs +# from a parallel make. We use --version in the probe to restrict +# ourselves to GNU mkdir, which is thread-safe. +case $dirmode in + '') + if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + echo "mkdir -p -- $*" + exec mkdir -p -- "$@" + else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + test -d ./-p && rmdir ./-p + test -d ./--version && rmdir ./--version + fi + ;; + *) + if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 && + test ! -d ./--version; then + echo "mkdir -m $dirmode -p -- $*" + exec mkdir -m "$dirmode" -p -- "$@" + else + # Clean up after NextStep and OpenStep mkdir. + for d in ./-m ./-p ./--version "./$dirmode"; + do + test -d $d && rmdir $d + done + fi + ;; +esac for file do - set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` - shift + set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` + shift - pathcomp= - for d - do - pathcomp="$pathcomp$d" - case "$pathcomp" in - -* ) pathcomp=./$pathcomp ;; - esac - - if test ! -d "$pathcomp"; then - echo "mkdir $pathcomp" 1>&2 - - mkdir "$pathcomp" || lasterr=$? - - if test ! -d "$pathcomp"; then - errstatus=$lasterr - fi - fi + pathcomp= + for d + do + pathcomp="$pathcomp$d" + case $pathcomp in + -*) pathcomp=./$pathcomp ;; + esac + + if test ! -d "$pathcomp"; then + echo "mkdir $pathcomp" + + mkdir "$pathcomp" || lasterr=$? + + if test ! -d "$pathcomp"; then + errstatus=$lasterr + else + if test ! -z "$dirmode"; then + echo "chmod $dirmode $pathcomp" + lasterr="" + chmod "$dirmode" "$pathcomp" || lasterr=$? + + if test ! -z "$lasterr"; then + errstatus=$lasterr + fi + fi + fi + fi - pathcomp="$pathcomp/" - done + pathcomp="$pathcomp/" + done done exit $errstatus -# mkinstalldirs ends here +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff -ruN groff-1.19/src/devices/grodvi/dvi.cpp groff-1.19.1/src/devices/grodvi/dvi.cpp --- groff-1.19/src/devices/grodvi/dvi.cpp Thu Apr 3 10:09:36 2003 +++ groff-1.19.1/src/devices/grodvi/dvi.cpp Wed Apr 7 18:05:03 2004 @@ -1,5 +1,5 @@ // -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2002, 2003 +/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) @@ -340,12 +340,12 @@ do_special(buf); } -void dvi_printer::set_char(int index, font *f, const environment *env, +void dvi_printer::set_char(int idx, font *f, const environment *env, int w, const char *) { if (*env->col != cur_color) set_color(env->col); - int code = f->get_code(index); + int code = f->get_code(idx); if (env->size != cur_point_size || f != cur_font) { cur_font = f; cur_point_size = env->size; @@ -384,7 +384,7 @@ } possibly_begin_line(); end_h = env->hpos + w; - cur_h += scale(f->get_width(index, UNITWIDTH)/MULTIPLIER, + cur_h += scale(f->get_width(idx, UNITWIDTH)/MULTIPLIER, cur_point_size*RES_7227); if (cur_h > max_h) max_h = cur_h; @@ -709,24 +709,26 @@ fill_flag = 1; // fall through case 'c': - // troff adds an extra argument to C - if (np != 1 && !(code == 'C' && np == 2)) { - error("1 argument required for circle"); + { + // troff adds an extra argument to C + if (np != 1 && !(code == 'C' && np == 2)) { + error("1 argument required for circle"); + break; + } + moveto(env->hpos+p[0]/2, env->vpos); + if (fill_flag) + fill_next(env); + else + set_line_thickness(env); + int rad; + rad = milliinches(p[0]/2); + sprintf(buf, "%s 0 0 %d %d 0 6.28319", + (fill_flag ? "ia" : "ar"), + rad, + rad); + do_special(buf); break; } - moveto(env->hpos+p[0]/2, env->vpos); - if (fill_flag) - fill_next(env); - else - set_line_thickness(env); - int rad; - rad = milliinches(p[0]/2); - sprintf(buf, "%s 0 0 %d %d 0 6.28319", - (fill_flag ? "ia" : "ar"), - rad, - rad); - do_special(buf); - break; case 'l': if (np != 2) { error("2 arguments required for line"); @@ -820,11 +822,11 @@ if (adjust_arc_center(p, c)) { int rad = milliinches(int(sqrt(c[0]*c[0] + c[1]*c[1]) + .5)); moveto(env->hpos + int(c[0]), env->vpos + int(c[1])); - sprintf(buf, "ar 0 0 %d %d %f %f", - rad, - rad, - atan2(p[1] + p[3] - c[1], p[0] + p[2] - c[0]), - atan2(-c[1], -c[0])); + double start = atan2(p[1] + p[3] - c[1], p[0] + p[2] - c[0]); + double end = atan2(-c[1], -c[0]); + if (end - start < 0) + start -= 2 * 3.14159265358; + sprintf(buf, "ar 0 0 %d %d %f %f", rad, rad, start, end); do_special(buf); } else { @@ -915,7 +917,7 @@ { "version", no_argument, 0, 'v' }, { NULL, 0, 0, 0 } }; - while ((c = getopt_long(argc, argv, "dF:lp:vw:", long_options, NULL)) + while ((c = getopt_long(argc, argv, "dF:I:lp:vw:", long_options, NULL)) != EOF) switch(c) { case 'd': @@ -926,6 +928,9 @@ break; case 'F': font::command_line_font_dir(optarg); + break; + case 'I': + // ignore include search path break; case 'p': if (!font::scan_papersize(optarg, 0, diff -ruN groff-1.19/src/devices/grodvi/grodvi.man groff-1.19.1/src/devices/grodvi/grodvi.man --- groff-1.19/src/devices/grodvi/grodvi.man Fri Mar 14 08:56:06 2003 +++ groff-1.19.1/src/devices/grodvi/grodvi.man Fri Jul 18 09:30:34 2003 @@ -17,6 +17,8 @@ the original English. .. . +.do nr grodvi_C \n[.C] +.cp 0 . .ie t .ds tx T\h'-.1667m'\v'.224m'E\v'-.224m'\h'-.125m'X .el .ds tx TeX @@ -424,6 +426,8 @@ .BR groff_font (@MAN5EXT@), .BR groff_char (@MAN7EXT@), .BR groff_tmac (@MAN5EXT@) +. +.cp \n[grodvi_C] . .\" Local Variables: .\" mode: nroff diff -ruN groff-1.19/src/devices/grohtml/grohtml.man groff-1.19.1/src/devices/grohtml/grohtml.man --- groff-1.19/src/devices/grohtml/grohtml.man Mon Sep 16 18:13:53 2002 +++ groff-1.19.1/src/devices/grohtml/grohtml.man Mon Jul 7 07:22:48 2003 @@ -1,5 +1,5 @@ .ig -Copyright (C) 1999-2000, 2001, 2002 Free Software Foundation, Inc. +Copyright (C) 1999-2000, 2001, 2002, 2003 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 @@ -178,6 +178,16 @@ .B grohtml to place all image files into directory .IR dir . +.TP +.BI \-j filename +Inform +.B grohtml +to split the html output into multiple files. +The +.I filename +is the stem and all level one section headings start a new +file, named +.IR filename-n.html . .TP .B \-v Print the version number. diff -ruN groff-1.19/src/devices/grohtml/html-text.cpp groff-1.19.1/src/devices/grohtml/html-text.cpp --- groff-1.19/src/devices/grohtml/html-text.cpp Wed Apr 16 15:28:52 2003 +++ groff-1.19.1/src/devices/grohtml/html-text.cpp Wed Apr 7 18:15:47 2004 @@ -1,5 +1,5 @@ // -*- C++ -*- -/* Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc. +/* Copyright (C) 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. * * Gaius Mulley (gaius@glam.ac.uk) wrote html-text.cpp * @@ -654,15 +654,16 @@ } void html_text::do_para (simple_output *op, const char *arg1, - int indentation, int pageoffset, int linelength) + int indentation_value, int page_offset, + int line_length) { - html_indent *indent; + html_indent *ind; - if (indentation == 0) - indent = NULL; + if (indentation_value == 0) + ind = NULL; else - indent = new html_indent(op, indentation, pageoffset, linelength); - do_para(arg1, indent); + ind = new html_indent(op, indentation_value, page_offset, line_length); + do_para(arg1, ind); } /* diff -ruN groff-1.19/src/devices/grohtml/html.h groff-1.19.1/src/devices/grohtml/html.h --- groff-1.19/src/devices/grohtml/html.h Sun Feb 17 18:05:53 2002 +++ groff-1.19.1/src/devices/grohtml/html.h Mon Jan 5 23:29:24 2004 @@ -1,5 +1,5 @@ // -*- C++ -*- -/* Copyright (C) 2000, 2001 Free Software Foundation, Inc. +/* Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) This file is part of groff. diff -ruN groff-1.19/src/devices/grohtml/post-html.cpp groff-1.19.1/src/devices/grohtml/post-html.cpp --- groff-1.19/src/devices/grohtml/post-html.cpp Tue Apr 29 09:43:10 2003 +++ groff-1.19.1/src/devices/grohtml/post-html.cpp Sun Apr 18 17:43:28 2004 @@ -1,5 +1,5 @@ // -*- C++ -*- -/* Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc. +/* Copyright (C) 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. * * Gaius Mulley (gaius@glam.ac.uk) wrote post-html.cpp * but it owes a huge amount of ideas and raw code from @@ -78,6 +78,11 @@ static int manufacture_headings = FALSE; /* default is to use the Hn html headings, */ /* rather than manufacture our own. */ static color *default_background = NULL; /* has user requested initial bg color? */ +static string job_name; /* if set then the output is split into */ + /* multiple files with `job_name'-%d.html */ +static int multiple_files = FALSE; /* must we the output be divided into */ + /* multiple html files, one for each */ + /* heading? */ /* @@ -128,6 +133,9 @@ struct file { FILE *fp; file *next; + int new_output_file; + int require_links; + string output_file_name; file (FILE *f); }; @@ -137,21 +145,28 @@ */ file::file (FILE *f) - : fp(f), next(0) + : fp(f), next(0), new_output_file(FALSE), + require_links(FALSE), output_file_name("") { } class files { public: - files (); - FILE *get_file (void); - void start_of_list (void); - void move_next (void); - void add_new_file (FILE *f); + files (); + FILE *get_file (void); + void start_of_list (void); + void move_next (void); + void add_new_file (FILE *f); + void set_file_name (string name); + void set_links_required (void); + int are_links_required (void); + int is_new_output_file (void); + string file_name (void); + string next_file_name (void); private: - file *head; - file *tail; - file *ptr; + file *head; + file *tail; + file *ptr; }; /* @@ -169,11 +184,10 @@ FILE *files::get_file (void) { - if (ptr) { - return( ptr->fp ); - } else { - return( 0 ); - } + if (ptr) + return ptr->fp; + else + return 0; } /* @@ -212,6 +226,76 @@ } /* + * set_file_name - sets the final file name to contain the html + * data to name. + */ + +void files::set_file_name (string name) +{ + if (ptr != NULL) { + ptr->output_file_name = name; + ptr->new_output_file = TRUE; + } +} + +/* + * set_links_required - issue links when processing this component + * of the file. + */ + +void files::set_links_required (void) +{ + if (ptr != NULL) + ptr->require_links = TRUE; +} + +/* + * are_links_required - returns TRUE if this section of the file + * requires that links should be issued. + */ + +int files::are_links_required (void) +{ + if (ptr != NULL) + return ptr->require_links; + return FALSE; +} + +/* + * is_new_output_file - returns TRUE if this component of the file + * is the start of a new output file. + */ + +int files::is_new_output_file (void) +{ + if (ptr != NULL) + return ptr->new_output_file; + return FALSE; +} + +/* + * file_name - returns the name of the file. + */ + +string files::file_name (void) +{ + if (ptr != NULL) + return ptr->output_file_name; + return string(""); +} + +/* + * next_file_name - returns the name of the next file. + */ + +string files::next_file_name (void) +{ + if (ptr != NULL && ptr->next != NULL) + return ptr->next->output_file_name; + return string(""); +} + +/* * the class and methods for styles */ @@ -423,11 +507,11 @@ int max_vertical, int max_horizontal, bool is_troff_command, bool is_auto_image, bool is_special_command, - bool is_a_line, int line_thickness) + bool is_a_line_flag, int line_thickness) : text_style(*s), text_string(str), text_length(length), minv(min_vertical), minh(min_horizontal), maxv(max_vertical), maxh(max_horizontal), is_tag(is_troff_command), is_img_auto(is_auto_image), is_special(is_special_command), - is_line(is_a_line), thickness(line_thickness), tab(NULL) + is_line(is_a_line_flag), thickness(line_thickness), tab(NULL) { } @@ -483,11 +567,11 @@ void text_glob::text_glob_line (style *s, int min_vertical , int min_horizontal, int max_vertical , int max_horizontal, - int thickness) + int thickness_value) { text_glob *g = new text_glob(s, "", 0, min_vertical, min_horizontal, max_vertical, max_horizontal, - FALSE, FALSE, FALSE, TRUE, thickness); + FALSE, FALSE, FALSE, TRUE, thickness_value); *this = *g; delete g; } @@ -1202,15 +1286,18 @@ void page::add_line (style *s, int line_number, - int x1, int y1, int x2, int y2, + int x_1, int y_1, int x_2, int y_2, int thickness) { - if (y1 == y2) { + if (y_1 == y_2) { text_glob *g = new text_glob(); g->text_glob_line(s, - min(y1, y2), min(x1, y2), max(y1, y2), max(x1, x2), + min(y_1, y_2), min(x_1, x_2), + max(y_1, y_2), max(x_1, x_2), thickness); - glyphs.add(g, line_number, min(y1, y2), min(x1, y2), max(y1, y2), max(x1, x2)); + glyphs.add(g, line_number, + min(y_1, y_2), min(x_1, x_2), + max(y_1, y_2), max(x_1, x_2)); } } @@ -1267,10 +1354,10 @@ if (html_glyph) html_string += html_glyph; else { - int index=s->f->name_to_index((troff_charname + '\0').contents()); + int idx=s->f->name_to_index((troff_charname + '\0').contents()); - if (s->f->contains(index) && (index != 0)) - html_string += s->f->get_code(index); + if (s->f->contains(idx) && (idx != 0)) + html_string += s->f->get_code(idx); } } } else @@ -1380,18 +1467,21 @@ header_desc (); ~header_desc (); - int no_of_headings; // how many headings have we found? - char_buffer headings; // all the headings used in the document - list headers; // list of headers built from .NH and .SH - int header_level; // current header level - int written_header; // have we written the header yet? - string header_buffer; // current header text + int no_of_level_one_headings; // how many .SH or .NH 1 have we found? + int no_of_headings; // how many headings have we found? + char_buffer headings; // all the headings used in the document + list headers; // list of headers built from .NH and .SH + list header_filename; // in which file is this header? + int header_level; // current header level + int written_header; // have we written the header yet? + string header_buffer; // current header text void write_headings (FILE *f, int force); }; header_desc::header_desc () - : no_of_headings(0), header_level(2), written_header(0) + : no_of_level_one_headings(0), no_of_headings(0), + header_level(2), written_header(0) { } @@ -1412,9 +1502,15 @@ int h=1; headers.start_from_head(); + header_filename.start_from_head(); do { g = headers.get_data(); - fputs("text_string, f); + } + fputs("#", f); if (simple_anchors) { string buffer(ANCHOR_TEMPLATE); @@ -1428,6 +1524,8 @@ fputs(g->text_string, f); fputs("
        \n", f); headers.move_right(); + if (multiple_files && (! header_filename.is_empty())) + header_filename.move_right(); } while (! headers.is_equal_to_head()); fputs("\n", f); } @@ -1533,6 +1631,8 @@ void do_auto_image (text_glob *g, const char *filename); void do_links (void); void do_flush (void); + void do_job_name (char *name); + void insert_split_file (void); int is_in_middle (int left, int right); void do_sup_or_sub (text_glob *g); int start_subscript (text_glob *g); @@ -1563,6 +1663,10 @@ void remove_courier_tabs (void); void update_min_max (colType type_of_col, int *minimum, int *maximum, text_glob *g); void add_table_end (const char *); + void do_file_components (void); + void write_navigation (const string &top, const string &prev, + const string &next, const string ¤t); + void emit_link (const string &to, const char *name); // ADD HERE public: @@ -1937,6 +2041,22 @@ html.put_string(">").nl(); } + /* and now we save the file name in which this header will occur */ + + style st; // fake style to enable us to use the list data structure + + text_glob *h=new text_glob(); + h->text_glob_html(&st, + header.headings.add_string(file_list.file_name()), + file_list.file_name().length(), + header.no_of_headings, header.header_level, + header.no_of_headings, header.header_level); + + header.header_filename.add(h, + header.no_of_headings, + header.no_of_headings, header.no_of_headings, + header.no_of_headings, header.no_of_headings); + current_paragraph->do_para(&html, "", indentation, pageoffset, linelength); } } @@ -1955,6 +2075,10 @@ } } header.header_level = level+1; + if (header.header_level == 2) { + header.no_of_level_one_headings++; + insert_split_file(); + } } /* @@ -1985,7 +2109,7 @@ } } else if (! (g->is_a_line() || g->is_a_tag())) { /* - * we ignore tags commands when constructing a heading + * we ignore tag commands when constructing a heading */ if (l != 0) header.header_buffer += " "; @@ -2208,10 +2332,48 @@ current_paragraph->done_para(); auto_links = FALSE; /* from now on only emit under user request */ file_list.add_new_file(xtmpfile()); + file_list.set_links_required(); html.set_file(file_list.get_file()); } /* + * insert_split_file - + */ + +void html_printer::insert_split_file (void) +{ + if (multiple_files) { + current_paragraph->done_para(); // flush paragraph + html.end_line(); // flush line + html.set_file(file_list.get_file()); // flush current file + file_list.add_new_file(xtmpfile()); + string split_file = job_name; + + split_file += string("-"); + split_file += as_string(header.no_of_level_one_headings); + split_file += string(".html"); + split_file += '\0'; + + file_list.set_file_name(split_file); + html.set_file(file_list.get_file()); + } +} + +/* + * do_job_name - assigns the job_name to name. + */ + +void html_printer::do_job_name (char *name) +{ + if (! multiple_files) { + multiple_files = TRUE; + while (name != NULL && (*name != (char)0) && (*name == ' ')) + name++; + job_name = name; + } +} + +/* * do_break - handles the ".br" request and also * undoes an outstanding ".ti" command. */ @@ -2389,6 +2551,9 @@ do_pointsize(a); } else if (strcmp(t, ".links") == 0) { do_links(); + } else if (strncmp(t, ".job-name", 9) == 0) { + char *a = (char *)t+9; + do_job_name(a); } else if (strcmp(t, ".no-auto-rule") == 0) { auto_rule = FALSE; } else if (strcmp(t, ".tab-ts") == 0) { @@ -2721,9 +2886,9 @@ int found_col = FALSE; int seen_text = FALSE; int ncol = 0; - int colmin; - int colmax; - html_table *table = new html_table(&html, -1); + int colmin = 0; // pacify compiler + int colmax = 0; // pacify compiler + html_table *tbl = new html_table(&html, -1); const char *tab_defs = NULL; char align = 'L'; int nf = FALSE; @@ -2752,11 +2917,11 @@ if (type_of_col == tab_tag && start_of_table != NULL) { page_contents->glyphs.move_left(); insert_tab_te(); - start_of_table->remember_table(table); - table = new html_table(&html, -1); + start_of_table->remember_table(tbl); + tbl = new html_table(&html, -1); page_contents->insert_tag(string("*** TAB -> COL ***")); if (tab_defs != NULL) - table->tab_stops->init(tab_defs); + tbl->tab_stops->init(tab_defs); start_of_table = NULL; last = NULL; } @@ -2770,28 +2935,28 @@ type_of_col = tab_tag; colmin = g->get_tab_args(&align); align = 'L'; // for now as 'C' and 'R' are broken - ncol = table->find_tab_column(colmin); + ncol = tbl->find_tab_column(colmin); colmin += pageoffset + indentation; - colmax = table->get_tab_pos(ncol+1); + colmax = tbl->get_tab_pos(ncol+1); if (colmax > 0) colmax += pageoffset + indentation; } else if (g->is_tab0()) { if (type_of_col == col_tag && start_of_table != NULL) { page_contents->glyphs.move_left(); insert_tab_te(); - start_of_table->remember_table(table); - table = new html_table(&html, -1); + start_of_table->remember_table(tbl); + tbl = new html_table(&html, -1); page_contents->insert_tag(string("*** COL -> TAB ***")); start_of_table = NULL; last = NULL; } if (tab_defs != NULL) - table->tab_stops->init(tab_defs); + tbl->tab_stops->init(tab_defs); type_of_col = tab0_tag; ncol = 1; colmin = 0; - colmax = table->get_tab_pos(2) + pageoffset + indentation; + colmax = tbl->get_tab_pos(2) + pageoffset + indentation; } else if (! g->is_a_tag()) update_min_max(type_of_col, &colmin, &colmax, g); @@ -2805,34 +2970,34 @@ seen_text = FALSE; } else if (g->is_ce() && (start_of_table != NULL)) { add_table_end("*** CE ***"); - start_of_table->remember_table(table); + start_of_table->remember_table(tbl); start_of_table = NULL; last = NULL; } else if (g->is_ta()) { tab_defs = g->text_string; - if (!table->tab_stops->compatible(tab_defs)) { + if (!tbl->tab_stops->compatible(tab_defs)) { if (start_of_table != NULL) { add_table_end("*** TABS ***"); - start_of_table->remember_table(table); - table = new html_table(&html, -1); + start_of_table->remember_table(tbl); + tbl = new html_table(&html, -1); start_of_table = NULL; type_of_col = none; last = NULL; } - table->tab_stops->init(tab_defs); + tbl->tab_stops->init(tab_defs); } } if (((! g->is_a_tag()) || g->is_tab()) && (start_of_table != NULL)) { // we are in a table and have a glyph - if ((ncol == 0) || (! table->add_column(ncol, colmin, colmax, align))) { + if ((ncol == 0) || (! tbl->add_column(ncol, colmin, colmax, align))) { if (ncol == 0) add_table_end("*** NCOL == 0 ***"); else add_table_end("*** CROSSED COLS ***"); - start_of_table->remember_table(table); - table = new html_table(&html, -1); + start_of_table->remember_table(tbl); + tbl = new html_table(&html, -1); start_of_table = NULL; type_of_col = none; last = NULL; @@ -2876,13 +3041,13 @@ page_contents->glyphs.move_left(); insert_tab_te(); - start_of_table->remember_table(table); - table = NULL; + start_of_table->remember_table(tbl); + tbl = NULL; page_contents->insert_tag(string("*** LAST ***")); } } - if (table != NULL) - delete table; + if (tbl != NULL) + delete tbl; // and reset the registers pageoffset = old_pageoffset; @@ -3336,17 +3501,17 @@ * add_to_sbuf - adds character code or name to the sbuf. */ -void html_printer::add_to_sbuf (int index, const string &s) +void html_printer::add_to_sbuf (int idx, const string &s) { if (sbuf_style.f == NULL) return; char *html_glyph = NULL; - unsigned int code = sbuf_style.f->get_code(index); + unsigned int code = sbuf_style.f->get_code(idx); if (s.empty()) { - if (sbuf_style.f->contains(index)) - html_glyph = (char *)sbuf_style.f->get_special_device_encoding(index); + if (sbuf_style.f->contains(idx)) + html_glyph = (char *)sbuf_style.f->get_special_device_encoding(idx); else html_glyph = NULL; @@ -3362,7 +3527,7 @@ sbuf += html_glyph; } -int html_printer::sbuf_continuation (int index, const char *name, +int html_printer::sbuf_continuation (int idx, const char *name, const environment *env, int w) { /* @@ -3372,7 +3537,7 @@ || ((sbuf_prev_hpos < sbuf_end_hpos) && (env->hpos < sbuf_end_hpos) && ((sbuf_end_hpos-env->hpos < env->hpos-sbuf_prev_hpos)))) { - add_to_sbuf(index, name); + add_to_sbuf(idx, name); sbuf_prev_hpos = sbuf_end_hpos; sbuf_end_hpos += w + sbuf_kern; return TRUE; @@ -3384,7 +3549,7 @@ */ if (env->hpos-sbuf_end_hpos < space_width) { - add_to_sbuf(index, name); + add_to_sbuf(idx, name); sbuf_prev_hpos = sbuf_end_hpos; sbuf_end_hpos = env->hpos + w; return TRUE; @@ -3401,18 +3566,18 @@ char *get_html_translation (font *f, const string &name) { - int index; + int idx; if ((f == 0) || name.empty()) return NULL; else { - index = f->name_to_index((char *)(name + '\0').contents()); - if (index == 0) { + idx = f->name_to_index((char *)(name + '\0').contents()); + if (idx == 0) { error("character `%s' not found", (name + '\0').contents()); return NULL; } else - if (f->contains(index)) - return (char *)f->get_special_device_encoding(index); + if (f->contains(idx)) + return (char *)f->get_special_device_encoding(idx); else return NULL; } @@ -3425,7 +3590,7 @@ * is flushed. */ -int html_printer::overstrike(int index, const char *name, const environment *env, int w) +int html_printer::overstrike(int idx, const char *name, const environment *env, int w) { if ((env->hpos < sbuf_end_hpos) || ((sbuf_kern != 0) && (sbuf_end_hpos - sbuf_kern < env->hpos))) { @@ -3435,7 +3600,7 @@ if (overstrike_detected) { /* already detected, remove previous glyph and use this glyph */ sbuf.set_length(last_sbuf_length); - add_to_sbuf(index, name); + add_to_sbuf(idx, name); sbuf_end_hpos = env->hpos + w; return TRUE; } else { @@ -3444,7 +3609,7 @@ if (! is_bold(sbuf_style.f)) flush_sbuf(); overstrike_detected = TRUE; - add_to_sbuf(index, name); + add_to_sbuf(idx, name); sbuf_end_hpos = env->hpos + w; return TRUE; } @@ -3606,6 +3771,105 @@ } } +/* + * emit_link - generates: name + */ + +void html_printer::emit_link (const string &to, const char *name) +{ + fputs("", stdout); + fputs(name, stdout); + fputs("", stdout); +} + +/* + * write_navigation - writes out the links which navigate between + * file fragments. + */ + +void html_printer::write_navigation (const string &top, const string &prev, + const string &next, const string ¤t) +{ + int need_bar = FALSE; + + if (multiple_files) { + write_rule(); + fputs("[ ", stdout); + if (prev != "" && prev != top) { + emit_link(prev, "prev"); + need_bar = TRUE; + } + if (next != "" && next != top) { + if (need_bar) + fputs(" | ", stdout); + emit_link(next, "next"); + need_bar = TRUE; + } + if (top != "" && top != "" && top != current) { + if (need_bar) + fputs(" | ", stdout); + emit_link(top, "top"); + fputs(" ]\n", stdout); + } + write_rule(); + } +} + +/* + * do_file_components - scan the file list copying each temporary file in turn. + * This is used twofold: + * + * firstly to emit section heading links, between file fragments if required + * and secondly to generate jobname file fragments if required. + */ + +void html_printer::do_file_components (void) +{ + int fragment_no = 1; + string top; + string prev; + string next; + string current; + + file_list.start_of_list(); + top = string(job_name); + top += string(".html"); + top += '\0'; + next = file_list.next_file_name(); + next += '\0'; + current = next; + while (file_list.get_file() != 0) { + if (fseek(file_list.get_file(), 0L, 0) < 0) + fatal("fseek on temporary file failed"); + html.copy_file(file_list.get_file()); + fclose(file_list.get_file()); + + file_list.move_next(); + if (file_list.is_new_output_file()) { + if (fragment_no > 1) + write_navigation(top, prev, next, current); + prev = current; + current = next; + next = file_list.next_file_name(); + next += '\0'; + string split_file = file_list.file_name(); + split_file += '\0'; + fflush(stdout); + freopen(split_file.contents(), "w", stdout); + fragment_no++; + write_navigation(top, prev, next, current); + } + if (file_list.are_links_required()) + header.write_headings(stdout, TRUE); + } + if (fragment_no > 1) + write_navigation(top, prev, next, current); + else + write_rule(); +} + html_printer::~html_printer() { #ifdef LONG_FOR_TIME_T @@ -3650,22 +3914,16 @@ #endif html.end_line(); html.end_line(); - /* - * now run through the file list copying each temporary file in turn and emitting the links. - */ - file_list.start_of_list(); - while (file_list.get_file() != 0) { - if (fseek(file_list.get_file(), 0L, 0) < 0) - fatal("fseek on temporary file failed"); - html.copy_file(file_list.get_file()); - fclose(file_list.get_file()); - file_list.move_next(); - if (file_list.get_file() != 0) - header.write_headings(stdout, TRUE); + + if (multiple_files) { + fputs("\n", stdout); + fputs("\n", stdout); + do_file_components(); + } else { + do_file_components(); + fputs("\n", stdout); + fputs("\n", stdout); } - write_rule(); - fputs("\n", stdout); - fputs("\n", stdout); } /* @@ -3733,7 +3991,7 @@ { "version", no_argument, 0, 'v' }, { NULL, 0, 0, 0 } }; - while ((c = getopt_long(argc, argv, "a:g:o:i:I:D:F:vbdhlrnp", long_options, NULL)) + while ((c = getopt_long(argc, argv, "a:g:o:i:I:j:D:F:vbdhlrnp", long_options, NULL)) != EOF) switch(c) { case 'v': @@ -3753,6 +4011,10 @@ break; case 'F': font::command_line_font_dir(optarg); + break; + case 'j': + multiple_files = TRUE; + job_name = optarg; break; case 'l': auto_links = FALSE; diff -ruN groff-1.19/src/devices/grolbp/lbp.cpp groff-1.19.1/src/devices/grolbp/lbp.cpp --- groff-1.19/src/devices/grolbp/lbp.cpp Tue Mar 11 20:47:00 2003 +++ groff-1.19.1/src/devices/grolbp/lbp.cpp Sun Apr 18 17:52:08 2004 @@ -1,5 +1,6 @@ // -*- C++ -*- -/* Copyright (C) 1994, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. +/* Copyright (C) 1994, 2000, 2001, 2002, 2003, 2004 + Free Software Foundation, Inc. Written by Francisco Andrés Verdú with many ideas taken from the other groff drivers. @@ -25,9 +26,6 @@ - Add X command to include bitmaps */ -#ifndef _GNU_SOURCE -#define _GNU_SOURCE -#endif #include "driver.h" #include "lbp.h" @@ -93,21 +91,6 @@ int paperwidth; }; -// Compatibility section. -// -// Here we define some functions not present in some of the targets -// platforms -#ifndef HAVE_STRSEP -// Solaris 8 doesn't have the strsep function -static char *strsep(char **pcadena, const char *delim) -{ - char *p; - p = strtok(*pcadena, delim); - *pcadena = strtok(NULL, delim); - return p; -} -#endif - lbp_font::lbp_font(const char *nm) : font(nm) { @@ -294,10 +277,10 @@ return bfont_name; } -void lbp_printer::set_char(int index, font *f, const environment *env, +void lbp_printer::set_char(int idx, font *f, const environment *env, int w, const char *) { - int code = f->get_code(index); + int code = f->get_code(idx); unsigned char ch = code & 0xff; unsigned short symbol_set = code >> 8; if (f != cur_font) { @@ -663,11 +646,14 @@ int c = 0; int option_index = 0; while (c >= 0) { - c = getopt_long (argc, argv, "F:p:lvo:c:hw:", + c = getopt_long (argc, argv, "c:F:hI:lo:p:vw:", long_options, &option_index); switch (c) { case 'F': font::command_line_font_dir(optarg); + break; + case 'I': + // ignore include path arguments break; case 'p': { diff -ruN groff-1.19/src/devices/grolbp/lbp.h groff-1.19.1/src/devices/grolbp/lbp.h --- groff-1.19/src/devices/grolbp/lbp.h Wed Apr 16 15:12:48 2003 +++ groff-1.19.1/src/devices/grolbp/lbp.h Sun Apr 18 17:55:58 2004 @@ -1,5 +1,5 @@ // -*- C -*- -/* Copyright (C) 1994, 2000, 2001, 2003 Free Software Foundation, Inc. +/* Copyright (C) 1994, 2000, 2001, 2003, 2004 Free Software Foundation, Inc. Written by Francisco Andrés Verdú groff is free software; you can redistribute it and/or modify it under @@ -59,33 +59,33 @@ static inline void -lbpsavestatus(int index ) +lbpsavestatus(int idx ) { - fprintf(lbpoutput,"\033[%d%%y",index); + fprintf(lbpoutput,"\033[%d%%y",idx); }; static inline void -lbprestorestatus(int index ) +lbprestorestatus(int idx ) { - fprintf(lbpoutput,"\033[%d%cz",index ,'%'); + fprintf(lbpoutput,"\033[%d%cz",idx ,'%'); }; static inline void -lbpsavepos(int index) +lbpsavepos(int idx) { - fprintf(lbpoutput,"\033[1;%d;0x",index); + fprintf(lbpoutput,"\033[1;%d;0x",idx); }; static inline void -lbprestorepos(int index) +lbprestorepos(int idx) { - fprintf(lbpoutput,"\033[0;%d;0x",index); + fprintf(lbpoutput,"\033[0;%d;0x",idx); }; static inline void -lbprestoreposx(int index) +lbprestoreposx(int idx) { - fprintf(lbpoutput,"\033[0;%d;1x",index); + fprintf(lbpoutput,"\033[0;%d;1x",idx); }; static inline void @@ -228,7 +228,7 @@ { char x[4],y[4],rad[4],stx[4],sty[4],enx[4],eny[4],styl[4],op[4]; - vdmprintf("}6%s%s%s%s%s%s%s%s\x1e",vdmnum(arcopen,op),\ + vdmprintf("}6%s%s%s%s%s%s%s%s%s\x1e",vdmnum(arcopen,op),\ vdmnum(centerx,x),vdmnum(centery,y),\ vdmnum(radius,rad),vdmnum(startx,stx),vdmnum(starty,sty),\ vdmnum(endx,enx),vdmnum(endy,eny),vdmnum(style,styl)); @@ -348,11 +348,11 @@ splinerel(double px,double py,int flush) { static int lx = 0 ,ly = 0; - static float pend = 0.0; + static double pend = 0.0; static int dy = 0, despx = 0, despy = 0, sigpend = 0; - int dxnew ,dynew, sg; + int dxnew = 0, dynew = 0, sg; char xcoord[4],ycoord[4]; - float npend ; + double npend ; if (flush == -1) {lx = (int)px; ly = (int)py; return;}; @@ -407,102 +407,105 @@ * The following code to draw splines is adapted from the transfig package */ static void -quadratic_spline(double a1,double b1, double a2, double b2, \ - double a3, double b3, double a4, double b4) +quadratic_spline(double a_1, double b_1, double a_2, double b_2, \ + double a_3, double b_3, double a_4, double b_4) { - double x1, y1, x4, y4; - double xmid, ymid; + double x_1, y_1, x_4, y_4; + double x_mid, y_mid; - x1 = a1; y1 = b1; - x4 = a4; y4 = b4; - xmid = (a2 + a3)/2.0; - ymid = (b2 + b3)/2.0; - if ((fabs(x1 - xmid) < THRESHOLD) && (fabs(y1 - ymid) < THRESHOLD)) { - splinerel(xmid,ymid,0); -/* fprintf(tfp, "PA%.4f,%.4f;\n", xmid, ymid);*/ + x_1 = a_1; y_1 = b_1; + x_4 = a_4; y_4 = b_4; + x_mid = (a_2 + a_3)/2.0; + y_mid = (b_2 + b_3)/2.0; + if ((fabs(x_1 - x_mid) < THRESHOLD) + && (fabs(y_1 - y_mid) < THRESHOLD)) { + splinerel(x_mid, y_mid, 0); +/* fprintf(tfp, "PA%.4f,%.4f;\n", x_mid, y_mid);*/ } else { - quadratic_spline(x1, y1, ((x1+a2)/2.0), ((y1+b2)/2.0), - ((3.0*a2+a3)/4.0), ((3.0*b2+b3)/4.0), xmid, ymid); - } - - if ((fabs(xmid - x4) < THRESHOLD) && (fabs(ymid - y4) < THRESHOLD)) { - splinerel(x4,y4,0); -/* fprintf(tfp, "PA%.4f,%.4f;\n", x4, y4);*/ + quadratic_spline(x_1, y_1, ((x_1+a_2)/2.0), ((y_1+b_2)/2.0), + ((3.0*a_2+a_3)/4.0), ((3.0*b_2+b_3)/4.0), x_mid, y_mid); + } + + if ((fabs(x_mid - x_4) < THRESHOLD) + && (fabs(y_mid - y_4) < THRESHOLD)) { + splinerel(x_4, y_4, 0); +/* fprintf(tfp, "PA%.4f,%.4f;\n", x_4, y_4);*/ } else { - quadratic_spline(xmid, ymid, ((a2+3.0*a3)/4.0), ((b2+3.0*b3)/4.0), - ((a3+x4)/2.0), ((b3+y4)/2.0), x4, y4); - }; + quadratic_spline(x_mid, y_mid, + ((a_2+3.0*a_3)/4.0), ((b_2+3.0*b_3)/4.0), + ((a_3+x_4)/2.0), ((b_3+y_4)/2.0), x_4, y_4); + }; }; /* quadratic_spline */ #define XCOORD(i) numbers[(2*i)] #define YCOORD(i) numbers[(2*i)+1] static void -vdmspline(int numpoints, int ox,int oy, int *numbers) +vdmspline(int numpoints, int o_x, int o_y, int *numbers) { - double cx1, cy1, cx2, cy2, cx3, cy3, cx4, cy4; - double x1, y1, x2, y2; + double cx_1, cy_1, cx_2, cy_2, cx_3, cy_3, cx_4, cy_4; + double x_1, y_1, x_2, y_2; char xcoord[4],ycoord[4]; int i; /*p = s->points; - x1 = p->x/ppi;*/ - x1 = ox; - y1 = oy; + x_1 = p->x/ppi;*/ + x_1 = o_x; + y_1 = o_y; /* p = p->next; - x2 = p->x/ppi; - y2 = p->y/ppi;*/ - x2 = ox + XCOORD(0); - y2 = oy + YCOORD(0); - cx1 = (x1 + x2)/2.0; - cy1 = (y1 + y2)/2.0; - cx2 = (x1 + 3.0*x2)/4.0; - cy2 = (y1 + 3.0*y2)/4.0; - -/* fprintf(stderr,"Spline %d (%d,%d)\n",numpoints,(int)x1,(int)y1);*/ - vdmprintf("1%s%s",vdmnum((int)x1,xcoord),vdmnum((int)y1,ycoord)); - splinerel(x1,y1,-1); - splinerel(cx1,cy1,0); + x_2 = p->x/ppi; + y_2 = p->y/ppi;*/ + x_2 = o_x + XCOORD(0); + y_2 = o_y + YCOORD(0); + cx_1 = (x_1 + x_2)/2.0; + cy_1 = (y_1 + y_2)/2.0; + cx_2 = (x_1 + 3.0*x_2)/4.0; + cy_2 = (y_1 + 3.0*y_2)/4.0; + +/* fprintf(stderr,"Spline %d (%d,%d)\n",numpoints,(int)x_1,(int)y_1);*/ + vdmprintf("1%s%s",vdmnum((int)x_1,xcoord),vdmnum((int)y_1,ycoord)); + splinerel(x_1,y_1,-1); + splinerel(cx_1,cy_1,0); /* fprintf(tfp, "PA%.4f,%.4f;PD%.4f,%.4f;\n", - x1, y1, cx1, cy1);*/ + x_1, y_1, cx_1, cy_1);*/ /*for (p = p->next; p != NULL; p = p->next) {*/ for (i = 1; i < (numpoints); i++) { - x1 = x2; - y1 = y2; -/* x2 = p->x/ppi; - y2 = p->y/ppi;*/ - x2 = x1 + XCOORD(i); - y2 = y1 + YCOORD(i); - cx3 = (3.0*x1 + x2)/4.0; - cy3 = (3.0*y1 + y2)/4.0; - cx4 = (x1 + x2)/2.0; - cy4 = (y1 + y2)/2.0; - /* fprintf(stderr,"Point (%d,%d) - (%d,%d)\n",(int)x1,(int)(y1),(int)x2,(int)y2);*/ - quadratic_spline(cx1, cy1, cx2, cy2, cx3, cy3, cx4, cy4); - cx1 = cx4; - cy1 = cy4; - cx2 = (x1 + 3.0*x2)/4.0; - cy2 = (y1 + 3.0*y2)/4.0; - } - x1 = x2; - y1 = y2; -/* p = s->points->next; - x2 = p->x/ppi; - y2 = p->y/ppi;*/ - x2 = ox + XCOORD(0); - y2 = oy + YCOORD(0); - cx3 = (3.0*x1 + x2)/4.0; - cy3 = (3.0*y1 + y2)/4.0; - cx4 = (x1 + x2)/2.0; - cy4 = (y1 + y2)/2.0; - splinerel(x1,y1,0); - splinerel(x1,y1,1); - /*vdmprintf("%s%s",vdmnum((int)(x1-lx),xcoord),\ - vdmnum((int)(y1-ly),ycoord));*/ + x_1 = x_2; + y_1 = y_2; +/* x_2 = p->x/ppi; + y_2 = p->y/ppi;*/ + x_2 = x_1 + XCOORD(i); + y_2 = y_1 + YCOORD(i); + cx_3 = (3.0*x_1 + x_2)/4.0; + cy_3 = (3.0*y_1 + y_2)/4.0; + cx_4 = (x_1 + x_2)/2.0; + cy_4 = (y_1 + y_2)/2.0; + /* fprintf(stderr,"Point (%d,%d) - (%d,%d)\n",(int)x_1,(int)(y_1),(int)x_2,(int)y_2);*/ + quadratic_spline(cx_1, cy_1, cx_2, cy_2, cx_3, cy_3, cx_4, cy_4); + cx_1 = cx_4; + cy_1 = cy_4; + cx_2 = (x_1 + 3.0*x_2)/4.0; + cy_2 = (y_1 + 3.0*y_2)/4.0; + } + x_1 = x_2; + y_1 = y_2; +/* p = s->points->next; + x_2 = p->x/ppi; + y_2 = p->y/ppi;*/ + x_2 = o_x + XCOORD(0); + y_2 = o_y + YCOORD(0); + cx_3 = (3.0*x_1 + x_2)/4.0; + cy_3 = (3.0*y_1 + y_2)/4.0; + cx_4 = (x_1 + x_2)/2.0; + cy_4 = (y_1 + y_2)/2.0; + splinerel(x_1, y_1, 0); + splinerel(x_1, y_1, 1); + /*vdmprintf("%s%s",vdmnum((int)(x_1-lx),xcoord),\ + vdmnum((int)(y_1-ly),ycoord));*/ vdmprintf("\x1e\n"); -/* fprintf(tfp, "PA%.4f,%.4f;PU;\n", x1, y1);*/ +/* fprintf(tfp, "PA%.4f,%.4f;PU;\n", x_1, y_1);*/ }; /* vdmspline */ diff -ruN groff-1.19/src/devices/grolj4/Makefile.sub groff-1.19.1/src/devices/grolj4/Makefile.sub --- groff-1.19/src/devices/grolj4/Makefile.sub Sat Apr 12 15:52:25 2003 +++ groff-1.19.1/src/devices/grolj4/Makefile.sub Wed Jan 14 22:40:26 2004 @@ -1,5 +1,6 @@ PROG=grolj4$(EXEEXT) MAN1=grolj4.n +MAN5=lj4_font.n XLIBS=$(LIBDRIVER) $(LIBGROFF) MLIB=$(LIBM) OBJS=lj4.$(OBJEXT) diff -ruN groff-1.19/src/devices/grolj4/grolj4.man groff-1.19.1/src/devices/grolj4/grolj4.man --- groff-1.19/src/devices/grolj4/grolj4.man Mon Sep 16 18:15:49 2002 +++ groff-1.19.1/src/devices/grolj4/grolj4.man Wed Jan 14 22:42:24 2004 @@ -1,5 +1,5 @@ .ig -Copyright (C) 1994-2000, 2001, 2002 Free Software Foundation, Inc. +Copyright (C) 1994-2000, 2001, 2002, 2004 Free Software Foundation, Inc. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice @@ -140,6 +140,7 @@ .SH BUGS Small dots. .SH "SEE ALSO" +.BR lj4_font (@MAN5EXT@), .BR groff (@MAN1EXT@), .BR @g@troff (@MAN1EXT@), .BR groff_out (@MAN5EXT@), diff -ruN groff-1.19/src/devices/grolj4/lj4.cpp groff-1.19.1/src/devices/grolj4/lj4.cpp --- groff-1.19/src/devices/grolj4/lj4.cpp Thu Apr 3 10:14:34 2003 +++ groff-1.19.1/src/devices/grolj4/lj4.cpp Wed Apr 7 18:07:06 2004 @@ -1,5 +1,6 @@ // -*- C++ -*- -/* Copyright (C) 1994, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. +/* Copyright (C) 1994, 2000, 2001, 2002, 2003, 2004 + Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) This file is part of groff. @@ -277,10 +278,10 @@ return c < 32 && (c == 0 || (7 <= c && c <= 15) || c == 27); } -void lj4_printer::set_char(int index, font *f, const environment *env, +void lj4_printer::set_char(int idx, font *f, const environment *env, int w, const char *) { - int code = f->get_code(index); + int code = f->get_code(idx); unsigned char ch = code & 0xff; unsigned short symbol_set = code >> 8; @@ -611,18 +612,21 @@ { "version", no_argument, 0, 'v' }, { NULL, 0, 0, 0 } }; - while ((c = getopt_long(argc, argv, ":F:p:d:lvw:c:", long_options, NULL)) + while ((c = getopt_long(argc, argv, "c:d:F:I:lp:vw:", long_options, NULL)) != EOF) switch(c) { case 'l': landscape_flag = 1; break; + case 'I': + // ignore include search path + break; case ':': if (optopt == 'd') { fprintf(stderr, "duplex assumed to be long-side\n"); duplex_flag = 1; } else - fprintf(stderr, "option -%c requires an operand\n", optopt); + fprintf(stderr, "option -%c requires an argument\n", optopt); fflush(stderr); break; case 'd': @@ -644,11 +648,9 @@ break; } case 'v': - { - printf("GNU grolj4 (groff) version %s\n", Version_string); - exit(0); - break; - } + printf("GNU grolj4 (groff) version %s\n", Version_string); + exit(0); + break; case 'F': font::command_line_font_dir(optarg); break; diff -ruN groff-1.19/src/devices/grolj4/lj4_font.man groff-1.19.1/src/devices/grolj4/lj4_font.man --- groff-1.19/src/devices/grolj4/lj4_font.man Thu Jan 1 01:00:00 1970 +++ groff-1.19.1/src/devices/grolj4/lj4_font.man Sun Jan 18 10:03:00 2004 @@ -0,0 +1,167 @@ +.tr ~ +.ig +Copyright (C) 2004 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" +.. +.tr ~ +.TH LJ4_FONT @MAN5EXT@ "@MDATE@" "Groff Version @VERSION@" +.\" -------------------------------------------------------------------------- +.SH NAME +.\" -------------------------------------------------------------------------- +lj4_font \- groff fonts for use with devlj4 +.\" -------------------------------------------------------------------------- +.SH DESCRIPTION +.\" -------------------------------------------------------------------------- +Nominally, all Hewlett-Packard LaserJet~4\(enseries and newer printers +have the same internal fonts: 45 scalable fonts and one bitmapped +Lineprinter font. +The scalable fonts are available in sizes between 0.25 point and 999.75 +points, in 0.25-point increments; the Lineprinter font is available only +in 8.5-point size. +.LP +The LaserJet font files included with +.B groff +assume that all printers since the LaserJet~4 are identical. +There are some differences between fonts in the earlier and more recent +printers, however. +The LaserJet~4 printer used Agfa Intellifont technology for 35 of the +internal scalable fonts; the remaining 10 scalable fonts were TrueType. +Beginning with the LaserJet~4000\(enseries printers introduced in 1997, +all scalable internal fonts have been TrueType. +The number of printable glyphs differs slightly between Intellifont and +TrueType fonts (generally, the TrueType fonts include more glyphs), and +there are some minor differences in glyph metrics. +Differences among printer models are described in the +.I "PCL~5 Comparison Guide" +and the +.I "PCL~5 Comparison Guide Addendum" +(for printers introduced since approximately 2001). +.LP +LaserJet printers reference a glyph by a combination of a 256-glyph +symbol set and an index within that symbol set. +Many glyphs appear in more than one symbol set; all combinations of +symbol set and index that reference the same glyph are equivalent. +For each glyph, +.BR hpftodit (@MAN1EXT@) +searches a list of symbol sets, and selects the first set that contains +the glyph. +The printing code generated by +.BR hpftodit (@MAN1EXT@) +is an integer that encodes a numerical value for the symbol set in the +high byte(s), and the index in the low byte. +See +.BR groff_font (@MAN5EXT@) +for a complete description of the font file format; symbol sets are +described in greater detail in the +.IR "PCL~5 Printer Language Technical Reference Manual" . +.LP +Two of the scalable fonts, Symbol and Wingdings, are bound to +256-glyph symbol sets; the remaining scalable fonts, as well as the +Lineprinter font, support numerous symbol sets, sufficient to enable +printing of more than 600 glyphs. +.LP +The metrics generated by +.BR hpftodit (@MAN1EXT@) +assume that the DESC file contains values of 1200 for res and 6350 for +unitwidth (or any combination (e.g., 2400 and 3175) for which +res~\(mu~unitwidth~=~7\|620\|000). +Although HP PCL~5 LaserJet printers support an internal resolution of +7200 units per inch, they use a 16-bit signed integer for cursor +positioning; if +.B devlj4 +is to support U.S. ledger paper (11\(sd~\(mu~17\(sd), the maximum usable +resolution is 32\|767~/~17, or 1927, units per inch, which rounds down to +1200 units per inch. +If the largest required paper size is less (e.g., 8.5\(sd~\(mu~11\(sd or +A5), a greater resolution (and lesser unitwidth) can be specified. +.\" -------------------------------------------------------------------------- +.SH LIMITATIONS +.\" -------------------------------------------------------------------------- +Font metrics for Intellifont fonts were provided by Tagged Font Metric +(TFM) files originally developed by Agfa/Compugraphic. +The TFM files provided for these fonts supported 600+ glyphs and +contained extensive lists of kern pairs. +.LP +To accommodate developers who had become accustomed to TFM files, HP also +provided TFM files for the 10 TrueType fonts included in the LaserJet~4. +The TFM files for TrueType fonts generally included less information +than the Intellifont TFMs, supporting fewer glyphs, and in most cases, +providing no kerning information. +By the time the LaserJet~4000 printer was introduced, most +developers had migrated to other means of obtaining font metrics, +and support for new TFM files was very limited. +The TFM files provided for the TrueType fonts in the LaserJet~4000 +support only the Latin 2 (ISO 8859-2) symbol set, and include no kerning +information; consequently, they are of little value for any but the most +rudimentary documents. +.LP +Because the Intellifont TFM files contain considerably more information, +they generally are preferable to the TrueType TFM files even for use +with the TrueType fonts in the newer printers. +The metrics for the TrueType fonts are very close, though not identical, +to those for the earlier Intellifont fonts of the same names. +Although most output using the Intellifont metrics with the newer +printers is quite acceptable, a few glyphs may fail to print as +expected. +The differences in glyph metrics may be particularly noticeable with +composite parentheses, brackets, and braces used by +.BR eqn (@MAN1EXT@) . +A script, located in +.BR @FONTDIR@/devlj4/generate , +can be used to adjust the metrics for these glyphs in the special font S +for use with printers that have all TrueType fonts. +.LP +At the time HP last supported TFM files, only Version 1 of the Unicode +standard was available. +Consequently, many glyphs lacking assigned code points were assigned by +HP to the Private Use Area (PUA). +Later versions of the Unicode standard included code points outside the +PUA for many of these glyphs. +The HP-supplied TrueType TFM files use the PUA assignments; +TFM files generated from more recent TrueType font files require the +later Unicode values to access the same glyphs. +Consequently, two different mapping files may be required: one for the +HP-supplied TFM files, and one for more recent TFM files. +.\" -------------------------------------------------------------------------- +.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 "SEE ALSO" +.\" -------------------------------------------------------------------------- +.ad 0 +.BR groff (@MAN1EXT@), +.BR groff_diff (@MAN1EXT@), +.BR hpftodit (@MAN1EXT@), +.BR grolj4 (@MAN1EXT@), +.BR groff_font (@MAN5EXT@) +. +.\" Local Variables: +.\" mode: nroff +.\" End: diff -ruN groff-1.19/src/devices/grops/grops.man groff-1.19.1/src/devices/grops/grops.man --- groff-1.19/src/devices/grops/grops.man Thu Mar 27 16:26:37 2003 +++ groff-1.19.1/src/devices/grops/grops.man Fri Oct 31 16:00:20 2003 @@ -17,6 +17,9 @@ the original English. .. . +.do nr grops_C \n[.C] +.cp 0 +. .mso www.tmac . . @@ -62,6 +65,7 @@ .OP \-b n .OP \-c n .OP \-F dir +.OP \-I dir .OP \-p papersize .OP \-P prologue .OP \-w n @@ -184,6 +188,9 @@ This was the behaviour of groff version 1.18.1 and earlier; it is needed for older printers which don't understand PostScript LanguageLevel\~2. . +It is also necessary if the output is further processed to get an +encapsulated PS (EPS) file -- see below. +. .IP The default value can be specified by a . @@ -225,6 +232,19 @@ both on letter (8.5\(mu11) paper and on A4 paper without change. . .TP +.BI \-I dir +This option may be used to specify a directory to search for +files on the command line and files named in +.B \eX'ps: import' +and +.B \eX'ps: file' +escapes. +The current directory is always searched first. +This option may be specified more than once; +the directories will be searched in the order specified. +No directory search is performed for files specified using an absolute path. +. +.TP .B \-l Print the document in landscape format. . @@ -1002,6 +1022,32 @@ should be used. . . +.SS Encapsulated PostScript +.B grops +itself doesn't emit bounding box information. +. +With the help of GhostScript the following commands will produce an +encapsulated PS file +.B foo.eps +from input file +.BR foo : +. +.IP +.B +groff -P-b16 foo > foo.ps +.br +.B +gs -dNOPAUSE -sDEVICE=bbox -- foo.ps 2> foo.bbox +.br +.B +cat foo.ps | sed \-e '/%%Orientation/rfoo.bbx' > foo.eps +.br +.B +rm foo.bbx +.br +. +. +. .SS TrueType fonts TrueType fonts can be used with .B grops @@ -1102,6 +1148,8 @@ .BR groff_font (@MAN5EXT@), .BR groff_char (@MAN7EXT@), .BR groff_tmac (@MAN5EXT@) +. +.cp \n[grops_C] . .\" Local Variables: .\" mode: nroff diff -ruN groff-1.19/src/devices/grops/ps.cpp groff-1.19.1/src/devices/grops/ps.cpp --- groff-1.19/src/devices/grops/ps.cpp Thu Apr 3 10:05:26 2003 +++ groff-1.19.1/src/devices/grops/ps.cpp Sun Apr 18 13:31:44 2004 @@ -1,5 +1,5 @@ // -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2002, 2003 +/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) @@ -42,6 +42,9 @@ extern "C" const char *Version_string; +// search path defaults to the current directory +search_path include_search_path(0, 0, 0, 1); + static int landscape_flag = 0; static int manual_feed_flag = 0; static int ncopies = 1; @@ -326,9 +329,14 @@ ps_output &ps_output::put_float(double d) { char buf[128]; - sprintf(buf, "%.3g", d); - int len = strlen(buf); - if (col > 0 && col + len + need_space > max_line_length) { + sprintf(buf, "%.4f", d); + int last = strlen(buf) - 1; + while (buf[last] == '0') + last--; + if (buf[last] == '.') + last--; + buf[++last] = '\0'; + if (col > 0 && col + last + need_space > max_line_length) { putc('\n', fp); col = 0; need_space = 0; @@ -338,7 +346,7 @@ col++; } fputs(buf, fp); - col += len; + col += last; need_space = 1; return *this; } @@ -789,7 +797,7 @@ p++; if (*p != '#' && *p != '\0' && (p = strtok(buf, WS)) != 0) { char *q = strtok(0, WS); - int n; + int n = 0; // pacify compiler if (q == 0 || sscanf(q, "%d", &n) != 1 || n < 0 || n >= 256) fatal_with_file_and_line(path, lineno, "bad second field"); vec[n] = new char[strlen(p) + 1]; @@ -1790,7 +1798,7 @@ { "version", no_argument, 0, 'v' }, { NULL, 0, 0, 0 } }; - while ((c = getopt_long(argc, argv, "b:c:F:glmp:P:vw:", long_options, NULL)) + while ((c = getopt_long(argc, argv, "b:c:F:gI:lmp:P:vw:", long_options, NULL)) != EOF) switch(c) { case 'b': @@ -1810,6 +1818,9 @@ case 'g': guess_flag = 1; break; + case 'I': + include_search_path.command_line_dir(optarg); + break; case 'l': landscape_flag = 1; break; @@ -1864,6 +1875,7 @@ static void usage(FILE *stream) { fprintf(stream, - "usage: %s [-glmv] [-b n] [-c n] [-w n] [-P prologue] [-F dir] [files ...]\n", +"usage: %s [-glmv] [-b n] [-c n] [-w n] [-I dir] [-P prologue]\n" +" [-F dir] [files ...]\n", program_name); } diff -ruN groff-1.19/src/devices/grops/ps.h groff-1.19.1/src/devices/grops/ps.h --- groff-1.19/src/devices/grops/ps.h Wed Feb 26 22:43:12 2003 +++ groff-1.19.1/src/devices/grops/ps.h Mon Oct 13 14:26:52 2003 @@ -123,3 +123,7 @@ USE_PS_ADOBE_2_0 = 010, NO_PAPERSIZE = 020 }; + +#include "searchpath.h" + +extern search_path include_search_path; diff -ruN groff-1.19/src/devices/grops/psrm.cpp groff-1.19.1/src/devices/grops/psrm.cpp --- groff-1.19/src/devices/grops/psrm.cpp Tue Mar 18 17:31:11 2003 +++ groff-1.19.1/src/devices/grops/psrm.cpp Sun Apr 18 13:34:36 2004 @@ -1,5 +1,5 @@ // -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2002, 2003 +/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) @@ -347,7 +347,7 @@ r->flags |= resource::BUSY; if (rank > r->rank) r->rank = rank; - char *path; + char *path = 0; // pacify compiler FILE *fp = 0; if (r->filename != 0) { if (r->type == RESOURCE_FONT) { @@ -360,7 +360,7 @@ } else { errno = 0; - fp = fopen(r->filename, "r"); + fp = include_search_path.open_file_cautious(r->filename); if (!fp) { error("can't open `%1': %2", r->filename, strerror(errno)); a_delete r->filename; diff -ruN groff-1.19/src/devices/grotty/grotty.man groff-1.19.1/src/devices/grotty/grotty.man --- groff-1.19/src/devices/grotty/grotty.man Mon Oct 14 01:10:13 2002 +++ groff-1.19.1/src/devices/grotty/grotty.man Fri Jul 18 09:34:09 2003 @@ -1,5 +1,5 @@ .ig -Copyright (C) 1989-2000, 2001, 2002 Free Software Foundation, Inc. +Copyright (C) 1989-2000, 2001, 2002, 2003 Free Software Foundation, Inc. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice @@ -17,6 +17,8 @@ the original English. .. . +.do nr grotty_C \n[.C] +.cp 0 . .TH GROTTY @MAN1EXT@ "@MDATE@" "Groff Version @VERSION@" .SH NAME @@ -413,6 +415,8 @@ .BR more (1), .BR man (1), .BR less (1) +. +.cp \n[grotty_C] . .\" Local Variables: .\" mode: nroff diff -ruN groff-1.19/src/devices/grotty/tty.cpp groff-1.19.1/src/devices/grotty/tty.cpp --- groff-1.19/src/devices/grotty/tty.cpp Wed Apr 16 15:10:46 2003 +++ groff-1.19.1/src/devices/grotty/tty.cpp Sun Apr 18 17:38:43 2004 @@ -1,5 +1,6 @@ // -*- C++ -*- -/* Copyright (C) 1989-2000, 2001, 2002, 2003 Free Software Foundation, Inc. +/* Copyright (C) 1989-2000, 2001, 2002, 2003, 2004 + Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) This file is part of groff. @@ -22,8 +23,10 @@ #include "device.h" #include "ptable.h" -declare_ptable(char) -implement_ptable(char) +typedef signed char schar; + +declare_ptable(schar) +implement_ptable(schar) extern "C" const char *Version_string; @@ -41,25 +44,38 @@ static int horizontal_tab_flag = 0; static int form_feed_flag = 0; -static int bold_flag = 1; -static int underline_flag = 1; +static int bold_flag_option = 1; +static int bold_flag; +static int underline_flag_option = 1; +static int underline_flag; static int overstrike_flag = 1; static int draw_flag = 1; -static int italic_flag = 0; -static int reverse_flag = 0; +static int italic_flag_option = 0; +static int italic_flag; +static int reverse_flag_option = 0; +static int reverse_flag; static int old_drawing_scheme = 0; +static void update_options(); +static void usage(FILE *stream); + +static int hline_char = '-'; +static int vline_char = '|'; + enum { UNDERLINE_MODE = 0x01, BOLD_MODE = 0x02, VDRAW_MODE = 0x04, HDRAW_MODE = 0x08, CU_MODE = 0x10, - COLOR_CHANGE = 0x20 + COLOR_CHANGE = 0x20, + START_LINE = 0x40, + END_LINE = 0x80 }; // Mode to use for bold-underlining. -static unsigned char bold_underline_mode = BOLD_MODE|UNDERLINE_MODE; +static unsigned char bold_underline_mode_option = BOLD_MODE|UNDERLINE_MODE; +static unsigned char bold_underline_mode; #ifndef IS_EBCDIC_HOST #define CSI "\033[" @@ -105,13 +121,14 @@ const char *num = f->get_internal_name(); long n; if (num != 0 && (n = strtol(num, 0, 0)) != 0) - f->mode = int(n & (BOLD_MODE|UNDERLINE_MODE)); + f->mode = (unsigned char)(n & (BOLD_MODE|UNDERLINE_MODE)); if (!underline_flag) f->mode &= ~UNDERLINE_MODE; if (!bold_flag) f->mode &= ~BOLD_MODE; if ((f->mode & (BOLD_MODE|UNDERLINE_MODE)) == (BOLD_MODE|UNDERLINE_MODE)) - f->mode = (f->mode & ~(BOLD_MODE|UNDERLINE_MODE)) | bold_underline_mode; + f->mode = (unsigned char)((f->mode & ~(BOLD_MODE|UNDERLINE_MODE)) + | bold_underline_mode); return f; } @@ -138,11 +155,11 @@ static glyph *free_list; public: glyph *next; - short hpos; + int hpos; unsigned int code; unsigned char mode; - char back_color_idx; - char fore_color_idx; + schar back_color_idx; + schar fore_color_idx; void *operator new(size_t); void operator delete(void *); inline int draw_mode() { return mode & (VDRAW_MODE|HDRAW_MODE); } @@ -181,19 +198,19 @@ int nlines; int cached_v; int cached_vpos; - char curr_fore_idx; - char curr_back_idx; + schar curr_fore_idx; + schar curr_back_idx; int is_underline; int is_bold; int cu_flag; - PTABLE(char) tty_colors; + PTABLE(schar) tty_colors; void make_underline(); void make_bold(unsigned int); - char color_to_idx(color *col); + schar color_to_idx(color *col); void add_char(unsigned int, int, int, color *, color *, unsigned char); char *make_rgb_string(unsigned int, unsigned int, unsigned int); - int tty_color(unsigned int, unsigned int, unsigned int, char *, - char = DEFAULT_COLOR_IDX); + int tty_color(unsigned int, unsigned int, unsigned int, schar *, + schar = DEFAULT_COLOR_IDX); public: tty_printer(const char *device); ~tty_printer(); @@ -203,7 +220,7 @@ void change_color(const environment * const env); void change_fill_color(const environment * const env); void put_char(unsigned int); - void put_color(char, int); + void put_color(schar, int); void begin_page(int) { } void end_page(int page_length); font *make_font(const char *); @@ -233,14 +250,14 @@ int tty_printer::tty_color(unsigned int r, unsigned int g, - unsigned int b, char *idx, char value) + unsigned int b, schar *idx, schar value) { int unknown_color = 0; char *s = make_rgb_string(r, g, b); - char *i = tty_colors.lookup(s); + schar *i = tty_colors.lookup(s); if (!i) { unknown_color = 1; - i = new char[1]; + i = new schar[1]; *i = value; tty_colors.define(s, i); } @@ -249,10 +266,14 @@ return unknown_color; } -tty_printer::tty_printer(const char *device) : cached_v(0) +tty_printer::tty_printer(const char *dev) : cached_v(0) { - is_utf8 = !strcmp(device, "utf8"); - char dummy; + is_utf8 = !strcmp(dev, "utf8"); + if (is_utf8) { + hline_char = 0x2500; + vline_char = 0x2502; + } + schar dummy; // black, white (void)tty_color(0, 0, 0, &dummy, 0); (void)tty_color(color::MAX_COLOR_VAL, @@ -310,13 +331,13 @@ } } -char tty_printer::color_to_idx(color *col) +schar tty_printer::color_to_idx(color *col) { if (col->is_default()) return DEFAULT_COLOR_IDX; unsigned int r, g, b; col->get_rgb(&r, &g, &b); - char idx; + schar idx; if (tty_color(r, g, b, &idx)) { char *s = col->print_color(); error("Unknown color (%1) mapped to default", s); @@ -433,6 +454,7 @@ old_drawing_scheme = 1; else old_drawing_scheme = 0; + update_options(); } } @@ -462,10 +484,22 @@ v += len; len = -len; } - while (len >= 0) { - add_char('|', env->hpos, v, env->col, env->fill, VDRAW_MODE); + if (len >= 0 && len <= font::vert) + add_char(vline_char, env->hpos, v, env->col, env->fill, + VDRAW_MODE|START_LINE|END_LINE); + else { + add_char(vline_char, env->hpos, v, env->col, env->fill, + VDRAW_MODE|START_LINE); len -= font::vert; v += font::vert; + while (len > 0) { + add_char(vline_char, env->hpos, v, env->col, env->fill, + VDRAW_MODE|START_LINE|END_LINE); + len -= font::vert; + v += font::vert; + } + add_char(vline_char, env->hpos, v, env->col, env->fill, + VDRAW_MODE|END_LINE); } } if (p[1] == 0) { @@ -476,10 +510,22 @@ h += len; len = -len; } - while (len >= 0) { - add_char('-', h, env->vpos, env->col, env->fill, HDRAW_MODE); + if (len >= 0 && len <= font::hor) + add_char(hline_char, h, env->vpos, env->col, env->fill, + HDRAW_MODE|START_LINE|END_LINE); + else { + add_char(hline_char, h, env->vpos, env->col, env->fill, + HDRAW_MODE|START_LINE); len -= font::hor; h += font::hor; + while (len > 0) { + add_char(hline_char, h, env->vpos, env->col, env->fill, + HDRAW_MODE|START_LINE|END_LINE); + len -= font::hor; + h += font::hor; + } + add_char(hline_char, h, env->vpos, env->col, env->fill, + HDRAW_MODE|END_LINE); } } } @@ -511,7 +557,7 @@ putchar(wc); } -void tty_printer::put_color(char color_index, int back) +void tty_printer::put_color(schar color_index, int back) { if (color_index == DEFAULT_COLOR_IDX) { putstring(SGR_DEFAULT); @@ -541,6 +587,20 @@ } } +// The possible Unicode combinations for crossing characters. +// +// ` ' = 0, ` -' = 4, `- ' = 8, `--' = 12, +// +// ` ' = 0, ` ' = 1, `|' = 2, `|' = 3 +// | | + +static int crossings[4*4] = { + 0x0000, 0x2577, 0x2575, 0x2502, + 0x2576, 0x250C, 0x2514, 0x251C, + 0x2574, 0x2510, 0x2518, 0x2524, + 0x2500, 0x252C, 0x2534, 0x253C +}; + void tty_printer::end_page(int page_length) { if (page_length % font::vert != 0) @@ -588,7 +648,12 @@ if (nextp && p->hpos == nextp->hpos) { if (p->draw_mode() == HDRAW_MODE && nextp->draw_mode() == VDRAW_MODE) { - nextp->code = '+'; + if (is_utf8) + nextp->code = + crossings[((p->mode & (START_LINE|END_LINE)) >> 4) + + ((nextp->mode & (START_LINE|END_LINE)) >> 6)]; + else + nextp->code = '+'; continue; } if (p->draw_mode() != 0 && p->draw_mode() == nextp->draw_mode()) { @@ -711,7 +776,23 @@ return new tty_printer(device); } -static void usage(FILE *stream); +static void update_options() +{ + if (old_drawing_scheme) { + italic_flag = 0; + reverse_flag = 0; + bold_underline_mode = bold_underline_mode_option; + bold_flag = bold_flag_option; + underline_flag = underline_flag_option; + } + else { + italic_flag = italic_flag_option; + reverse_flag = reverse_flag_option; + bold_underline_mode = BOLD_MODE|UNDERLINE_MODE; + bold_flag = 1; + underline_flag = 1; + } +} int main(int argc, char **argv) { @@ -726,7 +807,7 @@ { "version", no_argument, 0, 'v' }, { NULL, 0, 0, 0 } }; - while ((c = getopt_long(argc, argv, "bBcdfF:hioruUv", long_options, NULL)) + while ((c = getopt_long(argc, argv, "bBcdfF:hiI:oruUv", long_options, NULL)) != EOF) switch(c) { case 'v': @@ -735,11 +816,14 @@ break; case 'i': // Use italic font instead of underlining. - italic_flag = 1; + italic_flag_option = 1; + break; + case 'I': + // ignore include search path break; case 'b': // Do not embolden by overstriking. - bold_flag = 0; + bold_flag_option = 0; break; case 'c': // Use old scheme for emboldening and underline. @@ -747,7 +831,7 @@ break; case 'u': // Do not underline. - underline_flag = 0; + underline_flag_option = 0; break; case 'o': // Do not overstrike (other than emboldening and underlining). @@ -755,15 +839,15 @@ break; case 'r': // Use reverse mode instead of underlining. - reverse_flag = 1; + reverse_flag_option = 1; break; case 'B': // Do bold-underlining as bold. - bold_underline_mode = BOLD_MODE; + bold_underline_mode_option = BOLD_MODE; break; case 'U': // Do bold-underlining as underlining. - bold_underline_mode = UNDERLINE_MODE; + bold_underline_mode_option = UNDERLINE_MODE; break; case 'h': // Use horizontal tabs. @@ -790,15 +874,7 @@ default: assert(0); } - if (old_drawing_scheme) { - italic_flag = 0; - reverse_flag = 0; - } - else { - bold_underline_mode = BOLD_MODE|UNDERLINE_MODE; - bold_flag = 1; - underline_flag = 1; - } + update_options(); if (optind >= argc) do_file("-"); else { diff -ruN groff-1.19/src/include/Makefile.sub groff-1.19.1/src/include/Makefile.sub --- groff-1.19/src/include/Makefile.sub Mon Jun 3 17:09:01 2002 +++ groff-1.19.1/src/include/Makefile.sub Tue Jan 6 23:50:29 2004 @@ -22,7 +22,9 @@ refid.h \ search.h \ searchpath.h \ - stringclass.h + stringclass.h \ + symbol.h \ + unicode.h GENHDRS=defs.h all depend: $(GENHDRS) diff -ruN groff-1.19/src/include/color.h groff-1.19.1/src/include/color.h --- groff-1.19/src/include/color.h Sat Feb 15 08:11:35 2003 +++ groff-1.19.1/src/include/color.h Wed Jan 7 00:49:32 2004 @@ -24,6 +24,7 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include +#include "symbol.h" enum color_scheme {DEFAULT, CMY, CMYK, RGB, GRAY}; @@ -38,8 +39,9 @@ const size_t); public: + symbol nm; enum {MAX_COLOR_VAL = 0xffff}; - color() : scheme(DEFAULT){} + color(symbol s = default_symbol) : scheme(DEFAULT), nm(s) {} color(const color * const); ~color(); void *operator new(size_t); diff -ruN groff-1.19/src/include/config.hin groff-1.19.1/src/include/config.hin --- groff-1.19/src/include/config.hin Tue Apr 22 16:37:28 2003 +++ groff-1.19.1/src/include/config.hin Tue Dec 30 05:03:41 2003 @@ -12,6 +12,13 @@ /* Define if you have a C++ . */ #undef HAVE_CC_STDINT_H +/* Define to 1 if you have the declaration of `sys_siglist', and to 0 if you + don't. */ +#undef HAVE_DECL_SYS_SIGLIST + +/* Define to 1 if you have the header file. */ +#undef HAVE_DIRECT_H + /* Define to 1 if you have the header file. */ #undef HAVE_DIRENT_H @@ -33,6 +40,9 @@ /* Define to 1 if you have the `isatty' function. */ #undef HAVE_ISATTY +/* Define to 1 if you have the `kill' function. */ +#undef HAVE_KILL + /* Define to 1 if you have the header file. */ #undef HAVE_LIMITS_H @@ -48,6 +58,9 @@ /* Define to 1 if you have a working `mmap' system call. */ #undef HAVE_MMAP +/* Define to 1 if you have the header file. */ +#undef HAVE_PROCESS_H + /* Define to 1 if you have the `putenv' function. */ #undef HAVE_PUTENV @@ -93,10 +106,10 @@ /* Define to 1 if you have the header file. */ #undef HAVE_SYS_DIR_H -/* Define if you have sys_errlist in or in . */ +/* Define if you have sys_errlist in , , or . */ #undef HAVE_SYS_ERRLIST -/* Define if you have sysnerr in or . */ +/* Define if you have sys_nerr in , , or . */ #undef HAVE_SYS_NERR /* Define to 1 if you have the header file. */ @@ -111,6 +124,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H +/* Define to 1 if you have the `vsnprintf' function. */ +#undef HAVE_VSNPRINTF + /* Define if the host's encoding is EBCDIC. */ #undef IS_EBCDIC_HOST @@ -147,6 +163,12 @@ /* Define if your C++ doesn't declare strncasecmp(). */ #undef NEED_DECLARATION_STRNCASECMP +/* Define if your C++ doesn't declare vfprintf(). */ +#undef NEED_DECLARATION_VFPRINTF + +/* Define if your C++ doesn't declare vsnprintf(). */ +#undef NEED_DECLARATION_VSNPRINTF + /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT @@ -173,9 +195,6 @@ /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS - -/* Define to 1 if `sys_siglist' is declared by or . */ -#undef SYS_SIGLIST_DECLARED /* Define if your C++ compiler uses a traditional (Reiser) preprocessor. */ #undef TRADITIONAL_CPP diff -ruN groff-1.19/src/include/driver.h groff-1.19.1/src/include/driver.h --- groff-1.19/src/include/driver.h Tue Mar 11 20:47:00 2003 +++ groff-1.19.1/src/include/driver.h Mon Jan 5 23:31:01 2004 @@ -1,5 +1,5 @@ // -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001 +/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2003 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) diff -ruN groff-1.19/src/include/error.h groff-1.19.1/src/include/error.h --- groff-1.19/src/include/error.h Mon Feb 10 16:32:07 2003 +++ groff-1.19.1/src/include/error.h Sun Feb 22 01:37:50 2004 @@ -1,5 +1,6 @@ // -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992, 2003 Free Software Foundation, Inc. +/* Copyright (C) 1989, 1990, 1991, 1992, 2003, 2004 + Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) This file is part of groff. @@ -52,7 +53,7 @@ const errarg &arg3 = empty_errarg); -extern const char *program_name; +extern "C" const char *program_name; extern int current_lineno; extern const char *current_filename; extern const char *current_source_filename; diff -ruN groff-1.19/src/include/font.h groff-1.19.1/src/include/font.h --- groff-1.19/src/include/font.h Tue Jul 9 09:57:02 2002 +++ groff-1.19.1/src/include/font.h Sun Apr 18 08:14:55 2004 @@ -1,5 +1,6 @@ // -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992, 2002 Free Software Foundation, Inc. +/* Copyright (C) 1989, 1990, 1991, 1992, 2002, 2004 + Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) This file is part of groff. @@ -87,7 +88,7 @@ unsigned ligatures; font_kern_list **kern_hash_table; int space_width; - short *ch_index; + int *ch_index; int nindices; font_char_metric *ch; int ch_used; diff -ruN groff-1.19/src/include/lib.h groff-1.19.1/src/include/lib.h --- groff-1.19/src/include/lib.h Tue Apr 22 17:07:51 2003 +++ groff-1.19.1/src/include/lib.h Thu Nov 13 09:21:50 2003 @@ -31,14 +31,15 @@ const char *if_to_a(int, int); } -/* stdio.h on IRIX, OSF/1, emx, and UWIN include getopt.h */ +/* stdio.h on IRIX, OSF/1, emx, UWIN, and MinGW include getopt.h */ /* unistd.h on CYGWIN includes getopt.h */ #if !(defined(__sgi) \ || (defined(__osf__) && defined(__alpha)) \ || defined(_UWIN) \ || defined(__EMX__) \ - || defined(__CYGWIN__)) + || defined(__CYGWIN__) \ + || defined(__MINGW32__)) #include #else #include @@ -59,13 +60,21 @@ #include #endif -/* HP-UX 10.20 doesn't declare snprintf() */ -#if !defined(HAVE_SNPRINTF) || defined(NEED_DECLARATION_SNPRINTF) #include -extern "C" { - int snprintf(char *, size_t, const char *, /*args*/ ...); - int vsnprintf(char *, size_t, const char *, va_list); -} + +/* HP-UX 10.20 and LynxOS 4.0.0 don't declare snprintf() */ +#if !defined(HAVE_SNPRINTF) || defined(NEED_DECLARATION_SNPRINTF) +extern "C" { int snprintf(char *, size_t, const char *, /*args*/ ...); } +#endif + +/* LynxOS 4.0.0 has snprintf() but no vsnprintf() */ +#if !defined(HAVE_VSNPRINTF) || defined(NEED_DECLARATION_VSNPRINTF) +extern "C" { int vsnprintf(char *, size_t, const char *, va_list); } +#endif + +/* LynxOS 4.0.0 doesn't declare vfprintf() */ +#ifdef NEED_DECLARATION_VFPRINTF +extern "C" { int vfprintf(FILE *, const char *, va_list); } #endif #ifndef HAVE_MKSTEMP @@ -102,29 +111,21 @@ #ifdef HAVE_STRCASECMP #ifdef NEED_DECLARATION_STRCASECMP -extern "C" { - // Ultrix4.3's string.h fails to declare this. - int strcasecmp(const char *, const char *); -} +// Ultrix4.3's string.h fails to declare this. +extern "C" { int strcasecmp(const char *, const char *); } #endif /* NEED_DECLARATION_STRCASECMP */ #else /* not HAVE_STRCASECMP */ -extern "C" { - int strcasecmp(const char *, const char *); -} +extern "C" { int strcasecmp(const char *, const char *); } #endif /* HAVE_STRCASECMP */ #if !defined(_AIX) && !defined(sinix) && !defined(__sinix__) #ifdef HAVE_STRNCASECMP #ifdef NEED_DECLARATION_STRNCASECMP -extern "C" { - // SunOS's string.h fails to declare this. - int strncasecmp(const char *, const char *, int); -} +// SunOS's string.h fails to declare this. +extern "C" { int strncasecmp(const char *, const char *, int); } #endif /* NEED_DECLARATION_STRNCASECMP */ #else /* not HAVE_STRNCASECMP */ -extern "C" { - int strncasecmp(const char *, const char *, size_t); -} +extern "C" { int strncasecmp(const char *, const char *, size_t); } #endif /* HAVE_STRNCASECMP */ #endif /* !_AIX && !sinix && !__sinix__ */ diff -ruN groff-1.19/src/include/nonposix.h groff-1.19.1/src/include/nonposix.h --- groff-1.19/src/include/nonposix.h Tue Mar 11 16:14:25 2003 +++ groff-1.19.1/src/include/nonposix.h Sat Feb 28 21:56:51 2004 @@ -1,4 +1,4 @@ -/* Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc. +/* Copyright (C) 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. Written by Eli Zaretskii (eliz@is.elta.co.il) This file is part of groff. @@ -18,7 +18,9 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* This header file compartmentalize all idiosyncrasies of non-Posix - systems, such as MS-DOS, MS-Windows, etc. */ + systems, such as MS-DOS, MS-Windows, etc. It should be loaded after + the system headers like stdio.h to protect against warnings and error + messages w.r.t. redefining macros. */ #if defined _MSC_VER # ifndef _WIN32 @@ -29,31 +31,47 @@ #if defined(__MSDOS__) || defined(__EMX__) \ || (defined(_WIN32) && !defined(_UWIN) && !defined(__CYGWIN__)) -/* Binary I/O nuisances. Note: "setmode" is right for DJGPP and - Borland; Windows compilers might need _setmode or some such. */ +/* Binary I/O nuisances. */ # include # include # ifdef HAVE_UNISTD_H # include # endif -# ifdef _MSC_VER -# define POPEN_RT "rt" -# define POPEN_WT "wt" -# define popen(c,m) _popen(c,m) -# define pclose(p) _pclose(p) -# define getpid() (1) -# define mkdir(p,m) _mkdir(p) -# define setmode(f,m) _setmode(f,m) -# define WAIT(s,p,m) _cwait(s,p,m) -# define creat(p,m) _creat(p,m) -# endif -# define SET_BINARY(f) do {if (!isatty(f)) setmode(f,O_BINARY);} while(0) -# define FOPEN_RB "rb" -# define FOPEN_WB "wb" -# define FOPEN_RWB "wb+" +# ifndef STDIN_FILENO +# define STDIN_FILENO 0 +# define STDOUT_FILENO 1 +# define STDERR_FILENO 2 +# endif +# ifdef HAVE_DIRECT_H +# include +# endif +# ifdef HAVE_PROCESS_H +# include +# endif +# if defined(_MSC_VER) || defined(__MINGW32__) +# define POPEN_RT "rt" +# define POPEN_WT "wt" +# define popen(c,m) _popen(c,m) +# define pclose(p) _pclose(p) +# define pipe(pfd) _pipe((pfd),0,_O_BINARY|_O_NOINHERIT) +# define mkdir(p,m) _mkdir(p) +# define setmode(f,m) _setmode(f,m) +# define WAIT(s,p,m) _cwait(s,p,m) +# define creat(p,m) _creat(p,m) +# define read(f,b,s) _read(f,b,s) +# define write(f,b,s) _write(f,b,s) +# define dup(f) _dup(f) +# define dup2(f1,f2) _dup2(f1,f2) +# define close(f) _close(f) +# define isatty(f) _isatty(f) +# endif +# define SET_BINARY(f) do {if (!isatty(f)) setmode(f,O_BINARY);} while(0) +# define FOPEN_RB "rb" +# define FOPEN_WB "wb" +# define FOPEN_RWB "wb+" # ifndef O_BINARY # ifdef _O_BINARY -# define O_BINARY (_O_BINARY) +# define O_BINARY (_O_BINARY) # endif # endif @@ -61,96 +79,145 @@ systems don't have standard places where it lives, and might not have it installed to begin with. We want to give them some leeway. */ # ifdef __EMX__ -# define getcwd(b,s) _getcwd2(b,s) +# define getcwd(b,s) _getcwd2(b,s) # else -# define BSHELL (system_shell_name()) -# define BSHELL_DASH_C (system_shell_dash_c()) -# define IS_BSHELL(s) (is_system_shell(s)) +# define BSHELL (system_shell_name()) +# define BSHELL_DASH_C (system_shell_dash_c()) +# define IS_BSHELL(s) (is_system_shell(s)) # endif /* The separator for directories in PATH and other environment variables. */ -# define PATH_SEP ";" +# define PATH_SEP ";" +# define PATH_SEP_CHAR ';' /* Characters that separate directories in a path name. */ -# define DIR_SEPS "/\\:" +# define DIR_SEPS "/\\:" /* How to tell if the argument is an absolute file name. */ # define IS_ABSOLUTE(f) \ ((f)[0] == '/' || (f)[0] == '\\' || (f)[0] && (f)[1] == ':') /* The executable extension. */ -# define EXE_EXT ".exe" +# define EXE_EXT ".exe" /* The system null device. */ -# define NULL_DEV "NUL" +# define NULL_DEV "NUL" + +/* The default place to create temporary files. */ +# ifndef P_tmpdir +# ifdef _P_tmpdir +# define P_tmpdir _P_tmpdir +# else +# define P_tmpdir "c:/temp" +# endif +# endif /* Prototypes. */ # ifdef __cplusplus extern "C" { # endif - const char * system_shell_name(void); + char * system_shell_name(void); const char * system_shell_dash_c(void); - int is_system_shell(const char *); + int is_system_shell(const char *); # ifdef __cplusplus } # endif #endif +#if defined(_WIN32) && !defined(_UWIN) && !defined(__CYGWIN__) +/* Win32 implementations which use the Microsoft runtime library + * are prone to hanging when a pipe reader quits with unread data in the pipe. + * `gtroff' avoids this, by invoking `FLUSH_INPUT_PIPE()', defined as ... */ +# define FLUSH_INPUT_PIPE(fd) \ + do if (!isatty(fd)) \ + { \ + char drain[BUFSIZ]; \ + while (read(fd, drain, sizeof(drain)) > 0) \ + ; \ + } while (0) + +/* The Microsoft runtime library also has a broken argument passing mechanism, + * which may result in improper grouping of arguments passed to a child process + * by the `spawn()' family of functions. In `groff', only the `spawnvp()' + * function is affected; we work around this defect, by substituting a + * wrapper function in place of `spawnvp()' calls. */ + +# ifdef __cplusplus + extern "C" { +# endif + int spawnvp_wrapper(int, char *, char **); +# ifdef __cplusplus + } +# endif +# ifndef SPAWN_FUNCTION_WRAPPERS +# undef spawnvp +# define spawnvp spawnvp_wrapper +# undef _spawnvp +# define _spawnvp spawnvp +# endif /* SPAWN_FUNCTION_WRAPPERS */ + +#else +/* Other implementations do not suffer from Microsoft runtime bugs, + * but `gtroff' requires a dummy definition for FLUSH_INPUT_PIPE() */ +# define FLUSH_INPUT_PIPE(fd) do {} while(0) +#endif + /* Defaults, for Posix systems. */ #ifndef SET_BINARY -# define SET_BINARY(f) do {} while(0) +# define SET_BINARY(f) do {} while(0) #endif #ifndef FOPEN_RB -# define FOPEN_RB "r" +# define FOPEN_RB "r" #endif #ifndef FOPEN_WB -# define FOPEN_WB "w" +# define FOPEN_WB "w" #endif #ifndef FOPEN_RWB -# define FOPEN_RWB "w+" +# define FOPEN_RWB "w+" #endif #ifndef POPEN_RT -# define POPEN_RT "r" +# define POPEN_RT "r" #endif #ifndef POPEN_WT -# define POPEN_WT "w" +# define POPEN_WT "w" #endif #ifndef O_BINARY -# define O_BINARY 0 +# define O_BINARY 0 #endif #ifndef BSHELL -# define BSHELL "/bin/sh" +# define BSHELL "/bin/sh" #endif #ifndef BSHELL_DASH_C -# define BSHELL_DASH_C "-c" +# define BSHELL_DASH_C "-c" #endif #ifndef IS_BSHELL -# define IS_BSHELL(s) ((s) && strcmp(s,BSHELL) == 0) +# define IS_BSHELL(s) ((s) && strcmp(s,BSHELL) == 0) #endif #ifndef PATH_SEP -# define PATH_SEP ":" +# define PATH_SEP ":" +# define PATH_SEP_CHAR ':' #endif #ifndef DIR_SEPS -# define DIR_SEPS "/" +# define DIR_SEPS "/" #endif #ifndef IS_ABSOLUTE -# define IS_ABSOLUTE(f) ((f)[0] == '/') +# define IS_ABSOLUTE(f) ((f)[0] == '/') #endif #ifndef EXE_EXT -# define EXE_EXT "" +# define EXE_EXT "" #endif #ifndef NULL_DEV -# define NULL_DEV "/dev/null" +# define NULL_DEV "/dev/null" #endif #ifndef GS_NAME -# define GS_NAME "gs" +# define GS_NAME "gs" #endif #ifndef WAIT -# define WAIT(s,p,m) wait(s) +# define WAIT(s,p,m) wait(s) #endif #ifndef _WAIT_CHILD -# define _WAIT_CHILD 0 +# define _WAIT_CHILD 0 #endif diff -ruN groff-1.19/src/include/posix.h groff-1.19.1/src/include/posix.h --- groff-1.19/src/include/posix.h Tue Jul 23 23:57:51 2002 +++ groff-1.19.1/src/include/posix.h Mon Jan 5 23:31:48 2004 @@ -1,5 +1,5 @@ // -*- C++ -*- -/* Copyright (C) 1992, 2000, 2001 Free Software Foundation, Inc. +/* Copyright (C) 1992, 2000, 2001, 2002 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) This file is part of groff. diff -ruN groff-1.19/src/include/printer.h groff-1.19.1/src/include/printer.h --- groff-1.19/src/include/printer.h Sat Apr 12 15:57:45 2003 +++ groff-1.19.1/src/include/printer.h Sat Apr 17 06:37:24 2004 @@ -2,7 +2,7 @@ // /src/include/printer.h -/* Copyright (C) 1989, 1990, 1991, 1992, 2001, 2002, 2003 +/* Copyright (C) 1989, 1990, 1991, 1992, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) @@ -49,7 +49,7 @@ color *fill; }; -struct font; +class font; struct font_pointer_list { font *p; diff -ruN groff-1.19/src/include/ptable.h groff-1.19.1/src/include/ptable.h --- groff-1.19/src/include/ptable.h Sun Feb 9 10:00:15 2003 +++ groff-1.19.1/src/include/ptable.h Sat Apr 17 06:27:13 2004 @@ -1,5 +1,6 @@ // -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992, 2003 Free Software Foundation, Inc. +/* Copyright (C) 1989, 1990, 1991, 1992, 2003, 2004 + Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) This file is part of groff. @@ -43,7 +44,7 @@ PASSOC(T)(); \ }; \ \ -struct PTABLE(T); \ +class PTABLE(T); \ \ class PTABLE_ITERATOR(T) { \ PTABLE(T) *p; \ diff -ruN groff-1.19/src/include/search.h groff-1.19.1/src/include/search.h --- groff-1.19/src/include/search.h Sun Feb 6 10:36:30 2000 +++ groff-1.19.1/src/include/search.h Sat Apr 17 06:39:41 2004 @@ -1,5 +1,5 @@ // -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992 Free Software Foundation, Inc. +/* Copyright (C) 1989, 1990, 1991, 1992, 2004 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) This file is part of groff. @@ -18,8 +18,8 @@ with groff; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -struct search_item; -struct search_item_iterator; +class search_item; +class search_item_iterator; class search_list { public: @@ -34,7 +34,7 @@ friend class search_list_iterator; }; -struct bmpattern; +class bmpattern; class linear_searcher { const char *ignore_fields; diff -ruN groff-1.19/src/include/searchpath.h groff-1.19.1/src/include/searchpath.h --- groff-1.19/src/include/searchpath.h Mon Nov 13 17:51:28 2000 +++ groff-1.19.1/src/include/searchpath.h Mon Oct 13 14:40:29 2003 @@ -1,5 +1,6 @@ // -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992, 2000 Free Software Foundation, Inc. +/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2003 + Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) This file is part of groff. @@ -27,4 +28,5 @@ ~search_path(); void command_line_dir(const char *); FILE *open_file(const char *, char **); + FILE *open_file_cautious(const char *, char ** = 0, const char * = 0); }; diff -ruN groff-1.19/src/include/symbol.h groff-1.19.1/src/include/symbol.h --- groff-1.19/src/include/symbol.h Thu Jan 1 01:00:00 1970 +++ groff-1.19.1/src/include/symbol.h Wed Jan 7 00:29:33 2004 @@ -0,0 +1,83 @@ +// -*- C++ -*- +/* Copyright (C) 1989, 1990, 1991, 1992, 2002, 2004 + 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. */ + +#define DONT_STORE 1 +#define MUST_ALREADY_EXIST 2 + +class symbol { + static const char **table; + static int table_used; + static int table_size; + static char *block; + static int block_size; + const char *s; +public: + symbol(const char *p, int how = 0); + symbol(); + unsigned long hash() const; + int operator ==(symbol) const; + int operator !=(symbol) const; + const char *contents() const; + int is_null() const; + int is_empty() const; +}; + + +extern const symbol NULL_SYMBOL; +extern const symbol EMPTY_SYMBOL; + +inline symbol::symbol() : s(0) +{ +} + +inline int symbol::operator==(symbol p) const +{ + return s == p.s; +} + +inline int symbol::operator!=(symbol p) const +{ + return s != p.s; +} + +inline unsigned long symbol::hash() const +{ + return (unsigned long)s; +} + +inline const char *symbol::contents() const +{ + return s; +} + +inline int symbol::is_null() const +{ + return s == 0; +} + +inline int symbol::is_empty() const +{ + return s != 0 && *s == 0; +} + +symbol concat(symbol, symbol); + +extern symbol default_symbol; diff -ruN groff-1.19/src/include/unicode.h groff-1.19.1/src/include/unicode.h --- groff-1.19/src/include/unicode.h Thu Jan 1 01:00:00 1970 +++ groff-1.19.1/src/include/unicode.h Mon Dec 22 11:26:45 2003 @@ -0,0 +1,26 @@ +// -*- C++ -*- +/* Copyright (C) 2002, 2003 + Free Software Foundation, Inc. + Written by Werner Lemberg + +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. */ + +const char *glyph_name_to_unicode(const char *); +const char *unicode_to_glyph_name(const char *); +const char *decompose_unicode(const char *); + +const char *check_unicode_name(const char *); diff -ruN groff-1.19/src/libs/libbib/index.cpp groff-1.19.1/src/libs/libbib/index.cpp --- groff-1.19/src/libs/libbib/index.cpp Sun Aug 19 23:32:26 2001 +++ groff-1.19.1/src/libs/libbib/index.cpp Wed Apr 7 16:38:02 2004 @@ -1,5 +1,6 @@ // -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992, 2001 Free Software Foundation, Inc. +/* Copyright (C) 1989, 1990, 1991, 1992, 2001, 2004 + Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) This file is part of groff. @@ -349,7 +350,7 @@ } int index_search_item_iterator::get_tag(int tagno, - const linear_searcher &searcher, + const linear_searcher &searchr, const char **pp, int *lenp, reference_id *ridp) { @@ -389,7 +390,6 @@ int length = tp->length; int err = 0; if (length == 0) { - struct stat sb; if (fstat(fileno(fp), &sb) < 0) { error("can't stat `%1': %2", filename, strerror(errno)); err = 1; @@ -426,7 +426,7 @@ buf[didx] = buf[sidx]; } buf[length + 1] = '\n'; - res = searcher.search(buf + 1, buf + 2 + length, pp, lenp); + res = searchr.search(buf + 1, buf + 2 + length, pp, lenp); if (res && ridp) *ridp = reference_id(indx->filename_id + tp->filename_index, tp->start); diff -ruN groff-1.19/src/libs/libbib/map.c groff-1.19.1/src/libs/libbib/map.c --- groff-1.19/src/libs/libbib/map.c Sat Dec 1 08:48:41 2001 +++ groff-1.19.1/src/libs/libbib/map.c Thu Apr 8 16:46:52 2004 @@ -1,4 +1,4 @@ -/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001 +/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2004 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) @@ -34,11 +34,13 @@ #define MAP_FILE 0 #endif -char *mapread(fd, nbytes) - int fd; - int nbytes; +#ifdef __cplusplus +extern "C" { +#endif + +char *mapread(int fd, int nbytes) { - char *p = (char *)mmap((caddr_t)0, (size_t)nbytes, PROT_READ, + char *p = (char *)mmap((void *)0, (size_t)nbytes, PROT_READ, MAP_FILE|MAP_PRIVATE, fd, (off_t)0); if (p == (char *)-1) return 0; @@ -48,31 +50,37 @@ return p; } -int unmap(p, len) - char *p; - int len; +int unmap(char *p, int len) { - return munmap((caddr_t)p, len); + return munmap((void *)p, len); } +#ifdef __cplusplus +} +#endif + #else /* not HAVE_MMAP */ #include -char *mapread(fd, nbytes) - int fd; - int nbytes; +#ifdef __cplusplus +extern "C" { +#endif + +char *mapread(int fd, int nbytes) { errno = ENODEV; return 0; } -int unmap(p, len) - char *p; - int len; +int unmap(char *p, int len) { errno = EINVAL; return -1; } + +#ifdef __cplusplus +} +#endif #endif /* not HAVE_MMAP */ diff -ruN groff-1.19/src/libs/libdriver/input.cpp groff-1.19.1/src/libs/libdriver/input.cpp --- groff-1.19/src/libs/libdriver/input.cpp Sat Apr 12 15:58:06 2003 +++ groff-1.19.1/src/libs/libdriver/input.cpp Wed Apr 7 16:30:36 2004 @@ -2,7 +2,7 @@ // /src/libs/libdriver/input.cpp -/* Copyright (C) 1989, 1990, 1991, 1992, 2001, 2002, 2003 +/* Copyright (C) 1989, 1990, 1991, 1992, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) @@ -280,7 +280,7 @@ } void append(IntArg); const IntArg * const - get_data(void) const { return (IntArg *) data; } + get_data(void) const { return (IntArg *)data; } const size_t len(void) const { return num_stored; } }; @@ -442,7 +442,7 @@ { num_allocated = 4; // allocate pointer to array of num_allocated pointers to environment - data = (environment **) malloc(envp_size * num_allocated); + data = (environment **)malloc(envp_size * num_allocated); if (data == 0) fatal("could not allocate environment data"); num_stored = 0; @@ -475,7 +475,7 @@ if (num_stored >= num_allocated) { environment **old_data = data; num_allocated *= 2; - data = (environment **) malloc(envp_size * num_allocated); + data = (environment **)malloc(envp_size * num_allocated); if (data == 0) fatal("could not allocate data"); for (size_t i = 0; i < num_stored; i++) @@ -1034,13 +1034,13 @@ { char *fname; if (strcmp(filename, "-") == 0) - fname = ""; + fname = (char *)""; else - fname = (char *) filename; + fname = (char *)filename; size_t len = strlen(fname) + 1; if (current_filename != 0) free((char *)current_filename); - current_filename = (const char *) malloc(len); + current_filename = (const char *)malloc(len); if (current_filename == 0) fatal("can't malloc space for filename"); strncpy((char *)current_filename, (char *)fname, len); @@ -1060,13 +1060,13 @@ { char *fname; if (strcmp(filename, "-") == 0) - fname = ""; + fname = (char *)""; else - fname = (char *) filename; + fname = (char *)filename; size_t len = strlen(fname) + 1; if (current_source_filename != 0) free((char *)current_source_filename); - current_source_filename = (const char *) malloc(len); + current_source_filename = (const char *)malloc(len); if (current_source_filename == 0) fatal("can't malloc space for filename"); strncpy((char *)current_source_filename, (char *)fname, len); @@ -1083,7 +1083,7 @@ send_draw(const Char subcmd, const IntArray * const args) { EnvInt n = (EnvInt) args->len(); - pr->draw((int) subcmd, (IntArg *) args->get_data(), n, current_env); + pr->draw((int) subcmd, (IntArg *)args->get_data(), n, current_env); } ////////////////////////////////////////////////////////////////////// diff -ruN groff-1.19/src/libs/libgroff/Makefile.sub groff-1.19.1/src/libs/libgroff/Makefile.sub --- groff-1.19/src/libs/libgroff/Makefile.sub Sat Apr 12 15:52:12 2003 +++ groff-1.19.1/src/libs/libgroff/Makefile.sub Sat Feb 21 22:16:47 2004 @@ -15,11 +15,15 @@ geometry.$(OBJEXT) \ getopt.$(OBJEXT) \ getopt1.$(OBJEXT) \ + glyphuni.$(OBJEXT) \ htmlhint.$(OBJEXT) \ + iftoa.$(OBJEXT) \ invalid.$(OBJEXT) \ + itoa.$(OBJEXT) \ lf.$(OBJEXT) \ lineno.$(OBJEXT) \ macropath.$(OBJEXT) \ + matherr.$(OBJEXT) \ maxfilename.$(OBJEXT) \ mksdir.$(OBJEXT) \ nametoindex.$(OBJEXT) \ @@ -28,14 +32,17 @@ prime.$(OBJEXT) \ progname.$(OBJEXT) \ ptable.$(OBJEXT) \ + quotearg.$(OBJEXT) \ searchpath.$(OBJEXT) \ + spawnvp.$(OBJEXT) \ string.$(OBJEXT) \ strsave.$(OBJEXT) \ + symbol.$(OBJEXT) \ tmpfile.$(OBJEXT) \ tmpname.$(OBJEXT) \ - iftoa.$(OBJEXT) \ - itoa.$(OBJEXT) \ - matherr.$(OBJEXT) \ + unicode.$(OBJEXT) \ + uniglyph.$(OBJEXT) \ + uniuni.$(OBJEXT) \ version.$(OBJEXT) \ $(LIBOBJS) CCSRCS=\ @@ -52,6 +59,7 @@ $(srcdir)/font.cpp \ $(srcdir)/fontfile.cpp \ $(srcdir)/geometry.cpp \ + $(srcdir)/glyphuni.cpp \ $(srcdir)/htmlhint.cpp \ $(srcdir)/invalid.cpp \ $(srcdir)/lf.cpp \ @@ -64,13 +72,16 @@ $(srcdir)/new.cpp \ $(srcdir)/paper.cpp \ $(srcdir)/prime.cpp \ - $(srcdir)/progname.cpp \ $(srcdir)/ptable.cpp \ $(srcdir)/searchpath.cpp \ $(srcdir)/string.cpp \ $(srcdir)/strsave.cpp \ + $(srcdir)/symbol.cpp \ $(srcdir)/tmpfile.cpp \ $(srcdir)/tmpname.cpp \ + $(srcdir)/unicode.cpp \ + $(srcdir)/uniglyph.cpp \ + $(srcdir)/uniuni.cpp \ version.cpp CSRCS=\ $(srcdir)/fmod.c \ @@ -80,7 +91,10 @@ $(srcdir)/iftoa.c \ $(srcdir)/itoa.c \ $(srcdir)/matherr.c \ + $(srcdir)/progname.c \ $(srcdir)/putenv.c \ + $(srcdir)/quotearg.c \ + $(srcdir)/spawnvp.c \ $(srcdir)/strcasecmp.c \ $(srcdir)/strerror.c \ $(srcdir)/strncasecmp.c \ diff -ruN groff-1.19/src/libs/libgroff/assert.cpp groff-1.19.1/src/libs/libgroff/assert.cpp --- groff-1.19/src/libs/libgroff/assert.cpp Sun Feb 6 10:37:12 2000 +++ groff-1.19.1/src/libs/libgroff/assert.cpp Sat Feb 21 22:20:20 2004 @@ -1,4 +1,4 @@ -/* Copyright (C) 1989, 1990, 1991, 1992 Free Software Foundation, Inc. +/* Copyright (C) 1989, 1990, 1991, 1992, 2004 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) This file is part of groff. @@ -21,7 +21,7 @@ #include #include "assert.h" -extern const char *program_name; +extern "C" const char *program_name; void assertion_failed(int lineno, const char *filename) { diff -ruN groff-1.19/src/libs/libgroff/color.cpp groff-1.19.1/src/libs/libgroff/color.cpp --- groff-1.19/src/libs/libgroff/color.cpp Sat Apr 12 15:58:54 2003 +++ groff-1.19.1/src/libs/libgroff/color.cpp Wed Jan 7 00:02:33 2004 @@ -2,9 +2,9 @@ /* /src/libs/libgroff/color.cpp -Last update: 13 Apr 2003 +Last update: 07 Jan 2004 -Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. +Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc. Written by Gaius Mulley This file is part of groff. @@ -73,6 +73,7 @@ color::color(const color * const c) { + nm = c->nm; scheme = c->scheme; components[0] = c->components[0]; components[1] = c->components[1]; diff -ruN groff-1.19/src/libs/libgroff/font.cpp groff-1.19.1/src/libs/libgroff/font.cpp --- groff-1.19/src/libs/libgroff/font.cpp Sun Mar 2 16:15:05 2003 +++ groff-1.19.1/src/libs/libgroff/font.cpp Sun Apr 18 08:17:40 2004 @@ -1,5 +1,5 @@ // -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2002, 2003 +/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) @@ -397,24 +397,24 @@ return( ch[ch_index[c]].special_device_coding ); } -void font::alloc_ch_index(int index) +void font::alloc_ch_index(int idx) { if (nindices == 0) { nindices = 128; - if (index >= nindices) - nindices = index + 10; - ch_index = new short[nindices]; + if (idx >= nindices) + nindices = idx + 10; + ch_index = new int[nindices]; for (int i = 0; i < nindices; i++) ch_index[i] = -1; } else { int old_nindices = nindices; nindices *= 2; - if (index >= nindices) - nindices = index + 10; - short *old_ch_index = ch_index; - ch_index = new short[nindices]; - memcpy(ch_index, old_ch_index, sizeof(short)*old_nindices); + if (idx >= nindices) + nindices = idx + 10; + int *old_ch_index = ch_index; + ch_index = new int[nindices]; + memcpy(ch_index, old_ch_index, sizeof(int)*old_nindices); for (int i = old_nindices; i < nindices; i++) ch_index[i] = -1; a_delete old_ch_index; @@ -443,9 +443,9 @@ break; i++; if (i < nindices) { - short *old_ch_index = ch_index; - ch_index = new short[i]; - memcpy(ch_index, old_ch_index, i*sizeof(short)); + int *old_ch_index = ch_index; + ch_index = new int[i]; + memcpy(ch_index, old_ch_index, i*sizeof(int)); a_delete old_ch_index; nindices = i; } @@ -458,16 +458,16 @@ } } -void font::add_entry(int index, const font_char_metric &metric) +void font::add_entry(int idx, const font_char_metric &metric) { - assert(index >= 0); - if (index >= nindices) - alloc_ch_index(index); - assert(index < nindices); + assert(idx >= 0); + if (idx >= nindices) + alloc_ch_index(idx); + assert(idx < nindices); if (ch_used + 1 >= ch_size) extend_ch(); assert(ch_used + 1 < ch_size); - ch_index[index] = ch_used; + ch_index[idx] = ch_used; ch[ch_used++] = metric; } @@ -704,12 +704,12 @@ t.error("unnamed character cannot be duplicate"); return 0; } - int index = name_to_index(nm); - if (index < 0) { + int idx = name_to_index(nm); + if (idx < 0) { t.error("invalid character `%1'", nm); return 0; } - copy_entry(index, last_index); + copy_entry(idx, last_index); } else { font_char_metric metric; @@ -758,9 +758,9 @@ metric.special_device_coding = NULL; } else { - char *name = new char[strlen(p) + 1]; - strcpy(name, p); - metric.special_device_coding = name; + char *nam = new char[strlen(p) + 1]; + strcpy(nam, p); + metric.special_device_coding = nam; } if (strcmp(nm, "---") == 0) { last_index = number_to_index(metric.code); diff -ruN groff-1.19/src/libs/libgroff/fontfile.cpp groff-1.19.1/src/libs/libgroff/fontfile.cpp --- groff-1.19/src/libs/libgroff/fontfile.cpp Fri May 31 16:31:01 2002 +++ groff-1.19.1/src/libs/libgroff/fontfile.cpp Wed Apr 7 16:25:28 2004 @@ -1,5 +1,5 @@ // -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2002 +/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2002, 2004 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) @@ -57,10 +57,10 @@ font_path.command_line_dir(dir); } -FILE *font::open_file(const char *name, char **pathp) +FILE *font::open_file(const char *nm, char **pathp) { - char *filename = new char[strlen(name) + strlen(device) + 5]; - sprintf(filename, "dev%s/%s", device, name); + char *filename = new char[strlen(nm) + strlen(device) + 5]; + sprintf(filename, "dev%s/%s", device, nm); FILE *fp = font_path.open_file(filename, pathp); a_delete filename; return fp; diff -ruN groff-1.19/src/libs/libgroff/geometry.cpp groff-1.19.1/src/libs/libgroff/geometry.cpp --- groff-1.19/src/libs/libgroff/geometry.cpp Sat Apr 12 15:59:08 2003 +++ groff-1.19.1/src/libs/libgroff/geometry.cpp Thu Apr 8 13:13:23 2004 @@ -1,5 +1,5 @@ // -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2002, 2003 +/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. Written by Gaius Mulley using adjust_arc_center() from printer.cpp, written by James Clark. @@ -113,174 +113,67 @@ * Works out in which quadrant the arc starts and * stops, and from this it determines the x, y * max/min limits. The arc is drawn clockwise. - * - * [I'm sure there is a better way to do this, but - * I don't know how. Please can someone let me - * know or "improve" this function.] */ -void check_output_arc_limits(int x1, int y1, - int xv1, int yv1, - int xv2, int yv2, - double c0, double c1, +void check_output_arc_limits(int x_1, int y_1, + int xv_1, int yv_1, + int xv_2, int yv_2, + double c_0, double c_1, int *minx, int *maxx, int *miny, int *maxy) { - int radius = (int)sqrt(c0*c0 + c1*c1); - int x2 = x1 + xv1 + xv2; // end of arc is (x2, y2) - int y2 = y1 + yv1 + yv2; - - // firstly lets use the `circle' limitation - *minx = x1 + xv1 - radius; - *maxx = x1 + xv1 + radius; - *miny = y1 + yv1 - radius; - *maxy = y1 + yv1 + radius; - - /* now to see which min/max can be reduced and increased for the limits of - * the arc - * - * Q2 | Q1 - * -----+----- - * Q3 | Q4 - * - * - * NB. (x1+xv1, y1+yv1) is at the origin - * - * below we ask a nested question - * (i) from which quadrant does the first vector start? - * (ii) into which quadrant does the second vector go? - * from the 16 possible answers we determine the limits of the arc - */ - if (xv1 > 0 && yv1 > 0) { - // first vector in Q3 - if (xv2 >= 0 && yv2 >= 0 ) { - // second in Q1 - *maxx = x2; - *miny = y1; - } - else if (xv2 < 0 && yv2 >= 0) { - // second in Q2 - *maxx = x2; - *miny = y1; - } - else if (xv2 >= 0 && yv2 < 0) { - // second in Q4 - *miny = MIN(y1, y2); - } - else if (xv2 < 0 && yv2 < 0) { - // second in Q3 - if (x1 >= x2) { - *minx = x2; - *maxx = x1; - *miny = MIN(y1, y2); - *maxy = MAX(y1, y2); - } - else { - // xv2, yv2 could all be zero? - } - } - } - else if (xv1 > 0 && yv1 < 0) { - // first vector in Q2 - if (xv2 >= 0 && yv2 >= 0) { - // second in Q1 - *maxx = MAX(x1, x2); - *minx = MIN(x1, x2); - *miny = y1; - } - else if (xv2 < 0 && yv2 >= 0) { - // second in Q2 - if (x1 < x2) { - *maxx = x2; - *minx = x1; - *miny = MIN(y1, y2); - *maxy = MAX(y1, y2); - } - else { - // otherwise almost full circle anyway - } - } - else if (xv2 >= 0 && yv2 < 0) { - // second in Q4 - *miny = y2; - *minx = x1; - } - else if (xv2 < 0 && yv2 < 0) { - // second in Q3 - *minx = MIN(x1, x2); - } - } - else if (xv1 <= 0 && yv1 <= 0) { - // first vector in Q1 - if (xv2 >= 0 && yv2 >= 0) { - // second in Q1 - if (x1 < x2) { - *minx = x1; - *maxx = x2; - *miny = MIN(y1, y2); - *maxy = MAX(y1, y2); - } - else { - // nearly full circle - } - } - else if (xv2 < 0 && yv2 >= 0) { - // second in Q2 - *maxy = MAX(y1, y2); - } - else if (xv2 >= 0 && yv2 < 0) { - // second in Q4 - *miny = MIN(y1, y2); - *maxy = MAX(y1, y2); - *minx = MIN(x1, x2); - } - else if (xv2 < 0 && yv2 < 0) { - // second in Q3 - *minx = x2; - *maxy = y1; - } - } - else if (xv1 <= 0 && yv1 > 0) { - // first vector in Q4 - if (xv2 >= 0 && yv2 >= 0) { - // second in Q1 - *maxx = MAX(x1, x2); - } - else if (xv2 < 0 && yv2 >= 0) { - // second in Q2 - *maxy = MAX(y1, y2); - *maxx = MAX(x1, x2); - } - else if (xv2 >= 0 && yv2 < 0) { - // second in Q4 - if (x1 >= x2) { - *miny = MIN(y1, y2); - *maxy = MAX(y1, y2); - *minx = MIN(x1, x2); - *maxx = MAX(x2, x2); - } - else { - // nearly full circle - } - } - else if (xv2 < 0 && yv2 < 0) { - // second in Q3 - *maxy = MAX(y1, y2); - *minx = MIN(x1, x2); - *maxx = MAX(x1, x2); - } - } - - // this should *never* happen but if it does it means a case above is wrong - // this code is only present for safety sake - if (*maxx < *minx) { - fprintf(stderr, "assert failed *minx > *maxx\n"); - fflush(stderr); - *maxx = *minx; - } - if (*maxy < *miny) { - fprintf(stderr, "assert failed *miny > *maxy\n"); - fflush(stderr); - *maxy = *miny; - } + int radius = (int)sqrt(c_0 * c_0 + c_1 * c_1); + // clockwise direction + int xcenter = x_1 + xv_1; + int ycenter = y_1 + yv_1; + int xend = xcenter + xv_2; + int yend = ycenter + yv_2; + // for convenience, transform to counterclockwise direction, + // centered at the origin + int xs = xend - xcenter; + int ys = yend - ycenter; + int xe = x_1 - xcenter; + int ye = y_1 - ycenter; + *minx = *maxx = xs; + *miny = *maxy = ys; + if (xe > *maxx) + *maxx = xe; + else if (xe < *minx) + *minx = xe; + if (ye > *maxy) + *maxy = ye; + else if (ye < *miny) + *miny = ye; + int qs, qe; // quadrants 0..3 + if (xs >= 0) + qs = (ys >= 0) ? 0 : 3; + else + qs = (ys >= 0) ? 1 : 2; + if (xe >= 0) + qe = (ye >= 0) ? 0 : 3; + else + qe = (ye >= 0) ? 1 : 2; + // make qs always smaller than qe + if ((qs > qe) + || ((qs == qe) && (double(xs) * ye < double(xe) * ys))) + qe += 4; + for (int i = qs; i < qe; i++) + switch (i % 4) { + case 0: + *maxy = radius; + break; + case 1: + *minx = -radius; + break; + case 2: + *miny = -radius; + break; + case 3: + *maxx = radius; + break; + } + *minx += xcenter; + *maxx += xcenter; + *miny += ycenter; + *maxy += ycenter; } diff -ruN groff-1.19/src/libs/libgroff/glyphuni.cpp groff-1.19.1/src/libs/libgroff/glyphuni.cpp --- groff-1.19/src/libs/libgroff/glyphuni.cpp Thu Jan 1 01:00:00 1970 +++ groff-1.19.1/src/libs/libgroff/glyphuni.cpp Thu Apr 8 16:20:14 2004 @@ -0,0 +1,504 @@ +// -*- C++ -*- +/* Copyright (C) 2002, 2003, 2004 + Free Software Foundation, Inc. + Written by Werner Lemberg + +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. */ + +#include "lib.h" +#include "stringclass.h" +#include "ptable.h" + +#include "unicode.h" + +struct glyph_to_unicode { + char *value; +}; + +declare_ptable(glyph_to_unicode) +implement_ptable(glyph_to_unicode) + +PTABLE(glyph_to_unicode) glyph_to_unicode_table; + +struct S { + const char *key; + const char *value; +} glyph_to_unicode_list[] = { + { "!", "0021" }, + { "\"", "0022" }, + { "dq", "0022" }, + { "#", "0023" }, + { "sh", "0023" }, + { "$", "0024" }, + { "Do", "0024" }, + { "%", "0025" }, + { "&", "0026" }, + { "aq", "0027" }, + { "(", "0028" }, + { ")", "0029" }, + { "*", "002A" }, + { "+", "002B" }, + { "pl", "002B" }, + { ",", "002C" }, + { ".", "002E" }, + { "/", "002F" }, + { "sl", "002F" }, + { "0", "0030" }, + { "1", "0031" }, + { "2", "0032" }, + { "3", "0033" }, + { "4", "0034" }, + { "5", "0035" }, + { "6", "0036" }, + { "7", "0037" }, + { "8", "0038" }, + { "9", "0039" }, + { ":", "003A" }, + { ";", "003B" }, + { "<", "003C" }, + { "=", "003D" }, + { "eq", "003D" }, + { ">", "003E" }, + { "?", "003F" }, + { "@", "0040" }, + { "at", "0040" }, + { "A", "0041" }, + { "B", "0042" }, + { "C", "0043" }, + { "D", "0044" }, + { "E", "0045" }, + { "F", "0046" }, + { "G", "0047" }, + { "H", "0048" }, + { "I", "0049" }, + { "J", "004A" }, + { "K", "004B" }, + { "L", "004C" }, + { "M", "004D" }, + { "N", "004E" }, + { "O", "004F" }, + { "P", "0050" }, + { "Q", "0051" }, + { "R", "0052" }, + { "S", "0053" }, + { "T", "0054" }, + { "U", "0055" }, + { "V", "0056" }, + { "W", "0057" }, + { "X", "0058" }, + { "Y", "0059" }, + { "Z", "005A" }, +//{ "[", "005B" }, + { "lB", "005B" }, +//{ "\\", "005C" }, + { "rs", "005C" }, +//{ "]", "005D" }, + { "rB", "005D" }, + { "a^", "005E" }, + { "^", "005E" }, + { "ha", "005E" }, + { "_", "005F" }, + { "ru", "005F" }, + { "ul", "005F" }, +//{ "\\`", "0060" }, + { "ga", "0060" }, + { "a", "0061" }, + { "b", "0062" }, + { "c", "0063" }, + { "d", "0064" }, + { "e", "0065" }, + { "f", "0066" }, + { "ff", "0066_0066" }, + { "Fi", "0066_0066_0069" }, + { "Fl", "0066_0066_006C" }, + { "fi", "0066_0069" }, + { "fl", "0066_006C" }, + { "g", "0067" }, + { "h", "0068" }, + { "i", "0069" }, + { "j", "006A" }, + { "k", "006B" }, + { "l", "006C" }, + { "m", "006D" }, + { "n", "006E" }, + { "o", "006F" }, + { "p", "0070" }, + { "q", "0071" }, + { "r", "0072" }, + { "s", "0073" }, + { "t", "0074" }, + { "u", "0075" }, + { "v", "0076" }, + { "w", "0077" }, + { "x", "0078" }, + { "y", "0079" }, + { "z", "007A" }, + { "lC", "007B" }, + { "{", "007B" }, + { "ba", "007C" }, + { "or", "007C" }, + { "|", "007C" }, + { "rC", "007D" }, + { "}", "007D" }, + { "a~", "007E" }, + { "~", "007E" }, + { "ti", "007E" }, + { "r!", "00A1" }, + { "ct", "00A2" }, + { "Po", "00A3" }, + { "Cs", "00A4" }, + { "Ye", "00A5" }, + { "bb", "00A6" }, + { "sc", "00A7" }, + { "ad", "00A8" }, + { "co", "00A9" }, + { "Of", "00AA" }, + { "Fo", "00AB" }, + { "no", "00AC" }, + { "tno", "00AC" }, + { "shc", "00AD" }, + { "rg", "00AE" }, + { "a-", "00AF" }, + { "de", "00B0" }, + { "+-", "00B1" }, + { "t+-", "00B1" }, + { "S2", "00B2" }, + { "S3", "00B3" }, + { "aa", "00B4" }, +//{ "\\'", "00B4" }, + { "mc", "00B5" }, + { "ps", "00B6" }, + { "pc", "00B7" }, + { "ac", "00B8" }, + { "S1", "00B9" }, + { "Om", "00BA" }, + { "Fc", "00BB" }, + { "14", "00BC" }, + { "12", "00BD" }, + { "34", "00BE" }, + { "r?", "00BF" }, + { "`A", "00C0" }, + { "'A", "00C1" }, + { "^A", "00C2" }, + { "~A", "00C3" }, + { ":A", "00C4" }, + { "oA", "00C5" }, + { "AE", "00C6" }, + { ",C", "00C7" }, + { "`E", "00C8" }, + { "'E", "00C9" }, + { "^E", "00CA" }, + { ":E", "00CB" }, + { "`I", "00CC" }, + { "'I", "00CD" }, + { "^I", "00CE" }, + { ":I", "00CF" }, + { "-D", "00D0" }, + { "~N", "00D1" }, + { "`O", "00D2" }, + { "'O", "00D3" }, + { "^O", "00D4" }, + { "~O", "00D5" }, + { ":O", "00D6" }, + { "mu", "00D7" }, + { "tmu", "00D7" }, + { "/O", "00D8" }, + { "`U", "00D9" }, + { "'U", "00DA" }, + { "^U", "00DB" }, + { ":U", "00DC" }, + { "'Y", "00DD" }, + { "TP", "00DE" }, + { "ss", "00DF" }, + { "`a", "00E0" }, + { "'a", "00E1" }, + { "^a", "00E2" }, + { "~a", "00E3" }, + { ":a", "00E4" }, + { "oa", "00E5" }, + { "ae", "00E6" }, + { ",c", "00E7" }, + { "`e", "00E8" }, + { "'e", "00E9" }, + { "^e", "00EA" }, + { ":e", "00EB" }, + { "`i", "00EC" }, + { "'i", "00ED" }, + { "^i", "00EE" }, + { ":i", "00EF" }, + { "Sd", "00F0" }, + { "~n", "00F1" }, + { "`o", "00F2" }, + { "'o", "00F3" }, + { "^o", "00F4" }, + { "~o", "00F5" }, + { ":o", "00F6" }, + { "di", "00F7" }, + { "tdi", "00F7" }, + { "/o", "00F8" }, + { "`u", "00F9" }, + { "'u", "00FA" }, + { "^u", "00FB" }, + { ":u", "00FC" }, + { "'y", "00FD" }, + { "Tp", "00FE" }, + { ":y", "00FF" }, + { "'C", "0106" }, + { "'c", "0107" }, + { ".i", "0131" }, + { "IJ", "0132" }, + { "ij", "0133" }, + { "/L", "0141" }, + { "/l", "0142" }, + { "OE", "0152" }, + { "oe", "0153" }, + { "vS", "0160" }, + { "vs", "0161" }, + { ":Y", "0178" }, + { "vZ", "017D" }, + { "vz", "017E" }, + { "Fn", "0192" }, + { "ah", "02C7" }, + { "ab", "02D8" }, + { "a.", "02D9" }, + { "ao", "02DA" }, + { "ho", "02DB" }, + { "a\"", "02DD" }, + { "*A", "0391" }, + { "*B", "0392" }, + { "*G", "0393" }, + { "*D", "0394" }, + { "*E", "0395" }, + { "*Z", "0396" }, + { "*Y", "0397" }, + { "*H", "0398" }, + { "*I", "0399" }, + { "*K", "039A" }, + { "*L", "039B" }, + { "*M", "039C" }, + { "*N", "039D" }, + { "*C", "039E" }, + { "*O", "039F" }, + { "*P", "03A0" }, + { "*R", "03A1" }, + { "*S", "03A3" }, + { "*T", "03A4" }, + { "*U", "03A5" }, + { "*F", "03A6" }, + { "*X", "03A7" }, + { "*Q", "03A8" }, + { "*W", "03A9" }, + { "*a", "03B1" }, + { "*b", "03B2" }, + { "*g", "03B3" }, + { "*d", "03B4" }, + { "*e", "03B5" }, + { "*z", "03B6" }, + { "*y", "03B7" }, + { "*h", "03B8" }, + { "*i", "03B9" }, + { "*k", "03BA" }, + { "*l", "03BB" }, + { "*m", "03BC" }, + { "*n", "03BD" }, + { "*c", "03BE" }, + { "*o", "03BF" }, + { "*p", "03C0" }, + { "*r", "03C1" }, + { "ts", "03C2" }, + { "*s", "03C3" }, + { "*t", "03C4" }, + { "*u", "03C5" }, + { "*f", "03C6" }, + { "*x", "03C7" }, + { "*q", "03C8" }, + { "*w", "03C9" }, + { "+h", "03D1" }, + { "+f", "03D5" }, + { "+p", "03D6" }, + { "+e", "03F5" }, + { "-", "2010" }, + { "hy", "2010" }, + { "en", "2013" }, + { "em", "2014" }, + { "`", "2018" }, + { "oq", "2018" }, + { "'", "2019" }, + { "cq", "2019" }, + { "bq", "201A" }, + { "lq", "201C" }, + { "rq", "201D" }, + { "Bq", "201E" }, + { "dg", "2020" }, + { "dd", "2021" }, + { "bu", "2022" }, + { "%0", "2030" }, + { "fm", "2032" }, + { "sd", "2033" }, + { "fo", "2039" }, + { "fc", "203A" }, + { "rn", "203E" }, + { "f/", "2044" }, + { "eu", "20AC" }, + { "Eu", "20AC" }, + { "-h", "210F" }, + { "hbar", "210F" }, + { "Im", "2111" }, + { "wp", "2118" }, + { "Re", "211C" }, + { "tm", "2122" }, + { "Ah", "2135" }, + { "18", "215B" }, + { "38", "215C" }, + { "58", "215D" }, + { "78", "215E" }, + { "<-", "2190" }, + { "ua", "2191" }, + { "->", "2192" }, + { "da", "2193" }, + { "<>", "2194" }, + { "va", "2195" }, + { "CR", "21B5" }, + { "lA", "21D0" }, + { "uA", "21D1" }, + { "rA", "21D2" }, + { "dA", "21D3" }, + { "hA", "21D4" }, + { "vA", "21D5" }, + { "fa", "2200" }, + { "pd", "2202" }, + { "te", "2203" }, + { "es", "2205" }, + { "gr", "2207" }, + { "mo", "2208" }, + { "nm", "2209" }, + { "st", "220B" }, + { "product", "220F" }, + { "coproduct", "2210" }, + { "sum", "2211" }, +//{ "\\-", "2212" }, + { "mi", "2212" }, + { "-+", "2213" }, + { "**", "2217" }, + { "sr", "221A" }, + { "pt", "221D" }, + { "if", "221E" }, + { "/_", "2220" }, + { "AN", "2227" }, + { "OR", "2228" }, + { "ca", "2229" }, + { "cu", "222A" }, + { "is", "222B" }, + { "integral", "222B" }, + { "tf", "2234" }, + { "3d", "2234" }, + { "ap", "223C" }, + { "|=", "2243" }, + { "=~", "2245" }, + { "~~", "2248" }, + { "~=", "2248" }, + { "!=", "2260" }, + { "==", "2261" }, + { "ne", "2262" }, + { "<=", "2264" }, + { ">=", "2265" }, + { ">>", "226A" }, + { "<<", "226B" }, + { "sb", "2282" }, + { "sp", "2283" }, + { "nb", "2284" }, + { "nc", "2285" }, + { "ib", "2286" }, + { "ip", "2287" }, + { "c+", "2295" }, + { "c*", "2297" }, + { "pp", "22A5" }, + { "md", "22C5" }, + { "lc", "2308" }, + { "rc", "2309" }, + { "lf", "230A" }, + { "rf", "230B" }, + { "parenlefttp", "239B" }, + { "parenleftex", "239C" }, + { "parenleftbt", "239D" }, + { "parenrighttp", "239E" }, + { "parenrightex", "239F" }, + { "parenrightbt", "23A0" }, + { "bracketlefttp", "23A1" }, + { "bracketleftex", "23A2" }, + { "bracketleftbt", "23A3" }, + { "bracketrighttp", "23A4" }, + { "bracketrightex", "23A5" }, + { "bracketrightbt", "23A6" }, + { "lt", "23A7" }, + { "bracelefttp", "23A7" }, + { "lk", "23A8" }, + { "braceleftmid", "23A8" }, + { "lb", "23A9" }, + { "braceleftbt", "23A9" }, + { "bv", "23AA" }, + { "braceex", "23AA" }, + { "braceleftex", "23AA" }, + { "bracerightex", "23AA" }, + { "rt", "23AB" }, + { "bracerighttp", "23AB" }, + { "rk", "23AC" }, + { "bracerightmid", "23AC" }, + { "rb", "23AD" }, + { "bracerightbt", "23AD" }, + { "an", "23AF" }, + { "br", "2502" }, + { "rk", "251D" }, + { "lk", "2525" }, + { "lt", "256D" }, + { "rt", "256E" }, + { "rb", "256F" }, + { "lb", "2570" }, + { "sq", "25A1" }, + { "lz", "25CA" }, + { "ci", "25CB" }, + { "lh", "261C" }, + { "rh", "261E" }, + { "SP", "2660" }, + { "CL", "2663" }, + { "HE", "2665" }, + { "DI", "2666" }, + { "OK", "2713" }, + { "la", "27E8" }, + { "ra", "27E9" }, +}; + +// global constructor +static struct glyph_to_unicode_init { + glyph_to_unicode_init(); +} _glyph_to_unicode_init; + +glyph_to_unicode_init::glyph_to_unicode_init() { + for (unsigned int i = 0; + i < sizeof(glyph_to_unicode_list)/sizeof(glyph_to_unicode_list[0]); + i++) { + glyph_to_unicode *gtu = new glyph_to_unicode[1]; + gtu->value = (char *)glyph_to_unicode_list[i].value; + glyph_to_unicode_table.define(glyph_to_unicode_list[i].key, gtu); + } +} + +const char *glyph_name_to_unicode(const char *s) +{ + glyph_to_unicode *result = glyph_to_unicode_table.lookup(s); + return result ? result->value : 0; +} diff -ruN groff-1.19/src/libs/libgroff/iftoa.c groff-1.19.1/src/libs/libgroff/iftoa.c --- groff-1.19/src/libs/libgroff/iftoa.c Mon Nov 13 17:51:29 2000 +++ groff-1.19.1/src/libs/libgroff/iftoa.c Thu Apr 8 07:30:18 2004 @@ -1,4 +1,5 @@ -/* Copyright (C) 1989, 1990, 1991, 1992, 2000 Free Software Foundation, Inc. +/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2004 + Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) This file is part of groff. @@ -19,8 +20,11 @@ #define INT_DIGITS 19 /* enough for 64-bit integer */ -char *if_to_a(i, decimal_point) - int i, decimal_point; +#ifdef __cplusplus +extern "C" { +#endif + +char *if_to_a(int i, int decimal_point) { /* room for a -, INT_DIGITS digits, a decimal point, and a terminating '\0' */ static char buf[INT_DIGITS + 3]; @@ -63,3 +67,7 @@ } return p; } + +#ifdef __cplusplus +} +#endif diff -ruN groff-1.19/src/libs/libgroff/itoa.c groff-1.19.1/src/libs/libgroff/itoa.c --- groff-1.19/src/libs/libgroff/itoa.c Thu Jan 24 23:37:33 2002 +++ groff-1.19.1/src/libs/libgroff/itoa.c Thu Apr 8 07:24:34 2004 @@ -1,4 +1,4 @@ -/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2002 +/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2002, 2004 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) @@ -21,8 +21,11 @@ #define INT_DIGITS 19 /* enough for 64 bit integer */ #define UINT_DIGITS 20 -char *i_to_a(i) - int i; +#ifdef __cplusplus +extern "C" { +#endif + +char *i_to_a(int i) { /* Room for INT_DIGITS digits, - and '\0' */ static char buf[INT_DIGITS + 2]; @@ -44,8 +47,7 @@ return p; } -char *ui_to_a(i) - unsigned int i; +char *ui_to_a(unsigned int i) { /* Room for UINT_DIGITS digits and '\0' */ static char buf[UINT_DIGITS + 1]; @@ -56,3 +58,7 @@ } while (i != 0); return p; } + +#ifdef __cplusplus +} +#endif diff -ruN groff-1.19/src/libs/libgroff/nametoindex.cpp groff-1.19.1/src/libs/libgroff/nametoindex.cpp --- groff-1.19/src/libs/libgroff/nametoindex.cpp Sat Feb 8 15:46:57 2003 +++ groff-1.19.1/src/libs/libgroff/nametoindex.cpp Wed Apr 7 16:28:07 2004 @@ -1,5 +1,5 @@ // -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2002, 2003 +/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) @@ -107,9 +107,9 @@ return indexer.ascii_char_index(s[0]); /* char128 and \200 are synonyms */ if (s[0] == 'c' && s[1] == 'h' && s[2] == 'a' && s[3] == 'r') { - char *res; - long n = strtol(s + 4, &res, 10); - if (res != s + 4 && *res == '\0' && n >= 0 && n < 256) + char *val; + long n = strtol(s + 4, &val, 10); + if (val != s + 4 && *val == '\0' && n >= 0 && n < 256) return indexer.ascii_char_index((unsigned char)n); } return indexer.named_char_index(s); diff -ruN groff-1.19/src/libs/libgroff/new.cpp groff-1.19.1/src/libs/libgroff/new.cpp --- groff-1.19/src/libs/libgroff/new.cpp Sat Feb 8 15:23:05 2003 +++ groff-1.19.1/src/libs/libgroff/new.cpp Sat Feb 21 22:20:08 2004 @@ -1,4 +1,4 @@ -/* Copyright (C) 1989, 1990, 1991, 1992, 2001, 2003 +/* Copyright (C) 1989, 1990, 1991, 1992, 2001, 2003, 2004 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) @@ -26,7 +26,7 @@ #include "posix.h" #include "nonposix.h" -extern const char *program_name; +extern "C" const char *program_name; static void ewrite(const char *s) { diff -ruN groff-1.19/src/libs/libgroff/paper.cpp groff-1.19.1/src/libs/libgroff/paper.cpp --- groff-1.19/src/libs/libgroff/paper.cpp Wed Mar 12 16:46:04 2003 +++ groff-1.19.1/src/libs/libgroff/paper.cpp Wed Apr 7 16:31:57 2004 @@ -1,5 +1,5 @@ // -*- C++ -*- -/* Copyright (C) 2002, 2003 +/* Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. Written by Werner Lemberg (wl@gnu.org) @@ -49,14 +49,14 @@ } // length and width in inch -static void add_american_paper(const char *name, int index, +static void add_american_paper(const char *name, int idx, double length, double width ) { char *p = new char[strlen(name) + 1]; strcpy(p, name); - papersizes[index].name = p; - papersizes[index].length = length; - papersizes[index].width = width; + papersizes[idx].name = p; + papersizes[idx].length = length; + papersizes[idx].width = width; } int papersize_init::initialised = 0; diff -ruN groff-1.19/src/libs/libgroff/progname.c groff-1.19.1/src/libs/libgroff/progname.c --- groff-1.19/src/libs/libgroff/progname.c Thu Jan 1 01:00:00 1970 +++ groff-1.19.1/src/libs/libgroff/progname.c Sun Feb 6 10:37:15 2000 @@ -0,0 +1 @@ +const char *program_name = 0; diff -ruN groff-1.19/src/libs/libgroff/progname.cpp groff-1.19.1/src/libs/libgroff/progname.cpp --- groff-1.19/src/libs/libgroff/progname.cpp Sun Feb 6 10:37:15 2000 +++ groff-1.19.1/src/libs/libgroff/progname.cpp Thu Jan 1 01:00:00 1970 @@ -1 +0,0 @@ -const char *program_name = 0; diff -ruN groff-1.19/src/libs/libgroff/quotearg.c groff-1.19.1/src/libs/libgroff/quotearg.c --- groff-1.19/src/libs/libgroff/quotearg.c Thu Jan 1 01:00:00 1970 +++ groff-1.19.1/src/libs/libgroff/quotearg.c Thu Apr 8 13:39:01 2004 @@ -0,0 +1,209 @@ +/* Copyright (C) 2004 + Free Software Foundation, Inc. + Written by: Jeff Conrad (jeff_conrad@msn.com) + and Keith Marshall (keith.d.marshall@ntlworld.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. */ + +#include +#include +#include +#include +#include + +/* Define the default mechanism, and messages, for error reporting + * (user may substitute a preferred alternative, by defining his own + * implementation of the macros REPORT_ERROR, QUOTE_ARG_MALLOC_FAILED + * and QUOTE_ARG_REALLOC_FAILED, in the header file `nonposix.h'). + */ + +#include "nonposix.h" + +#ifndef REPORT_ERROR +# define REPORT_ERROR(WHY) fprintf(stderr, "%s:%s\n", program_name, WHY) +#endif +#ifndef QUOTE_ARG_MALLOC_ERROR +# define QUOTE_ARG_MALLOC_ERROR "malloc: Buffer allocation failed" +#endif +#ifndef QUOTE_ARG_REALLOC_ERROR +# define QUOTE_ARG_REALLOC_ERROR "realloc: Buffer resize failed" +#endif + +extern char *program_name; /* main program must define this */ + +#undef FALSE +#undef TRUE +#define FALSE 0 +#define TRUE 1 + +static int +needs_quoting(const char *string) +{ + /* Scan `string' to see whether it needs quoting for MSVC `spawn'/`exec' + * (i.e., whether it contains whitespace or embedded quotes). + */ + + if (string == NULL) /* ignore NULL strings */ + return FALSE; + + if (*string == '\0') /* explicit arguments of zero length */ + return TRUE; /* need quoting, so they aren't discarded */ + + while (*string) { + /* Scan non-NULL strings, up to '\0' terminator, + * returning 'TRUE' if quote or white space found. + */ + + if (*string == '"' || isspace(*string)) + return TRUE; + + /* otherwise, continue scanning to end of string */ + + ++string; + } + + /* Fall through, if no quotes or white space found, + * in which case, return `FALSE'. + */ + + return FALSE; +} + +char * +quote_arg(char *string) +{ + /* Enclose arguments in double quotes so that the parsing done in the + * MSVC runtime startup code doesn't split them at whitespace. Escape + * embedded double quotes so that they emerge intact from the parsing. + */ + + int backslashes; + char *quoted, *p, *q; + + if (needs_quoting(string)) { + /* Need to create a quoted copy of `string'; + * maximum buffer space needed is twice the original length, + * plus two enclosing quotes and one `\0' terminator. + */ + + if ((quoted = (char *)malloc(2 * strlen(string) + 3)) == NULL) { + /* Couldn't get a buffer for the quoted string, + * so complain, and bail out gracefully. + */ + + REPORT_ERROR(QUOTE_ARG_MALLOC_ERROR); + exit(1); + } + + /* Ok to proceed: + * insert the opening quote, then copy the source string, + * adding escapes as required. + */ + + *quoted = '"'; + for (backslashes = 0, p = string, q = quoted; *p; p++) { + if (*p == '\\') { + /* Just count backslashes when we find them. + * We will copy them out later, when we know if the count + * needs to be adjusted, to escape an embedded quote. + */ + + ++backslashes; + } + else if (*p == '"') { + /* This embedded quote character must be escaped, + * but first double up any immediately preceding backslashes, + * with one extra, as the escape character. + */ + + for (backslashes += backslashes + 1; backslashes; backslashes--) + *++q = '\\'; + + /* and now, add the quote character itself */ + + *++q = '"'; + } + else { + /* Any other character is simply copied, + * but first, if we have any pending backslashes, + * we must now insert them, without any count adjustment. + */ + + while (backslashes) { + *++q = '\\'; + --backslashes; + } + + /* and then, copy the current character */ + + *++q = *p; + } + } + + /* At end of argument: + * If any backslashes remain to be copied out, append them now, + * doubling the actual count to protect against reduction by MSVC, + * as a consequence of the immediately following closing quote. + */ + + for (backslashes += backslashes; backslashes; backslashes--) + *++q = '\\'; + + /* Finally, + * add the closing quote, terminate the quoted string, + * and adjust its size to what was actually required, + * ready for return. + */ + + *++q = '"'; + *++q = '\0'; + if ((string = (char *)realloc(quoted, strlen(quoted) + 1)) == NULL) { + /* but bail out gracefully, on error */ + + REPORT_ERROR(QUOTE_ARG_REALLOC_ERROR); + exit(1); + } + } + + /* `string' now refers to the argument, + * quoted and escaped, as required. + */ + + return string; +} + +void +purge_quoted_args(char **argv) +{ + /* To avoid memory leaks, + * free all memory previously allocated by `quoted_arg()', + * within the scope of the referring argument vector, `argv'. + */ + + if (argv) + while (*argv) { + /* Any argument beginning with a double quote + * SHOULD have been allocated by `quoted_arg()'. + */ + + if (**argv == '"') + free( *argv ); /* so free its allocation */ + ++argv; /* and continue to the next argument */ + } +} + +/* quotearg.c: end of file */ diff -ruN groff-1.19/src/libs/libgroff/searchpath.cpp groff-1.19.1/src/libs/libgroff/searchpath.cpp --- groff-1.19/src/libs/libgroff/searchpath.cpp Sun Aug 19 23:32:28 2001 +++ groff-1.19.1/src/libs/libgroff/searchpath.cpp Sat Dec 6 13:28:56 2003 @@ -1,5 +1,5 @@ // -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001 +/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2003 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) @@ -23,6 +23,7 @@ #include #include +#include #include "searchpath.h" #include "nonposix.h" @@ -75,11 +76,11 @@ char *p = dirs; p += old_len - init_len; if (init_len == 0) - *p++ = PATH_SEP[0]; + *p++ = PATH_SEP_CHAR; memcpy(p, s, slen); p += slen; if (init_len > 0) { - *p++ = PATH_SEP[0]; + *p++ = PATH_SEP_CHAR; memcpy(p, old + old_len - init_len, init_len); p += init_len; } @@ -103,7 +104,7 @@ unsigned namelen = strlen(name); char *p = dirs; for (;;) { - char *end = strchr(p, PATH_SEP[0]); + char *end = strchr(p, PATH_SEP_CHAR); if (!end) end = strchr(p, '\0'); int need_slash = end > p && strchr(DIR_SEPS, end[-1]) == 0; @@ -128,5 +129,64 @@ break; p = end + 1; } + return 0; +} + +FILE *search_path::open_file_cautious(const char *name, char **pathp, + const char *mode) +{ + if (!mode) + mode = "r"; + bool reading = (strchr(mode, 'r') != 0); + if (name == 0 || strcmp(name, "-") == 0) { + if (pathp) + *pathp = strsave(reading ? "stdin" : "stdout"); + return (reading ? stdin : stdout); + } + if (!reading || IS_ABSOLUTE(name) || *dirs == '\0') { + FILE *fp = fopen(name, mode); + if (fp) { + if (pathp) + *pathp = strsave(name); + return fp; + } + else + return 0; + } + unsigned namelen = strlen(name); + char *p = dirs; + for (;;) { + char *end = strchr(p, PATH_SEP_CHAR); + if (!end) + end = strchr(p, '\0'); + int need_slash = end > p && strchr(DIR_SEPS, end[-1]) == 0; + char *path = new char[(end - p) + need_slash + namelen + 1]; + memcpy(path, p, end - p); + if (need_slash) + path[end - p] = '/'; + strcpy(path + (end - p) + need_slash, name); +#if 0 + fprintf(stderr, "trying `%s'\n", path); +#endif + FILE *fp = fopen(path, mode); + if (fp) { + if (pathp) + *pathp = path; + else + a_delete path; + return fp; + } + int err = errno; + a_delete path; + if (err != ENOENT) + { + errno = err; + return 0; + } + if (*end == '\0') + break; + p = end + 1; + } + errno = ENOENT; return 0; } diff -ruN groff-1.19/src/libs/libgroff/spawnvp.c groff-1.19.1/src/libs/libgroff/spawnvp.c --- groff-1.19/src/libs/libgroff/spawnvp.c Thu Jan 1 01:00:00 1970 +++ groff-1.19.1/src/libs/libgroff/spawnvp.c Thu Apr 8 07:05:38 2004 @@ -0,0 +1,122 @@ +/* Copyright (C) 2004 + Free Software Foundation, Inc. + Written by: Keith Marshall (keith.d.marshall@ntlworld.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. */ + +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include +#include + +#ifdef HAVE_PROCESS_H +# include +#endif + +#if defined(__MSDOS__) \ + || (defined(_WIN32) && !defined(_UWIN) && !defined(__CYGWIN__)) \ + || defined(__EMX__) + +#define SPAWN_FUNCTION_WRAPPERS 1 + +/* Define the default mechanism, and messages, for error reporting + * (user may substitute a preferred alternative, by defining his own + * implementation of the macros REPORT_ERROR and ARGV_MALLOC_ERROR, + * in the header file `nonposix.h'). + */ + +#include "nonposix.h" + +#ifndef REPORT_ERROR +# define REPORT_ERROR(WHY) fprintf(stderr, "%s:%s\n", program_name, WHY) +#endif +#ifndef ARGV_MALLOC_ERROR +# define ARGV_MALLOC_ERROR "malloc: Allocation for 'argv' failed" +#endif + +extern char *program_name; + +extern char *quote_arg(char *string); +extern void purge_quoted_args(char **argv); + +int +spawnvp_wrapper(int mode, char *path, char **argv) +{ + /* Invoke the system `spawnvp' service + * enclosing the passed arguments in double quotes, as required, + * so that the (broken) default parsing in the MSVC runtime doesn't + * split them at whitespace. */ + + char **quoted_argv; /* used to build a quoted local copy of `argv' */ + + int i; /* used as an index into `argv' or `quoted_argv' */ + int status = -1; /* initialise return code, in case we fail */ + int argc = 0; /* initialise argument count; may be none */ + + /* First count the number of arguments + * which are actually present in the passed `argv'. */ + + if (argv) + for (quoted_argv = argv; *quoted_argv; ++argc, ++quoted_argv) + ; + + /* If we do not now have an argument count, + * then we must fall through and fail. */ + + if (argc) { + /* We do have at least one argument: + * We will use a copy of the `argv', in which to do the quoting, + * so we must allocate space for it. */ + + if ((quoted_argv = (char **)malloc(++argc * sizeof(char **))) == NULL) { + /* If we didn't get enough space, + * then complain, and bail out gracefully. */ + + REPORT_ERROR(ARGV_MALLOC_ERROR); + exit(1); + } + + /* Now copy the passed `argv' into our new vector, + * quoting its contents as required. */ + + for (i = 0; i < argc; i++) + quoted_argv[i] = quote_arg(argv[i]); + + /* Invoke the MSVC `spawnvp' service + * passing our now appropriately quoted copy of `argv'. */ + + status = spawnvp(mode, path, quoted_argv); + + /* Clean up our memory allocations + * for the quoted copy of `argv', which is no longer required. */ + + purge_quoted_args(quoted_argv); + free(quoted_argv); + } + + /* Finally, + * return the status code returned by `spawnvp', + * or a failure code if we fell through. */ + + return status; +} + +#endif /* __MSDOS__ || _WIN32 */ + +/* spawnvp.c: end of file */ diff -ruN groff-1.19/src/libs/libgroff/strcasecmp.c groff-1.19.1/src/libs/libgroff/strcasecmp.c --- groff-1.19/src/libs/libgroff/strcasecmp.c Tue Jan 28 07:08:32 2003 +++ groff-1.19.1/src/libs/libgroff/strcasecmp.c Wed Jun 4 21:22:29 2003 @@ -29,7 +29,7 @@ # define LENGTH_LIMIT_EXPR(Expr) 0 #endif -#include +#include #include #define TOLOWER(Ch) (isupper (Ch) ? tolower (Ch) : (Ch)) diff -ruN groff-1.19/src/libs/libgroff/strerror.c groff-1.19.1/src/libs/libgroff/strerror.c --- groff-1.19/src/libs/libgroff/strerror.c Sun Aug 19 23:32:28 2001 +++ groff-1.19.1/src/libs/libgroff/strerror.c Tue Jul 22 16:41:07 2003 @@ -1,4 +1,5 @@ -/* Copyright (C) 1989, 1990, 1991, 1992, 2001 Free Software Foundation, Inc. +/* Copyright (C) 1989, 1990, 1991, 1992, 2001, 2003 + Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) This file is part of groff. @@ -22,6 +23,8 @@ #endif #include +#include +#include /* for MinGW */ #define INT_DIGITS 19 /* enough for 64 bit integer */ diff -ruN groff-1.19/src/libs/libgroff/symbol.cpp groff-1.19.1/src/libs/libgroff/symbol.cpp --- groff-1.19/src/libs/libgroff/symbol.cpp Thu Jan 1 01:00:00 1970 +++ groff-1.19.1/src/libs/libgroff/symbol.cpp Wed Jan 7 00:26:51 2004 @@ -0,0 +1,159 @@ +// -*- C++ -*- +/* Copyright (C) 1989, 1990, 1991, 1992, 2002, 2004 + 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. */ + +#include "lib.h" + +#include "errarg.h" +#include "error.h" +#include "symbol.h" + +const char **symbol::table = 0; +int symbol::table_used = 0; +int symbol::table_size = 0; +char *symbol::block = 0; +int symbol::block_size = 0; + +const symbol NULL_SYMBOL; +const symbol EMPTY_SYMBOL(""); + +#ifdef BLOCK_SIZE +#undef BLOCK_SIZE +#endif + +const int BLOCK_SIZE = 1024; +// the table will increase in size as necessary +// the size will be chosen from the following array +// add some more if you want +static const unsigned int table_sizes[] = { + 101, 503, 1009, 2003, 3001, 4001, 5003, 10007, 20011, 40009, 80021, + 160001, 500009, 1000003, 1500007, 2000003, 0 +}; +const double FULL_MAX = 0.3; // don't let the table get more than this full + +static unsigned int hash_string(const char *p) +{ + // compute a hash code; this assumes 32-bit unsigned ints + // see p436 of Compilers by Aho, Sethi & Ullman + // give special treatment to two-character names + unsigned int hc = 0, g; + if (*p != 0) { + hc = *p++; + if (*p != 0) { + hc <<= 7; + hc += *p++; + for (; *p != 0; p++) { + hc <<= 4; + hc += *p; + if ((g = (hc & 0xf0000000)) == 0) { + hc ^= g >> 24; + hc ^= g; + } + } + } + } + return hc; +} + +// Tell compiler that a variable is intentionally unused. +inline void unused(void *) { } + +symbol::symbol(const char *p, int how) +{ + if (p == 0) { + s = 0; + return; + } + if (*p == 0) { + s = ""; + return; + } + if (table == 0) { + table_size = table_sizes[0]; + table = (const char **)new char*[table_size]; + for (int i = 0; i < table_size; i++) + table[i] = 0; + table_used = 0; + } + unsigned int hc = hash_string(p); + const char **pp; + for (pp = table + hc % table_size; + *pp != 0; + (pp == table ? pp = table + table_size - 1 : --pp)) + if (strcmp(p, *pp) == 0) { + s = *pp; + return; + } + if (how == MUST_ALREADY_EXIST) { + s = 0; + return; + } + if (table_used >= table_size - 1 || table_used >= table_size*FULL_MAX) { + const char **old_table = table; + unsigned int old_table_size = table_size; + 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]; + table_used = 0; + table = (const char **)new char*[table_size]; + for (i = 0; i < table_size; i++) + table[i] = 0; + for (pp = old_table + old_table_size - 1; + pp >= old_table; + --pp) { + symbol temp(*pp, 1); /* insert it into the new table */ + unused(&temp); + } + a_delete old_table; + for (pp = table + hc % table_size; + *pp != 0; + (pp == table ? pp = table + table_size - 1 : --pp)) + ; + } + ++table_used; + if (how == DONT_STORE) { + s = *pp = p; + } + else { + int len = strlen(p)+1; + if (block == 0 || block_size < len) { + block_size = len > BLOCK_SIZE ? len : BLOCK_SIZE; + block = new char [block_size]; + } + (void)strcpy(block, p); + s = *pp = block; + block += len; + block_size -= len; + } +} + +symbol concat(symbol s1, symbol s2) +{ + char *buf = new char [strlen(s1.contents()) + strlen(s2.contents()) + 1]; + strcpy(buf, s1.contents()); + strcat(buf, s2.contents()); + symbol res(buf); + a_delete buf; + return res; +} + +symbol default_symbol("default"); diff -ruN groff-1.19/src/libs/libgroff/tmpfile.cpp groff-1.19.1/src/libs/libgroff/tmpfile.cpp --- groff-1.19/src/libs/libgroff/tmpfile.cpp Fri Sep 6 09:50:42 2002 +++ groff-1.19.1/src/libs/libgroff/tmpfile.cpp Tue Oct 21 11:32:49 2003 @@ -1,5 +1,5 @@ // -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001 +/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2003 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) @@ -33,6 +33,13 @@ #define GROFF_TMPDIR_ENVVAR "GROFF_TMPDIR" // otherwise if this is set, create temporary files there #define TMPDIR_ENVVAR "TMPDIR" +// otherwise, on MS-DOS or MS-Windows ... +#if defined(__MSDOS__) || defined(_WIN32) +// if either of these is set, create temporary files there +// (giving priority to WIN32_TMPDIR_ENVVAR) +#define WIN32_TMPDIR_ENVVAR "TMP" +#define MSDOS_TMPDIR_ENVVAR "TEMP" +#endif // otherwise if P_tmpdir is defined, create temporary files there #ifdef P_tmpdir # define DEFAULT_TMPDIR P_tmpdir @@ -55,12 +62,23 @@ temp_init::temp_init() { - const char *tem = getenv(GROFF_TMPDIR_ENVVAR); - if (!tem) { - tem = getenv(TMPDIR_ENVVAR); - if (!tem) - tem = DEFAULT_TMPDIR; - } + // First, choose a location for creating temporary files... + const char *tem; + // using the first match for any of the environment specs in listed order. + if ( + (tem = getenv(GROFF_TMPDIR_ENVVAR)) == NULL + && (tem = getenv(TMPDIR_ENVVAR)) == NULL +#if defined(__MSDOS__) || defined(_WIN32) + // If we didn't find a match for either of the above + // (which are preferred, regardless of the host operating system), + // and we are hosted on either MS-Windows or MS-DOS, + // then try the Microsoft conventions. + && (tem = getenv(WIN32_TMPDIR_ENVVAR)) == NULL + && (tem = getenv(MSDOS_TMPDIR_ENVVAR)) == NULL +#endif + ) + // If we didn't find an environment spec fall back to this default. + tem = DEFAULT_TMPDIR; size_t tem_len = strlen(tem); const char *tem_end = tem + tem_len - 1; int need_slash = strchr(DIR_SEPS, *tem_end) == NULL ? 1 : 0; diff -ruN groff-1.19/src/libs/libgroff/unicode.cpp groff-1.19.1/src/libs/libgroff/unicode.cpp --- groff-1.19/src/libs/libgroff/unicode.cpp Thu Jan 1 01:00:00 1970 +++ groff-1.19.1/src/libs/libgroff/unicode.cpp Sat Nov 2 18:30:13 2002 @@ -0,0 +1,67 @@ +// -*- C++ -*- +/* Copyright (C) 2002 + Free Software Foundation, Inc. + Written by Werner Lemberg + +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. */ + +#include "lib.h" +#include "cset.h" +#include "stringclass.h" + +#include "unicode.h" + +const char *check_unicode_name(const char *u) +{ + if (*u != 'u') + return 0; + const char *p = ++u; + for (;;) { + int val = 0; + const char *start = p; + for (;;) { + // only uppercase hex digits allowed + if (!csxdigit(*p)) + return 0; + if (csdigit(*p)) + val = val*0x10 + (*p-'0'); + else if (csupper(*p)) + val = val*0x10 + (*p-'A'+10); + else + return 0; + // biggest Unicode value is U+10FFFF + if (val > 0x10FFFF) + return 0; + p++; + if (*p == '\0' || *p == '_') + break; + } + // surrogates not allowed + if ((val >= 0xD800 && val <= 0xDBFF) || (val >= 0xDC00 && val <= 0xDFFF)) + return 0; + if (val > 0xFFFF) { + if (*start == '0') // no leading zeros allowed if > 0xFFFF + return 0; + } + else if (p - start != 4) // otherwise, check for exactly 4 hex digits + return 0; + if (*p == '\0') + break; + p++; + } + return u; +} diff -ruN groff-1.19/src/libs/libgroff/uniglyph.cpp groff-1.19.1/src/libs/libgroff/uniglyph.cpp --- groff-1.19/src/libs/libgroff/uniglyph.cpp Thu Jan 1 01:00:00 1970 +++ groff-1.19.1/src/libs/libgroff/uniglyph.cpp Thu Apr 8 16:21:18 2004 @@ -0,0 +1,504 @@ +// -*- C++ -*- +/* Copyright (C) 2002, 2003, 2004 + Free Software Foundation, Inc. + Written by Werner Lemberg + +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. */ + +#include "lib.h" +#include "stringclass.h" +#include "ptable.h" + +#include "unicode.h" + +struct unicode_to_glyph { + char *value; +}; + +declare_ptable(unicode_to_glyph) +implement_ptable(unicode_to_glyph) + +PTABLE(unicode_to_glyph) unicode_to_glyph_table; + +struct S { + const char *key; + const char *value; +} unicode_to_glyph_list[] = { + { "0021", "!" }, +//{ "0022", "\"" }, + { "0022", "dq" }, +//{ "0023", "#" }, + { "0023", "sh" }, +//{ "0024", "$" }, + { "0024", "Do" }, + { "0025", "%" }, + { "0026", "&" }, + { "0027", "aq" }, + { "0028", "(" }, + { "0029", ")" }, + { "002A", "*" }, +//{ "002B", "+" }, + { "002B", "pl" }, + { "002C", "," }, + { "002E", "." }, +//{ "002F", "/" }, + { "002F", "sl" }, + { "0030", "0" }, + { "0031", "1" }, + { "0032", "2" }, + { "0033", "3" }, + { "0034", "4" }, + { "0035", "5" }, + { "0036", "6" }, + { "0037", "7" }, + { "0038", "8" }, + { "0039", "9" }, + { "003A", ":" }, + { "003B", ";" }, + { "003C", "<" }, +//{ "003D", "=" }, + { "003D", "eq" }, + { "003D_0338", "!=" }, + { "003E", ">" }, + { "003F", "?" }, +//{ "0040", "@" }, + { "0040", "at" }, + { "0041", "A" }, + { "0041_0300", "`A" }, + { "0041_0301", "'A" }, + { "0041_0302", "^A" }, + { "0041_0303", "~A" }, + { "0041_0308", ":A" }, + { "0041_030A", "oA" }, + { "0042", "B" }, + { "0043", "C" }, + { "0043_0301", "'C" }, + { "0043_0327", ",C" }, + { "0044", "D" }, + { "0045", "E" }, + { "0045_0300", "`E" }, + { "0045_0301", "'E" }, + { "0045_0302", "^E" }, + { "0045_0308", ":E" }, + { "0046", "F" }, + { "0047", "G" }, + { "0048", "H" }, + { "0049", "I" }, + { "0049_0300", "`I" }, + { "0049_0301", "'I" }, + { "0049_0302", "^I" }, + { "0049_0308", ":I" }, + { "004A", "J" }, + { "004B", "K" }, + { "004C", "L" }, + { "004D", "M" }, + { "004E", "N" }, + { "004E_0303", "~N" }, + { "004F", "O" }, + { "004F_0300", "`O" }, + { "004F_0301", "'O" }, + { "004F_0302", "^O" }, + { "004F_0303", "~O" }, + { "004F_0308", ":O" }, + { "0050", "P" }, + { "0051", "Q" }, + { "0052", "R" }, + { "0053", "S" }, + { "0053_030C", "vS" }, + { "0054", "T" }, + { "0055", "U" }, + { "0055_0300", "`U" }, + { "0055_0301", "'U" }, + { "0055_0302", "^U" }, + { "0055_0308", ":U" }, + { "0056", "V" }, + { "0057", "W" }, + { "0058", "X" }, + { "0059", "Y" }, + { "0059_0301", "'Y" }, + { "0059_0308", ":Y" }, + { "005A", "Z" }, + { "005A_030C", "vZ" }, + { "005B", "lB" }, +//{ "005B", "[" }, + { "005C", "rs" }, +//{ "005C", "\\" }, + { "005D", "rB" }, +//{ "005D", "]" }, +//{ "005E", "^" }, +//{ "005E", "a^" }, + { "005E", "ha" }, +//{ "005F", "_" }, +//{ "005F", "ru" }, + { "005F", "ul" }, + { "0060", "ga" }, +//{ "0060", "\\`" }, + { "0061", "a" }, + { "0061_0300", "`a" }, + { "0061_0301", "'a" }, + { "0061_0302", "^a" }, + { "0061_0303", "~a" }, + { "0061_0308", ":a" }, + { "0061_030A", "oa" }, + { "0062", "b" }, + { "0063", "c" }, + { "0063_0301", "'c" }, + { "0063_0327", ",c" }, + { "0064", "d" }, + { "0065", "e" }, + { "0065_0300", "`e" }, + { "0065_0301", "'e" }, + { "0065_0302", "^e" }, + { "0065_0308", ":e" }, + { "0066", "f" }, + { "0066_0066", "ff" }, + { "0066_0066_0069", "Fi" }, + { "0066_0066_006C", "Fl" }, + { "0066_0069", "fi" }, + { "0066_006C", "fl" }, + { "0067", "g" }, + { "0068", "h" }, + { "0069", "i" }, + { "0069_0300", "`i" }, + { "0069_0301", "'i" }, + { "0069_0302", "^i" }, + { "0069_0308", ":i" }, + { "006A", "j" }, + { "006B", "k" }, + { "006C", "l" }, + { "006D", "m" }, + { "006E", "n" }, + { "006E_0303", "~n" }, + { "006F", "o" }, + { "006F_0300", "`o" }, + { "006F_0301", "'o" }, + { "006F_0302", "^o" }, + { "006F_0303", "~o" }, + { "006F_0308", ":o" }, + { "0070", "p" }, + { "0071", "q" }, + { "0072", "r" }, + { "0073", "s" }, + { "0073_030C", "vs" }, + { "0074", "t" }, + { "0075", "u" }, + { "0075_0300", "`u" }, + { "0075_0301", "'u" }, + { "0075_0302", "^u" }, + { "0075_0308", ":u" }, + { "0076", "v" }, + { "0077", "w" }, + { "0078", "x" }, + { "0079", "y" }, + { "0079_0301", "'y" }, + { "0079_0308", ":y" }, + { "007A", "z" }, + { "007A_030C", "vz" }, + { "007B", "lC" }, +//{ "007B", "{" }, + { "007C", "ba" }, +//{ "007C", "or" }, +//{ "007C", "|" }, + { "007D", "rC" }, +//{ "007D", "}" }, +//{ "007E", "a~" }, + { "007E", "ti" }, +//{ "007E", "~" }, + { "00A1", "r!" }, + { "00A2", "ct" }, + { "00A3", "Po" }, + { "00A4", "Cs" }, + { "00A5", "Ye" }, + { "00A6", "bb" }, + { "00A7", "sc" }, + { "00A8", "ad" }, + { "00A9", "co" }, + { "00AA", "Of" }, + { "00AB", "Fo" }, + { "00AC", "no" }, +//{ "00AC", "tno" }, + { "00AD", "shc" }, + { "00AE", "rg" }, + { "00AF", "a-" }, + { "00B0", "de" }, + { "00B1", "+-" }, +//{ "00B1", "t+-" }, + { "00B2", "S2" }, + { "00B3", "S3" }, + { "00B4", "aa" }, +//{ "00B4", "\\'" }, + { "00B5", "mc" }, + { "00B6", "ps" }, + { "00B7", "pc" }, + { "00B8", "ac" }, + { "00B9", "S1" }, + { "00BA", "Om" }, + { "00BB", "Fc" }, + { "00BC", "14" }, + { "00BD", "12" }, + { "00BE", "34" }, + { "00BF", "r?" }, + { "00C6", "AE" }, + { "00D0", "-D" }, + { "00D7", "mu" }, +//{ "00D7", "tmu" }, + { "00D8", "/O" }, + { "00DE", "TP" }, + { "00DF", "ss" }, + { "00E6", "ae" }, + { "00F0", "Sd" }, + { "00F7", "di" }, +//{ "00F7", "tdi" }, + { "00F8", "/o" }, + { "00FE", "Tp" }, + { "0131", ".i" }, + { "0132", "IJ" }, + { "0133", "ij" }, + { "0141", "/L" }, + { "0142", "/l" }, + { "0152", "OE" }, + { "0153", "oe" }, + { "0192", "Fn" }, + { "02C7", "ah" }, + { "02D8", "ab" }, + { "02D9", "a." }, + { "02DA", "ao" }, + { "02DB", "ho" }, + { "02DD", "a\"" }, + { "0391", "*A" }, + { "0392", "*B" }, + { "0393", "*G" }, + { "0394", "*D" }, + { "0395", "*E" }, + { "0396", "*Z" }, + { "0397", "*Y" }, + { "0398", "*H" }, + { "0399", "*I" }, + { "039A", "*K" }, + { "039B", "*L" }, + { "039C", "*M" }, + { "039D", "*N" }, + { "039E", "*C" }, + { "039F", "*O" }, + { "03A0", "*P" }, + { "03A1", "*R" }, + { "03A3", "*S" }, + { "03A4", "*T" }, + { "03A5", "*U" }, + { "03A6", "*F" }, + { "03A7", "*X" }, + { "03A8", "*Q" }, + { "03A9", "*W" }, + { "03B1", "*a" }, + { "03B2", "*b" }, + { "03B3", "*g" }, + { "03B4", "*d" }, + { "03B5", "*e" }, + { "03B6", "*z" }, + { "03B7", "*y" }, + { "03B8", "*h" }, + { "03B9", "*i" }, + { "03BA", "*k" }, + { "03BB", "*l" }, + { "03BC", "*m" }, + { "03BD", "*n" }, + { "03BE", "*c" }, + { "03BF", "*o" }, + { "03C0", "*p" }, + { "03C1", "*r" }, + { "03C2", "ts" }, + { "03C3", "*s" }, + { "03C4", "*t" }, + { "03C5", "*u" }, + { "03C6", "*f" }, + { "03C7", "*x" }, + { "03C8", "*q" }, + { "03C9", "*w" }, + { "03D1", "+h" }, + { "03D5", "+f" }, + { "03D6", "+p" }, + { "03F5", "+e" }, +//{ "2010", "-" }, + { "2010", "hy" }, + { "2013", "en" }, + { "2014", "em" }, +//{ "2018", "`" }, + { "2018", "oq" }, +//{ "2019", "'" }, + { "2019", "cq" }, + { "201A", "bq" }, + { "201C", "lq" }, + { "201D", "rq" }, + { "201E", "Bq" }, + { "2020", "dg" }, + { "2021", "dd" }, + { "2022", "bu" }, + { "2030", "%0" }, + { "2032", "fm" }, + { "2033", "sd" }, + { "2039", "fo" }, + { "203A", "fc" }, + { "203E", "rn" }, + { "2044", "f/" }, + { "20AC", "Eu" }, +//{ "20AC", "eu" }, + { "210F", "-h" }, +//{ "210F", "hbar" }, + { "2111", "Im" }, + { "2118", "wp" }, + { "211C", "Re" }, + { "2122", "tm" }, + { "2135", "Ah" }, + { "215B", "18" }, + { "215C", "38" }, + { "215D", "58" }, + { "215E", "78" }, + { "2190", "<-" }, + { "2191", "ua" }, + { "2192", "->" }, + { "2193", "da" }, + { "2194", "<>" }, + { "2195", "va" }, + { "21B5", "CR" }, + { "21D0", "lA" }, + { "21D1", "uA" }, + { "21D2", "rA" }, + { "21D3", "dA" }, + { "21D4", "hA" }, + { "21D5", "vA" }, + { "2200", "fa" }, + { "2202", "pd" }, + { "2203", "te" }, + { "2205", "es" }, + { "2207", "gr" }, + { "2208", "mo" }, + { "2208_0338", "nm" }, + { "220B", "st" }, + { "220F", "product" }, + { "2210", "coproduct" }, + { "2211", "sum" }, + { "2212", "mi" }, +//{ "2212", "\\-" }, + { "2213", "-+" }, + { "2217", "**" }, + { "221A", "sr" }, + { "221D", "pt" }, + { "221E", "if" }, + { "2220", "/_" }, + { "2227", "AN" }, + { "2228", "OR" }, + { "2229", "ca" }, + { "222A", "cu" }, + { "222B", "is" }, +//{ "222B", "integral" }, +//{ "2234", "3d" }, + { "2234", "tf" }, + { "223C", "ap" }, + { "2243", "|=" }, + { "2245", "=~" }, +//{ "2248", "~=" }, + { "2248", "~~" }, + { "2261", "==" }, + { "2261_0338", "ne" }, + { "2264", "<=" }, + { "2265", ">=" }, + { "226A", ">>" }, + { "226B", "<<" }, + { "2282", "sb" }, + { "2282_0338", "nb" }, + { "2283", "sp" }, + { "2283_0338", "nc" }, + { "2286", "ib" }, + { "2287", "ip" }, + { "2295", "c+" }, + { "2297", "c*" }, + { "22A5", "pp" }, + { "22C5", "md" }, + { "2308", "lc" }, + { "2309", "rc" }, + { "230A", "lf" }, + { "230B", "rf" }, + { "239B", "parenlefttp" }, + { "239C", "parenleftex" }, + { "239D", "parenleftbt" }, + { "239E", "parenrighttp" }, + { "239F", "parenrightex" }, + { "23A0", "parenrightbt" }, +//{ "23A1", "bracketlefttp" }, + { "23A2", "bracketleftex" }, +//{ "23A3", "bracketleftbt" }, +//{ "23A4", "bracketrighttp" }, + { "23A5", "bracketrightex" }, +//{ "23A6", "bracketrightbt" }, + { "23A7", "lt" }, +//{ "23A7", "bracelefttp" }, + { "23A8", "lk" }, +//{ "23A8", "braceleftmid" }, + { "23A9", "lb" }, +//{ "23A9", "braceleftbt" }, + { "23AA", "bv" }, +//{ "23AA", "braceex" }, +//{ "23AA", "braceleftex" }, +//{ "23AA", "bracerightex" }, + { "23AB", "rt" }, +//{ "23AB", "bracerighttp" }, + { "23AC", "rk" }, +//{ "23AC", "bracerightmid" }, + { "23AD", "rb" }, +//{ "23AD", "bracerightbt" }, + { "23AF", "an" }, + { "2502", "br" }, + { "251D", "rk" }, + { "2525", "lk" }, + { "256D", "lt" }, + { "256E", "rt" }, + { "256F", "rb" }, + { "2570", "lb" }, + { "25A1", "sq" }, + { "25CA", "lz" }, + { "25CB", "ci" }, + { "261C", "lh" }, + { "261E", "rh" }, + { "2660", "SP" }, + { "2663", "CL" }, + { "2665", "HE" }, + { "2666", "DI" }, + { "2713", "OK" }, + { "27E8", "la" }, + { "27E9", "ra" }, +}; + +// global constructor +static struct unicode_to_glyph_init { + unicode_to_glyph_init(); +} _unicode_to_glyph_init; + +unicode_to_glyph_init::unicode_to_glyph_init() { + for (unsigned int i = 0; + i < sizeof(unicode_to_glyph_list)/sizeof(unicode_to_glyph_list[0]); + i++) { + unicode_to_glyph *utg = new unicode_to_glyph[1]; + utg->value = (char *)unicode_to_glyph_list[i].value; + unicode_to_glyph_table.define(unicode_to_glyph_list[i].key, utg); + } +} + +const char *unicode_to_glyph_name(const char *s) +{ + unicode_to_glyph *result = unicode_to_glyph_table.lookup(s); + return result ? result->value : 0; +} diff -ruN groff-1.19/src/libs/libgroff/uniuni.cpp groff-1.19.1/src/libs/libgroff/uniuni.cpp --- groff-1.19/src/libs/libgroff/uniuni.cpp Thu Jan 1 01:00:00 1970 +++ groff-1.19.1/src/libs/libgroff/uniuni.cpp Thu Apr 8 16:21:47 2004 @@ -0,0 +1,1994 @@ +// -*- C++ -*- +/* Copyright (C) 2002, 2003, 2004 + Free Software Foundation, Inc. + Written by Werner Lemberg + +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. */ + +// This code has been algorithmically derived from the file +// UnicodeData-3.2.0.txt, available from unicode.org. + +#include "lib.h" +#include "stringclass.h" +#include "ptable.h" + +#include "unicode.h" + +struct unicode_decompose { + char *value; +}; + +declare_ptable(unicode_decompose) +implement_ptable(unicode_decompose) + +PTABLE(unicode_decompose) unicode_decompose_table; + +// the first digit in the composite string gives the number of composites + +struct S { + const char *key; + const char *value; +} unicode_decompose_list[] = { + { "00C0", "20041_0300" }, + { "00C1", "20041_0301" }, + { "00C2", "20041_0302" }, + { "00C3", "20041_0303" }, + { "00C4", "20041_0308" }, + { "00C5", "20041_030A" }, + { "00C7", "20043_0327" }, + { "00C8", "20045_0300" }, + { "00C9", "20045_0301" }, + { "00CA", "20045_0302" }, + { "00CB", "20045_0308" }, + { "00CC", "20049_0300" }, + { "00CD", "20049_0301" }, + { "00CE", "20049_0302" }, + { "00CF", "20049_0308" }, + { "00D1", "2004E_0303" }, + { "00D2", "2004F_0300" }, + { "00D3", "2004F_0301" }, + { "00D4", "2004F_0302" }, + { "00D5", "2004F_0303" }, + { "00D6", "2004F_0308" }, + { "00D9", "20055_0300" }, + { "00DA", "20055_0301" }, + { "00DB", "20055_0302" }, + { "00DC", "20055_0308" }, + { "00DD", "20059_0301" }, + { "00E0", "20061_0300" }, + { "00E1", "20061_0301" }, + { "00E2", "20061_0302" }, + { "00E3", "20061_0303" }, + { "00E4", "20061_0308" }, + { "00E5", "20061_030A" }, + { "00E7", "20063_0327" }, + { "00E8", "20065_0300" }, + { "00E9", "20065_0301" }, + { "00EA", "20065_0302" }, + { "00EB", "20065_0308" }, + { "00EC", "20069_0300" }, + { "00ED", "20069_0301" }, + { "00EE", "20069_0302" }, + { "00EF", "20069_0308" }, + { "00F1", "2006E_0303" }, + { "00F2", "2006F_0300" }, + { "00F3", "2006F_0301" }, + { "00F4", "2006F_0302" }, + { "00F5", "2006F_0303" }, + { "00F6", "2006F_0308" }, + { "00F9", "20075_0300" }, + { "00FA", "20075_0301" }, + { "00FB", "20075_0302" }, + { "00FC", "20075_0308" }, + { "00FD", "20079_0301" }, + { "00FF", "20079_0308" }, + { "0100", "20041_0304" }, + { "0101", "20061_0304" }, + { "0102", "20041_0306" }, + { "0103", "20061_0306" }, + { "0104", "20041_0328" }, + { "0105", "20061_0328" }, + { "0106", "20043_0301" }, + { "0107", "20063_0301" }, + { "0108", "20043_0302" }, + { "0109", "20063_0302" }, + { "010A", "20043_0307" }, + { "010B", "20063_0307" }, + { "010C", "20043_030C" }, + { "010D", "20063_030C" }, + { "010E", "20044_030C" }, + { "010F", "20064_030C" }, + { "0112", "20045_0304" }, + { "0113", "20065_0304" }, + { "0114", "20045_0306" }, + { "0115", "20065_0306" }, + { "0116", "20045_0307" }, + { "0117", "20065_0307" }, + { "0118", "20045_0328" }, + { "0119", "20065_0328" }, + { "011A", "20045_030C" }, + { "011B", "20065_030C" }, + { "011C", "20047_0302" }, + { "011D", "20067_0302" }, + { "011E", "20047_0306" }, + { "011F", "20067_0306" }, + { "0120", "20047_0307" }, + { "0121", "20067_0307" }, + { "0122", "20047_0327" }, + { "0123", "20067_0327" }, + { "0124", "20048_0302" }, + { "0125", "20068_0302" }, + { "0128", "20049_0303" }, + { "0129", "20069_0303" }, + { "012A", "20049_0304" }, + { "012B", "20069_0304" }, + { "012C", "20049_0306" }, + { "012D", "20069_0306" }, + { "012E", "20049_0328" }, + { "012F", "20069_0328" }, + { "0130", "20049_0307" }, + { "0134", "2004A_0302" }, + { "0135", "2006A_0302" }, + { "0136", "2004B_0327" }, + { "0137", "2006B_0327" }, + { "0139", "2004C_0301" }, + { "013A", "2006C_0301" }, + { "013B", "2004C_0327" }, + { "013C", "2006C_0327" }, + { "013D", "2004C_030C" }, + { "013E", "2006C_030C" }, + { "0143", "2004E_0301" }, + { "0144", "2006E_0301" }, + { "0145", "2004E_0327" }, + { "0146", "2006E_0327" }, + { "0147", "2004E_030C" }, + { "0148", "2006E_030C" }, + { "014C", "2004F_0304" }, + { "014D", "2006F_0304" }, + { "014E", "2004F_0306" }, + { "014F", "2006F_0306" }, + { "0150", "2004F_030B" }, + { "0151", "2006F_030B" }, + { "0154", "20052_0301" }, + { "0155", "20072_0301" }, + { "0156", "20052_0327" }, + { "0157", "20072_0327" }, + { "0158", "20052_030C" }, + { "0159", "20072_030C" }, + { "015A", "20053_0301" }, + { "015B", "20073_0301" }, + { "015C", "20053_0302" }, + { "015D", "20073_0302" }, + { "015E", "20053_0327" }, + { "015F", "20073_0327" }, + { "0160", "20053_030C" }, + { "0161", "20073_030C" }, + { "0162", "20054_0327" }, + { "0163", "20074_0327" }, + { "0164", "20054_030C" }, + { "0165", "20074_030C" }, + { "0168", "20055_0303" }, + { "0169", "20075_0303" }, + { "016A", "20055_0304" }, + { "016B", "20075_0304" }, + { "016C", "20055_0306" }, + { "016D", "20075_0306" }, + { "016E", "20055_030A" }, + { "016F", "20075_030A" }, + { "0170", "20055_030B" }, + { "0171", "20075_030B" }, + { "0172", "20055_0328" }, + { "0173", "20075_0328" }, + { "0174", "20057_0302" }, + { "0175", "20077_0302" }, + { "0176", "20059_0302" }, + { "0177", "20079_0302" }, + { "0178", "20059_0308" }, + { "0179", "2005A_0301" }, + { "017A", "2007A_0301" }, + { "017B", "2005A_0307" }, + { "017C", "2007A_0307" }, + { "017D", "2005A_030C" }, + { "017E", "2007A_030C" }, + { "01A0", "2004F_031B" }, + { "01A1", "2006F_031B" }, + { "01AF", "20055_031B" }, + { "01B0", "20075_031B" }, + { "01CD", "20041_030C" }, + { "01CE", "20061_030C" }, + { "01CF", "20049_030C" }, + { "01D0", "20069_030C" }, + { "01D1", "2004F_030C" }, + { "01D2", "2006F_030C" }, + { "01D3", "20055_030C" }, + { "01D4", "20075_030C" }, + { "01D5", "30055_0308_0304" }, + { "01D6", "30075_0308_0304" }, + { "01D7", "30055_0308_0301" }, + { "01D8", "30075_0308_0301" }, + { "01D9", "30055_0308_030C" }, + { "01DA", "30075_0308_030C" }, + { "01DB", "30055_0308_0300" }, + { "01DC", "30075_0308_0300" }, + { "01DE", "30041_0308_0304" }, + { "01DF", "30061_0308_0304" }, + { "01E0", "30041_0307_0304" }, + { "01E1", "30061_0307_0304" }, + { "01E2", "200C6_0304" }, + { "01E3", "200E6_0304" }, + { "01E6", "20047_030C" }, + { "01E7", "20067_030C" }, + { "01E8", "2004B_030C" }, + { "01E9", "2006B_030C" }, + { "01EA", "2004F_0328" }, + { "01EB", "2006F_0328" }, + { "01EC", "3004F_0328_0304" }, + { "01ED", "3006F_0328_0304" }, + { "01EE", "201B7_030C" }, + { "01EF", "20292_030C" }, + { "01F0", "2006A_030C" }, + { "01F4", "20047_0301" }, + { "01F5", "20067_0301" }, + { "01F8", "2004E_0300" }, + { "01F9", "2006E_0300" }, + { "01FA", "30041_030A_0301" }, + { "01FB", "30061_030A_0301" }, + { "01FC", "200C6_0301" }, + { "01FD", "200E6_0301" }, + { "01FE", "200D8_0301" }, + { "01FF", "200F8_0301" }, + { "0200", "20041_030F" }, + { "0201", "20061_030F" }, + { "0202", "20041_0311" }, + { "0203", "20061_0311" }, + { "0204", "20045_030F" }, + { "0205", "20065_030F" }, + { "0206", "20045_0311" }, + { "0207", "20065_0311" }, + { "0208", "20049_030F" }, + { "0209", "20069_030F" }, + { "020A", "20049_0311" }, + { "020B", "20069_0311" }, + { "020C", "2004F_030F" }, + { "020D", "2006F_030F" }, + { "020E", "2004F_0311" }, + { "020F", "2006F_0311" }, + { "0210", "20052_030F" }, + { "0211", "20072_030F" }, + { "0212", "20052_0311" }, + { "0213", "20072_0311" }, + { "0214", "20055_030F" }, + { "0215", "20075_030F" }, + { "0216", "20055_0311" }, + { "0217", "20075_0311" }, + { "0218", "20053_0326" }, + { "0219", "20073_0326" }, + { "021A", "20054_0326" }, + { "021B", "20074_0326" }, + { "021E", "20048_030C" }, + { "021F", "20068_030C" }, + { "0226", "20041_0307" }, + { "0227", "20061_0307" }, + { "0228", "20045_0327" }, + { "0229", "20065_0327" }, + { "022A", "3004F_0308_0304" }, + { "022B", "3006F_0308_0304" }, + { "022C", "3004F_0303_0304" }, + { "022D", "3006F_0303_0304" }, + { "022E", "2004F_0307" }, + { "022F", "2006F_0307" }, + { "0230", "3004F_0307_0304" }, + { "0231", "3006F_0307_0304" }, + { "0232", "20059_0304" }, + { "0233", "20079_0304" }, + { "0340", "10300" }, + { "0341", "10301" }, + { "0343", "10313" }, + { "0344", "20308_0301" }, + { "0374", "102B9" }, + { "037E", "1003B" }, + { "0385", "200A8_0301" }, + { "0386", "20391_0301" }, + { "0387", "100B7" }, + { "0388", "20395_0301" }, + { "0389", "20397_0301" }, + { "038A", "20399_0301" }, + { "038C", "2039F_0301" }, + { "038E", "203A5_0301" }, + { "038F", "203A9_0301" }, + { "0390", "303B9_0308_0301" }, + { "03AA", "20399_0308" }, + { "03AB", "203A5_0308" }, + { "03AC", "203B1_0301" }, + { "03AD", "203B5_0301" }, + { "03AE", "203B7_0301" }, + { "03AF", "203B9_0301" }, + { "03B0", "303C5_0308_0301" }, + { "03CA", "203B9_0308" }, + { "03CB", "203C5_0308" }, + { "03CC", "203BF_0301" }, + { "03CD", "203C5_0301" }, + { "03CE", "203C9_0301" }, + { "03D3", "203D2_0301" }, + { "03D4", "203D2_0308" }, + { "0400", "20415_0300" }, + { "0401", "20415_0308" }, + { "0403", "20413_0301" }, + { "0407", "20406_0308" }, + { "040C", "2041A_0301" }, + { "040D", "20418_0300" }, + { "040E", "20423_0306" }, + { "0419", "20418_0306" }, + { "0439", "20438_0306" }, + { "0450", "20435_0300" }, + { "0451", "20435_0308" }, + { "0453", "20433_0301" }, + { "0457", "20456_0308" }, + { "045C", "2043A_0301" }, + { "045D", "20438_0300" }, + { "045E", "20443_0306" }, + { "0476", "20474_030F" }, + { "0477", "20475_030F" }, + { "04C1", "20416_0306" }, + { "04C2", "20436_0306" }, + { "04D0", "20410_0306" }, + { "04D1", "20430_0306" }, + { "04D2", "20410_0308" }, + { "04D3", "20430_0308" }, + { "04D6", "20415_0306" }, + { "04D7", "20435_0306" }, + { "04DA", "204D8_0308" }, + { "04DB", "204D9_0308" }, + { "04DC", "20416_0308" }, + { "04DD", "20436_0308" }, + { "04DE", "20417_0308" }, + { "04DF", "20437_0308" }, + { "04E2", "20418_0304" }, + { "04E3", "20438_0304" }, + { "04E4", "20418_0308" }, + { "04E5", "20438_0308" }, + { "04E6", "2041E_0308" }, + { "04E7", "2043E_0308" }, + { "04EA", "204E8_0308" }, + { "04EB", "204E9_0308" }, + { "04EC", "2042D_0308" }, + { "04ED", "2044D_0308" }, + { "04EE", "20423_0304" }, + { "04EF", "20443_0304" }, + { "04F0", "20423_0308" }, + { "04F1", "20443_0308" }, + { "04F2", "20423_030B" }, + { "04F3", "20443_030B" }, + { "04F4", "20427_0308" }, + { "04F5", "20447_0308" }, + { "04F8", "2042B_0308" }, + { "04F9", "2044B_0308" }, + { "0622", "20627_0653" }, + { "0623", "20627_0654" }, + { "0624", "20648_0654" }, + { "0625", "20627_0655" }, + { "0626", "2064A_0654" }, + { "06C0", "206D5_0654" }, + { "06C2", "206C1_0654" }, + { "06D3", "206D2_0654" }, + { "0929", "20928_093C" }, + { "0931", "20930_093C" }, + { "0934", "20933_093C" }, + { "0958", "20915_093C" }, + { "0959", "20916_093C" }, + { "095A", "20917_093C" }, + { "095B", "2091C_093C" }, + { "095C", "20921_093C" }, + { "095D", "20922_093C" }, + { "095E", "2092B_093C" }, + { "095F", "2092F_093C" }, + { "09CB", "209C7_09BE" }, + { "09CC", "209C7_09D7" }, + { "09DC", "209A1_09BC" }, + { "09DD", "209A2_09BC" }, + { "09DF", "209AF_09BC" }, + { "0A33", "20A32_0A3C" }, + { "0A36", "20A38_0A3C" }, + { "0A59", "20A16_0A3C" }, + { "0A5A", "20A17_0A3C" }, + { "0A5B", "20A1C_0A3C" }, + { "0A5E", "20A2B_0A3C" }, + { "0B48", "20B47_0B56" }, + { "0B4B", "20B47_0B3E" }, + { "0B4C", "20B47_0B57" }, + { "0B5C", "20B21_0B3C" }, + { "0B5D", "20B22_0B3C" }, + { "0B94", "20B92_0BD7" }, + { "0BCA", "20BC6_0BBE" }, + { "0BCB", "20BC7_0BBE" }, + { "0BCC", "20BC6_0BD7" }, + { "0C48", "20C46_0C56" }, + { "0CC0", "20CBF_0CD5" }, + { "0CC7", "20CC6_0CD5" }, + { "0CC8", "20CC6_0CD6" }, + { "0CCA", "20CC6_0CC2" }, + { "0CCB", "30CC6_0CC2_0CD5" }, + { "0D4A", "20D46_0D3E" }, + { "0D4B", "20D47_0D3E" }, + { "0D4C", "20D46_0D57" }, + { "0DDA", "20DD9_0DCA" }, + { "0DDC", "20DD9_0DCF" }, + { "0DDD", "30DD9_0DCF_0DCA" }, + { "0DDE", "20DD9_0DDF" }, + { "0F43", "20F42_0FB7" }, + { "0F4D", "20F4C_0FB7" }, + { "0F52", "20F51_0FB7" }, + { "0F57", "20F56_0FB7" }, + { "0F5C", "20F5B_0FB7" }, + { "0F69", "20F40_0FB5" }, + { "0F73", "20F71_0F72" }, + { "0F75", "20F71_0F74" }, + { "0F76", "20FB2_0F80" }, + { "0F78", "20FB3_0F80" }, + { "0F81", "20F71_0F80" }, + { "0F93", "20F92_0FB7" }, + { "0F9D", "20F9C_0FB7" }, + { "0FA2", "20FA1_0FB7" }, + { "0FA7", "20FA6_0FB7" }, + { "0FAC", "20FAB_0FB7" }, + { "0FB9", "20F90_0FB5" }, + { "1026", "21025_102E" }, + { "1E00", "20041_0325" }, + { "1E01", "20061_0325" }, + { "1E02", "20042_0307" }, + { "1E03", "20062_0307" }, + { "1E04", "20042_0323" }, + { "1E05", "20062_0323" }, + { "1E06", "20042_0331" }, + { "1E07", "20062_0331" }, + { "1E08", "30043_0327_0301" }, + { "1E09", "30063_0327_0301" }, + { "1E0A", "20044_0307" }, + { "1E0B", "20064_0307" }, + { "1E0C", "20044_0323" }, + { "1E0D", "20064_0323" }, + { "1E0E", "20044_0331" }, + { "1E0F", "20064_0331" }, + { "1E10", "20044_0327" }, + { "1E11", "20064_0327" }, + { "1E12", "20044_032D" }, + { "1E13", "20064_032D" }, + { "1E14", "30045_0304_0300" }, + { "1E15", "30065_0304_0300" }, + { "1E16", "30045_0304_0301" }, + { "1E17", "30065_0304_0301" }, + { "1E18", "20045_032D" }, + { "1E19", "20065_032D" }, + { "1E1A", "20045_0330" }, + { "1E1B", "20065_0330" }, + { "1E1C", "30045_0327_0306" }, + { "1E1D", "30065_0327_0306" }, + { "1E1E", "20046_0307" }, + { "1E1F", "20066_0307" }, + { "1E20", "20047_0304" }, + { "1E21", "20067_0304" }, + { "1E22", "20048_0307" }, + { "1E23", "20068_0307" }, + { "1E24", "20048_0323" }, + { "1E25", "20068_0323" }, + { "1E26", "20048_0308" }, + { "1E27", "20068_0308" }, + { "1E28", "20048_0327" }, + { "1E29", "20068_0327" }, + { "1E2A", "20048_032E" }, + { "1E2B", "20068_032E" }, + { "1E2C", "20049_0330" }, + { "1E2D", "20069_0330" }, + { "1E2E", "30049_0308_0301" }, + { "1E2F", "30069_0308_0301" }, + { "1E30", "2004B_0301" }, + { "1E31", "2006B_0301" }, + { "1E32", "2004B_0323" }, + { "1E33", "2006B_0323" }, + { "1E34", "2004B_0331" }, + { "1E35", "2006B_0331" }, + { "1E36", "2004C_0323" }, + { "1E37", "2006C_0323" }, + { "1E38", "3004C_0323_0304" }, + { "1E39", "3006C_0323_0304" }, + { "1E3A", "2004C_0331" }, + { "1E3B", "2006C_0331" }, + { "1E3C", "2004C_032D" }, + { "1E3D", "2006C_032D" }, + { "1E3E", "2004D_0301" }, + { "1E3F", "2006D_0301" }, + { "1E40", "2004D_0307" }, + { "1E41", "2006D_0307" }, + { "1E42", "2004D_0323" }, + { "1E43", "2006D_0323" }, + { "1E44", "2004E_0307" }, + { "1E45", "2006E_0307" }, + { "1E46", "2004E_0323" }, + { "1E47", "2006E_0323" }, + { "1E48", "2004E_0331" }, + { "1E49", "2006E_0331" }, + { "1E4A", "2004E_032D" }, + { "1E4B", "2006E_032D" }, + { "1E4C", "3004F_0303_0301" }, + { "1E4D", "3006F_0303_0301" }, + { "1E4E", "3004F_0303_0308" }, + { "1E4F", "3006F_0303_0308" }, + { "1E50", "3004F_0304_0300" }, + { "1E51", "3006F_0304_0300" }, + { "1E52", "3004F_0304_0301" }, + { "1E53", "3006F_0304_0301" }, + { "1E54", "20050_0301" }, + { "1E55", "20070_0301" }, + { "1E56", "20050_0307" }, + { "1E57", "20070_0307" }, + { "1E58", "20052_0307" }, + { "1E59", "20072_0307" }, + { "1E5A", "20052_0323" }, + { "1E5B", "20072_0323" }, + { "1E5C", "30052_0323_0304" }, + { "1E5D", "30072_0323_0304" }, + { "1E5E", "20052_0331" }, + { "1E5F", "20072_0331" }, + { "1E60", "20053_0307" }, + { "1E61", "20073_0307" }, + { "1E62", "20053_0323" }, + { "1E63", "20073_0323" }, + { "1E64", "30053_0301_0307" }, + { "1E65", "30073_0301_0307" }, + { "1E66", "30053_030C_0307" }, + { "1E67", "30073_030C_0307" }, + { "1E68", "30053_0323_0307" }, + { "1E69", "30073_0323_0307" }, + { "1E6A", "20054_0307" }, + { "1E6B", "20074_0307" }, + { "1E6C", "20054_0323" }, + { "1E6D", "20074_0323" }, + { "1E6E", "20054_0331" }, + { "1E6F", "20074_0331" }, + { "1E70", "20054_032D" }, + { "1E71", "20074_032D" }, + { "1E72", "20055_0324" }, + { "1E73", "20075_0324" }, + { "1E74", "20055_0330" }, + { "1E75", "20075_0330" }, + { "1E76", "20055_032D" }, + { "1E77", "20075_032D" }, + { "1E78", "30055_0303_0301" }, + { "1E79", "30075_0303_0301" }, + { "1E7A", "30055_0304_0308" }, + { "1E7B", "30075_0304_0308" }, + { "1E7C", "20056_0303" }, + { "1E7D", "20076_0303" }, + { "1E7E", "20056_0323" }, + { "1E7F", "20076_0323" }, + { "1E80", "20057_0300" }, + { "1E81", "20077_0300" }, + { "1E82", "20057_0301" }, + { "1E83", "20077_0301" }, + { "1E84", "20057_0308" }, + { "1E85", "20077_0308" }, + { "1E86", "20057_0307" }, + { "1E87", "20077_0307" }, + { "1E88", "20057_0323" }, + { "1E89", "20077_0323" }, + { "1E8A", "20058_0307" }, + { "1E8B", "20078_0307" }, + { "1E8C", "20058_0308" }, + { "1E8D", "20078_0308" }, + { "1E8E", "20059_0307" }, + { "1E8F", "20079_0307" }, + { "1E90", "2005A_0302" }, + { "1E91", "2007A_0302" }, + { "1E92", "2005A_0323" }, + { "1E93", "2007A_0323" }, + { "1E94", "2005A_0331" }, + { "1E95", "2007A_0331" }, + { "1E96", "20068_0331" }, + { "1E97", "20074_0308" }, + { "1E98", "20077_030A" }, + { "1E99", "20079_030A" }, + { "1E9B", "2017F_0307" }, + { "1EA0", "20041_0323" }, + { "1EA1", "20061_0323" }, + { "1EA2", "20041_0309" }, + { "1EA3", "20061_0309" }, + { "1EA4", "30041_0302_0301" }, + { "1EA5", "30061_0302_0301" }, + { "1EA6", "30041_0302_0300" }, + { "1EA7", "30061_0302_0300" }, + { "1EA8", "30041_0302_0309" }, + { "1EA9", "30061_0302_0309" }, + { "1EAA", "30041_0302_0303" }, + { "1EAB", "30061_0302_0303" }, + { "1EAC", "30041_0323_0302" }, + { "1EAD", "30061_0323_0302" }, + { "1EAE", "30041_0306_0301" }, + { "1EAF", "30061_0306_0301" }, + { "1EB0", "30041_0306_0300" }, + { "1EB1", "30061_0306_0300" }, + { "1EB2", "30041_0306_0309" }, + { "1EB3", "30061_0306_0309" }, + { "1EB4", "30041_0306_0303" }, + { "1EB5", "30061_0306_0303" }, + { "1EB6", "30041_0323_0306" }, + { "1EB7", "30061_0323_0306" }, + { "1EB8", "20045_0323" }, + { "1EB9", "20065_0323" }, + { "1EBA", "20045_0309" }, + { "1EBB", "20065_0309" }, + { "1EBC", "20045_0303" }, + { "1EBD", "20065_0303" }, + { "1EBE", "30045_0302_0301" }, + { "1EBF", "30065_0302_0301" }, + { "1EC0", "30045_0302_0300" }, + { "1EC1", "30065_0302_0300" }, + { "1EC2", "30045_0302_0309" }, + { "1EC3", "30065_0302_0309" }, + { "1EC4", "30045_0302_0303" }, + { "1EC5", "30065_0302_0303" }, + { "1EC6", "30045_0323_0302" }, + { "1EC7", "30065_0323_0302" }, + { "1EC8", "20049_0309" }, + { "1EC9", "20069_0309" }, + { "1ECA", "20049_0323" }, + { "1ECB", "20069_0323" }, + { "1ECC", "2004F_0323" }, + { "1ECD", "2006F_0323" }, + { "1ECE", "2004F_0309" }, + { "1ECF", "2006F_0309" }, + { "1ED0", "3004F_0302_0301" }, + { "1ED1", "3006F_0302_0301" }, + { "1ED2", "3004F_0302_0300" }, + { "1ED3", "3006F_0302_0300" }, + { "1ED4", "3004F_0302_0309" }, + { "1ED5", "3006F_0302_0309" }, + { "1ED6", "3004F_0302_0303" }, + { "1ED7", "3006F_0302_0303" }, + { "1ED8", "3004F_0323_0302" }, + { "1ED9", "3006F_0323_0302" }, + { "1EDA", "3004F_031B_0301" }, + { "1EDB", "3006F_031B_0301" }, + { "1EDC", "3004F_031B_0300" }, + { "1EDD", "3006F_031B_0300" }, + { "1EDE", "3004F_031B_0309" }, + { "1EDF", "3006F_031B_0309" }, + { "1EE0", "3004F_031B_0303" }, + { "1EE1", "3006F_031B_0303" }, + { "1EE2", "3004F_031B_0323" }, + { "1EE3", "3006F_031B_0323" }, + { "1EE4", "20055_0323" }, + { "1EE5", "20075_0323" }, + { "1EE6", "20055_0309" }, + { "1EE7", "20075_0309" }, + { "1EE8", "30055_031B_0301" }, + { "1EE9", "30075_031B_0301" }, + { "1EEA", "30055_031B_0300" }, + { "1EEB", "30075_031B_0300" }, + { "1EEC", "30055_031B_0309" }, + { "1EED", "30075_031B_0309" }, + { "1EEE", "30055_031B_0303" }, + { "1EEF", "30075_031B_0303" }, + { "1EF0", "30055_031B_0323" }, + { "1EF1", "30075_031B_0323" }, + { "1EF2", "20059_0300" }, + { "1EF3", "20079_0300" }, + { "1EF4", "20059_0323" }, + { "1EF5", "20079_0323" }, + { "1EF6", "20059_0309" }, + { "1EF7", "20079_0309" }, + { "1EF8", "20059_0303" }, + { "1EF9", "20079_0303" }, + { "1F00", "203B1_0313" }, + { "1F01", "203B1_0314" }, + { "1F02", "303B1_0313_0300" }, + { "1F03", "303B1_0314_0300" }, + { "1F04", "303B1_0313_0301" }, + { "1F05", "303B1_0314_0301" }, + { "1F06", "303B1_0313_0342" }, + { "1F07", "303B1_0314_0342" }, + { "1F08", "20391_0313" }, + { "1F09", "20391_0314" }, + { "1F0A", "30391_0313_0300" }, + { "1F0B", "30391_0314_0300" }, + { "1F0C", "30391_0313_0301" }, + { "1F0D", "30391_0314_0301" }, + { "1F0E", "30391_0313_0342" }, + { "1F0F", "30391_0314_0342" }, + { "1F10", "203B5_0313" }, + { "1F11", "203B5_0314" }, + { "1F12", "303B5_0313_0300" }, + { "1F13", "303B5_0314_0300" }, + { "1F14", "303B5_0313_0301" }, + { "1F15", "303B5_0314_0301" }, + { "1F18", "20395_0313" }, + { "1F19", "20395_0314" }, + { "1F1A", "30395_0313_0300" }, + { "1F1B", "30395_0314_0300" }, + { "1F1C", "30395_0313_0301" }, + { "1F1D", "30395_0314_0301" }, + { "1F20", "203B7_0313" }, + { "1F21", "203B7_0314" }, + { "1F22", "303B7_0313_0300" }, + { "1F23", "303B7_0314_0300" }, + { "1F24", "303B7_0313_0301" }, + { "1F25", "303B7_0314_0301" }, + { "1F26", "303B7_0313_0342" }, + { "1F27", "303B7_0314_0342" }, + { "1F28", "20397_0313" }, + { "1F29", "20397_0314" }, + { "1F2A", "30397_0313_0300" }, + { "1F2B", "30397_0314_0300" }, + { "1F2C", "30397_0313_0301" }, + { "1F2D", "30397_0314_0301" }, + { "1F2E", "30397_0313_0342" }, + { "1F2F", "30397_0314_0342" }, + { "1F30", "203B9_0313" }, + { "1F31", "203B9_0314" }, + { "1F32", "303B9_0313_0300" }, + { "1F33", "303B9_0314_0300" }, + { "1F34", "303B9_0313_0301" }, + { "1F35", "303B9_0314_0301" }, + { "1F36", "303B9_0313_0342" }, + { "1F37", "303B9_0314_0342" }, + { "1F38", "20399_0313" }, + { "1F39", "20399_0314" }, + { "1F3A", "30399_0313_0300" }, + { "1F3B", "30399_0314_0300" }, + { "1F3C", "30399_0313_0301" }, + { "1F3D", "30399_0314_0301" }, + { "1F3E", "30399_0313_0342" }, + { "1F3F", "30399_0314_0342" }, + { "1F40", "203BF_0313" }, + { "1F41", "203BF_0314" }, + { "1F42", "303BF_0313_0300" }, + { "1F43", "303BF_0314_0300" }, + { "1F44", "303BF_0313_0301" }, + { "1F45", "303BF_0314_0301" }, + { "1F48", "2039F_0313" }, + { "1F49", "2039F_0314" }, + { "1F4A", "3039F_0313_0300" }, + { "1F4B", "3039F_0314_0300" }, + { "1F4C", "3039F_0313_0301" }, + { "1F4D", "3039F_0314_0301" }, + { "1F50", "203C5_0313" }, + { "1F51", "203C5_0314" }, + { "1F52", "303C5_0313_0300" }, + { "1F53", "303C5_0314_0300" }, + { "1F54", "303C5_0313_0301" }, + { "1F55", "303C5_0314_0301" }, + { "1F56", "303C5_0313_0342" }, + { "1F57", "303C5_0314_0342" }, + { "1F59", "203A5_0314" }, + { "1F5B", "303A5_0314_0300" }, + { "1F5D", "303A5_0314_0301" }, + { "1F5F", "303A5_0314_0342" }, + { "1F60", "203C9_0313" }, + { "1F61", "203C9_0314" }, + { "1F62", "303C9_0313_0300" }, + { "1F63", "303C9_0314_0300" }, + { "1F64", "303C9_0313_0301" }, + { "1F65", "303C9_0314_0301" }, + { "1F66", "303C9_0313_0342" }, + { "1F67", "303C9_0314_0342" }, + { "1F68", "203A9_0313" }, + { "1F69", "203A9_0314" }, + { "1F6A", "303A9_0313_0300" }, + { "1F6B", "303A9_0314_0300" }, + { "1F6C", "303A9_0313_0301" }, + { "1F6D", "303A9_0314_0301" }, + { "1F6E", "303A9_0313_0342" }, + { "1F6F", "303A9_0314_0342" }, + { "1F70", "203B1_0300" }, + { "1F71", "203B1_0301" }, + { "1F72", "203B5_0300" }, + { "1F73", "203B5_0301" }, + { "1F74", "203B7_0300" }, + { "1F75", "203B7_0301" }, + { "1F76", "203B9_0300" }, + { "1F77", "203B9_0301" }, + { "1F78", "203BF_0300" }, + { "1F79", "203BF_0301" }, + { "1F7A", "203C5_0300" }, + { "1F7B", "203C5_0301" }, + { "1F7C", "203C9_0300" }, + { "1F7D", "203C9_0301" }, + { "1F80", "303B1_0313_0345" }, + { "1F81", "303B1_0314_0345" }, + { "1F82", "403B1_0313_0300_0345" }, + { "1F83", "403B1_0314_0300_0345" }, + { "1F84", "403B1_0313_0301_0345" }, + { "1F85", "403B1_0314_0301_0345" }, + { "1F86", "403B1_0313_0342_0345" }, + { "1F87", "403B1_0314_0342_0345" }, + { "1F88", "30391_0313_0345" }, + { "1F89", "30391_0314_0345" }, + { "1F8A", "40391_0313_0300_0345" }, + { "1F8B", "40391_0314_0300_0345" }, + { "1F8C", "40391_0313_0301_0345" }, + { "1F8D", "40391_0314_0301_0345" }, + { "1F8E", "40391_0313_0342_0345" }, + { "1F8F", "40391_0314_0342_0345" }, + { "1F90", "303B7_0313_0345" }, + { "1F91", "303B7_0314_0345" }, + { "1F92", "403B7_0313_0300_0345" }, + { "1F93", "403B7_0314_0300_0345" }, + { "1F94", "403B7_0313_0301_0345" }, + { "1F95", "403B7_0314_0301_0345" }, + { "1F96", "403B7_0313_0342_0345" }, + { "1F97", "403B7_0314_0342_0345" }, + { "1F98", "30397_0313_0345" }, + { "1F99", "30397_0314_0345" }, + { "1F9A", "40397_0313_0300_0345" }, + { "1F9B", "40397_0314_0300_0345" }, + { "1F9C", "40397_0313_0301_0345" }, + { "1F9D", "40397_0314_0301_0345" }, + { "1F9E", "40397_0313_0342_0345" }, + { "1F9F", "40397_0314_0342_0345" }, + { "1FA0", "303C9_0313_0345" }, + { "1FA1", "303C9_0314_0345" }, + { "1FA2", "403C9_0313_0300_0345" }, + { "1FA3", "403C9_0314_0300_0345" }, + { "1FA4", "403C9_0313_0301_0345" }, + { "1FA5", "403C9_0314_0301_0345" }, + { "1FA6", "403C9_0313_0342_0345" }, + { "1FA7", "403C9_0314_0342_0345" }, + { "1FA8", "303A9_0313_0345" }, + { "1FA9", "303A9_0314_0345" }, + { "1FAA", "403A9_0313_0300_0345" }, + { "1FAB", "403A9_0314_0300_0345" }, + { "1FAC", "403A9_0313_0301_0345" }, + { "1FAD", "403A9_0314_0301_0345" }, + { "1FAE", "403A9_0313_0342_0345" }, + { "1FAF", "403A9_0314_0342_0345" }, + { "1FB0", "203B1_0306" }, + { "1FB1", "203B1_0304" }, + { "1FB2", "303B1_0300_0345" }, + { "1FB3", "203B1_0345" }, + { "1FB4", "303B1_0301_0345" }, + { "1FB6", "203B1_0342" }, + { "1FB7", "303B1_0342_0345" }, + { "1FB8", "20391_0306" }, + { "1FB9", "20391_0304" }, + { "1FBA", "20391_0300" }, + { "1FBB", "20391_0301" }, + { "1FBC", "20391_0345" }, + { "1FBE", "103B9" }, + { "1FC1", "200A8_0342" }, + { "1FC2", "303B7_0300_0345" }, + { "1FC3", "203B7_0345" }, + { "1FC4", "303B7_0301_0345" }, + { "1FC6", "203B7_0342" }, + { "1FC7", "303B7_0342_0345" }, + { "1FC8", "20395_0300" }, + { "1FC9", "20395_0301" }, + { "1FCA", "20397_0300" }, + { "1FCB", "20397_0301" }, + { "1FCC", "20397_0345" }, + { "1FCD", "21FBF_0300" }, + { "1FCE", "21FBF_0301" }, + { "1FCF", "21FBF_0342" }, + { "1FD0", "203B9_0306" }, + { "1FD1", "203B9_0304" }, + { "1FD2", "303B9_0308_0300" }, + { "1FD3", "303B9_0308_0301" }, + { "1FD6", "203B9_0342" }, + { "1FD7", "303B9_0308_0342" }, + { "1FD8", "20399_0306" }, + { "1FD9", "20399_0304" }, + { "1FDA", "20399_0300" }, + { "1FDB", "20399_0301" }, + { "1FDD", "21FFE_0300" }, + { "1FDE", "21FFE_0301" }, + { "1FDF", "21FFE_0342" }, + { "1FE0", "203C5_0306" }, + { "1FE1", "203C5_0304" }, + { "1FE2", "303C5_0308_0300" }, + { "1FE3", "303C5_0308_0301" }, + { "1FE4", "203C1_0313" }, + { "1FE5", "203C1_0314" }, + { "1FE6", "203C5_0342" }, + { "1FE7", "303C5_0308_0342" }, + { "1FE8", "203A5_0306" }, + { "1FE9", "203A5_0304" }, + { "1FEA", "203A5_0300" }, + { "1FEB", "203A5_0301" }, + { "1FEC", "203A1_0314" }, + { "1FED", "200A8_0300" }, + { "1FEE", "200A8_0301" }, + { "1FEF", "10060" }, + { "1FF2", "303C9_0300_0345" }, + { "1FF3", "203C9_0345" }, + { "1FF4", "303C9_0301_0345" }, + { "1FF6", "203C9_0342" }, + { "1FF7", "303C9_0342_0345" }, + { "1FF8", "2039F_0300" }, + { "1FF9", "2039F_0301" }, + { "1FFA", "203A9_0300" }, + { "1FFB", "203A9_0301" }, + { "1FFC", "203A9_0345" }, + { "1FFD", "100B4" }, + { "2000", "12002" }, + { "2001", "12003" }, + { "2126", "103A9" }, + { "212A", "1004B" }, + { "212B", "20041_030A" }, + { "219A", "22190_0338" }, + { "219B", "22192_0338" }, + { "21AE", "22194_0338" }, + { "21CD", "221D0_0338" }, + { "21CE", "221D4_0338" }, + { "21CF", "221D2_0338" }, + { "2204", "22203_0338" }, + { "2209", "22208_0338" }, + { "220C", "2220B_0338" }, + { "2224", "22223_0338" }, + { "2226", "22225_0338" }, + { "2241", "2223C_0338" }, + { "2244", "22243_0338" }, + { "2247", "22245_0338" }, + { "2249", "22248_0338" }, + { "2260", "2003D_0338" }, + { "2262", "22261_0338" }, + { "226D", "2224D_0338" }, + { "226E", "2003C_0338" }, + { "226F", "2003E_0338" }, + { "2270", "22264_0338" }, + { "2271", "22265_0338" }, + { "2274", "22272_0338" }, + { "2275", "22273_0338" }, + { "2278", "22276_0338" }, + { "2279", "22277_0338" }, + { "2280", "2227A_0338" }, + { "2281", "2227B_0338" }, + { "2284", "22282_0338" }, + { "2285", "22283_0338" }, + { "2288", "22286_0338" }, + { "2289", "22287_0338" }, + { "22AC", "222A2_0338" }, + { "22AD", "222A8_0338" }, + { "22AE", "222A9_0338" }, + { "22AF", "222AB_0338" }, + { "22E0", "2227C_0338" }, + { "22E1", "2227D_0338" }, + { "22E2", "22291_0338" }, + { "22E3", "22292_0338" }, + { "22EA", "222B2_0338" }, + { "22EB", "222B3_0338" }, + { "22EC", "222B4_0338" }, + { "22ED", "222B5_0338" }, + { "2329", "13008" }, + { "232A", "13009" }, + { "2ADC", "22ADD_0338" }, + { "304C", "2304B_3099" }, + { "304E", "2304D_3099" }, + { "3050", "2304F_3099" }, + { "3052", "23051_3099" }, + { "3054", "23053_3099" }, + { "3056", "23055_3099" }, + { "3058", "23057_3099" }, + { "305A", "23059_3099" }, + { "305C", "2305B_3099" }, + { "305E", "2305D_3099" }, + { "3060", "2305F_3099" }, + { "3062", "23061_3099" }, + { "3065", "23064_3099" }, + { "3067", "23066_3099" }, + { "3069", "23068_3099" }, + { "3070", "2306F_3099" }, + { "3071", "2306F_309A" }, + { "3073", "23072_3099" }, + { "3074", "23072_309A" }, + { "3076", "23075_3099" }, + { "3077", "23075_309A" }, + { "3079", "23078_3099" }, + { "307A", "23078_309A" }, + { "307C", "2307B_3099" }, + { "307D", "2307B_309A" }, + { "3094", "23046_3099" }, + { "309E", "2309D_3099" }, + { "30AC", "230AB_3099" }, + { "30AE", "230AD_3099" }, + { "30B0", "230AF_3099" }, + { "30B2", "230B1_3099" }, + { "30B4", "230B3_3099" }, + { "30B6", "230B5_3099" }, + { "30B8", "230B7_3099" }, + { "30BA", "230B9_3099" }, + { "30BC", "230BB_3099" }, + { "30BE", "230BD_3099" }, + { "30C0", "230BF_3099" }, + { "30C2", "230C1_3099" }, + { "30C5", "230C4_3099" }, + { "30C7", "230C6_3099" }, + { "30C9", "230C8_3099" }, + { "30D0", "230CF_3099" }, + { "30D1", "230CF_309A" }, + { "30D3", "230D2_3099" }, + { "30D4", "230D2_309A" }, + { "30D6", "230D5_3099" }, + { "30D7", "230D5_309A" }, + { "30D9", "230D8_3099" }, + { "30DA", "230D8_309A" }, + { "30DC", "230DB_3099" }, + { "30DD", "230DB_309A" }, + { "30F4", "230A6_3099" }, + { "30F7", "230EF_3099" }, + { "30F8", "230F0_3099" }, + { "30F9", "230F1_3099" }, + { "30FA", "230F2_3099" }, + { "30FE", "230FD_3099" }, + { "F900", "18C48" }, + { "F901", "166F4" }, + { "F902", "18ECA" }, + { "F903", "18CC8" }, + { "F904", "16ED1" }, + { "F905", "14E32" }, + { "F906", "153E5" }, + { "F907", "19F9C" }, + { "F908", "19F9C" }, + { "F909", "15951" }, + { "F90A", "191D1" }, + { "F90B", "15587" }, + { "F90C", "15948" }, + { "F90D", "161F6" }, + { "F90E", "17669" }, + { "F90F", "17F85" }, + { "F910", "1863F" }, + { "F911", "187BA" }, + { "F912", "188F8" }, + { "F913", "1908F" }, + { "F914", "16A02" }, + { "F915", "16D1B" }, + { "F916", "170D9" }, + { "F917", "173DE" }, + { "F918", "1843D" }, + { "F919", "1916A" }, + { "F91A", "199F1" }, + { "F91B", "14E82" }, + { "F91C", "15375" }, + { "F91D", "16B04" }, + { "F91E", "1721B" }, + { "F91F", "1862D" }, + { "F920", "19E1E" }, + { "F921", "15D50" }, + { "F922", "16FEB" }, + { "F923", "185CD" }, + { "F924", "18964" }, + { "F925", "162C9" }, + { "F926", "181D8" }, + { "F927", "1881F" }, + { "F928", "15ECA" }, + { "F929", "16717" }, + { "F92A", "16D6A" }, + { "F92B", "172FC" }, + { "F92C", "190CE" }, + { "F92D", "14F86" }, + { "F92E", "151B7" }, + { "F92F", "152DE" }, + { "F930", "164C4" }, + { "F931", "16AD3" }, + { "F932", "17210" }, + { "F933", "176E7" }, + { "F934", "18001" }, + { "F935", "18606" }, + { "F936", "1865C" }, + { "F937", "18DEF" }, + { "F938", "19732" }, + { "F939", "19B6F" }, + { "F93A", "19DFA" }, + { "F93B", "1788C" }, + { "F93C", "1797F" }, + { "F93D", "17DA0" }, + { "F93E", "183C9" }, + { "F93F", "19304" }, + { "F940", "19E7F" }, + { "F941", "18AD6" }, + { "F942", "158DF" }, + { "F943", "15F04" }, + { "F944", "17C60" }, + { "F945", "1807E" }, + { "F946", "17262" }, + { "F947", "178CA" }, + { "F948", "18CC2" }, + { "F949", "196F7" }, + { "F94A", "158D8" }, + { "F94B", "15C62" }, + { "F94C", "16A13" }, + { "F94D", "16DDA" }, + { "F94E", "16F0F" }, + { "F94F", "17D2F" }, + { "F950", "17E37" }, + { "F951", "1964B" }, + { "F952", "152D2" }, + { "F953", "1808B" }, + { "F954", "151DC" }, + { "F955", "151CC" }, + { "F956", "17A1C" }, + { "F957", "17DBE" }, + { "F958", "183F1" }, + { "F959", "19675" }, + { "F95A", "18B80" }, + { "F95B", "162CF" }, + { "F95C", "16A02" }, + { "F95D", "18AFE" }, + { "F95E", "14E39" }, + { "F95F", "15BE7" }, + { "F960", "16012" }, + { "F961", "17387" }, + { "F962", "17570" }, + { "F963", "15317" }, + { "F964", "178FB" }, + { "F965", "14FBF" }, + { "F966", "15FA9" }, + { "F967", "14E0D" }, + { "F968", "16CCC" }, + { "F969", "16578" }, + { "F96A", "17D22" }, + { "F96B", "153C3" }, + { "F96C", "1585E" }, + { "F96D", "17701" }, + { "F96E", "18449" }, + { "F96F", "18AAA" }, + { "F970", "16BBA" }, + { "F971", "18FB0" }, + { "F972", "16C88" }, + { "F973", "162FE" }, + { "F974", "182E5" }, + { "F975", "163A0" }, + { "F976", "17565" }, + { "F977", "14EAE" }, + { "F978", "15169" }, + { "F979", "151C9" }, + { "F97A", "16881" }, + { "F97B", "17CE7" }, + { "F97C", "1826F" }, + { "F97D", "18AD2" }, + { "F97E", "191CF" }, + { "F97F", "152F5" }, + { "F980", "15442" }, + { "F981", "15973" }, + { "F982", "15EEC" }, + { "F983", "165C5" }, + { "F984", "16FFE" }, + { "F985", "1792A" }, + { "F986", "195AD" }, + { "F987", "19A6A" }, + { "F988", "19E97" }, + { "F989", "19ECE" }, + { "F98A", "1529B" }, + { "F98B", "166C6" }, + { "F98C", "16B77" }, + { "F98D", "18F62" }, + { "F98E", "15E74" }, + { "F98F", "16190" }, + { "F990", "16200" }, + { "F991", "1649A" }, + { "F992", "16F23" }, + { "F993", "17149" }, + { "F994", "17489" }, + { "F995", "179CA" }, + { "F996", "17DF4" }, + { "F997", "1806F" }, + { "F998", "18F26" }, + { "F999", "184EE" }, + { "F99A", "19023" }, + { "F99B", "1934A" }, + { "F99C", "15217" }, + { "F99D", "152A3" }, + { "F99E", "154BD" }, + { "F99F", "170C8" }, + { "F9A0", "188C2" }, + { "F9A1", "18AAA" }, + { "F9A2", "15EC9" }, + { "F9A3", "15FF5" }, + { "F9A4", "1637B" }, + { "F9A5", "16BAE" }, + { "F9A6", "17C3E" }, + { "F9A7", "17375" }, + { "F9A8", "14EE4" }, + { "F9A9", "156F9" }, + { "F9AA", "15BE7" }, + { "F9AB", "15DBA" }, + { "F9AC", "1601C" }, + { "F9AD", "173B2" }, + { "F9AE", "17469" }, + { "F9AF", "17F9A" }, + { "F9B0", "18046" }, + { "F9B1", "19234" }, + { "F9B2", "196F6" }, + { "F9B3", "19748" }, + { "F9B4", "19818" }, + { "F9B5", "14F8B" }, + { "F9B6", "179AE" }, + { "F9B7", "191B4" }, + { "F9B8", "196B8" }, + { "F9B9", "160E1" }, + { "F9BA", "14E86" }, + { "F9BB", "150DA" }, + { "F9BC", "15BEE" }, + { "F9BD", "15C3F" }, + { "F9BE", "16599" }, + { "F9BF", "16A02" }, + { "F9C0", "171CE" }, + { "F9C1", "17642" }, + { "F9C2", "184FC" }, + { "F9C3", "1907C" }, + { "F9C4", "19F8D" }, + { "F9C5", "16688" }, + { "F9C6", "1962E" }, + { "F9C7", "15289" }, + { "F9C8", "1677B" }, + { "F9C9", "167F3" }, + { "F9CA", "16D41" }, + { "F9CB", "16E9C" }, + { "F9CC", "17409" }, + { "F9CD", "17559" }, + { "F9CE", "1786B" }, + { "F9CF", "17D10" }, + { "F9D0", "1985E" }, + { "F9D1", "1516D" }, + { "F9D2", "1622E" }, + { "F9D3", "19678" }, + { "F9D4", "1502B" }, + { "F9D5", "15D19" }, + { "F9D6", "16DEA" }, + { "F9D7", "18F2A" }, + { "F9D8", "15F8B" }, + { "F9D9", "16144" }, + { "F9DA", "16817" }, + { "F9DB", "17387" }, + { "F9DC", "19686" }, + { "F9DD", "15229" }, + { "F9DE", "1540F" }, + { "F9DF", "15C65" }, + { "F9E0", "16613" }, + { "F9E1", "1674E" }, + { "F9E2", "168A8" }, + { "F9E3", "16CE5" }, + { "F9E4", "17406" }, + { "F9E5", "175E2" }, + { "F9E6", "17F79" }, + { "F9E7", "188CF" }, + { "F9E8", "188E1" }, + { "F9E9", "191CC" }, + { "F9EA", "196E2" }, + { "F9EB", "1533F" }, + { "F9EC", "16EBA" }, + { "F9ED", "1541D" }, + { "F9EE", "171D0" }, + { "F9EF", "17498" }, + { "F9F0", "185FA" }, + { "F9F1", "196A3" }, + { "F9F2", "19C57" }, + { "F9F3", "19E9F" }, + { "F9F4", "16797" }, + { "F9F5", "16DCB" }, + { "F9F6", "181E8" }, + { "F9F7", "17ACB" }, + { "F9F8", "17B20" }, + { "F9F9", "17C92" }, + { "F9FA", "172C0" }, + { "F9FB", "17099" }, + { "F9FC", "18B58" }, + { "F9FD", "14EC0" }, + { "F9FE", "18336" }, + { "F9FF", "1523A" }, + { "FA00", "15207" }, + { "FA01", "15EA6" }, + { "FA02", "162D3" }, + { "FA03", "17CD6" }, + { "FA04", "15B85" }, + { "FA05", "16D1E" }, + { "FA06", "166B4" }, + { "FA07", "18F3B" }, + { "FA08", "1884C" }, + { "FA09", "1964D" }, + { "FA0A", "1898B" }, + { "FA0B", "15ED3" }, + { "FA0C", "15140" }, + { "FA0D", "155C0" }, + { "FA10", "1585A" }, + { "FA12", "16674" }, + { "FA15", "151DE" }, + { "FA16", "1732A" }, + { "FA17", "176CA" }, + { "FA18", "1793C" }, + { "FA19", "1795E" }, + { "FA1A", "17965" }, + { "FA1B", "1798F" }, + { "FA1C", "19756" }, + { "FA1D", "17CBE" }, + { "FA1E", "17FBD" }, + { "FA20", "18612" }, + { "FA22", "18AF8" }, + { "FA25", "19038" }, + { "FA26", "190FD" }, + { "FA2A", "198EF" }, + { "FA2B", "198FC" }, + { "FA2C", "19928" }, + { "FA2D", "19DB4" }, + { "FA30", "14FAE" }, + { "FA31", "150E7" }, + { "FA32", "1514D" }, + { "FA33", "152C9" }, + { "FA34", "152E4" }, + { "FA35", "15351" }, + { "FA36", "1559D" }, + { "FA37", "15606" }, + { "FA38", "15668" }, + { "FA39", "15840" }, + { "FA3A", "158A8" }, + { "FA3B", "15C64" }, + { "FA3C", "15C6E" }, + { "FA3D", "16094" }, + { "FA3E", "16168" }, + { "FA3F", "1618E" }, + { "FA40", "161F2" }, + { "FA41", "1654F" }, + { "FA42", "165E2" }, + { "FA43", "16691" }, + { "FA44", "16885" }, + { "FA45", "16D77" }, + { "FA46", "16E1A" }, + { "FA47", "16F22" }, + { "FA48", "1716E" }, + { "FA49", "1722B" }, + { "FA4A", "17422" }, + { "FA4B", "17891" }, + { "FA4C", "1793E" }, + { "FA4D", "17949" }, + { "FA4E", "17948" }, + { "FA4F", "17950" }, + { "FA50", "17956" }, + { "FA51", "1795D" }, + { "FA52", "1798D" }, + { "FA53", "1798E" }, + { "FA54", "17A40" }, + { "FA55", "17A81" }, + { "FA56", "17BC0" }, + { "FA57", "17DF4" }, + { "FA58", "17E09" }, + { "FA59", "17E41" }, + { "FA5A", "17F72" }, + { "FA5B", "18005" }, + { "FA5C", "181ED" }, + { "FA5D", "18279" }, + { "FA5E", "18279" }, + { "FA5F", "18457" }, + { "FA60", "18910" }, + { "FA61", "18996" }, + { "FA62", "18B01" }, + { "FA63", "18B39" }, + { "FA64", "18CD3" }, + { "FA65", "18D08" }, + { "FA66", "18FB6" }, + { "FA67", "19038" }, + { "FA68", "196E3" }, + { "FA69", "197FF" }, + { "FA6A", "1983B" }, + { "FB1D", "205D9_05B4" }, + { "FB1F", "205F2_05B7" }, + { "FB2A", "205E9_05C1" }, + { "FB2B", "205E9_05C2" }, + { "FB2C", "305E9_05BC_05C1" }, + { "FB2D", "305E9_05BC_05C2" }, + { "FB2E", "205D0_05B7" }, + { "FB2F", "205D0_05B8" }, + { "FB30", "205D0_05BC" }, + { "FB31", "205D1_05BC" }, + { "FB32", "205D2_05BC" }, + { "FB33", "205D3_05BC" }, + { "FB34", "205D4_05BC" }, + { "FB35", "205D5_05BC" }, + { "FB36", "205D6_05BC" }, + { "FB38", "205D8_05BC" }, + { "FB39", "205D9_05BC" }, + { "FB3A", "205DA_05BC" }, + { "FB3B", "205DB_05BC" }, + { "FB3C", "205DC_05BC" }, + { "FB3E", "205DE_05BC" }, + { "FB40", "205E0_05BC" }, + { "FB41", "205E1_05BC" }, + { "FB43", "205E3_05BC" }, + { "FB44", "205E4_05BC" }, + { "FB46", "205E6_05BC" }, + { "FB47", "205E7_05BC" }, + { "FB48", "205E8_05BC" }, + { "FB49", "205E9_05BC" }, + { "FB4A", "205EA_05BC" }, + { "FB4B", "205D5_05B9" }, + { "FB4C", "205D1_05BF" }, + { "FB4D", "205DB_05BF" }, + { "FB4E", "205E4_05BF" }, + { "1D15E", "21D157_1D165" }, + { "1D15F", "21D158_1D165" }, + { "1D160", "31D158_1D165_1D16E" }, + { "1D161", "31D158_1D165_1D16F" }, + { "1D162", "31D158_1D165_1D170" }, + { "1D163", "31D158_1D165_1D171" }, + { "1D164", "31D158_1D165_1D172" }, + { "1D1BB", "21D1B9_1D165" }, + { "1D1BC", "21D1BA_1D165" }, + { "1D1BD", "31D1B9_1D165_1D16E" }, + { "1D1BE", "31D1BA_1D165_1D16E" }, + { "1D1BF", "31D1B9_1D165_1D16F" }, + { "1D1C0", "31D1BA_1D165_1D16F" }, + { "2F800", "14E3D" }, + { "2F801", "14E38" }, + { "2F802", "14E41" }, + { "2F803", "120122" }, + { "2F804", "14F60" }, + { "2F805", "14FAE" }, + { "2F806", "14FBB" }, + { "2F807", "15002" }, + { "2F808", "1507A" }, + { "2F809", "15099" }, + { "2F80A", "150E7" }, + { "2F80B", "150CF" }, + { "2F80C", "1349E" }, + { "2F80D", "12063A" }, + { "2F80E", "1514D" }, + { "2F80F", "15154" }, + { "2F810", "15164" }, + { "2F811", "15177" }, + { "2F812", "12051C" }, + { "2F813", "134B9" }, + { "2F814", "15167" }, + { "2F815", "1518D" }, + { "2F816", "12054B" }, + { "2F817", "15197" }, + { "2F818", "151A4" }, + { "2F819", "14ECC" }, + { "2F81A", "151AC" }, + { "2F81B", "151B5" }, + { "2F81C", "1291DF" }, + { "2F81D", "151F5" }, + { "2F81E", "15203" }, + { "2F81F", "134DF" }, + { "2F820", "1523B" }, + { "2F821", "15246" }, + { "2F822", "15272" }, + { "2F823", "15277" }, + { "2F824", "13515" }, + { "2F825", "152C7" }, + { "2F826", "152C9" }, + { "2F827", "152E4" }, + { "2F828", "152FA" }, + { "2F829", "15305" }, + { "2F82A", "15306" }, + { "2F82B", "15317" }, + { "2F82C", "15349" }, + { "2F82D", "15351" }, + { "2F82E", "1535A" }, + { "2F82F", "15373" }, + { "2F830", "1537D" }, + { "2F831", "1537F" }, + { "2F832", "1537F" }, + { "2F833", "1537F" }, + { "2F834", "120A2C" }, + { "2F835", "17070" }, + { "2F836", "153CA" }, + { "2F837", "153DF" }, + { "2F838", "120B63" }, + { "2F839", "153EB" }, + { "2F83A", "153F1" }, + { "2F83B", "15406" }, + { "2F83C", "1549E" }, + { "2F83D", "15438" }, + { "2F83E", "15448" }, + { "2F83F", "15468" }, + { "2F840", "154A2" }, + { "2F841", "154F6" }, + { "2F842", "15510" }, + { "2F843", "15553" }, + { "2F844", "15563" }, + { "2F845", "15584" }, + { "2F846", "15584" }, + { "2F847", "15599" }, + { "2F848", "155AB" }, + { "2F849", "155B3" }, + { "2F84A", "155C2" }, + { "2F84B", "15716" }, + { "2F84C", "15606" }, + { "2F84D", "15717" }, + { "2F84E", "15651" }, + { "2F84F", "15674" }, + { "2F850", "15207" }, + { "2F851", "158EE" }, + { "2F852", "157CE" }, + { "2F853", "157F4" }, + { "2F854", "1580D" }, + { "2F855", "1578B" }, + { "2F856", "15832" }, + { "2F857", "15831" }, + { "2F858", "158AC" }, + { "2F859", "1214E4" }, + { "2F85A", "158F2" }, + { "2F85B", "158F7" }, + { "2F85C", "15906" }, + { "2F85D", "1591A" }, + { "2F85E", "15922" }, + { "2F85F", "15962" }, + { "2F860", "1216A8" }, + { "2F861", "1216EA" }, + { "2F862", "159EC" }, + { "2F863", "15A1B" }, + { "2F864", "15A27" }, + { "2F865", "159D8" }, + { "2F866", "15A66" }, + { "2F867", "136EE" }, + { "2F868", "12136A" }, + { "2F869", "15B08" }, + { "2F86A", "15B3E" }, + { "2F86B", "15B3E" }, + { "2F86C", "1219C8" }, + { "2F86D", "15BC3" }, + { "2F86E", "15BD8" }, + { "2F86F", "15BE7" }, + { "2F870", "15BF3" }, + { "2F871", "121B18" }, + { "2F872", "15BFF" }, + { "2F873", "15C06" }, + { "2F874", "15F33" }, + { "2F875", "15C22" }, + { "2F876", "13781" }, + { "2F877", "15C60" }, + { "2F878", "15C6E" }, + { "2F879", "15CC0" }, + { "2F87A", "15C8D" }, + { "2F87B", "121DE4" }, + { "2F87C", "15D43" }, + { "2F87D", "121DE6" }, + { "2F87E", "15D6E" }, + { "2F87F", "15D6B" }, + { "2F880", "15D7C" }, + { "2F881", "15DE1" }, + { "2F882", "15DE2" }, + { "2F883", "1382F" }, + { "2F884", "15DFD" }, + { "2F885", "15E28" }, + { "2F886", "15E3D" }, + { "2F887", "15E69" }, + { "2F888", "13862" }, + { "2F889", "122183" }, + { "2F88A", "1387C" }, + { "2F88B", "15EB0" }, + { "2F88C", "15EB3" }, + { "2F88D", "15EB6" }, + { "2F88E", "15ECA" }, + { "2F88F", "12A392" }, + { "2F890", "15EFE" }, + { "2F891", "122331" }, + { "2F892", "122331" }, + { "2F893", "18201" }, + { "2F894", "15F22" }, + { "2F895", "15F22" }, + { "2F896", "138C7" }, + { "2F897", "1232B8" }, + { "2F898", "1261DA" }, + { "2F899", "15F62" }, + { "2F89A", "15F6B" }, + { "2F89B", "138E3" }, + { "2F89C", "15F9A" }, + { "2F89D", "15FCD" }, + { "2F89E", "15FD7" }, + { "2F89F", "15FF9" }, + { "2F8A0", "16081" }, + { "2F8A1", "1393A" }, + { "2F8A2", "1391C" }, + { "2F8A3", "16094" }, + { "2F8A4", "1226D4" }, + { "2F8A5", "160C7" }, + { "2F8A6", "16148" }, + { "2F8A7", "1614C" }, + { "2F8A8", "1614E" }, + { "2F8A9", "1614C" }, + { "2F8AA", "1617A" }, + { "2F8AB", "1618E" }, + { "2F8AC", "161B2" }, + { "2F8AD", "161A4" }, + { "2F8AE", "161AF" }, + { "2F8AF", "161DE" }, + { "2F8B0", "161F2" }, + { "2F8B1", "161F6" }, + { "2F8B2", "16210" }, + { "2F8B3", "1621B" }, + { "2F8B4", "1625D" }, + { "2F8B5", "162B1" }, + { "2F8B6", "162D4" }, + { "2F8B7", "16350" }, + { "2F8B8", "122B0C" }, + { "2F8B9", "1633D" }, + { "2F8BA", "162FC" }, + { "2F8BB", "16368" }, + { "2F8BC", "16383" }, + { "2F8BD", "163E4" }, + { "2F8BE", "122BF1" }, + { "2F8BF", "16422" }, + { "2F8C0", "163C5" }, + { "2F8C1", "163A9" }, + { "2F8C2", "13A2E" }, + { "2F8C3", "16469" }, + { "2F8C4", "1647E" }, + { "2F8C5", "1649D" }, + { "2F8C6", "16477" }, + { "2F8C7", "13A6C" }, + { "2F8C8", "1654F" }, + { "2F8C9", "1656C" }, + { "2F8CA", "12300A" }, + { "2F8CB", "165E3" }, + { "2F8CC", "166F8" }, + { "2F8CD", "16649" }, + { "2F8CE", "13B19" }, + { "2F8CF", "16691" }, + { "2F8D0", "13B08" }, + { "2F8D1", "13AE4" }, + { "2F8D2", "15192" }, + { "2F8D3", "15195" }, + { "2F8D4", "16700" }, + { "2F8D5", "1669C" }, + { "2F8D6", "180AD" }, + { "2F8D7", "143D9" }, + { "2F8D8", "16717" }, + { "2F8D9", "1671B" }, + { "2F8DA", "16721" }, + { "2F8DB", "1675E" }, + { "2F8DC", "16753" }, + { "2F8DD", "1233C3" }, + { "2F8DE", "13B49" }, + { "2F8DF", "167FA" }, + { "2F8E0", "16785" }, + { "2F8E1", "16852" }, + { "2F8E2", "16885" }, + { "2F8E3", "12346D" }, + { "2F8E4", "1688E" }, + { "2F8E5", "1681F" }, + { "2F8E6", "16914" }, + { "2F8E7", "13B9D" }, + { "2F8E8", "16942" }, + { "2F8E9", "169A3" }, + { "2F8EA", "169EA" }, + { "2F8EB", "16AA8" }, + { "2F8EC", "1236A3" }, + { "2F8ED", "16ADB" }, + { "2F8EE", "13C18" }, + { "2F8EF", "16B21" }, + { "2F8F0", "1238A7" }, + { "2F8F1", "16B54" }, + { "2F8F2", "13C4E" }, + { "2F8F3", "16B72" }, + { "2F8F4", "16B9F" }, + { "2F8F5", "16BBA" }, + { "2F8F6", "16BBB" }, + { "2F8F7", "123A8D" }, + { "2F8F8", "121D0B" }, + { "2F8F9", "123AFA" }, + { "2F8FA", "16C4E" }, + { "2F8FB", "123CBC" }, + { "2F8FC", "16CBF" }, + { "2F8FD", "16CCD" }, + { "2F8FE", "16C67" }, + { "2F8FF", "16D16" }, + { "2F900", "16D3E" }, + { "2F901", "16D77" }, + { "2F902", "16D41" }, + { "2F903", "16D69" }, + { "2F904", "16D78" }, + { "2F905", "16D85" }, + { "2F906", "123D1E" }, + { "2F907", "16D34" }, + { "2F908", "16E2F" }, + { "2F909", "16E6E" }, + { "2F90A", "13D33" }, + { "2F90B", "16ECB" }, + { "2F90C", "16EC7" }, + { "2F90D", "123ED1" }, + { "2F90E", "16DF9" }, + { "2F90F", "16F6E" }, + { "2F910", "123F5E" }, + { "2F911", "123F8E" }, + { "2F912", "16FC6" }, + { "2F913", "17039" }, + { "2F914", "1701E" }, + { "2F915", "1701B" }, + { "2F916", "13D96" }, + { "2F917", "1704A" }, + { "2F918", "1707D" }, + { "2F919", "17077" }, + { "2F91A", "170AD" }, + { "2F91B", "120525" }, + { "2F91C", "17145" }, + { "2F91D", "124263" }, + { "2F91E", "1719C" }, + { "2F91F", "143AB" }, + { "2F920", "17228" }, + { "2F921", "17235" }, + { "2F922", "17250" }, + { "2F923", "124608" }, + { "2F924", "17280" }, + { "2F925", "17295" }, + { "2F926", "124735" }, + { "2F927", "124814" }, + { "2F928", "1737A" }, + { "2F929", "1738B" }, + { "2F92A", "13EAC" }, + { "2F92B", "173A5" }, + { "2F92C", "13EB8" }, + { "2F92D", "13EB8" }, + { "2F92E", "17447" }, + { "2F92F", "1745C" }, + { "2F930", "17471" }, + { "2F931", "17485" }, + { "2F932", "174CA" }, + { "2F933", "13F1B" }, + { "2F934", "17524" }, + { "2F935", "124C36" }, + { "2F936", "1753E" }, + { "2F937", "124C92" }, + { "2F938", "17570" }, + { "2F939", "12219F" }, + { "2F93A", "17610" }, + { "2F93B", "124FA1" }, + { "2F93C", "124FB8" }, + { "2F93D", "125044" }, + { "2F93E", "13FFC" }, + { "2F93F", "14008" }, + { "2F940", "176F4" }, + { "2F941", "1250F3" }, + { "2F942", "1250F2" }, + { "2F943", "125119" }, + { "2F944", "125133" }, + { "2F945", "1771E" }, + { "2F946", "1771F" }, + { "2F947", "1771F" }, + { "2F948", "1774A" }, + { "2F949", "14039" }, + { "2F94A", "1778B" }, + { "2F94B", "14046" }, + { "2F94C", "14096" }, + { "2F94D", "12541D" }, + { "2F94E", "1784E" }, + { "2F94F", "1788C" }, + { "2F950", "178CC" }, + { "2F951", "140E3" }, + { "2F952", "125626" }, + { "2F953", "17956" }, + { "2F954", "12569A" }, + { "2F955", "1256C5" }, + { "2F956", "1798F" }, + { "2F957", "179EB" }, + { "2F958", "1412F" }, + { "2F959", "17A40" }, + { "2F95A", "17A4A" }, + { "2F95B", "17A4F" }, + { "2F95C", "12597C" }, + { "2F95D", "125AA7" }, + { "2F95E", "125AA7" }, + { "2F95F", "17AAE" }, + { "2F960", "14202" }, + { "2F961", "125BAB" }, + { "2F962", "17BC6" }, + { "2F963", "17BC9" }, + { "2F964", "14227" }, + { "2F965", "125C80" }, + { "2F966", "17CD2" }, + { "2F967", "142A0" }, + { "2F968", "17CE8" }, + { "2F969", "17CE3" }, + { "2F96A", "17D00" }, + { "2F96B", "125F86" }, + { "2F96C", "17D63" }, + { "2F96D", "14301" }, + { "2F96E", "17DC7" }, + { "2F96F", "17E02" }, + { "2F970", "17E45" }, + { "2F971", "14334" }, + { "2F972", "126228" }, + { "2F973", "126247" }, + { "2F974", "14359" }, + { "2F975", "1262D9" }, + { "2F976", "17F7A" }, + { "2F977", "12633E" }, + { "2F978", "17F95" }, + { "2F979", "17FFA" }, + { "2F97A", "18005" }, + { "2F97B", "1264DA" }, + { "2F97C", "126523" }, + { "2F97D", "18060" }, + { "2F97E", "1265A8" }, + { "2F97F", "18070" }, + { "2F980", "12335F" }, + { "2F981", "143D5" }, + { "2F982", "180B2" }, + { "2F983", "18103" }, + { "2F984", "1440B" }, + { "2F985", "1813E" }, + { "2F986", "15AB5" }, + { "2F987", "1267A7" }, + { "2F988", "1267B5" }, + { "2F989", "123393" }, + { "2F98A", "12339C" }, + { "2F98B", "18201" }, + { "2F98C", "18204" }, + { "2F98D", "18F9E" }, + { "2F98E", "1446B" }, + { "2F98F", "18291" }, + { "2F990", "1828B" }, + { "2F991", "1829D" }, + { "2F992", "152B3" }, + { "2F993", "182B1" }, + { "2F994", "182B3" }, + { "2F995", "182BD" }, + { "2F996", "182E6" }, + { "2F997", "126B3C" }, + { "2F998", "182E5" }, + { "2F999", "1831D" }, + { "2F99A", "18363" }, + { "2F99B", "183AD" }, + { "2F99C", "18323" }, + { "2F99D", "183BD" }, + { "2F99E", "183E7" }, + { "2F99F", "18457" }, + { "2F9A0", "18353" }, + { "2F9A1", "183CA" }, + { "2F9A2", "183CC" }, + { "2F9A3", "183DC" }, + { "2F9A4", "126C36" }, + { "2F9A5", "126D6B" }, + { "2F9A6", "126CD5" }, + { "2F9A7", "1452B" }, + { "2F9A8", "184F1" }, + { "2F9A9", "184F3" }, + { "2F9AA", "18516" }, + { "2F9AB", "1273CA" }, + { "2F9AC", "18564" }, + { "2F9AD", "126F2C" }, + { "2F9AE", "1455D" }, + { "2F9AF", "14561" }, + { "2F9B0", "126FB1" }, + { "2F9B1", "1270D2" }, + { "2F9B2", "1456B" }, + { "2F9B3", "18650" }, + { "2F9B4", "1865C" }, + { "2F9B5", "18667" }, + { "2F9B6", "18669" }, + { "2F9B7", "186A9" }, + { "2F9B8", "18688" }, + { "2F9B9", "1870E" }, + { "2F9BA", "186E2" }, + { "2F9BB", "18779" }, + { "2F9BC", "18728" }, + { "2F9BD", "1876B" }, + { "2F9BE", "18786" }, + { "2F9BF", "14D57" }, + { "2F9C0", "187E1" }, + { "2F9C1", "18801" }, + { "2F9C2", "145F9" }, + { "2F9C3", "18860" }, + { "2F9C4", "18863" }, + { "2F9C5", "127667" }, + { "2F9C6", "188D7" }, + { "2F9C7", "188DE" }, + { "2F9C8", "14635" }, + { "2F9C9", "188FA" }, + { "2F9CA", "134BB" }, + { "2F9CB", "1278AE" }, + { "2F9CC", "127966" }, + { "2F9CD", "146BE" }, + { "2F9CE", "146C7" }, + { "2F9CF", "18AA0" }, + { "2F9D0", "18AED" }, + { "2F9D1", "18B8A" }, + { "2F9D2", "18C55" }, + { "2F9D3", "127CA8" }, + { "2F9D4", "18CAB" }, + { "2F9D5", "18CC1" }, + { "2F9D6", "18D1B" }, + { "2F9D7", "18D77" }, + { "2F9D8", "127F2F" }, + { "2F9D9", "120804" }, + { "2F9DA", "18DCB" }, + { "2F9DB", "18DBC" }, + { "2F9DC", "18DF0" }, + { "2F9DD", "1208DE" }, + { "2F9DE", "18ED4" }, + { "2F9DF", "18F38" }, + { "2F9E0", "1285D2" }, + { "2F9E1", "1285ED" }, + { "2F9E2", "19094" }, + { "2F9E3", "190F1" }, + { "2F9E4", "19111" }, + { "2F9E5", "12872E" }, + { "2F9E6", "1911B" }, + { "2F9E7", "19238" }, + { "2F9E8", "192D7" }, + { "2F9E9", "192D8" }, + { "2F9EA", "1927C" }, + { "2F9EB", "193F9" }, + { "2F9EC", "19415" }, + { "2F9ED", "128BFA" }, + { "2F9EE", "1958B" }, + { "2F9EF", "14995" }, + { "2F9F0", "195B7" }, + { "2F9F1", "128D77" }, + { "2F9F2", "149E6" }, + { "2F9F3", "196C3" }, + { "2F9F4", "15DB2" }, + { "2F9F5", "19723" }, + { "2F9F6", "129145" }, + { "2F9F7", "12921A" }, + { "2F9F8", "14A6E" }, + { "2F9F9", "14A76" }, + { "2F9FA", "197E0" }, + { "2F9FB", "12940A" }, + { "2F9FC", "14AB2" }, + { "2F9FD", "129496" }, + { "2F9FE", "1980B" }, + { "2F9FF", "1980B" }, + { "2FA00", "19829" }, + { "2FA01", "1295B6" }, + { "2FA02", "198E2" }, + { "2FA03", "14B33" }, + { "2FA04", "19929" }, + { "2FA05", "199A7" }, + { "2FA06", "199C2" }, + { "2FA07", "199FE" }, + { "2FA08", "14BCE" }, + { "2FA09", "129B30" }, + { "2FA0A", "19B12" }, + { "2FA0B", "19C40" }, + { "2FA0C", "19CFD" }, + { "2FA0D", "14CCE" }, + { "2FA0E", "14CED" }, + { "2FA0F", "19D67" }, + { "2FA10", "12A0CE" }, + { "2FA11", "14CF8" }, + { "2FA12", "12A105" }, + { "2FA13", "12A20E" }, + { "2FA14", "12A291" }, + { "2FA15", "19EBB" }, + { "2FA16", "14D56" }, + { "2FA17", "19EF9" }, + { "2FA18", "19EFE" }, + { "2FA19", "19F05" }, + { "2FA1A", "19F0F" }, + { "2FA1B", "19F16" }, + { "2FA1C", "19F3B" }, + { "2FA1D", "12A600" }, +}; + +// global constructor + +static struct unicode_decompose_init { + unicode_decompose_init(); +} _unicode_decompose_init; + +unicode_decompose_init::unicode_decompose_init() { + for (unsigned int i = 0; + i < sizeof(unicode_decompose_list)/sizeof(unicode_decompose_list[0]); + i++) { + unicode_decompose *dec = new unicode_decompose[1]; + dec->value = (char *)unicode_decompose_list[i].value; + unicode_decompose_table.define(unicode_decompose_list[i].key, dec); + } +} + +const char *decompose_unicode(const char *s) +{ + unicode_decompose *result = unicode_decompose_table.lookup(s); + return result ? result->value : 0; +} diff -ruN groff-1.19/src/preproc/eqn/Makefile.sub groff-1.19.1/src/preproc/eqn/Makefile.sub --- groff-1.19/src/preproc/eqn/Makefile.sub Sat Apr 12 15:52:47 2003 +++ groff-1.19.1/src/preproc/eqn/Makefile.sub Tue Apr 6 16:17:39 2004 @@ -44,11 +44,10 @@ all: neqn -neqn: neqn.sh +neqn: neqn.sh $(SH_DEPS_SED_SCRIPT) -rm -f $@ sed -e 's/@g@/$(g)/g' \ - -e 's|@BINDIR@|$(bindir)|g' \ - -e 's|@SEP@|$(SEP)|g' \ + -f $(SH_DEPS_SED_SCRIPT) \ -e $(SH_SCRIPT_SED_CMD) $(srcdir)/neqn.sh >$@ chmod +x $@ diff -ruN groff-1.19/src/preproc/eqn/box.cpp groff-1.19.1/src/preproc/eqn/box.cpp --- groff-1.19/src/preproc/eqn/box.cpp Thu Apr 4 16:04:45 2002 +++ groff-1.19.1/src/preproc/eqn/box.cpp Thu Apr 8 16:22:28 2004 @@ -1,5 +1,6 @@ // -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992, 2002 Free Software Foundation, Inc. +/* Copyright (C) 1989, 1990, 1991, 1992, 2002, 2004 + Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) This file is part of groff. @@ -80,7 +81,7 @@ int nroff = 0; // should we grok ndefine or tdefine? -struct { +struct S { const char *name; int *ptr; } param_table[] = { diff -ruN groff-1.19/src/preproc/eqn/box.h groff-1.19.1/src/preproc/eqn/box.h --- groff-1.19/src/preproc/eqn/box.h Sun Feb 6 10:37:57 2000 +++ groff-1.19.1/src/preproc/eqn/box.h Sat Apr 17 07:23:30 2004 @@ -1,5 +1,5 @@ // -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992 Free Software Foundation, Inc. +/* Copyright (C) 1989, 1990, 1991, 1992, 2004 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) This file is part of groff. @@ -18,7 +18,7 @@ with groff; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -struct list_box; +class list_box; class box { private: @@ -238,9 +238,6 @@ }; box *split_text(char *); -box *make_script_box(box *, box *, box *); -box *make_mark_box(box *); -box *make_lineup_box(box *); box *make_delim_box(char *, box *, char *); box *make_sqrt_box(box *); box *make_prime_box(box *); diff -ruN groff-1.19/src/preproc/eqn/eqn.cpp groff-1.19.1/src/preproc/eqn/eqn.cpp --- groff-1.19/src/preproc/eqn/eqn.cpp Tue Apr 29 15:37:35 2003 +++ groff-1.19.1/src/preproc/eqn/eqn.cpp Thu May 13 15:31:42 2004 @@ -16,10 +16,9 @@ #include "lib.h" #include "box.h" extern int non_empty_flag; -char *strsave(const char *); int yylex(); void yyerror(const char *); -#line 32 "eqn.y" +#line 31 "eqn.y" typedef union { char *str; box *b; @@ -28,7 +27,7 @@ int n; column *col; } YYSTYPE; -#line 32 "y.tab.c" +#line 31 "y.tab.c" #define OVER 257 #define SMALLOVER 258 #define SQRT 259 @@ -809,15 +808,15 @@ switch (yyn) { case 2: -#line 126 "eqn.y" +#line 125 "eqn.y" { yyvsp[0].b->top_level(); non_empty_flag = 1; } break; case 3: -#line 131 "eqn.y" +#line 130 "eqn.y" { yyval.b = yyvsp[0].b; } break; case 4: -#line 133 "eqn.y" +#line 132 "eqn.y" { list_box *lb = yyvsp[-1].b->to_list_box(); if (!lb) @@ -827,207 +826,207 @@ } break; case 5: -#line 144 "eqn.y" +#line 143 "eqn.y" { yyval.b = yyvsp[0].b; } break; case 6: -#line 146 "eqn.y" +#line 145 "eqn.y" { yyval.b = make_mark_box(yyvsp[0].b); } break; case 7: -#line 148 "eqn.y" +#line 147 "eqn.y" { yyval.b = make_lineup_box(yyvsp[0].b); } break; case 8: -#line 153 "eqn.y" +#line 152 "eqn.y" { yyval.b = yyvsp[0].b; } break; case 9: -#line 155 "eqn.y" +#line 154 "eqn.y" { yyval.b = make_limit_box(yyvsp[-2].b, 0, yyvsp[0].b); } break; case 10: -#line 157 "eqn.y" +#line 156 "eqn.y" { yyval.b = make_limit_box(yyvsp[-2].b, yyvsp[0].b, 0); } break; case 11: -#line 159 "eqn.y" +#line 158 "eqn.y" { yyval.b = make_limit_box(yyvsp[-4].b, yyvsp[-2].b, yyvsp[0].b); } break; case 12: -#line 161 "eqn.y" +#line 160 "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 "eqn.y" +#line 165 "eqn.y" { yyval.b = yyvsp[0].b; } break; case 14: -#line 168 "eqn.y" +#line 167 "eqn.y" { yyval.b = make_sqrt_box(yyvsp[0].b); } break; case 15: -#line 170 "eqn.y" +#line 169 "eqn.y" { yyval.b = make_over_box(yyvsp[-2].b, yyvsp[0].b); } break; case 16: -#line 172 "eqn.y" +#line 171 "eqn.y" { yyval.b = make_small_over_box(yyvsp[-2].b, yyvsp[0].b); } break; case 17: -#line 177 "eqn.y" +#line 176 "eqn.y" { yyval.b = yyvsp[0].b; } break; case 18: -#line 179 "eqn.y" +#line 178 "eqn.y" { yyval.b = make_script_box(yyvsp[-2].b, 0, yyvsp[0].b); } break; case 19: -#line 184 "eqn.y" +#line 183 "eqn.y" { yyval.b = yyvsp[0].b; } break; case 20: -#line 186 "eqn.y" +#line 185 "eqn.y" { yyval.b = make_script_box(yyvsp[-2].b, yyvsp[0].b, 0); } break; case 21: -#line 188 "eqn.y" +#line 187 "eqn.y" { yyval.b = make_script_box(yyvsp[-4].b, yyvsp[-2].b, yyvsp[0].b); } break; case 22: -#line 193 "eqn.y" +#line 192 "eqn.y" { yyval.b = split_text(yyvsp[0].str); } break; case 23: -#line 195 "eqn.y" +#line 194 "eqn.y" { yyval.b = new quoted_text_box(yyvsp[0].str); } break; case 24: -#line 197 "eqn.y" +#line 196 "eqn.y" { yyval.b = split_text(yyvsp[0].str); } break; case 25: -#line 199 "eqn.y" +#line 198 "eqn.y" { yyval.b = new quoted_text_box(yyvsp[0].str); } break; case 26: -#line 201 "eqn.y" +#line 200 "eqn.y" { yyval.b = new half_space_box; } break; case 27: -#line 203 "eqn.y" +#line 202 "eqn.y" { yyval.b = new space_box; } break; case 28: -#line 205 "eqn.y" +#line 204 "eqn.y" { yyval.b = new tab_box; } break; case 29: -#line 207 "eqn.y" +#line 206 "eqn.y" { yyval.b = yyvsp[-1].b; } break; case 30: -#line 209 "eqn.y" +#line 208 "eqn.y" { yyvsp[0].pb->set_alignment(CENTER_ALIGN); yyval.b = yyvsp[0].pb; } break; case 31: -#line 211 "eqn.y" +#line 210 "eqn.y" { yyvsp[0].pb->set_alignment(LEFT_ALIGN); yyval.b = yyvsp[0].pb; } break; case 32: -#line 213 "eqn.y" +#line 212 "eqn.y" { yyvsp[0].pb->set_alignment(RIGHT_ALIGN); yyval.b = yyvsp[0].pb; } break; case 33: -#line 215 "eqn.y" +#line 214 "eqn.y" { yyvsp[0].pb->set_alignment(CENTER_ALIGN); yyval.b = yyvsp[0].pb; } break; case 34: -#line 217 "eqn.y" +#line 216 "eqn.y" { yyval.b = yyvsp[-1].mb; } break; case 35: -#line 219 "eqn.y" +#line 218 "eqn.y" { yyval.b = make_delim_box(yyvsp[-3].str, yyvsp[-2].b, yyvsp[0].str); } break; case 36: -#line 221 "eqn.y" +#line 220 "eqn.y" { yyval.b = make_delim_box(yyvsp[-1].str, yyvsp[0].b, 0); } break; case 37: -#line 223 "eqn.y" +#line 222 "eqn.y" { yyval.b = make_overline_box(yyvsp[-1].b); } break; case 38: -#line 225 "eqn.y" +#line 224 "eqn.y" { yyval.b = make_underline_box(yyvsp[-1].b); } break; case 39: -#line 227 "eqn.y" +#line 226 "eqn.y" { yyval.b = make_prime_box(yyvsp[-1].b); } break; case 40: -#line 229 "eqn.y" +#line 228 "eqn.y" { yyval.b = make_accent_box(yyvsp[-2].b, yyvsp[0].b); } break; case 41: -#line 231 "eqn.y" +#line 230 "eqn.y" { yyval.b = make_uaccent_box(yyvsp[-2].b, yyvsp[0].b); } break; case 42: -#line 233 "eqn.y" +#line 232 "eqn.y" { yyval.b = new font_box(strsave(get_grfont()), yyvsp[0].b); } break; case 43: -#line 235 "eqn.y" +#line 234 "eqn.y" { yyval.b = new font_box(strsave(get_gbfont()), yyvsp[0].b); } break; case 44: -#line 237 "eqn.y" +#line 236 "eqn.y" { yyval.b = new font_box(strsave(get_gfont()), yyvsp[0].b); } break; case 45: -#line 239 "eqn.y" +#line 238 "eqn.y" { yyval.b = new fat_box(yyvsp[0].b); } break; case 46: -#line 241 "eqn.y" +#line 240 "eqn.y" { yyval.b = new font_box(yyvsp[-1].str, yyvsp[0].b); } break; case 47: -#line 243 "eqn.y" +#line 242 "eqn.y" { yyval.b = new size_box(yyvsp[-1].str, yyvsp[0].b); } break; case 48: -#line 245 "eqn.y" +#line 244 "eqn.y" { yyval.b = new hmotion_box(yyvsp[-1].n, yyvsp[0].b); } break; case 49: -#line 247 "eqn.y" +#line 246 "eqn.y" { yyval.b = new hmotion_box(-yyvsp[-1].n, yyvsp[0].b); } break; case 50: -#line 249 "eqn.y" +#line 248 "eqn.y" { yyval.b = new vmotion_box(yyvsp[-1].n, yyvsp[0].b); } break; case 51: -#line 251 "eqn.y" +#line 250 "eqn.y" { yyval.b = new vmotion_box(-yyvsp[-1].n, yyvsp[0].b); } break; case 52: -#line 253 "eqn.y" +#line 252 "eqn.y" { yyvsp[0].b->set_spacing_type(yyvsp[-1].str); yyval.b = yyvsp[0].b; } break; case 53: -#line 255 "eqn.y" +#line 254 "eqn.y" { yyval.b = new vcenter_box(yyvsp[0].b); } break; case 54: -#line 257 "eqn.y" +#line 256 "eqn.y" { yyval.b = make_special_box(yyvsp[-1].str, yyvsp[0].b); } break; case 55: -#line 262 "eqn.y" +#line 261 "eqn.y" { int n; if (sscanf(yyvsp[0].str, "%d", &n) == 1) @@ -1036,82 +1035,82 @@ } break; case 56: -#line 272 "eqn.y" +#line 271 "eqn.y" { yyval.pb = new pile_box(yyvsp[0].b); } break; case 57: -#line 274 "eqn.y" +#line 273 "eqn.y" { yyvsp[-2].pb->append(yyvsp[0].b); yyval.pb = yyvsp[-2].pb; } break; case 58: -#line 279 "eqn.y" +#line 278 "eqn.y" { yyval.pb = yyvsp[-1].pb; } break; case 59: -#line 281 "eqn.y" +#line 280 "eqn.y" { yyvsp[-1].pb->set_space(yyvsp[-3].n); yyval.pb = yyvsp[-1].pb; } break; case 60: -#line 286 "eqn.y" +#line 285 "eqn.y" { yyval.mb = new matrix_box(yyvsp[0].col); } break; case 61: -#line 288 "eqn.y" +#line 287 "eqn.y" { yyvsp[-1].mb->append(yyvsp[0].col); yyval.mb = yyvsp[-1].mb; } break; case 62: -#line 293 "eqn.y" +#line 292 "eqn.y" { yyval.col = new column(yyvsp[0].b); } break; case 63: -#line 295 "eqn.y" +#line 294 "eqn.y" { yyvsp[-2].col->append(yyvsp[0].b); yyval.col = yyvsp[-2].col; } break; case 64: -#line 300 "eqn.y" +#line 299 "eqn.y" { yyval.col = yyvsp[-1].col; } break; case 65: -#line 302 "eqn.y" +#line 301 "eqn.y" { yyvsp[-1].col->set_space(yyvsp[-3].n); yyval.col = yyvsp[-1].col; } break; case 66: -#line 307 "eqn.y" +#line 306 "eqn.y" { yyvsp[0].col->set_alignment(CENTER_ALIGN); yyval.col = yyvsp[0].col; } break; case 67: -#line 309 "eqn.y" +#line 308 "eqn.y" { yyvsp[0].col->set_alignment(LEFT_ALIGN); yyval.col = yyvsp[0].col; } break; case 68: -#line 311 "eqn.y" +#line 310 "eqn.y" { yyvsp[0].col->set_alignment(RIGHT_ALIGN); yyval.col = yyvsp[0].col; } break; case 69: -#line 313 "eqn.y" +#line 312 "eqn.y" { yyvsp[0].col->set_alignment(CENTER_ALIGN); yyval.col = yyvsp[0].col; } break; case 70: -#line 317 "eqn.y" +#line 316 "eqn.y" { yyval.str = yyvsp[0].str; } break; case 71: -#line 319 "eqn.y" +#line 318 "eqn.y" { yyval.str = yyvsp[0].str; } break; case 72: -#line 324 "eqn.y" +#line 323 "eqn.y" { yyval.str = yyvsp[0].str; } break; case 73: -#line 326 "eqn.y" +#line 325 "eqn.y" { yyval.str = strsave("{"); } break; case 74: -#line 328 "eqn.y" +#line 327 "eqn.y" { yyval.str = strsave("}"); } break; -#line 1115 "y.tab.c" +#line 1114 "y.tab.c" } yyssp -= yym; yystate = *yyssp; diff -ruN groff-1.19/src/preproc/eqn/eqn.y groff-1.19.1/src/preproc/eqn/eqn.y --- groff-1.19/src/preproc/eqn/eqn.y Sun Feb 6 10:38:01 2000 +++ groff-1.19.1/src/preproc/eqn/eqn.y Wed Apr 7 17:36:41 2004 @@ -1,4 +1,4 @@ -/* Copyright (C) 1989, 1990, 1991, 1992 Free Software Foundation, Inc. +/* Copyright (C) 1989, 1990, 1991, 1992, 2004 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) This file is part of groff. @@ -24,7 +24,6 @@ #include "lib.h" #include "box.h" extern int non_empty_flag; -char *strsave(const char *); int yylex(); void yyerror(const char *); %} diff -ruN groff-1.19/src/preproc/eqn/neqn.sh groff-1.19.1/src/preproc/eqn/neqn.sh --- groff-1.19/src/preproc/eqn/neqn.sh Tue Jan 28 09:41:02 2003 +++ groff-1.19.1/src/preproc/eqn/neqn.sh Tue Apr 6 16:02:49 2004 @@ -2,8 +2,8 @@ # Provision of this shell script should not be taken to imply that use of # GNU eqn with groff -Tascii|-Tlatin1|-Tutf8|-Tcp1047 is supported. -: ${GROFF_BIN_PATH=@BINDIR@} -PATH=$GROFF_BIN_PATH@SEP@$PATH +@GROFF_BIN_PATH_SETUP@ +PATH="$GROFF_RUNTIME$PATH" export PATH exec @g@eqn -Tascii ${1+"$@"} diff -ruN groff-1.19/src/preproc/eqn/pile.cpp groff-1.19.1/src/preproc/eqn/pile.cpp --- groff-1.19/src/preproc/eqn/pile.cpp Sun Feb 6 10:38:05 2000 +++ groff-1.19.1/src/preproc/eqn/pile.cpp Wed Apr 7 17:41:34 2004 @@ -1,5 +1,5 @@ // -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992 Free Software Foundation, Inc. +/* Copyright (C) 1989, 1990, 1991, 1992, 2004 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) This file is part of groff. @@ -114,13 +114,13 @@ int matrix_box::compute_metrics(int style) { int i, j; - int maxlen = 0; + int max_len = 0; int space = 0; for (i = 0; i < len; i++) { for (j = 0; j < p[i]->len; j++) p[i]->p[j]->compute_metrics(style); - if (p[i]->len > maxlen) - maxlen = p[i]->len; + if (p[i]->len > max_len) + max_len = p[i]->len; if (p[i]->space > space) space = p[i]->space; } @@ -145,7 +145,7 @@ printf("/\\n(.V+(\\n(.V/2)*\\n(.V\n"); printf(".nr " SUP_RAISE_FORMAT " \\n[" BASELINE_SEP_FORMAT "]*%d/2" "+%dM\n", - uid, uid, maxlen-1, axis_height - shift_down); + uid, uid, max_len-1, axis_height - shift_down); printf(".nr " HEIGHT_FORMAT " 0\\n[" SUP_RAISE_FORMAT "]+(0", uid, uid); for (i = 0; i < len; i++) @@ -153,10 +153,10 @@ printf(")>?0\n"); printf(".nr " DEPTH_FORMAT " \\n[" BASELINE_SEP_FORMAT "]*%d-\\n[" SUP_RAISE_FORMAT "]+(0", - uid, uid, maxlen-1, uid); + uid, uid, max_len-1, uid); for (i = 0; i < len; i++) - if (p[i]->len == maxlen) - printf(">?\\n[" DEPTH_FORMAT "]", p[i]->p[maxlen-1]->uid); + if (p[i]->len == max_len) + printf(">?\\n[" DEPTH_FORMAT "]", p[i]->p[max_len-1]->uid); printf(")>?0\n"); return FOUND_NOTHING; } diff -ruN groff-1.19/src/preproc/eqn/script.cpp groff-1.19.1/src/preproc/eqn/script.cpp --- groff-1.19/src/preproc/eqn/script.cpp Thu Apr 4 16:04:45 2002 +++ groff-1.19.1/src/preproc/eqn/script.cpp Wed Apr 7 17:40:07 2004 @@ -1,5 +1,6 @@ // -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992, 2002 Free Software Foundation, Inc. +/* Copyright (C) 1989, 1990, 1991, 1992, 2002, 2004 + Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) This file is part of groff. @@ -103,20 +104,20 @@ else { // sup != 0 // 18c - int p; + int pos; if (style == DISPLAY_STYLE) - p = sup1; + pos = sup1; else if (style & 1) // not cramped - p = sup2; + pos = sup2; else - p = sup3; + pos = sup3; printf(".nr " SUP_RAISE_FORMAT " \\n[" SUP_RAISE_FORMAT "]>?%dM>?(\\n[" DEPTH_FORMAT "]+(%dM/4))\n", - uid, uid, p, sup->uid, x_height); + uid, uid, pos, sup->uid, x_height); // 18d if (sub != 0) { printf(".nr " SUB_LOWER_FORMAT " \\n[" SUB_LOWER_FORMAT "]>?%dM\n", - uid, uid, sub2); + uid, uid, sub2); // 18e printf(".nr " TEMP_REG " \\n[" DEPTH_FORMAT "]-\\n[" SUP_RAISE_FORMAT "]+\\n[" HEIGHT_FORMAT "]-\\n[" diff -ruN groff-1.19/src/preproc/grn/gprint.h groff-1.19.1/src/preproc/grn/gprint.h --- groff-1.19/src/preproc/grn/gprint.h Mon Oct 7 06:36:15 2002 +++ groff-1.19.1/src/preproc/grn/gprint.h Sat Apr 17 07:25:00 2004 @@ -66,7 +66,7 @@ #define MOD 3 typedef struct point { - float x, y; + double x, y; struct point *nextpt; } POINT; diff -ruN groff-1.19/src/preproc/grn/grn.man groff-1.19.1/src/preproc/grn/grn.man --- groff-1.19/src/preproc/grn/grn.man Mon Oct 7 06:53:55 2002 +++ groff-1.19.1/src/preproc/grn/grn.man Fri Jul 18 09:36:42 2003 @@ -1,6 +1,6 @@ '\" t .ig -Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc. +Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice @@ -17,17 +17,24 @@ translations approved by the Free Software Foundation instead of in the original English. .. +. +.do nr grn_C \n[.C] +.cp 0 +. .de TQ -.br -.ns -.TP \\$1 +. br +. ns +. TP \\$1 .. +. .\" 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" +. ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP +. el .TP "\\$1" .. +. +. .TH @G@GRN @MAN1EXT@ "@MDATE@" "Groff Version @VERSION@" .SH NAME @g@grn \- groff preprocessor for gremlin files @@ -634,6 +641,8 @@ .PP Daniel Senderowicz and Werner Lemberg modified it for .IR groff . +. +.cp \n[grn_C] . .\" Local Variables: .\" mode: nroff diff -ruN groff-1.19/src/preproc/grn/hdb.cpp groff-1.19.1/src/preproc/grn/hdb.cpp --- groff-1.19/src/preproc/grn/hdb.cpp Sat Apr 12 16:00:19 2003 +++ groff-1.19.1/src/preproc/grn/hdb.cpp Sun Apr 18 13:09:44 2004 @@ -1,4 +1,4 @@ -/* Last non-groff version: hdb.c 1.8 (Berkeley) 84/10/20 + /* Last non-groff version: hdb.c 1.8 (Berkeley) 84/10/20 * * Copyright -C- 1982 Barry S. Roitblat * @@ -22,12 +22,12 @@ extern int linenum; /* current line number in input file */ extern char gremlinfile[]; /* name of file currently reading */ extern int SUNFILE; /* TRUE if SUN gremlin file */ -extern void savebounds(float x, float y); +extern void savebounds(double x, double y); /* imports from hpoint.cpp */ extern POINT *PTInit(); -extern POINT *PTMakePoint(float x, float y, POINT ** pplist); +extern POINT *PTMakePoint(double x, double y, POINT ** pplist); int DBGetType(register char *s); @@ -79,12 +79,12 @@ { register int i; register int done; /* flag for input exhausted */ - register float nx; /* x holder so x is not set before orienting */ + register double nx; /* x holder so x is not set before orienting */ int type; /* element type */ ELT *elist; /* pointer to the file's elements */ POINT *plist; /* pointer for reading in points */ char string[MAXSTRING], *txt; - float x, y; /* x and y are read in point coords */ + double x, y; /* x and y are read in point coords */ int len, brush, size; int lastpoint; @@ -99,7 +99,7 @@ SUNFILE = TRUE; } - (void) fscanf(file, "%d%f%f\n", &size, &x, &y); + (void) fscanf(file, "%d%lf%lf\n", &size, &x, &y); /* ignore orientation and file positioning point */ done = FALSE; @@ -115,12 +115,11 @@ type = DBGetType(string); /* interpret element type */ if (type < 0) { /* no more data */ done = TRUE; - (void) fclose(file); } else { #ifdef UW_FASTSCAN (void) xscanf(file, &x, &y); /* always one point */ #else - (void) fscanf(file, "%f%f\n", &x, &y); /* always one point */ + (void) fscanf(file, "%lf%lf\n", &x, &y); /* always one point */ #endif /* UW_FASTSCAN */ plist = PTInit(); /* NULL point list */ @@ -144,7 +143,7 @@ if (string[0] == '*') { /* SUN gremlin file */ lastpoint = TRUE; } else { - (void) sscanf(string, "%f%f", &x, &y); + (void) sscanf(string, "%lf%lf", &x, &y); if ((x == -1.00 && y == -1.00) && (!SUNFILE)) lastpoint = TRUE; } @@ -170,7 +169,7 @@ if (string[0] == '*') { /* SUN gremlin file */ lastpoint = TRUE; } else { - (void) sscanf(string, "%f%f", &x, &y); + (void) sscanf(string, "%lf%lf", &x, &y); if ((x == -1.00 && y == -1.00) && (!SUNFILE)) lastpoint = TRUE; } @@ -182,7 +181,10 @@ (void) getc(file); /* eat blank */ txt = (char *) malloc((unsigned) len + 1); for (i = 0; i < len; ++i) { /* read text */ - txt[i] = getc(file); + int c = getc(file); + if (c == EOF) + break; + txt[i] = c; } txt[len] = '\0'; (void) DBCreateElt(type, plist, brush, size, txt, &elist); @@ -281,8 +283,8 @@ */ int xscanf(FILE *f, - float *xp, - float *yp) + double *xp, + double *yp) { register int c, i, j, m, frac; int iscale = 1, jscale = 1; /* x = i/scale, y=j/jscale */ diff -ruN groff-1.19/src/preproc/grn/hgraph.cpp groff-1.19.1/src/preproc/grn/hgraph.cpp --- groff-1.19/src/preproc/grn/hgraph.cpp Fri Feb 14 19:26:08 2003 +++ groff-1.19.1/src/preproc/grn/hgraph.cpp Sat Apr 17 07:27:22 2004 @@ -43,7 +43,7 @@ extern int ybottom; extern int xleft; extern int xright; -extern enum { +extern enum E { OUTLINE, FILL, BOTH } polyfill; @@ -62,17 +62,17 @@ void cr(); void drawwig(POINT * ptr, int type); void HGtline(int x1, int y1); -void dx(double x); -void dy(double y); +void deltax(double x); +void deltay(double y); void HGArc(register int cx, register int cy, int px, int py, int angle); void picurve(register int *x, register int *y, int npts); void HGCurve(int *x, int *y, int numpoints); -void Paramaterize(int x[], int y[], float h[], int n); -void PeriodicSpline(float h[], int z[], - float dz[], float d2z[], float d3z[], +void Paramaterize(int x[], int y[], double h[], int n); +void PeriodicSpline(double h[], int z[], + double dz[], double d2z[], double d3z[], int npoints); -void NaturalEndSpline(float h[], int z[], - float dz[], float d2z[], float d3z[], +void NaturalEndSpline(double h[], int z[], + double dz[], double d2z[], double d3z[], int npoints); @@ -166,8 +166,8 @@ * stipple fonts). * If polyfill=BOTH, just use the \D'p ...' command. */ - float firstx = p1->x; - float firsty = p1->y; + double firstx = p1->x; + double firsty = p1->y; length = 0; /* keep track of line length so */ /* single lines don't get long */ @@ -223,8 +223,8 @@ while (!Nullpoint((PTNextPoint(p1)))) { p1 = PTNextPoint(p1); - dx((double) p1->x); - dy((double) p1->y); + deltax((double) p1->x); + deltay((double) p1->y); if (length++ > LINELENGTH) { length = 0; printf("\\\n"); @@ -233,8 +233,8 @@ /* close polygon if not done so by user */ if ((firstx != p1->x) || (firsty != p1->y)) { - dx((double) firstx); - dy((double) firsty); + deltax((double) firstx); + deltay((double) firsty); } putchar('\''); cr(); @@ -412,7 +412,7 @@ /*----------------------------------------------------------------------------* - | Routine: dx (x_destination) + | Routine: deltax (x_destination) | | Results: Scales and outputs a number for delta x (with a leading | space) given `lastx' and x_destination. @@ -421,7 +421,7 @@ *----------------------------------------------------------------------------*/ void -dx(double x) +deltax(double x) { register int ix = (int) (x * troffscale); @@ -431,7 +431,7 @@ /*----------------------------------------------------------------------------* - | Routine: dy (y_destination) + | Routine: deltay (y_destination) | | Results: Scales and outputs a number for delta y (with a leading | space) given `lastyline' and y_destination. @@ -441,7 +441,7 @@ *----------------------------------------------------------------------------*/ void -dy(double y) +deltay(double y) { register int iy = (int) (y * troffscale); @@ -713,9 +713,9 @@ int *y, int numpoints) { - float h[MAXPOINTS], dx[MAXPOINTS], dy[MAXPOINTS]; - float d2x[MAXPOINTS], d2y[MAXPOINTS], d3x[MAXPOINTS], d3y[MAXPOINTS]; - float t, t2, t3; + double h[MAXPOINTS], dx[MAXPOINTS], dy[MAXPOINTS]; + double d2x[MAXPOINTS], d2y[MAXPOINTS], d3x[MAXPOINTS], d3y[MAXPOINTS]; + double t, t2, t3; register int j; register int k; register int nx; @@ -751,7 +751,7 @@ if ((x[j] == x[j + 1]) && (y[j] == y[j + 1])) continue; for (k = 0; k <= PointsPerInterval; ++k) { - t = (float) k *h[j] / (float) PointsPerInterval; + t = (double) k *h[j] / (double) PointsPerInterval; t2 = t * t; t3 = t * t * t; nx = x[j] + (int) (t * dx[j] + t2 * d2x[j] / 2 + t3 * d3x[j] / 6); @@ -779,14 +779,14 @@ void Paramaterize(int x[], int y[], - float h[], + double h[], int n) { register int dx; register int dy; register int i; register int j; - float u[MAXPOINTS]; + double u[MAXPOINTS]; for (i = 1; i <= n; ++i) { u[i] = 0; @@ -814,16 +814,16 @@ *----------------------------------------------------------------------------*/ void -PeriodicSpline(float h[], /* paramaterization */ +PeriodicSpline(double h[], /* paramaterization */ int z[], /* point list */ - float dz[], /* to return the 1st derivative */ - float d2z[], /* 2nd derivative */ - float d3z[], /* 3rd derivative */ + double dz[], /* to return the 1st derivative */ + double d2z[], /* 2nd derivative */ + double d3z[], /* 3rd derivative */ int npoints) /* number of valid points */ { - float d[MAXPOINTS]; - float deltaz[MAXPOINTS], a[MAXPOINTS], b[MAXPOINTS]; - float c[MAXPOINTS], r[MAXPOINTS], s[MAXPOINTS]; + double d[MAXPOINTS]; + double deltaz[MAXPOINTS], a[MAXPOINTS], b[MAXPOINTS]; + double c[MAXPOINTS], r[MAXPOINTS], s[MAXPOINTS]; int i; /* step 1 */ @@ -886,15 +886,15 @@ *----------------------------------------------------------------------------*/ void -NaturalEndSpline(float h[], /* parameterization */ +NaturalEndSpline(double h[], /* parameterization */ int z[], /* Point list */ - float dz[], /* to return the 1st derivative */ - float d2z[], /* 2nd derivative */ - float d3z[], /* 3rd derivative */ + double dz[], /* to return the 1st derivative */ + double d2z[], /* 2nd derivative */ + double d3z[], /* 3rd derivative */ int npoints) /* number of valid points */ { - float d[MAXPOINTS]; - float deltaz[MAXPOINTS], a[MAXPOINTS], b[MAXPOINTS]; + double d[MAXPOINTS]; + double deltaz[MAXPOINTS], a[MAXPOINTS], b[MAXPOINTS]; int i; /* step 1 */ @@ -970,11 +970,11 @@ *----------------------------------------------------------------------------*/ void -HGtline(int x1, - int y1) +HGtline(int x_1, + int y_1) { - register int x0 = lastx; - register int y0 = lasty; + register int x_0 = lastx; + register int y_0 = lasty; register int dx; register int dy; register int oldcoord; @@ -986,7 +986,7 @@ register int dotcounter; if (linmod == SOLID) { - line(x1, y1); + line(x_1, y_1); return; } @@ -995,11 +995,11 @@ xinc = 1; yinc = 1; - if ((dx = x1 - x0) < 0) { + if ((dx = x_1 - x_0) < 0) { xinc = -xinc; dx = -dx; } - if ((dy = y1 - y0) < 0) { + if ((dy = y_1 - y_0) < 0) { yinc = -yinc; dy = -dy; } @@ -1007,48 +1007,48 @@ res2 = 0; visible = 0; if (dx >= dy) { - oldcoord = y0; - while (x0 != x1) { - if ((x0 & dotcounter) && !visible) { - change(x0, y0, 0); + oldcoord = y_0; + while (x_0 != x_1) { + if ((x_0 & dotcounter) && !visible) { + change(x_0, y_0, 0); visible = 1; - } else if (visible && !(x0 & dotcounter)) { - change(x0 - xinc, oldcoord, 1); + } else if (visible && !(x_0 & dotcounter)) { + change(x_0 - xinc, oldcoord, 1); visible = 0; } if (res1 > res2) { - oldcoord = y0; + oldcoord = y_0; res2 += dx - res1; res1 = 0; - y0 += yinc; + y_0 += yinc; } res1 += dy; - x0 += xinc; + x_0 += xinc; } } else { - oldcoord = x0; - while (y0 != y1) { - if ((y0 & dotcounter) && !visible) { - change(x0, y0, 0); + oldcoord = x_0; + while (y_0 != y_1) { + if ((y_0 & dotcounter) && !visible) { + change(x_0, y_0, 0); visible = 1; - } else if (visible && !(y0 & dotcounter)) { - change(oldcoord, y0 - yinc, 1); + } else if (visible && !(y_0 & dotcounter)) { + change(oldcoord, y_0 - yinc, 1); visible = 0; } if (res1 > res2) { - oldcoord = x0; + oldcoord = x_0; res2 += dy - res1; res1 = 0; - x0 += xinc; + x_0 += xinc; } res1 += dx; - y0 += yinc; + y_0 += yinc; } } if (visible) - change(x1, y1, 1); + change(x_1, y_1, 1); else - change(x1, y1, 0); + change(x_1, y_1, 0); } /* EOF */ diff -ruN groff-1.19/src/preproc/grn/hpoint.cpp groff-1.19.1/src/preproc/grn/hpoint.cpp --- groff-1.19/src/preproc/grn/hpoint.cpp Sun Feb 20 21:52:48 2000 +++ groff-1.19.1/src/preproc/grn/hpoint.cpp Sat Apr 17 07:25:50 2004 @@ -24,26 +24,26 @@ * into the pointlist. */ POINT * -PTMakePoint(float x, - float y, +PTMakePoint(double x, + double y, POINT **pplist) { - register POINT *point; + register POINT *pt; - if (Nullpoint(point = *pplist)) { /* empty list */ + if (Nullpoint(pt = *pplist)) { /* empty list */ *pplist = (POINT *) malloc(sizeof(POINT)); - point = *pplist; + pt = *pplist; } else { - while (!Nullpoint(point->nextpt)) - point = point->nextpt; - point->nextpt = (POINT *) malloc(sizeof(POINT)); - point = point->nextpt; + while (!Nullpoint(pt->nextpt)) + pt = pt->nextpt; + pt->nextpt = (POINT *) malloc(sizeof(POINT)); + pt = pt->nextpt; } - point->x = x; - point->y = y; - point->nextpt = PTInit(); - return (point); + pt->x = x; + pt->y = y; + pt->nextpt = PTInit(); + return (pt); } /* end PTMakePoint */ /* EOF */ diff -ruN groff-1.19/src/preproc/grn/main.cpp groff-1.19.1/src/preproc/grn/main.cpp --- groff-1.19/src/preproc/grn/main.cpp Sat Apr 12 16:00:28 2003 +++ groff-1.19.1/src/preproc/grn/main.cpp Sat Apr 17 07:28:40 2004 @@ -90,7 +90,7 @@ extern ELT *DBInit(); extern ELT *DBRead(register FILE *file); extern POINT *PTInit(); -extern POINT *PTMakePoint(float x, float y, POINT **pplist); +extern POINT *PTMakePoint(double x, double y, POINT **pplist); #define SUN_SCALEFACTOR 0.70 @@ -125,7 +125,7 @@ /* `default' command and are reset each time the */ /* start of a picture (.GS) is found. */ -char *deffont[] = +const char *deffont[] = {"R", "I", "B", "S"}; int defsize[] = {10, 16, 24, 36}; @@ -160,7 +160,7 @@ double scale = 1.0; /* no scaling, default */ int defpoint = 0; /* flag for pointsize scaling */ char *defstipple = (char *) 0; -enum { +enum E { OUTLINE, FILL, BOTH } polyfill; @@ -328,6 +328,8 @@ fputs(inputline, stdout); } } + + return 0; } @@ -430,7 +432,7 @@ thick[i] = defthick[i]; } for (i = 0; i < FONTS; i++) { /* font name defaults */ - tfont[i] = deffont[i]; + tfont[i] = (char *)deffont[i]; } for (i = 0; i < SIZES; i++) { /* font size defaults */ tsize[i] = defsize[i]; @@ -518,7 +520,7 @@ if (stipple == (char *) NULL) /* if user forgot stipple */ if (has_polygon(PICTURE)) /* and picture has a polygon */ - stipple = DEFSTIPPLE; /* then set the default */ + stipple = (char *)DEFSTIPPLE; /* then set the default */ if ((temp = bottompoint - toppoint) < 0.1) temp = 0.1; @@ -686,8 +688,8 @@ *----------------------------------------------------------------------------*/ void -savebounds(float x, - float y) +savebounds(double x, + double y) { if (x < leftpoint) leftpoint = x; @@ -781,17 +783,17 @@ case 'l': /* l */ if (isdigit(str1[1])) { /* set stipple index */ - int index = atoi(str1 + 1), val; + int idx = atoi(str1 + 1), val; - if (index < 0 || index > NSTIPPLES) { - error("bad stipple number %1 at line %2", index, linenum); + if (idx < 0 || idx > NSTIPPLES) { + error("bad stipple number %1 at line %2", idx, linenum); break; } if (!defstipple_index) defstipple_index = other_stipple_index; val = atoi(str2); if (val >= 0 && val < 256) - stipple_index[index] = val; + stipple_index[idx] = val; else error("bad stipple index value at line %1", linenum); break; diff -ruN groff-1.19/src/preproc/html/pre-html.cpp groff-1.19.1/src/preproc/html/pre-html.cpp --- groff-1.19/src/preproc/html/pre-html.cpp Wed Apr 16 15:41:39 2003 +++ groff-1.19.1/src/preproc/html/pre-html.cpp Sun May 9 09:02:00 2004 @@ -1,5 +1,5 @@ // -*- C++ -*- -/* Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc. +/* Copyright (C) 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. Written by Gaius Mulley (gaius@glam.ac.uk). This file is part of groff. @@ -39,34 +39,118 @@ #include #include #ifdef HAVE_UNISTD_H -#include +# include #endif #ifdef _POSIX_VERSION -#include -#define PID_T pid_t +# include +# define PID_T pid_t #else /* not _POSIX_VERSION */ -#define PID_T int +# define PID_T int #endif /* not _POSIX_VERSION */ #include #include "nonposix.h" +/* Establish some definitions to facilitate discrimination between + differing runtime environments. */ + +#undef MAY_FORK_CHILD_PROCESS +#undef MAY_SPAWN_ASYNCHRONOUS_CHILD + +#if defined(__MSDOS__) || defined(_WIN32) + +// Most MS-DOS and Win32 environments will be missing the `fork' capability +// (some like Cygwin have it, but it is best avoided). + +# define MAY_FORK_CHILD_PROCESS 0 + +// On these systems, we use `spawn...', instead of `fork' ... `exec...'. +# include // for `spawn...' +# include // for attributes of pipes + +# if defined(__CYGWIN__) || defined(_UWIN) || defined(_WIN32) + +// These Win32 implementations allow parent and `spawn...'ed child to +// multitask asynchronously. + +# define MAY_SPAWN_ASYNCHRONOUS_CHILD 1 + +# else + +// Others may adopt MS-DOS behaviour where parent must sleep, +// from `spawn...' until child terminates. + +# define MAY_SPAWN_ASYNCHRONOUS_CHILD 0 + +# endif /* not defined __CYGWIN__, _UWIN, or _WIN32 */ + +# if defined(DEBUGGING) && !defined(DEBUG_FILE_DIR) +/* When we are building a DEBUGGING version we need to tell pre-grohtml + where to put intermediate files (the DEBUGGING version will preserve + these on exit). + + On a UNIX host, we might simply use `/tmp', but MS-DOS and Win32 will + probably not have this on all disk drives, so default to using + `c:/temp' instead. (Note that user may choose to override this by + supplying a definition such as + + -DDEBUG_FILE_DIR=d:/path/to/debug/files + + in the CPPFLAGS to `make'.) */ + +# define DEBUG_FILE_DIR c:/temp +# endif + +#else /* not __MSDOS__ or _WIN32 */ + +// For non-Microsoft environments assume UNIX conventions, +// so `fork' is required and child processes are asynchronous. +# define MAY_FORK_CHILD_PROCESS 1 +# define MAY_SPAWN_ASYNCHRONOUS_CHILD 1 + +# if defined(DEBUGGING) && !defined(DEBUG_FILE_DIR) +/* For a DEBUGGING version, on the UNIX host, we can also usually rely + on being able to use `/tmp' for temporary file storage. (Note that, + as in the __MSDOS__ or _WIN32 case above, the user may override this + by defining + + -DDEBUG_FILE_DIR=/path/to/debug/files + + in the CPPFLAGS.) */ + +# define DEBUG_FILE_DIR /tmp +# endif + +#endif /* not __MSDOS__ or _WIN32 */ + +#ifdef DEBUGGING +// For a DEBUGGING version, we need some additional macros, +// to direct the captured debug mode output to appropriately named files +// in the specified DEBUG_FILE_DIR. + +# define DEBUG_TEXT(text) #text +# define DEBUG_NAME(text) DEBUG_TEXT(text) +# define DEBUG_FILE(name) DEBUG_NAME(DEBUG_FILE_DIR) "/" name +#endif + extern "C" const char *Version_string; #include "pre-html.h" #include "pushback.h" #include "html-strings.h" -#define DEFAULT_LINE_LENGTH 7 // inches wide -#define DEFAULT_IMAGE_RES 100 // number of pixels per inch resolution -#define IMAGE_BOARDER_PIXELS 0 -#define INLINE_LEADER_CHAR '\\' - -#define TRANSPARENT "-background white -transparent white" -#define MIN_ALPHA_BITS 0 -#define MAX_ALPHA_BITS 4 +#define DEFAULT_LINE_LENGTH 7 // inches wide +#define DEFAULT_IMAGE_RES 100 // number of pixels per inch resolution +#define IMAGE_BOARDER_PIXELS 0 +#define INLINE_LEADER_CHAR '\\' + +// Don't use colour names here! Otherwise there is a dependency on +// a file called `rgb.txt' which maps names to colours. +#define TRANSPARENT "-background rgb:f/f/f -transparent rgb:f/f/f" +#define MIN_ALPHA_BITS 0 +#define MAX_ALPHA_BITS 4 #define PAGE_TEMPLATE_SHORT "pg" #define PAGE_TEMPLATE_LONG "-page-" @@ -76,46 +160,55 @@ #define REGION_TEMPLATE_LONG "-regions-" #if 0 -# define DEBUGGING +# define DEBUGGING #endif #if !defined(TRUE) -# define TRUE (1==1) +# define TRUE (1==1) #endif #if !defined(FALSE) -# define FALSE (1==0) +# define FALSE (1==0) #endif -typedef enum {CENTERED, LEFT, RIGHT, INLINE} IMAGE_ALIGNMENT; - -static int postscriptRes =-1; // postscript resolution, dots per inch -static int stdoutfd = 1; // output file descriptor - normally 1 but might move - // -1 means closed -static int copyofstdoutfd =-1; // a copy of stdout, so we can restore stdout when - // writing to post-html -static char *psFileName = NULL; // name of postscript file -static char *psPageName = NULL; // name of file containing postscript current page -static char *regionFileName = NULL; // name of file containing all image regions -static char *imagePageName = NULL; // name of bitmap image containing current page +typedef enum { + CENTERED, LEFT, RIGHT, INLINE +} IMAGE_ALIGNMENT; + +static int postscriptRes = -1; // postscript resolution, + // dots per inch +static int stdoutfd = 1; // output file descriptor - + // normally 1 but might move + // -1 means closed +static char *psFileName = NULL; // name of postscript file +static char *psPageName = NULL; // name of file containing + // postscript current page +static char *regionFileName = NULL; // name of file containing all + // image regions +static char *imagePageName = NULL; // name of bitmap image containing + // current page static const char *image_device = "pnmraw"; -static int image_res = DEFAULT_IMAGE_RES; -static int vertical_offset = 0; -static char *image_template = NULL; // image template filename -static char *macroset_template= NULL; // image template passed to troff by -D -static int troff_arg = 0; // troff arg index -static char *image_dir = NULL; // user specified image directory -static int textAlphaBits = MAX_ALPHA_BITS; -static int graphicAlphaBits = MAX_ALPHA_BITS; -static char *antiAlias = NULL; // antialias arguments we pass to gs. -static int show_progress = FALSE; // should we display page numbers as they are processed? -static int currentPageNo = -1; // current image page number +static int image_res = DEFAULT_IMAGE_RES; +static int vertical_offset = 0; +static char *image_template = NULL; // image template filename +static char *macroset_template= NULL; // image template passed to troff + // by -D +static int troff_arg = 0; // troff arg index +static char *image_dir = NULL; // user specified image directory +static int textAlphaBits = MAX_ALPHA_BITS; +static int graphicAlphaBits = MAX_ALPHA_BITS; +static char *antiAlias = NULL; // antialias arguments we pass to gs +static int show_progress = FALSE; // should we display page numbers as + // they are processed? +static int currentPageNo = -1; // current image page number #if defined(DEBUGGING) -static int debug = FALSE; -static char *troffFileName = NULL; // output of pre-html output which is sent to troff -Tps -static char *htmlFileName = NULL; // output of pre-html output which is sent to troff -Thtml +static int debug = FALSE; +static char *troffFileName = NULL; // output of pre-html output which + // is sent to troff -Tps +static char *htmlFileName = NULL; // output of pre-html output which + // is sent to troff -Thtml #endif -static char *linebuf = NULL; // for scanning devps/DESC +static char *linebuf = NULL; // for scanning devps/DESC static int linebufsize = 0; const char *const FONT_ENV_VAR = "GROFF_FONT_PATH"; @@ -123,31 +216,30 @@ /* - * Images are generated via postscript, gs and the pnm utilities. + * Images are generated via postscript, gs, and the pnm utilities. */ +#define IMAGE_DEVICE "-Tps" -#define IMAGE_DEVICE "-Tps" -/* - * prototypes - */ static int do_file(const char *filename); + /* - * sys_fatal - writes a fatal error message. - * Taken from src/roff/groff/pipeline.c. + * sys_fatal - Write a fatal error message. + * Taken from src/roff/groff/pipeline.c. */ -void sys_fatal (const char *s) +void sys_fatal(const char *s) { fatal("%1: %2", s, strerror(errno)); } /* - * get_line - copies a line (w/o newline) from a file to the global line buffer + * get_line - Copy a line (w/o newline) from a file to the + * global line buffer. */ -int get_line (FILE *f) +int get_line(FILE *f) { if (f == 0) return 0; @@ -188,10 +280,10 @@ } /* - * get_resolution - returns the postscript resolution from devps/DESC + * get_resolution - Return the postscript resolution from devps/DESC. */ -static unsigned int get_resolution (void) +static unsigned int get_resolution(void) { char *pathp; FILE *f; @@ -212,7 +304,7 @@ } /* - * html_system - a wrapper for system() + * html_system - A wrapper for system(). */ void html_system(const char *s, int redirect_stdout) @@ -242,29 +334,28 @@ } /* - * make_message - taken from man printf(3), creates a string via malloc - * and places the result of the va args into string. - * Finally the new string is returned. + * make_message - Create a string via malloc and place the result of the + * va args into string. Finally the new string is returned. + * Taken from man page of printf(3). */ -char * -make_message (const char *fmt, ...) +char *make_message(const char *fmt, ...) { /* Guess we need no more than 100 bytes. */ int n, size = 100; char *p; char *np; va_list ap; - if ((p = (char *)malloc (size)) == NULL) + if ((p = (char *)malloc(size)) == NULL) return NULL; while (1) { /* Try to print in the allocated space. */ va_start(ap, fmt); - n = vsnprintf (p, size, fmt, ap); + n = vsnprintf(p, size, fmt, ap); va_end(ap); /* If that worked, return the string. */ - if (n > -1 && n < size) { - if (size > n+1) { + if (n > -1 && n < size - 1) { /* glibc 2.1 and pre-ANSI C 99 */ + if (size > n + 1) { np = strsave(p); free(p); return np; @@ -272,15 +363,13 @@ return p; } /* Else try again with more space. */ - if (n > -1) /* glibc 2.1 */ - size = n+1; /* precisely what is needed */ - else /* glibc 2.0 */ - size *= 2; /* twice the old size */ - if ((np = (char *)realloc (p, size)) == NULL) { - free(p); /* realloc failed, free old, p. */ + else /* glibc 2.0 */ + size *= 2; /* twice the old size */ + if ((np = (char *)realloc(p, size)) == NULL) { + free(p); /* realloc failed, free old, p. */ return NULL; } - p = np; /* use realloc'ed, p */ + p = np; /* use realloc'ed, p */ } } @@ -290,15 +379,15 @@ struct char_block { enum { SIZE = 256 }; - char buffer[SIZE]; - int used; - char_block *next; + char buffer[SIZE]; + int used; + char_block *next; char_block(); }; /* - * char_block - constructor, sets the, used, and, next, fields to zero. + * char_block - Constructor. Set the, used, and, next, fields to zero. */ char_block::char_block() @@ -312,22 +401,22 @@ public: char_buffer(); ~char_buffer(); - int read_file(FILE *fp); - int do_html(int argc, char *argv[]); - int do_image(int argc, char *argv[]); - void write_file_html(void); - void write_file_troff(void); - void write_upto_newline (char_block **t, int *i, int is_html); - int can_see(char_block **t, int *i, const char *string); - int skip_spaces(char_block **t, int *i); + int read_file(FILE *fp); + int do_html(int argc, char *argv[]); + int do_image(int argc, char *argv[]); + void emit_troff_output(int device_format_selector); + void write_upto_newline(char_block **t, int *i, int is_html); + int can_see(char_block **t, int *i, const char *string); + int skip_spaces(char_block **t, int *i); void skip_until_newline(char_block **t, int *i); private: char_block *head; char_block *tail; + int run_output_filter(int device_format_selector, int argc, char *argv[]); }; /* - * char_buffer - constructor + * char_buffer - Constructor. */ char_buffer::char_buffer() @@ -336,7 +425,7 @@ } /* - * char_buffer - deconstructor, throws aways the whole buffer list. + * char_buffer - Destructor. Throw away the whole buffer list. */ char_buffer::~char_buffer() @@ -349,70 +438,69 @@ } /* - * read_file - read in a complete file, fp, placing the contents inside char_blocks. + * read_file - Read in a complete file, fp, placing the contents inside + * char_blocks. */ -int char_buffer::read_file (FILE *fp) +int char_buffer::read_file(FILE *fp) { int n; - - while (! feof(fp)) { + while (!feof(fp)) { if (tail == NULL) { tail = new char_block; head = tail; - } else { + } + else { if (tail->used == char_block::SIZE) { tail->next = new char_block; - tail = tail->next; + tail = tail->next; } } - // at this point we have a tail which is ready for the next SIZE bytes of the file - + // at this point we have a tail which is ready for the next SIZE + // bytes of the file n = fread(tail->buffer, sizeof(char), char_block::SIZE-tail->used, fp); - if (n <= 0) { + if (n <= 0) // error - return( 0 ); - } else { - tail->used += n*sizeof(char); - } + return 0; + else + tail->used += n * sizeof(char); } - return( 1 ); + return 1; } /* - * writeNbytes - writes n bytes to stdout. + * writeNbytes - Write n bytes to stdout. */ -static void writeNbytes (const char *s, int l) +static void writeNbytes(const char *s, int l) { - int n=0; + int n = 0; int r; - while (n0) && (image_dir[strlen(image_dir)-1] != '/')) { + if (image_dir == NULL) + image_dir = (char *)""; + else if (strlen(image_dir) > 0 + && image_dir[strlen(image_dir) - 1] != '/') { image_dir = make_message("%s/", image_dir); if (image_dir == NULL) sys_fatal("make_message"); } - + if (image_template == NULL) - macroset_template = make_message("%sgrohtml-%d", image_dir, (int)getpid()); + macroset_template = make_message("%sgrohtml-%d", image_dir, + (int)getpid()); else macroset_template = make_message("%s%s", image_dir, image_template); if (macroset_template == NULL) sys_fatal("make_message"); - image_template = (char *)malloc(strlen("-%d")+strlen(macroset_template)+1); + image_template = + (char *)malloc(strlen("-%d") + strlen(macroset_template) + 1); if (image_template == NULL) sys_fatal("malloc"); strcpy(image_template, macroset_template); @@ -448,10 +539,10 @@ } /* - * setupAntiAlias - sets up the antialias string, used when we call gs. + * setupAntiAlias - Set up the antialias string, used when we call gs. */ -static void setupAntiAlias (void) +static void setupAntiAlias(void) { if (textAlphaBits == 0 && graphicAlphaBits == 0) antiAlias = make_message(" "); @@ -465,23 +556,24 @@ } /* - * checkImageDir - checks to see whether the image directory is available. + * checkImageDir - Check whether the image directory is available. */ -static void checkImageDir (void) +static void checkImageDir(void) { - if ((image_dir != NULL) && (strcmp(image_dir, "") != 0)) - if (! ((mkdir(image_dir, 0777) == 0) || (errno == EEXIST))) { + if (image_dir != NULL && strcmp(image_dir, "") != 0) + if (!(mkdir(image_dir, 0777) == 0 || errno == EEXIST)) { error("cannot create directory `%1'", image_dir); exit(1); } } /* - * write_end_image - ends the image. It writes out the image extents if we are using -Tps. + * write_end_image - End the image. Write out the image extents if we + * are using -Tps. */ -static void write_end_image (int is_html) +static void write_end_image(int is_html) { /* * if we are producing html then these @@ -499,18 +591,17 @@ } /* - * write_start_image - writes the troff which will: + * write_start_image - Write troff code which will: * * (i) disable html output for the following image * (ii) reset the max/min x/y registers during postscript * rendering. */ -static void write_start_image (IMAGE_ALIGNMENT pos, int is_html) +static void write_start_image(IMAGE_ALIGNMENT pos, int is_html) { writeString("\\O[5"); switch (pos) { - case INLINE: writeString("i"); break; @@ -525,7 +616,8 @@ writeString("c"); break; } - writeString(image_template); writeString(".png]"); + writeString(image_template); + writeString(".png]"); if (is_html) writeString("\\O[0]\\O[3]"); else @@ -534,24 +626,25 @@ } /* - * write_upto_newline - writes the contents of the buffer until a newline is seen. - * It checks for HTML_IMAGE_INLINE_BEGIN and HTML_IMAGE_INLINE_END - * and if they are present it processes them. + * write_upto_newline - Write the contents of the buffer until a newline + * is seen. Check for HTML_IMAGE_INLINE_BEGIN and + * HTML_IMAGE_INLINE_END; process them if they are + * present. */ -void char_buffer::write_upto_newline (char_block **t, int *i, int is_html) +void char_buffer::write_upto_newline(char_block **t, int *i, int is_html) { - int j=*i; + int j = *i; if (*t) { - while ((j < (*t)->used) && ((*t)->buffer[j] != '\n') && - ((*t)->buffer[j] != INLINE_LEADER_CHAR)) { + while (j < (*t)->used + && (*t)->buffer[j] != '\n' + && (*t)->buffer[j] != INLINE_LEADER_CHAR) j++; - } - if ((j < (*t)->used) && ((*t)->buffer[j] == '\n')) { + if (j < (*t)->used + && (*t)->buffer[j] == '\n') j++; - } - writeNbytes((*t)->buffer+(*i), j-(*i)); + writeNbytes((*t)->buffer + (*i), j - (*i)); if ((*t)->buffer[j] == INLINE_LEADER_CHAR) { if (can_see(t, &j, HTML_IMAGE_INLINE_BEGIN)) write_start_image(INLINE, is_html); @@ -561,208 +654,225 @@ if (j < (*t)->used) { *i = j; j++; - writeNbytes((*t)->buffer+(*i), j-(*i)); + writeNbytes((*t)->buffer + (*i), j - (*i)); } } } if (j == (*t)->used) { *i = 0; - if ((*t)->buffer[j-1] == '\n') { - *t = (*t)->next; - } else { - *t = (*t)->next; + *t = (*t)->next; + if (*t && (*t)->buffer[j - 1] != '\n') write_upto_newline(t, i, is_html); - } - } else { + } + else // newline was seen *i = j; - } } } /* - * can_see - returns TRUE if we can see string in t->buffer[i] onwards + * can_see - Return TRUE if we can see string in t->buffer[i] onwards. */ -int char_buffer::can_see (char_block **t, int *i, const char *string) +int char_buffer::can_see(char_block **t, int *i, const char *str) { - int j = 0; - int l = strlen(string); - int k = *i; + int j = 0; + int l = strlen(str); + int k = *i; char_block *s = *t; while (s) { - while ((kused) && (jbuffer[k] == string[j])) { + while (k < s->used && j < l && s->buffer[k] == str[j]) { j++; k++; } if (j == l) { *i = k; *t = s; - return( TRUE ); - } else if ((kused) && (s->buffer[k] != string[j])) { - return( FALSE ); + return TRUE; } + else if (k < s->used && s->buffer[k] != str[j]) + return( FALSE ); s = s->next; k = 0; } - return( FALSE ); + return FALSE; } /* - * skip_spaces - returns TRUE if we have not run out of data. - * It also consumes spaces. + * skip_spaces - Return TRUE if we have not run out of data. + * Consume spaces also. */ int char_buffer::skip_spaces(char_block **t, int *i) { char_block *s = *t; - int k = *i; + int k = *i; while (s) { - while ((kused) && (isspace(s->buffer[k]))) { + while (k < s->used && isspace(s->buffer[k])) k++; - } if (k == s->used) { k = 0; s = s->next; - } else { + } + else { *i = k; - return( TRUE ); + return TRUE; } } - return( FALSE ); + return FALSE; } /* - * skip_until_newline - skips all characters until a newline is seen. + * skip_until_newline - Skip all characters until a newline is seen. * The newline is not consumed. */ -void char_buffer::skip_until_newline (char_block **t, int *i) +void char_buffer::skip_until_newline(char_block **t, int *i) { - int j=*i; + int j = *i; if (*t) { - while ((j < (*t)->used) && ((*t)->buffer[j] != '\n')) { + while (j < (*t)->used && (*t)->buffer[j] != '\n') j++; - } if (j == (*t)->used) { *i = 0; *t = (*t)->next; skip_until_newline(t, i); - } else { + } + else // newline was seen *i = j; - } } } -/* - * write_file_troff - writes the buffer to stdout (troff). - */ +#define DEVICE_FORMAT(filter) (filter == HTML_OUTPUT_FILTER) +#define HTML_OUTPUT_FILTER 0 +#define IMAGE_OUTPUT_FILTER 1 +#define OUTPUT_STREAM(name) creat((name), S_IWUSR | S_IRUSR) +#define PS_OUTPUT_STREAM OUTPUT_STREAM(psFileName) +#define REGION_OUTPUT_STREAM OUTPUT_STREAM(regionFileName) + +/* + * emit_troff_output - Write formatted buffer content to the troff + * post-processor data pipeline. + */ + +void char_buffer::emit_troff_output(int device_format_selector) +{ + // Handle output for BOTH html and image device formats + // if `device_format_selector' is passed as + // + // HTML_FORMAT(HTML_OUTPUT_FILTER) + // Buffer data is written to the output stream + // with template image names translated to actual image names. + // + // HTML_FORMAT(IMAGE_OUTPUT_FILTER) + // Buffer data is written to the output stream + // with no translation, for image file creation in the post-processor. -void char_buffer::write_file_troff (void) -{ - char_block *t=head; - int i=0; + int idx = 0; + char_block *element = head; - if (t != NULL) { - do { - write_upto_newline(&t, &i, FALSE); - } while (t != NULL); - } + while (element != NULL) + write_upto_newline(&element, &idx, device_format_selector); + +#if 0 if (close(stdoutfd) < 0) - sys_fatal("close"); + sys_fatal ("close"); // now we grab fd=1 so that the next pipe cannot use fd=1 if (stdoutfd == 1) { - if (dup(2) != stdoutfd) { - sys_fatal("dup failed to use fd=1"); - } + if (dup(2) != stdoutfd) + sys_fatal ("dup failed to use fd=1"); } +#endif /* 0 */ } /* - * the image class remembers the position of all images in the postscript file - * and assigns names for each image. + * The image class remembers the position of all images in the + * postscript file and assigns names for each image. */ struct imageItem { - imageItem *next; - int X1; - int Y1; - int X2; - int Y2; - char *imageName; - int resolution; - int maxx; - int pageNo; - - imageItem (int x1, int y1, int x2, int y2, int page, int res, int max_width, char *name); - ~imageItem (); + imageItem *next; + int X1; + int Y1; + int X2; + int Y2; + char *imageName; + int resolution; + int maxx; + int pageNo; + + imageItem(int x1, int y1, int x2, int y2, + int page, int res, int max_width, char *name); + ~imageItem(); }; /* - * imageItem - constructor + * imageItem - Constructor. */ -imageItem::imageItem (int x1, int y1, int x2, int y2, int page, int res, int max_width, char *name) +imageItem::imageItem(int x1, int y1, int x2, int y2, + int page, int res, int max_width, char *name) { - X1 = x1; - Y1 = y1; - X2 = x2; - Y2 = y2; - pageNo = page; + X1 = x1; + Y1 = y1; + X2 = x2; + Y2 = y2; + pageNo = page; resolution = res; - maxx = max_width; - imageName = name; - next = NULL; + maxx = max_width; + imageName = name; + next = NULL; } /* - * imageItem - deconstructor + * imageItem - Destructor. */ -imageItem::~imageItem () +imageItem::~imageItem() { if (imageName) free(imageName); } /* - * imageList - class containing a list of imageItems. + * imageList - A class containing a list of imageItems. */ class imageList { private: imageItem *head; imageItem *tail; - int count; + int count; public: imageList(); ~imageList(); - void add(int x1, int y1, int x2, int y2, int page, int res, int maxx, char *name); - void createImages (void); - int createPage (int pageno); - void createImage (imageItem *i); - int getMaxX (int pageno); + void add(int x1, int y1, int x2, int y2, + int page, int res, int maxx, char *name); + void createImages(void); + int createPage(int pageno); + void createImage(imageItem *i); + int getMaxX(int pageno); }; /* - * imageList - constructor. + * imageList - Constructor. */ -imageList::imageList () - : head(0), tail(0), count(0) +imageList::imageList() +: head(0), tail(0), count(0) { } /* - * imageList - deconstructor. + * imageList - Destructor. */ -imageList::~imageList () +imageList::~imageList() { while (head != NULL) { imageItem *i = head; @@ -772,10 +882,10 @@ } /* - * createPage - creates one image of, page pageno, from the postscript file. + * createPage - Create one image of, page pageno, from the postscript file. */ -int imageList::createPage (int pageno) +int imageList::createPage(int pageno) { char *s; @@ -784,8 +894,9 @@ if (currentPageNo >= 1) { /* - * we need to unlink the files which change each time a new page is processed. - * The final unlink is done by xtmpfile when pre-grohtml exits. + * We need to unlink the files which change each time a new page is + * processed. The final unlink is done by xtmpfile when pre-grohtml + * exits. */ unlink(imagePageName); unlink(psPageName); @@ -813,7 +924,7 @@ } #endif html_system(s, 1); - + s = make_message("echo showpage | " "gs%s -q -dBATCH -dSAFER " "-dDEVICEHEIGHTPOINTS=792 " @@ -842,39 +953,38 @@ } /* - * min - returns the minimum of two numbers. + * min - Return the minimum of two numbers. */ -int min (int x, int y) +int min(int x, int y) { - if (x < y) { - return( x ); - } else { - return( y ); - } + if (x < y) + return x; + else + return y; } /* - * max - returns the maximum of two numbers. + * max - Return the maximum of two numbers. */ -int max (int x, int y) +int max(int x, int y) { - if (x > y) { - return( x ); - } else { - return( y ); - } + if (x > y) + return x; + else + return y; } /* - * getMaxX - returns the largest right hand position for any image on, pageno + * getMaxX - Return the largest right-hand position for any image + * on, pageno. */ -int imageList::getMaxX (int pageno) +int imageList::getMaxX(int pageno) { imageItem *h = head; - int x = postscriptRes * DEFAULT_LINE_LENGTH; + int x = postscriptRes * DEFAULT_LINE_LENGTH; while (h != NULL) { if (h->pageNo == pageno) @@ -885,21 +995,30 @@ } /* - * createImage - generates a minimal png file from the set of page images. + * createImage - Generate a minimal png file from the set of page images. */ -void imageList::createImage (imageItem *i) +void imageList::createImage(imageItem *i) { if (i->X1 != -1) { char *s; - int x1 = max(min(i->X1, i->X2)*image_res/postscriptRes-1*IMAGE_BOARDER_PIXELS, 0); - int y1 = max((image_res*vertical_offset/72)+min(i->Y1, i->Y2)*image_res/postscriptRes-IMAGE_BOARDER_PIXELS, 0); - int x2 = max(i->X1, i->X2)*image_res/postscriptRes+1*IMAGE_BOARDER_PIXELS; - int y2 = (image_res*vertical_offset/72)+(max(i->Y1, i->Y2)*image_res/postscriptRes)+1+IMAGE_BOARDER_PIXELS; + int x1 = max(min(i->X1, i->X2) * image_res / postscriptRes + - IMAGE_BOARDER_PIXELS, + 0); + int y1 = max(image_res * vertical_offset / 72 + + min(i->Y1, i->Y2) * image_res / postscriptRes + - IMAGE_BOARDER_PIXELS, + 0); + int x2 = max(i->X1, i->X2) * image_res / postscriptRes + + IMAGE_BOARDER_PIXELS; + int y2 = image_res * vertical_offset / 72 + + max(i->Y1, i->Y2) * image_res / postscriptRes + + 1 + IMAGE_BOARDER_PIXELS; if (createPage(i->pageNo) == 0) { - s = make_message("pnmcut%s %d %d %d %d < %s | pnmcrop -quiet | pnmtopng%s %s > %s \n", + s = make_message("pnmcut%s %d %d %d %d < %s " + "| pnmcrop -quiet | pnmtopng%s %s > %s\n", EXE_EXT, - x1, y1, x2-x1+1, y2-y1+1, + x1, y1, x2 - x1 + 1, y2 - y1 + 1, imagePageName, EXE_EXT, TRANSPARENT, @@ -915,12 +1034,14 @@ #endif html_system(s, 0); free(s); - } else { + } + else { fprintf(stderr, "failed to generate image of page %d\n", i->pageNo); fflush(stderr); } #if defined(DEBUGGING) - } else { + } + else { if (debug) { fprintf(stderr, "ignoring image as x1 coord is -1\n"); fflush(stderr); @@ -930,27 +1051,30 @@ } /* - * add - an image description to the imageList. + * add - Add an image description to the imageList. */ -void imageList::add (int x1, int y1, int x2, int y2, int page, int res, int maxx, char *name) +void imageList::add(int x1, int y1, int x2, int y2, + int page, int res, int maxx, char *name) { imageItem *i = new imageItem(x1, y1, x2, y2, page, res, maxx, name); if (head == NULL) { head = i; tail = i; - } else { + } + else { tail->next = i; tail = i; } } /* - * createImages - foreach image descriptor on the imageList, create the actual image. + * createImages - For each image descriptor on the imageList, + * create the actual image. */ -void imageList::createImages (void) +void imageList::createImages(void) { imageItem *h = head; @@ -960,72 +1084,42 @@ } } -static imageList listOfImages; // list of images defined by the region file. +static imageList listOfImages; // List of images defined by the region file. /* - * write_file_html - writes the buffer to stdout (troff). - * It writes out the file replacing template image names with - * actual image names. - */ - -void char_buffer::write_file_html (void) -{ - char_block *t=head; - int i=0; - - if (t != NULL) { - do { - write_upto_newline(&t, &i, TRUE); - } while (t != NULL); - } - if (close(stdoutfd) < 0) - sys_fatal("close"); - - // now we grab fd=1 so that the next pipe cannot use fd=1 - if (stdoutfd == 1) { - if (dup(2) != stdoutfd) { - sys_fatal("dup failed to use fd=1"); - } - } -} - -/* - * generateImages - parses the region file and generates images - * from the postscript file. The region file - * contains the x1,y1 x2,y2 extents of each + * generateImages - Parse the region file and generate images + * from the postscript file. The region file + * contains the x1,y1--x2,y2 extents of each * image. */ -static void generateImages (char *regionFileName) +static void generateImages(char *region_file_name) { - pushBackBuffer *f=new pushBackBuffer(regionFileName); + pushBackBuffer *f=new pushBackBuffer(region_file_name); while (f->putPB(f->getPB()) != eof) { if (f->isString("grohtml-info:page")) { - int page = f->readInt(); - int x1 = f->readInt(); - int y1 = f->readInt(); - int x2 = f->readInt(); - int y2 = f->readInt(); - int maxx = f->readInt(); + int page = f->readInt(); + int x1 = f->readInt(); + int y1 = f->readInt(); + int x2 = f->readInt(); + int y2 = f->readInt(); + int maxx = f->readInt(); char *name = f->readString(); - int res = postscriptRes; + int res = postscriptRes; listOfImages.add(x1, y1, x2, y2, page, res, maxx, name); - while ((f->putPB(f->getPB()) != '\n') && - (f->putPB(f->getPB()) != eof)) { + while (f->putPB(f->getPB()) != '\n' + && f->putPB(f->getPB()) != eof) (void)f->getPB(); - } - if (f->putPB(f->getPB()) == '\n') { + if (f->putPB(f->getPB()) == '\n') (void)f->getPB(); - } - } else { - /* - * write any error messages out to the user - */ + } + else { + /* Write any error messages out to the user. */ fputc(f->getPB(), stderr); } } - + listOfImages.createImages(); if (show_progress) { fprintf(stderr, "done\n"); @@ -1035,84 +1129,97 @@ } /* - * replaceFd - replace a file descriptor, was, with, willbe. + * set_redirection - Set up I/O Redirection for handle, was, to refer to + * stream on handle, willbe. */ -static void replaceFd (int was, int willbe) +static void set_redirection(int was, int willbe) { - int dupres; - + // Nothing to do if `was' and `willbe' already have same handle. if (was != willbe) { - if (close(was)<0) { - sys_fatal("close"); - } - dupres = dup(willbe); - if (dupres != was) { - sys_fatal("dup"); - fprintf(stderr, "trying to replace fd=%d with %d dup used %d\n", was, willbe, dupres); - if (willbe == 1) { - fprintf(stderr, "likely that stdout should be opened before %d\n", was); - } - exit(1); + // Otherwise attempt the specified redirection. + if (dup2 (willbe, was) < 0) { + // Redirection failed, so issue diagnostic and bail out. + fprintf(stderr, "failed to replace fd=%d with %d\n", was, willbe); + if (willbe == STDOUT_FILENO) + fprintf(stderr, + "likely that stdout should be opened before %d\n", was); + sys_fatal("dup2"); } - if (close(willbe) < 0) { + + // When redirection has been successfully completed assume redundant + // handle `willbe' is no longer required, so close it. + if (close(willbe) < 0) + // Issue diagnostic if `close' fails. sys_fatal("close"); - } } } /* - * waitForChild - waits for child, pid, to exit. + * save_and_redirect - Get duplicate handle for stream, was, then + * redirect, was, to refer to, willbe. */ -static void waitForChild (PID_T pid) +static int save_and_redirect(int was, int willbe) { - PID_T waitpd; - int status; + if (was == willbe) + // No redirection specified so don't do anything but silently bailing out. + return (was); - waitpd = WAIT(&status, pid, _WAIT_CHILD); - if (waitpd != pid) - sys_fatal("wait"); + // Proceeding with redirection so first save and verify our duplicate + // handle for `was'. + int saved = dup(was); + if (saved < 0) { + fprintf(stderr, "unable to get duplicate handle for %d\n", was); + sys_fatal("dup"); + } + + // Duplicate handle safely established so complete redirection. + set_redirection(was, willbe); + + // Finally return the saved duplicate descriptor for the + // original `was' stream. + return saved; } /* - * alterDeviceTo - if toImage is set then the arg list is altered to include + * alterDeviceTo - If, toImage, is set + * the argument list is altered to include * IMAGE_DEVICE and we invoke groff rather than troff. - * else - * set -Thtml and groff + * Else + * set -Thtml and groff. */ -static void alterDeviceTo (int argc, char *argv[], int toImage) +static void alterDeviceTo(int argc, char *argv[], int toImage) { - int i=0; + int i = 0; if (toImage) { while (i < argc) { - if (strcmp(argv[i], "-Thtml") == 0) { - argv[i] = IMAGE_DEVICE; - } + if (strcmp(argv[i], "-Thtml") == 0) + argv[i] = (char *)IMAGE_DEVICE; i++; } - argv[troff_arg] = "groff"; /* rather than troff */ - } else { + argv[troff_arg] = (char *)"groff"; /* rather than troff */ + } + else { while (i < argc) { - if (strcmp(argv[i], IMAGE_DEVICE) == 0) { - argv[i] = "-Thtml"; - } + if (strcmp(argv[i], IMAGE_DEVICE) == 0) + argv[i] = (char *)"-Thtml"; i++; } - argv[troff_arg] = "groff"; /* use groff -Z */ + argv[troff_arg] = (char *)"groff"; /* use groff -Z */ } } /* - * addZ - appends -Z onto the command list for groff. + * addZ - Append -Z onto the command list for groff. */ -char **addZ (int argc, char *argv[]) +char **addZ(int argc, char *argv[]) { - char **new_argv = (char **)malloc((argc+2)*sizeof(char *)); - int i=0; + char **new_argv = (char **)malloc((argc + 2) * sizeof(char *)); + int i = 0; if (new_argv == NULL) sys_fatal("malloc"); @@ -1121,9 +1228,9 @@ new_argv[i] = argv[i]; i++; } - new_argv[i] = "-Z"; - while (i)\n"); - fprintf(stream, " place all png files into image_directory\n"); + fprintf(stream, + "usage: %s troffname [-Iimage_name] [-Dimage_directory]\n" + " [-P-o vertical_image_offset] [-P-i image_resolution]\n" + " [troff flags]\n", + program_name); + fprintf(stream, + " vertical_image_offset (default %d/72 of an inch)\n", + vertical_offset); + fprintf(stream, + " image_resolution (default %d) pixels per inch\n", + image_res); + fprintf(stream, + " image_name is the name of the stem for all images\n" + " (default is grohtml-)\n"); + fprintf(stream, + " place all png files into image_directory\n"); } /* - * scanArguments - scans for all arguments including -P-i, -P-o, -P-D and -P-I. It returns - * the argument index of the first non option. + * scanArguments - Scan for all arguments including -P-i, -P-o, -P-D, + * and -P-I. Return the argument index of the first + * non-option. */ -int scanArguments (int argc, char **argv) +static int scanArguments(int argc, char **argv) { const char *command_prefix = getenv("GROFF_COMMAND_PREFIX"); if (!command_prefix) @@ -1332,21 +1542,24 @@ { "version", no_argument, 0, 'v' }, { NULL, 0, 0, 0 } }; - while ((c = getopt_long(argc, argv, "+a:g:o:i:I:D:F:vbdhlrnp", long_options, NULL)) + while ((c = getopt_long(argc, argv, + "+a:g:o:i:I:j:D:F:vbdhlrnp", long_options, NULL)) != EOF) switch(c) { case 'v': printf("GNU pre-grohtml (groff) version %s\n", Version_string); exit(0); case 'a': - textAlphaBits = min(max(MIN_ALPHA_BITS, atoi(optarg)), MAX_ALPHA_BITS); + textAlphaBits = min(max(MIN_ALPHA_BITS, atoi(optarg)), + MAX_ALPHA_BITS); if (textAlphaBits == 3) { error("cannot use 3 bits of antialiasing information"); exit(1); } break; case 'g': - graphicAlphaBits = min(max(MIN_ALPHA_BITS, atoi(optarg)), MAX_ALPHA_BITS); + graphicAlphaBits = min(max(MIN_ALPHA_BITS, atoi(optarg)), + MAX_ALPHA_BITS); if (graphicAlphaBits == 3) { error("cannot use 3 bits of antialiasing information"); exit(1); @@ -1367,6 +1580,9 @@ case 'F': font_path.command_line_dir(optarg); break; + case 'j': + // handled by post-grohtml (set job name for multiple file output) + break; case 'o': vertical_offset = atoi(optarg); break; @@ -1407,19 +1623,19 @@ } /* - * makeTempFiles - name the temporary files + * makeTempFiles - Name the temporary files. */ -static int makeTempFiles (void) +static int makeTempFiles(void) { #if defined(DEBUGGING) - psFileName = "/tmp/prehtml-ps"; - regionFileName = "/tmp/prehtml-region"; - imagePageName = "/tmp/prehtml-page"; - psPageName = "/tmp/prehtml-psn"; - troffFileName = "/tmp/prehtml-troff"; - htmlFileName = "/tmp/prehtml-html"; -#else + psFileName = DEBUG_FILE("prehtml-ps"); + regionFileName = DEBUG_FILE("prehtml-region"); + imagePageName = DEBUG_FILE("prehtml-page"); + psPageName = DEBUG_FILE("prehtml-psn"); + troffFileName = DEBUG_FILE("prehtml-troff"); + htmlFileName = DEBUG_FILE("prehtml-html"); +#else /* not DEBUGGING */ FILE *f; /* psPageName contains a single page of postscript */ @@ -1462,7 +1678,7 @@ } fclose(f); -#endif +#endif /* not DEBUGGING */ return 0; } @@ -1470,9 +1686,21 @@ { program_name = argv[0]; int i; - int found=0; - int ok=1; + int found = 0; + int ok = 1; +#ifdef CAPTURE_MODE + FILE *dump; + fprintf(stderr, "%s: invoked with %d arguments ...\n", argv[0], argc); + for (i = 0; i < argc; i++) + fprintf(stderr, "%2d: %s\n", i, argv[i]); + if ((dump = fopen(DEBUG_FILE("pre-html-data"), "wb")) != NULL) { + while((i = fgetc(stdin)) >= 0) + fputc(i, dump); + fclose(dump); + } + exit(1); +#endif /* CAPTURE_MODE */ postscriptRes = get_resolution(); i = scanArguments(argc, argv); setupAntiAlias(); @@ -1482,19 +1710,15 @@ if (argv[i][0] != '-') { /* found source file */ ok = do_file(argv[i]); - if (! ok) { - return( 0 ); - } + if (!ok) + return 0; found = 1; } i++; } - copyofstdoutfd=dup(stdoutfd); - - if (! found) { + if (!found) do_file("-"); - } if (makeTempFiles()) return 1; ok = inputFile.do_image(argc, argv); @@ -1510,9 +1734,9 @@ FILE *fp; current_filename = filename; - if (strcmp(filename, "-") == 0) { + if (strcmp(filename, "-") == 0) fp = stdin; - } else { + else { fp = fopen(filename, "r"); if (fp == 0) { error("can't open `%1': %2", filename, strerror(errno)); @@ -1521,6 +1745,7 @@ } if (inputFile.read_file(fp)) { + // XXX } if (fp != stdin) diff -ruN groff-1.19/src/preproc/html/pushback.cpp groff-1.19.1/src/preproc/html/pushback.cpp --- groff-1.19/src/preproc/html/pushback.cpp Wed Apr 16 15:37:30 2003 +++ groff-1.19.1/src/preproc/html/pushback.cpp Sat Apr 17 07:52:59 2004 @@ -1,5 +1,5 @@ // -*- C++ -*- -/* Copyright (C) 2000, 2001, 2003 Free Software Foundation, Inc. +/* Copyright (C) 2000, 2001, 2003, 2004 Free Software Foundation, Inc. Written by Gaius Mulley (gaius@glam.ac.uk). This file is part of groff. @@ -274,15 +274,15 @@ * convertToFloat - converts integers, a and b into a.b */ -static float convertToFloat (int a, int b) +static double convertToFloat (int a, int b) { int c=10; - float f; + double f; while (b>c) { c *= 10; } - f = ((float)a) + (((float)b)/((float)c)); + f = ((double)a) + (((double)b)/((double)c)); return( f ); } @@ -290,7 +290,7 @@ * readNumber - returns a float representing the word just read. */ -float pushBackBuffer::readNumber (void) +double pushBackBuffer::readNumber (void) { int i; char ch; @@ -300,7 +300,7 @@ return convertToFloat(i, readInt()); } putPB(ch); - return (float)i; + return (double)i; } /* @@ -312,7 +312,7 @@ char *pushBackBuffer::readString (void) { char buffer[MAXPUSHBACKSTACK]; - char *string = 0; + char *str = 0; int i=0; char ch=getPB(); @@ -326,8 +326,8 @@ } if (i < MAXPUSHBACKSTACK) { buffer[i] = (char)0; - string = (char *)malloc(strlen(buffer)+1); - strcpy(string, buffer); + str = (char *)malloc(strlen(buffer)+1); + strcpy(str, buffer); } - return( string ); + return( str ); } diff -ruN groff-1.19/src/preproc/html/pushback.h groff-1.19.1/src/preproc/html/pushback.h --- groff-1.19/src/preproc/html/pushback.h Wed Apr 16 15:37:46 2003 +++ groff-1.19.1/src/preproc/html/pushback.h Sat Apr 17 07:53:31 2004 @@ -1,5 +1,5 @@ // -*- C -*- -/* Copyright (C) 2000, 2001, 2003 Free Software Foundation, Inc. +/* Copyright (C) 2000, 2001, 2003, 2004 Free Software Foundation, Inc. Written by Gaius Mulley (gaius@glam.ac.uk). This file is part of groff. @@ -39,16 +39,16 @@ int stdIn; public: - pushBackBuffer (char *); - ~ pushBackBuffer (); - char getPB (void); - char putPB (char ch); - void skipUntilToken (void); - void skipToNewline (void); - float readNumber (void); - int readInt (void); - char *readString (void); - int isString (const char *string); + pushBackBuffer (char *); + ~ pushBackBuffer (); + char getPB (void); + char putPB (char ch); + void skipUntilToken (void); + void skipToNewline (void); + double readNumber (void); + int readInt (void); + char *readString (void); + int isString (const char *string); }; diff -ruN groff-1.19/src/preproc/pic/TODO groff-1.19.1/src/preproc/pic/TODO --- groff-1.19/src/preproc/pic/TODO Sun Feb 6 10:38:07 2000 +++ groff-1.19.1/src/preproc/pic/TODO Thu Jul 10 06:35:28 2003 @@ -1,5 +1,3 @@ -Dotted and dashed ellipses. - In troff mode, dotted and dashed splines. Make DELIMITED have type lstr; this would allow us to give better diff -ruN groff-1.19/src/preproc/pic/common.cpp groff-1.19.1/src/preproc/pic/common.cpp --- groff-1.19/src/preproc/pic/common.cpp Fri Oct 5 16:12:22 2001 +++ groff-1.19.1/src/preproc/pic/common.cpp Mon Jan 5 23:38:37 2004 @@ -1,5 +1,5 @@ // -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992 Free Software Foundation, Inc. +/* Copyright (C) 1989, 1990, 1991, 1992, 2003 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) This file is part of groff. @@ -76,6 +76,157 @@ double ang = 0.0; for (int i = 0; i < ndots; i++, ang += gap_angle) dot(cent + position(cos(ang), sin(ang))*rad, lt); +} + +// recursive function for dash drawing, used by dashed_ellipse + +void common_output::ellipse_arc(const position ¢, + const position &z0, const position &z1, + const distance &dim, const line_type <) +{ + assert(lt.type == line_type::solid); + assert(dim.x != 0 && dim.y != 0); + double eps = 0.0001; + position zml = (z0 + z1) / 2; + // apply affine transformation (from ellipse to circle) to compute angle + // of new position, then invert transformation to get exact position + double psi = atan2(zml.y / dim.y, zml.x / dim.x); + position zm = position(dim.x * cos(psi), dim.y * sin(psi)); + // to approximate the ellipse arc with one or more circle arcs, we + // first compute the radius of curvature in zm + double a_2 = dim.x * dim.x; + double a_4 = a_2 * a_2; + double b_2 = dim.y * dim.y; + double b_4 = b_2 * b_2; + double e_2 = a_2 - b_2; + double temp = a_4 * zm.y * zm.y + b_4 * zm.x * zm.x; + double rho = sqrt(temp / a_4 / b_4 * temp / a_4 / b_4 * temp); + // compute center of curvature circle + position M = position(e_2 * zm.x / a_2 * zm.x / a_2 * zm.x, + -e_2 * zm.y / b_2 * zm.y / b_2 * zm.y); + // compute distance between circle and ellipse arc at start and end + double phi0 = atan2(z0.y - M.y, z0.x - M.x); + double phi1 = atan2(z1.y - M.y, z1.x - M.x); + position M0 = position(rho * cos(phi0), rho * sin(phi0)) + M; + position M1 = position(rho * cos(phi1), rho * sin(phi1)) + M; + double dist0 = hypot(z0 - M0) / sqrt(z0 * z0); + double dist1 = hypot(z1 - M1) / sqrt(z1 * z1); + if (dist0 < eps && dist1 < eps) + solid_arc(M + cent, rho, phi0, phi1, lt); + else { + ellipse_arc(cent, z0, zm, dim, lt); + ellipse_arc(cent, zm, z1, dim, lt); + } +} + +// output a dashed ellipse as a series of arcs + +void common_output::dashed_ellipse(const position ¢, const distance &dim, + const line_type <) +{ + assert(lt.type == line_type::dashed); + double dim_x = dim.x / 2; + double dim_y = dim.y / 2; + line_type slt = lt; + slt.type = line_type::solid; + double dw = lt.dash_width; + // we use an approximation to compute the ellipse length (found in: + // Bronstein, Semendjajew, Taschenbuch der Mathematik) + double lambda = (dim.x - dim.y) / (dim.x + dim.y); + double le = M_PI / 2 * (dim.x + dim.y) + * ((64 - 3 * lambda * lambda * lambda * lambda ) + / (64 - 16 * lambda * lambda)); + // for symmetry we make nmax a multiple of 8 + int nmax = 8 * int(le / dw / 8 + 0.5); + if (nmax < 8) { + nmax = 8; + dw = le / 8; + } + int ndash = nmax / 2; + double gapwidth = (le - dw * ndash) / ndash; + double l = 0; + position z = position(dim_x, 0); + position zdot = z; + int j = 0; + int jmax = int(10 / lt.dash_width); + for (int i = 0; i <= nmax; i++) { + position zold = z; + position zpre = zdot; + double ld = (int(i / 2) + 0.5) * dw + int((i + 1) / 2) * gapwidth; + double lold = 0; + double dl = 1; + // find next position for fixed arc length + while (l < ld) { + j++; + lold = l; + zold = z; + double phi = j * 2 * M_PI / jmax; + z = position(dim_x * cos(phi), dim_y * sin(phi)); + dl = hypot(z - zold); + l += dl; + } + // interpolate linearly between the last two points, + // using the length difference as the scaling factor + double delta = (ld - lold) / dl; + zdot = zold + (z - zold) * delta; + // compute angle of new position on the affine circle + // and use it to get the exact value on the ellipse + double psi = atan2(zdot.y / dim_y, zdot.x / dim_x); + zdot = position(dim_x * cos(psi), dim_y * sin(psi)); + if ((i % 2 == 0) && (i > 1)) + ellipse_arc(cent, zpre, zdot, dim / 2, slt); + } +} + +// output a dotted ellipse as a series of dots + +void common_output::dotted_ellipse(const position ¢, const distance &dim, + const line_type <) +{ + assert(lt.type == line_type::dotted); + double dim_x = dim.x / 2; + double dim_y = dim.y / 2; + line_type slt = lt; + slt.type = line_type::solid; + // we use an approximation to compute the ellipse length (found in: + // Bronstein, Semendjajew, Taschenbuch der Mathematik) + double lambda = (dim.x - dim.y) / (dim.x + dim.y); + double le = M_PI / 2 * (dim.x + dim.y) + * ((64 - 3 * lambda * lambda * lambda * lambda ) + / (64 - 16 * lambda * lambda)); + // for symmetry we make nmax a multiple of 4 + int ndots = 4 * int(le / lt.dash_width / 4 + 0.5); + if (ndots < 4) + ndots = 4; + double l = 0; + position z = position(dim_x, 0); + int j = 0; + int jmax = int(10 / lt.dash_width); + for (int i = 1; i <= ndots; i++) { + position zold = z; + double lold = l; + double ld = i * le / ndots; + double dl = 1; + // find next position for fixed arc length + while (l < ld) { + j++; + lold = l; + zold = z; + double phi = j * 2 * M_PI / jmax; + z = position(dim_x * cos(phi), dim_y * sin(phi)); + dl = hypot(z - zold); + l += dl; + } + // interpolate linearly between the last two points, + // using the length difference as the scaling factor + double delta = (ld - lold) / dl; + position zdot = zold + (z - zold) * delta; + // compute angle of new position on the affine circle + // and use it to get the exact value on the ellipse + double psi = atan2(zdot.y / dim_y, zdot.x / dim_x); + zdot = position(dim_x * cos(psi), dim_y * sin(psi)); + dot(cent + zdot, slt); + } } // return non-zero iff we can compute a center diff -ruN groff-1.19/src/preproc/pic/common.h groff-1.19.1/src/preproc/pic/common.h --- groff-1.19/src/preproc/pic/common.h Fri Oct 5 16:12:22 2001 +++ groff-1.19.1/src/preproc/pic/common.h Mon Jan 5 23:38:52 2004 @@ -1,5 +1,6 @@ // -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992 Free Software Foundation, Inc. +/* Copyright (C) 1989, 1990, 1991, 1992, 1993, 2003 + Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) This file is part of groff. @@ -33,8 +34,13 @@ double gap_width, double *offsetp); protected: virtual void dot(const position &, const line_type &) = 0; + void ellipse_arc(const position &, const position &, + const position &, const distance &, + const line_type &); void dashed_circle(const position &, double rad, const line_type &); void dotted_circle(const position &, double rad, const line_type &); + void dashed_ellipse(const position &, const distance &, const line_type &); + void dotted_ellipse(const position &, const distance &, const line_type &); void dashed_arc(const position &, const position &, const position &, const line_type &); void dotted_arc(const position &, const position &, const position &, diff -ruN groff-1.19/src/preproc/pic/object.cpp groff-1.19.1/src/preproc/pic/object.cpp --- groff-1.19/src/preproc/pic/object.cpp Fri Apr 18 20:19:07 2003 +++ groff-1.19.1/src/preproc/pic/object.cpp Wed Apr 7 17:27:56 2004 @@ -1,5 +1,5 @@ // -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992, 2001, 2002, 2003 +/* Copyright (C) 1989, 1990, 1991, 1992, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) @@ -716,9 +716,9 @@ fill = f; } -void closed_object::set_fill_color(char *fill) +void closed_object::set_fill_color(char *f) { - color_fill = strsave(fill); + color_fill = strsave(f); } class box_object : public closed_object { @@ -1587,21 +1587,21 @@ start_quad += 4.0; while (end_quad <= start_quad) end_quad += 4.0; - double radius = max(hypot(start_offset), hypot(end_offset)); + double r = max(hypot(start_offset), hypot(end_offset)); for (int q = int(start_quad) + 1; q < end_quad; q++) { position offset; switch (q % 4) { case 0: - offset.x = radius; + offset.x = r; break; case 1: - offset.y = radius; + offset.y = r; break; case 2: - offset.x = -radius; + offset.x = -r; break; case 3: - offset.y = -radius; + offset.y = -r; break; } p->encompass(cent + offset); diff -ruN groff-1.19/src/preproc/pic/object.h groff-1.19.1/src/preproc/pic/object.h --- groff-1.19/src/preproc/pic/object.h Fri May 17 14:09:10 2002 +++ groff-1.19.1/src/preproc/pic/object.h Sat Apr 17 07:23:06 2004 @@ -1,5 +1,6 @@ // -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992, 2002 Free Software Foundation, Inc. +/* Copyright (C) 1989, 1990, 1991, 1992, 2002, 2004 + Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) This file is part of groff. @@ -163,9 +164,9 @@ segment(const position &, int, segment *); }; -struct rectangle_object; -struct graphic_object; -struct linear_object; +class rectangle_object; +class graphic_object; +class linear_object; struct object_spec { unsigned long flags; diff -ruN groff-1.19/src/preproc/pic/output.h groff-1.19.1/src/preproc/pic/output.h --- groff-1.19/src/preproc/pic/output.h Fri Oct 5 16:12:23 2001 +++ groff-1.19.1/src/preproc/pic/output.h Mon Jan 5 23:39:18 2004 @@ -1,5 +1,5 @@ // -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992 Free Software Foundation, Inc. +/* Copyright (C) 1989, 1990, 1991, 1992, 2001 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) This file is part of groff. diff -ruN groff-1.19/src/preproc/pic/pic.cpp groff-1.19.1/src/preproc/pic/pic.cpp --- groff-1.19/src/preproc/pic/pic.cpp Tue Apr 29 15:37:35 2003 +++ groff-1.19.1/src/preproc/pic/pic.cpp Thu May 13 15:31:41 2004 @@ -14,7 +14,6 @@ #include "object.h" extern int delim_flag; -extern void do_copy(const char *); extern void copy_rest_thru(const char *, const char *); extern void copy_file_thru(const char *, const char *, const char *); extern void push_body(const char *); @@ -51,7 +50,7 @@ char *format_number(const char *form, double n); char *do_sprintf(const char *form, const double *v, int nv); -#line 66 "pic.y" +#line 65 "pic.y" typedef union { char *str; int n; @@ -70,7 +69,7 @@ graphics_state state; object_type obtype; } YYSTYPE; -#line 74 "y.tab.c" +#line 73 "y.tab.c" #define LABEL 257 #define VARIABLE 258 #define NUMBER 259 @@ -3468,7 +3467,7 @@ short yyss[YYSTACKSIZE]; YYSTYPE yyvs[YYSTACKSIZE]; #define yystacksize YYSTACKSIZE -#line 1610 "pic.y" +#line 1617 "pic.y" /* bison defines const to be empty unless __STDC__ is defined, which it isn't under cfront */ @@ -3725,7 +3724,7 @@ result += '\0'; return strsave(result.contents()); } -#line 3729 "y.tab.c" +#line 3728 "y.tab.c" #define YYABORT goto yyabort #define YYREJECT goto yyabort #define YYACCEPT goto yyaccept @@ -3871,26 +3870,26 @@ switch (yyn) { case 2: -#line 279 "pic.y" +#line 278 "pic.y" { if (olist.head) print_picture(olist.head); } break; case 3: -#line 288 "pic.y" +#line 287 "pic.y" { yyval.pl = yyvsp[-1].pl; } break; case 4: -#line 293 "pic.y" +#line 292 "pic.y" { yyval.pl = yyvsp[0].pl; } break; case 5: -#line 295 "pic.y" +#line 294 "pic.y" { yyval.pl = yyvsp[-2].pl; } break; case 10: -#line 310 "pic.y" +#line 309 "pic.y" { a_delete graphname; graphname = new char[strlen(yyvsp[0].str) + 1]; @@ -3899,14 +3898,14 @@ } break; case 11: -#line 318 "pic.y" +#line 317 "pic.y" { define_variable(yyvsp[-2].str, yyvsp[0].x); a_delete yyvsp[-2].str; } break; case 12: -#line 323 "pic.y" +#line 322 "pic.y" { place *p = lookup_label(yyvsp[-3].str); if (!p) { @@ -3920,37 +3919,37 @@ } break; case 13: -#line 335 "pic.y" +#line 334 "pic.y" { current_direction = UP_DIRECTION; } break; case 14: -#line 337 "pic.y" +#line 336 "pic.y" { current_direction = DOWN_DIRECTION; } break; case 15: -#line 339 "pic.y" +#line 338 "pic.y" { current_direction = LEFT_DIRECTION; } break; case 16: -#line 341 "pic.y" +#line 340 "pic.y" { current_direction = RIGHT_DIRECTION; } break; case 17: -#line 343 "pic.y" +#line 342 "pic.y" { olist.append(make_command_object(yyvsp[0].lstr.str, yyvsp[0].lstr.filename, yyvsp[0].lstr.lineno)); } break; case 18: -#line 348 "pic.y" +#line 347 "pic.y" { olist.append(make_command_object(yyvsp[0].lstr.str, yyvsp[0].lstr.filename, yyvsp[0].lstr.lineno)); } break; case 19: -#line 353 "pic.y" +#line 352 "pic.y" { fprintf(stderr, "%s\n", yyvsp[0].lstr.str); a_delete yyvsp[0].lstr.str; @@ -3958,11 +3957,11 @@ } break; case 20: -#line 359 "pic.y" +#line 358 "pic.y" { delim_flag = 1; } break; case 21: -#line 361 "pic.y" +#line 360 "pic.y" { delim_flag = 0; if (safer_flag) @@ -3973,7 +3972,7 @@ } break; case 22: -#line 370 "pic.y" +#line 369 "pic.y" { if (yychar < 0) do_lookahead(); @@ -3982,15 +3981,15 @@ } break; case 23: -#line 377 "pic.y" +#line 376 "pic.y" { delim_flag = 2; } break; case 24: -#line 379 "pic.y" +#line 378 "pic.y" { delim_flag = 0; } break; case 25: -#line 381 "pic.y" +#line 380 "pic.y" { if (yychar < 0) do_lookahead(); @@ -4001,15 +4000,15 @@ } break; case 26: -#line 390 "pic.y" +#line 389 "pic.y" { delim_flag = 2; } break; case 27: -#line 392 "pic.y" +#line 391 "pic.y" { delim_flag = 0; } break; case 28: -#line 394 "pic.y" +#line 393 "pic.y" { if (yychar < 0) do_lookahead(); @@ -4019,11 +4018,11 @@ } break; case 29: -#line 402 "pic.y" +#line 401 "pic.y" { delim_flag = 1; } break; case 30: -#line 404 "pic.y" +#line 403 "pic.y" { delim_flag = 0; if (yychar < 0) @@ -4032,7 +4031,7 @@ } break; case 31: -#line 411 "pic.y" +#line 410 "pic.y" { if (yychar < 0) do_lookahead(); @@ -4042,11 +4041,11 @@ } break; case 32: -#line 419 "pic.y" +#line 418 "pic.y" { delim_flag = 1; } break; case 33: -#line 421 "pic.y" +#line 420 "pic.y" { delim_flag = 0; if (yychar < 0) @@ -4060,36 +4059,36 @@ } break; case 35: -#line 434 "pic.y" +#line 433 "pic.y" { define_variable("scale", 1.0); } break; case 38: -#line 444 "pic.y" +#line 443 "pic.y" { reset(yyvsp[0].str); a_delete yyvsp[0].str; } break; case 39: -#line 449 "pic.y" +#line 448 "pic.y" { reset(yyvsp[0].str); a_delete yyvsp[0].str; } break; case 40: -#line 454 "pic.y" +#line 453 "pic.y" { reset(yyvsp[0].str); a_delete yyvsp[0].str; } break; case 41: -#line 462 "pic.y" +#line 461 "pic.y" { yyval.lstr = yyvsp[0].lstr; } break; case 42: -#line 464 "pic.y" +#line 463 "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); @@ -4107,7 +4106,7 @@ } break; case 43: -#line 483 "pic.y" +#line 482 "pic.y" { yyval.lstr.str = new char[GDIGITS + 1]; sprintf(yyval.lstr.str, "%g", yyvsp[0].x); @@ -4116,11 +4115,11 @@ } break; case 44: -#line 490 "pic.y" +#line 489 "pic.y" { yyval.lstr = yyvsp[0].lstr; } break; case 45: -#line 492 "pic.y" +#line 491 "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); @@ -4129,11 +4128,11 @@ } break; case 46: -#line 502 "pic.y" +#line 501 "pic.y" { delim_flag = 1; } break; case 47: -#line 504 "pic.y" +#line 503 "pic.y" { delim_flag = 0; yyval.if_data.x = yyvsp[-3].x; @@ -4141,23 +4140,23 @@ } break; case 48: -#line 513 "pic.y" +#line 512 "pic.y" { yyval.str = 0; } break; case 49: -#line 515 "pic.y" +#line 514 "pic.y" { yyval.str = yyvsp[0].lstr.str; } break; case 50: -#line 520 "pic.y" +#line 519 "pic.y" { yyval.x = yyvsp[0].x; } break; case 51: -#line 522 "pic.y" +#line 521 "pic.y" { yyval.x = yyvsp[0].x; } break; case 52: -#line 527 "pic.y" +#line 526 "pic.y" { yyval.x = strcmp(yyvsp[-2].lstr.str, yyvsp[0].lstr.str) == 0; a_delete yyvsp[-2].lstr.str; @@ -4165,7 +4164,7 @@ } break; case 53: -#line 533 "pic.y" +#line 532 "pic.y" { yyval.x = strcmp(yyvsp[-2].lstr.str, yyvsp[0].lstr.str) != 0; a_delete yyvsp[-2].lstr.str; @@ -4173,56 +4172,56 @@ } break; case 54: -#line 539 "pic.y" +#line 538 "pic.y" { yyval.x = (yyvsp[-2].x != 0.0 && yyvsp[0].x != 0.0); } break; case 55: -#line 541 "pic.y" +#line 540 "pic.y" { yyval.x = (yyvsp[-2].x != 0.0 && yyvsp[0].x != 0.0); } break; case 56: -#line 543 "pic.y" +#line 542 "pic.y" { yyval.x = (yyvsp[-2].x != 0.0 && yyvsp[0].x != 0.0); } break; case 57: -#line 545 "pic.y" +#line 544 "pic.y" { yyval.x = (yyvsp[-2].x != 0.0 || yyvsp[0].x != 0.0); } break; case 58: -#line 547 "pic.y" +#line 546 "pic.y" { yyval.x = (yyvsp[-2].x != 0.0 || yyvsp[0].x != 0.0); } break; case 59: -#line 549 "pic.y" +#line 548 "pic.y" { yyval.x = (yyvsp[-2].x != 0.0 || yyvsp[0].x != 0.0); } break; case 60: -#line 551 "pic.y" +#line 550 "pic.y" { yyval.x = (yyvsp[0].x == 0.0); } break; case 61: -#line 557 "pic.y" +#line 556 "pic.y" { yyval.by.val = 1.0; yyval.by.is_multiplicative = 0; } break; case 62: -#line 562 "pic.y" +#line 561 "pic.y" { yyval.by.val = yyvsp[0].x; yyval.by.is_multiplicative = 0; } break; case 63: -#line 567 "pic.y" +#line 566 "pic.y" { yyval.by.val = yyvsp[0].x; yyval.by.is_multiplicative = 1; } break; case 64: -#line 575 "pic.y" +#line 574 "pic.y" { yyval.pl.obj = yyvsp[0].spec->make_object(¤t_position, ¤t_direction); @@ -4238,7 +4237,7 @@ } break; case 65: -#line 589 "pic.y" +#line 588 "pic.y" { yyval.pl = yyvsp[0].pl; define_label(yyvsp[-3].str, & yyval.pl); @@ -4246,7 +4245,7 @@ } break; case 66: -#line 595 "pic.y" +#line 594 "pic.y" { yyval.pl.obj = 0; yyval.pl.x = yyvsp[0].pair.x; @@ -4256,7 +4255,7 @@ } break; case 67: -#line 603 "pic.y" +#line 602 "pic.y" { yyval.pl = yyvsp[0].pl; define_label(yyvsp[-3].str, & yyval.pl); @@ -4264,7 +4263,7 @@ } break; case 68: -#line 609 "pic.y" +#line 608 "pic.y" { yyval.state.x = current_position.x; yyval.state.y = current_position.y; @@ -4272,7 +4271,7 @@ } break; case 69: -#line 615 "pic.y" +#line 614 "pic.y" { current_position.x = yyvsp[-2].state.x; current_position.y = yyvsp[-2].state.y; @@ -4280,13 +4279,13 @@ } break; case 70: -#line 621 "pic.y" +#line 620 "pic.y" { yyval.pl = yyvsp[-3].pl; } break; case 71: -#line 625 "pic.y" +#line 624 "pic.y" { yyval.pl.obj = 0; yyval.pl.x = current_position.x; @@ -4294,34 +4293,34 @@ } break; case 72: -#line 634 "pic.y" +#line 633 "pic.y" {} break; case 73: -#line 636 "pic.y" +#line 635 "pic.y" {} break; case 74: -#line 641 "pic.y" +#line 640 "pic.y" { yyval.spec = new object_spec(BOX_OBJECT); } break; case 75: -#line 643 "pic.y" +#line 642 "pic.y" { yyval.spec = new object_spec(CIRCLE_OBJECT); } break; case 76: -#line 645 "pic.y" +#line 644 "pic.y" { yyval.spec = new object_spec(ELLIPSE_OBJECT); } break; case 77: -#line 647 "pic.y" +#line 646 "pic.y" { yyval.spec = new object_spec(ARC_OBJECT); yyval.spec->dir = current_direction; } break; case 78: -#line 652 "pic.y" +#line 651 "pic.y" { yyval.spec = new object_spec(LINE_OBJECT); lookup_variable("lineht", & yyval.spec->segment_height); @@ -4330,7 +4329,7 @@ } break; case 79: -#line 659 "pic.y" +#line 658 "pic.y" { yyval.spec = new object_spec(ARROW_OBJECT); lookup_variable("lineht", & yyval.spec->segment_height); @@ -4339,7 +4338,7 @@ } break; case 80: -#line 666 "pic.y" +#line 665 "pic.y" { yyval.spec = new object_spec(MOVE_OBJECT); lookup_variable("moveht", & yyval.spec->segment_height); @@ -4348,7 +4347,7 @@ } break; case 81: -#line 673 "pic.y" +#line 672 "pic.y" { yyval.spec = new object_spec(SPLINE_OBJECT); lookup_variable("lineht", & yyval.spec->segment_height); @@ -4357,21 +4356,21 @@ } break; case 82: -#line 680 "pic.y" +#line 679 "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 83: -#line 685 "pic.y" +#line 684 "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 84: -#line 690 "pic.y" +#line 689 "pic.y" { yyval.spec = new object_spec(TEXT_OBJECT); yyval.spec->text = new text_item(format_number(yyvsp[0].lstr.str, yyvsp[-1].x), @@ -4380,7 +4379,7 @@ } break; case 85: -#line 697 "pic.y" +#line 696 "pic.y" { saved_state *p = new saved_state; yyval.pstate = p; @@ -4397,7 +4396,7 @@ } break; case 86: -#line 712 "pic.y" +#line 711 "pic.y" { current_position.x = yyvsp[-2].pstate->x; current_position.y = yyvsp[-2].pstate->y; @@ -4411,7 +4410,7 @@ } break; case 87: -#line 724 "pic.y" +#line 723 "pic.y" { yyval.spec = yyvsp[-2].spec; yyval.spec->height = yyvsp[0].x; @@ -4419,7 +4418,7 @@ } break; case 88: -#line 730 "pic.y" +#line 729 "pic.y" { yyval.spec = yyvsp[-2].spec; yyval.spec->radius = yyvsp[0].x; @@ -4427,7 +4426,7 @@ } break; case 89: -#line 736 "pic.y" +#line 735 "pic.y" { yyval.spec = yyvsp[-2].spec; yyval.spec->width = yyvsp[0].x; @@ -4435,7 +4434,7 @@ } break; case 90: -#line 742 "pic.y" +#line 741 "pic.y" { yyval.spec = yyvsp[-2].spec; yyval.spec->radius = yyvsp[0].x/2.0; @@ -4443,7 +4442,7 @@ } break; case 91: -#line 748 "pic.y" +#line 747 "pic.y" { yyval.spec = yyvsp[-1].spec; yyval.spec->flags |= HAS_SEGMENT; @@ -4464,7 +4463,7 @@ } break; case 92: -#line 767 "pic.y" +#line 766 "pic.y" { yyval.spec = yyvsp[-1].spec; yyval.spec->dir = UP_DIRECTION; @@ -4473,7 +4472,7 @@ } break; case 93: -#line 774 "pic.y" +#line 773 "pic.y" { yyval.spec = yyvsp[-2].spec; yyval.spec->dir = UP_DIRECTION; @@ -4482,7 +4481,7 @@ } break; case 94: -#line 781 "pic.y" +#line 780 "pic.y" { yyval.spec = yyvsp[-1].spec; yyval.spec->dir = DOWN_DIRECTION; @@ -4491,7 +4490,7 @@ } break; case 95: -#line 788 "pic.y" +#line 787 "pic.y" { yyval.spec = yyvsp[-2].spec; yyval.spec->dir = DOWN_DIRECTION; @@ -4500,7 +4499,7 @@ } break; case 96: -#line 795 "pic.y" +#line 794 "pic.y" { yyval.spec = yyvsp[-1].spec; yyval.spec->dir = RIGHT_DIRECTION; @@ -4509,7 +4508,7 @@ } break; case 97: -#line 802 "pic.y" +#line 801 "pic.y" { yyval.spec = yyvsp[-2].spec; yyval.spec->dir = RIGHT_DIRECTION; @@ -4518,7 +4517,7 @@ } break; case 98: -#line 809 "pic.y" +#line 808 "pic.y" { yyval.spec = yyvsp[-1].spec; yyval.spec->dir = LEFT_DIRECTION; @@ -4527,7 +4526,7 @@ } break; case 99: -#line 816 "pic.y" +#line 815 "pic.y" { yyval.spec = yyvsp[-2].spec; yyval.spec->dir = LEFT_DIRECTION; @@ -4536,7 +4535,7 @@ } break; case 100: -#line 823 "pic.y" +#line 822 "pic.y" { yyval.spec = yyvsp[-2].spec; yyval.spec->flags |= HAS_FROM; @@ -4545,7 +4544,7 @@ } break; case 101: -#line 830 "pic.y" +#line 829 "pic.y" { yyval.spec = yyvsp[-2].spec; if (yyval.spec->flags & HAS_SEGMENT) @@ -4562,7 +4561,7 @@ } break; case 102: -#line 845 "pic.y" +#line 844 "pic.y" { yyval.spec = yyvsp[-2].spec; yyval.spec->flags |= HAS_AT; @@ -4576,7 +4575,7 @@ } break; case 103: -#line 857 "pic.y" +#line 856 "pic.y" { yyval.spec = yyvsp[-2].spec; yyval.spec->flags |= HAS_WITH; @@ -4584,7 +4583,7 @@ } break; case 104: -#line 863 "pic.y" +#line 862 "pic.y" { yyval.spec = yyvsp[-2].spec; yyval.spec->flags |= HAS_WITH; @@ -4595,7 +4594,7 @@ } break; case 105: -#line 872 "pic.y" +#line 871 "pic.y" { yyval.spec = yyvsp[-2].spec; yyval.spec->flags |= HAS_SEGMENT; @@ -4604,7 +4603,7 @@ } break; case 106: -#line 879 "pic.y" +#line 878 "pic.y" { yyval.spec = yyvsp[-1].spec; if (yyval.spec->flags & HAS_SEGMENT) { @@ -4618,13 +4617,13 @@ } break; case 107: -#line 891 "pic.y" +#line 890 "pic.y" { yyval.spec = yyvsp[-1].spec; /* nothing*/ } break; case 108: -#line 895 "pic.y" +#line 894 "pic.y" { yyval.spec = yyvsp[-1].spec; yyval.spec->flags |= IS_DOTTED; @@ -4632,7 +4631,7 @@ } break; case 109: -#line 901 "pic.y" +#line 900 "pic.y" { yyval.spec = yyvsp[-2].spec; yyval.spec->flags |= IS_DOTTED; @@ -4640,7 +4639,7 @@ } break; case 110: -#line 907 "pic.y" +#line 906 "pic.y" { yyval.spec = yyvsp[-1].spec; yyval.spec->flags |= IS_DASHED; @@ -4648,7 +4647,7 @@ } break; case 111: -#line 913 "pic.y" +#line 912 "pic.y" { yyval.spec = yyvsp[-2].spec; yyval.spec->flags |= IS_DASHED; @@ -4656,14 +4655,14 @@ } break; case 112: -#line 919 "pic.y" +#line 918 "pic.y" { yyval.spec = yyvsp[-1].spec; yyval.spec->flags |= IS_DEFAULT_FILLED; } break; case 113: -#line 924 "pic.y" +#line 923 "pic.y" { yyval.spec = yyvsp[-2].spec; yyval.spec->flags |= IS_FILLED; @@ -4671,7 +4670,7 @@ } break; case 114: -#line 930 "pic.y" +#line 929 "pic.y" { yyval.spec = yyvsp[-2].spec; yyval.spec->flags |= (IS_SHADED | IS_FILLED); @@ -4680,7 +4679,7 @@ } break; case 115: -#line 937 "pic.y" +#line 936 "pic.y" { yyval.spec = yyvsp[-2].spec; yyval.spec->flags |= (IS_SHADED | IS_OUTLINED | IS_FILLED); @@ -4691,7 +4690,7 @@ } break; case 116: -#line 946 "pic.y" +#line 945 "pic.y" { yyval.spec = yyvsp[-2].spec; yyval.spec->flags |= IS_OUTLINED; @@ -4700,7 +4699,7 @@ } break; case 117: -#line 953 "pic.y" +#line 952 "pic.y" { yyval.spec = yyvsp[-1].spec; /* line chop chop means line chop 0 chop 0*/ @@ -4718,7 +4717,7 @@ } break; case 118: -#line 969 "pic.y" +#line 968 "pic.y" { yyval.spec = yyvsp[-2].spec; if (yyval.spec->flags & IS_DEFAULT_CHOPPED) { @@ -4737,56 +4736,56 @@ } break; case 119: -#line 986 "pic.y" +#line 985 "pic.y" { yyval.spec = yyvsp[-1].spec; yyval.spec->flags |= IS_SAME; } break; case 120: -#line 991 "pic.y" +#line 990 "pic.y" { yyval.spec = yyvsp[-1].spec; yyval.spec->flags |= IS_INVISIBLE; } break; case 121: -#line 996 "pic.y" +#line 995 "pic.y" { yyval.spec = yyvsp[-1].spec; yyval.spec->flags |= HAS_LEFT_ARROW_HEAD; } break; case 122: -#line 1001 "pic.y" +#line 1000 "pic.y" { yyval.spec = yyvsp[-1].spec; yyval.spec->flags |= HAS_RIGHT_ARROW_HEAD; } break; case 123: -#line 1006 "pic.y" +#line 1005 "pic.y" { yyval.spec = yyvsp[-1].spec; yyval.spec->flags |= (HAS_LEFT_ARROW_HEAD|HAS_RIGHT_ARROW_HEAD); } break; case 124: -#line 1011 "pic.y" +#line 1010 "pic.y" { yyval.spec = yyvsp[-1].spec; yyval.spec->flags |= IS_CLOCKWISE; } break; case 125: -#line 1016 "pic.y" +#line 1015 "pic.y" { yyval.spec = yyvsp[-1].spec; yyval.spec->flags &= ~IS_CLOCKWISE; } break; case 126: -#line 1021 "pic.y" +#line 1020 "pic.y" { yyval.spec = yyvsp[-1].spec; text_item **p; @@ -4796,7 +4795,7 @@ } break; case 127: -#line 1029 "pic.y" +#line 1028 "pic.y" { yyval.spec = yyvsp[-1].spec; if (yyval.spec->text) { @@ -4808,7 +4807,7 @@ } break; case 128: -#line 1039 "pic.y" +#line 1038 "pic.y" { yyval.spec = yyvsp[-1].spec; if (yyval.spec->text) { @@ -4820,7 +4819,7 @@ } break; case 129: -#line 1049 "pic.y" +#line 1048 "pic.y" { yyval.spec = yyvsp[-1].spec; if (yyval.spec->text) { @@ -4832,7 +4831,7 @@ } break; case 130: -#line 1059 "pic.y" +#line 1058 "pic.y" { yyval.spec = yyvsp[-1].spec; if (yyval.spec->text) { @@ -4844,7 +4843,7 @@ } break; case 131: -#line 1069 "pic.y" +#line 1068 "pic.y" { yyval.spec = yyvsp[-2].spec; yyval.spec->flags |= HAS_THICKNESS; @@ -4852,18 +4851,18 @@ } break; case 132: -#line 1075 "pic.y" +#line 1074 "pic.y" { yyval.spec = yyvsp[-1].spec; yyval.spec->flags |= IS_ALIGNED; } break; case 133: -#line 1083 "pic.y" +#line 1082 "pic.y" { yyval.lstr = yyvsp[0].lstr; } break; case 134: -#line 1085 "pic.y" +#line 1084 "pic.y" { yyval.lstr.filename = yyvsp[-2].lstr.filename; yyval.lstr.lineno = yyvsp[-2].lstr.lineno; @@ -4873,7 +4872,7 @@ } break; case 135: -#line 1096 "pic.y" +#line 1095 "pic.y" { yyval.dv.v = 0; yyval.dv.nv = 0; @@ -4881,7 +4880,7 @@ } break; case 136: -#line 1102 "pic.y" +#line 1101 "pic.y" { yyval.dv = yyvsp[-2].dv; if (yyval.dv.nv >= yyval.dv.maxv) { @@ -4892,8 +4891,16 @@ else { double *oldv = yyval.dv.v; yyval.dv.maxv *= 2; +#if 0 yyval.dv.v = new double[yyval.dv.maxv]; memcpy(yyval.dv.v, oldv, yyval.dv.nv*sizeof(double)); +#else + /* workaround for bug in Compaq C++ V6.5-033*/ + /* for Compaq Tru64 UNIX V5.1A (Rev. 1885)*/ + double *foo = new double[yyval.dv.maxv]; + memcpy(foo, oldv, yyval.dv.nv*sizeof(double)); + yyval.dv.v = foo; +#endif a_delete oldv; } } @@ -4902,11 +4909,11 @@ } break; case 137: -#line 1124 "pic.y" +#line 1131 "pic.y" { yyval.pair = yyvsp[0].pair; } break; case 138: -#line 1126 "pic.y" +#line 1133 "pic.y" { position pos = yyvsp[0].pl; yyval.pair.x = pos.x; @@ -4914,61 +4921,61 @@ } break; case 139: -#line 1135 "pic.y" +#line 1142 "pic.y" { yyval.pair = yyvsp[0].pair; } break; case 140: -#line 1137 "pic.y" +#line 1144 "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 141: -#line 1142 "pic.y" +#line 1149 "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 142: -#line 1147 "pic.y" +#line 1154 "pic.y" { yyval.pair.x = yyvsp[-3].pair.x; yyval.pair.y = yyvsp[-1].pair.y; } break; case 143: -#line 1152 "pic.y" +#line 1159 "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 144: -#line 1157 "pic.y" +#line 1164 "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 147: -#line 1170 "pic.y" +#line 1177 "pic.y" { yyval.pair.x = yyvsp[-2].x; yyval.pair.y = yyvsp[0].x; } break; case 148: -#line 1175 "pic.y" +#line 1182 "pic.y" { yyval.pair = yyvsp[-1].pair; } break; case 149: -#line 1181 "pic.y" +#line 1188 "pic.y" { yyval.pl = yyvsp[0].pl; } break; case 150: -#line 1183 "pic.y" +#line 1190 "pic.y" { path pth(yyvsp[0].crn); if (!pth.follow(yyvsp[-1].pl, & yyval.pl)) @@ -4976,7 +4983,7 @@ } break; case 151: -#line 1189 "pic.y" +#line 1196 "pic.y" { path pth(yyvsp[-1].crn); if (!pth.follow(yyvsp[0].pl, & yyval.pl)) @@ -4984,7 +4991,7 @@ } break; case 152: -#line 1195 "pic.y" +#line 1202 "pic.y" { path pth(yyvsp[-2].crn); if (!pth.follow(yyvsp[0].pl, & yyval.pl)) @@ -4992,7 +4999,7 @@ } break; case 153: -#line 1201 "pic.y" +#line 1208 "pic.y" { yyval.pl.x = current_position.x; yyval.pl.y = current_position.y; @@ -5000,7 +5007,7 @@ } break; case 154: -#line 1210 "pic.y" +#line 1217 "pic.y" { place *p = lookup_label(yyvsp[0].str); if (!p) { @@ -5012,11 +5019,11 @@ } break; case 155: -#line 1220 "pic.y" +#line 1227 "pic.y" { yyval.pl.obj = yyvsp[0].obj; } break; case 156: -#line 1222 "pic.y" +#line 1229 "pic.y" { path pth(yyvsp[0].str); if (!pth.follow(yyvsp[-2].pl, & yyval.pl)) @@ -5024,26 +5031,26 @@ } break; case 157: -#line 1231 "pic.y" +#line 1238 "pic.y" { yyval.n = yyvsp[0].n; } break; case 158: -#line 1233 "pic.y" +#line 1240 "pic.y" { /* XXX Check for overflow (and non-integers?).*/ yyval.n = (int)yyvsp[-1].x; } break; case 159: -#line 1241 "pic.y" +#line 1248 "pic.y" { yyval.n = 1; } break; case 160: -#line 1243 "pic.y" +#line 1250 "pic.y" { yyval.n = yyvsp[-1].n; } break; case 161: -#line 1248 "pic.y" +#line 1255 "pic.y" { int count = 0; object *p; @@ -5060,7 +5067,7 @@ } break; case 162: -#line 1263 "pic.y" +#line 1270 "pic.y" { int count = 0; object *p; @@ -5077,80 +5084,80 @@ } break; case 163: -#line 1281 "pic.y" +#line 1288 "pic.y" { yyval.obtype = BOX_OBJECT; } break; case 164: -#line 1283 "pic.y" +#line 1290 "pic.y" { yyval.obtype = CIRCLE_OBJECT; } break; case 165: -#line 1285 "pic.y" +#line 1292 "pic.y" { yyval.obtype = ELLIPSE_OBJECT; } break; case 166: -#line 1287 "pic.y" +#line 1294 "pic.y" { yyval.obtype = ARC_OBJECT; } break; case 167: -#line 1289 "pic.y" +#line 1296 "pic.y" { yyval.obtype = LINE_OBJECT; } break; case 168: -#line 1291 "pic.y" +#line 1298 "pic.y" { yyval.obtype = ARROW_OBJECT; } break; case 169: -#line 1293 "pic.y" +#line 1300 "pic.y" { yyval.obtype = SPLINE_OBJECT; } break; case 170: -#line 1295 "pic.y" +#line 1302 "pic.y" { yyval.obtype = BLOCK_OBJECT; } break; case 171: -#line 1297 "pic.y" +#line 1304 "pic.y" { yyval.obtype = TEXT_OBJECT; } break; case 172: -#line 1302 "pic.y" +#line 1309 "pic.y" { yyval.pth = new path(yyvsp[0].str); } break; case 173: -#line 1304 "pic.y" +#line 1311 "pic.y" { yyval.pth = yyvsp[-2].pth; yyval.pth->append(yyvsp[0].str); } break; case 174: -#line 1312 "pic.y" +#line 1319 "pic.y" { yyval.pth = new path(yyvsp[0].crn); } break; case 175: -#line 1316 "pic.y" +#line 1323 "pic.y" { yyval.pth = yyvsp[0].pth; } break; case 176: -#line 1318 "pic.y" +#line 1325 "pic.y" { yyval.pth = yyvsp[-1].pth; yyval.pth->append(yyvsp[0].crn); } break; case 177: -#line 1326 "pic.y" +#line 1333 "pic.y" { yyval.pth = yyvsp[0].pth; } break; case 178: -#line 1328 "pic.y" +#line 1335 "pic.y" { yyval.pth = yyvsp[-3].pth; yyval.pth->set_ypath(yyvsp[-1].pth); } break; case 179: -#line 1334 "pic.y" +#line 1341 "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)); @@ -5158,7 +5165,7 @@ } break; case 180: -#line 1340 "pic.y" +#line 1347 "pic.y" { lex_warning("`last %1' in `with' argument ignored", object_type_name(yyvsp[-1].obtype)); @@ -5166,7 +5173,7 @@ } break; case 181: -#line 1346 "pic.y" +#line 1353 "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)); @@ -5174,7 +5181,7 @@ } break; case 182: -#line 1352 "pic.y" +#line 1359 "pic.y" { lex_warning("initial `%1' in `with' argument ignored", yyvsp[-1].str); a_delete yyvsp[-1].str; @@ -5182,135 +5189,135 @@ } break; case 183: -#line 1361 "pic.y" +#line 1368 "pic.y" { yyval.crn = &object::north; } break; case 184: -#line 1363 "pic.y" +#line 1370 "pic.y" { yyval.crn = &object::east; } break; case 185: -#line 1365 "pic.y" +#line 1372 "pic.y" { yyval.crn = &object::west; } break; case 186: -#line 1367 "pic.y" +#line 1374 "pic.y" { yyval.crn = &object::south; } break; case 187: -#line 1369 "pic.y" +#line 1376 "pic.y" { yyval.crn = &object::north_east; } break; case 188: -#line 1371 "pic.y" +#line 1378 "pic.y" { yyval.crn = &object:: south_east; } break; case 189: -#line 1373 "pic.y" +#line 1380 "pic.y" { yyval.crn = &object::north_west; } break; case 190: -#line 1375 "pic.y" +#line 1382 "pic.y" { yyval.crn = &object::south_west; } break; case 191: -#line 1377 "pic.y" +#line 1384 "pic.y" { yyval.crn = &object::center; } break; case 192: -#line 1379 "pic.y" +#line 1386 "pic.y" { yyval.crn = &object::start; } break; case 193: -#line 1381 "pic.y" +#line 1388 "pic.y" { yyval.crn = &object::end; } break; case 194: -#line 1383 "pic.y" +#line 1390 "pic.y" { yyval.crn = &object::north; } break; case 195: -#line 1385 "pic.y" +#line 1392 "pic.y" { yyval.crn = &object::south; } break; case 196: -#line 1387 "pic.y" +#line 1394 "pic.y" { yyval.crn = &object::west; } break; case 197: -#line 1389 "pic.y" +#line 1396 "pic.y" { yyval.crn = &object::east; } break; case 198: -#line 1391 "pic.y" +#line 1398 "pic.y" { yyval.crn = &object::north_west; } break; case 199: -#line 1393 "pic.y" +#line 1400 "pic.y" { yyval.crn = &object::south_west; } break; case 200: -#line 1395 "pic.y" +#line 1402 "pic.y" { yyval.crn = &object::north_east; } break; case 201: -#line 1397 "pic.y" +#line 1404 "pic.y" { yyval.crn = &object::south_east; } break; case 202: -#line 1399 "pic.y" +#line 1406 "pic.y" { yyval.crn = &object::west; } break; case 203: -#line 1401 "pic.y" +#line 1408 "pic.y" { yyval.crn = &object::east; } break; case 204: -#line 1403 "pic.y" +#line 1410 "pic.y" { yyval.crn = &object::north_west; } break; case 205: -#line 1405 "pic.y" +#line 1412 "pic.y" { yyval.crn = &object::south_west; } break; case 206: -#line 1407 "pic.y" +#line 1414 "pic.y" { yyval.crn = &object::north_east; } break; case 207: -#line 1409 "pic.y" +#line 1416 "pic.y" { yyval.crn = &object::south_east; } break; case 208: -#line 1411 "pic.y" +#line 1418 "pic.y" { yyval.crn = &object::north; } break; case 209: -#line 1413 "pic.y" +#line 1420 "pic.y" { yyval.crn = &object::south; } break; case 210: -#line 1415 "pic.y" +#line 1422 "pic.y" { yyval.crn = &object::east; } break; case 211: -#line 1417 "pic.y" +#line 1424 "pic.y" { yyval.crn = &object::west; } break; case 212: -#line 1419 "pic.y" +#line 1426 "pic.y" { yyval.crn = &object::center; } break; case 213: -#line 1421 "pic.y" +#line 1428 "pic.y" { yyval.crn = &object::start; } break; case 214: -#line 1423 "pic.y" +#line 1430 "pic.y" { yyval.crn = &object::end; } break; case 215: -#line 1428 "pic.y" +#line 1435 "pic.y" { if (!lookup_variable(yyvsp[0].str, & yyval.x)) { lex_error("there is no variable `%1'", yyvsp[0].str); @@ -5320,11 +5327,11 @@ } break; case 216: -#line 1436 "pic.y" +#line 1443 "pic.y" { yyval.x = yyvsp[0].x; } break; case 217: -#line 1438 "pic.y" +#line 1445 "pic.y" { if (yyvsp[-1].pl.obj != 0) yyval.x = yyvsp[-1].pl.obj->origin().x; @@ -5333,7 +5340,7 @@ } break; case 218: -#line 1445 "pic.y" +#line 1452 "pic.y" { if (yyvsp[-1].pl.obj != 0) yyval.x = yyvsp[-1].pl.obj->origin().y; @@ -5342,7 +5349,7 @@ } break; case 219: -#line 1452 "pic.y" +#line 1459 "pic.y" { if (yyvsp[-1].pl.obj != 0) yyval.x = yyvsp[-1].pl.obj->height(); @@ -5351,7 +5358,7 @@ } break; case 220: -#line 1459 "pic.y" +#line 1466 "pic.y" { if (yyvsp[-1].pl.obj != 0) yyval.x = yyvsp[-1].pl.obj->width(); @@ -5360,7 +5367,7 @@ } break; case 221: -#line 1466 "pic.y" +#line 1473 "pic.y" { if (yyvsp[-1].pl.obj != 0) yyval.x = yyvsp[-1].pl.obj->radius(); @@ -5369,19 +5376,19 @@ } break; case 222: -#line 1473 "pic.y" +#line 1480 "pic.y" { yyval.x = yyvsp[-2].x + yyvsp[0].x; } break; case 223: -#line 1475 "pic.y" +#line 1482 "pic.y" { yyval.x = yyvsp[-2].x - yyvsp[0].x; } break; case 224: -#line 1477 "pic.y" +#line 1484 "pic.y" { yyval.x = yyvsp[-2].x * yyvsp[0].x; } break; case 225: -#line 1479 "pic.y" +#line 1486 "pic.y" { if (yyvsp[0].x == 0.0) { lex_error("division by zero"); @@ -5391,7 +5398,7 @@ } break; case 226: -#line 1487 "pic.y" +#line 1494 "pic.y" { if (yyvsp[0].x == 0.0) { lex_error("modulus by zero"); @@ -5401,7 +5408,7 @@ } break; case 227: -#line 1495 "pic.y" +#line 1502 "pic.y" { errno = 0; yyval.x = pow(yyvsp[-2].x, yyvsp[0].x); @@ -5416,15 +5423,15 @@ } break; case 228: -#line 1508 "pic.y" +#line 1515 "pic.y" { yyval.x = -yyvsp[0].x; } break; case 229: -#line 1510 "pic.y" +#line 1517 "pic.y" { yyval.x = yyvsp[-1].x; } break; case 230: -#line 1512 "pic.y" +#line 1519 "pic.y" { errno = 0; yyval.x = sin(yyvsp[-1].x); @@ -5435,7 +5442,7 @@ } break; case 231: -#line 1521 "pic.y" +#line 1528 "pic.y" { errno = 0; yyval.x = cos(yyvsp[-1].x); @@ -5446,7 +5453,7 @@ } break; case 232: -#line 1530 "pic.y" +#line 1537 "pic.y" { errno = 0; yyval.x = atan2(yyvsp[-3].x, yyvsp[-1].x); @@ -5461,7 +5468,7 @@ } break; case 233: -#line 1543 "pic.y" +#line 1550 "pic.y" { errno = 0; yyval.x = log10(yyvsp[-1].x); @@ -5472,7 +5479,7 @@ } break; case 234: -#line 1552 "pic.y" +#line 1559 "pic.y" { errno = 0; yyval.x = pow(10.0, yyvsp[-1].x); @@ -5483,7 +5490,7 @@ } break; case 235: -#line 1561 "pic.y" +#line 1568 "pic.y" { errno = 0; yyval.x = sqrt(yyvsp[-1].x); @@ -5494,23 +5501,23 @@ } break; case 236: -#line 1570 "pic.y" +#line 1577 "pic.y" { yyval.x = yyvsp[-3].x > yyvsp[-1].x ? yyvsp[-3].x : yyvsp[-1].x; } break; case 237: -#line 1572 "pic.y" +#line 1579 "pic.y" { yyval.x = yyvsp[-3].x < yyvsp[-1].x ? yyvsp[-3].x : yyvsp[-1].x; } break; case 238: -#line 1574 "pic.y" +#line 1581 "pic.y" { yyval.x = floor(yyvsp[-1].x); } break; case 239: -#line 1576 "pic.y" +#line 1583 "pic.y" { yyval.x = 1.0 + floor(((rand()&0x7fff)/double(0x7fff))*yyvsp[-1].x); } break; case 240: -#line 1578 "pic.y" +#line 1585 "pic.y" { /* return a random number in the range [0,1) */ /* portable, but not very random */ @@ -5518,49 +5525,49 @@ } break; case 241: -#line 1584 "pic.y" +#line 1591 "pic.y" { yyval.x = 0; srand((unsigned int)yyvsp[-1].x); } break; case 242: -#line 1589 "pic.y" +#line 1596 "pic.y" { yyval.x = (yyvsp[-2].x < yyvsp[0].x); } break; case 243: -#line 1591 "pic.y" +#line 1598 "pic.y" { yyval.x = (yyvsp[-2].x <= yyvsp[0].x); } break; case 244: -#line 1593 "pic.y" +#line 1600 "pic.y" { yyval.x = (yyvsp[-2].x > yyvsp[0].x); } break; case 245: -#line 1595 "pic.y" +#line 1602 "pic.y" { yyval.x = (yyvsp[-2].x >= yyvsp[0].x); } break; case 246: -#line 1597 "pic.y" +#line 1604 "pic.y" { yyval.x = (yyvsp[-2].x == yyvsp[0].x); } break; case 247: -#line 1599 "pic.y" +#line 1606 "pic.y" { yyval.x = (yyvsp[-2].x != yyvsp[0].x); } break; case 248: -#line 1601 "pic.y" +#line 1608 "pic.y" { yyval.x = (yyvsp[-2].x != 0.0 && yyvsp[0].x != 0.0); } break; case 249: -#line 1603 "pic.y" +#line 1610 "pic.y" { yyval.x = (yyvsp[-2].x != 0.0 || yyvsp[0].x != 0.0); } break; case 250: -#line 1605 "pic.y" +#line 1612 "pic.y" { yyval.x = (yyvsp[0].x == 0.0); } break; -#line 5564 "y.tab.c" +#line 5571 "y.tab.c" } yyssp -= yym; yystate = *yyssp; diff -ruN groff-1.19/src/preproc/pic/pic.man groff-1.19.1/src/preproc/pic/pic.man --- groff-1.19/src/preproc/pic/pic.man Sun Apr 27 01:25:43 2003 +++ groff-1.19.1/src/preproc/pic/pic.man Thu Jul 10 06:37:20 2003 @@ -675,8 +675,8 @@ determined by the circle of which the arc is a part. . .LP -Circles and arcs can be dotted or dashed. -In \*(tx mode splines can be dotted or dashed. +Circles, ellipses, and arcs can be dotted or dashed. +In \*(tx mode splines can be dotted or dashed also. . .LP Boxes can have rounded corners. diff -ruN groff-1.19/src/preproc/pic/pic.y groff-1.19.1/src/preproc/pic/pic.y --- groff-1.19/src/preproc/pic/pic.y Sun Apr 20 06:52:18 2003 +++ groff-1.19.1/src/preproc/pic/pic.y Wed Apr 7 17:23:09 2004 @@ -1,4 +1,4 @@ -/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2002, 2003 +/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) @@ -23,7 +23,6 @@ #include "object.h" extern int delim_flag; -extern void do_copy(const char *); extern void copy_rest_thru(const char *, const char *); extern void copy_file_thru(const char *, const char *, const char *); extern void push_body(const char *); @@ -1109,8 +1108,16 @@ else { double *oldv = $$.v; $$.maxv *= 2; +#if 0 $$.v = new double[$$.maxv]; memcpy($$.v, oldv, $$.nv*sizeof(double)); +#else + // workaround for bug in Compaq C++ V6.5-033 + // for Compaq Tru64 UNIX V5.1A (Rev. 1885) + double *foo = new double[$$.maxv]; + memcpy(foo, oldv, $$.nv*sizeof(double)); + $$.v = foo; +#endif a_delete oldv; } } diff -ruN groff-1.19/src/preproc/pic/tex.cpp groff-1.19.1/src/preproc/pic/tex.cpp --- groff-1.19/src/preproc/pic/tex.cpp Sun Apr 27 01:51:47 2003 +++ groff-1.19.1/src/preproc/pic/tex.cpp Tue Jul 8 07:33:55 2003 @@ -324,12 +324,25 @@ printf(" \\special{sh %.3f}%%\n", fill); } position c = transform(cent); - printf(" \\special{%s %d %d %d %d 0 6.28319}%%\n", - (lt.type == line_type::invisible ? "ia" : "ar"), - milliinches(c.x), - milliinches(c.y), - milliinches(dim.x/(2.0*scale)), - milliinches(dim.y/(2.0*scale))); + switch (lt.type) { + case line_type::solid: + case line_type::invisible: + printf(" \\special{%s %d %d %d %d 0 6.28319}%%\n", + (lt.type == line_type::invisible ? "ia" : "ar"), + milliinches(c.x), + milliinches(c.y), + milliinches(dim.x/(2.0*scale)), + milliinches(dim.y/(2.0*scale))); + break; + case line_type::dashed: + dashed_ellipse(cent, dim / scale, lt); + break; + case line_type::dotted: + dotted_ellipse(cent, dim / scale, lt); + break; + default: + assert(0); + } } void tex_output::command(const char *s, const char *, int) diff -ruN groff-1.19/src/preproc/pic/troff.cpp groff-1.19.1/src/preproc/pic/troff.cpp --- groff-1.19/src/preproc/pic/troff.cpp Thu Feb 13 17:43:45 2003 +++ groff-1.19.1/src/preproc/pic/troff.cpp Mon Oct 27 08:45:06 2003 @@ -197,7 +197,11 @@ case line_type::invisible: break; case line_type::dotted: + dotted_ellipse(cent, dim, lt); + break; case line_type::dashed: + dashed_ellipse(cent, dim, lt); + break; case line_type::solid: simple_ellipse(0, cent, dim); break; @@ -320,7 +324,7 @@ position c = transform(cent); printf("\\h'%.3fi'" "\\v'%.3fi'" - "\\D'%c%.3fi'" + "\\D'%c %.3fi'" "\n.sp -1\n", c.x - rad/scale, c.y, @@ -334,7 +338,7 @@ position c = transform(cent); printf("\\h'%.3fi'" "\\v'%.3fi'" - "\\D'%c%.3fi %.3fi'" + "\\D'%c %.3fi %.3fi'" "\n.sp -1\n", c.x - dim.x/(2.0*scale), c.y, @@ -351,7 +355,7 @@ distance ev = transform(end) - c; printf("\\h'%.3fi'" "\\v'%.3fi'" - "\\D'a%.3fi %.3fi %.3fi %.3fi'" + "\\D'a %.3fi %.3fi %.3fi %.3fi'" "\n.sp -1\n", s.x, s.y, cv.x, cv.y, ev.x, ev.y); } @@ -362,7 +366,7 @@ distance ev = transform(end) - s; printf("\\h'%.3fi'" "\\v'%.3fi'" - "\\D'l%.3fi %.3fi'" + "\\D'l %.3fi %.3fi'" "\n.sp -1\n", s.x, s.y, ev.x, ev.y); } @@ -374,7 +378,7 @@ printf("\\h'%.3fi'" "\\v'%.3fi'", pos.x, pos.y); - fputs("\\D'~", stdout); + fputs("\\D'~ ", stdout); for (int i = 0; i < n; i++) { position temp = transform(v[i]); distance d = temp - pos; @@ -394,7 +398,7 @@ printf("\\h'%.3fi'" "\\v'%.3fi'", pos.x, pos.y); - printf("\\D'%c", (filled ? 'P' : 'p')); + printf("\\D'%c ", (filled ? 'P' : 'p')); for (int i = 1; i < n; i++) { position temp = transform(v[i]); distance d = temp - pos; @@ -476,13 +480,15 @@ void troff_output::set_fill(double f) { if (driver_extension_flag && f != last_fill) { - printf("\\D'Fg %.3f'\n.sp -1\n", 1.0 - f); + // \D'Fg ...' emits a node only in compatibility mode, + // thus we add a dummy node + printf("\\&\\D'Fg %.3f'\n.sp -1\n", 1.0 - f); last_fill = f; } if (last_filled) { free(last_filled); last_filled = 0; - printf("\\M[]\n.sp -1\n"); + printf("\\M[]\n"); } } @@ -492,12 +498,14 @@ if (last_filled || last_outlined) { reset_color(); } + // \m and \M emit a node in compatibility mode only, + // but that won't work anyway if (color_fill) { - printf("\\M[%s]\n.sp -1\n", color_fill); + printf("\\M[%s]\n", color_fill); last_filled = strsave(color_fill); } if (color_outlined) { - printf("\\m[%s]\n.sp -1\n", color_outlined); + printf("\\m[%s]\n", color_outlined); last_outlined = strsave(color_outlined); } } @@ -507,12 +515,12 @@ { if (driver_extension_flag) { if (last_filled) { - printf("\\M[]\n.sp -1\n"); + printf("\\M[]\n"); a_delete last_filled; last_filled = 0; } if (last_outlined) { - printf("\\m[]\n.sp -1\n"); + printf("\\m[]\n"); a_delete last_outlined; last_outlined = 0; } diff -ruN groff-1.19/src/preproc/refer/command.cpp groff-1.19.1/src/preproc/refer/command.cpp --- groff-1.19/src/preproc/refer/command.cpp Sun Feb 10 02:22:12 2002 +++ groff-1.19.1/src/preproc/refer/command.cpp Thu Apr 8 16:24:55 2004 @@ -1,5 +1,5 @@ // -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992, 2001, 2002 +/* Copyright (C) 1989, 1990, 1991, 1992, 2001, 2002, 2004 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) @@ -632,7 +632,7 @@ ? means that the previous argument is optional, * means that the previous argument can occur any number of times. */ -struct { +struct S { const char *name; command_t func; const char *arg_types; diff -ruN groff-1.19/src/preproc/refer/label.cpp groff-1.19.1/src/preproc/refer/label.cpp --- groff-1.19/src/preproc/refer/label.cpp Tue Apr 29 15:37:35 2003 +++ groff-1.19.1/src/preproc/refer/label.cpp Thu May 13 15:31:42 2004 @@ -8,7 +8,7 @@ #define yyerrok (yyerrflag=0) #define YYRECOVERING (yyerrflag!=0) #define YYPREFIX "yy" -#line 22 "label.y" +#line 23 "label.y" #include "refer.h" #include "refid.h" @@ -206,7 +206,7 @@ string literals; -#line 221 "label.y" +#line 222 "label.y" typedef union { int num; expression *expr; @@ -441,7 +441,7 @@ short yyss[YYSTACKSIZE]; YYSTYPE yyvs[YYSTACKSIZE]; #define yystacksize YYSTACKSIZE -#line 397 "label.y" +#line 398 "label.y" /* bison defines const to be empty unless __STDC__ is defined, which it isn't under cfront */ @@ -454,6 +454,20 @@ const char *spec_end; const char *spec_cur; +static char uppercase_array[] = { + 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', + 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', + 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', + 'Y', 'Z', +}; + +static char lowercase_array[] = { + 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', + 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', + 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', + 'y', 'z', +}; + int yylex() { while (spec_ptr < spec_end && csspace(*spec_ptr)) @@ -637,7 +651,8 @@ d = 26; n -= d; n /= 26; - *p++ = c + d - 1; // ASCII dependent + *p++ = c == 'a' ? lowercase_array[d - 1] : + uppercase_array[d - 1]; } *p-- = 0; // Reverse it. @@ -1018,8 +1033,8 @@ label_table[i] = 0; for (i = 0; i < old_size; i++) if (old_table[i]) { - unsigned h = hash_string(label_pool.contents() + old_table[i]->start, - old_table[i]->length); + h = hash_string(label_pool.contents() + old_table[i]->start, + old_table[i]->length); label_info **p; for (p = label_table + (h % label_table_size); *p != 0; @@ -1121,10 +1136,10 @@ { const char *ae1; const char *as1 = r1.get_sort_field(0, n, 0, &ae1); - assert(as1 != 0); const char *ae2; const char *as2 = r2.get_sort_field(0, n, 0, &ae2); - assert(as2 != 0); + if (!as1 && !as2) return 1; // they are the same + if (!as1 || !as2) return 0; return ae1 - as1 == ae2 - as2 && memcmp(as1, as2, ae1 - as1) == 0; } @@ -1132,10 +1147,10 @@ { const char *ae1; const char *as1 = r1.get_sort_field(0, n, -1, &ae1); - assert(as1 != 0); const char *ae2; const char *as2 = r2.get_sort_field(0, n, -1, &ae2); - assert(as2 != 0); + if (!as1 && !as2) return 1; // they are the same + if (!as1 || !as2) return 0; return ae1 - as1 == ae2 - as2 && memcmp(as1, as2, ae1 - as1) == 0; } @@ -1223,7 +1238,7 @@ } return nauthors; } -#line 1227 "y.tab.c" +#line 1242 "y.tab.c" #define YYABORT goto yyabort #define YYREJECT goto yyabort #define YYACCEPT goto yyaccept @@ -1369,74 +1384,74 @@ switch (yyn) { case 1: -#line 250 "label.y" +#line 251 "label.y" { parse_result = (yyvsp[0].expr ? new analyzed_expr(yyvsp[0].expr) : 0); } break; case 2: -#line 255 "label.y" +#line 256 "label.y" { yyval.expr = yyvsp[0].expr; } break; case 3: -#line 257 "label.y" +#line 258 "label.y" { yyval.expr = new conditional_expr(yyvsp[-4].expr, yyvsp[-2].expr, yyvsp[0].expr); } break; case 4: -#line 262 "label.y" +#line 263 "label.y" { yyval.expr = 0; } break; case 5: -#line 264 "label.y" +#line 265 "label.y" { yyval.expr = yyvsp[0].expr; } break; case 6: -#line 269 "label.y" +#line 270 "label.y" { yyval.expr = yyvsp[0].expr; } break; case 7: -#line 271 "label.y" +#line 272 "label.y" { yyval.expr = new alternative_expr(yyvsp[-2].expr, yyvsp[0].expr); } break; case 8: -#line 273 "label.y" +#line 274 "label.y" { yyval.expr = new conditional_expr(yyvsp[-2].expr, yyvsp[0].expr, 0); } break; case 9: -#line 278 "label.y" +#line 279 "label.y" { yyval.expr = yyvsp[0].expr; } break; case 10: -#line 280 "label.y" +#line 281 "label.y" { yyval.expr = new list_expr(yyvsp[-1].expr, yyvsp[0].expr); } break; case 11: -#line 285 "label.y" +#line 286 "label.y" { yyval.expr = yyvsp[0].expr; } break; case 12: -#line 287 "label.y" +#line 288 "label.y" { yyval.expr = new substitute_expr(yyvsp[-2].expr, yyvsp[0].expr); } break; case 13: -#line 292 "label.y" +#line 293 "label.y" { yyval.expr = new at_expr; } break; case 14: -#line 294 "label.y" +#line 295 "label.y" { yyval.expr = new literal_expr(literals.contents() + yyvsp[0].str.start, yyvsp[0].str.len); } break; case 15: -#line 299 "label.y" +#line 300 "label.y" { yyval.expr = new field_expr(yyvsp[0].num, 0); } break; case 16: -#line 301 "label.y" +#line 302 "label.y" { yyval.expr = new field_expr(yyvsp[-1].num, yyvsp[0].num - 1); } break; case 17: -#line 303 "label.y" +#line 304 "label.y" { switch (yyvsp[0].num) { case 'I': @@ -1453,13 +1468,13 @@ } break; case 18: -#line 319 "label.y" +#line 320 "label.y" { yyval.expr = new format_expr('0', yyvsp[0].dig.ndigits, yyvsp[0].dig.val); } break; case 19: -#line 323 "label.y" +#line 324 "label.y" { switch (yyvsp[-1].num) { case 'l': @@ -1491,62 +1506,62 @@ } break; case 20: -#line 354 "label.y" +#line 355 "label.y" { yyval.expr = new truncate_expr(yyvsp[-2].expr, yyvsp[0].num); } break; case 21: -#line 356 "label.y" +#line 357 "label.y" { yyval.expr = new truncate_expr(yyvsp[-2].expr, -yyvsp[0].num); } break; case 22: -#line 358 "label.y" +#line 359 "label.y" { yyval.expr = new star_expr(yyvsp[-1].expr); } break; case 23: -#line 360 "label.y" +#line 361 "label.y" { yyval.expr = yyvsp[-1].expr; } break; case 24: -#line 362 "label.y" +#line 363 "label.y" { yyval.expr = new separator_expr(yyvsp[-1].expr); } break; case 25: -#line 367 "label.y" +#line 368 "label.y" { yyval.num = -1; } break; case 26: -#line 369 "label.y" +#line 370 "label.y" { yyval.num = yyvsp[0].num; } break; case 27: -#line 374 "label.y" +#line 375 "label.y" { yyval.num = yyvsp[0].num; } break; case 28: -#line 376 "label.y" +#line 377 "label.y" { yyval.num = yyvsp[-1].num*10 + yyvsp[0].num; } break; case 29: -#line 381 "label.y" +#line 382 "label.y" { yyval.dig.ndigits = 1; yyval.dig.val = yyvsp[0].num; } break; case 30: -#line 383 "label.y" +#line 384 "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 "label.y" +#line 390 "label.y" { yyval.num = 0; } break; case 32: -#line 391 "label.y" +#line 392 "label.y" { yyval.num = 1; } break; case 33: -#line 393 "label.y" +#line 394 "label.y" { yyval.num = -1; } break; -#line 1550 "y.tab.c" +#line 1565 "y.tab.c" } yyssp -= yym; yystate = *yyssp; diff -ruN groff-1.19/src/preproc/refer/label.y groff-1.19.1/src/preproc/refer/label.y --- groff-1.19/src/preproc/refer/label.y Thu Nov 16 22:10:40 2000 +++ groff-1.19.1/src/preproc/refer/label.y Wed May 12 11:38:30 2004 @@ -1,5 +1,6 @@ /* -*- C++ -*- - Copyright (C) 1989, 1990, 1991, 1992, 2000 Free Software Foundation, Inc. + Copyright (C) 1989, 1990, 1991, 1992, 2000, 2004 + Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) This file is part of groff. @@ -406,6 +407,20 @@ const char *spec_end; const char *spec_cur; +static char uppercase_array[] = { + 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', + 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', + 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', + 'Y', 'Z', +}; + +static char lowercase_array[] = { + 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', + 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', + 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', + 'y', 'z', +}; + int yylex() { while (spec_ptr < spec_end && csspace(*spec_ptr)) @@ -589,7 +604,8 @@ d = 26; n -= d; n /= 26; - *p++ = c + d - 1; // ASCII dependent + *p++ = c == 'a' ? lowercase_array[d - 1] : + uppercase_array[d - 1]; } *p-- = 0; // Reverse it. @@ -970,8 +986,8 @@ label_table[i] = 0; for (i = 0; i < old_size; i++) if (old_table[i]) { - unsigned h = hash_string(label_pool.contents() + old_table[i]->start, - old_table[i]->length); + h = hash_string(label_pool.contents() + old_table[i]->start, + old_table[i]->length); label_info **p; for (p = label_table + (h % label_table_size); *p != 0; @@ -1073,10 +1089,10 @@ { const char *ae1; const char *as1 = r1.get_sort_field(0, n, 0, &ae1); - assert(as1 != 0); const char *ae2; const char *as2 = r2.get_sort_field(0, n, 0, &ae2); - assert(as2 != 0); + if (!as1 && !as2) return 1; // they are the same + if (!as1 || !as2) return 0; return ae1 - as1 == ae2 - as2 && memcmp(as1, as2, ae1 - as1) == 0; } @@ -1084,10 +1100,10 @@ { const char *ae1; const char *as1 = r1.get_sort_field(0, n, -1, &ae1); - assert(as1 != 0); const char *ae2; const char *as2 = r2.get_sort_field(0, n, -1, &ae2); - assert(as2 != 0); + if (!as1 && !as2) return 1; // they are the same + if (!as1 || !as2) return 0; return ae1 - as1 == ae2 - as2 && memcmp(as1, as2, ae1 - as1) == 0; } diff -ruN groff-1.19/src/preproc/refer/ref.cpp groff-1.19.1/src/preproc/refer/ref.cpp --- groff-1.19/src/preproc/refer/ref.cpp Thu Apr 19 16:01:56 2001 +++ groff-1.19.1/src/preproc/refer/ref.cpp Mon Jan 5 23:40:06 2004 @@ -1,5 +1,6 @@ // -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992, 2001 Free Software Foundation, Inc. +/* Copyright (C) 1989, 1990, 1991, 1992, 2001, 2003 + Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) This file is part of groff. @@ -420,8 +421,7 @@ sort_fields += '\0'; const char *sf = sort_fields.contents(); while (*sf != '\0') { - if (sf > sort_fields) - sort_key += SORT_SEP; + sort_key += SORT_SEP; char f = *sf++; int n = 1; if (*sf == '+') { diff -ruN groff-1.19/src/preproc/refer/refer.h groff-1.19.1/src/preproc/refer/refer.h --- groff-1.19/src/preproc/refer/refer.h Sun Aug 19 23:32:32 2001 +++ groff-1.19.1/src/preproc/refer/refer.h Sat Apr 17 07:30:19 2004 @@ -1,5 +1,6 @@ // -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992, 2001 Free Software Foundation, Inc. +/* Copyright (C) 1989, 1990, 1991, 1992, 2001, 2004 + Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) This file is part of groff. @@ -72,6 +73,6 @@ const errarg &arg2 = empty_errarg, const errarg &arg3 = empty_errarg); -struct reference; +class reference; void compute_labels(reference **, int); diff -ruN groff-1.19/src/preproc/soelim/soelim.cpp groff-1.19.1/src/preproc/soelim/soelim.cpp --- groff-1.19/src/preproc/soelim/soelim.cpp Thu Apr 17 22:46:17 2003 +++ groff-1.19.1/src/preproc/soelim/soelim.cpp Wed Apr 7 17:55:39 2004 @@ -1,5 +1,6 @@ // -*- C++ -*- -/* Copyright (C) 1989-1992, 2000, 2001, 2003 Free Software Foundation, Inc. +/* Copyright (C) 1989-1992, 2000, 2001, 2003, 2004 + Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) This file is part of groff. @@ -28,38 +29,20 @@ #include "error.h" #include "stringclass.h" #include "nonposix.h" +#include "searchpath.h" -static size_t include_list_length; -static const char **include_list; +// The include search path initially contains only the current directory. +static search_path include_search_path(0, 0, 0, 1); int compatible_flag = 0; int raw_flag = 0; int tex_flag = 0; -extern int interpret_lf_args(const char *); extern "C" const char *Version_string; int do_file(const char *filename); -static void -include_path_append(const char *path) -{ - ++include_list_length; - size_t nbytes = include_list_length * sizeof(char *); - if (include_list) - include_list = (const char **)realloc((void *)include_list, nbytes); - else - include_list = (const char **)malloc(nbytes); - if (include_list == NULL) - { - fprintf(stderr, "%s: out of memory\n", program_name); - exit(2); - } - include_list[include_list_length - 1] = path; -} - - void usage(FILE *stream) { fprintf(stream, "usage: %s [ -Crtv ] [ -I file ] [ files ]\n", program_name); @@ -68,7 +51,6 @@ int main(int argc, char **argv) { program_name = argv[0]; - include_path_append("."); int opt; static const struct option long_options[] = { { "help", no_argument, 0, CHAR_MAX + 1 }, @@ -87,7 +69,7 @@ compatible_flag = 1; break; case 'I': - include_path_append(optarg); + include_search_path.command_line_dir(optarg); break; case 'r': raw_flag = 1; @@ -172,50 +154,17 @@ int do_file(const char *filename) { - FILE *fp; - string whole_filename; - if (strcmp(filename, "-") == 0) { - fp = stdin; - whole_filename = filename; - whole_filename += '\0'; - } - else if (IS_ABSOLUTE(filename)) { - whole_filename = filename; - whole_filename += '\0'; - errno = 0; - fp = fopen(filename, "r"); - if (fp == 0) { - error("can't open `%1': %2", filename, strerror(errno)); - return 0; - } - } - else { - size_t j; - for (j = 0; j < include_list_length; ++j) - { - const char *path = include_list[j]; - if (0 == strcmp(path, ".")) - whole_filename = filename; - else - whole_filename = string(path) + "/" + filename; - whole_filename += '\0'; - errno = 0; - fp = fopen(whole_filename.contents(), "r"); - if (fp != 0) - break; - if (errno != ENOENT) { - error("can't open `%1': %2", - whole_filename.contents(), strerror(errno)); - return 0; - } - } - if (j >= include_list_length) - { - errno = ENOENT; - error("can't open `%1': %2", filename, strerror(errno)); - return 0; - } + char *file_name_in_path = 0; + FILE *fp = include_search_path.open_file_cautious(filename, + &file_name_in_path); + int err = errno; + string whole_filename(file_name_in_path ? file_name_in_path : filename); + a_delete file_name_in_path; + if (fp == 0) { + error("can't open `%1': %2", whole_filename.contents(), strerror(err)); + return 0; } + whole_filename += '\0'; current_filename = whole_filename.contents(); current_lineno = 1; set_location(); diff -ruN groff-1.19/src/preproc/soelim/soelim.man groff-1.19.1/src/preproc/soelim/soelim.man --- groff-1.19/src/preproc/soelim/soelim.man Thu Apr 17 22:49:36 2003 +++ groff-1.19.1/src/preproc/soelim/soelim.man Mon Oct 13 14:26:52 2003 @@ -80,7 +80,7 @@ This option may be used to specify a directory to search for files (both those on the command line and those named in .B \&.so -lines). +requests). The current directory is always searched first. This option may be specified more than once, the directories will be searched in the order specified. diff -ruN groff-1.19/src/preproc/tbl/main.cpp groff-1.19.1/src/preproc/tbl/main.cpp --- groff-1.19/src/preproc/tbl/main.cpp Fri Jan 3 23:37:43 2003 +++ groff-1.19.1/src/preproc/tbl/main.cpp Wed Apr 7 17:21:48 2004 @@ -1,5 +1,5 @@ // -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2002, 2003 +/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) @@ -573,6 +573,11 @@ put_string(font, stderr); putc(' ', stderr); } + if (!macro.empty()) { + putc('m', stderr); + put_string(macro, stderr); + putc(' ', stderr); + } switch (vertical_alignment) { case entry_modifier::CENTER: break; @@ -886,6 +891,40 @@ } } break; + case 'x': + case 'X': + do { + c = in.get(); + } while (c == ' ' || c == '\t'); + if (c == EOF) { + error("missing macro name"); + break; + } + if (c == '(') { + for (;;) { + c = in.get(); + if (c == EOF || c == ' ' || c == '\t') { + error("missing `)'"); + break; + } + if (c == ')') { + c = in.get(); + break; + } + list->macro += char(c); + } + } + else { + list->macro = c; + char cc = c; + c = in.get(); + if (!csdigit(cc) + && c != EOF && c != ' ' && c != '\t' && c != '.' && c != '\n') { + list->macro += char(c); + c = in.get(); + } + } + break; case 'v': case 'V': c = in.get(); @@ -1184,9 +1223,9 @@ 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) { - int c; - for (c = 0; c < ncolumns; c++) { - entry_format *e = f->entry[format_index] + c; + int cnt; + for (cnt = 0; cnt < ncolumns; cnt++) { + entry_format *e = f->entry[format_index] + cnt; if (e->type != FORMAT_HLINE && e->type != FORMAT_DOUBLE_HLINE // Unfortunately tbl treats a span as needing data. @@ -1194,11 +1233,11 @@ ) break; } - if (c < ncolumns) + if (cnt < ncolumns) break; - for (c = 0; c < ncolumns; c++) - tbl->add_entry(current_row, c, input_entry, - f->entry[format_index] + c, current_filename, + for (cnt = 0; cnt < ncolumns; cnt++) + tbl->add_entry(current_row, cnt, input_entry, + f->entry[format_index] + cnt, current_filename, current_lineno); tbl->add_vlines(current_row, f->vline[format_index]); format_index++; diff -ruN groff-1.19/src/preproc/tbl/table.cpp groff-1.19.1/src/preproc/tbl/table.cpp --- groff-1.19/src/preproc/tbl/table.cpp Sat Jan 4 05:12:25 2003 +++ groff-1.19.1/src/preproc/tbl/table.cpp Sun Apr 18 12:51:19 2004 @@ -1,5 +1,5 @@ // -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2003 +/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2003, 2004 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) @@ -128,14 +128,14 @@ struct horizontal_span { horizontal_span *next; - short start_col; - short end_col; + int start_col; + int end_col; horizontal_span(int, int, horizontal_span *); }; -struct single_line_entry; -struct double_line_entry; -struct simple_entry; +class single_line_entry; +class double_line_entry; +class simple_entry; class table_entry { friend class table; @@ -145,8 +145,8 @@ protected: int start_row; int end_row; - short start_col; - short end_col; + int start_col; + int end_col; const entry_modifier *mod; public: void set_location(); @@ -687,8 +687,8 @@ if (alphabetic) prints("-2n"); prints("\n"); - set_modifier(mod); prints(".cp \\n(" COMPATIBLE_REG "\n"); + set_modifier(mod); set_location(); prints(contents); prints(".br\n.di\n.cp 0\n"); @@ -965,6 +965,8 @@ prints('-'); printfs("%1\n", as_string(m->vertical_spacing.val)); } + if (!m->macro.empty()) + printfs(".%1\n", m->macro); } void set_inline_modifier(const entry_modifier *m) @@ -1088,7 +1090,7 @@ vertical_rule *next; int start_row; int end_row; - short col; + int col; char is_double; string top_adjust; string bot_adjust; diff -ruN groff-1.19/src/preproc/tbl/table.h groff-1.19.1/src/preproc/tbl/table.h --- groff-1.19/src/preproc/tbl/table.h Sun Sep 8 14:46:49 2002 +++ groff-1.19.1/src/preproc/tbl/table.h Sat Apr 17 07:20:23 2004 @@ -1,5 +1,5 @@ // -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992, 2001, 2002 +/* Copyright (C) 1989, 1990, 1991, 1992, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) @@ -41,6 +41,7 @@ inc_number point_size; inc_number vertical_spacing; string font; + string macro; enum { CENTER, TOP, BOTTOM } vertical_alignment; char zero_width; char stagger; @@ -69,7 +70,7 @@ void debug_print() const; }; -struct table_entry; +class table_entry; struct horizontal_span; struct stuff; struct vertical_rule; diff -ruN groff-1.19/src/preproc/tbl/tbl.man groff-1.19.1/src/preproc/tbl/tbl.man --- groff-1.19/src/preproc/tbl/tbl.man Fri Dec 13 07:13:30 2002 +++ groff-1.19.1/src/preproc/tbl/tbl.man Thu Mar 11 00:04:29 2004 @@ -1,5 +1,6 @@ .ig -Copyright (C) 1989-1995, 2001, 2002 Free Software Foundation, Inc. +Copyright (C) 1989-1995, 2001, 2002, 2003, 2004 + Free Software Foundation, Inc. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice @@ -287,6 +288,33 @@ the last entry takes effect. . .TP +x,X +This is a GNU tbl extension. +Either of these specifiers may be followed by a macro name +(either one or two characters long), +or long name in parentheses. +A one-letter macro name must be separated by one or more blanks +from whatever follows. +The macro which name can be specified here +must be defined before creating the table. +It is called just before the table's cell text is output. +As implemented currently, this macro is only called if block input is used, +that is, text between `T{' and `T}'. +The macro should contain only simple +.B troff +requests to change the text block formatting, like text adjustment, +hyphenation, size, or font. +The macro is called +.I after +other cell modifications like +.BR b , +.B f +or +.B v +are output. +Thus the macro can overwrite other modification specifiers. +. +.TP e,E Make equally-spaced columns. . @@ -339,6 +367,19 @@ It is started with `T{' and closed with `T}'. The former must end a line, and the latter must start a line, probably followed by other data columns (separated with tabs). +By default, the text block is formatted with the settings which were +active before entering the table, possibly overridden by the +.B v +and +.B w +tbl specifiers. +For example, to make all text blocks ragged-right, insert +.B .na +right before the starting +.B .TS +(and +.B .ad +after the table). .LP To change the data format within a table, use the .B .T& diff -ruN groff-1.19/src/roff/groff/groff.cpp groff-1.19.1/src/roff/groff/groff.cpp --- groff-1.19/src/roff/groff/groff.cpp Sun Sep 22 10:35:48 2002 +++ groff-1.19.1/src/roff/groff/groff.cpp Wed Apr 7 16:40:23 2004 @@ -1,5 +1,6 @@ // -*- C++ -*- -/* Copyright (C) 1989-2000, 2001, 2002 Free Software Foundation, Inc. +/* Copyright (C) 1989-2000, 2001, 2002, 2003, 2004 + Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) This file is part of groff. @@ -93,7 +94,7 @@ possible_command commands[NCOMMANDS]; int run_commands(int no_pipe); -void print_commands(); +void print_commands(FILE *); 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); @@ -114,6 +115,7 @@ int zflag = 0; int iflag = 0; int Xflag = 0; + int oflag = 0; int safer_flag = 1; int opt; const char *command_prefix = getenv("GROFF_COMMAND_PREFIX"); @@ -140,6 +142,12 @@ case 'I': commands[SOELIM_INDEX].set_name(command_prefix, "soelim"); commands[SOELIM_INDEX].append_arg(buf, optarg); + // .psbb may need to search for files + commands[TROFF_INDEX].append_arg(buf, optarg); + // \X'ps:import' may need to search for files + Pargs += buf; + Pargs += optarg; + Pargs += '\0'; break; case 't': commands[TBL_INDEX].set_name(command_prefix, "tbl"); @@ -179,7 +187,7 @@ vflag = 1; { printf("GNU groff version %s\n", Version_string); - printf("Copyright (C) 2002 Free Software Foundation, Inc.\n" + printf("Copyright (C) 2004 Free Software Foundation, Inc.\n" "GNU groff comes with ABSOLUTELY NO WARRANTY.\n" "You may redistribute copies of groff and its subprograms\n" "under the terms of the GNU General Public License.\n" @@ -234,14 +242,15 @@ case 'F': font::command_line_font_dir(optarg); if (Fargs.length() > 0) { - Fargs += PATH_SEP[0]; + Fargs += PATH_SEP_CHAR; Fargs += optarg; } else Fargs = optarg; break; - case 'f': case 'o': + oflag = 1; + case 'f': case 'm': case 'r': case 'd': @@ -295,7 +304,7 @@ const char *real_driver = 0; if (Xflag) { real_driver = postdriver; - postdriver = GXDITVIEW; + postdriver = (char *)GXDITVIEW; commands[TROFF_INDEX].append_arg("-r" XREG "=", "1"); } if (postdriver) @@ -334,7 +343,7 @@ } if (gxditview_flag) commands[POST_INDEX].append_arg("-"); - if (lflag && !Xflag && spooler) { + if (lflag && !vflag && !Xflag && spooler) { commands[SPOOL_INDEX].set_name(BSHELL); commands[SPOOL_INDEX].append_arg(BSHELL_DASH_C); Largs += '\0'; @@ -347,8 +356,11 @@ } commands[TROFF_INDEX].append_arg("-T", device); // html renders equations as images via ps - if (strcmp(device, "html") == 0) + if (strcmp(device, "html") == 0) { + if (oflag) + fatal("`-o' option is invalid with device `html'"); commands[EQN_INDEX].append_arg("-Tps:html"); + } else commands[EQN_INDEX].append_arg("-T", device); @@ -372,7 +384,7 @@ e += Fargs; char *fontpath = getenv("GROFF_FONT_PATH"); if (fontpath && *fontpath) { - e += PATH_SEP[0]; + e += PATH_SEP_CHAR; e += fontpath; } e += '\0'; @@ -398,17 +410,17 @@ else f += BINPATH; if (path && *path) { - f += PATH_SEP[0]; + f += PATH_SEP_CHAR; f += path; } f += '\0'; if (putenv(strsave(f.contents()))) fatal("putenv failed"); } - if (Vflag) { - print_commands(); + if (Vflag) + print_commands(Vflag == 1 ? stdout : stderr); + if (Vflag == 1) exit(0); - } return run_commands(vflag); } @@ -474,7 +486,7 @@ } } -void print_commands() +void print_commands(FILE *fp) { int last; for (last = SPOOL_INDEX; last >= 0; last--) @@ -482,7 +494,7 @@ break; for (int i = 0; i <= last; i++) if (commands[i].get_name() != 0) - commands[i].print(i == last, stdout); + commands[i].print(i == last, fp); } // Run the commands. Return the code with which to exit. @@ -724,7 +736,7 @@ "-N\tdon't allow newlines within eqn delimiters\n" "-S\tenable safer mode (the default)\n" "-U\tenable unsafe mode\n" -"-Idir\tsearch dir for soelim. Implies -s\n" +"-Idir\tsearch dir for soelim, troff, and grops. Implies -s\n" "\n", stdout); exit(0); diff -ruN groff-1.19/src/roff/groff/groff.man groff-1.19.1/src/roff/groff/groff.man --- groff-1.19/src/roff/groff/groff.man Wed Mar 19 22:27:15 2003 +++ groff-1.19.1/src/roff/groff/groff.man Thu Jan 15 07:39:31 2004 @@ -1,9 +1,9 @@ .ig groff.man -Last update: 18 Mar 2003 +Last update: 13 Jan 2004 -Copyright (C) 1989, 2002, 2003 Free Software Foundation, Inc. +Copyright (C) 1989, 2002, 2003, 2004 Free Software Foundation, Inc. Rewritten in 2002 by Bernd Warken Permission is granted to copy, distribute and/or modify this document @@ -20,6 +20,9 @@ .\" Setup .\" -------------------------------------------------------------------- . +.do nr groff_C \n[.C] +.cp 0 +. .mso www.tmac . .\" set adjust to both @@ -185,7 +188,7 @@ .c Environment variable .de EnvVar . SM -. BR \$1 \$2 +. BR \%\$1 \$2 .. .c -------------------------------------------------------------------- .c a shell command line @@ -373,8 +376,20 @@ . . .OptDef I "" dir -Add search directory for -.BR \%@g@soelim (@MAN1EXT@). +This option may be used to specify a directory to search for +files (both those on the command line and those named in +.B \&.psbb +and +.B \&.so +requests, and +.B \eX'ps: import' +and +.B \eX'ps: file' +escapes). +The current directory is always searched first. +This option may be specified more than once; +the directories will be searched in the order specified. +No directory search is performed for files specified using an absolute path. This option implies the .ShortOpt s option. @@ -601,7 +616,9 @@ .OptDef V Output the pipeline that would be run by .BR groff -(as a wrapper program), but do not execute it. +(as a wrapper program) on the standard output, but do not execute it. +If given more than once, +the commands will be both printed on the standard error and run. . . .OptDef X @@ -1267,8 +1284,16 @@ .EnvVar TMPDIR instead, temporary files will be created in the directory .EnvVar $TMPDIR . +On MS-DOS and Windows\ 32 platforms, the environment variables +.EnvVar TMP +and +.EnvVar TEMP +(in that order) are searched also, after +.EnvVar GROFF_TMPDIR +and +.EnvVar TMPDIR . . -Otherwise temporary files will be created in +Otherwise, temporary files will be created in .BR /tmp . The .BR \%@g@refer (@MAN1EXT@), @@ -1494,7 +1519,7 @@ .SH AUTHORS .\" -------------------------------------------------------------------- . -Copyright \(co 1989, 2002, 2003 Free Software Foundation, Inc. +Copyright \(co 1989, 2002, 2003, 2004 Free Software Foundation, Inc. . .P This document is distributed under the terms of the FDL (GNU Free @@ -1598,6 +1623,7 @@ .BR \%grohtml (@MAN1EXT@), .BR \%grolbp (@MAN1EXT@), .BR \%grolj4 (@MAN1EXT@), +.BR \%lj4_font (@MAN5EXT@), .BR \%grops (@MAN1EXT@), .BR \%grotty (@MAN1EXT@). . @@ -1620,6 +1646,7 @@ .BR \%addftinfo (@MAN1EXT@), .BR \%afmtodit (@MAN1EXT@), .BR \%eqn2graph (@MAN1EXT@), +.BR \%grap2graph (@MAN1EXT@), .BR \%groffer (@MAN1EXT@), .BR \%gxditview (@MAN1EXT@), .BR \%hpftodit (@MAN1EXT@), @@ -1629,6 +1656,7 @@ .BR \%pic2graph (@MAN1EXT@), .BR \%tfmtodit (@MAN1EXT@). . +.cp \n[groff_C] . .\" -------------------------------------------------------------------- .\" Emacs setup diff -ruN groff-1.19/src/roff/groff/pipeline.c groff-1.19.1/src/roff/groff/pipeline.c --- groff-1.19/src/roff/groff/pipeline.c Tue Jan 28 08:25:36 2003 +++ groff-1.19.1/src/roff/groff/pipeline.c Sun Apr 18 08:46:55 2004 @@ -1,4 +1,4 @@ -/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2002, 2003 +/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) @@ -39,7 +39,6 @@ #ifdef _POSIX_VERSION #include - #define PID_T pid_t #else /* not _POSIX_VERSION */ @@ -78,27 +77,23 @@ #include "pipeline.h" -#ifdef __STDC__ -#define P(parms) parms -#else -#define P(parms) () -#ifndef _WIN32 -#define const /* as nothing */ +#define error c_error + +#ifdef __cplusplus +extern "C" { #endif + +extern void error(const char *, const char *, const char *, const char *); +extern void c_fatal(const char *, const char *, const char *, const char *); +extern const char *i_to_a(int); /* from libgroff */ + +#ifdef __cplusplus +} #endif -#define error c_error -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(const char *); +static const char *xstrsignal(int); -static void sys_fatal P((const char *)); -static const char *xstrsignal P((int)); -static char *i_to_a P((int)); - -/* MSVC can support asynchronous processes, but it's unlikely to have - fork(). So, until someone writes an emulation, let them at least - have a workable groff by using the good-ole DOS pipe simulation - via temporary files... */ #if defined(__MSDOS__) \ || (defined(_WIN32) && !defined(_UWIN) && !defined(__CYGWIN__)) \ @@ -108,85 +103,119 @@ #include #include #include +#include #include "nonposix.h" -/* A signal handler that just records that a signal has happened. */ -static int child_interrupted; +static const char *sh = "sh"; +static const char *cmd = "cmd"; +static const char *command = "command"; -static RETSIGTYPE signal_catcher(int signo) +extern int strcasecmp(const char *, const char *); + +char *sbasename(const char *path) { - child_interrupted++; -} + char *base; + const char *p1, *p2; -static const char *sh = "sh"; -static const char *command = "command"; + p1 = path; + if ((p2 = strrchr(p1, '\\')) + || (p2 = strrchr(p1, '/')) + || (p2 = strrchr(p1, ':'))) + p1 = p2 + 1; + if ((p2 = strrchr(p1, '.')) + && ((strcasecmp(p2, ".exe") == 0) + || (strcasecmp(p2, ".com") == 0))) + ; + else + p2 = p1 + strlen(p1); + + base = malloc((size_t)(p2 - p1)); + strncpy(base, p1, p2 - p1); + *(base + (p2 - p1)) = '\0'; + + return(base); +} -const char * -system_shell_name(void) +/* Get the name of the system shell */ +char *system_shell_name(void) { - static const char *shell_name; + const char *shell_name; - /* We want them to be able to use a Unixy shell if they have it - installed. Let spawnlp try to find it, but if it fails, default - to COMMAND.COM. */ - if (shell_name == NULL) { - int sh_found = spawnlp(P_WAIT, sh, sh, "-c", ":", NULL) == 0; - - if (sh_found) - shell_name = sh; - else - shell_name = command; - } - return shell_name; + /* + Use a Unixy shell if it's installed. Use SHELL if set; otherwise, + let spawnlp try to find sh; if that fails, use COMSPEC if set; if + not, try cmd.exe; if that fails, default to command.com. + */ + + if ((shell_name = getenv("SHELL")) != NULL) + ; + else if (spawnlp(_P_WAIT, sh, sh, "-c", ":", NULL) == 0) + shell_name = sh; + else if ((shell_name = getenv("COMSPEC")) != NULL) + ; + else if (spawnlp(_P_WAIT, cmd, cmd, "/c", ";", NULL) == 0) + shell_name = cmd; + else + shell_name = command; + + return sbasename(shell_name); } -const char * -system_shell_dash_c(void) +const char *system_shell_dash_c(void) { - if (strcmp(system_shell_name(), sh) == 0) - return "-c"; + char *shell_name; + const char *dash_c; + + shell_name = system_shell_name(); + + /* Assume that if the shell name ends in "sh", it's Unixy */ + if (strcasecmp(shell_name + strlen(shell_name) - strlen("sh"), "sh") == 0) + dash_c = "-c"; else - return "/c"; + dash_c = "/c"; + + free(shell_name); + return dash_c; } -int -is_system_shell(const char *shell) +int is_system_shell(const char *prog) { - size_t shlen; - size_t ibase = 0, idot, i; + int result; + char *this_prog, *system_shell; - if (!shell) /* paranoia */ + if (!prog) /* paranoia */ return 0; - idot = shlen = strlen(shell); - for (i = 0; i < shlen; i++) { - if (shell[i] == '.') - idot = i; - else if (shell[i] == '/' || shell[i] == '\\' || shell[i] == ':') { - ibase = i + 1; - idot = shlen; - } - } + this_prog = sbasename(prog); + system_shell = system_shell_name(); - /* "sh" and "sh.exe" should compare equal. */ - return (strncasecmp(shell + ibase, system_shell_name(), idot - ibase) == 0 - && (idot == shlen - || strcasecmp(shell + idot, ".exe") == 0 - || strcasecmp(shell + idot, ".com") == 0)); + result = strcasecmp(this_prog, system_shell) == 0; + + free(this_prog); + free(system_shell); + + return result; } #ifdef _WIN32 -/* Win32 doesn't have fork() */ +/* + Windows 32 doesn't have fork(), so we need to start asynchronous child + processes with spawn() rather than exec(). If there is more than one + command, i.e., a pipeline, the parent must set up each child's I/O + redirection prior to the spawn. The original stdout must be restored + before spawning the last process in the pipeline, and the original + stdin must be restored in the parent after spawning the last process + and before waiting for any of the children. +*/ -int -run_pipeline(int ncommands, char ***commands, int no_pipe) +int run_pipeline(int ncommands, char ***commands, int no_pipe) { - int save_stdin, save_stdout; int i; - int last_input = 0; - int proc_count = ncommands; + int last_input = 0; /* pacify some compilers */ + int save_stdin = 0; + int save_stdout = 0; int ret = 0; char err_str[BUFSIZ]; PID_T pids[MAX_COMMANDS]; @@ -200,16 +229,22 @@ if (ncommands > 1 && !no_pipe) { /* last command doesn't need a new pipe */ if (i < ncommands - 1) { - if (_pipe(pdes, BUFSIZ, O_BINARY | O_NOINHERIT) < 0) - sys_fatal("pipe"); + if (pipe(pdes) < 0) { + sprintf(err_str, "%s: pipe", commands[i][0]); + sys_fatal(err_str); + } } /* 1st command; writer */ if (i == 0) { + /* save stdin */ + if ((save_stdin = dup(STDIN_FILENO)) < 0) + sys_fatal("dup stdin"); /* save stdout */ - if ((save_stdout = _dup(1)) < 0) + if ((save_stdout = dup(STDOUT_FILENO)) < 0) sys_fatal("dup stdout"); + /* connect stdout to write end of pipe */ - if (_dup2(pdes[1], 1) < 0) { + if (dup2(pdes[1], STDOUT_FILENO) < 0) { sprintf(err_str, "%s: dup2(stdout)", commands[i][0]); sys_fatal(err_str); } @@ -217,19 +252,28 @@ sprintf(err_str, "%s: close(pipe[WRITE])", commands[i][0]); sys_fatal(err_str); } + /* + Save the read end of the pipe so that it can be connected to + stdin of the next program in the pipeline during the next + pass through the loop. + */ last_input = pdes[0]; } /* reader and writer */ else if (i < ncommands - 1) { /* connect stdin to read end of last pipe */ - if (_dup2(last_input, 0) < 0) { + if (dup2(last_input, STDIN_FILENO) < 0) { sprintf(err_str, " %s: dup2(stdin)", commands[i][0]); - sys_fatal("err_str"); + sys_fatal(err_str); + } + if (close(last_input) < 0) { + sprintf(err_str, "%s: close(last_input)", commands[i][0]); + sys_fatal(err_str); } /* connect stdout to write end of new pipe */ - if (_dup2(pdes[1], 1) < 0) { + if (dup2(pdes[1], STDOUT_FILENO) < 0) { sprintf(err_str, "%s: dup2(stdout)", commands[i][0]); - sys_fatal("err_str"); + sys_fatal(err_str); } if (close(pdes[1]) < 0) { sprintf(err_str, "%s: close(pipe[WRITE])", commands[i][0]); @@ -240,22 +284,27 @@ /* last command; reader */ else { /* connect stdin to read end of last pipe */ - if (_dup2(last_input, 0) < 0) { + if (dup2(last_input, STDIN_FILENO) < 0) { sprintf(err_str, "%s: dup2(stdin)", commands[i][0]); - sys_fatal("err_str"); + sys_fatal(err_str); } if (close(last_input) < 0) { - sprintf(err_str, "%s: close(pipe[READ])", commands[i][0]); + sprintf(err_str, "%s: close(last_input)", commands[i][0]); sys_fatal(err_str); } /* restore original stdout */ - if (_dup2(save_stdout, 1) < 0) { - sprintf(err_str, "%s: dup2(stdout))", "groff"); + if (dup2(save_stdout, STDOUT_FILENO) < 0) { + sprintf(err_str, "%s: dup2(save_stdout))", commands[i][0]); sys_fatal(err_str); } + /* close stdout copy */ + if (close(save_stdout) < 0) { + sprintf(err_str, "%s: close(save_stdout)", commands[i][0]); + sys_fatal(err_str); + } } } - if ((pid = _spawnvp(_P_NOWAIT, commands[i][0], commands[i])) < 0) { + if ((pid = spawnvp(_P_NOWAIT, commands[i][0], commands[i])) < 0) { error("couldn't exec %1: %2", commands[i][0], strerror(errno), (char *)0); fflush(stderr); /* just in case error() doesn't */ @@ -263,65 +312,81 @@ } pids[i] = pid; } + + if (ncommands > 1 && !no_pipe) { + /* restore original stdin if it was redirected */ + if (dup2(save_stdin, STDIN_FILENO) < 0) { + sprintf(err_str, "dup2(save_stdin))"); + sys_fatal(err_str); + } + /* close stdin copy */ + if (close(save_stdin) < 0) { + sprintf(err_str, "close(save_stdin)"); + sys_fatal(err_str); + } + } + for (i = 0; i < ncommands; i++) { int status; - int pid; + PID_T pid; pid = pids[i]; - if ((pid = _cwait(&status, pid, _WAIT_CHILD)) < 0) { - perror(NULL); - sys_fatal("wait"); - if (WIFSIGNALED(status)) { - int sig = WTERMSIG(status); - - error("%1: %2%3", - commands[i][0], - xstrsignal(sig), - WCOREDUMP(status) ? " (core dumped)" : ""); - ret |= 2; - } - else if (WIFEXITED(status)) { - int exit_status = WEXITSTATUS(status); - - if (exit_status == EXEC_FAILED_EXIT_STATUS) - ret |= 4; - else if (exit_status != 0) - ret |= 1; - } - else - error("unexpected status %1", itoa(status), (char *)0, (char *)0); - break; + if ((pid = WAIT(&status, pid, _WAIT_CHILD)) < 0) { + sprintf(err_str, "%s: wait", commands[i][0]); + sys_fatal(err_str); } + else if (status != 0) + ret |= 1; } return ret; } -#else /* _WIN32 */ +#else /* not _WIN32 */ /* MSDOS doesn't have `fork', so we need to simulate the pipe by running - the programs in sequence with standard streams redirected fot and + the programs in sequence with standard streams redirected to and from temporary files. */ -int -run_pipeline(int ncommands, char ***commands, int no_pipe) + +/* A signal handler that just records that a signal has happened. */ +static int child_interrupted; + +static RETSIGTYPE signal_catcher(int signo) +{ + child_interrupted++; +} + +int run_pipeline(int ncommands, char ***commands, int no_pipe) { int save_stdin = dup(0); int save_stdout = dup(1); char *tmpfiles[2]; - char tem1[L_tmpnam], tem2[L_tmpnam]; int infile = 0; int outfile = 1; int i, f, ret = 0; - tmpfiles[0] = tmpnam(tem1); - tmpfiles[1] = tmpnam(tem2); + /* Choose names for a pair of temporary files to implement the pipeline. + Microsoft's `tempnam' uses the directory specified by `getenv("TMP")' + if it exists; in case it doesn't, try the GROFF alternatives, or + `getenv("TEMP")' as last resort -- at least one of these had better + be set, since Microsoft's default has a high probability of failure. */ + char *tmpdir; + if ((tmpdir = getenv("GROFF_TMPDIR")) == NULL + && (tmpdir = getenv("TMPDIR")) == NULL) + tmpdir = getenv("TEMP"); + + /* Don't use `tmpnam' here: Microsoft's implementation yields unusable + file names if current directory is on network share with read-only + root. */ + tmpfiles[0] = tempnam(tmpdir, NULL); + tmpfiles[1] = tempnam(tmpdir, NULL); for (i = 0; i < ncommands; i++) { int exit_status; RETSIGTYPE (*prev_handler)(int); - if (i) { + if (i && !no_pipe) { /* redirect stdin from temp file */ f = open(tmpfiles[infile], O_RDONLY|O_BINARY, 0666); if (f < 0) @@ -376,12 +441,11 @@ return ret; } -#endif /* MS-DOS */ +#endif /* not _WIN32 */ #else /* not __MSDOS__, not _WIN32 */ -int -run_pipeline(int ncommands, char ***commands, int no_pipe) +int run_pipeline(int ncommands, char ***commands, int no_pipe) { int i; int last_input = 0; @@ -496,30 +560,20 @@ #endif /* not __MSDOS__, not _WIN32 */ -static void -sys_fatal(const char *s) +static void sys_fatal(const char *s) { c_fatal("%1: %2", s, strerror(errno), (char *)0); } -static char * -i_to_a(int n) -{ - static char buf[12]; - sprintf(buf, "%d", n); - return buf; -} - -static const char * -xstrsignal(int n) +static const char *xstrsignal(int n) { static char buf[sizeof("Signal ") + 1 + sizeof(int) * 3]; #ifdef NSIG -#ifdef SYS_SIGLIST_DECLARED +#if HAVE_DECL_SYS_SIGLIST if (n >= 0 && n < NSIG && sys_siglist[n] != 0) return sys_siglist[n]; -#endif /* SYS_SIGLIST_DECLARED */ +#endif /* HAVE_DECL_SYS_SIGLIST */ #endif /* NSIG */ sprintf(buf, "Signal %d", n); return buf; diff -ruN groff-1.19/src/roff/nroff/Makefile.sub groff-1.19.1/src/roff/nroff/Makefile.sub --- groff-1.19/src/roff/nroff/Makefile.sub Tue Jan 28 09:40:29 2003 +++ groff-1.19.1/src/roff/nroff/Makefile.sub Tue Apr 6 16:17:10 2004 @@ -4,10 +4,9 @@ all: nroff -nroff: nroff.sh +nroff: nroff.sh $(SH_DEPS_SED_SCRIPT) rm -f $@ - sed -e "s|@BINDIR@|$(bindir)|g" \ - -e "s|@SEP@|$(SEP)|g" \ + sed -f $(SH_DEPS_SED_SCRIPT) \ -e $(SH_SCRIPT_SED_CMD) \ -e "s|@VERSION@|$(version)$(revision)|" $(srcdir)/nroff.sh >$@ chmod +x $@ diff -ruN groff-1.19/src/roff/nroff/nroff.man groff-1.19.1/src/roff/nroff/nroff.man --- groff-1.19/src/roff/nroff/nroff.man Mon Dec 9 11:33:26 2002 +++ groff-1.19.1/src/roff/nroff/nroff.man Mon Jan 5 23:41:36 2004 @@ -1,5 +1,5 @@ .ig -Copyright (C) 1989-2001, 2002 Free Software Foundation, Inc. +Copyright (C) 1989-2001, 2002, 2003 Free Software Foundation, Inc. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice @@ -31,6 +31,7 @@ .el .RB "[\ " "\\$1" "\ ]" .. .OP \-CchipStUv +.OP \-d cs .OP \-m name .OP \-n num .OP \-o list @@ -85,6 +86,7 @@ .B \-c (using the old output scheme instead of SGR escape sequences). The +.BR \-d , .BR \-C , .BR \-i , .BR \-m , diff -ruN groff-1.19/src/roff/nroff/nroff.sh groff-1.19.1/src/roff/nroff/nroff.sh --- groff-1.19/src/roff/nroff/nroff.sh Tue Jan 28 09:40:44 2003 +++ groff-1.19.1/src/roff/nroff/nroff.sh Tue Apr 6 16:10:32 2004 @@ -5,7 +5,7 @@ # Default device. # First try the "locale charmap" command, because it's most reliable. # On systems where it doesn't exist, look at the environment variables. -case "`locale charmap 2>/dev/null`" in +case "`exec 2>/dev/null ; locale charmap`" in UTF-8) T=-Tutf8 ;; ISO-8859-1) @@ -47,10 +47,10 @@ -[eq] | -s*) # ignore these options ;; - -[mrnoT]) + -[dmrnoT]) echo "$prog: option $1 requires an argument" >&2 exit 1 ;; - -[iptSUC] | -[mrno]*) + -[iptSUC] | -[dmrno]*) opts="$opts $1" ;; -Tascii | -Tlatin1 | -Tutf8 | -Tcp1047) T=$1 ;; @@ -58,14 +58,17 @@ # ignore other devices ;; -u*) - # Solaris 2.2 `man' uses -u0; ignore it, + # Solaris 2.2 through at least Solaris 9 `man' invokes + # `nroff -u0 ... | col -x'. Ignore the -u0, # since `less' and `more' can use the emboldening info. - ;; + # However, disable SGR, since Solaris `col' mishandles it. + opts="$opts -P-c" ;; -v | --version) echo "GNU nroff (groff) version @VERSION@" exit 0 ;; --help) - echo "usage: nroff [-CchipStUv] [-mNAME] [-nNUM] [-oLIST] [-rCN] [-Tname] [FILE...]" + echo "usage: nroff [-CchipStUv] [-dCS] [-mNAME] [-nNUM] [-oLIST] [-rCN]" + echo " [-Tname] [FILE...]" exit 0 ;; --) shift @@ -81,11 +84,15 @@ shift done +# Set up the `GROFF_BIN_PATH' variable +# to be exported in the current `GROFF_RUNTIME' environment. + +@GROFF_BIN_PATH_SETUP@ +export GROFF_BIN_PATH + # This shell script is intended for use with man, so warnings are # probably not wanted. Also load nroff-style character definitions. -: ${GROFF_BIN_PATH=@BINDIR@} -export GROFF_BIN_PATH -PATH=$GROFF_BIN_PATH@SEP@$PATH groff -mtty-char $T $opts ${1+"$@"} +PATH="$GROFF_RUNTIME$PATH" groff -mtty-char $T $opts ${1+"$@"} # eof diff -ruN groff-1.19/src/roff/troff/Makefile.sub groff-1.19.1/src/roff/troff/Makefile.sub --- groff-1.19/src/roff/troff/Makefile.sub Sat Apr 12 15:52:37 2003 +++ groff-1.19.1/src/roff/troff/Makefile.sub Tue Jan 6 23:49:05 2004 @@ -6,30 +6,20 @@ dictionary.$(OBJEXT) \ div.$(OBJEXT) \ env.$(OBJEXT) \ - glyphuni.$(OBJEXT) \ input.$(OBJEXT) \ majorminor.$(OBJEXT) \ node.$(OBJEXT) \ number.$(OBJEXT) \ - reg.$(OBJEXT) \ - symbol.$(OBJEXT) \ - unicode.$(OBJEXT) \ - uniglyph.$(OBJEXT) \ - uniuni.$(OBJEXT) + reg.$(OBJEXT) CCSRCS=\ $(srcdir)/dictionary.cpp \ $(srcdir)/div.cpp \ $(srcdir)/env.cpp \ - $(srcdir)/glyphuni.cpp \ $(srcdir)/input.cpp \ majorminor.cpp \ $(srcdir)/node.cpp \ $(srcdir)/number.cpp \ - $(srcdir)/reg.cpp \ - $(srcdir)/symbol.cpp \ - $(srcdir)/unicode.cpp \ - $(srcdir)/uniglyph.cpp \ - $(srcdir)/uniuni.cpp + $(srcdir)/reg.cpp HDRS=\ $(srcdir)/charinfo.h \ $(srcdir)/dictionary.h \ @@ -40,10 +30,8 @@ $(srcdir)/node.h \ $(srcdir)/reg.h \ $(srcdir)/request.h \ - $(srcdir)/symbol.h \ $(srcdir)/token.h \ - $(srcdir)/troff.h \ - $(srcdir)/unicode.h + $(srcdir)/troff.h GENSRCS=majorminor.cpp NAMEPREFIX=$(g) diff -ruN groff-1.19/src/roff/troff/dictionary.cpp groff-1.19.1/src/roff/troff/dictionary.cpp --- groff-1.19/src/roff/troff/dictionary.cpp Fri Oct 5 16:12:24 2001 +++ groff-1.19.1/src/roff/troff/dictionary.cpp Wed Jan 7 00:52:02 2004 @@ -1,5 +1,6 @@ // -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992, 2001 Free Software Foundation, Inc. +/* Copyright (C) 1989, 1990, 1991, 1992, 2001, 2004 + Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) This file is part of groff. @@ -20,7 +21,6 @@ #include "troff.h" -#include "symbol.h" #include "dictionary.h" // is `p' a good size for a hash table @@ -209,4 +209,3 @@ } return 0; } - diff -ruN groff-1.19/src/roff/troff/div.cpp groff-1.19.1/src/roff/troff/div.cpp --- groff-1.19/src/roff/troff/div.cpp Sun Dec 8 17:13:45 2002 +++ groff-1.19.1/src/roff/troff/div.cpp Sun Apr 18 08:59:49 2004 @@ -1,5 +1,5 @@ // -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2002 +/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2002, 2004 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) @@ -23,7 +23,6 @@ // diversions #include "troff.h" -#include "symbol.h" #include "dictionary.h" #include "hvunits.h" #include "env.h" @@ -33,6 +32,8 @@ #include "div.h" #include "reg.h" +#include "nonposix.h" + int exit_started = 0; // the exit process has started int done_end_macro = 0; // the end macro (if any) has finished int seen_last_page_ejector = 0; // seen the LAST_PAGE_EJECTOR cookie @@ -467,7 +468,7 @@ { } -void top_level_diversion::add_trap(symbol nm, vunits pos) +void top_level_diversion::add_trap(symbol nam, vunits pos) { trap *first_free_slot = 0; trap **p; @@ -477,22 +478,22 @@ first_free_slot = *p; } else if ((*p)->position == pos) { - (*p)->nm = nm; + (*p)->nm = nam; return; } } if (first_free_slot) { - first_free_slot->nm = nm; + first_free_slot->nm = nam; first_free_slot->position = pos; } else - *p = new trap(nm, pos, 0); + *p = new trap(nam, pos, 0); } -void top_level_diversion::remove_trap(symbol nm) +void top_level_diversion::remove_trap(symbol nam) { for (trap *p = page_trap_list; p; p = p->next) - if (p->nm == nm) { + if (p->nm == nam) { p->nm = NULL_SYMBOL; return; } @@ -507,10 +508,10 @@ } } -void top_level_diversion::change_trap(symbol nm, vunits pos) +void top_level_diversion::change_trap(symbol nam, vunits pos) { for (trap *p = page_trap_list; p; p = p->next) - if (p->nm == nm) { + if (p->nm == nam) { p->position = pos; return; } @@ -543,6 +544,7 @@ the_output->trailer(topdiv->get_page_length()); delete the_output; } + FLUSH_INPUT_PIPE(STDIN_FILENO); exit(exit_code); } @@ -667,7 +669,7 @@ void begin_page() { int got_arg = 0; - int n; + int n = 0; /* pacify compiler */ if (has_arg() && get_integer(&n, topdiv->get_page_number())) got_arg = 1; while (!tok.newline() && !tok.eof()) diff -ruN groff-1.19/src/roff/troff/div.h groff-1.19.1/src/roff/troff/div.h --- groff-1.19/src/roff/troff/div.h Tue Oct 29 17:12:52 2002 +++ groff-1.19.1/src/roff/troff/div.h Sat Apr 17 06:51:40 2004 @@ -1,5 +1,5 @@ // -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992, 2001, 2002 +/* Copyright (C) 1989, 1990, 1991, 1992, 2001, 2002, 2004 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) @@ -87,7 +87,7 @@ trap(symbol, vunits, trap *); }; -struct output_file; +class output_file; class top_level_diversion : public diversion { int page_number; @@ -154,6 +154,5 @@ void handle_first_page_transition(); void blank_line(); void begin_page(); -void end_diversions(); extern void cleanup_and_exit(int); diff -ruN groff-1.19/src/roff/troff/env.cpp groff-1.19.1/src/roff/troff/env.cpp --- groff-1.19/src/roff/troff/env.cpp Thu Apr 10 13:52:33 2003 +++ groff-1.19.1/src/roff/troff/env.cpp Wed May 5 20:09:05 2004 @@ -1,5 +1,5 @@ // -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2002, 2003 +/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) @@ -20,7 +20,6 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "troff.h" -#include "symbol.h" #include "dictionary.h" #include "hvunits.h" #include "env.h" @@ -114,7 +113,8 @@ return 1; } -void environment::output(node *nd, int no_fill, vunits vs, vunits post_vs, +void environment::output(node *nd, int no_fill_flag, + vunits vs, vunits post_vs, hunits width) { #ifdef WIDOW_CONTROL @@ -132,29 +132,30 @@ #endif /* WIDOW_CONTROL */ if (!trap_sprung_flag && !pending_lines #ifdef WIDOW_CONTROL - && (!widow_control || no_fill) + && (!widow_control || no_fill_flag) #endif /* WIDOW_CONTROL */ ) { - curdiv->output(nd, no_fill, vs, post_vs, width); + curdiv->output(nd, no_fill_flag, vs, post_vs, width); emitted_node = 1; } else { pending_output_line **p; for (p = &pending_lines; *p; p = &(*p)->next) ; - *p = new pending_output_line(nd, no_fill, vs, post_vs, width); + *p = new pending_output_line(nd, no_fill_flag, 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, - vunits post_vs, hunits width) +void environment::output_title(node *nd, int no_fill_flag, + vunits vs, vunits post_vs, + hunits width) { if (!trap_sprung_flag) - curdiv->output(nd, no_fill, vs, post_vs, width); + curdiv->output(nd, no_fill_flag, vs, post_vs, width); else - pending_lines = new pending_output_line(nd, no_fill, vs, post_vs, width, - pending_lines); + pending_lines = new pending_output_line(nd, no_fill_flag, vs, post_vs, + width, pending_lines); } void environment::output_pending_lines() @@ -172,7 +173,8 @@ { if (!widow_control || !pending_lines) return; - for (pending_output_line *p = pending_lines; p->next; p = p->next) + pending_output_line *p; + for (p = pending_lines; p->next; p = p->next) ; if (!p->no_fill) p->last_line = 1; @@ -2146,7 +2148,7 @@ * the key troff commands */ -void environment::add_html_tag(int force, const char *name) +void environment::add_html_tag(int force, const char *nm) { if (!force && (curdiv != topdiv)) return; @@ -2160,11 +2162,11 @@ topdiv->begin_page(); macro *m = new macro; m->append_str("html-tag:"); - for (const char *p = name; *p; p++) + for (const char *p = nm; *p; p++) if (!invalid_input_char((unsigned char)*p)) m->append(*p); curdiv->output(new special_node(*m), 1, 0, 0, 0); - if (strcmp(name, ".nf") == 0) + if (strcmp(nm, ".nf") == 0) curenv->ignore_next_eol = 1; } } @@ -2175,7 +2177,7 @@ * of i. */ -void environment::add_html_tag(int force, const char *name, int i) +void environment::add_html_tag(int force, const char *nm, int i) { if (!force && (curdiv != topdiv)) return; @@ -2189,7 +2191,7 @@ topdiv->begin_page(); macro *m = new macro; m->append_str("html-tag:"); - for (const char *p = name; *p; p++) + for (const char *p = nm; *p; p++) if (!invalid_input_char((unsigned char)*p)) m->append(*p); m->append(' '); @@ -2243,7 +2245,7 @@ } } -node *environment::make_html_tag(const char *name, int i) +node *environment::make_html_tag(const char *nm, int i) { if (is_html) { /* @@ -2254,7 +2256,7 @@ topdiv->begin_page(); macro *m = new macro; m->append_str("html-tag:"); - for (const char *p = name; *p; p++) + for (const char *p = nm; *p; p++) if (!invalid_input_char((unsigned char)*p)) m->append(*p); m->append(' '); @@ -2264,7 +2266,7 @@ return 0; } -node *environment::make_html_tag(const char *name) +node *environment::make_html_tag(const char *nm) { if (is_html) { /* @@ -2275,7 +2277,7 @@ topdiv->begin_page(); macro *m = new macro; m->append_str("html-tag:"); - for (const char *p = name; *p; p++) + for (const char *p = nm; *p; p++) if (!invalid_input_char((unsigned char)*p)) m->append(*p); return new special_node(*m); @@ -2283,7 +2285,7 @@ return 0; } -void environment::do_break(int spread) +void environment::do_break(int do_spread) { if (curdiv == topdiv && topdiv->before_first_page) { topdiv->begin_page(); @@ -2295,7 +2297,7 @@ // this is so that hyphenation works line = new space_node(H0, get_fill_color(), line); space_total++; - possibly_break_line(0, spread); + possibly_break_line(0, do_spread); } while (line != 0 && line->discardable()) { width_total -= line->width(); @@ -2389,8 +2391,8 @@ tem->next = n; n = tem; } - hunits title_length(curenv->title_length); - hunits f = title_length - part_width[1]; + hunits length_title(curenv->title_length); + hunits f = length_title - part_width[1]; hunits f2 = f/2; n = new hmotion_node(f2 - part_width[2], curenv->get_fill_color(), n); p = part[1]; @@ -2409,7 +2411,7 @@ n = tem; } curenv->output_title(n, !curenv->fill, curenv->vertical_spacing, - curenv->total_post_vertical_spacing(), title_length); + curenv->total_post_vertical_spacing(), length_title); curenv->hyphen_line_count = 0; tok.next(); } @@ -2859,25 +2861,25 @@ void environment::handle_tab(int is_leader) { hunits d; - hunits abs; + hunits absolute; if (current_tab) wrap_up_tab(); charinfo *ci = is_leader ? leader_char : tab_char; delete leader_node; leader_node = ci ? make_char_node(ci) : 0; - tab_type t = distance_to_next_tab(&d, &abs); + tab_type t = distance_to_next_tab(&d, &absolute); switch (t) { case TAB_NONE: return; case TAB_LEFT: add_node(make_tab_node(d)); - add_node(make_html_tag("tab L", abs.to_units())); + add_node(make_html_tag("tab L", absolute.to_units())); return; case TAB_RIGHT: - add_node(make_html_tag("tab R", abs.to_units())); + add_node(make_html_tag("tab R", absolute.to_units())); break; case TAB_CENTER: - add_node(make_html_tag("tab C", abs.to_units())); + add_node(make_html_tag("tab C", absolute.to_units())); break; default: assert(0); @@ -3091,6 +3093,16 @@ return family->nm.contents(); } +const char *environment::get_glyph_color_string() +{ + return glyph_color->nm.contents(); +} + +const char *environment::get_fill_color_string() +{ + return fill_color->nm.contents(); +} + const char *environment::get_font_name_string() { symbol f = get_font_name(fontno, this); @@ -3247,6 +3259,8 @@ init_int_env_reg(".L", get_line_spacing); init_hunits_env_reg(".l", get_line_length); init_hunits_env_reg(".ll", get_saved_line_length); + init_string_env_reg(".M", get_fill_color_string); + init_string_env_reg(".m", get_glyph_color_string); init_hunits_env_reg(".n", get_prev_text_length); init_int_env_reg(".ps", get_point_size); init_int_env_reg(".psr", get_requested_point_size); @@ -3358,7 +3372,7 @@ pos[npos++] = i; } else { - int c = ci->get_hyphenation_code(); + unsigned char c = ci->get_hyphenation_code(); if (c == 0) break; buf[i++] = c; @@ -3661,7 +3675,8 @@ c = hpf_getc(fp); if (c == '{') { if (have_patterns || have_hyphenation) - error("`{' not allowed inside of \\patterns or \\hyphenation"); + error("\\patterns not allowed inside of %1 group", + have_patterns ? "\\patterns" : "\\hyphenation"); else { have_patterns = 1; have_keyword = 1; @@ -3675,7 +3690,8 @@ c = hpf_getc(fp); if (c == '{') { if (have_patterns || have_hyphenation) - error("`{' not allowed inside of \\patterns or \\hyphenation"); + error("\\hyphenation not allowed inside of %1 group", + have_patterns ? "\\patterns" : "\\hyphenation"); else { have_hyphenation = 1; have_keyword = 1; @@ -3703,8 +3719,17 @@ } c = hpf_getc(fp); } - else if (c == '{') // skipped if not starting \patterns - c = hpf_getc(fp); // or \hyphenation + else if (c == '{') { + if (have_patterns || have_hyphenation) + error("`{' not allowed within %1 group", + have_patterns ? "\\patterns" : "\\hyphenation"); + c = hpf_getc(fp); // skipped if not starting \patterns + // or \hyphenation + } + } + else { + if (c == '{' || c == '}') + c = hpf_getc(fp); } if (i > 0) { if (have_patterns || final_pattern || traditional) { diff -ruN groff-1.19/src/roff/troff/env.h groff-1.19.1/src/roff/troff/env.h --- groff-1.19/src/roff/troff/env.h Fri Sep 20 16:39:32 2002 +++ groff-1.19.1/src/roff/troff/env.h Sat Apr 17 07:08:17 2004 @@ -1,5 +1,5 @@ // -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2002 +/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2002, 2004 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) @@ -63,7 +63,7 @@ return p/sizescale; } -struct environment; +class environment; hunits env_digit_width(environment *); hunits env_space_width(environment *); @@ -94,11 +94,11 @@ const unsigned MARGIN_CHARACTER_ON = 1; const unsigned MARGIN_CHARACTER_NEXT = 2; -struct charinfo; +class charinfo; struct node; struct breakpoint; -struct font_family; -struct pending_output_line; +class font_family; +class pending_output_line; class environment { int dummy; // dummy environment used for \w @@ -303,6 +303,8 @@ void space(); void space(hunits, hunits); void space_newline(); + const char *get_glyph_color_string(); + const char *get_fill_color_string(); const char *get_font_family_string(); const char *get_font_name_string(); const char *get_name_string(); @@ -357,7 +359,6 @@ void init_environments(); void read_hyphen_file(const char *name); -void title(); extern double spread_limit; diff -ruN groff-1.19/src/roff/troff/glyphuni.cpp groff-1.19.1/src/roff/troff/glyphuni.cpp --- groff-1.19/src/roff/troff/glyphuni.cpp Wed Apr 16 14:58:40 2003 +++ groff-1.19.1/src/roff/troff/glyphuni.cpp Thu Jan 1 01:00:00 1970 @@ -1,503 +0,0 @@ -// -*- C++ -*- -/* Copyright (C) 2002, 2003 - Free Software Foundation, Inc. - Written by Werner Lemberg - -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. */ - -#include "lib.h" -#include "stringclass.h" -#include "ptable.h" - -#include "unicode.h" - -struct glyph_to_unicode { - char *value; -}; - -declare_ptable(glyph_to_unicode) -implement_ptable(glyph_to_unicode) - -PTABLE(glyph_to_unicode) glyph_to_unicode_table; - -struct { - const char *key; - const char *value; -} glyph_to_unicode_list[] = { - { "!", "0021" }, - { "\"", "0022" }, - { "dq", "0022" }, - { "#", "0023" }, - { "sh", "0023" }, - { "$", "0024" }, - { "Do", "0024" }, - { "%", "0025" }, - { "&", "0026" }, - { "aq", "0027" }, - { "(", "0028" }, - { ")", "0029" }, - { "*", "002A" }, - { "+", "002B" }, - { "pl", "002B" }, - { ",", "002C" }, - { ".", "002E" }, - { "/", "002F" }, - { "sl", "002F" }, - { "0", "0030" }, - { "1", "0031" }, - { "2", "0032" }, - { "3", "0033" }, - { "4", "0034" }, - { "5", "0035" }, - { "6", "0036" }, - { "7", "0037" }, - { "8", "0038" }, - { "9", "0039" }, - { ":", "003A" }, - { ";", "003B" }, - { "<", "003C" }, - { "=", "003D" }, - { "eq", "003D" }, - { ">", "003E" }, - { "?", "003F" }, - { "@", "0040" }, - { "at", "0040" }, - { "A", "0041" }, - { "B", "0042" }, - { "C", "0043" }, - { "D", "0044" }, - { "E", "0045" }, - { "F", "0046" }, - { "G", "0047" }, - { "H", "0048" }, - { "I", "0049" }, - { "J", "004A" }, - { "K", "004B" }, - { "L", "004C" }, - { "M", "004D" }, - { "N", "004E" }, - { "O", "004F" }, - { "P", "0050" }, - { "Q", "0051" }, - { "R", "0052" }, - { "S", "0053" }, - { "T", "0054" }, - { "U", "0055" }, - { "V", "0056" }, - { "W", "0057" }, - { "X", "0058" }, - { "Y", "0059" }, - { "Z", "005A" }, -//{ "[", "005B" }, - { "lB", "005B" }, -//{ "\\", "005C" }, - { "rs", "005C" }, -//{ "]", "005D" }, - { "rB", "005D" }, - { "a^", "005E" }, - { "^", "005E" }, - { "ha", "005E" }, - { "_", "005F" }, - { "ru", "005F" }, - { "ul", "005F" }, -//{ "\\`", "0060" }, - { "ga", "0060" }, - { "a", "0061" }, - { "b", "0062" }, - { "c", "0063" }, - { "d", "0064" }, - { "e", "0065" }, - { "f", "0066" }, - { "ff", "0066_0066" }, - { "Fi", "0066_0066_0069" }, - { "Fl", "0066_0066_006C" }, - { "fi", "0066_0069" }, - { "fl", "0066_006C" }, - { "g", "0067" }, - { "h", "0068" }, - { "i", "0069" }, - { "j", "006A" }, - { "k", "006B" }, - { "l", "006C" }, - { "m", "006D" }, - { "n", "006E" }, - { "o", "006F" }, - { "p", "0070" }, - { "q", "0071" }, - { "r", "0072" }, - { "s", "0073" }, - { "t", "0074" }, - { "u", "0075" }, - { "v", "0076" }, - { "w", "0077" }, - { "x", "0078" }, - { "y", "0079" }, - { "z", "007A" }, - { "lC", "007B" }, - { "{", "007B" }, - { "ba", "007C" }, - { "or", "007C" }, - { "|", "007C" }, - { "rC", "007D" }, - { "}", "007D" }, - { "a~", "007E" }, - { "~", "007E" }, - { "ti", "007E" }, - { "r!", "00A1" }, - { "ct", "00A2" }, - { "Po", "00A3" }, - { "Cs", "00A4" }, - { "Ye", "00A5" }, - { "bb", "00A6" }, - { "sc", "00A7" }, - { "ad", "00A8" }, - { "co", "00A9" }, - { "Of", "00AA" }, - { "Fo", "00AB" }, - { "no", "00AC" }, - { "tno", "00AC" }, - { "shc", "00AD" }, - { "rg", "00AE" }, - { "a-", "00AF" }, - { "de", "00B0" }, - { "+-", "00B1" }, - { "t+-", "00B1" }, - { "S2", "00B2" }, - { "S3", "00B3" }, - { "aa", "00B4" }, -//{ "\\'", "00B4" }, - { "mc", "00B5" }, - { "ps", "00B6" }, - { "pc", "00B7" }, - { "ac", "00B8" }, - { "S1", "00B9" }, - { "Om", "00BA" }, - { "Fc", "00BB" }, - { "14", "00BC" }, - { "12", "00BD" }, - { "34", "00BE" }, - { "r?", "00BF" }, - { "`A", "00C0" }, - { "'A", "00C1" }, - { "^A", "00C2" }, - { "~A", "00C3" }, - { ":A", "00C4" }, - { "oA", "00C5" }, - { "AE", "00C6" }, - { ",C", "00C7" }, - { "`E", "00C8" }, - { "'E", "00C9" }, - { "^E", "00CA" }, - { ":E", "00CB" }, - { "`I", "00CC" }, - { "'I", "00CD" }, - { "^I", "00CE" }, - { ":I", "00CF" }, - { "-D", "00D0" }, - { "~N", "00D1" }, - { "`O", "00D2" }, - { "'O", "00D3" }, - { "^O", "00D4" }, - { "~O", "00D5" }, - { ":O", "00D6" }, - { "mu", "00D7" }, - { "tmu", "00D7" }, - { "/O", "00D8" }, - { "`U", "00D9" }, - { "'U", "00DA" }, - { "^U", "00DB" }, - { ":U", "00DC" }, - { "'Y", "00DD" }, - { "TP", "00DE" }, - { "ss", "00DF" }, - { "`a", "00E0" }, - { "'a", "00E1" }, - { "^a", "00E2" }, - { "~a", "00E3" }, - { ":a", "00E4" }, - { "oa", "00E5" }, - { "ae", "00E6" }, - { ",c", "00E7" }, - { "`e", "00E8" }, - { "'e", "00E9" }, - { "^e", "00EA" }, - { ":e", "00EB" }, - { "`i", "00EC" }, - { "'i", "00ED" }, - { "^i", "00EE" }, - { ":i", "00EF" }, - { "Sd", "00F0" }, - { "~n", "00F1" }, - { "`o", "00F2" }, - { "'o", "00F3" }, - { "^o", "00F4" }, - { "~o", "00F5" }, - { ":o", "00F6" }, - { "di", "00F7" }, - { "tdi", "00F7" }, - { "/o", "00F8" }, - { "`u", "00F9" }, - { "'u", "00FA" }, - { "^u", "00FB" }, - { ":u", "00FC" }, - { "'y", "00FD" }, - { "Tp", "00FE" }, - { ":y", "00FF" }, - { "'C", "0106" }, - { "'c", "0107" }, - { ".i", "0131" }, - { "IJ", "0132" }, - { "ij", "0133" }, - { "/L", "0141" }, - { "/l", "0142" }, - { "OE", "0152" }, - { "oe", "0153" }, - { "vS", "0160" }, - { "vs", "0161" }, - { ":Y", "0178" }, - { "vZ", "017D" }, - { "vz", "017E" }, - { "Fn", "0192" }, - { "ah", "02C7" }, - { "ab", "02D8" }, - { "a.", "02D9" }, - { "ao", "02DA" }, - { "ho", "02DB" }, - { "a\"", "02DD" }, - { "*A", "0391" }, - { "*B", "0392" }, - { "*G", "0393" }, - { "*D", "0394" }, - { "*E", "0395" }, - { "*Z", "0396" }, - { "*Y", "0397" }, - { "*H", "0398" }, - { "*I", "0399" }, - { "*K", "039A" }, - { "*L", "039B" }, - { "*M", "039C" }, - { "*N", "039D" }, - { "*C", "039E" }, - { "*O", "039F" }, - { "*P", "03A0" }, - { "*R", "03A1" }, - { "*S", "03A3" }, - { "*T", "03A4" }, - { "*U", "03A5" }, - { "*F", "03A6" }, - { "*X", "03A7" }, - { "*Q", "03A8" }, - { "*W", "03A9" }, - { "*a", "03B1" }, - { "*b", "03B2" }, - { "*g", "03B3" }, - { "*d", "03B4" }, - { "*e", "03B5" }, - { "*z", "03B6" }, - { "*y", "03B7" }, - { "*h", "03B8" }, - { "*i", "03B9" }, - { "*k", "03BA" }, - { "*l", "03BB" }, - { "*m", "03BC" }, - { "*n", "03BD" }, - { "*c", "03BE" }, - { "*o", "03BF" }, - { "*p", "03C0" }, - { "*r", "03C1" }, - { "ts", "03C2" }, - { "*s", "03C3" }, - { "*t", "03C4" }, - { "*u", "03C5" }, - { "*f", "03C6" }, - { "*x", "03C7" }, - { "*q", "03C8" }, - { "*w", "03C9" }, - { "+h", "03D1" }, - { "+f", "03D5" }, - { "+p", "03D6" }, - { "+e", "03F5" }, - { "-", "2010" }, - { "hy", "2010" }, - { "en", "2013" }, - { "em", "2014" }, - { "`", "2018" }, - { "oq", "2018" }, - { "'", "2019" }, - { "cq", "2019" }, - { "bq", "201A" }, - { "lq", "201C" }, - { "rq", "201D" }, - { "Bq", "201E" }, - { "dg", "2020" }, - { "dd", "2021" }, - { "bu", "2022" }, - { "%0", "2030" }, - { "fm", "2032" }, - { "sd", "2033" }, - { "fo", "2039" }, - { "fc", "203A" }, - { "rn", "203E" }, - { "f/", "2044" }, - { "eu", "20AC" }, - { "Eu", "20AC" }, - { "-h", "210F" }, - { "hbar", "210F" }, - { "Im", "2111" }, - { "wp", "2118" }, - { "Re", "211C" }, - { "tm", "2122" }, - { "Ah", "2135" }, - { "18", "215B" }, - { "38", "215C" }, - { "58", "215D" }, - { "78", "215E" }, - { "<-", "2190" }, - { "ua", "2191" }, - { "->", "2192" }, - { "da", "2193" }, - { "<>", "2194" }, - { "va", "2195" }, - { "CR", "21B5" }, - { "lA", "21D0" }, - { "uA", "21D1" }, - { "rA", "21D2" }, - { "dA", "21D3" }, - { "hA", "21D4" }, - { "vA", "21D5" }, - { "fa", "2200" }, - { "pd", "2202" }, - { "te", "2203" }, - { "es", "2205" }, - { "gr", "2207" }, - { "mo", "2208" }, - { "nm", "2209" }, - { "st", "220B" }, - { "product", "220F" }, - { "sum", "2211" }, -//{ "\\-", "2212" }, - { "mi", "2212" }, - { "-+", "2213" }, - { "**", "2217" }, - { "sr", "221A" }, - { "pt", "221D" }, - { "if", "221E" }, - { "/_", "2220" }, - { "AN", "2227" }, - { "OR", "2228" }, - { "ca", "2229" }, - { "cu", "222A" }, - { "is", "222B" }, - { "integral", "222B" }, - { "tf", "2234" }, - { "3d", "2234" }, - { "ap", "223C" }, - { "|=", "2243" }, - { "=~", "2245" }, - { "~~", "2248" }, - { "~=", "2248" }, - { "!=", "2260" }, - { "==", "2261" }, - { "ne", "2262" }, - { "<=", "2264" }, - { ">=", "2265" }, - { ">>", "226A" }, - { "<<", "226B" }, - { "sb", "2282" }, - { "sp", "2283" }, - { "nb", "2284" }, - { "nc", "2285" }, - { "ib", "2286" }, - { "ip", "2287" }, - { "c+", "2295" }, - { "c*", "2297" }, - { "pp", "22A5" }, - { "md", "22C5" }, - { "lc", "2308" }, - { "rc", "2309" }, - { "lf", "230A" }, - { "rf", "230B" }, - { "parenlefttp", "239B" }, - { "parenleftex", "239C" }, - { "parenleftbt", "239D" }, - { "parenrighttp", "239E" }, - { "parenrightex", "239F" }, - { "parenrightbt", "23A0" }, - { "bracketlefttp", "23A1" }, - { "bracketleftex", "23A2" }, - { "bracketleftbt", "23A3" }, - { "bracketrighttp", "23A4" }, - { "bracketrightex", "23A5" }, - { "bracketrightbt", "23A6" }, - { "lt", "23A7" }, - { "bracelefttp", "23A7" }, - { "lk", "23A8" }, - { "braceleftmid", "23A8" }, - { "lb", "23A9" }, - { "braceleftbt", "23A9" }, - { "bv", "23AA" }, - { "braceex", "23AA" }, - { "braceleftex", "23AA" }, - { "bracerightex", "23AA" }, - { "rt", "23AB" }, - { "bracerighttp", "23AB" }, - { "rk", "23AC" }, - { "bracerightmid", "23AC" }, - { "rb", "23AD" }, - { "bracerightbt", "23AD" }, - { "an", "23AF" }, - { "br", "2502" }, - { "rk", "251D" }, - { "lk", "2525" }, - { "lt", "256D" }, - { "rt", "256E" }, - { "rb", "256F" }, - { "lb", "2570" }, - { "sq", "25A1" }, - { "lz", "25CA" }, - { "ci", "25CB" }, - { "lh", "261C" }, - { "rh", "261E" }, - { "SP", "2660" }, - { "CL", "2663" }, - { "HE", "2665" }, - { "DI", "2666" }, - { "OK", "2713" }, - { "la", "27E8" }, - { "ra", "27E9" }, -}; - -// global constructor -static struct glyph_to_unicode_init { - glyph_to_unicode_init(); -} _glyph_to_unicode_init; - -glyph_to_unicode_init::glyph_to_unicode_init() { - for (unsigned int i = 0; - i < sizeof(glyph_to_unicode_list)/sizeof(glyph_to_unicode_list[0]); - i++) { - glyph_to_unicode *gtu = new glyph_to_unicode[1]; - gtu->value = (char *)glyph_to_unicode_list[i].value; - glyph_to_unicode_table.define(glyph_to_unicode_list[i].key, gtu); - } -} - -const char *glyph_name_to_unicode(const char *s) -{ - glyph_to_unicode *result = glyph_to_unicode_table.lookup(s); - return result ? result->value : 0; -} diff -ruN groff-1.19/src/roff/troff/input.cpp groff-1.19.1/src/roff/troff/input.cpp --- groff-1.19/src/roff/troff/input.cpp Wed Apr 16 15:21:41 2003 +++ groff-1.19.1/src/roff/troff/input.cpp Wed May 5 18:41:58 2004 @@ -1,5 +1,5 @@ // -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2002, 2003 +/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) @@ -20,7 +20,6 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "troff.h" -#include "symbol.h" #include "dictionary.h" #include "hvunits.h" #include "env.h" @@ -63,6 +62,7 @@ // initial size of buffer for reading names; expanded as necessary #define ABUF_SIZE 16 +extern "C" const char *program_name; extern "C" const char *Version_string; #ifdef COLUMN @@ -71,16 +71,13 @@ static node *read_draw_node(); static void read_color_draw_node(token &); -void handle_first_page_transition(); static void push_token(const token &); void copy_file(); #ifdef COLUMN void vjustify(); #endif /* COLUMN */ void transparent_file(); -void process_input_stack(); -const char *program_name = 0; token tok; int break_flag = 0; int color_flag = 1; // colors are on by default @@ -110,6 +107,7 @@ int have_input = 0; // whether \f, \F, \D'F...', \H, \m, \M, // \R, \s, or \S has been processed in // token::next() +int old_have_input = 0; // value of have_input right before \n int tcommand_flag = 0; int safer_flag = 1; // safer by default @@ -122,6 +120,9 @@ search_path *mac_path = &safer_macro_path; +// Defaults to the current directory. +search_path include_search_path(0, 0, 0, 1); + static int get_copy(node**, int = 0); static void copy_mode_error(const char *, const errarg & = empty_errarg, @@ -140,16 +141,16 @@ static symbol composite_glyph_name(symbol); static void interpolate_arg(symbol); static request_or_macro *lookup_request(symbol); -static int get_delim_number(units *, int); -static int get_delim_number(units *, int, units); +static int get_delim_number(units *, unsigned char); +static int get_delim_number(units *, unsigned char, units); static symbol do_get_long_name(int, char); -static int get_line_arg(units *res, int si, charinfo **cp); +static int get_line_arg(units *res, unsigned char 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; +class input_iterator; input_iterator *make_temp_iterator(const char *); const char *input_char_description(int); @@ -439,8 +440,10 @@ inline int input_stack::get(node **np) { int res = (top->ptr < top->eptr) ? *top->ptr++ : finish_get(np); - if (res == '\n') + if (res == '\n') { + old_have_input = have_input; have_input = 0; + } return res; } @@ -666,7 +669,7 @@ input_stack::end_file(); else { errno = 0; - FILE *fp = fopen(nm.contents(), "r"); + FILE *fp = include_search_path.open_file_cautious(nm.contents()); if (!fp) error("can't open `%1': %2", nm.contents(), strerror(errno)); else @@ -684,7 +687,7 @@ skip_line(); } -static int get_char_for_escape_name(int allow_space = 0) +static char get_char_for_escape_name(int allow_space = 0) { int c = get_copy(0); switch (c) { @@ -734,7 +737,7 @@ char *buf = abuf; int buf_size = ABUF_SIZE; int i = 0; - int c; + char c; int have_char = 0; for (;;) { c = get_char_for_escape_name(have_char && mode == WITH_ARGS); @@ -784,7 +787,7 @@ static symbol read_escape_name(read_mode mode) { - int c = get_char_for_escape_name(); + char c = get_char_for_escape_name(); if (c == 0) return NULL_SYMBOL; if (c == '(') @@ -799,7 +802,7 @@ static symbol read_increment_and_escape_name(int *incp) { - int c = get_char_for_escape_name(); + char c = get_char_for_escape_name(); switch (c) { case 0: *incp = 0; @@ -1033,7 +1036,6 @@ static void do_register(); dictionary color_dictionary(501); -static symbol default_symbol("default"); static color *lookup_color(symbol nm) { @@ -1057,7 +1059,7 @@ if (tem) curenv->set_glyph_color(tem); else - (void)color_dictionary.lookup(nm, new color); + (void)color_dictionary.lookup(nm, new color(nm)); } } @@ -1072,7 +1074,7 @@ if (tem) curenv->set_fill_color(tem); else - (void)color_dictionary.lookup(nm, new color); + (void)color_dictionary.lookup(nm, new color(nm)); } } @@ -1256,8 +1258,10 @@ skip_line(); return; } - if (col) + if (col) { + col->nm = color_name; (void)color_dictionary.lookup(color_name, col); + } skip_line(); } @@ -1548,7 +1552,7 @@ } units x; for (;;) { - node *n; + node *n = 0; int cc = input_stack::get(&n); if (cc != escape_char || escape_char == 0) { handle_normal_char: @@ -1710,7 +1714,7 @@ } else { handle_escape_char: - cc = input_stack::get(0); + cc = input_stack::get(&n); switch(cc) { case '(': nm = read_two_char_escape_name(); @@ -1904,11 +1908,11 @@ if (s == 0) s = get_charinfo(cc == 'l' ? "ru" : "br"); type = TOKEN_NODE; - node *n = curenv->make_char_node(s); + node *char_node = curenv->make_char_node(s); if (cc == 'l') - nd = new hline_node(x, n); + nd = new hline_node(x, char_node); else - nd = new vline_node(x, n); + nd = new vline_node(x, char_node); return; } case 'm': @@ -2398,6 +2402,8 @@ void return_macro_request() { + if (has_arg() && tok.ch()) + input_stack::pop_macro(); input_stack::pop_macro(); tok.next(); } @@ -2637,7 +2643,7 @@ } case token::TOKEN_NEWLINE: { - if (bol && !have_input + if (bol && !old_have_input && !curenv->get_prev_line_interrupted()) trapping_blank_line(); else { @@ -2962,7 +2968,7 @@ delete_node_list(head); } -struct macro_header { +class macro_header { public: int count; char_list cl; @@ -3110,7 +3116,7 @@ bp = bp->next; ptr = bp->s; } - int c = *ptr++; + unsigned char c = *ptr++; p->cl.append(c); if (c == 0) { p->nl.append(nd->copy()); @@ -3615,8 +3621,8 @@ return empty_macro == 1; } -macro_iterator::macro_iterator(symbol s, macro &m, const char *how_invoked) -: string_iterator(m, how_invoked, s), args(0), argc(0) +macro_iterator::macro_iterator(symbol s, macro &m, const char *how_called) +: string_iterator(m, how_called, s), args(0), argc(0) { } @@ -3821,12 +3827,13 @@ } enum define_mode { DEFINE_NORMAL, DEFINE_APPEND, DEFINE_IGNORE }; -enum calling_mode { CALLING_NORMAL, CALLING_INDIRECT, CALLING_DISABLE_COMP }; +enum calling_mode { CALLING_NORMAL, CALLING_INDIRECT }; +enum comp_mode { COMP_IGNORE, COMP_DISABLE }; -void do_define_string(define_mode mode, calling_mode calling) +void do_define_string(define_mode mode, comp_mode comp) { symbol nm; - node *n; + node *n = 0; // pacify compiler int c; nm = get_name(1); if (nm.is_null()) { @@ -3853,7 +3860,7 @@ macro *mm = rm ? rm->to_macro() : 0; if (mode == DEFINE_APPEND && mm) mac = *mm; - if (calling == CALLING_DISABLE_COMP) + if (comp == COMP_DISABLE) mac.append(COMPATIBLE_SAVE); while (c != '\n' && c != EOF) { if (c == 0) @@ -3866,7 +3873,7 @@ mm = new macro; request_dictionary.define(nm, mm); } - if (calling == CALLING_DISABLE_COMP) + if (comp == COMP_DISABLE) mac.append(COMPATIBLE_RESTORE); *mm = mac; tok.next(); @@ -3874,27 +3881,27 @@ void define_string() { - do_define_string(DEFINE_NORMAL, CALLING_NORMAL); + do_define_string(DEFINE_NORMAL, COMP_IGNORE); } void define_nocomp_string() { - do_define_string(DEFINE_NORMAL, CALLING_DISABLE_COMP); + do_define_string(DEFINE_NORMAL, COMP_DISABLE); } void append_string() { - do_define_string(DEFINE_APPEND, CALLING_NORMAL); + do_define_string(DEFINE_APPEND, COMP_IGNORE); } void append_nocomp_string() { - do_define_string(DEFINE_APPEND, CALLING_DISABLE_COMP); + do_define_string(DEFINE_APPEND, COMP_DISABLE); } void do_define_character(char_mode mode, const char *font_name) { - node *n; + node *n = 0; // pacify compiler int c; tok.skip(); charinfo *ci = tok.get_char(1); @@ -4091,7 +4098,7 @@ // this should be local to define_macro, but cfront 1.2 doesn't support that static symbol dot_symbol("."); -void do_define_macro(define_mode mode, calling_mode calling) +void do_define_macro(define_mode mode, calling_mode calling, comp_mode comp) { symbol nm, term; if (calling == CALLING_INDIRECT) { @@ -4140,7 +4147,7 @@ mac = *mm; } int bol = 1; - if (calling == CALLING_DISABLE_COMP) + if (comp == COMP_DISABLE) mac.append(COMPATIBLE_SAVE); for (;;) { while (c == ESCAPE_NEWLINE) { @@ -4177,7 +4184,7 @@ mm = new macro; request_dictionary.define(nm, mm); } - if (calling == CALLING_DISABLE_COMP) + if (comp == COMP_DISABLE) mac.append(COMPATIBLE_RESTORE); *mm = mac; } @@ -4228,38 +4235,48 @@ void define_macro() { - do_define_macro(DEFINE_NORMAL, CALLING_NORMAL); + do_define_macro(DEFINE_NORMAL, CALLING_NORMAL, COMP_IGNORE); } void define_nocomp_macro() { - do_define_macro(DEFINE_NORMAL, CALLING_DISABLE_COMP); + do_define_macro(DEFINE_NORMAL, CALLING_NORMAL, COMP_DISABLE); } void define_indirect_macro() { - do_define_macro(DEFINE_NORMAL, CALLING_INDIRECT); + do_define_macro(DEFINE_NORMAL, CALLING_INDIRECT, COMP_IGNORE); +} + +void define_indirect_nocomp_macro() +{ + do_define_macro(DEFINE_NORMAL, CALLING_INDIRECT, COMP_DISABLE); } void append_macro() { - do_define_macro(DEFINE_APPEND, CALLING_NORMAL); + do_define_macro(DEFINE_APPEND, CALLING_NORMAL, COMP_IGNORE); +} + +void append_nocomp_macro() +{ + do_define_macro(DEFINE_APPEND, CALLING_NORMAL, COMP_DISABLE); } void append_indirect_macro() { - do_define_macro(DEFINE_APPEND, CALLING_INDIRECT); + do_define_macro(DEFINE_APPEND, CALLING_INDIRECT, COMP_IGNORE); } -void append_nocomp_macro() +void append_indirect_nocomp_macro() { - do_define_macro(DEFINE_APPEND, CALLING_DISABLE_COMP); + do_define_macro(DEFINE_APPEND, CALLING_INDIRECT, COMP_DISABLE); } void ignore() { ignoring = 1; - do_define_macro(DEFINE_IGNORE, CALLING_NORMAL); + do_define_macro(DEFINE_IGNORE, CALLING_NORMAL, COMP_IGNORE); ignoring = 0; } @@ -4402,7 +4419,7 @@ } macro mac; for (; i <= end; i++) { - node *nd; + node *nd = 0; // pacify compiler int c = iter.get(&nd); while (c == COMPATIBLE_SAVE || c == COMPATIBLE_RESTORE) c = iter.get(0); @@ -4470,7 +4487,7 @@ macro am; string_iterator iter(*m); for (;;) { - node *nd; + node *nd = 0; // pacify compiler int c = iter.get(&nd); if (c == EOF) break; @@ -4497,7 +4514,7 @@ macro am; string_iterator iter(*m); for (;;) { - node *nd; + node *nd = 0; // pacify compiler int c = iter.get(&nd); if (c == EOF) break; @@ -4538,7 +4555,7 @@ input_stack::push(make_temp_iterator(r->get_format())); } -static int get_delim_number(units *n, int si, int prev_value) +static int get_delim_number(units *n, unsigned char si, int prev_value) { token start; start.next(); @@ -4553,7 +4570,7 @@ return 0; } -static int get_delim_number(units *n, int si) +static int get_delim_number(units *n, unsigned char si) { token start; start.next(); @@ -4568,7 +4585,7 @@ return 0; } -static int get_line_arg(units *n, int si, charinfo **cp) +static int get_line_arg(units *n, unsigned char si, charinfo **cp) { token start; start.next(); @@ -4605,7 +4622,7 @@ tok.next(); c = tok.ch(); } - int val; + int val = 0; // pacify compiler int bad = 0; if (c == '(') { tok.next(); @@ -4866,6 +4883,7 @@ non_interpreted_node(const macro &); int interpret(macro *); node *copy(); + int ends_sentence(); int same(node *); const char *type(); int force_tprint(); @@ -4875,6 +4893,11 @@ { } +int non_interpreted_node::ends_sentence() +{ + return 2; +} + int non_interpreted_node::same(node *nd) { return mac == ((non_interpreted_node *)nd)->mac; @@ -4898,7 +4921,7 @@ int non_interpreted_node::interpret(macro *m) { string_iterator si(mac); - node *n; + node *n = 0; // pacify compiler for (;;) { int c = si.get(&n); if (c == EOF) @@ -5333,7 +5356,7 @@ int level = 0; mac.append(new token_node(tok)); for (;;) { - node *n; + node *n = 0; // pacify compiler int c = input_stack::get(&n); if (c == EOF) break; @@ -5424,7 +5447,7 @@ while (!tok.newline() && !tok.eof()) tok.next(); errno = 0; - FILE *fp = fopen(nm.contents(), "r"); + FILE *fp = include_search_path.open_file_cautious(nm.contents()); if (fp) input_stack::push(new file_iterator(fp, nm.contents())); else @@ -5663,7 +5686,8 @@ errno = 0; // PS files might contain non-printable characters, such as ^Z // and CRs not followed by an LF, so open them in binary mode. - FILE *fp = fopen(nm.contents(), FOPEN_RB); + FILE *fp = include_search_path.open_file_cautious(nm.contents(), + 0, FOPEN_RB); if (fp) { do_ps_file(fp, nm.contents()); fclose(fp); @@ -6630,7 +6654,7 @@ curenv->do_break(); if (!filename.is_null()) { errno = 0; - FILE *fp = fopen(filename.contents(), "r"); + FILE *fp = include_search_path.open_file_cautious(filename.contents()); if (!fp) error("can't open `%1': %2", filename.contents(), strerror(errno)); else { @@ -6824,7 +6848,7 @@ } else { errno = 0; - fp = fopen(name, "r"); + fp = include_search_path.open_file_cautious(name); if (!fp) fatal("can't open `%1': %2", name, strerror(errno)); } @@ -6920,7 +6944,7 @@ { fprintf(stream, "usage: %s -abcivzCERU -wname -Wname -dcs -ffam -mname -nnum -olist\n" -" -rcn -Tname -Fdir -Mdir [files...]\n", +" -rcn -Tname -Fdir -Idir -Mdir [files...]\n", prog); } @@ -6938,7 +6962,7 @@ int fflag = 0; int nflag = 0; int no_rc = 0; // don't process troffrc and troffrc-end - int next_page_number; + int next_page_number = 0; // pacify compiler opterr = 0; hresolution = vresolution = 1; // restore $PATH if called from groff @@ -6957,7 +6981,7 @@ { "version", no_argument, 0, 'v' }, { 0, 0, 0, 0 } }; - while ((c = getopt_long(argc, argv, "abcivw:W:zCEf:m:n:o:r:d:F:M:T:tqs:RU", + while ((c = getopt_long(argc, argv, "abciI:vw:W:zCEf:m:n:o:r:d:F:M:T:tqs:RU", long_options, 0)) != EOF) switch(c) { @@ -6967,6 +6991,11 @@ exit(0); break; } + case 'I': + // Search path for .psbb files + // and most other non-system input files. + include_search_path.command_line_dir(optarg); + break; case 'T': device = optarg; tflag = 1; @@ -7214,6 +7243,7 @@ init_request("am", append_macro); init_request("am1", append_nocomp_macro); init_request("ami", append_indirect_macro); + init_request("ami1", append_indirect_nocomp_macro); init_request("as", append_string); init_request("as1", append_nocomp_string); init_request("asciify", asciify_macro); @@ -7233,6 +7263,7 @@ init_request("de1", define_nocomp_macro); init_request("defcolor", define_color); init_request("dei", define_indirect_macro); + init_request("dei1", define_indirect_nocomp_macro); init_request("do", do_request); init_request("ds", define_string); init_request("ds1", define_nocomp_string); @@ -7305,6 +7336,7 @@ number_reg_dictionary.define(".g", new constant_reg("1")); number_reg_dictionary.define(".H", new constant_int_reg(&hresolution)); number_reg_dictionary.define(".R", new constant_reg("10000")); + number_reg_dictionary.define(".U", new constant_int_reg(&safer_flag)); number_reg_dictionary.define(".V", new constant_int_reg(&vresolution)); number_reg_dictionary.define(".warn", new constant_int_reg(&warning_mask)); extern const char *major_version; @@ -7514,7 +7546,7 @@ } unsigned char scheme = tok.ch(); tok.next(); - color *col; + color *col = 0; char end = start.ch(); switch (scheme) { case 'c': diff -ruN groff-1.19/src/roff/troff/node.cpp groff-1.19.1/src/roff/troff/node.cpp --- groff-1.19/src/roff/troff/node.cpp Fri Apr 4 15:12:50 2003 +++ groff-1.19.1/src/roff/troff/node.cpp Sat May 8 19:00:04 2004 @@ -1,5 +1,5 @@ // -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2002, 2003 +/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) @@ -25,7 +25,6 @@ #include #endif -#include "symbol.h" #include "dictionary.h" #include "hvunits.h" #include "env.h" @@ -112,7 +111,7 @@ conditional_bold(int, hunits, conditional_bold * = 0); }; -struct tfont; +class tfont; class font_info { tfont *last_tfont; @@ -400,11 +399,11 @@ return f; } -hunits font_info::get_space_width(font_size fs, int space_size) +hunits font_info::get_space_width(font_size fs, int space_sz) { if (is_constant_spaced == CONSTANT_SPACE_NONE) return scale(hunits(fm->get_space_width(fs.to_scaled_points())), - space_size, 12); + space_sz, 12); else if (is_constant_spaced == CONSTANT_SPACE_ABSOLUTE) return constant_space; else @@ -987,7 +986,7 @@ return; } set_font(tf); - char c = ci->get_ascii_code(); + unsigned char c = ci->get_ascii_code(); if (c == '\0') { glyph_color(gcol); fill_color(fcol); @@ -1065,7 +1064,7 @@ if (!is_on()) return; set_font(tf); - char c = ci->get_ascii_code(); + unsigned char c = ci->get_ascii_code(); if (c == '\0') { glyph_color(gcol); fill_color(fcol); @@ -1456,13 +1455,14 @@ put('\n'); } -void troff_output_file::really_copy_file(hunits x, vunits y, const char *filename) +void troff_output_file::really_copy_file(hunits x, vunits y, + const char *filename) { moveto(x, y); flush_tbuf(); do_motion(); errno = 0; - FILE *ifp = fopen(filename, "r"); + FILE *ifp = include_search_path.open_file_cautious(filename); if (ifp == 0) error("can't open `%1': %2", filename, strerror(errno)); else { @@ -2437,9 +2437,9 @@ node *dbreak_node::last_char_node() { for (node *n = none; n; n = n->next) { - node *last = n->last_char_node(); - if (last) - return last; + node *last_node = n->last_char_node(); + if (last_node) + return last_node; } return 0; } @@ -2482,7 +2482,7 @@ int force_tprint(); }; -node *node::add_italic_correction(hunits *width) +node *node::add_italic_correction(hunits *wd) { hunits ic = italic_correction(); if (ic.is_zero()) @@ -2490,7 +2490,7 @@ else { node *next1 = next; next = 0; - *width += ic; + *wd += ic; return new italic_corrected_node(this, ic, next1); } } @@ -2881,16 +2881,16 @@ node *bracket_node::copy() { bracket_node *on = new bracket_node; - node *last = 0; + node *last_node = 0; node *tem; if (list) list->last = 0; for (tem = list; tem; tem = tem->next) { if (tem->next) tem->next->last = tem; - last = tem; + last_node = tem; } - for (tem = last; tem; tem = tem->last) + for (tem = last_node; tem; tem = tem->last) on->bracket(tem->copy()); return on; } @@ -2994,20 +2994,20 @@ { } -void space_node::spread_space(int *nspaces, hunits *desired_space) +void space_node::spread_space(int *n_spaces, hunits *desired_space) { if (!set) { - assert(*nspaces > 0); - if (*nspaces == 1) { + assert(*n_spaces > 0); + if (*n_spaces == 1) { n += *desired_space; *desired_space = H0; } else { - hunits extra = *desired_space / *nspaces; + hunits extra = *desired_space / *n_spaces; *desired_space -= extra; n += extra; } - *nspaces -= 1; + *n_spaces -= 1; set = 1; } } @@ -3338,8 +3338,8 @@ } space_char_hmotion_node::space_char_hmotion_node(hunits i, color *c, - node *next) -: hmotion_node(i, c, next) + node *nxt) +: hmotion_node(i, c, nxt) { } @@ -3393,14 +3393,14 @@ return 0; } -breakpoint *space_node::get_breakpoints(hunits width, int ns, +breakpoint *space_node::get_breakpoints(hunits wd, int ns, breakpoint *rest, int is_inner) { - if (next->discardable()) + if (next && next->discardable()) return rest; breakpoint *bp = new breakpoint; bp->next = rest; - bp->width = width; + bp->width = wd; bp->nspaces = ns; bp->hyphenated = 0; if (is_inner) { @@ -3417,7 +3417,7 @@ int space_node::nbreaks() { - if (next->discardable()) + if (next && next->discardable()) return 0; else return 1; @@ -3437,12 +3437,12 @@ return rest; } -breakpoint *dbreak_node::get_breakpoints(hunits width, int ns, +breakpoint *dbreak_node::get_breakpoints(hunits wd, int ns, breakpoint *rest, int is_inner) { breakpoint *bp = new breakpoint; bp->next = rest; - bp->width = width; + bp->width = wd; for (node *tem = pre; tem != 0; tem = tem->next) bp->width += tem->width(); bp->nspaces = ns; @@ -3456,7 +3456,7 @@ bp->nd = this; bp->index = 0; } - return node_list_get_breakpoints(none, &width, ns, bp); + return node_list_get_breakpoints(none, &wd, ns, bp); } int dbreak_node::nbreaks() @@ -3761,10 +3761,10 @@ if (is_on == 2) { // remember position and filename last_position = position; - const char *tem = last_image_filename; + char *tem = (char *)last_image_filename; last_image_filename = strsave(filename.contents()); if (tem) - a_delete(tem); + a_delete tem; last_image_id = image_id; // printf("start of image and page = %d\n", current_page); } @@ -3774,7 +3774,10 @@ char name[8192]; // remember that the filename will contain a %d in which the // last_image_id is placed - sprintf(name, last_image_filename, last_image_id); + if (last_image_filename == (char *) 0) + *name = '\0'; + else + sprintf(name, last_image_filename, last_image_id); if (is_html) { switch (last_position) { case 'c': @@ -3983,10 +3986,10 @@ return r; } -void composite_node::vertical_extent(vunits *min, vunits *max) +void composite_node::vertical_extent(vunits *minimum, vunits *maximum) { n = reverse_node_list(n); - node_list_vertical_extent(n, min, max); + node_list_vertical_extent(n, minimum, maximum); n = reverse_node_list(n); } @@ -4778,9 +4781,9 @@ return 0; } -node *hmotion_node::add_self(node *n, hyphen_list **p) +node *hmotion_node::add_self(node *nd, hyphen_list **p) { - next = n; + next = nd; hyphen_list *pp = *p; *p = (*p)->next; delete pp; @@ -4808,9 +4811,9 @@ return 0; } -node *space_char_hmotion_node::add_self(node *n, hyphen_list **p) +node *space_char_hmotion_node::add_self(node *nd, hyphen_list **p) { - next = n; + next = nd; hyphen_list *pp = *p; *p = (*p)->next; delete pp; @@ -4935,8 +4938,8 @@ return 0; } -left_italic_corrected_node::left_italic_corrected_node(node *x) -: node(x), n(0) +left_italic_corrected_node::left_italic_corrected_node(node *xx) +: node(xx), n(0) { } @@ -5011,12 +5014,13 @@ return n ? n->width() + x : H0; } -void left_italic_corrected_node::vertical_extent(vunits *min, vunits *max) +void left_italic_corrected_node::vertical_extent(vunits *minimum, + vunits *maximum) { if (n) - n->vertical_extent(min, max); + n->vertical_extent(minimum, maximum); else - node::vertical_extent(min, max); + node::vertical_extent(minimum, maximum); } hunits left_italic_corrected_node::skew() @@ -5305,9 +5309,9 @@ return "unbreakable_space_node"; } -node *unbreakable_space_node::add_self(node *n, hyphen_list **p) +node *unbreakable_space_node::add_self(node *nd, hyphen_list **p) { - next = n; + next = nd; hyphen_list *pp = *p; *p = (*p)->next; delete pp; @@ -5555,13 +5559,13 @@ { assert(n >= 0 && n < font_table_size); dictionary_iterator iter(family_dictionary); - symbol nm; + symbol nam; font_family *fam; - while (iter.get(&nm, (void **)&fam)) { - int map_size = fam->map_size; - if (n < map_size) + while (iter.get(&nam, (void **)&fam)) { + int mapsize = fam->map_size; + if (n < mapsize) fam->map[n] = -1; - for (int i = 0; i < map_size; i++) + for (int i = 0; i < mapsize; i++) if (fam->map[i] == n) fam->map[i] = -1; } diff -ruN groff-1.19/src/roff/troff/node.h groff-1.19.1/src/roff/troff/node.h --- groff-1.19/src/roff/troff/node.h Tue Apr 1 08:03:31 2003 +++ groff-1.19.1/src/roff/troff/node.h Sat Apr 17 07:06:50 2004 @@ -1,5 +1,5 @@ // -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2002, 2003 +/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) @@ -19,7 +19,6 @@ with groff; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - struct hyphen_list { unsigned char hyphen; unsigned char breakable; @@ -36,7 +35,7 @@ struct breakpoint; struct vertical_size; -struct charinfo; +class charinfo; class macro; @@ -287,10 +286,10 @@ unsigned char unformat; color *col; /* for grotty */ public: - hmotion_node(hunits i, color *c, node *next = 0) - : node(next), n(i), was_tab(0), unformat(0), col(c) {} - hmotion_node(hunits i, int flag1, int flag2, color *c, node *next = 0) - : node(next), n(i), was_tab(flag1), unformat(flag2), col(c) {} + hmotion_node(hunits i, color *c, node *nxt = 0) + : node(nxt), n(i), was_tab(0), unformat(0), col(c) {} + hmotion_node(hunits i, int flag1, int flag2, color *c, node *nxt = 0) + : node(nxt), n(i), was_tab(flag1), unformat(flag2), col(c) {} node *copy(); int reread(int *); int set_unformat_flag(); @@ -338,7 +337,7 @@ hunits x; node *n; public: - hline_node(hunits i, node *c, node *next = 0) : node(next), x(i), n(c) {} + hline_node(hunits i, node *c, node *nxt = 0) : node(nxt), x(i), n(c) {} ~hline_node(); node *copy(); hunits width(); @@ -352,7 +351,7 @@ vunits x; node *n; public: - vline_node(vunits i, node *c, node *next= 0) : node(next), x(i), n(c) {} + vline_node(vunits i, node *c, node *nxt = 0) : node(nxt), x(i), n(c) {} ~vline_node(); node *copy(); void tprint(troff_output_file *); @@ -597,3 +596,4 @@ font_family *lookup_family(symbol); symbol get_font_name(int, environment *); +extern search_path include_search_path; diff -ruN groff-1.19/src/roff/troff/number.cpp groff-1.19.1/src/roff/troff/number.cpp --- groff-1.19/src/roff/troff/number.cpp Tue Feb 26 02:22:15 2002 +++ groff-1.19.1/src/roff/troff/number.cpp Wed Jan 7 00:55:24 2004 @@ -1,5 +1,5 @@ // -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992, 2001, 2002 +/* Copyright (C) 1989, 1990, 1991, 1992, 2001, 2002, 2004 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) @@ -21,7 +21,6 @@ #include "troff.h" -#include "symbol.h" #include "hvunits.h" #include "env.h" #include "token.h" diff -ruN groff-1.19/src/roff/troff/reg.cpp groff-1.19.1/src/roff/troff/reg.cpp --- groff-1.19/src/roff/troff/reg.cpp Thu Apr 19 16:01:58 2001 +++ groff-1.19.1/src/roff/troff/reg.cpp Wed Jan 7 00:55:49 2004 @@ -1,5 +1,5 @@ // -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001 +/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2004 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) @@ -20,7 +20,6 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "troff.h" -#include "symbol.h" #include "dictionary.h" #include "token.h" #include "request.h" diff -ruN groff-1.19/src/roff/troff/request.h groff-1.19.1/src/roff/troff/request.h --- groff-1.19/src/roff/troff/request.h Wed Jul 10 07:49:52 2002 +++ groff-1.19.1/src/roff/troff/request.h Sat Apr 17 07:17:17 2004 @@ -1,5 +1,5 @@ // -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2002 +/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2002, 2004 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) @@ -41,7 +41,7 @@ extern object_dictionary request_dictionary; -struct macro_header; +class macro_header; struct node; class macro : public request_or_macro { diff -ruN groff-1.19/src/roff/troff/symbol.cpp groff-1.19.1/src/roff/troff/symbol.cpp --- groff-1.19/src/roff/troff/symbol.cpp Thu Jun 6 08:37:09 2002 +++ groff-1.19.1/src/roff/troff/symbol.cpp Thu Jan 1 01:00:00 1970 @@ -1,154 +0,0 @@ -// -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992, 2002 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. */ - - -#include "troff.h" -#include "symbol.h" - -const char **symbol::table = 0; -int symbol::table_used = 0; -int symbol::table_size = 0; -char *symbol::block = 0; -int symbol::block_size = 0; - -const symbol NULL_SYMBOL; -const symbol EMPTY_SYMBOL(""); - -#ifdef BLOCK_SIZE -#undef BLOCK_SIZE -#endif - -const int BLOCK_SIZE = 1024; -// the table will increase in size as necessary -// the size will be chosen from the following array -// add some more if you want -static const unsigned int table_sizes[] = { - 101, 503, 1009, 2003, 3001, 4001, 5003, 10007, 20011, 40009, 80021, - 160001, 500009, 1000003, 1500007, 2000003, 0 -}; -const double FULL_MAX = 0.3; // don't let the table get more than this full - -static unsigned int hash_string(const char *p) -{ - // compute a hash code; this assumes 32-bit unsigned ints - // see p436 of Compilers by Aho, Sethi & Ullman - // give special treatment to two-character names - unsigned int hc = 0, g; - if (*p != 0) { - hc = *p++; - if (*p != 0) { - hc <<= 7; - hc += *p++; - for (; *p != 0; p++) { - hc <<= 4; - hc += *p; - if ((g = (hc & 0xf0000000)) == 0) { - hc ^= g >> 24; - hc ^= g; - } - } - } - } - return hc; -} - -// Tell compiler that a variable is intentionally unused. -inline void unused(void *) { } - -symbol::symbol(const char *p, int how) -{ - if (p == 0) { - s = 0; - return; - } - if (*p == 0) { - s = ""; - return; - } - if (table == 0) { - table_size = table_sizes[0]; - table = (const char **)new char*[table_size]; - for (int i = 0; i < table_size; i++) - table[i] = 0; - table_used = 0; - } - unsigned int hc = hash_string(p); - const char **pp; - for (pp = table + hc % table_size; - *pp != 0; - (pp == table ? pp = table + table_size - 1 : --pp)) - if (strcmp(p, *pp) == 0) { - s = *pp; - return; - } - if (how == MUST_ALREADY_EXIST) { - s = 0; - return; - } - if (table_used >= table_size - 1 || table_used >= table_size*FULL_MAX) { - const char **old_table = table; - unsigned int old_table_size = table_size; - 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]; - table_used = 0; - table = (const char **)new char*[table_size]; - for (i = 0; i < table_size; i++) - table[i] = 0; - for (pp = old_table + old_table_size - 1; - pp >= old_table; - --pp) { - symbol temp(*pp, 1); /* insert it into the new table */ - unused(&temp); - } - a_delete old_table; - for (pp = table + hc % table_size; - *pp != 0; - (pp == table ? pp = table + table_size - 1 : --pp)) - ; - } - ++table_used; - if (how == DONT_STORE) { - s = *pp = p; - } - else { - int len = strlen(p)+1; - if (block == 0 || block_size < len) { - block_size = len > BLOCK_SIZE ? len : BLOCK_SIZE; - block = new char [block_size]; - } - (void)strcpy(block, p); - s = *pp = block; - block += len; - block_size -= len; - } -} - -symbol concat(symbol s1, symbol s2) -{ - char *buf = new char [strlen(s1.contents()) + strlen(s2.contents()) + 1]; - strcpy(buf, s1.contents()); - strcat(buf, s2.contents()); - symbol res(buf); - a_delete buf; - return res; -} diff -ruN groff-1.19/src/roff/troff/symbol.h groff-1.19.1/src/roff/troff/symbol.h --- groff-1.19/src/roff/troff/symbol.h Sun Apr 14 12:22:58 2002 +++ groff-1.19.1/src/roff/troff/symbol.h Thu Jan 1 01:00:00 1970 @@ -1,80 +0,0 @@ -// -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992, 2002 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. */ - -#define DONT_STORE 1 -#define MUST_ALREADY_EXIST 2 - -class symbol { - static const char **table; - static int table_used; - static int table_size; - static char *block; - static int block_size; - const char *s; -public: - symbol(const char *p, int how = 0); - symbol(); - unsigned long hash() const; - int operator ==(symbol) const; - int operator !=(symbol) const; - const char *contents() const; - int is_null() const; - int is_empty() const; -}; - - -extern const symbol NULL_SYMBOL; -extern const symbol EMPTY_SYMBOL; - -inline symbol::symbol() : s(0) -{ -} - -inline int symbol::operator==(symbol p) const -{ - return s == p.s; -} - -inline int symbol::operator!=(symbol p) const -{ - return s != p.s; -} - -inline unsigned long symbol::hash() const -{ - return (unsigned long)s; -} - -inline const char *symbol::contents() const -{ - return s; -} - -inline int symbol::is_null() const -{ - return s == 0; -} - -inline int symbol::is_empty() const -{ - return s != 0 && *s == 0; -} - -symbol concat(symbol, symbol); diff -ruN groff-1.19/src/roff/troff/token.h groff-1.19.1/src/roff/troff/token.h --- groff-1.19/src/roff/troff/token.h Mon Nov 11 21:39:33 2002 +++ groff-1.19.1/src/roff/troff/token.h Sat Apr 17 07:06:28 2004 @@ -1,5 +1,5 @@ // -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2002 +/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2002, 2004 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) @@ -20,9 +20,9 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -struct charinfo; +class charinfo; struct node; -struct vunits; +class vunits; class token { symbol nm; @@ -121,7 +121,7 @@ extern void do_define_character(char_mode, const char * = 0); -struct hunits; +class hunits; extern void read_title_parts(node **part, hunits *part_width); extern int get_number_rigidly(units *result, unsigned char si); diff -ruN groff-1.19/src/roff/troff/troff.h groff-1.19.1/src/roff/troff/troff.h --- groff-1.19/src/roff/troff/troff.h Wed Jun 19 15:20:18 2002 +++ groff-1.19.1/src/roff/troff/troff.h Wed Apr 7 16:48:18 2004 @@ -1,5 +1,5 @@ // -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2002 +/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2002, 2004 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) @@ -33,8 +33,6 @@ #include "device.h" #include "searchpath.h" -void cleanup_and_exit(int n); - typedef int units; extern units scale(units n, units x, units y); // scale n by x/y @@ -82,7 +80,7 @@ // change WARN_TOTAL if you add more warning types }; -const int WARN_TOTAL = 02777777; +const int WARN_TOTAL = 03777777; int warning(warning_type, const char *, const errarg & = empty_errarg, diff -ruN groff-1.19/src/roff/troff/troff.man groff-1.19.1/src/roff/troff/troff.man --- groff-1.19/src/roff/troff/troff.man Mon Dec 9 11:21:49 2002 +++ groff-1.19.1/src/roff/troff/troff.man Mon Oct 13 15:15:39 2003 @@ -2,11 +2,11 @@ .ig troff.man -Last update : 09 Dec 2002 +Last update : 12 Oct 2003 This file is part of groff, the GNU roff type-setting system. -Copyright (C) 1989, 2000, 2001, 2002 Free Software Foundation, Inc. +Copyright (C) 1989, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. written by James Clark @@ -28,6 +28,9 @@ .\" Setup .\" -------------------------------------------------------------------- . +.do nr troff_C \n[.C] +.cp 0 +. .mso www.tmac . .if n \{\ @@ -81,6 +84,7 @@ .OP \-d cs .OP \-f fam .OP \-F dir +.OP \-I dir .OP \-m name .OP \-M dir .OP \-n num @@ -195,6 +199,17 @@ processed. . .TP +.BI \-I dir +This option may be used to specify a directory to search for +files (both those on the command line and those named in +.B \&.psbb +requests). +The current directory is always searched first. +This option may be specified more than once; +the directories will be searched in the order specified. +No directory search is performed for files specified using an absolute path. +. +.TP .BI \-m name Read in the file .IB name .tmac\fR. @@ -607,7 +622,7 @@ .SH AUTHOR .\" -------------------------------------------------------------------- . -Copyright (C) 1989, 2001, 2002 Free Software Foundation, Inc. +Copyright (C) 1989, 2001, 2002, 2003 Free Software Foundation, Inc. . .P This document is distributed under the terms of the FDL (GNU Free @@ -679,6 +694,7 @@ .BR info (@MAN1EXT@), presents all groff documentation within a single document. . +.cp \n[troff_C] . .\" -------------------------------------------------------------------- .\" Emacs variables diff -ruN groff-1.19/src/roff/troff/unicode.cpp groff-1.19.1/src/roff/troff/unicode.cpp --- groff-1.19/src/roff/troff/unicode.cpp Sat Nov 2 18:30:13 2002 +++ groff-1.19.1/src/roff/troff/unicode.cpp Thu Jan 1 01:00:00 1970 @@ -1,67 +0,0 @@ -// -*- C++ -*- -/* Copyright (C) 2002 - Free Software Foundation, Inc. - Written by Werner Lemberg - -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. */ - -#include "lib.h" -#include "cset.h" -#include "stringclass.h" - -#include "unicode.h" - -const char *check_unicode_name(const char *u) -{ - if (*u != 'u') - return 0; - const char *p = ++u; - for (;;) { - int val = 0; - const char *start = p; - for (;;) { - // only uppercase hex digits allowed - if (!csxdigit(*p)) - return 0; - if (csdigit(*p)) - val = val*0x10 + (*p-'0'); - else if (csupper(*p)) - val = val*0x10 + (*p-'A'+10); - else - return 0; - // biggest Unicode value is U+10FFFF - if (val > 0x10FFFF) - return 0; - p++; - if (*p == '\0' || *p == '_') - break; - } - // surrogates not allowed - if ((val >= 0xD800 && val <= 0xDBFF) || (val >= 0xDC00 && val <= 0xDFFF)) - return 0; - if (val > 0xFFFF) { - if (*start == '0') // no leading zeros allowed if > 0xFFFF - return 0; - } - else if (p - start != 4) // otherwise, check for exactly 4 hex digits - return 0; - if (*p == '\0') - break; - p++; - } - return u; -} diff -ruN groff-1.19/src/roff/troff/unicode.h groff-1.19.1/src/roff/troff/unicode.h --- groff-1.19/src/roff/troff/unicode.h Thu Oct 31 23:14:45 2002 +++ groff-1.19.1/src/roff/troff/unicode.h Thu Jan 1 01:00:00 1970 @@ -1,26 +0,0 @@ -// -*- C++ -*- -/* Copyright (C) 2002 - Free Software Foundation, Inc. - Written by Werner Lemberg - -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. */ - -extern const char *glyph_name_to_unicode(const char *); -extern const char *unicode_to_glyph_name(const char *); -extern const char *decompose_unicode(const char *); - -extern const char *check_unicode_name(const char *); diff -ruN groff-1.19/src/roff/troff/uniglyph.cpp groff-1.19.1/src/roff/troff/uniglyph.cpp --- groff-1.19/src/roff/troff/uniglyph.cpp Wed Apr 16 15:05:45 2003 +++ groff-1.19.1/src/roff/troff/uniglyph.cpp Thu Jan 1 01:00:00 1970 @@ -1,503 +0,0 @@ -// -*- C++ -*- -/* Copyright (C) 2002, 2003 - Free Software Foundation, Inc. - Written by Werner Lemberg - -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. */ - -#include "lib.h" -#include "stringclass.h" -#include "ptable.h" - -#include "unicode.h" - -struct unicode_to_glyph { - char *value; -}; - -declare_ptable(unicode_to_glyph) -implement_ptable(unicode_to_glyph) - -PTABLE(unicode_to_glyph) unicode_to_glyph_table; - -struct { - const char *key; - const char *value; -} unicode_to_glyph_list[] = { - { "0021", "!" }, -//{ "0022", "\"" }, - { "0022", "dq" }, -//{ "0023", "#" }, - { "0023", "sh" }, -//{ "0024", "$" }, - { "0024", "Do" }, - { "0025", "%" }, - { "0026", "&" }, - { "0027", "aq" }, - { "0028", "(" }, - { "0029", ")" }, - { "002A", "*" }, -//{ "002B", "+" }, - { "002B", "pl" }, - { "002C", "," }, - { "002E", "." }, -//{ "002F", "/" }, - { "002F", "sl" }, - { "0030", "0" }, - { "0031", "1" }, - { "0032", "2" }, - { "0033", "3" }, - { "0034", "4" }, - { "0035", "5" }, - { "0036", "6" }, - { "0037", "7" }, - { "0038", "8" }, - { "0039", "9" }, - { "003A", ":" }, - { "003B", ";" }, - { "003C", "<" }, -//{ "003D", "=" }, - { "003D", "eq" }, - { "003D_0338", "!=" }, - { "003E", ">" }, - { "003F", "?" }, -//{ "0040", "@" }, - { "0040", "at" }, - { "0041", "A" }, - { "0041_0300", "`A" }, - { "0041_0301", "'A" }, - { "0041_0302", "^A" }, - { "0041_0303", "~A" }, - { "0041_0308", ":A" }, - { "0041_030A", "oA" }, - { "0042", "B" }, - { "0043", "C" }, - { "0043_0301", "'C" }, - { "0043_0327", ",C" }, - { "0044", "D" }, - { "0045", "E" }, - { "0045_0300", "`E" }, - { "0045_0301", "'E" }, - { "0045_0302", "^E" }, - { "0045_0308", ":E" }, - { "0046", "F" }, - { "0047", "G" }, - { "0048", "H" }, - { "0049", "I" }, - { "0049_0300", "`I" }, - { "0049_0301", "'I" }, - { "0049_0302", "^I" }, - { "0049_0308", ":I" }, - { "004A", "J" }, - { "004B", "K" }, - { "004C", "L" }, - { "004D", "M" }, - { "004E", "N" }, - { "004E_0303", "~N" }, - { "004F", "O" }, - { "004F_0300", "`O" }, - { "004F_0301", "'O" }, - { "004F_0302", "^O" }, - { "004F_0303", "~O" }, - { "004F_0308", ":O" }, - { "0050", "P" }, - { "0051", "Q" }, - { "0052", "R" }, - { "0053", "S" }, - { "0053_030C", "vS" }, - { "0054", "T" }, - { "0055", "U" }, - { "0055_0300", "`U" }, - { "0055_0301", "'U" }, - { "0055_0302", "^U" }, - { "0055_0308", ":U" }, - { "0056", "V" }, - { "0057", "W" }, - { "0058", "X" }, - { "0059", "Y" }, - { "0059_0301", "'Y" }, - { "0059_0308", ":Y" }, - { "005A", "Z" }, - { "005A_030C", "vZ" }, - { "005B", "lB" }, -//{ "005B", "[" }, - { "005C", "rs" }, -//{ "005C", "\\" }, - { "005D", "rB" }, -//{ "005D", "]" }, -//{ "005E", "^" }, -//{ "005E", "a^" }, - { "005E", "ha" }, -//{ "005F", "_" }, -//{ "005F", "ru" }, - { "005F", "ul" }, - { "0060", "ga" }, -//{ "0060", "\\`" }, - { "0061", "a" }, - { "0061_0300", "`a" }, - { "0061_0301", "'a" }, - { "0061_0302", "^a" }, - { "0061_0303", "~a" }, - { "0061_0308", ":a" }, - { "0061_030A", "oa" }, - { "0062", "b" }, - { "0063", "c" }, - { "0063_0301", "'c" }, - { "0063_0327", ",c" }, - { "0064", "d" }, - { "0065", "e" }, - { "0065_0300", "`e" }, - { "0065_0301", "'e" }, - { "0065_0302", "^e" }, - { "0065_0308", ":e" }, - { "0066", "f" }, - { "0066_0066", "ff" }, - { "0066_0066_0069", "Fi" }, - { "0066_0066_006C", "Fl" }, - { "0066_0069", "fi" }, - { "0066_006C", "fl" }, - { "0067", "g" }, - { "0068", "h" }, - { "0069", "i" }, - { "0069_0300", "`i" }, - { "0069_0301", "'i" }, - { "0069_0302", "^i" }, - { "0069_0308", ":i" }, - { "006A", "j" }, - { "006B", "k" }, - { "006C", "l" }, - { "006D", "m" }, - { "006E", "n" }, - { "006E_0303", "~n" }, - { "006F", "o" }, - { "006F_0300", "`o" }, - { "006F_0301", "'o" }, - { "006F_0302", "^o" }, - { "006F_0303", "~o" }, - { "006F_0308", ":o" }, - { "0070", "p" }, - { "0071", "q" }, - { "0072", "r" }, - { "0073", "s" }, - { "0073_030C", "vs" }, - { "0074", "t" }, - { "0075", "u" }, - { "0075_0300", "`u" }, - { "0075_0301", "'u" }, - { "0075_0302", "^u" }, - { "0075_0308", ":u" }, - { "0076", "v" }, - { "0077", "w" }, - { "0078", "x" }, - { "0079", "y" }, - { "0079_0301", "'y" }, - { "0079_0308", ":y" }, - { "007A", "z" }, - { "007A_030C", "vz" }, - { "007B", "lC" }, -//{ "007B", "{" }, - { "007C", "ba" }, -//{ "007C", "or" }, -//{ "007C", "|" }, - { "007D", "rC" }, -//{ "007D", "}" }, -//{ "007E", "a~" }, - { "007E", "ti" }, -//{ "007E", "~" }, - { "00A1", "r!" }, - { "00A2", "ct" }, - { "00A3", "Po" }, - { "00A4", "Cs" }, - { "00A5", "Ye" }, - { "00A6", "bb" }, - { "00A7", "sc" }, - { "00A8", "ad" }, - { "00A9", "co" }, - { "00AA", "Of" }, - { "00AB", "Fo" }, - { "00AC", "no" }, -//{ "00AC", "tno" }, - { "00AD", "shc" }, - { "00AE", "rg" }, - { "00AF", "a-" }, - { "00B0", "de" }, - { "00B1", "+-" }, -//{ "00B1", "t+-" }, - { "00B2", "S2" }, - { "00B3", "S3" }, - { "00B4", "aa" }, -//{ "00B4", "\\'" }, - { "00B5", "mc" }, - { "00B6", "ps" }, - { "00B7", "pc" }, - { "00B8", "ac" }, - { "00B9", "S1" }, - { "00BA", "Om" }, - { "00BB", "Fc" }, - { "00BC", "14" }, - { "00BD", "12" }, - { "00BE", "34" }, - { "00BF", "r?" }, - { "00C6", "AE" }, - { "00D0", "-D" }, - { "00D7", "mu" }, -//{ "00D7", "tmu" }, - { "00D8", "/O" }, - { "00DE", "TP" }, - { "00DF", "ss" }, - { "00E6", "ae" }, - { "00F0", "Sd" }, - { "00F7", "di" }, -//{ "00F7", "tdi" }, - { "00F8", "/o" }, - { "00FE", "Tp" }, - { "0131", ".i" }, - { "0132", "IJ" }, - { "0133", "ij" }, - { "0141", "/L" }, - { "0142", "/l" }, - { "0152", "OE" }, - { "0153", "oe" }, - { "0192", "Fn" }, - { "02C7", "ah" }, - { "02D8", "ab" }, - { "02D9", "a." }, - { "02DA", "ao" }, - { "02DB", "ho" }, - { "02DD", "a\"" }, - { "0391", "*A" }, - { "0392", "*B" }, - { "0393", "*G" }, - { "0394", "*D" }, - { "0395", "*E" }, - { "0396", "*Z" }, - { "0397", "*Y" }, - { "0398", "*H" }, - { "0399", "*I" }, - { "039A", "*K" }, - { "039B", "*L" }, - { "039C", "*M" }, - { "039D", "*N" }, - { "039E", "*C" }, - { "039F", "*O" }, - { "03A0", "*P" }, - { "03A1", "*R" }, - { "03A3", "*S" }, - { "03A4", "*T" }, - { "03A5", "*U" }, - { "03A6", "*F" }, - { "03A7", "*X" }, - { "03A8", "*Q" }, - { "03A9", "*W" }, - { "03B1", "*a" }, - { "03B2", "*b" }, - { "03B3", "*g" }, - { "03B4", "*d" }, - { "03B5", "*e" }, - { "03B6", "*z" }, - { "03B7", "*y" }, - { "03B8", "*h" }, - { "03B9", "*i" }, - { "03BA", "*k" }, - { "03BB", "*l" }, - { "03BC", "*m" }, - { "03BD", "*n" }, - { "03BE", "*c" }, - { "03BF", "*o" }, - { "03C0", "*p" }, - { "03C1", "*r" }, - { "03C2", "ts" }, - { "03C3", "*s" }, - { "03C4", "*t" }, - { "03C5", "*u" }, - { "03C6", "*f" }, - { "03C7", "*x" }, - { "03C8", "*q" }, - { "03C9", "*w" }, - { "03D1", "+h" }, - { "03D5", "+f" }, - { "03D6", "+p" }, - { "03F5", "+e" }, -//{ "2010", "-" }, - { "2010", "hy" }, - { "2013", "en" }, - { "2014", "em" }, -//{ "2018", "`" }, - { "2018", "oq" }, -//{ "2019", "'" }, - { "2019", "cq" }, - { "201A", "bq" }, - { "201C", "lq" }, - { "201D", "rq" }, - { "201E", "Bq" }, - { "2020", "dg" }, - { "2021", "dd" }, - { "2022", "bu" }, - { "2030", "%0" }, - { "2032", "fm" }, - { "2033", "sd" }, - { "2039", "fo" }, - { "203A", "fc" }, - { "203E", "rn" }, - { "2044", "f/" }, - { "20AC", "Eu" }, -//{ "20AC", "eu" }, - { "210F", "-h" }, -//{ "210F", "hbar" }, - { "2111", "Im" }, - { "2118", "wp" }, - { "211C", "Re" }, - { "2122", "tm" }, - { "2135", "Ah" }, - { "215B", "18" }, - { "215C", "38" }, - { "215D", "58" }, - { "215E", "78" }, - { "2190", "<-" }, - { "2191", "ua" }, - { "2192", "->" }, - { "2193", "da" }, - { "2194", "<>" }, - { "2195", "va" }, - { "21B5", "CR" }, - { "21D0", "lA" }, - { "21D1", "uA" }, - { "21D2", "rA" }, - { "21D3", "dA" }, - { "21D4", "hA" }, - { "21D5", "vA" }, - { "2200", "fa" }, - { "2202", "pd" }, - { "2203", "te" }, - { "2205", "es" }, - { "2207", "gr" }, - { "2208", "mo" }, - { "2208_0338", "nm" }, - { "220B", "st" }, - { "220F", "product" }, - { "2211", "sum" }, - { "2212", "mi" }, -//{ "2212", "\\-" }, - { "2213", "-+" }, - { "2217", "**" }, - { "221A", "sr" }, - { "221D", "pt" }, - { "221E", "if" }, - { "2220", "/_" }, - { "2227", "AN" }, - { "2228", "OR" }, - { "2229", "ca" }, - { "222A", "cu" }, - { "222B", "is" }, -//{ "222B", "integral" }, -//{ "2234", "3d" }, - { "2234", "tf" }, - { "223C", "ap" }, - { "2243", "|=" }, - { "2245", "=~" }, -//{ "2248", "~=" }, - { "2248", "~~" }, - { "2261", "==" }, - { "2261_0338", "ne" }, - { "2264", "<=" }, - { "2265", ">=" }, - { "226A", ">>" }, - { "226B", "<<" }, - { "2282", "sb" }, - { "2282_0338", "nb" }, - { "2283", "sp" }, - { "2283_0338", "nc" }, - { "2286", "ib" }, - { "2287", "ip" }, - { "2295", "c+" }, - { "2297", "c*" }, - { "22A5", "pp" }, - { "22C5", "md" }, - { "2308", "lc" }, - { "2309", "rc" }, - { "230A", "lf" }, - { "230B", "rf" }, - { "239B", "parenlefttp" }, - { "239C", "parenleftex" }, - { "239D", "parenleftbt" }, - { "239E", "parenrighttp" }, - { "239F", "parenrightex" }, - { "23A0", "parenrightbt" }, -//{ "23A1", "bracketlefttp" }, - { "23A2", "bracketleftex" }, -//{ "23A3", "bracketleftbt" }, -//{ "23A4", "bracketrighttp" }, - { "23A5", "bracketrightex" }, -//{ "23A6", "bracketrightbt" }, - { "23A7", "lt" }, -//{ "23A7", "bracelefttp" }, - { "23A8", "lk" }, -//{ "23A8", "braceleftmid" }, - { "23A9", "lb" }, -//{ "23A9", "braceleftbt" }, - { "23AA", "bv" }, -//{ "23AA", "braceex" }, -//{ "23AA", "braceleftex" }, -//{ "23AA", "bracerightex" }, - { "23AB", "rt" }, -//{ "23AB", "bracerighttp" }, - { "23AC", "rk" }, -//{ "23AC", "bracerightmid" }, - { "23AD", "rb" }, -//{ "23AD", "bracerightbt" }, - { "23AF", "an" }, - { "2502", "br" }, - { "251D", "rk" }, - { "2525", "lk" }, - { "256D", "lt" }, - { "256E", "rt" }, - { "256F", "rb" }, - { "2570", "lb" }, - { "25A1", "sq" }, - { "25CA", "lz" }, - { "25CB", "ci" }, - { "261C", "lh" }, - { "261E", "rh" }, - { "2660", "SP" }, - { "2663", "CL" }, - { "2665", "HE" }, - { "2666", "DI" }, - { "2713", "OK" }, - { "27E8", "la" }, - { "27E9", "ra" }, -}; - -// global constructor -static struct unicode_to_glyph_init { - unicode_to_glyph_init(); -} _unicode_to_glyph_init; - -unicode_to_glyph_init::unicode_to_glyph_init() { - for (unsigned int i = 0; - i < sizeof(unicode_to_glyph_list)/sizeof(unicode_to_glyph_list[0]); - i++) { - unicode_to_glyph *utg = new unicode_to_glyph[1]; - utg->value = (char *)unicode_to_glyph_list[i].value; - unicode_to_glyph_table.define(unicode_to_glyph_list[i].key, utg); - } -} - -const char *unicode_to_glyph_name(const char *s) -{ - unicode_to_glyph *result = unicode_to_glyph_table.lookup(s); - return result ? result->value : 0; -} diff -ruN groff-1.19/src/roff/troff/uniuni.cpp groff-1.19.1/src/roff/troff/uniuni.cpp --- groff-1.19/src/roff/troff/uniuni.cpp Wed Apr 16 15:08:49 2003 +++ groff-1.19.1/src/roff/troff/uniuni.cpp Thu Jan 1 01:00:00 1970 @@ -1,1994 +0,0 @@ -// -*- C++ -*- -/* Copyright (C) 2002, 2003 - Free Software Foundation, Inc. - Written by Werner Lemberg - -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. */ - -// This code has been algorithmically derived from the file -// UnicodeData-3.2.0.txt, available from unicode.org. - -#include "lib.h" -#include "stringclass.h" -#include "ptable.h" - -#include "unicode.h" - -struct unicode_decompose { - char *value; -}; - -declare_ptable(unicode_decompose) -implement_ptable(unicode_decompose) - -PTABLE(unicode_decompose) unicode_decompose_table; - -// the first digit in the composite string gives the number of composites - -struct { - const char *key; - const char *value; -} unicode_decompose_list[] = { - { "00C0", "20041_0300" }, - { "00C1", "20041_0301" }, - { "00C2", "20041_0302" }, - { "00C3", "20041_0303" }, - { "00C4", "20041_0308" }, - { "00C5", "20041_030A" }, - { "00C7", "20043_0327" }, - { "00C8", "20045_0300" }, - { "00C9", "20045_0301" }, - { "00CA", "20045_0302" }, - { "00CB", "20045_0308" }, - { "00CC", "20049_0300" }, - { "00CD", "20049_0301" }, - { "00CE", "20049_0302" }, - { "00CF", "20049_0308" }, - { "00D1", "2004E_0303" }, - { "00D2", "2004F_0300" }, - { "00D3", "2004F_0301" }, - { "00D4", "2004F_0302" }, - { "00D5", "2004F_0303" }, - { "00D6", "2004F_0308" }, - { "00D9", "20055_0300" }, - { "00DA", "20055_0301" }, - { "00DB", "20055_0302" }, - { "00DC", "20055_0308" }, - { "00DD", "20059_0301" }, - { "00E0", "20061_0300" }, - { "00E1", "20061_0301" }, - { "00E2", "20061_0302" }, - { "00E3", "20061_0303" }, - { "00E4", "20061_0308" }, - { "00E5", "20061_030A" }, - { "00E7", "20063_0327" }, - { "00E8", "20065_0300" }, - { "00E9", "20065_0301" }, - { "00EA", "20065_0302" }, - { "00EB", "20065_0308" }, - { "00EC", "20069_0300" }, - { "00ED", "20069_0301" }, - { "00EE", "20069_0302" }, - { "00EF", "20069_0308" }, - { "00F1", "2006E_0303" }, - { "00F2", "2006F_0300" }, - { "00F3", "2006F_0301" }, - { "00F4", "2006F_0302" }, - { "00F5", "2006F_0303" }, - { "00F6", "2006F_0308" }, - { "00F9", "20075_0300" }, - { "00FA", "20075_0301" }, - { "00FB", "20075_0302" }, - { "00FC", "20075_0308" }, - { "00FD", "20079_0301" }, - { "00FF", "20079_0308" }, - { "0100", "20041_0304" }, - { "0101", "20061_0304" }, - { "0102", "20041_0306" }, - { "0103", "20061_0306" }, - { "0104", "20041_0328" }, - { "0105", "20061_0328" }, - { "0106", "20043_0301" }, - { "0107", "20063_0301" }, - { "0108", "20043_0302" }, - { "0109", "20063_0302" }, - { "010A", "20043_0307" }, - { "010B", "20063_0307" }, - { "010C", "20043_030C" }, - { "010D", "20063_030C" }, - { "010E", "20044_030C" }, - { "010F", "20064_030C" }, - { "0112", "20045_0304" }, - { "0113", "20065_0304" }, - { "0114", "20045_0306" }, - { "0115", "20065_0306" }, - { "0116", "20045_0307" }, - { "0117", "20065_0307" }, - { "0118", "20045_0328" }, - { "0119", "20065_0328" }, - { "011A", "20045_030C" }, - { "011B", "20065_030C" }, - { "011C", "20047_0302" }, - { "011D", "20067_0302" }, - { "011E", "20047_0306" }, - { "011F", "20067_0306" }, - { "0120", "20047_0307" }, - { "0121", "20067_0307" }, - { "0122", "20047_0327" }, - { "0123", "20067_0327" }, - { "0124", "20048_0302" }, - { "0125", "20068_0302" }, - { "0128", "20049_0303" }, - { "0129", "20069_0303" }, - { "012A", "20049_0304" }, - { "012B", "20069_0304" }, - { "012C", "20049_0306" }, - { "012D", "20069_0306" }, - { "012E", "20049_0328" }, - { "012F", "20069_0328" }, - { "0130", "20049_0307" }, - { "0134", "2004A_0302" }, - { "0135", "2006A_0302" }, - { "0136", "2004B_0327" }, - { "0137", "2006B_0327" }, - { "0139", "2004C_0301" }, - { "013A", "2006C_0301" }, - { "013B", "2004C_0327" }, - { "013C", "2006C_0327" }, - { "013D", "2004C_030C" }, - { "013E", "2006C_030C" }, - { "0143", "2004E_0301" }, - { "0144", "2006E_0301" }, - { "0145", "2004E_0327" }, - { "0146", "2006E_0327" }, - { "0147", "2004E_030C" }, - { "0148", "2006E_030C" }, - { "014C", "2004F_0304" }, - { "014D", "2006F_0304" }, - { "014E", "2004F_0306" }, - { "014F", "2006F_0306" }, - { "0150", "2004F_030B" }, - { "0151", "2006F_030B" }, - { "0154", "20052_0301" }, - { "0155", "20072_0301" }, - { "0156", "20052_0327" }, - { "0157", "20072_0327" }, - { "0158", "20052_030C" }, - { "0159", "20072_030C" }, - { "015A", "20053_0301" }, - { "015B", "20073_0301" }, - { "015C", "20053_0302" }, - { "015D", "20073_0302" }, - { "015E", "20053_0327" }, - { "015F", "20073_0327" }, - { "0160", "20053_030C" }, - { "0161", "20073_030C" }, - { "0162", "20054_0327" }, - { "0163", "20074_0327" }, - { "0164", "20054_030C" }, - { "0165", "20074_030C" }, - { "0168", "20055_0303" }, - { "0169", "20075_0303" }, - { "016A", "20055_0304" }, - { "016B", "20075_0304" }, - { "016C", "20055_0306" }, - { "016D", "20075_0306" }, - { "016E", "20055_030A" }, - { "016F", "20075_030A" }, - { "0170", "20055_030B" }, - { "0171", "20075_030B" }, - { "0172", "20055_0328" }, - { "0173", "20075_0328" }, - { "0174", "20057_0302" }, - { "0175", "20077_0302" }, - { "0176", "20059_0302" }, - { "0177", "20079_0302" }, - { "0178", "20059_0308" }, - { "0179", "2005A_0301" }, - { "017A", "2007A_0301" }, - { "017B", "2005A_0307" }, - { "017C", "2007A_0307" }, - { "017D", "2005A_030C" }, - { "017E", "2007A_030C" }, - { "01A0", "2004F_031B" }, - { "01A1", "2006F_031B" }, - { "01AF", "20055_031B" }, - { "01B0", "20075_031B" }, - { "01CD", "20041_030C" }, - { "01CE", "20061_030C" }, - { "01CF", "20049_030C" }, - { "01D0", "20069_030C" }, - { "01D1", "2004F_030C" }, - { "01D2", "2006F_030C" }, - { "01D3", "20055_030C" }, - { "01D4", "20075_030C" }, - { "01D5", "30055_0308_0304" }, - { "01D6", "30075_0308_0304" }, - { "01D7", "30055_0308_0301" }, - { "01D8", "30075_0308_0301" }, - { "01D9", "30055_0308_030C" }, - { "01DA", "30075_0308_030C" }, - { "01DB", "30055_0308_0300" }, - { "01DC", "30075_0308_0300" }, - { "01DE", "30041_0308_0304" }, - { "01DF", "30061_0308_0304" }, - { "01E0", "30041_0307_0304" }, - { "01E1", "30061_0307_0304" }, - { "01E2", "200C6_0304" }, - { "01E3", "200E6_0304" }, - { "01E6", "20047_030C" }, - { "01E7", "20067_030C" }, - { "01E8", "2004B_030C" }, - { "01E9", "2006B_030C" }, - { "01EA", "2004F_0328" }, - { "01EB", "2006F_0328" }, - { "01EC", "3004F_0328_0304" }, - { "01ED", "3006F_0328_0304" }, - { "01EE", "201B7_030C" }, - { "01EF", "20292_030C" }, - { "01F0", "2006A_030C" }, - { "01F4", "20047_0301" }, - { "01F5", "20067_0301" }, - { "01F8", "2004E_0300" }, - { "01F9", "2006E_0300" }, - { "01FA", "30041_030A_0301" }, - { "01FB", "30061_030A_0301" }, - { "01FC", "200C6_0301" }, - { "01FD", "200E6_0301" }, - { "01FE", "200D8_0301" }, - { "01FF", "200F8_0301" }, - { "0200", "20041_030F" }, - { "0201", "20061_030F" }, - { "0202", "20041_0311" }, - { "0203", "20061_0311" }, - { "0204", "20045_030F" }, - { "0205", "20065_030F" }, - { "0206", "20045_0311" }, - { "0207", "20065_0311" }, - { "0208", "20049_030F" }, - { "0209", "20069_030F" }, - { "020A", "20049_0311" }, - { "020B", "20069_0311" }, - { "020C", "2004F_030F" }, - { "020D", "2006F_030F" }, - { "020E", "2004F_0311" }, - { "020F", "2006F_0311" }, - { "0210", "20052_030F" }, - { "0211", "20072_030F" }, - { "0212", "20052_0311" }, - { "0213", "20072_0311" }, - { "0214", "20055_030F" }, - { "0215", "20075_030F" }, - { "0216", "20055_0311" }, - { "0217", "20075_0311" }, - { "0218", "20053_0326" }, - { "0219", "20073_0326" }, - { "021A", "20054_0326" }, - { "021B", "20074_0326" }, - { "021E", "20048_030C" }, - { "021F", "20068_030C" }, - { "0226", "20041_0307" }, - { "0227", "20061_0307" }, - { "0228", "20045_0327" }, - { "0229", "20065_0327" }, - { "022A", "3004F_0308_0304" }, - { "022B", "3006F_0308_0304" }, - { "022C", "3004F_0303_0304" }, - { "022D", "3006F_0303_0304" }, - { "022E", "2004F_0307" }, - { "022F", "2006F_0307" }, - { "0230", "3004F_0307_0304" }, - { "0231", "3006F_0307_0304" }, - { "0232", "20059_0304" }, - { "0233", "20079_0304" }, - { "0340", "10300" }, - { "0341", "10301" }, - { "0343", "10313" }, - { "0344", "20308_0301" }, - { "0374", "102B9" }, - { "037E", "1003B" }, - { "0385", "200A8_0301" }, - { "0386", "20391_0301" }, - { "0387", "100B7" }, - { "0388", "20395_0301" }, - { "0389", "20397_0301" }, - { "038A", "20399_0301" }, - { "038C", "2039F_0301" }, - { "038E", "203A5_0301" }, - { "038F", "203A9_0301" }, - { "0390", "303B9_0308_0301" }, - { "03AA", "20399_0308" }, - { "03AB", "203A5_0308" }, - { "03AC", "203B1_0301" }, - { "03AD", "203B5_0301" }, - { "03AE", "203B7_0301" }, - { "03AF", "203B9_0301" }, - { "03B0", "303C5_0308_0301" }, - { "03CA", "203B9_0308" }, - { "03CB", "203C5_0308" }, - { "03CC", "203BF_0301" }, - { "03CD", "203C5_0301" }, - { "03CE", "203C9_0301" }, - { "03D3", "203D2_0301" }, - { "03D4", "203D2_0308" }, - { "0400", "20415_0300" }, - { "0401", "20415_0308" }, - { "0403", "20413_0301" }, - { "0407", "20406_0308" }, - { "040C", "2041A_0301" }, - { "040D", "20418_0300" }, - { "040E", "20423_0306" }, - { "0419", "20418_0306" }, - { "0439", "20438_0306" }, - { "0450", "20435_0300" }, - { "0451", "20435_0308" }, - { "0453", "20433_0301" }, - { "0457", "20456_0308" }, - { "045C", "2043A_0301" }, - { "045D", "20438_0300" }, - { "045E", "20443_0306" }, - { "0476", "20474_030F" }, - { "0477", "20475_030F" }, - { "04C1", "20416_0306" }, - { "04C2", "20436_0306" }, - { "04D0", "20410_0306" }, - { "04D1", "20430_0306" }, - { "04D2", "20410_0308" }, - { "04D3", "20430_0308" }, - { "04D6", "20415_0306" }, - { "04D7", "20435_0306" }, - { "04DA", "204D8_0308" }, - { "04DB", "204D9_0308" }, - { "04DC", "20416_0308" }, - { "04DD", "20436_0308" }, - { "04DE", "20417_0308" }, - { "04DF", "20437_0308" }, - { "04E2", "20418_0304" }, - { "04E3", "20438_0304" }, - { "04E4", "20418_0308" }, - { "04E5", "20438_0308" }, - { "04E6", "2041E_0308" }, - { "04E7", "2043E_0308" }, - { "04EA", "204E8_0308" }, - { "04EB", "204E9_0308" }, - { "04EC", "2042D_0308" }, - { "04ED", "2044D_0308" }, - { "04EE", "20423_0304" }, - { "04EF", "20443_0304" }, - { "04F0", "20423_0308" }, - { "04F1", "20443_0308" }, - { "04F2", "20423_030B" }, - { "04F3", "20443_030B" }, - { "04F4", "20427_0308" }, - { "04F5", "20447_0308" }, - { "04F8", "2042B_0308" }, - { "04F9", "2044B_0308" }, - { "0622", "20627_0653" }, - { "0623", "20627_0654" }, - { "0624", "20648_0654" }, - { "0625", "20627_0655" }, - { "0626", "2064A_0654" }, - { "06C0", "206D5_0654" }, - { "06C2", "206C1_0654" }, - { "06D3", "206D2_0654" }, - { "0929", "20928_093C" }, - { "0931", "20930_093C" }, - { "0934", "20933_093C" }, - { "0958", "20915_093C" }, - { "0959", "20916_093C" }, - { "095A", "20917_093C" }, - { "095B", "2091C_093C" }, - { "095C", "20921_093C" }, - { "095D", "20922_093C" }, - { "095E", "2092B_093C" }, - { "095F", "2092F_093C" }, - { "09CB", "209C7_09BE" }, - { "09CC", "209C7_09D7" }, - { "09DC", "209A1_09BC" }, - { "09DD", "209A2_09BC" }, - { "09DF", "209AF_09BC" }, - { "0A33", "20A32_0A3C" }, - { "0A36", "20A38_0A3C" }, - { "0A59", "20A16_0A3C" }, - { "0A5A", "20A17_0A3C" }, - { "0A5B", "20A1C_0A3C" }, - { "0A5E", "20A2B_0A3C" }, - { "0B48", "20B47_0B56" }, - { "0B4B", "20B47_0B3E" }, - { "0B4C", "20B47_0B57" }, - { "0B5C", "20B21_0B3C" }, - { "0B5D", "20B22_0B3C" }, - { "0B94", "20B92_0BD7" }, - { "0BCA", "20BC6_0BBE" }, - { "0BCB", "20BC7_0BBE" }, - { "0BCC", "20BC6_0BD7" }, - { "0C48", "20C46_0C56" }, - { "0CC0", "20CBF_0CD5" }, - { "0CC7", "20CC6_0CD5" }, - { "0CC8", "20CC6_0CD6" }, - { "0CCA", "20CC6_0CC2" }, - { "0CCB", "30CC6_0CC2_0CD5" }, - { "0D4A", "20D46_0D3E" }, - { "0D4B", "20D47_0D3E" }, - { "0D4C", "20D46_0D57" }, - { "0DDA", "20DD9_0DCA" }, - { "0DDC", "20DD9_0DCF" }, - { "0DDD", "30DD9_0DCF_0DCA" }, - { "0DDE", "20DD9_0DDF" }, - { "0F43", "20F42_0FB7" }, - { "0F4D", "20F4C_0FB7" }, - { "0F52", "20F51_0FB7" }, - { "0F57", "20F56_0FB7" }, - { "0F5C", "20F5B_0FB7" }, - { "0F69", "20F40_0FB5" }, - { "0F73", "20F71_0F72" }, - { "0F75", "20F71_0F74" }, - { "0F76", "20FB2_0F80" }, - { "0F78", "20FB3_0F80" }, - { "0F81", "20F71_0F80" }, - { "0F93", "20F92_0FB7" }, - { "0F9D", "20F9C_0FB7" }, - { "0FA2", "20FA1_0FB7" }, - { "0FA7", "20FA6_0FB7" }, - { "0FAC", "20FAB_0FB7" }, - { "0FB9", "20F90_0FB5" }, - { "1026", "21025_102E" }, - { "1E00", "20041_0325" }, - { "1E01", "20061_0325" }, - { "1E02", "20042_0307" }, - { "1E03", "20062_0307" }, - { "1E04", "20042_0323" }, - { "1E05", "20062_0323" }, - { "1E06", "20042_0331" }, - { "1E07", "20062_0331" }, - { "1E08", "30043_0327_0301" }, - { "1E09", "30063_0327_0301" }, - { "1E0A", "20044_0307" }, - { "1E0B", "20064_0307" }, - { "1E0C", "20044_0323" }, - { "1E0D", "20064_0323" }, - { "1E0E", "20044_0331" }, - { "1E0F", "20064_0331" }, - { "1E10", "20044_0327" }, - { "1E11", "20064_0327" }, - { "1E12", "20044_032D" }, - { "1E13", "20064_032D" }, - { "1E14", "30045_0304_0300" }, - { "1E15", "30065_0304_0300" }, - { "1E16", "30045_0304_0301" }, - { "1E17", "30065_0304_0301" }, - { "1E18", "20045_032D" }, - { "1E19", "20065_032D" }, - { "1E1A", "20045_0330" }, - { "1E1B", "20065_0330" }, - { "1E1C", "30045_0327_0306" }, - { "1E1D", "30065_0327_0306" }, - { "1E1E", "20046_0307" }, - { "1E1F", "20066_0307" }, - { "1E20", "20047_0304" }, - { "1E21", "20067_0304" }, - { "1E22", "20048_0307" }, - { "1E23", "20068_0307" }, - { "1E24", "20048_0323" }, - { "1E25", "20068_0323" }, - { "1E26", "20048_0308" }, - { "1E27", "20068_0308" }, - { "1E28", "20048_0327" }, - { "1E29", "20068_0327" }, - { "1E2A", "20048_032E" }, - { "1E2B", "20068_032E" }, - { "1E2C", "20049_0330" }, - { "1E2D", "20069_0330" }, - { "1E2E", "30049_0308_0301" }, - { "1E2F", "30069_0308_0301" }, - { "1E30", "2004B_0301" }, - { "1E31", "2006B_0301" }, - { "1E32", "2004B_0323" }, - { "1E33", "2006B_0323" }, - { "1E34", "2004B_0331" }, - { "1E35", "2006B_0331" }, - { "1E36", "2004C_0323" }, - { "1E37", "2006C_0323" }, - { "1E38", "3004C_0323_0304" }, - { "1E39", "3006C_0323_0304" }, - { "1E3A", "2004C_0331" }, - { "1E3B", "2006C_0331" }, - { "1E3C", "2004C_032D" }, - { "1E3D", "2006C_032D" }, - { "1E3E", "2004D_0301" }, - { "1E3F", "2006D_0301" }, - { "1E40", "2004D_0307" }, - { "1E41", "2006D_0307" }, - { "1E42", "2004D_0323" }, - { "1E43", "2006D_0323" }, - { "1E44", "2004E_0307" }, - { "1E45", "2006E_0307" }, - { "1E46", "2004E_0323" }, - { "1E47", "2006E_0323" }, - { "1E48", "2004E_0331" }, - { "1E49", "2006E_0331" }, - { "1E4A", "2004E_032D" }, - { "1E4B", "2006E_032D" }, - { "1E4C", "3004F_0303_0301" }, - { "1E4D", "3006F_0303_0301" }, - { "1E4E", "3004F_0303_0308" }, - { "1E4F", "3006F_0303_0308" }, - { "1E50", "3004F_0304_0300" }, - { "1E51", "3006F_0304_0300" }, - { "1E52", "3004F_0304_0301" }, - { "1E53", "3006F_0304_0301" }, - { "1E54", "20050_0301" }, - { "1E55", "20070_0301" }, - { "1E56", "20050_0307" }, - { "1E57", "20070_0307" }, - { "1E58", "20052_0307" }, - { "1E59", "20072_0307" }, - { "1E5A", "20052_0323" }, - { "1E5B", "20072_0323" }, - { "1E5C", "30052_0323_0304" }, - { "1E5D", "30072_0323_0304" }, - { "1E5E", "20052_0331" }, - { "1E5F", "20072_0331" }, - { "1E60", "20053_0307" }, - { "1E61", "20073_0307" }, - { "1E62", "20053_0323" }, - { "1E63", "20073_0323" }, - { "1E64", "30053_0301_0307" }, - { "1E65", "30073_0301_0307" }, - { "1E66", "30053_030C_0307" }, - { "1E67", "30073_030C_0307" }, - { "1E68", "30053_0323_0307" }, - { "1E69", "30073_0323_0307" }, - { "1E6A", "20054_0307" }, - { "1E6B", "20074_0307" }, - { "1E6C", "20054_0323" }, - { "1E6D", "20074_0323" }, - { "1E6E", "20054_0331" }, - { "1E6F", "20074_0331" }, - { "1E70", "20054_032D" }, - { "1E71", "20074_032D" }, - { "1E72", "20055_0324" }, - { "1E73", "20075_0324" }, - { "1E74", "20055_0330" }, - { "1E75", "20075_0330" }, - { "1E76", "20055_032D" }, - { "1E77", "20075_032D" }, - { "1E78", "30055_0303_0301" }, - { "1E79", "30075_0303_0301" }, - { "1E7A", "30055_0304_0308" }, - { "1E7B", "30075_0304_0308" }, - { "1E7C", "20056_0303" }, - { "1E7D", "20076_0303" }, - { "1E7E", "20056_0323" }, - { "1E7F", "20076_0323" }, - { "1E80", "20057_0300" }, - { "1E81", "20077_0300" }, - { "1E82", "20057_0301" }, - { "1E83", "20077_0301" }, - { "1E84", "20057_0308" }, - { "1E85", "20077_0308" }, - { "1E86", "20057_0307" }, - { "1E87", "20077_0307" }, - { "1E88", "20057_0323" }, - { "1E89", "20077_0323" }, - { "1E8A", "20058_0307" }, - { "1E8B", "20078_0307" }, - { "1E8C", "20058_0308" }, - { "1E8D", "20078_0308" }, - { "1E8E", "20059_0307" }, - { "1E8F", "20079_0307" }, - { "1E90", "2005A_0302" }, - { "1E91", "2007A_0302" }, - { "1E92", "2005A_0323" }, - { "1E93", "2007A_0323" }, - { "1E94", "2005A_0331" }, - { "1E95", "2007A_0331" }, - { "1E96", "20068_0331" }, - { "1E97", "20074_0308" }, - { "1E98", "20077_030A" }, - { "1E99", "20079_030A" }, - { "1E9B", "2017F_0307" }, - { "1EA0", "20041_0323" }, - { "1EA1", "20061_0323" }, - { "1EA2", "20041_0309" }, - { "1EA3", "20061_0309" }, - { "1EA4", "30041_0302_0301" }, - { "1EA5", "30061_0302_0301" }, - { "1EA6", "30041_0302_0300" }, - { "1EA7", "30061_0302_0300" }, - { "1EA8", "30041_0302_0309" }, - { "1EA9", "30061_0302_0309" }, - { "1EAA", "30041_0302_0303" }, - { "1EAB", "30061_0302_0303" }, - { "1EAC", "30041_0323_0302" }, - { "1EAD", "30061_0323_0302" }, - { "1EAE", "30041_0306_0301" }, - { "1EAF", "30061_0306_0301" }, - { "1EB0", "30041_0306_0300" }, - { "1EB1", "30061_0306_0300" }, - { "1EB2", "30041_0306_0309" }, - { "1EB3", "30061_0306_0309" }, - { "1EB4", "30041_0306_0303" }, - { "1EB5", "30061_0306_0303" }, - { "1EB6", "30041_0323_0306" }, - { "1EB7", "30061_0323_0306" }, - { "1EB8", "20045_0323" }, - { "1EB9", "20065_0323" }, - { "1EBA", "20045_0309" }, - { "1EBB", "20065_0309" }, - { "1EBC", "20045_0303" }, - { "1EBD", "20065_0303" }, - { "1EBE", "30045_0302_0301" }, - { "1EBF", "30065_0302_0301" }, - { "1EC0", "30045_0302_0300" }, - { "1EC1", "30065_0302_0300" }, - { "1EC2", "30045_0302_0309" }, - { "1EC3", "30065_0302_0309" }, - { "1EC4", "30045_0302_0303" }, - { "1EC5", "30065_0302_0303" }, - { "1EC6", "30045_0323_0302" }, - { "1EC7", "30065_0323_0302" }, - { "1EC8", "20049_0309" }, - { "1EC9", "20069_0309" }, - { "1ECA", "20049_0323" }, - { "1ECB", "20069_0323" }, - { "1ECC", "2004F_0323" }, - { "1ECD", "2006F_0323" }, - { "1ECE", "2004F_0309" }, - { "1ECF", "2006F_0309" }, - { "1ED0", "3004F_0302_0301" }, - { "1ED1", "3006F_0302_0301" }, - { "1ED2", "3004F_0302_0300" }, - { "1ED3", "3006F_0302_0300" }, - { "1ED4", "3004F_0302_0309" }, - { "1ED5", "3006F_0302_0309" }, - { "1ED6", "3004F_0302_0303" }, - { "1ED7", "3006F_0302_0303" }, - { "1ED8", "3004F_0323_0302" }, - { "1ED9", "3006F_0323_0302" }, - { "1EDA", "3004F_031B_0301" }, - { "1EDB", "3006F_031B_0301" }, - { "1EDC", "3004F_031B_0300" }, - { "1EDD", "3006F_031B_0300" }, - { "1EDE", "3004F_031B_0309" }, - { "1EDF", "3006F_031B_0309" }, - { "1EE0", "3004F_031B_0303" }, - { "1EE1", "3006F_031B_0303" }, - { "1EE2", "3004F_031B_0323" }, - { "1EE3", "3006F_031B_0323" }, - { "1EE4", "20055_0323" }, - { "1EE5", "20075_0323" }, - { "1EE6", "20055_0309" }, - { "1EE7", "20075_0309" }, - { "1EE8", "30055_031B_0301" }, - { "1EE9", "30075_031B_0301" }, - { "1EEA", "30055_031B_0300" }, - { "1EEB", "30075_031B_0300" }, - { "1EEC", "30055_031B_0309" }, - { "1EED", "30075_031B_0309" }, - { "1EEE", "30055_031B_0303" }, - { "1EEF", "30075_031B_0303" }, - { "1EF0", "30055_031B_0323" }, - { "1EF1", "30075_031B_0323" }, - { "1EF2", "20059_0300" }, - { "1EF3", "20079_0300" }, - { "1EF4", "20059_0323" }, - { "1EF5", "20079_0323" }, - { "1EF6", "20059_0309" }, - { "1EF7", "20079_0309" }, - { "1EF8", "20059_0303" }, - { "1EF9", "20079_0303" }, - { "1F00", "203B1_0313" }, - { "1F01", "203B1_0314" }, - { "1F02", "303B1_0313_0300" }, - { "1F03", "303B1_0314_0300" }, - { "1F04", "303B1_0313_0301" }, - { "1F05", "303B1_0314_0301" }, - { "1F06", "303B1_0313_0342" }, - { "1F07", "303B1_0314_0342" }, - { "1F08", "20391_0313" }, - { "1F09", "20391_0314" }, - { "1F0A", "30391_0313_0300" }, - { "1F0B", "30391_0314_0300" }, - { "1F0C", "30391_0313_0301" }, - { "1F0D", "30391_0314_0301" }, - { "1F0E", "30391_0313_0342" }, - { "1F0F", "30391_0314_0342" }, - { "1F10", "203B5_0313" }, - { "1F11", "203B5_0314" }, - { "1F12", "303B5_0313_0300" }, - { "1F13", "303B5_0314_0300" }, - { "1F14", "303B5_0313_0301" }, - { "1F15", "303B5_0314_0301" }, - { "1F18", "20395_0313" }, - { "1F19", "20395_0314" }, - { "1F1A", "30395_0313_0300" }, - { "1F1B", "30395_0314_0300" }, - { "1F1C", "30395_0313_0301" }, - { "1F1D", "30395_0314_0301" }, - { "1F20", "203B7_0313" }, - { "1F21", "203B7_0314" }, - { "1F22", "303B7_0313_0300" }, - { "1F23", "303B7_0314_0300" }, - { "1F24", "303B7_0313_0301" }, - { "1F25", "303B7_0314_0301" }, - { "1F26", "303B7_0313_0342" }, - { "1F27", "303B7_0314_0342" }, - { "1F28", "20397_0313" }, - { "1F29", "20397_0314" }, - { "1F2A", "30397_0313_0300" }, - { "1F2B", "30397_0314_0300" }, - { "1F2C", "30397_0313_0301" }, - { "1F2D", "30397_0314_0301" }, - { "1F2E", "30397_0313_0342" }, - { "1F2F", "30397_0314_0342" }, - { "1F30", "203B9_0313" }, - { "1F31", "203B9_0314" }, - { "1F32", "303B9_0313_0300" }, - { "1F33", "303B9_0314_0300" }, - { "1F34", "303B9_0313_0301" }, - { "1F35", "303B9_0314_0301" }, - { "1F36", "303B9_0313_0342" }, - { "1F37", "303B9_0314_0342" }, - { "1F38", "20399_0313" }, - { "1F39", "20399_0314" }, - { "1F3A", "30399_0313_0300" }, - { "1F3B", "30399_0314_0300" }, - { "1F3C", "30399_0313_0301" }, - { "1F3D", "30399_0314_0301" }, - { "1F3E", "30399_0313_0342" }, - { "1F3F", "30399_0314_0342" }, - { "1F40", "203BF_0313" }, - { "1F41", "203BF_0314" }, - { "1F42", "303BF_0313_0300" }, - { "1F43", "303BF_0314_0300" }, - { "1F44", "303BF_0313_0301" }, - { "1F45", "303BF_0314_0301" }, - { "1F48", "2039F_0313" }, - { "1F49", "2039F_0314" }, - { "1F4A", "3039F_0313_0300" }, - { "1F4B", "3039F_0314_0300" }, - { "1F4C", "3039F_0313_0301" }, - { "1F4D", "3039F_0314_0301" }, - { "1F50", "203C5_0313" }, - { "1F51", "203C5_0314" }, - { "1F52", "303C5_0313_0300" }, - { "1F53", "303C5_0314_0300" }, - { "1F54", "303C5_0313_0301" }, - { "1F55", "303C5_0314_0301" }, - { "1F56", "303C5_0313_0342" }, - { "1F57", "303C5_0314_0342" }, - { "1F59", "203A5_0314" }, - { "1F5B", "303A5_0314_0300" }, - { "1F5D", "303A5_0314_0301" }, - { "1F5F", "303A5_0314_0342" }, - { "1F60", "203C9_0313" }, - { "1F61", "203C9_0314" }, - { "1F62", "303C9_0313_0300" }, - { "1F63", "303C9_0314_0300" }, - { "1F64", "303C9_0313_0301" }, - { "1F65", "303C9_0314_0301" }, - { "1F66", "303C9_0313_0342" }, - { "1F67", "303C9_0314_0342" }, - { "1F68", "203A9_0313" }, - { "1F69", "203A9_0314" }, - { "1F6A", "303A9_0313_0300" }, - { "1F6B", "303A9_0314_0300" }, - { "1F6C", "303A9_0313_0301" }, - { "1F6D", "303A9_0314_0301" }, - { "1F6E", "303A9_0313_0342" }, - { "1F6F", "303A9_0314_0342" }, - { "1F70", "203B1_0300" }, - { "1F71", "203B1_0301" }, - { "1F72", "203B5_0300" }, - { "1F73", "203B5_0301" }, - { "1F74", "203B7_0300" }, - { "1F75", "203B7_0301" }, - { "1F76", "203B9_0300" }, - { "1F77", "203B9_0301" }, - { "1F78", "203BF_0300" }, - { "1F79", "203BF_0301" }, - { "1F7A", "203C5_0300" }, - { "1F7B", "203C5_0301" }, - { "1F7C", "203C9_0300" }, - { "1F7D", "203C9_0301" }, - { "1F80", "303B1_0313_0345" }, - { "1F81", "303B1_0314_0345" }, - { "1F82", "403B1_0313_0300_0345" }, - { "1F83", "403B1_0314_0300_0345" }, - { "1F84", "403B1_0313_0301_0345" }, - { "1F85", "403B1_0314_0301_0345" }, - { "1F86", "403B1_0313_0342_0345" }, - { "1F87", "403B1_0314_0342_0345" }, - { "1F88", "30391_0313_0345" }, - { "1F89", "30391_0314_0345" }, - { "1F8A", "40391_0313_0300_0345" }, - { "1F8B", "40391_0314_0300_0345" }, - { "1F8C", "40391_0313_0301_0345" }, - { "1F8D", "40391_0314_0301_0345" }, - { "1F8E", "40391_0313_0342_0345" }, - { "1F8F", "40391_0314_0342_0345" }, - { "1F90", "303B7_0313_0345" }, - { "1F91", "303B7_0314_0345" }, - { "1F92", "403B7_0313_0300_0345" }, - { "1F93", "403B7_0314_0300_0345" }, - { "1F94", "403B7_0313_0301_0345" }, - { "1F95", "403B7_0314_0301_0345" }, - { "1F96", "403B7_0313_0342_0345" }, - { "1F97", "403B7_0314_0342_0345" }, - { "1F98", "30397_0313_0345" }, - { "1F99", "30397_0314_0345" }, - { "1F9A", "40397_0313_0300_0345" }, - { "1F9B", "40397_0314_0300_0345" }, - { "1F9C", "40397_0313_0301_0345" }, - { "1F9D", "40397_0314_0301_0345" }, - { "1F9E", "40397_0313_0342_0345" }, - { "1F9F", "40397_0314_0342_0345" }, - { "1FA0", "303C9_0313_0345" }, - { "1FA1", "303C9_0314_0345" }, - { "1FA2", "403C9_0313_0300_0345" }, - { "1FA3", "403C9_0314_0300_0345" }, - { "1FA4", "403C9_0313_0301_0345" }, - { "1FA5", "403C9_0314_0301_0345" }, - { "1FA6", "403C9_0313_0342_0345" }, - { "1FA7", "403C9_0314_0342_0345" }, - { "1FA8", "303A9_0313_0345" }, - { "1FA9", "303A9_0314_0345" }, - { "1FAA", "403A9_0313_0300_0345" }, - { "1FAB", "403A9_0314_0300_0345" }, - { "1FAC", "403A9_0313_0301_0345" }, - { "1FAD", "403A9_0314_0301_0345" }, - { "1FAE", "403A9_0313_0342_0345" }, - { "1FAF", "403A9_0314_0342_0345" }, - { "1FB0", "203B1_0306" }, - { "1FB1", "203B1_0304" }, - { "1FB2", "303B1_0300_0345" }, - { "1FB3", "203B1_0345" }, - { "1FB4", "303B1_0301_0345" }, - { "1FB6", "203B1_0342" }, - { "1FB7", "303B1_0342_0345" }, - { "1FB8", "20391_0306" }, - { "1FB9", "20391_0304" }, - { "1FBA", "20391_0300" }, - { "1FBB", "20391_0301" }, - { "1FBC", "20391_0345" }, - { "1FBE", "103B9" }, - { "1FC1", "200A8_0342" }, - { "1FC2", "303B7_0300_0345" }, - { "1FC3", "203B7_0345" }, - { "1FC4", "303B7_0301_0345" }, - { "1FC6", "203B7_0342" }, - { "1FC7", "303B7_0342_0345" }, - { "1FC8", "20395_0300" }, - { "1FC9", "20395_0301" }, - { "1FCA", "20397_0300" }, - { "1FCB", "20397_0301" }, - { "1FCC", "20397_0345" }, - { "1FCD", "21FBF_0300" }, - { "1FCE", "21FBF_0301" }, - { "1FCF", "21FBF_0342" }, - { "1FD0", "203B9_0306" }, - { "1FD1", "203B9_0304" }, - { "1FD2", "303B9_0308_0300" }, - { "1FD3", "303B9_0308_0301" }, - { "1FD6", "203B9_0342" }, - { "1FD7", "303B9_0308_0342" }, - { "1FD8", "20399_0306" }, - { "1FD9", "20399_0304" }, - { "1FDA", "20399_0300" }, - { "1FDB", "20399_0301" }, - { "1FDD", "21FFE_0300" }, - { "1FDE", "21FFE_0301" }, - { "1FDF", "21FFE_0342" }, - { "1FE0", "203C5_0306" }, - { "1FE1", "203C5_0304" }, - { "1FE2", "303C5_0308_0300" }, - { "1FE3", "303C5_0308_0301" }, - { "1FE4", "203C1_0313" }, - { "1FE5", "203C1_0314" }, - { "1FE6", "203C5_0342" }, - { "1FE7", "303C5_0308_0342" }, - { "1FE8", "203A5_0306" }, - { "1FE9", "203A5_0304" }, - { "1FEA", "203A5_0300" }, - { "1FEB", "203A5_0301" }, - { "1FEC", "203A1_0314" }, - { "1FED", "200A8_0300" }, - { "1FEE", "200A8_0301" }, - { "1FEF", "10060" }, - { "1FF2", "303C9_0300_0345" }, - { "1FF3", "203C9_0345" }, - { "1FF4", "303C9_0301_0345" }, - { "1FF6", "203C9_0342" }, - { "1FF7", "303C9_0342_0345" }, - { "1FF8", "2039F_0300" }, - { "1FF9", "2039F_0301" }, - { "1FFA", "203A9_0300" }, - { "1FFB", "203A9_0301" }, - { "1FFC", "203A9_0345" }, - { "1FFD", "100B4" }, - { "2000", "12002" }, - { "2001", "12003" }, - { "2126", "103A9" }, - { "212A", "1004B" }, - { "212B", "20041_030A" }, - { "219A", "22190_0338" }, - { "219B", "22192_0338" }, - { "21AE", "22194_0338" }, - { "21CD", "221D0_0338" }, - { "21CE", "221D4_0338" }, - { "21CF", "221D2_0338" }, - { "2204", "22203_0338" }, - { "2209", "22208_0338" }, - { "220C", "2220B_0338" }, - { "2224", "22223_0338" }, - { "2226", "22225_0338" }, - { "2241", "2223C_0338" }, - { "2244", "22243_0338" }, - { "2247", "22245_0338" }, - { "2249", "22248_0338" }, - { "2260", "2003D_0338" }, - { "2262", "22261_0338" }, - { "226D", "2224D_0338" }, - { "226E", "2003C_0338" }, - { "226F", "2003E_0338" }, - { "2270", "22264_0338" }, - { "2271", "22265_0338" }, - { "2274", "22272_0338" }, - { "2275", "22273_0338" }, - { "2278", "22276_0338" }, - { "2279", "22277_0338" }, - { "2280", "2227A_0338" }, - { "2281", "2227B_0338" }, - { "2284", "22282_0338" }, - { "2285", "22283_0338" }, - { "2288", "22286_0338" }, - { "2289", "22287_0338" }, - { "22AC", "222A2_0338" }, - { "22AD", "222A8_0338" }, - { "22AE", "222A9_0338" }, - { "22AF", "222AB_0338" }, - { "22E0", "2227C_0338" }, - { "22E1", "2227D_0338" }, - { "22E2", "22291_0338" }, - { "22E3", "22292_0338" }, - { "22EA", "222B2_0338" }, - { "22EB", "222B3_0338" }, - { "22EC", "222B4_0338" }, - { "22ED", "222B5_0338" }, - { "2329", "13008" }, - { "232A", "13009" }, - { "2ADC", "22ADD_0338" }, - { "304C", "2304B_3099" }, - { "304E", "2304D_3099" }, - { "3050", "2304F_3099" }, - { "3052", "23051_3099" }, - { "3054", "23053_3099" }, - { "3056", "23055_3099" }, - { "3058", "23057_3099" }, - { "305A", "23059_3099" }, - { "305C", "2305B_3099" }, - { "305E", "2305D_3099" }, - { "3060", "2305F_3099" }, - { "3062", "23061_3099" }, - { "3065", "23064_3099" }, - { "3067", "23066_3099" }, - { "3069", "23068_3099" }, - { "3070", "2306F_3099" }, - { "3071", "2306F_309A" }, - { "3073", "23072_3099" }, - { "3074", "23072_309A" }, - { "3076", "23075_3099" }, - { "3077", "23075_309A" }, - { "3079", "23078_3099" }, - { "307A", "23078_309A" }, - { "307C", "2307B_3099" }, - { "307D", "2307B_309A" }, - { "3094", "23046_3099" }, - { "309E", "2309D_3099" }, - { "30AC", "230AB_3099" }, - { "30AE", "230AD_3099" }, - { "30B0", "230AF_3099" }, - { "30B2", "230B1_3099" }, - { "30B4", "230B3_3099" }, - { "30B6", "230B5_3099" }, - { "30B8", "230B7_3099" }, - { "30BA", "230B9_3099" }, - { "30BC", "230BB_3099" }, - { "30BE", "230BD_3099" }, - { "30C0", "230BF_3099" }, - { "30C2", "230C1_3099" }, - { "30C5", "230C4_3099" }, - { "30C7", "230C6_3099" }, - { "30C9", "230C8_3099" }, - { "30D0", "230CF_3099" }, - { "30D1", "230CF_309A" }, - { "30D3", "230D2_3099" }, - { "30D4", "230D2_309A" }, - { "30D6", "230D5_3099" }, - { "30D7", "230D5_309A" }, - { "30D9", "230D8_3099" }, - { "30DA", "230D8_309A" }, - { "30DC", "230DB_3099" }, - { "30DD", "230DB_309A" }, - { "30F4", "230A6_3099" }, - { "30F7", "230EF_3099" }, - { "30F8", "230F0_3099" }, - { "30F9", "230F1_3099" }, - { "30FA", "230F2_3099" }, - { "30FE", "230FD_3099" }, - { "F900", "18C48" }, - { "F901", "166F4" }, - { "F902", "18ECA" }, - { "F903", "18CC8" }, - { "F904", "16ED1" }, - { "F905", "14E32" }, - { "F906", "153E5" }, - { "F907", "19F9C" }, - { "F908", "19F9C" }, - { "F909", "15951" }, - { "F90A", "191D1" }, - { "F90B", "15587" }, - { "F90C", "15948" }, - { "F90D", "161F6" }, - { "F90E", "17669" }, - { "F90F", "17F85" }, - { "F910", "1863F" }, - { "F911", "187BA" }, - { "F912", "188F8" }, - { "F913", "1908F" }, - { "F914", "16A02" }, - { "F915", "16D1B" }, - { "F916", "170D9" }, - { "F917", "173DE" }, - { "F918", "1843D" }, - { "F919", "1916A" }, - { "F91A", "199F1" }, - { "F91B", "14E82" }, - { "F91C", "15375" }, - { "F91D", "16B04" }, - { "F91E", "1721B" }, - { "F91F", "1862D" }, - { "F920", "19E1E" }, - { "F921", "15D50" }, - { "F922", "16FEB" }, - { "F923", "185CD" }, - { "F924", "18964" }, - { "F925", "162C9" }, - { "F926", "181D8" }, - { "F927", "1881F" }, - { "F928", "15ECA" }, - { "F929", "16717" }, - { "F92A", "16D6A" }, - { "F92B", "172FC" }, - { "F92C", "190CE" }, - { "F92D", "14F86" }, - { "F92E", "151B7" }, - { "F92F", "152DE" }, - { "F930", "164C4" }, - { "F931", "16AD3" }, - { "F932", "17210" }, - { "F933", "176E7" }, - { "F934", "18001" }, - { "F935", "18606" }, - { "F936", "1865C" }, - { "F937", "18DEF" }, - { "F938", "19732" }, - { "F939", "19B6F" }, - { "F93A", "19DFA" }, - { "F93B", "1788C" }, - { "F93C", "1797F" }, - { "F93D", "17DA0" }, - { "F93E", "183C9" }, - { "F93F", "19304" }, - { "F940", "19E7F" }, - { "F941", "18AD6" }, - { "F942", "158DF" }, - { "F943", "15F04" }, - { "F944", "17C60" }, - { "F945", "1807E" }, - { "F946", "17262" }, - { "F947", "178CA" }, - { "F948", "18CC2" }, - { "F949", "196F7" }, - { "F94A", "158D8" }, - { "F94B", "15C62" }, - { "F94C", "16A13" }, - { "F94D", "16DDA" }, - { "F94E", "16F0F" }, - { "F94F", "17D2F" }, - { "F950", "17E37" }, - { "F951", "1964B" }, - { "F952", "152D2" }, - { "F953", "1808B" }, - { "F954", "151DC" }, - { "F955", "151CC" }, - { "F956", "17A1C" }, - { "F957", "17DBE" }, - { "F958", "183F1" }, - { "F959", "19675" }, - { "F95A", "18B80" }, - { "F95B", "162CF" }, - { "F95C", "16A02" }, - { "F95D", "18AFE" }, - { "F95E", "14E39" }, - { "F95F", "15BE7" }, - { "F960", "16012" }, - { "F961", "17387" }, - { "F962", "17570" }, - { "F963", "15317" }, - { "F964", "178FB" }, - { "F965", "14FBF" }, - { "F966", "15FA9" }, - { "F967", "14E0D" }, - { "F968", "16CCC" }, - { "F969", "16578" }, - { "F96A", "17D22" }, - { "F96B", "153C3" }, - { "F96C", "1585E" }, - { "F96D", "17701" }, - { "F96E", "18449" }, - { "F96F", "18AAA" }, - { "F970", "16BBA" }, - { "F971", "18FB0" }, - { "F972", "16C88" }, - { "F973", "162FE" }, - { "F974", "182E5" }, - { "F975", "163A0" }, - { "F976", "17565" }, - { "F977", "14EAE" }, - { "F978", "15169" }, - { "F979", "151C9" }, - { "F97A", "16881" }, - { "F97B", "17CE7" }, - { "F97C", "1826F" }, - { "F97D", "18AD2" }, - { "F97E", "191CF" }, - { "F97F", "152F5" }, - { "F980", "15442" }, - { "F981", "15973" }, - { "F982", "15EEC" }, - { "F983", "165C5" }, - { "F984", "16FFE" }, - { "F985", "1792A" }, - { "F986", "195AD" }, - { "F987", "19A6A" }, - { "F988", "19E97" }, - { "F989", "19ECE" }, - { "F98A", "1529B" }, - { "F98B", "166C6" }, - { "F98C", "16B77" }, - { "F98D", "18F62" }, - { "F98E", "15E74" }, - { "F98F", "16190" }, - { "F990", "16200" }, - { "F991", "1649A" }, - { "F992", "16F23" }, - { "F993", "17149" }, - { "F994", "17489" }, - { "F995", "179CA" }, - { "F996", "17DF4" }, - { "F997", "1806F" }, - { "F998", "18F26" }, - { "F999", "184EE" }, - { "F99A", "19023" }, - { "F99B", "1934A" }, - { "F99C", "15217" }, - { "F99D", "152A3" }, - { "F99E", "154BD" }, - { "F99F", "170C8" }, - { "F9A0", "188C2" }, - { "F9A1", "18AAA" }, - { "F9A2", "15EC9" }, - { "F9A3", "15FF5" }, - { "F9A4", "1637B" }, - { "F9A5", "16BAE" }, - { "F9A6", "17C3E" }, - { "F9A7", "17375" }, - { "F9A8", "14EE4" }, - { "F9A9", "156F9" }, - { "F9AA", "15BE7" }, - { "F9AB", "15DBA" }, - { "F9AC", "1601C" }, - { "F9AD", "173B2" }, - { "F9AE", "17469" }, - { "F9AF", "17F9A" }, - { "F9B0", "18046" }, - { "F9B1", "19234" }, - { "F9B2", "196F6" }, - { "F9B3", "19748" }, - { "F9B4", "19818" }, - { "F9B5", "14F8B" }, - { "F9B6", "179AE" }, - { "F9B7", "191B4" }, - { "F9B8", "196B8" }, - { "F9B9", "160E1" }, - { "F9BA", "14E86" }, - { "F9BB", "150DA" }, - { "F9BC", "15BEE" }, - { "F9BD", "15C3F" }, - { "F9BE", "16599" }, - { "F9BF", "16A02" }, - { "F9C0", "171CE" }, - { "F9C1", "17642" }, - { "F9C2", "184FC" }, - { "F9C3", "1907C" }, - { "F9C4", "19F8D" }, - { "F9C5", "16688" }, - { "F9C6", "1962E" }, - { "F9C7", "15289" }, - { "F9C8", "1677B" }, - { "F9C9", "167F3" }, - { "F9CA", "16D41" }, - { "F9CB", "16E9C" }, - { "F9CC", "17409" }, - { "F9CD", "17559" }, - { "F9CE", "1786B" }, - { "F9CF", "17D10" }, - { "F9D0", "1985E" }, - { "F9D1", "1516D" }, - { "F9D2", "1622E" }, - { "F9D3", "19678" }, - { "F9D4", "1502B" }, - { "F9D5", "15D19" }, - { "F9D6", "16DEA" }, - { "F9D7", "18F2A" }, - { "F9D8", "15F8B" }, - { "F9D9", "16144" }, - { "F9DA", "16817" }, - { "F9DB", "17387" }, - { "F9DC", "19686" }, - { "F9DD", "15229" }, - { "F9DE", "1540F" }, - { "F9DF", "15C65" }, - { "F9E0", "16613" }, - { "F9E1", "1674E" }, - { "F9E2", "168A8" }, - { "F9E3", "16CE5" }, - { "F9E4", "17406" }, - { "F9E5", "175E2" }, - { "F9E6", "17F79" }, - { "F9E7", "188CF" }, - { "F9E8", "188E1" }, - { "F9E9", "191CC" }, - { "F9EA", "196E2" }, - { "F9EB", "1533F" }, - { "F9EC", "16EBA" }, - { "F9ED", "1541D" }, - { "F9EE", "171D0" }, - { "F9EF", "17498" }, - { "F9F0", "185FA" }, - { "F9F1", "196A3" }, - { "F9F2", "19C57" }, - { "F9F3", "19E9F" }, - { "F9F4", "16797" }, - { "F9F5", "16DCB" }, - { "F9F6", "181E8" }, - { "F9F7", "17ACB" }, - { "F9F8", "17B20" }, - { "F9F9", "17C92" }, - { "F9FA", "172C0" }, - { "F9FB", "17099" }, - { "F9FC", "18B58" }, - { "F9FD", "14EC0" }, - { "F9FE", "18336" }, - { "F9FF", "1523A" }, - { "FA00", "15207" }, - { "FA01", "15EA6" }, - { "FA02", "162D3" }, - { "FA03", "17CD6" }, - { "FA04", "15B85" }, - { "FA05", "16D1E" }, - { "FA06", "166B4" }, - { "FA07", "18F3B" }, - { "FA08", "1884C" }, - { "FA09", "1964D" }, - { "FA0A", "1898B" }, - { "FA0B", "15ED3" }, - { "FA0C", "15140" }, - { "FA0D", "155C0" }, - { "FA10", "1585A" }, - { "FA12", "16674" }, - { "FA15", "151DE" }, - { "FA16", "1732A" }, - { "FA17", "176CA" }, - { "FA18", "1793C" }, - { "FA19", "1795E" }, - { "FA1A", "17965" }, - { "FA1B", "1798F" }, - { "FA1C", "19756" }, - { "FA1D", "17CBE" }, - { "FA1E", "17FBD" }, - { "FA20", "18612" }, - { "FA22", "18AF8" }, - { "FA25", "19038" }, - { "FA26", "190FD" }, - { "FA2A", "198EF" }, - { "FA2B", "198FC" }, - { "FA2C", "19928" }, - { "FA2D", "19DB4" }, - { "FA30", "14FAE" }, - { "FA31", "150E7" }, - { "FA32", "1514D" }, - { "FA33", "152C9" }, - { "FA34", "152E4" }, - { "FA35", "15351" }, - { "FA36", "1559D" }, - { "FA37", "15606" }, - { "FA38", "15668" }, - { "FA39", "15840" }, - { "FA3A", "158A8" }, - { "FA3B", "15C64" }, - { "FA3C", "15C6E" }, - { "FA3D", "16094" }, - { "FA3E", "16168" }, - { "FA3F", "1618E" }, - { "FA40", "161F2" }, - { "FA41", "1654F" }, - { "FA42", "165E2" }, - { "FA43", "16691" }, - { "FA44", "16885" }, - { "FA45", "16D77" }, - { "FA46", "16E1A" }, - { "FA47", "16F22" }, - { "FA48", "1716E" }, - { "FA49", "1722B" }, - { "FA4A", "17422" }, - { "FA4B", "17891" }, - { "FA4C", "1793E" }, - { "FA4D", "17949" }, - { "FA4E", "17948" }, - { "FA4F", "17950" }, - { "FA50", "17956" }, - { "FA51", "1795D" }, - { "FA52", "1798D" }, - { "FA53", "1798E" }, - { "FA54", "17A40" }, - { "FA55", "17A81" }, - { "FA56", "17BC0" }, - { "FA57", "17DF4" }, - { "FA58", "17E09" }, - { "FA59", "17E41" }, - { "FA5A", "17F72" }, - { "FA5B", "18005" }, - { "FA5C", "181ED" }, - { "FA5D", "18279" }, - { "FA5E", "18279" }, - { "FA5F", "18457" }, - { "FA60", "18910" }, - { "FA61", "18996" }, - { "FA62", "18B01" }, - { "FA63", "18B39" }, - { "FA64", "18CD3" }, - { "FA65", "18D08" }, - { "FA66", "18FB6" }, - { "FA67", "19038" }, - { "FA68", "196E3" }, - { "FA69", "197FF" }, - { "FA6A", "1983B" }, - { "FB1D", "205D9_05B4" }, - { "FB1F", "205F2_05B7" }, - { "FB2A", "205E9_05C1" }, - { "FB2B", "205E9_05C2" }, - { "FB2C", "305E9_05BC_05C1" }, - { "FB2D", "305E9_05BC_05C2" }, - { "FB2E", "205D0_05B7" }, - { "FB2F", "205D0_05B8" }, - { "FB30", "205D0_05BC" }, - { "FB31", "205D1_05BC" }, - { "FB32", "205D2_05BC" }, - { "FB33", "205D3_05BC" }, - { "FB34", "205D4_05BC" }, - { "FB35", "205D5_05BC" }, - { "FB36", "205D6_05BC" }, - { "FB38", "205D8_05BC" }, - { "FB39", "205D9_05BC" }, - { "FB3A", "205DA_05BC" }, - { "FB3B", "205DB_05BC" }, - { "FB3C", "205DC_05BC" }, - { "FB3E", "205DE_05BC" }, - { "FB40", "205E0_05BC" }, - { "FB41", "205E1_05BC" }, - { "FB43", "205E3_05BC" }, - { "FB44", "205E4_05BC" }, - { "FB46", "205E6_05BC" }, - { "FB47", "205E7_05BC" }, - { "FB48", "205E8_05BC" }, - { "FB49", "205E9_05BC" }, - { "FB4A", "205EA_05BC" }, - { "FB4B", "205D5_05B9" }, - { "FB4C", "205D1_05BF" }, - { "FB4D", "205DB_05BF" }, - { "FB4E", "205E4_05BF" }, - { "1D15E", "21D157_1D165" }, - { "1D15F", "21D158_1D165" }, - { "1D160", "31D158_1D165_1D16E" }, - { "1D161", "31D158_1D165_1D16F" }, - { "1D162", "31D158_1D165_1D170" }, - { "1D163", "31D158_1D165_1D171" }, - { "1D164", "31D158_1D165_1D172" }, - { "1D1BB", "21D1B9_1D165" }, - { "1D1BC", "21D1BA_1D165" }, - { "1D1BD", "31D1B9_1D165_1D16E" }, - { "1D1BE", "31D1BA_1D165_1D16E" }, - { "1D1BF", "31D1B9_1D165_1D16F" }, - { "1D1C0", "31D1BA_1D165_1D16F" }, - { "2F800", "14E3D" }, - { "2F801", "14E38" }, - { "2F802", "14E41" }, - { "2F803", "120122" }, - { "2F804", "14F60" }, - { "2F805", "14FAE" }, - { "2F806", "14FBB" }, - { "2F807", "15002" }, - { "2F808", "1507A" }, - { "2F809", "15099" }, - { "2F80A", "150E7" }, - { "2F80B", "150CF" }, - { "2F80C", "1349E" }, - { "2F80D", "12063A" }, - { "2F80E", "1514D" }, - { "2F80F", "15154" }, - { "2F810", "15164" }, - { "2F811", "15177" }, - { "2F812", "12051C" }, - { "2F813", "134B9" }, - { "2F814", "15167" }, - { "2F815", "1518D" }, - { "2F816", "12054B" }, - { "2F817", "15197" }, - { "2F818", "151A4" }, - { "2F819", "14ECC" }, - { "2F81A", "151AC" }, - { "2F81B", "151B5" }, - { "2F81C", "1291DF" }, - { "2F81D", "151F5" }, - { "2F81E", "15203" }, - { "2F81F", "134DF" }, - { "2F820", "1523B" }, - { "2F821", "15246" }, - { "2F822", "15272" }, - { "2F823", "15277" }, - { "2F824", "13515" }, - { "2F825", "152C7" }, - { "2F826", "152C9" }, - { "2F827", "152E4" }, - { "2F828", "152FA" }, - { "2F829", "15305" }, - { "2F82A", "15306" }, - { "2F82B", "15317" }, - { "2F82C", "15349" }, - { "2F82D", "15351" }, - { "2F82E", "1535A" }, - { "2F82F", "15373" }, - { "2F830", "1537D" }, - { "2F831", "1537F" }, - { "2F832", "1537F" }, - { "2F833", "1537F" }, - { "2F834", "120A2C" }, - { "2F835", "17070" }, - { "2F836", "153CA" }, - { "2F837", "153DF" }, - { "2F838", "120B63" }, - { "2F839", "153EB" }, - { "2F83A", "153F1" }, - { "2F83B", "15406" }, - { "2F83C", "1549E" }, - { "2F83D", "15438" }, - { "2F83E", "15448" }, - { "2F83F", "15468" }, - { "2F840", "154A2" }, - { "2F841", "154F6" }, - { "2F842", "15510" }, - { "2F843", "15553" }, - { "2F844", "15563" }, - { "2F845", "15584" }, - { "2F846", "15584" }, - { "2F847", "15599" }, - { "2F848", "155AB" }, - { "2F849", "155B3" }, - { "2F84A", "155C2" }, - { "2F84B", "15716" }, - { "2F84C", "15606" }, - { "2F84D", "15717" }, - { "2F84E", "15651" }, - { "2F84F", "15674" }, - { "2F850", "15207" }, - { "2F851", "158EE" }, - { "2F852", "157CE" }, - { "2F853", "157F4" }, - { "2F854", "1580D" }, - { "2F855", "1578B" }, - { "2F856", "15832" }, - { "2F857", "15831" }, - { "2F858", "158AC" }, - { "2F859", "1214E4" }, - { "2F85A", "158F2" }, - { "2F85B", "158F7" }, - { "2F85C", "15906" }, - { "2F85D", "1591A" }, - { "2F85E", "15922" }, - { "2F85F", "15962" }, - { "2F860", "1216A8" }, - { "2F861", "1216EA" }, - { "2F862", "159EC" }, - { "2F863", "15A1B" }, - { "2F864", "15A27" }, - { "2F865", "159D8" }, - { "2F866", "15A66" }, - { "2F867", "136EE" }, - { "2F868", "12136A" }, - { "2F869", "15B08" }, - { "2F86A", "15B3E" }, - { "2F86B", "15B3E" }, - { "2F86C", "1219C8" }, - { "2F86D", "15BC3" }, - { "2F86E", "15BD8" }, - { "2F86F", "15BE7" }, - { "2F870", "15BF3" }, - { "2F871", "121B18" }, - { "2F872", "15BFF" }, - { "2F873", "15C06" }, - { "2F874", "15F33" }, - { "2F875", "15C22" }, - { "2F876", "13781" }, - { "2F877", "15C60" }, - { "2F878", "15C6E" }, - { "2F879", "15CC0" }, - { "2F87A", "15C8D" }, - { "2F87B", "121DE4" }, - { "2F87C", "15D43" }, - { "2F87D", "121DE6" }, - { "2F87E", "15D6E" }, - { "2F87F", "15D6B" }, - { "2F880", "15D7C" }, - { "2F881", "15DE1" }, - { "2F882", "15DE2" }, - { "2F883", "1382F" }, - { "2F884", "15DFD" }, - { "2F885", "15E28" }, - { "2F886", "15E3D" }, - { "2F887", "15E69" }, - { "2F888", "13862" }, - { "2F889", "122183" }, - { "2F88A", "1387C" }, - { "2F88B", "15EB0" }, - { "2F88C", "15EB3" }, - { "2F88D", "15EB6" }, - { "2F88E", "15ECA" }, - { "2F88F", "12A392" }, - { "2F890", "15EFE" }, - { "2F891", "122331" }, - { "2F892", "122331" }, - { "2F893", "18201" }, - { "2F894", "15F22" }, - { "2F895", "15F22" }, - { "2F896", "138C7" }, - { "2F897", "1232B8" }, - { "2F898", "1261DA" }, - { "2F899", "15F62" }, - { "2F89A", "15F6B" }, - { "2F89B", "138E3" }, - { "2F89C", "15F9A" }, - { "2F89D", "15FCD" }, - { "2F89E", "15FD7" }, - { "2F89F", "15FF9" }, - { "2F8A0", "16081" }, - { "2F8A1", "1393A" }, - { "2F8A2", "1391C" }, - { "2F8A3", "16094" }, - { "2F8A4", "1226D4" }, - { "2F8A5", "160C7" }, - { "2F8A6", "16148" }, - { "2F8A7", "1614C" }, - { "2F8A8", "1614E" }, - { "2F8A9", "1614C" }, - { "2F8AA", "1617A" }, - { "2F8AB", "1618E" }, - { "2F8AC", "161B2" }, - { "2F8AD", "161A4" }, - { "2F8AE", "161AF" }, - { "2F8AF", "161DE" }, - { "2F8B0", "161F2" }, - { "2F8B1", "161F6" }, - { "2F8B2", "16210" }, - { "2F8B3", "1621B" }, - { "2F8B4", "1625D" }, - { "2F8B5", "162B1" }, - { "2F8B6", "162D4" }, - { "2F8B7", "16350" }, - { "2F8B8", "122B0C" }, - { "2F8B9", "1633D" }, - { "2F8BA", "162FC" }, - { "2F8BB", "16368" }, - { "2F8BC", "16383" }, - { "2F8BD", "163E4" }, - { "2F8BE", "122BF1" }, - { "2F8BF", "16422" }, - { "2F8C0", "163C5" }, - { "2F8C1", "163A9" }, - { "2F8C2", "13A2E" }, - { "2F8C3", "16469" }, - { "2F8C4", "1647E" }, - { "2F8C5", "1649D" }, - { "2F8C6", "16477" }, - { "2F8C7", "13A6C" }, - { "2F8C8", "1654F" }, - { "2F8C9", "1656C" }, - { "2F8CA", "12300A" }, - { "2F8CB", "165E3" }, - { "2F8CC", "166F8" }, - { "2F8CD", "16649" }, - { "2F8CE", "13B19" }, - { "2F8CF", "16691" }, - { "2F8D0", "13B08" }, - { "2F8D1", "13AE4" }, - { "2F8D2", "15192" }, - { "2F8D3", "15195" }, - { "2F8D4", "16700" }, - { "2F8D5", "1669C" }, - { "2F8D6", "180AD" }, - { "2F8D7", "143D9" }, - { "2F8D8", "16717" }, - { "2F8D9", "1671B" }, - { "2F8DA", "16721" }, - { "2F8DB", "1675E" }, - { "2F8DC", "16753" }, - { "2F8DD", "1233C3" }, - { "2F8DE", "13B49" }, - { "2F8DF", "167FA" }, - { "2F8E0", "16785" }, - { "2F8E1", "16852" }, - { "2F8E2", "16885" }, - { "2F8E3", "12346D" }, - { "2F8E4", "1688E" }, - { "2F8E5", "1681F" }, - { "2F8E6", "16914" }, - { "2F8E7", "13B9D" }, - { "2F8E8", "16942" }, - { "2F8E9", "169A3" }, - { "2F8EA", "169EA" }, - { "2F8EB", "16AA8" }, - { "2F8EC", "1236A3" }, - { "2F8ED", "16ADB" }, - { "2F8EE", "13C18" }, - { "2F8EF", "16B21" }, - { "2F8F0", "1238A7" }, - { "2F8F1", "16B54" }, - { "2F8F2", "13C4E" }, - { "2F8F3", "16B72" }, - { "2F8F4", "16B9F" }, - { "2F8F5", "16BBA" }, - { "2F8F6", "16BBB" }, - { "2F8F7", "123A8D" }, - { "2F8F8", "121D0B" }, - { "2F8F9", "123AFA" }, - { "2F8FA", "16C4E" }, - { "2F8FB", "123CBC" }, - { "2F8FC", "16CBF" }, - { "2F8FD", "16CCD" }, - { "2F8FE", "16C67" }, - { "2F8FF", "16D16" }, - { "2F900", "16D3E" }, - { "2F901", "16D77" }, - { "2F902", "16D41" }, - { "2F903", "16D69" }, - { "2F904", "16D78" }, - { "2F905", "16D85" }, - { "2F906", "123D1E" }, - { "2F907", "16D34" }, - { "2F908", "16E2F" }, - { "2F909", "16E6E" }, - { "2F90A", "13D33" }, - { "2F90B", "16ECB" }, - { "2F90C", "16EC7" }, - { "2F90D", "123ED1" }, - { "2F90E", "16DF9" }, - { "2F90F", "16F6E" }, - { "2F910", "123F5E" }, - { "2F911", "123F8E" }, - { "2F912", "16FC6" }, - { "2F913", "17039" }, - { "2F914", "1701E" }, - { "2F915", "1701B" }, - { "2F916", "13D96" }, - { "2F917", "1704A" }, - { "2F918", "1707D" }, - { "2F919", "17077" }, - { "2F91A", "170AD" }, - { "2F91B", "120525" }, - { "2F91C", "17145" }, - { "2F91D", "124263" }, - { "2F91E", "1719C" }, - { "2F91F", "143AB" }, - { "2F920", "17228" }, - { "2F921", "17235" }, - { "2F922", "17250" }, - { "2F923", "124608" }, - { "2F924", "17280" }, - { "2F925", "17295" }, - { "2F926", "124735" }, - { "2F927", "124814" }, - { "2F928", "1737A" }, - { "2F929", "1738B" }, - { "2F92A", "13EAC" }, - { "2F92B", "173A5" }, - { "2F92C", "13EB8" }, - { "2F92D", "13EB8" }, - { "2F92E", "17447" }, - { "2F92F", "1745C" }, - { "2F930", "17471" }, - { "2F931", "17485" }, - { "2F932", "174CA" }, - { "2F933", "13F1B" }, - { "2F934", "17524" }, - { "2F935", "124C36" }, - { "2F936", "1753E" }, - { "2F937", "124C92" }, - { "2F938", "17570" }, - { "2F939", "12219F" }, - { "2F93A", "17610" }, - { "2F93B", "124FA1" }, - { "2F93C", "124FB8" }, - { "2F93D", "125044" }, - { "2F93E", "13FFC" }, - { "2F93F", "14008" }, - { "2F940", "176F4" }, - { "2F941", "1250F3" }, - { "2F942", "1250F2" }, - { "2F943", "125119" }, - { "2F944", "125133" }, - { "2F945", "1771E" }, - { "2F946", "1771F" }, - { "2F947", "1771F" }, - { "2F948", "1774A" }, - { "2F949", "14039" }, - { "2F94A", "1778B" }, - { "2F94B", "14046" }, - { "2F94C", "14096" }, - { "2F94D", "12541D" }, - { "2F94E", "1784E" }, - { "2F94F", "1788C" }, - { "2F950", "178CC" }, - { "2F951", "140E3" }, - { "2F952", "125626" }, - { "2F953", "17956" }, - { "2F954", "12569A" }, - { "2F955", "1256C5" }, - { "2F956", "1798F" }, - { "2F957", "179EB" }, - { "2F958", "1412F" }, - { "2F959", "17A40" }, - { "2F95A", "17A4A" }, - { "2F95B", "17A4F" }, - { "2F95C", "12597C" }, - { "2F95D", "125AA7" }, - { "2F95E", "125AA7" }, - { "2F95F", "17AAE" }, - { "2F960", "14202" }, - { "2F961", "125BAB" }, - { "2F962", "17BC6" }, - { "2F963", "17BC9" }, - { "2F964", "14227" }, - { "2F965", "125C80" }, - { "2F966", "17CD2" }, - { "2F967", "142A0" }, - { "2F968", "17CE8" }, - { "2F969", "17CE3" }, - { "2F96A", "17D00" }, - { "2F96B", "125F86" }, - { "2F96C", "17D63" }, - { "2F96D", "14301" }, - { "2F96E", "17DC7" }, - { "2F96F", "17E02" }, - { "2F970", "17E45" }, - { "2F971", "14334" }, - { "2F972", "126228" }, - { "2F973", "126247" }, - { "2F974", "14359" }, - { "2F975", "1262D9" }, - { "2F976", "17F7A" }, - { "2F977", "12633E" }, - { "2F978", "17F95" }, - { "2F979", "17FFA" }, - { "2F97A", "18005" }, - { "2F97B", "1264DA" }, - { "2F97C", "126523" }, - { "2F97D", "18060" }, - { "2F97E", "1265A8" }, - { "2F97F", "18070" }, - { "2F980", "12335F" }, - { "2F981", "143D5" }, - { "2F982", "180B2" }, - { "2F983", "18103" }, - { "2F984", "1440B" }, - { "2F985", "1813E" }, - { "2F986", "15AB5" }, - { "2F987", "1267A7" }, - { "2F988", "1267B5" }, - { "2F989", "123393" }, - { "2F98A", "12339C" }, - { "2F98B", "18201" }, - { "2F98C", "18204" }, - { "2F98D", "18F9E" }, - { "2F98E", "1446B" }, - { "2F98F", "18291" }, - { "2F990", "1828B" }, - { "2F991", "1829D" }, - { "2F992", "152B3" }, - { "2F993", "182B1" }, - { "2F994", "182B3" }, - { "2F995", "182BD" }, - { "2F996", "182E6" }, - { "2F997", "126B3C" }, - { "2F998", "182E5" }, - { "2F999", "1831D" }, - { "2F99A", "18363" }, - { "2F99B", "183AD" }, - { "2F99C", "18323" }, - { "2F99D", "183BD" }, - { "2F99E", "183E7" }, - { "2F99F", "18457" }, - { "2F9A0", "18353" }, - { "2F9A1", "183CA" }, - { "2F9A2", "183CC" }, - { "2F9A3", "183DC" }, - { "2F9A4", "126C36" }, - { "2F9A5", "126D6B" }, - { "2F9A6", "126CD5" }, - { "2F9A7", "1452B" }, - { "2F9A8", "184F1" }, - { "2F9A9", "184F3" }, - { "2F9AA", "18516" }, - { "2F9AB", "1273CA" }, - { "2F9AC", "18564" }, - { "2F9AD", "126F2C" }, - { "2F9AE", "1455D" }, - { "2F9AF", "14561" }, - { "2F9B0", "126FB1" }, - { "2F9B1", "1270D2" }, - { "2F9B2", "1456B" }, - { "2F9B3", "18650" }, - { "2F9B4", "1865C" }, - { "2F9B5", "18667" }, - { "2F9B6", "18669" }, - { "2F9B7", "186A9" }, - { "2F9B8", "18688" }, - { "2F9B9", "1870E" }, - { "2F9BA", "186E2" }, - { "2F9BB", "18779" }, - { "2F9BC", "18728" }, - { "2F9BD", "1876B" }, - { "2F9BE", "18786" }, - { "2F9BF", "14D57" }, - { "2F9C0", "187E1" }, - { "2F9C1", "18801" }, - { "2F9C2", "145F9" }, - { "2F9C3", "18860" }, - { "2F9C4", "18863" }, - { "2F9C5", "127667" }, - { "2F9C6", "188D7" }, - { "2F9C7", "188DE" }, - { "2F9C8", "14635" }, - { "2F9C9", "188FA" }, - { "2F9CA", "134BB" }, - { "2F9CB", "1278AE" }, - { "2F9CC", "127966" }, - { "2F9CD", "146BE" }, - { "2F9CE", "146C7" }, - { "2F9CF", "18AA0" }, - { "2F9D0", "18AED" }, - { "2F9D1", "18B8A" }, - { "2F9D2", "18C55" }, - { "2F9D3", "127CA8" }, - { "2F9D4", "18CAB" }, - { "2F9D5", "18CC1" }, - { "2F9D6", "18D1B" }, - { "2F9D7", "18D77" }, - { "2F9D8", "127F2F" }, - { "2F9D9", "120804" }, - { "2F9DA", "18DCB" }, - { "2F9DB", "18DBC" }, - { "2F9DC", "18DF0" }, - { "2F9DD", "1208DE" }, - { "2F9DE", "18ED4" }, - { "2F9DF", "18F38" }, - { "2F9E0", "1285D2" }, - { "2F9E1", "1285ED" }, - { "2F9E2", "19094" }, - { "2F9E3", "190F1" }, - { "2F9E4", "19111" }, - { "2F9E5", "12872E" }, - { "2F9E6", "1911B" }, - { "2F9E7", "19238" }, - { "2F9E8", "192D7" }, - { "2F9E9", "192D8" }, - { "2F9EA", "1927C" }, - { "2F9EB", "193F9" }, - { "2F9EC", "19415" }, - { "2F9ED", "128BFA" }, - { "2F9EE", "1958B" }, - { "2F9EF", "14995" }, - { "2F9F0", "195B7" }, - { "2F9F1", "128D77" }, - { "2F9F2", "149E6" }, - { "2F9F3", "196C3" }, - { "2F9F4", "15DB2" }, - { "2F9F5", "19723" }, - { "2F9F6", "129145" }, - { "2F9F7", "12921A" }, - { "2F9F8", "14A6E" }, - { "2F9F9", "14A76" }, - { "2F9FA", "197E0" }, - { "2F9FB", "12940A" }, - { "2F9FC", "14AB2" }, - { "2F9FD", "129496" }, - { "2F9FE", "1980B" }, - { "2F9FF", "1980B" }, - { "2FA00", "19829" }, - { "2FA01", "1295B6" }, - { "2FA02", "198E2" }, - { "2FA03", "14B33" }, - { "2FA04", "19929" }, - { "2FA05", "199A7" }, - { "2FA06", "199C2" }, - { "2FA07", "199FE" }, - { "2FA08", "14BCE" }, - { "2FA09", "129B30" }, - { "2FA0A", "19B12" }, - { "2FA0B", "19C40" }, - { "2FA0C", "19CFD" }, - { "2FA0D", "14CCE" }, - { "2FA0E", "14CED" }, - { "2FA0F", "19D67" }, - { "2FA10", "12A0CE" }, - { "2FA11", "14CF8" }, - { "2FA12", "12A105" }, - { "2FA13", "12A20E" }, - { "2FA14", "12A291" }, - { "2FA15", "19EBB" }, - { "2FA16", "14D56" }, - { "2FA17", "19EF9" }, - { "2FA18", "19EFE" }, - { "2FA19", "19F05" }, - { "2FA1A", "19F0F" }, - { "2FA1B", "19F16" }, - { "2FA1C", "19F3B" }, - { "2FA1D", "12A600" }, -}; - -// global constructor - -static struct unicode_decompose_init { - unicode_decompose_init(); -} _unicode_decompose_init; - -unicode_decompose_init::unicode_decompose_init() { - for (unsigned int i = 0; - i < sizeof(unicode_decompose_list)/sizeof(unicode_decompose_list[0]); - i++) { - unicode_decompose *dec = new unicode_decompose[1]; - dec->value = (char *)unicode_decompose_list[i].value; - unicode_decompose_table.define(unicode_decompose_list[i].key, dec); - } -} - -const char *decompose_unicode(const char *s) -{ - unicode_decompose *result = unicode_decompose_table.lookup(s); - return result ? result->value : 0; -} diff -ruN groff-1.19/src/utils/afmtodit/Makefile.sub groff-1.19.1/src/utils/afmtodit/Makefile.sub --- groff-1.19/src/utils/afmtodit/Makefile.sub Tue Feb 25 17:55:24 2003 +++ groff-1.19.1/src/utils/afmtodit/Makefile.sub Thu Dec 11 23:45:25 2003 @@ -12,7 +12,7 @@ else \ sed -e "s|@VERSION@|$(version)$(revision)|" \ -e "s|@FONTDIR@|$(fontdir)|" \ - $(srcdir)/afmtodit.pl afmtodit; \ + $(srcdir)/afmtodit.pl >afmtodit; \ fi chmod +x afmtodit diff -ruN groff-1.19/src/utils/afmtodit/afmtodit.man groff-1.19.1/src/utils/afmtodit/afmtodit.man --- groff-1.19/src/utils/afmtodit/afmtodit.man Sun Mar 9 17:12:39 2003 +++ groff-1.19.1/src/utils/afmtodit/afmtodit.man Sun Dec 28 12:08:49 2003 @@ -21,8 +21,13 @@ .\" 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" +. ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP +. el .TP "\\$1" +.. +. +.de OP +. ie \\n(.$-1 .RI "[\ \fB\\$1\fP\ " "\\$2" "\ ]" +. el .RB "[\ " "\\$1" "\ ]" .. . . @@ -40,12 +45,7 @@ .in +\w'\fBafmtodit 'u .ti \niu .B afmtodit -.de OP -.ie \\n(.$-1 .RI "[\ \fB\\$1\fP\ " "\\$2" "\ ]" -.el .RB "[\ " "\\$1" "\ ]" -.. -. -.OP \-mnsv +.OP \-mnsvx .OP \-a n .OP \-d desc_file .OP \-e enc_file @@ -104,24 +104,26 @@ the `devps/generate' subdirectory of the default font directory. . .LP -If a PostScript character is in the encoding to be used for the font -but is not mentioned in +If a PostScript character is not named as +.BI uni XXXX +.RI ( XXXX +are four uppercase hexadecimal digits), and is not mentioned in .IR map_file , -or if a generic groff glyph name can't be deduced using the Adobe Glyph -List (built into -.BR afmtodit ) +and a generic groff glyph name can't be deduced using the +Adobe Glyph List (AGL, built into +.BR afmtodit ), then .B afmtodit -will put it in the groff font file as an unnamed character, -which can be accessed by the +puts the PostScript character into the groff font file as an unnamed +character which can only be accessed by the .B \eN escape sequence in .BR troff . . If option .B \-e -is not specified, the encoding defined in the AFM file (i.e., entries with -non-negative character codes) is used. +is not specified, the encoding defined in the AFM file (i.e., entries +with non-negative character codes) is used. . Please refer to section `Using Symbols' in the groff info file which describes how groff glyph names are constructed. @@ -292,6 +294,10 @@ .TP .B \-v Print version. +. +.TP +.B \-x +Don't use the built-in Adobe Glyph List. . . .SH FILES diff -ruN groff-1.19/src/utils/afmtodit/afmtodit.pl groff-1.19.1/src/utils/afmtodit/afmtodit.pl --- groff-1.19/src/utils/afmtodit/afmtodit.pl Sun Mar 9 15:28:06 2003 +++ groff-1.19.1/src/utils/afmtodit/afmtodit.pl Sun Dec 28 12:15:17 2003 @@ -6046,7 +6046,7 @@ $groff_sys_fontdir = "@FONTDIR@"; do 'getopts.pl'; -do Getopts('a:d:e:i:mnsv'); +do Getopts('a:d:e:i:mnsvx'); if ($opt_v) { print "GNU afmtodit (groff) version @VERSION@\n"; @@ -6054,7 +6054,7 @@ } if ($#ARGV != 2) { - die "usage: $prog [-mnsv] [-a angle] [-d DESC] [-e encoding]\n" . + die "usage: $prog [-mnsvx] [-a angle] [-d DESC] [-e encoding]\n" . " [-i n] afmfile mapfile font\n"; } @@ -6102,7 +6102,7 @@ $c = -1; $wx = 0; $n = ""; - %ligs = (); +# %ligs = (); $lly = 0; $ury = 0; $llx = 0; @@ -6125,10 +6125,10 @@ $ury = $field[$i + 4]; $i += 5; } - elsif ($field[$i] eq "L") { - $ligs{$field[$i + 2]} = $field[$i + 1]; - $i += 3; - } +# elsif ($field[$i] eq "L") { +# $ligs{$field[$i + 2]} = $field[$i + 1]; +# $i += 3; +# } else { while ($i <= $#field && $field[$i] ne ";") { $i++; @@ -6145,9 +6145,9 @@ $depth{$n} = -$lly; $left_side_bearing{$n} = -$llx; $right_side_bearing{$n} = $urx - $w; - while (($lig, $glyph2) = each %ligs) { - $ligatures{$lig} = $n . " " . $glyph2; - } +# while (($lig, $glyph2) = each %ligs) { +# $ligatures{$lig} = $n . " " . $glyph2; +# } } } } @@ -6223,24 +6223,26 @@ $italic_angle = $opt_a if $opt_a; -# add unencoded characters +# add unencoded characters and unmapped characters of the form `uniXXXX' -$i = ($#encoding > 256) ? ($#encoding + 1) : 256; -while ($ch = each %width) { - if (!$in_encoding{$ch}) { - $encoding[$i] = $ch; - $i++; +if (!$opt_x) { + $i = ($#encoding > 256) ? ($#encoding + 1) : 256; + while ($ch = each %width) { + if (!$in_encoding{$ch}) { + $encoding[$i] = $ch; + $i++; + } if (!$nmap{$ch}) { - $nmap{$ch} += 1; $u1 = $AGL_to_unicode{$ch}; + if (!$u1 && ($ch =~ /^uni([0-9A-F]{4})$/)) { + $u1 = "u" . $1; + } if ($u1) { $u2 = $unicode_decomposed{$u1}; $u = $u2 ? $u2 : $u1; + $nmap{$ch} += 1; + $map{$ch,"0"} = $u; } - else { - $u = "---"; - } - $map{$ch,"0"} = $u; } } } diff -ruN groff-1.19/src/utils/hpftodit/Makefile.sub groff-1.19.1/src/utils/hpftodit/Makefile.sub --- groff-1.19/src/utils/hpftodit/Makefile.sub Sat Apr 12 15:53:01 2003 +++ groff-1.19.1/src/utils/hpftodit/Makefile.sub Fri Dec 26 12:27:16 2003 @@ -2,5 +2,7 @@ MAN1=hpftodit.n XLIBS=$(LIBGROFF) MLIB=$(LIBM) -OBJS=hpftodit.$(OBJEXT) -CCSRCS=$(srcdir)/hpftodit.cpp +OBJS=hpftodit.$(OBJEXT) \ + hpuni.$(OBJEXT) +CCSRCS=$(srcdir)/hpftodit.cpp \ + $(srcdir)/hpuni.cpp diff -ruN groff-1.19/src/utils/hpftodit/hpftodit.cpp groff-1.19.1/src/utils/hpftodit/hpftodit.cpp --- groff-1.19/src/utils/hpftodit/hpftodit.cpp Tue Feb 25 06:37:28 2003 +++ groff-1.19.1/src/utils/hpftodit/hpftodit.cpp Wed Apr 7 18:25:21 2004 @@ -1,5 +1,5 @@ // -*- C++ -*- -/* Copyright (C) 1994, 2000, 2001, 2003 Free Software Foundation, Inc. +/* Copyright (C) 1994, 2000, 2001, 2003, 2004 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) This file is part of groff. @@ -20,17 +20,17 @@ /* 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 "lib.h" +#include #include +#include +#include #include #include #include "assert.h" @@ -39,17 +39,31 @@ #include "error.h" #include "cset.h" #include "nonposix.h" +#include "unicode.h" extern "C" const char *Version_string; +extern const char *hp_msl_to_unicode_code(const char *); #define SIZEOF(v) (sizeof(v)/sizeof(v[0])) +#define equal(a, b) (strcmp(a, b) == 0) +// only valid if is_uname(c) has returned true +#define is_decomposed(c) strchr(c, '_') -const int MULTIPLIER = 3; +#define NO 0 +#define YES 1 + +#define MSL 0 +#define SYMSET 1 +#define UNICODE 2 + +#define UNNAMED "---" + +static double multiplier = 3.0; // make Agfa-based unitwidth an integer inline int scale(int n) { - return n * MULTIPLIER; + return int(n * multiplier + 0.5); } // tags in TFM file @@ -57,39 +71,67 @@ enum tag_type { min_tag = 400, type_tag = 400, + copyright_tag = 401, + comment_tag = 402, + charcode_tag = 403, // MSL for Intellifont, Unicode for TrueType symbol_set_tag = 404, - msl_tag = 403, + unique_identifier_tag = 405, inches_per_point_tag = 406, + nominal_point_size_tag = 407, design_units_per_em_tag = 408, posture_tag = 409, + type_structure_tag = 410, stroke_weight_tag = 411, spacing_tag = 412, slant_tag = 413, appearance_width_tag = 414, + serif_style_tag = 415, + font_name_tag = 417, + typeface_source_tag = 418, + average_width_tag = 419, + max_width_tag = 420, word_spacing_tag = 421, + recommended_line_spacing_tag = 422, + cap_height_tag = 423, x_height_tag = 424, + max_ascent_tag = 425, + max_descent_tag = 426, lower_ascent_tag = 427, lower_descent_tag = 428, + underscore_depth_tag = 429, + underscore_thickness_tag = 430, + uppercase_accent_height_tag = 431, + lowercase_accent_height_tag = 432, width_tag = 433, + vertical_escapement_tag = 434, left_extent_tag = 435, right_extent_tag = 436, ascent_tag = 437, descent_tag = 438, pair_kern_tag = 439, + sector_kern_tag = 440, + track_kern_tag = 441, typeface_tag = 442, + panose_tag = 443, max_tag = 443 - }; +}; -// types in TFM file +const char *tag_name[] = { + "Symbol Set", + "Font Type" // MSL for Intellifont, Unicode for TrueType +}; +// types in TFM file enum { - ENUM_TYPE = 1, - BYTE_TYPE = 2, + BYTE_TYPE = 1, + ASCII_TYPE = 2, // NUL-terminated string USHORT_TYPE = 3, - FLOAT_TYPE = 5, - SIGNED_SHORT_TYPE = 17 - }; - + LONG_TYPE = 4, // unused + RATIONAL_TYPE = 5, // 8-byte numerator + 8-byte denominator + SIGNED_BYTE_TYPE = 16, // unused + SIGNED_SHORT_TYPE = 17, + SIGNED_LONG_TYPE = 18 // unused +}; typedef unsigned char byte; typedef unsigned short uint16; @@ -119,7 +161,7 @@ }; struct char_info { - uint16 msl; + uint16 charcode; uint16 width; int16 ascent; int16 descent; @@ -129,6 +171,7 @@ unsigned char code; }; +const uint16 NO_GLYPH = 0xffff; const uint16 NO_SYMBOL_SET = 0; struct name_list { @@ -146,43 +189,74 @@ #define SYMBOL_SET(n, c) ((n) * 32 + ((c) - 64)) uint16 text_symbol_sets[] = { - SYMBOL_SET(0, 'N'), // Latin 1 + SYMBOL_SET(19, 'U'), // Windows Latin 1 ("ANSI", code page 1252) + SYMBOL_SET(9, 'E'), // Windows Latin 2, Code Page 1250 + SYMBOL_SET(5, 'T'), // Code Page 1254 + SYMBOL_SET(7, 'J'), // Desktop SYMBOL_SET(6, 'J'), // Microsoft Publishing - SYMBOL_SET(2, 'N'), // Latin 2 + SYMBOL_SET(0, 'N'), // Latin 1 (subset of 19U, + // so we should never get here) + SYMBOL_SET(2, 'N'), // Latin 2 (subset of 9E, + // so we should never get here) + SYMBOL_SET(8, 'U'), // HP Roman 8 + SYMBOL_SET(10, 'J'), // PS Standard + SYMBOL_SET(9, 'U'), // Windows 3.0 "ANSI" + SYMBOL_SET(1, 'U'), // U.S. Legal + + SYMBOL_SET(12, 'J'), // MC Text + SYMBOL_SET(10, 'U'), // PC Code Page 437 + SYMBOL_SET(11, 'U'), // PC Code Page 437N + SYMBOL_SET(17, 'U'), // PC Code Page 852 + SYMBOL_SET(12, 'U'), // PC Code Page 850 + SYMBOL_SET(9, 'T'), // PC Code Page 437T 0 - }; +}; uint16 special_symbol_sets[] = { - SYMBOL_SET(8, 'M'), - SYMBOL_SET(5, 'M'), - SYMBOL_SET(15, 'U'), + SYMBOL_SET(8, 'M'), // Math 8 + SYMBOL_SET(5, 'M'), // PS Math + SYMBOL_SET(15, 'U'), // Pi font + SYMBOL_SET(13, 'J'), // Ventura International + SYMBOL_SET(19, 'M'), // Symbol font + SYMBOL_SET(579, 'L'), // Wingdings 0 - }; +}; entry tags[max_tag + 1 - min_tag]; char_info *char_table; -uint32 nchars; +uint32 nchars = 0; -unsigned int msl_name_table_size = 0; -name_list **msl_name_table = 0; +unsigned int charcode_name_table_size = 0; +name_list **charcode_name_table = NULL; -unsigned int n_symbol_sets; symbol_set *symbol_set_table; +unsigned int n_symbol_sets; -static int special_flag = 0; -static int italic_flag = 0; +static int debug_flag = NO; +static int special_flag = NO; // not a special font +static int italic_flag = NO; // don't add italic correction static int italic_sep; +static int all_flag = NO; // don't include glyphs not in mapfile +static int quiet_flag = NO; // don't suppress warnings about symbols not found -static void usage(FILE *stream); +static char *hp_msl_to_ucode_name(int); +static char *unicode_to_ucode_name(int); +static int is_uname(char *); +static char *show_symset(unsigned int); +static void usage(FILE *); 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 int check_type(); +static void check_units(File &, const int, double *, double *); +static int read_map(const char *, const int); static void require_tag(tag_type); -static void dump_tags(File &f); +static void dump_ascii(File &, tag_type); +static void dump_tags(File &); +static void dump_symbol_sets(File &); +static void dump_symbols(int); +static void output_font_name(File &); static void output_spacewidth(); static void output_pclweight(); static void output_pclproportional(); @@ -192,8 +266,8 @@ 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); +static void output_charset(const int); +static void read_char_table(File &); inline entry &tag_info(tag_type t) @@ -201,35 +275,44 @@ return tags[t - min_tag]; } -int main(int argc, char **argv) +int +main(int argc, char **argv) { program_name = argv[0]; int opt; - int debug_flag = 0; + int res = 1200; // PCL unit of measure for cursor moves + int scalesize = 4; // LaserJet 4 only allows 1/4 point increments + int unitwidth = 6350; + double ppi; // points per inch + double upem; // design units per em static const struct option long_options[] = { { "help", no_argument, 0, CHAR_MAX + 1 }, { "version", no_argument, 0, 'v' }, { NULL, 0, 0, 0 } }; - while ((opt = getopt_long(argc, argv, "dsvi:", long_options, NULL)) != EOF) { + while ((opt = getopt_long(argc, argv, "adsqvi:", long_options, NULL)) != EOF) { switch (opt) { + case 'a': + all_flag = YES; + break; case 'd': - debug_flag = 1; + debug_flag = YES; break; case 's': - special_flag = 1; + special_flag = YES; break; case 'i': - italic_flag = 1; - italic_sep = atoi(optarg); + italic_flag = YES; + italic_sep = atoi(optarg); // design units + break; + case 'q': + quiet_flag = YES; // suppress warnings about symbols not found break; case 'v': - { - printf("GNU hpftodit (groff) version %s\n", Version_string); - exit(0); - } + printf("GNU hpftodit (groff) version %s\n", Version_string); + exit(0); break; case CHAR_MAX + 1: // --help usage(stdout); @@ -242,46 +325,72 @@ assert(0); } } - if (argc - optind != 3) + + if (debug_flag && argc - optind < 1) + usage(); + else if (!debug_flag && 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); + int tfm_type = check_type(); if (debug_flag) dump_tags(f); + if (!debug_flag && !read_map(argv[optind + 1], tfm_type)) + exit(1); + else if (debug_flag && argc - optind > 1) + read_map(argv[optind + 1], tfm_type); + current_filename = NULL; + current_lineno = -1; // no line numbers + if (!debug_flag && !equal(argv[optind + 2], "-")) + if (freopen(argv[optind + 2], "w", stdout) == NULL) + fatal("cannot open `%1': %2", argv[optind + 2], strerror(errno)); + current_filename = argv[optind]; + + check_units(f, tfm_type, &ppi, &upem); + if (tfm_type == UNICODE) // don't calculate for Intellifont TFMs + multiplier = double(res) / upem / ppi * unitwidth / scalesize; + if (italic_flag) + // convert from thousandths of an em to design units + italic_sep = int(italic_sep * upem / 1000 + 0.5); + read_char_table(f); - output_spacewidth(); - output_slant(); - read_and_output_pcltypeface(f); - output_pclproportional(); - output_pclweight(); - output_pclstyle(); + if (nchars == 0) + fatal("no characters"); + + if (!debug_flag) { + output_font_name(f); + printf("name %s\n", xbasename(argv[optind + 2])); + if (special_flag) + printf("special\n"); + 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(); + if (debug_flag) + dump_symbols(tfm_type); + else { + output_ligatures(); + read_and_output_kernpairs(f); + output_charset(tfm_type); + } return 0; } -static -void usage(FILE *stream) +static void +usage(FILE *stream) { - fprintf(stream, "usage: %s [-s] [-i n] tfm_file map_file output_font\n", - program_name); + fprintf(stream, + "usage: %s [-s] [-a] [-q] [-i n] tfm_file map_file output_font\n" + " %s -d tfm_file [map_file]\n", + program_name, program_name); } -static -void usage() + +static void +usage() { usage(stderr); exit(1); @@ -310,28 +419,32 @@ end_ = buf_ + sb.st_size; } -void File::skip(int n) +void +File::skip(int n) { if (end_ - ptr_ < n) fatal("unexpected end of file"); ptr_ += n; } -void File::seek(uint32 n) +void +File::seek(uint32 n) { - if ((uint32)(end_ - buf_) < n) + if (uint32(end_ - buf_) < n) fatal("unexpected end of file"); ptr_ = buf_ + n; } -byte File::get_byte() +byte +File::get_byte() { if (ptr_ >= end_) fatal("unexpected end of file"); return *ptr_++; } -uint16 File::get_uint16() +uint16 +File::get_uint16() { if (end_ - ptr_ < 2) fatal("unexpected end of file"); @@ -339,7 +452,8 @@ return n + (*ptr_++ << 8); } -uint32 File::get_uint32() +uint32 +File::get_uint32() { if (end_ - ptr_ < 4) fatal("unexpected end of file"); @@ -349,8 +463,8 @@ return n; } -static -void read_tags(File &f) +static void +read_tags(File &f) { if (f.get_byte() != 'I' || f.get_byte() != 'I') fatal("not an Intel format TFM file"); @@ -371,81 +485,144 @@ } } -static -void check_type() +static int +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)); + int tfm_type = tag_info(type_tag).value; + switch (tfm_type) { + case MSL: + case UNICODE: + break; + case SYMSET: + fatal("cannot handle Symbol Set TFM files"); + break; + default: + fatal("unknown type tag %1", tfm_type); } + return tfm_type; } -static -void check_units(File &f) +static void +check_units(File &f, const int tfm_type, double *ppi, double *upem) { 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) + if (tfm_type == MSL && (num != 8782 || den != 1)) fatal("design units per em != 8782/1"); + *upem = double(num) / den; 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) + if (tfm_type == MSL && (num != 100 || den != 7231)) fatal("inches per point not 100/7231"); + *ppi = double(den) / num; } -static -void require_tag(tag_type t) +static void +require_tag(tag_type t) { if (!tag_info(t).present) fatal("tag %1 missing", int(t)); } -static -void output_spacewidth() +// put a human-readable font name in the file +static void +output_font_name(File &f) +{ + char *p; + + if (!tag_info(font_name_tag).present) + return; + int count = tag_info(font_name_tag).count; + char *font_name = new char[count]; + + if (count > 4) { // value is a file offset to the string + f.seek(tag_info(font_name_tag).value); + int n = count; + p = font_name; + while (--n) + *p++ = f.get_byte(); + } + else // value contains the string + sprintf(font_name, "%.*s", count, (char*)(tag_info(font_name_tag).value)); + + // remove any trailing space + p = font_name + count - 1; + while (csspace(*--p)) + ; + *(p + 1) = '\0'; + printf("# %s\n", font_name); + delete font_name; +} + +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) +static void +read_symbol_sets(File &f) { uint32 symbol_set_dir_length = tag_info(symbol_set_tag).count; + uint16 *symbol_set_selectors; n_symbol_sets = symbol_set_dir_length/14; symbol_set_table = new symbol_set[n_symbol_sets]; unsigned int i; + + for (i = 0; i < nchars; i++) + char_table[i].symbol_set = NO_SYMBOL_SET; + 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? + (void)f.get_uint32(); // offset to symbol set name + uint32 off1 = f.get_uint32(); // offset to selection string + uint32 off2 = f.get_uint32(); // offset to symbol set index array + f.seek(off1); + uint16 kind = 0; // HP-GL "Kind 1" symbol set value unsigned int j; - uint16 kind = 0; for (j = 0; j < off2 - off1; j++) { unsigned char c = f.get_byte(); - if ('0' <= c && c <= '9') + if ('0' <= c && c <= '9') // value kind = kind*10 + (c - '0'); - else if ('A' <= c && c <= 'Z') + else if ('A' <= c && c <= 'Z') // terminator 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); + symbol_set_selectors = (special_flag ? special_symbol_sets + : text_symbol_sets); + for (i = 0; symbol_set_selectors[i] != 0; i++) { + unsigned 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 idx = symbol_set_table[j].index[k]; + if (idx != NO_GLYPH + && char_table[idx].symbol_set == NO_SYMBOL_SET) { + char_table[idx].symbol_set = symbol_set_table[j].select; + char_table[idx].code = k; + } + } + } + } + + if (all_flag) + return; + + symbol_set_selectors = (special_flag ? text_symbol_sets + : special_symbol_sets); for (i = 0; symbol_set_selectors[i] != 0; i++) { unsigned int j; for (j = 0; j < n_symbol_sets; j++) @@ -453,29 +630,30 @@ 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; + uint16 idx = symbol_set_table[j].index[k]; + if (idx != NO_GLYPH + && char_table[idx].symbol_set == NO_SYMBOL_SET) { + char_table[idx].symbol_set = symbol_set_table[j].select; + char_table[idx].code = k; } } } } + return; } -static -void read_char_table(File &f) +static void +read_char_table(File &f) { - require_tag(msl_tag); - nchars = tag_info(msl_tag).count; + require_tag(charcode_tag); + nchars = tag_info(charcode_tag).count; char_table = new char_info[nchars]; - f.seek(tag_info(msl_tag).value); + f.seek(tag_info(charcode_tag).value); uint32 i; for (i = 0; i < nchars; i++) - char_table[i].msl = f.get_uint16(); - + char_table[i].charcode = f.get_uint16(); + require_tag(width_tag); f.seek(tag_info(width_tag).value); for (i = 0; i < nchars; i++) @@ -508,8 +686,8 @@ char_table[i].right_extent = f.get_uint16(); } -static -void output_pclweight() +static void +output_pclweight() { require_tag(stroke_weight_tag); int stroke_weight = tag_info(stroke_weight_tag).value; @@ -527,15 +705,15 @@ printf("pclweight %d\n", pcl_stroke_weight); } -static -void output_pclproportional() +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) +static void +read_and_output_pcltypeface(File &f) { printf("pcltypeface "); require_tag(typeface_tag); @@ -549,8 +727,8 @@ printf("\n"); } -static -void output_pclstyle() +static void +output_pclstyle() { unsigned pcl_style = 0; // older tfms don't have the posture tag @@ -569,8 +747,8 @@ printf("pclstyle %d\n", pcl_style); } -static -void output_slant() +static void +output_slant() { require_tag(slant_tag); int slant = int16(tag_info(slant_tag).value); @@ -578,8 +756,8 @@ printf("slant %f\n", slant/100.0); } -static -void output_ligatures() +static void +output_ligatures() { // don't use ligatures for fixed space font require_tag(spacing_tag); @@ -592,14 +770,14 @@ static const char *ligature_chars[] = { "fi", "fl", "ff", "Fi", "Fl" }; - + unsigned ligature_mask = 0; unsigned int i; for (i = 0; i < nchars; i++) { - uint16 msl = char_table[i].msl; - if (msl < msl_name_table_size + uint16 charcode = char_table[i].charcode; + if (charcode < charcode_name_table_size && char_table[i].symbol_set != NO_SYMBOL_SET) { - for (name_list *p = msl_name_table[msl]; p; p = p->next) + for (name_list *p = charcode_name_table[charcode]; p; p = p->next) for (unsigned int j = 0; j < SIZEOF(ligature_chars); j++) if (strcmp(p->name, ligature_chars[j]) == 0) { ligature_mask |= 1 << j; @@ -616,8 +794,8 @@ } } -static -void read_and_output_kernpairs(File &f) +static void +read_and_output_kernpairs(File &f) { if (tag_info(pair_kern_tag).present) { printf("kernpairs\n"); @@ -629,112 +807,512 @@ 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]; + && char_table[i1].charcode < charcode_name_table_size + && char_table[i2].charcode < charcode_name_table_size) { + for (name_list *p = charcode_name_table[char_table[i1].charcode]; p; p = p->next) - for (name_list *q = msl_name_table[char_table[i2].msl]; + for (name_list *q = charcode_name_table[char_table[i2].charcode]; q; q = q->next) - printf("%s %s %d\n", p->name, q->name, scale(val)); + if (!equal(p->name, UNNAMED) && !equal(q->name, UNNAMED)) + printf("%s %s %d\n", p->name, q->name, scale(val)); } } } } -static -void output_charset() +static void +output_charset(const int tfm_type) { 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); + if (italic_flag) + require_tag(x_height_tag); require_tag(lower_ascent_tag); require_tag(lower_descent_tag); printf("charset\n"); unsigned 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 > (int16(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); + uint16 charcode = char_table[i].charcode; + + // the glyph is bound to one of the searched symbol sets + if (char_table[i].symbol_set != NO_SYMBOL_SET) { + // the character was in the map file + if (charcode < charcode_name_table_size && charcode_name_table[charcode]) + printf("%s", charcode_name_table[charcode]->name); + else if (!all_flag) + continue; + else if (tfm_type == MSL) + printf(hp_msl_to_ucode_name(charcode)); + else + printf(unicode_to_ucode_name(charcode)); + + printf("\t%d,%d", + 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 > int16(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", type, + char_table[i].symbol_set*256 + char_table[i].code); + + if (tfm_type == UNICODE) { + if (charcode >= 0xE000 && charcode <= 0xF8FF) + printf("\t-- HP PUA U+%04X", charcode); + else + printf("\t-- U+%04X", charcode); } else - warning("MSL %1 not in any of the searched symbol sets", msl); + printf("\t-- MSL %4d", charcode); + printf(" (%3s %3d)\n", + show_symset(char_table[i].symbol_set), char_table[i].code); + + if (charcode < charcode_name_table_size + && charcode_name_table[charcode]) + for (name_list *p = charcode_name_table[charcode]->next; + p; p = p->next) + printf("%s\t\"\n", p->name); + } + // warnings about characters in mapfile not found in TFM + else if (charcode < charcode_name_table_size + && charcode_name_table[charcode]) { + char *name = charcode_name_table[charcode]->name; + // don't warn about Unicode or unnamed glyphs + // that aren't in the the TFM file + if (tfm_type == UNICODE && !quiet_flag && !equal(name, UNNAMED) + && !is_uname(name)) { + fprintf(stderr, "%s: warning: symbol U+%04X (%s", + program_name, charcode, name); + for (name_list *p = charcode_name_table[charcode]->next; + p; p = p->next) + fprintf(stderr, ", %s", p->name); + fprintf(stderr, ") not in any searched symbol set\n"); + } + else if (!quiet_flag && !equal(name, UNNAMED) && !is_uname(name)) { + fprintf(stderr, "%s: warning: symbol MSL %d (%s", + program_name, charcode, name); + for (name_list *p = charcode_name_table[charcode]->next; + p; p = p->next) + fprintf(stderr, ", %s", p->name); + fprintf(stderr, ") not in any searched symbol set\n"); + } } } } -static -void dump_tags(File &f) +#define em_fract(a) (upem >= 0 ? double(a)/upem : 0) + +static void +dump_tags(File &f) { - int i; - for (i = min_tag; i <= max_tag; i++) { + double upem = -1.0; + + printf("TFM tags\n" + "\n" + "tag# type count value\n" + "---------------------\n"); + + for (int 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); + printf("%4d %4d %5d", i, tag_info(t).type, tag_info(t).count); + switch (tag_info(t).type) { + case BYTE_TYPE: + case USHORT_TYPE: + printf(" %5u", tag_info(t).value); + switch (i) { + case type_tag: + printf(" Font Type "); + switch (tag_info(t).value) { + case MSL: + case SYMSET: + printf("(Intellifont)"); + break; + case UNICODE: + printf("(TrueType)"); + } + break; + case charcode_tag: + printf(" Number of Symbols (%u)", tag_info(t).count); + break; + case symbol_set_tag: + printf(" Symbol Sets (%u): ", + tag_info(symbol_set_tag).count / 14); + dump_symbol_sets(f); + break; + case type_structure_tag: + printf(" Type Structure (%u)", tag_info(t).value); + break; + case stroke_weight_tag: + printf(" Stroke Weight (%u)", tag_info(t).value); + break; + case spacing_tag: + printf(" Spacing "); + switch (tag_info(t).value) { + case 0: + printf("(Proportional)"); + break; + case 1: + printf("(Fixed Pitch: %u DU: %.2f em)", tag_info(t).value, + em_fract(tag_info(t).value)); + break; + } + break; + case appearance_width_tag: + printf(" Appearance Width (%u)", tag_info(t).value); + break; + case serif_style_tag: + printf(" Serif Style (%u)", tag_info(t).value); + break; + case posture_tag: + printf(" Posture (%s)", tag_info(t).value == 0 + ? "Upright" + : tag_info(t).value == 1 + ? "Italic" + : "Alternate Italic"); + break; + case max_width_tag: + printf(" Maximum Width (%u DU: %.2f em)", tag_info(t).value, + em_fract(tag_info(t).value)); + break; + case word_spacing_tag: + printf(" Interword Spacing (%u DU: %.2f em)", tag_info(t).value, + em_fract(tag_info(t).value)); + break; + case recommended_line_spacing_tag: + printf(" Recommended Line Spacing (%u DU: %.2f em)", tag_info(t).value, + em_fract(tag_info(t).value)); + break; + case x_height_tag: + printf(" x-Height (%u DU: %.2f em)", tag_info(t).value, + em_fract(tag_info(t).value)); + break; + case cap_height_tag: + printf(" Cap Height (%u DU: %.2f em)", tag_info(t).value, + em_fract(tag_info(t).value)); + break; + case max_ascent_tag: + printf(" Maximum Ascent (%u DU: %.2f em)", tag_info(t).value, + em_fract(tag_info(t).value)); + break; + case lower_ascent_tag: + printf(" Lowercase Ascent (%u DU: %.2f em)", tag_info(t).value, + em_fract(tag_info(t).value)); + break; + case underscore_thickness_tag: + printf(" Underscore Thickness (%u DU: %.2f em)", tag_info(t).value, + em_fract(tag_info(t).value)); + break; + case uppercase_accent_height_tag: + printf(" Uppercase Accent Height (%u DU: %.2f em)", tag_info(t).value, + em_fract(tag_info(t).value)); + break; + case lowercase_accent_height_tag: + printf(" Lowercase Accent Height (%u DU: %.2f em)", tag_info(t).value, + em_fract(tag_info(t).value)); + break; + case width_tag: + printf(" Horizontal Escapement array"); + break; + case vertical_escapement_tag: + printf(" Vertical Escapement array"); + break; + case right_extent_tag: + printf(" Right Extent array"); + break; + case ascent_tag: + printf(" Character Ascent array"); + break; + case pair_kern_tag: + f.seek(tag_info(t).value); + printf(" Kern Pairs (%u)", f.get_uint16()); + break; + case panose_tag: + printf(" PANOSE Classification array"); + break; + } + break; + case SIGNED_SHORT_TYPE: + printf(" %5d", int16(tag_info(t).value)); + switch (i) { + case slant_tag: + printf(" Slant (%.2f degrees)", double(tag_info(t).value) / 100); + break; + case max_descent_tag: + printf(" Maximum Descent (%d DU: %.2f em)", int16(tag_info(t).value), + em_fract(int16(tag_info(t).value))); + break; + case lower_descent_tag: + printf(" Lowercase Descent (%d DU: %.2f em)", int16(tag_info(t).value), + em_fract(int16(tag_info(t).value))); + break; + case underscore_depth_tag: + printf(" Underscore Depth (%d DU: %.2f em)", int16(tag_info(t).value), + em_fract(int16(tag_info(t).value))); + break; + case left_extent_tag: + printf(" Left Extent array"); + break; + // The type of this tag has changed from SHORT to SIGNED SHORT + // in TFM version 1.3.0. + case ascent_tag: + printf(" Character Ascent array"); + break; + case descent_tag: + printf(" Character Descent array"); + break; + } + break; + case RATIONAL_TYPE: + printf(" %5u", tag_info(t).value); + switch (i) { + case inches_per_point_tag: + printf(" Inches per Point"); + break; + case nominal_point_size_tag: + printf(" Nominal Point Size"); + break; + case design_units_per_em_tag: + printf(" Design Units per Em"); + break; + case average_width_tag: + printf(" Average Width"); + break; + } + if (tag_info(t).count == 1) { + f.seek(tag_info(t).value); + uint32 num = f.get_uint32(); + uint32 den = f.get_uint32(); + if (i == design_units_per_em_tag) + upem = double(num) / den; + printf(" (%u/%u = %g)", num, den, double(num)/den); + } + break; + case ASCII_TYPE: + printf(" %5u ", tag_info(t).value); + switch (i) { + case comment_tag: + printf("Comment "); + break; + case copyright_tag: + printf("Copyright "); + break; + case unique_identifier_tag: + printf("Unique ID "); + break; + case font_name_tag: + printf("Typeface Name "); + break; + case typeface_source_tag: + printf("Typeface Source "); + break; + case typeface_tag: + printf("PCL Typeface "); + break; + } + dump_ascii(f, t); + } + putchar('\n'); + } + } + putchar('\n'); +} +#undef em_fract + +static void +dump_ascii(File &f, tag_type t) +{ + putchar('"'); + if (tag_info(t).count > 4) { + int count = tag_info(t).count; + f.seek(tag_info(t).value); + while (--count) + printf("%c", f.get_byte()); + } + else + printf("%.4s", (char*)(tag_info(t).value)); + putchar('"'); +} + +static void +dump_symbol_sets(File &f) +{ + uint32 symbol_set_dir_length = tag_info(symbol_set_tag).count; + uint32 num_symbol_sets = symbol_set_dir_length / 14; + + for (uint32 i = 0; i < num_symbol_sets; i++) { + f.seek(tag_info(symbol_set_tag).value + i * 14); + (void)f.get_uint32(); // offset to symbol set name + uint32 off1 = f.get_uint32(); // offset to selection string + uint32 off2 = f.get_uint32(); // offset to symbol set index array + f.seek(off1); + for (uint32 j = 0; j < off2 - off1; j++) { + unsigned char c = f.get_byte(); + if ('0' <= c && c <= '9') + putchar(c); + else if ('A' <= c && c <= 'Z') + printf(i < num_symbol_sets - 1 ? "%c," : "%c", c); + } + } +} + +static void +dump_symbols(int tfm_type) +{ + printf("Symbols:\n" + "\n" + " glyph id# symbol set name(s)\n" + "----------------------------------\n"); + for (uint32 i = 0; i < nchars; i++) { + uint16 charcode = char_table[i].charcode; + if (charcode < charcode_name_table_size + && charcode_name_table[charcode]) { + if (char_table[i].symbol_set != NO_SYMBOL_SET) { + printf(tfm_type == UNICODE ? "%4d (U+%04X) (%3s %3d) %s" + : "%4d (MSL %4d) (%3s %3d) %s", + i, charcode, + show_symset(char_table[i].symbol_set), + char_table[i].code, + charcode_name_table[charcode]->name); + for (name_list *p = charcode_name_table[charcode]->next; + p; p = p->next) + printf(", %s", p->name); + putchar('\n'); } } + else { + printf(tfm_type == UNICODE ? "%4d (U+%04X) " + : "%4d (MSL %4d) ", + i, charcode); + if (char_table[i].symbol_set != NO_SYMBOL_SET) + printf("(%3s %3d)", + show_symset(char_table[i].symbol_set), char_table[i].code); + putchar('\n'); + } + } + putchar('\n'); +} + +static char * +show_symset(unsigned int symset) +{ + static char symset_str[8]; + + sprintf(symset_str, "%d%c", symset / 32, (symset & 31) + 64); + return symset_str; +} + +static char * +hp_msl_to_ucode_name(int msl) +{ + char codestr[8]; + + sprintf(codestr, "%d", msl); + const char *ustr = hp_msl_to_unicode_code(codestr); + if (ustr == NULL) + ustr = UNNAMED; + else { + char *nonum; + int ucode = int(strtol(ustr, &nonum, 16)); + // don't allow PUA code points as Unicode names + if (ucode >= 0xE000 && ucode <= 0xF8FF) + ustr = UNNAMED; + } + if (!equal(ustr, UNNAMED)) { + const char *uname_decomposed = decompose_unicode(ustr); + if (uname_decomposed) + // 1st char is the number of components + ustr = uname_decomposed + 1; + } + char *value = new char[strlen(ustr) + 1]; + sprintf(value, equal(ustr, UNNAMED) ? ustr : "u%s", ustr); + return value; +} + +static char * +unicode_to_ucode_name(int ucode) +{ + const char *ustr; + char codestr[8]; + + // don't allow PUA code points as Unicode names + if (ucode >= 0xE000 && ucode <= 0xF8FF) + ustr = UNNAMED; + else { + sprintf(codestr, "%04X", ucode); + ustr = codestr; + } + if (!equal(ustr, UNNAMED)) { + const char *uname_decomposed = decompose_unicode(ustr); + if (uname_decomposed) + // 1st char is the number of components + ustr = uname_decomposed + 1; } + char *value = new char[strlen(ustr) + 1]; + sprintf(value, equal(ustr, UNNAMED) ? ustr : "u%s", ustr); + return value; } -static -int read_map(const char *file) +static int +is_uname(char *name) +{ + size_t i; + size_t len = strlen(name); + if (len % 5) + return 0; + + if (name[0] != 'u') + return 0; + for (i = 1; i < 4; i++) + if (!csxdigit(name[i])) + return 0; + for (i = 5; i < len; i++) + if (i % 5 ? !csxdigit(name[i]) : name[i] != '_') + return 0; + + return 1; +} + +static int +read_map(const char *file, const int tfm_type) { errno = 0; FILE *fp = fopen(file, "r"); @@ -745,6 +1323,7 @@ current_filename = file; char buf[512]; current_lineno = 0; + char *nonum; while (fgets(buf, int(sizeof(buf)), fp)) { current_lineno++; char *ptr = buf; @@ -755,44 +1334,85 @@ ptr = strtok(ptr, " \n\t"); if (!ptr) continue; - int n; - if (sscanf(ptr, "%d", &n) != 1) { - error("bad map file"); + + int msl_code = int(strtol(ptr, &nonum, 10)); + if (*nonum != '\0') { + if (csxdigit(*nonum)) + error("bad MSL map: got hex code (%1)", ptr); + else if (ptr == nonum) + error("bad MSL map: bad MSL code (%1)", ptr); + else + error("bad MSL map"); + fclose(fp); + return 0; + } + + ptr = strtok(NULL, " \n\t"); + if (!ptr) + continue; + int unicode = int(strtol(ptr, &nonum, 16)); + if (*nonum != '\0') { + if (ptr == nonum) + error("bad Unicode value (%1)", ptr); + else + error("bad Unicode map"); + fclose(fp); + return 0; + } + if (strlen(ptr) != 4) { + error("bad Unicode value (%1)", ptr); + return 0; + } + + int n = tfm_type == MSL ? msl_code : unicode; + if (tfm_type == UNICODE && n > 0xFFFF) { + // greatest value supported by TFM files + error("bad Unicode value (%1): greatest value is 0xFFFF", ptr); fclose(fp); return 0; } - if (n < 0) { - error("negative code"); + else if (n < 0) { + error("negative code value (%1)", ptr); fclose(fp); return 0; } - if ((size_t)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]; + + ptr = strtok(NULL, " \n\t"); + if (!ptr) { // groff name + error("missing name(s)"); + fclose(fp); + return 0; + } + // leave decomposed Unicode values alone + else if (is_uname(ptr) && !is_decomposed(ptr)) + ptr = unicode_to_ucode_name(strtol(ptr + 1, &nonum, 16)); + + if (size_t(n) >= charcode_name_table_size) { + size_t old_size = charcode_name_table_size; + name_list **old_table = charcode_name_table; + charcode_name_table_size = n + 256; + charcode_name_table = new name_list *[charcode_name_table_size]; if (old_table) { - memcpy(msl_name_table, old_table, old_size*sizeof(name_list *)); + memcpy(charcode_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; + for (size_t i = old_size; i < charcode_name_table_size; i++) + charcode_name_table[i] = NULL; } - ptr = strtok(0, " \n\t"); - if (!ptr) { - error("missing names"); - fclose(fp); - return 0; + + // a '#' that isn't the first groff name begins a comment + for (int names = 1; ptr; ptr = strtok(NULL, " \n\t")) { + if (names++ > 1 && *ptr == '#') + break; + charcode_name_table[n] = new name_list(ptr, charcode_name_table[n]); } - 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) +static const char * +xbasename(const char *s) { // DIR_SEPS[] are possible directory separator characters, see // nonposix.h. We want the rightmost separator of all possible diff -ruN groff-1.19/src/utils/hpftodit/hpftodit.man groff-1.19.1/src/utils/hpftodit/hpftodit.man --- groff-1.19/src/utils/hpftodit/hpftodit.man Sat Feb 22 16:02:18 2003 +++ groff-1.19.1/src/utils/hpftodit/hpftodit.man Thu Jan 15 07:54:31 2004 @@ -1,5 +1,6 @@ +.tr ~ .ig -Copyright (C) 1994-2000, 2001, 2003 Free Software Foundation, Inc. +Copyright (C) 1994-2000, 2001, 2003, 2004 Free Software Foundation, Inc. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice @@ -22,13 +23,22 @@ .ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP .el .TP "\\$1" .. +.de CW +.ie \\n(.$>2 \&\\$1\f(CR\\$2\fP\\$3 +.el \&\f(CR\\$1\fP\\$2 +.. +.tr ~ .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 +.B \-adqsv ] [ .BI \-i n @@ -39,33 +49,91 @@ .PP It is possible to have whitespace between the .B \-i -command line option and its parameter. +option and its parameter. +.\" -------------------------------------------------------------------------- .SH DESCRIPTION +.\" -------------------------------------------------------------------------- .B hpftodit -creates a font file for use with -.B -groff \-Tlj4\fR -from an HP tagged font metric file. +creates a font file for use with a Hewlett-Packard LaserJet~4\(enseries +(or newer) printer with +.BR "groff \-Tlj4" , +using data from an HP tagged font metric (TFM) file. .I tfm_file -is the name of the tagged font metric file for the font. +is the name of the TFM file for the font; Intellifont and +TrueType TFM files are supported, but symbol set TFM files are not. .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: +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.\|.\|. +m u c1 c2 \fR.\|.\|. [ +.CW # +.I comment +] .LP where -.I n +.I m is a decimal integer giving the MSL number of the character, +.I u +is a hexadecimal integer giving the Unicode value of the character, and .IR c1 , -.IR c2 ,.\|.\|. +.IR c2 ", .\|.\|." are the groff names of the character. +The values can be separated by any whitespace; the Unicode value must +use uppercase digits A\^\(en\^F, and must be without a leading +.CW ` 0x ', +.CW ` u ', +or +.CW ` U+ '. +Unicode values corresponding to composite glyphs are decomposed; e.g., +.CW ` u00C0 ' +becomes +.CW ` u0041_0300 '. +The name for a glyph without a groff name may be given as +.CW u \fIXXXX\fP +if the glyph corresponds to a Unicode value, or as an unnamed glyph +.CW ` --- '. +If the given Unicode value is in the Private Use Area +(0xE000\^\(en\^0xF8FF), the glyph is included as an unnamed glyph. +Refer to +.BR groff_diff (@MAN1EXT@) +for additional information about unnamed glyphs and how to access them. +.LP +Blank lines and lines beginning with +.CW ` # ' +are ignored. +A +.CW ` # ' +following one or more groff names begins a comment. +Because +.CW ` # ' +is a valid groff name, it must appear first in a list of +groff names if a comment is included, e.g., +.IP +.CW "3 0023 # # number sign" +.LP +or +.IP +.CW "3 0023 # sh # number sign" +.LP +rather than +.IP +.CW "3 0023 sh # # number sign" +.LP +which will treat the first +.CW ` # ' +as the beginning of the comment. +.LP .I font is the name of the groff font file. The groff font file is written to -.IR font . +.IR font ; +if +.I font +is specified as +.CW ` - ', +the output is written to the standard output. .LP The .B \-s @@ -75,7 +143,7 @@ if .B troff should search it whenever -a character is not found in the current font.) +a character is not found in the current font). If the font is special, it should be listed in the .B fonts @@ -88,33 +156,116 @@ .B \-i option is used, .B hpftodit -will automatically generate an italic correction, +automatically will 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 \-a +Include characters in the TFM file that are not included in the map +file. +A glyph with corresponding Unicode value is given the name +.RI u XXXX ; +a glyph without a Unicode value is included as an unnamed glyph +\&`\-\^\-\^\-'. +A glyph with a Unicode value in the Private Use Area +(0xE000\^\(en\^0xF8FF) also is included as an unnamed glyph. +.IP +This option provides a simple means of adding Unicode-named and unnamed +glyphs to a font without including them in the map file, but it affords +little control over which glyphs are placed in a regular font and which +are placed in a special font. +The presence or absence of the +.B \-s +option has some effect on which glyphs are included: without the +.B \-s +option, only the \(lqtext\(rq symbol sets are searched for matching +glyphs; with the +.B \-s +option, only the \(lqmathematical\(rq symbol sets +are searched. +Nonetheless, restricting the symbol sets searched isn't very +selective\(emmany glyphs are placed in both regular and special fonts. +Normally, the +.B \-a +option should be used only as a last resort. +.\" -------------------------------------------------------------------------- +.TP +.B \-d +Dump information about the TFM file to the standard output; this option +can be useful for ensuring that a TFM file is a proper match for a font, +and that the contents of the TFM file are suitable. +The information includes the values of important TFM tags, and a listing +(by MSL number for Intellifont TFM files or by Unicode value for +TrueType TFM files) of the glyphs included in the TFM file. +The unit of measure `DU' for some tags indicates design units; there are +8782 design units per em for Intellifont fonts, and 2048 design units +per em for TrueType fonts. +Note that the accessibility of a glyph depends on its inclusion in a +symbol set; some TFM files list many glyphs but only a few symbol sets. +.IP +The glyph listing includes the glyph index within the TFM file, the MSL +or Unicode value, and the symbol set and character code that will be +used to print the glyph. +If +.I map_file +is given, +groff names are given for matching glyphs. +If only the glyph index and MSL or Unicode value are given, the glyph +does not appear in any supported symbol set and cannot be printed. +.IP +With the +.B \-d +option, +.I map_file +is optional, and +.I font +is ignored if given. +.\" -------------------------------------------------------------------------- +.TP +.B \-q +Suppress warnings about characters in the map file that were not found +in the TFM file. +Warnings never are given for unnamed glyphs or by glyphs named by their +Unicode values. +This option is useful when sending the output of +.B hpftodit +to the standard output. +.\" -------------------------------------------------------------------------- .TP .B \-v -Print the version number. +Print the +.B hpftodit +version number. +.\" -------------------------------------------------------------------------- .TP .B \-s The font is special. -The effect of this option is to add the +This option adds the .B special -command to the font file. +command to the font file, and affects the order in which HP symbol sets +are searched for each glyph. +Without the +.B \-s +option, the \(lqtext\(rq sets are searched before +the \(lqmathematical\(rq symbol sets. +With the +.B \-s +option, the search order is reversed. +.\" -------------------------------------------------------------------------- .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 +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. +thousandths of an em 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. .IP Also generate a subscript correction equal to the product of the tangent of the slant of the font and @@ -126,33 +277,34 @@ 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. +thousandths of an em 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. +This option normally is needed only with italic or oblique fonts; +a value of 50 (0.05 em) usually is a reasonable choice. +.\" -------------------------------------------------------------------------- .SH FILES -.Tp \w'\fB@FONTDIR@/devlj4/DESC'u+2n +.\" -------------------------------------------------------------------------- +.ad 0 +.TP \w'\fB@FONTDIR@/devlj4/generate/\fP\fI*\fP.map'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. +.TP +.BI @FONTDIR@/devlj4/generate/ * .map +Symbol mapping files +.\" -------------------------------------------------------------------------- .SH "SEE ALSO" +.\" -------------------------------------------------------------------------- .BR groff (@MAN1EXT@), +.BR groff_diff (@MAN1EXT@), .BR grolj4 (@MAN1EXT@), -.BR groff_font (@MAN5EXT@) +.BR groff_font (@MAN5EXT@), +.BR lj4_font (@MAN5EXT@) . .\" Local Variables: .\" mode: nroff diff -ruN groff-1.19/src/utils/hpftodit/hpuni.cpp groff-1.19.1/src/utils/hpftodit/hpuni.cpp --- groff-1.19/src/utils/hpftodit/hpuni.cpp Thu Jan 1 01:00:00 1970 +++ groff-1.19.1/src/utils/hpftodit/hpuni.cpp Sat Apr 10 17:48:58 2004 @@ -0,0 +1,698 @@ +// -*- C++ -*- +/* Copyright (C) 2003, 2004 Free Software Foundation, Inc. + Written by Jeff Conrad (jeff_conrad@msn.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. */ + +#include "lib.h" +#include "stringclass.h" +#include "ptable.h" + +#include "unicode.h" + +struct hp_msl_to_unicode { + char *value; +}; + +declare_ptable(hp_msl_to_unicode) +implement_ptable(hp_msl_to_unicode) + +PTABLE(hp_msl_to_unicode) hp_msl_to_unicode_table; + +struct S { + const char *key; + const char *value; +} hp_msl_to_unicode_list[] = { + { "1", "0021", }, // Exclamation Mark + { "2", "0022", }, // Neutral Double Quote + { "3", "0023", }, // Number Sign + { "4", "0024", }, // Dollar Sign + { "5", "0025", }, // Per Cent Sign + { "6", "0026", }, // Ampersand + { "8", "2019", }, // Single Close Quote (9) + { "9", "0028", }, // Left Parenthesis + { "10", "0029", }, // Right Parenthesis + { "11", "002A", }, // Asterisk + { "12", "002B", }, // Plus Sign + { "13", "002C", }, // Comma, or Decimal Separator + { "14", "002D", }, // Hyphen + { "15", "002E", }, // Period, or Full Stop + { "16", "002F", }, // Solidus, or Slash + { "17", "0030", }, // Numeral Zero + { "18", "0031", }, // Numeral One + { "19", "0032", }, // Numeral Two + { "20", "0033", }, // Numeral Three + { "21", "0034", }, // Numeral Four + { "22", "0035", }, // Numeral Five + { "23", "0036", }, // Numeral Six + { "24", "0037", }, // Numeral Seven + { "25", "0038", }, // Numeral Eight + { "26", "0039", }, // Numeral Nine + { "27", "003A", }, // Colon + { "28", "003B", }, // Semicolon + { "29", "003C", }, // Less Than Sign + { "30", "003D", }, // Equals Sign + { "31", "003E", }, // Greater Than Sign + { "32", "003F", }, // Question Mark + { "33", "0040", }, // Commercial At + { "34", "0041", }, // Uppercase A + { "35", "0042", }, // Uppercase B + { "36", "0043", }, // Uppercase C + { "37", "0044", }, // Uppercase D + { "38", "0045", }, // Uppercase E + { "39", "0046", }, // Uppercase F + { "40", "0047", }, // Uppercase G + { "41", "0048", }, // Uppercase H + { "42", "0049", }, // Uppercase I + { "43", "004A", }, // Uppercase J + { "44", "004B", }, // Uppercase K + { "45", "004C", }, // Uppercase L + { "46", "004D", }, // Uppercase M + { "47", "004E", }, // Uppercase N + { "48", "004F", }, // Uppercase O + { "49", "0050", }, // Uppercase P + { "50", "0051", }, // Uppercase Q + { "51", "0052", }, // Uppercase R + { "52", "0053", }, // Uppercase S + { "53", "0054", }, // Uppercase T + { "54", "0055", }, // Uppercase U + { "55", "0056", }, // Uppercase V + { "56", "0057", }, // Uppercase W + { "57", "0058", }, // Uppercase X + { "58", "0059", }, // Uppercase Y + { "59", "005A", }, // Uppercase Z + { "60", "005B", }, // Left Bracket + { "61", "005C", }, // Reverse Solidus, or Backslash + { "62", "005D", }, // Right Bracket + { "63", "005E", }, // Circumflex, Exponent, or Pointer + { "64", "005F", }, // Underline or Underscore Character + { "66", "2018", }, // Single Open Quote (6) + { "67", "0061", }, // Lowercase A + { "68", "0062", }, // Lowercase B + { "69", "0063", }, // Lowercase C + { "70", "0064", }, // Lowercase D + { "71", "0065", }, // Lowercase E + { "72", "0066", }, // Lowercase F + { "73", "0067", }, // Lowercase G + { "74", "0068", }, // Lowercase H + { "75", "0069", }, // Lowercase I + { "76", "006A", }, // Lowercase J + { "77", "006B", }, // Lowercase K + { "78", "006C", }, // Lowercase L + { "79", "006D", }, // Lowercase M + { "80", "006E", }, // Lowercase N + { "81", "006F", }, // Lowercase O + { "82", "0070", }, // Lowercase P + { "83", "0071", }, // Lowercase Q + { "84", "0072", }, // Lowercase R + { "85", "0073", }, // Lowercase S + { "86", "0074", }, // Lowercase T + { "87", "0075", }, // Lowercase U + { "88", "0076", }, // Lowercase V + { "89", "0077", }, // Lowercase W + { "90", "0078", }, // Lowercase X + { "91", "0079", }, // Lowercase Y + { "92", "007A", }, // Lowercase Z + { "93", "007B", }, // Left Brace + { "94", "007C", }, // Long Vertical Mark + { "95", "007D", }, // Right Brace + { "96", "007E", }, // One Wavy Line Approximate + { "97", "2592", }, // Medium Shading Character + { "99", "00C0", }, // Uppercase A Grave + { "100", "00C2", }, // Uppercase A Circumflex + { "101", "00C8", }, // Uppercase E Grave + { "102", "00CA", }, // Uppercase E Circumflex + { "103", "00CB", }, // Uppercase E Dieresis + { "104", "00CE", }, // Uppercase I Circumflex + { "105", "00CF", }, // Uppercase I Dieresis + { "106", "00B4", }, // Lowercase Acute Accent (Spacing) + { "107", "0060", }, // Lowercase Grave Accent (Spacing) + { "108", "02C6", }, // Lowercase Circumflex Accent (Spacing) + { "109", "00A8", }, // Lowercase Dieresis Accent (Spacing) + { "110", "02DC", }, // Lowercase Tilde Accent (Spacing) + { "111", "00D9", }, // Uppercase U Grave + { "112", "00DB", }, // Uppercase U Circumflex + { "113", "00AF", }, // Overline, or Overscore Character + { "114", "00DD", }, // Uppercase Y Acute + { "115", "00FD", }, // Lowercase Y Acute + { "116", "00B0", }, // Degree Sign + { "117", "00C7", }, // Uppercase C Cedilla + { "118", "00E7", }, // Lowercase C Cedilla + { "119", "00D1", }, // Uppercase N Tilde + { "120", "00F1", }, // Lowercase N Tilde + { "121", "00A1", }, // Inverted Exclamation + { "122", "00BF", }, // Inverted Question Mark + { "123", "00A4", }, // Currency Symbol + { "124", "00A3", }, // Pound Sterling Sign + { "125", "00A5", }, // Yen Sign + { "126", "00A7", }, // Section Mark + { "127", "0192", }, // Florin Sign + { "128", "00A2", }, // Cent Sign + { "129", "00E2", }, // Lowercase A Circumflex + { "130", "00EA", }, // Lowercase E Circumflex + { "131", "00F4", }, // Lowercase O Circumflex + { "132", "00FB", }, // Lowercase U Circumflex + { "133", "00E1", }, // Lowercase A Acute + { "134", "00E9", }, // Lowercase E Acute + { "135", "00F3", }, // Lowercase O Acute + { "136", "00FA", }, // Lowercase U Acute + { "137", "00E0", }, // Lowercase A Grave + { "138", "00E8", }, // Lowercase E Grave + { "139", "00F2", }, // Lowercase O Grave + { "140", "00F9", }, // Lowercase U Grave + { "141", "00E4", }, // Lowercase A Dieresis + { "142", "00EB", }, // Lowercase E Dieresis + { "143", "00F6", }, // Lowercase O Dieresis + { "144", "00FC", }, // Lowercase U Dieresis + { "145", "00C5", }, // Uppercase A Ring + { "146", "00EE", }, // Lowercase I Circumflex + { "147", "00D8", }, // Uppercase O Oblique + { "148", "00C6", }, // Uppercase AE Diphthong + { "149", "00E5", }, // Lowercase A Ring + { "150", "00ED", }, // Lowercase I Acute + { "151", "00F8", }, // Lowercase O Oblique + { "152", "00E6", }, // Lowercase AE Diphthong + { "153", "00C4", }, // Uppercase A Dieresis + { "154", "00EC", }, // Lowercase I Grave + { "155", "00D6", }, // Uppercase O Dieresis + { "156", "00DC", }, // Uppercase U Dieresis + { "157", "00C9", }, // Uppercase E Acute + { "158", "00EF", }, // Lowercase I Dieresis + { "159", "00DF", }, // Lowercase Es-zet Ligature + { "160", "00D4", }, // Uppercase O Circumflex + { "161", "00C1", }, // Uppercase A Acute + { "162", "00C3", }, // Uppercase A Tilde + { "163", "00E3", }, // Lowercase A Tilde + { "164", "00D0", }, // Uppercase Eth +//{ "164", "0110", }, // Uppercase D-Stroke + { "165", "00F0", }, // Lowercase Eth + { "166", "00CD", }, // Uppercase I Acute + { "167", "00CC", }, // Uppercase I Grave + { "168", "00D3", }, // Uppercase O Acute + { "169", "00D2", }, // Uppercase O Grave + { "170", "00D5", }, // Uppercase O Tilde + { "171", "00F5", }, // Lowercase O Tilde + { "172", "0160", }, // Uppercase S Hacek + { "173", "0161", }, // Lowercase S Hacek + { "174", "00DA", }, // Uppercase U Acute + { "175", "0178", }, // Uppercase Y Dieresis + { "176", "00FF", }, // Lowercase Y Dieresis + { "177", "00DE", }, // Uppercase Thorn + { "178", "00FE", }, // Lowercase Thorn + { "180", "00B5", }, // Lowercase Greek Mu, or Micro + { "181", "00B6", }, // Pilcrow, or Paragraph Sign + { "182", "00BE", }, // Vulgar Fraction 3/4 + { "183", "2212", }, // Minus Sign + { "184", "00BC", }, // Vulgar Fraction 1/4 + { "185", "00BD", }, // Vulgar Fraction 1/2 + { "186", "00AA", }, // Female Ordinal + { "187", "00BA", }, // Male Ordinal + { "188", "00AB", }, // Left Pointing Double Angle Quote + { "189", "25A0", }, // Medium Solid Square Box + { "190", "00BB", }, // Right Pointing Double Angle Quote + { "191", "00B1", }, // Plus Over Minus Sign + { "192", "00A6", }, // Broken Vertical Mark + { "193", "00A9", }, // Copyright Sign + { "194", "00AC", }, // Not Sign + { "195", "00AD", }, // Soft Hyphen + { "196", "00AE", }, // Registered Sign + { "197", "00B2", }, // Superior Numeral 2 + { "198", "00B3", }, // Superior Numeral 3 + { "199", "00B8", }, // Lowercase Cedilla (Spacing) + { "200", "00B9", }, // Superior Numeral 1 + { "201", "00D7", }, // Multiply Sign + { "202", "00F7", }, // Divide Sign + { "203", "263A", }, // Open Smiling Face + { "204", "263B", }, // Solid Smiling Face + { "205", "2665", }, // Solid Heart, Card Suit + { "206", "2666", }, // Solid Diamond, Card Suit + { "207", "2663", }, // Solid Club, Card Suit + { "208", "2660", }, // Solid Spade, Card Suit + { "209", "25CF", }, // Medium Solid Round Bullet + { "210", "25D8", }, // Large Solid square with White Dot + { "211", "EFFD", }, // Large Open Round Bullet + { "212", "25D9", }, // Large Solid square with White Circle + { "213", "2642", }, // Male Symbol + { "214", "2640", }, // Female Symbol + { "215", "266A", }, // Musical Note + { "216", "266B", }, // Pair Of Musical Notes + { "217", "263C", }, // Compass, or Eight Pointed Sun + { "218", "25BA", }, // Right Solid Arrowhead + { "219", "25C4", }, // Left Solid Arrowhead + { "220", "2195", }, // Up/Down Arrow + { "221", "203C", }, // Double Exclamation Mark + { "222", "25AC", }, // Thick Horizontal Mark + { "223", "21A8", }, // Up/Down Arrow Baseline + { "224", "2191", }, // Up Arrow + { "225", "2193", }, // Down Arrow + { "226", "2192", }, // Right Arrow + { "227", "2190", }, // Left Arrow + { "229", "2194", }, // Left/Right Arrow + { "230", "25B2", }, // Up Solid Arrowhead + { "231", "25BC", }, // Down Solid Arrowhead + { "232", "20A7", }, // Pesetas Sign + { "233", "2310", }, // Reversed Not Sign + { "234", "2591", }, // Light Shading Character + { "235", "2593", }, // Dark Shading Character + { "236", "2502", }, // Box Draw Line, Vert. 1 + { "237", "2524", }, // Box Draw Right Tee, Vert. 1 Horiz. 1 + { "238", "2561", }, // Box Draw Right Tee, Vert. 1 Horiz. 2 + { "239", "2562", }, // Box Draw Right Tee, Vert. 2 Horiz. 1 + { "240", "2556", }, // Box Draw Upper Right Corner, Vert. 2 Horiz. 1 + { "241", "2555", }, // Box Draw Upper Right Corner, Vert. 1 Horiz. 2 + { "242", "2563", }, // Box Draw Right Tee, Vert. 2 Horiz. 2 + { "243", "2551", }, // Box Draw Lines, Vert. 2 + { "244", "2557", }, // Box Draw Upper Right Corner, Vert. 2 Horiz. 2 + { "245", "255D", }, // Box Draw Lower Right Corner, Vert. 2 Horiz. 2 + { "246", "255C", }, // Box Draw Lower Right Corner, Vert. 2 Horiz. 1 + { "247", "255B", }, // Box Draw Lower Right Corner, Vert. 1 Horiz. 2 + { "248", "2510", }, // Box Draw Upper Right Corner, Vert. 1, Horiz. 1 + { "249", "2514", }, // Box Draw Lower Left Corner, Vert. 1, Horiz. 1 + { "250", "2534", }, // Box Draw Bottom Tee, Vert. 1 Horiz. 1 + { "251", "252C", }, // Box Draw Top Tee, Vert. 1 Horiz. 1 + { "252", "251C", }, // Box Draw Left Tee, Vert. 1 Horiz. 1 + { "253", "2500", }, // Box Draw Line, Horiz. 1 + { "254", "253C", }, // Box Draw Cross, Vert. 1 Horiz. 1 + { "255", "255E", }, // Box Draw Left Tee, Vert. 1 Horiz. 2 + { "256", "255F", }, // Box Draw Left Tee, Vert. 2 Horz. 1 + { "257", "255A", }, // Box Draw Lower Left Corner, Vert. 2 Horiz. 2 + { "258", "2554", }, // Box Draw Upper Left Corner, Vert. 2 Horiz. 2 + { "259", "2569", }, // Box Draw Bottom Tee, Vert. 2 Horiz. 2 + { "260", "2566", }, // Box Draw Top Tee, Vert. 2 Horiz. 2 + { "261", "2560", }, // Box Draw Left Tee, Vert. 2 Horiz. 2 + { "262", "2550", }, // Box Draw Lines, Horiz. 2 + { "263", "256C", }, // Box Draw Cross Open Center, Vert. 2 Horiz. 2 + { "264", "2567", }, // Box Draw Bottom Tee, Vert. 1 Horiz. 2 + { "265", "2568", }, // Box Draw Bottom Tee, Vert. 2 Horiz. 1 + { "266", "2564", }, // Box Draw Top Tee, Vert. 1 Horiz. 2 + { "267", "2565", }, // Box Draw Top Tee, Vert. 2 Horiz. 1 + { "268", "2559", }, // Box Draw Lower Left Corner, Vert. 2 Horiz. 1 + { "269", "2558", }, // Box Draw Lower Left Corner, Vert. 1 Horiz. 2 + { "270", "2552", }, // Box Draw Upper Left Corner, Vert. 1 Horiz. 2 + { "271", "2553", }, // Box Draw Upper Left Corner, Vert. 2 Horiz. 1 + { "272", "256B", }, // Box Draw Cross, Vert. 2 Horiz. 1 + { "273", "256A", }, // Box Draw Cross, Vert. 1 Horiz. 2 + { "274", "2518", }, // Box Draw Lower Right Corner, Vert. 1 Horiz. 1 + { "275", "250C", }, // Box Draw Upper Left Corner, Vert. 1, Horiz. 1 + { "276", "2588", }, // Solid Full High/Wide + { "277", "2584", }, // Bottom Half Solid Rectangle + { "278", "258C", }, // Left Half Solid Rectangle + { "279", "2590", }, // Right Half Solid Rectangle + { "280", "2580", }, // Top Half Solid Rectangle + { "290", "2126", }, // Uppercase Greek Omega, or Ohms + { "292", "221E", }, // Infinity Symbol + { "295", "2229", }, // Set Intersection Symbol + { "296", "2261", }, // Exactly Equals Sign + { "297", "2265", }, // Greater Than or Equal Sign + { "298", "2264", }, // Less Than or Equal Sign + { "299", "2320", }, // Top Integral + { "300", "2321", }, // Bottom Integral + { "301", "2248", }, // Two Wavy Line Approximate Sign +//{ "302", "00B7", }, // Middle Dot, or Centered Period (see 2219) +//{ "302", "2219", }, // Centered Period, Middle Dot + { "302", "2219", }, // Math Dot, Centered Period + { "303", "221A", }, // Radical Symbol, Standalone Diagonal + { "305", "25AA", }, // Small Solid Square Box + { "306", "013F", }, // Uppercase L-Dot + { "307", "0140", }, // Lowercase L-Dot + { "308", "2113", }, // Litre Symbol + { "309", "0149", }, // Lowercase Apostrophe-N + { "310", "2032", }, // Prime, Minutes, or Feet Symbol + { "311", "2033", }, // Double Prime, Seconds, or Inches Symbol + { "312", "2020", }, // Dagger Symbol + { "313", "2122", }, // Trademark Sign + { "314", "2017", }, // Double Underline Character + { "315", "02C7", }, // Lowercase Hacek Accent (Spacing) + { "316", "02DA", }, // Lowercase Ring Accent (Spacing) + { "317", "EFF9", }, // Uppercase Acute Accent (Spacing) + { "318", "EFF8", }, // Uppercase Grave Accent (Spacing) + { "319", "EFF7", }, // Uppercase Circumflex Accent (Spacing) + { "320", "EFF6", }, // Uppercase Dieresis Accent (Spacing) + { "321", "EFF5", }, // Uppercase Tilde Accent (Spacing) + { "322", "EFF4", }, // Uppercase Hacek Accent (Spacing) + { "323", "EFF3", }, // Uppercase Ring Accent (Spacing) + { "324", "2215", }, // Vulgar Fraction Bar + { "325", "2014", }, // Em Dash + { "326", "2013", }, // En Dash + { "327", "2021", }, // Double Dagger Symbol + { "328", "0131", }, // Lowercase Undotted I + { "329", "0027", }, // Neutral Single Quote + { "330", "EFF2", }, // Uppercase Cedilla (Spacing) + { "331", "2022", }, // Small Solid Round Bullet + { "332", "207F", }, // Superior Lowercase N + { "333", "2302", }, // Home Plate + { "335", "0138", }, // Lowercase Kra + { "338", "0166", }, // Uppercase T-Stroke + { "339", "0167", }, // Lowercase T-Stroke + { "340", "014A", }, // Uppercase Eng + { "341", "014B", }, // Lowercase Eng + { "342", "0111", }, // Lowercase D-Stroke + { "400", "0102", }, // Uppercase A Breve + { "401", "0103", }, // Lowercase A Breve + { "402", "0100", }, // Uppercase A Macron + { "403", "0101", }, // Lowercase A Macron + { "404", "0104", }, // Uppercase A Ogonek + { "405", "0105", }, // Lowercase A Ogonek + { "406", "0106", }, // Uppercase C Acute + { "407", "0107", }, // Lowercase C Acute + { "410", "010C", }, // Uppercase C Hacek + { "411", "010D", }, // Lowercase C Hacek + { "414", "010E", }, // Uppercase D Hacek + { "415", "010F", }, // Lowercase D Hacek + { "416", "011A", }, // Uppercase E Hacek + { "417", "011B", }, // Lowercase E Hacek + { "418", "0116", }, // Uppercase E Overdot + { "419", "0117", }, // Lowercase E Overdot + { "420", "0112", }, // Uppercase E Macron + { "421", "0113", }, // Lowercase E Macron + { "422", "0118", }, // Uppercase E Ogonek + { "423", "0119", }, // Lowercase E Ogonek + { "428", "0122", }, // Uppercase G Cedilla + { "429", "0123", }, // Lowercase G Cedilla + { "432", "012E", }, // Uppercase I Ogonek + { "433", "012F", }, // Lowercase I Ogonek + { "434", "012A", }, // Uppercase I Macron + { "435", "012B", }, // Lowercase I Macron + { "438", "0136", }, // Uppercase K Cedilla + { "439", "0137", }, // Lowercase K Cedilla + { "440", "0139", }, // Uppercase L Acute + { "441", "013A", }, // Lowercase L Acute + { "442", "013D", }, // Uppercase L Hacek + { "443", "013E", }, // Lowercase L Hacek + { "444", "013B", }, // Uppercase L Cedilla + { "445", "013C", }, // Lowercase L Cedilla + { "446", "0143", }, // Uppercase N Acute + { "447", "0144", }, // Lowercase N Acute + { "448", "0147", }, // Uppercase N Hacek + { "449", "0148", }, // Lowercase N Hacek + { "450", "0145", }, // Uppercase N Cedilla + { "451", "0146", }, // Lowercase N Cedilla + { "452", "0150", }, // Uppercase O Double Acute + { "453", "0151", }, // Lowercase O Double Acute + { "454", "014C", }, // Uppercase O Macron + { "455", "014D", }, // Lowercase O Macron + { "456", "0154", }, // Uppercase R Acute + { "457", "0155", }, // Lowercase R Acute + { "458", "0158", }, // Uppercase R Hacek + { "459", "0159", }, // Lowercase R Hacek + { "460", "0156", }, // Uppercase R Cedilla + { "461", "0157", }, // Lowercase R Cedilla + { "462", "015A", }, // Uppercase S Acute + { "463", "015B", }, // Lowercase S Acute + { "466", "0164", }, // Uppercase T Hacek + { "467", "0165", }, // Lowercase T Hacek + { "468", "0162", }, // Uppercase T Cedilla + { "469", "0163", }, // Lowercase T Cedilla + { "470", "0168", }, // Uppercase U Tilde + { "471", "0169", }, // Lowercase U Tilde + { "474", "0170", }, // Uppercase U Double Acute + { "475", "0171", }, // Lowercase U Double Acute + { "476", "016E", }, // Uppercase U Ring + { "477", "016F", }, // Lowercase U Ring + { "478", "016A", }, // Uppercase U Macron + { "479", "016B", }, // Lowercase U Macron + { "480", "0172", }, // Uppercase U Ogonek + { "481", "0173", }, // Lowercase U Ogonek + { "482", "0179", }, // Uppercase Z Acute + { "483", "017A", }, // Lowercase Z Acute + { "484", "017B", }, // Uppercase Z Overdot + { "485", "017C", }, // Lowercase Z Overdot + { "486", "0128", }, // Uppercase I Tilde + { "487", "0129", }, // Lowercase I Tilde + { "500", "EFBF", }, // Radical, Diagonal, Composite + { "501", "221D", }, // Proportional To Symbol + { "502", "212F", }, // Napierian (italic e) + { "503", "03F5", }, // Alternate Lowercase Greek Epsilon +//{ "503", "EFEC", }, // Alternate Lowercase Greek Epsilon + { "504", "2234", }, // Therefore Symbol + { "505", "0393", }, // Uppercase Greek Gamma + { "506", "2206", }, // Increment Symbol (Delta) + { "507", "0398", }, // Uppercase Greek Theta + { "508", "039B", }, // Uppercase Greek Lambda + { "509", "039E", }, // Uppercase Greek Xi + { "510", "03A0", }, // Uppercase Greek Pi + { "511", "03A3", }, // Uppercase Greek Sigma + { "512", "03A5", }, // Uppercase Greek Upsilon + { "513", "03A6", }, // Uppercase Greek Phi + { "514", "03A8", }, // Uppercase Greek Psi + { "515", "03A9", }, // Uppercase Greek Omega + { "516", "2207", }, // Nabla Symbol (inverted Delta) + { "517", "2202", }, // Partial Differential Delta Symbol + { "518", "03C2", }, // Lowercase Sigma, Terminal + { "519", "2260", }, // Not Equal To Symbol + { "520", "EFEB", }, // Underline, Composite + { "521", "2235", }, // Because Symbol + { "522", "03B1", }, // Lowercase Greek Alpha + { "523", "03B2", }, // Lowercase Greek Beta + { "524", "03B3", }, // Lowercase Greek Gamma + { "525", "03B4", }, // Lowercase Greek Delta + { "526", "03B5", }, // Lowercase Greek Epsilon + { "527", "03B6", }, // Lowercase Greek Zeta + { "528", "03B7", }, // Lowercase Greek Eta + { "529", "03B8", }, // Lowercase Greek Theta + { "530", "03B9", }, // Lowercase Greek Iota + { "531", "03BA", }, // Lowercase Greek Kappa + { "532", "03BB", }, // Lowercase Greek Lambda + { "533", "03BC", }, // Lowercase Greek Mu + { "534", "03BD", }, // Lowercase Greek Nu + { "535", "03BE", }, // Lowercase Greek Xi + { "536", "03BF", }, // Lowercase Greek Omicron + { "537", "03C0", }, // Lowercase Greek Pi + { "538", "03C1", }, // Lowercase Greek Rho + { "539", "03C3", }, // Lowercase Greek Sigma + { "540", "03C4", }, // Lowercase Greek Tau + { "541", "03C5", }, // Lowercase Greek Upsilon + { "542", "03C6", }, // Lowercase Greek Phi + { "543", "03C7", }, // Lowercase Greek Chi + { "544", "03C8", }, // Lowercase Greek Psi + { "545", "03C9", }, // Lowercase Greek Omega + { "546", "03D1", }, // Lowercase Greek Theta, Open + { "547", "03D5", }, // Lowercase Greek Phi, Open + { "548", "03D6", }, // Lowercase Pi, Alternate + { "549", "2243", }, // Wavy Over Straight Approximate Symbol + { "550", "2262", }, // Not Exactly Equal To Symbol + { "551", "21D1", }, // Up Arrow Double Stroke + { "552", "21D2", }, // Right Arrow Double Stroke + { "553", "21D3", }, // Down Arrow Double Stroke + { "554", "21D0", }, // Left Arrow Double Stroke + { "555", "21D5", }, // Up/Down Arrow Double Stroke + { "556", "21D4", }, // Left/Right Arrow Double Stroke + { "557", "21C4", }, // Right Over Left Arrow + { "558", "21C6", }, // Left Over Right Arrow + { "559", "EFE9", }, // Vector Symbol + { "560", "0305", }, // Overline, Composite + { "561", "2200", }, // For All Symbol, or Universal (inverted A) + { "562", "2203", }, // There Exists Symbol, or Existential (inverted E) + { "563", "22A4", }, // Top Symbol + { "564", "22A5", }, // Bottom Symbol + { "565", "222A", }, // Set Union Symbol + { "566", "2208", }, // Element-Of Symbol + { "567", "220B", }, // Contains Symbol + { "568", "2209", }, // Not-Element-Of Symbol + { "569", "2282", }, // Proper Subset Symbol + { "570", "2283", }, // Proper Superset Symbol + { "571", "2284", }, // Not Proper Subset Symbol + { "572", "2285", }, // Not Proper Superset Symbol + { "573", "2286", }, // Subset Symbol + { "574", "2287", }, // Superset Symbol + { "575", "2295", }, // Plus In Circle Symbol + { "576", "2299", }, // Dot In Circle Symbol + { "577", "2297", }, // Times In Circle Symbol + { "578", "2296", }, // Minus In Circle Symbol + { "579", "2298", }, // Slash In Circle Symbol + { "580", "2227", }, // Logical And Symbol + { "581", "2228", }, // Logical Or Symbol + { "582", "22BB", }, // Exclusive Or Symbol + { "583", "2218", }, // Functional Composition Symbol + { "584", "20DD", }, // Large Open Circle + { "585", "22A3", }, // Assertion Symbol + { "586", "22A2", }, // Backwards Assertion Symbol + { "587", "222B", }, // Integral Symbol + { "588", "222E", }, // Curvilinear Integral Symbol + { "589", "2220", }, // Angle Symbol + { "590", "2205", }, // Empty Set Symbol + { "591", "2135", }, // Hebrew Aleph + { "592", "2136", }, // Hebrew Beth + { "593", "2137", }, // Hebrew Gimmel + { "594", "212D", }, // Fraktur Uppercase C + { "595", "2111", }, // Fraktur Uppercase I + { "596", "211C", }, // Fraktur Uppercase R + { "597", "2128", }, // Fraktur Uppercase Z + { "598", "23A1", }, // Top Segment Left Bracket (Left Square Bracket Upper Corner) + { "599", "23A3", }, // Bottom Segment Left Bracket (Left Square Bracket Lower Corner) + { "600", "239B", }, // Top Segment Left Brace (Left Parenthesis Upper Hook) +//{ "600", "23A7", }, // Top Segment Left Brace (Right Curly Bracket Upper Hook) + { "601", "23A8", }, // Middle Segment Left Brace (Right Curly Bracket Middle Piece) + { "602", "239D", }, // Bottom Segment LeftBrace (Left Parenthesis Lower Hook) +//{ "602", "23A9", }, // Bottom Segment Left Brace (Right Curly Bracket Lower Hook) + { "603", "EFD4", }, // Middle Segment Curvilinear Integral + { "604", "EFD3", }, // Top Left Segment Summation + { "605", "2225", }, // Double Vertical Line, Composite + { "606", "EFD2", }, // Bottom Left Segment Summation + { "607", "EFD1", }, // Bottom Diagonal Summation + { "608", "23A4", }, // Top Segment Right Bracket (Right Square Bracket Upper Corner) + { "609", "23A6", }, // Bottom Segment Right Bracket (Right Square Bracket Lower Corner) + { "610", "239E", }, // Top Segment Right Brace (Right Parenthesis Upper Hook) +//{ "610", "23AB", }, // Top Segment Right Brace (Right Curly Bracket Upper Hook) + { "611", "23AC", }, // Middle Segment Right Brace (Right Curly Bracket Middle Piece) + { "612", "23A0", }, // Bottom Segment Right ( Right Parenthesis Lower Hook) +//{ "612", "23AD", }, // Bottom Segment Right Brace (Right Curly Bracket Lower Hook) + { "613", "239C", }, // Thick Vertical Line, Composite (Left Parenthesis Extension) +//{ "613", "239F", }, // Thick Vertical Line, Composite (Right Parenthesis Extension) +//{ "613", "23AA", }, // Thick Vertical Line, Composite (Curly Bracket Extension) +//{ "613", "23AE", }, // Thick Vertical Line, Composite (Integral Extension) + { "614", "2223", }, // Thin Vertical Line, Composite + { "615", "EFDC", }, // Bottom Segment of Vertical Radical + { "616", "EFD0", }, // Top Right Segment Summation + { "617", "EFCF", }, // Middle Segment Summation + { "618", "EFCE", }, // Bottom Right Segment Summation + { "619", "EFCD", }, // Top Diagonal Summation + { "620", "2213", }, // Minus Over Plus Sign + { "621", "2329", }, // Left Angle Bracket + { "622", "232A", }, // Right Angle Bracket + { "623", "EFFF", }, // Mask Symbol + { "624", "2245", }, // Wavy Over Two Straight Approximate Symbol + { "625", "2197", }, // 45 Degree Arrow + { "626", "2198", }, // -45 Degree Arrow + { "627", "2199", }, // -135 Degree Arrow + { "628", "2196", }, // 135 Degree Arrow + { "629", "25B5", }, // Up Open Triangle + { "630", "25B9", }, // Right Open Triangle + { "631", "25BF", }, // Down Open Triangle + { "632", "25C3", }, // Left Open Triangle + { "633", "226A", }, // Much Less Than Sign + { "634", "226B", }, // Much Greater Than Sign + { "635", "2237", }, // Proportional To Symbol (4 dots) + { "636", "225C", }, // Defined As Symbol + { "637", "03DD", }, // Lowercase Greek Digamma + { "638", "210F", }, // Planck's Constant divided by 2 pi + { "639", "2112", }, // Laplace Transform Symbol + { "640", "EFFE", }, // Power Set + { "641", "2118", }, // Weierstrassian Symbol + { "642", "2211", }, // Summation Symbol (large Sigma) + { "643", "301A", }, // Left Double Bracket + { "644", "EFC9", }, // Middle Segment Double Bracket + { "645", "301B", }, // Right Double Bracket + { "646", "256D", }, // Box Draw Left Top Round Corner + { "647", "2570", }, // Box Draw Left Bottom Round Corner + { "648", "EFC8", }, // Extender Large Union/Product + { "649", "EFC7", }, // Bottom Segment Large Union + { "650", "EFC6", }, // Top Segment Large Intersection + { "651", "EFC5", }, // Top Segment Left Double Bracket + { "652", "EFC4", }, // Bottom Segment Left Double Bracket + { "653", "EFFC", }, // Large Open Square Box + { "654", "25C7", }, // Open Diamond + { "655", "256E", }, // Box Draw Right Top Round Corner + { "656", "256F", }, // Box Draw Right Bottom Round Corner + { "657", "EFC3", }, // Bottom Segment Large Bottom Product + { "658", "EFC2", }, // Top Segment Large Top Product + { "659", "EFC1", }, // Top Segment Right Double Bracket + { "660", "EFC0", }, // Bottom Segment Right Double Bracket + { "661", "EFFB", }, // Large Solid Square Box + { "662", "25C6", }, // Solid Diamond + { "663", "220D", }, // Such That Symbol (rotated lc epsilon) + { "664", "2217", }, // Math Asterisk + { "665", "23AF", }, // Horizontal Arrow Extender (Horizontal Line Extension) + { "666", "EFCB", }, // Double Horizontal Arrow Extender + { "667", "EFCC", }, // Inverted Complement of 0xEFCF or MSL 617 + { "668", "221F", }, // Right Angle Symbol + { "669", "220F", }, // Product Symbol (large Pi) + { "684", "25CA", }, // Lozenge, Diamond + { "1000", "2070", }, // Superior Numeral 0 + { "1001", "2074", }, // Superior Numeral 4 + { "1002", "2075", }, // Superior Numeral 5 + { "1003", "2076", }, // Superior Numeral 6 + { "1004", "2077", }, // Superior Numeral 7 + { "1005", "2078", }, // Superior Numeral 8 + { "1006", "2079", }, // Superior Numeral 9 + { "1017", "201C", }, // Double Open Quote (6) + { "1018", "201D", }, // Double Close Quote (9) + { "1019", "201E", }, // Double Baseline Quote (9) + { "1020", "2003", }, // Em Space + { "1021", "2002", }, // En Space + { "1023", "2009", }, // Thin Space + { "1028", "2026", }, // Ellipsis + { "1030", "EFF1", }, // Uppercase Ogonek (Spacing) + { "1031", "017E", }, // Lowercase Z Hacek + { "1034", "2120", }, // Service Mark + { "1036", "211E", }, // Prescription Sign +//{ "1040", "F001", }, // Lowercase FI Ligature + { "1040", "FB01", }, // Lowercase FI Ligature +//{ "1041", "F002", }, // Lowercase FL Ligature + { "1041", "FB02", }, // Lowercase FL Ligature + { "1042", "FB00", }, // Lowercase FF Ligature + { "1043", "FB03", }, // Lowercase FFI Ligature + { "1044", "FB04", }, // Lowercase FFL Ligature + { "1045", "EFF0", }, // Uppercase Double Acute Accent (Spacing) + { "1047", "0133", }, // Lowercase IJ Ligature + { "1060", "2105", }, // Care Of Symbol + { "1061", "011E", }, // Uppercase G Breve + { "1062", "011F", }, // Lowercase G Breve + { "1063", "015E", }, // Uppercase S Cedilla + { "1064", "015F", }, // Lowercase S Cedilla + { "1065", "0130", }, // Uppercase I Overdot + { "1067", "201A", }, // Single Baseline Quote (9) + { "1068", "2030", }, // Per Mill Sign + { "1069", "20AC", }, // Euro + { "1084", "02C9", }, // Lowercase Macron Accent (Spacing) + { "1086", "02D8", }, // Lowercase Breve Accent (Spacing) + { "1088", "02D9", }, // Lowercase Overdot Accent (Spacing) + { "1090", "0153", }, // Lowercase OE Ligature + { "1091", "0152", }, // Uppercase OE Ligature + { "1092", "2039", }, // Left Pointing Single Angle Quote + { "1093", "203A", }, // Right Pointing Single Angle Quote + { "1094", "25A1", }, // Medium Open Square Box + { "1095", "0141", }, // Uppercase L-Stroke + { "1096", "0142", }, // Lowercase L-Stroke + { "1097", "02DD", }, // Lowercase Double Acute Accent (Spacing) + { "1098", "02DB", }, // Lowercase Ogonek (Spacing) + { "1099", "21B5", }, // Carriage Return Symbol + { "1100", "EFDB", }, // Full Size Serif Registered + { "1101", "EFDA", }, // Full Size Serif Copyright + { "1102", "EFD9", }, // Full Size Serif Trademark + { "1103", "EFD8", }, // Full Size Sans Registered + { "1104", "EFD7", }, // Full Size Sans Copyright + { "1105", "EFD6", }, // Full Size Sans Trademark + { "1106", "017D", }, // Uppercase Z Hacek + { "1107", "0132", }, // Uppercase IJ Ligature + { "1108", "25AB", }, // Small Open Square Box + { "1109", "25E6", }, // Small Open Round Bullet + { "1110", "25CB", }, // Medium Open Round Bullet + { "1111", "EFFA", }, // Large Solid Round Bullet + { "3812", "F000", }, // Ornament, Apple +}; + +// global constructor +static struct hp_msl_to_unicode_init { + hp_msl_to_unicode_init(); +} _hp_msl_to_unicode_init; + +hp_msl_to_unicode_init::hp_msl_to_unicode_init() { + for (unsigned int i = 0; + i < sizeof(hp_msl_to_unicode_list)/sizeof(hp_msl_to_unicode_list[0]); + i++) { + hp_msl_to_unicode *ptu = new hp_msl_to_unicode[1]; + ptu->value = (char *)hp_msl_to_unicode_list[i].value; + hp_msl_to_unicode_table.define(hp_msl_to_unicode_list[i].key, ptu); + } +} + +const char *hp_msl_to_unicode_code(const char *s) +{ + hp_msl_to_unicode *result = hp_msl_to_unicode_table.lookup(s); + return result ? result->value : 0; +} diff -ruN groff-1.19/src/utils/indxbib/indxbib.cpp groff-1.19.1/src/utils/indxbib/indxbib.cpp --- groff-1.19/src/utils/indxbib/indxbib.cpp Fri Feb 14 19:59:31 2003 +++ groff-1.19.1/src/utils/indxbib/indxbib.cpp Thu Apr 8 13:33:33 2004 @@ -1,5 +1,5 @@ // -*- C++ -*- -/* Copyright (C) 1989-1992, 2000, 2001, 2002, 2003 +/* Copyright (C) 1989-1992, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) @@ -119,7 +119,7 @@ static char stderr_buf[BUFSIZ]; setbuf(stderr, stderr_buf); - const char *basename = 0; + const char *base_name = 0; typedef int (*parser_t)(const char *); parser_t parser = do_file; const char *directory = 0; @@ -164,7 +164,7 @@ check_integer_arg('n', optarg, 0, &n_ignore_words); break; case 'o': - basename = optarg; + base_name = optarg; break; case 't': check_integer_arg('t', optarg, 1, &truncate_len); @@ -202,33 +202,33 @@ store_filename(ignore_fields); key_buffer = new char[truncate_len]; read_common_words_file(); - if (!basename) - basename = optind < argc ? argv[optind] : DEFAULT_INDEX_NAME; - const char *p = strrchr(basename, DIR_SEPS[0]), *p1; + if (!base_name) + base_name = optind < argc ? argv[optind] : DEFAULT_INDEX_NAME; + const char *p = strrchr(base_name, DIR_SEPS[0]), *p1; const char *sep = &DIR_SEPS[1]; while (*sep) { - p1 = strrchr(basename, *sep); + p1 = strrchr(base_name, *sep); if (p1 && (!p || p1 > p)) p = p1; sep++; } size_t name_max; if (p) { - char *dir = strsave(basename); - dir[p - basename] = '\0'; + char *dir = strsave(base_name); + dir[p - base_name] = '\0'; name_max = file_name_max(dir); a_delete dir; } else name_max = file_name_max("."); - const char *filename = p ? p + 1 : basename; + const char *filename = p ? p + 1 : base_name; if (strlen(filename) + sizeof(INDEX_SUFFIX) - 1 > name_max) fatal("`%1.%2' is too long for a filename", filename, INDEX_SUFFIX); if (p) { p++; - temp_index_file = new char[p - basename + sizeof(TEMP_INDEX_TEMPLATE)]; - memcpy(temp_index_file, basename, p - basename); - strcpy(temp_index_file + (p - basename), TEMP_INDEX_TEMPLATE); + temp_index_file = new char[p - base_name + sizeof(TEMP_INDEX_TEMPLATE)]; + memcpy(temp_index_file, base_name, p - base_name); + strcpy(temp_index_file + (p - base_name), TEMP_INDEX_TEMPLATE); } else { temp_index_file = strsave(TEMP_INDEX_TEMPLATE); @@ -281,8 +281,8 @@ write_hash_table(); if (fclose(indxfp) < 0) fatal("error closing temporary index file: %1", strerror(errno)); - char *index_file = new char[strlen(basename) + sizeof(INDEX_SUFFIX)]; - strcpy(index_file, basename); + char *index_file = new char[strlen(base_name) + sizeof(INDEX_SUFFIX)]; + strcpy(index_file, base_name); strcat(index_file, INDEX_SUFFIX); #ifdef HAVE_RENAME #ifdef __EMX__ @@ -293,7 +293,7 @@ #ifdef __MSDOS__ // RENAME could fail on plain MSDOS filesystems because // INDEX_FILE is an invalid filename, e.g. it has multiple dots. - char *fname = p ? index_file + (p - basename) : 0; + char *fname = p ? index_file + (p - base_name) : 0; char *dot = 0; // Replace the dot with an underscore and try again. diff -ruN groff-1.19/src/utils/indxbib/signal.c groff-1.19.1/src/utils/indxbib/signal.c --- groff-1.19/src/utils/indxbib/signal.c Sun Aug 19 23:32:38 2001 +++ groff-1.19.1/src/utils/indxbib/signal.c Sat Apr 17 07:34:44 2004 @@ -1,4 +1,4 @@ -/* Copyright (C) 1992, 2001 Free Software Foundation, Inc. +/* Copyright (C) 1992, 2001, 2003, 2004 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) This file is part of groff. @@ -20,6 +20,8 @@ /* Unfortunately vendors seem to have problems writing a that is correct for C++, so we implement all signal handling in C. */ +#include + #ifdef HAVE_CONFIG_H #include #endif @@ -30,21 +32,26 @@ #include #endif -#ifndef RETSIGTYPE -#define RETSIGTYPE void +#ifdef __cplusplus +extern "C" { #endif -extern void cleanup(); +extern void cleanup(void); -static RETSIGTYPE handle_fatal_signal(signum) - int signum; +static RETSIGTYPE handle_fatal_signal(int signum) { signal(signum, SIG_DFL); cleanup(); +#ifdef HAVE_KILL kill(getpid(), signum); +#else + /* MS-DOS and Win32 don't have kill(); the best compromise is + probably to use exit() instead. */ + exit(signum); +#endif } -void catch_fatal_signals() +void catch_fatal_signals(void) { #ifdef SIGHUP signal(SIGHUP, handle_fatal_signal); @@ -52,6 +59,10 @@ signal(SIGINT, handle_fatal_signal); signal(SIGTERM, handle_fatal_signal); } + +#ifdef __cplusplus +} +#endif #ifndef HAVE_RENAME diff -ruN groff-1.19/src/utils/lookbib/lookbib.cpp groff-1.19.1/src/utils/lookbib/lookbib.cpp --- groff-1.19/src/utils/lookbib/lookbib.cpp Tue Jul 23 23:52:41 2002 +++ groff-1.19.1/src/utils/lookbib/lookbib.cpp Sun Dec 28 23:13:10 2003 @@ -1,5 +1,6 @@ // -*- C++ -*- -/* Copyright (C) 1989-1992, 2000, 2001 Free Software Foundation, Inc. +/* Copyright (C) 1989-1992, 2000, 2001, 2002, 2003 + Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) This file is part of groff. @@ -33,6 +34,7 @@ /* for isatty() */ #include "posix.h" +#include "nonposix.h" extern "C" { const char *Version_string; diff -ruN groff-1.19/src/utils/pfbtops/Makefile.sub groff-1.19.1/src/utils/pfbtops/Makefile.sub --- groff-1.19/src/utils/pfbtops/Makefile.sub Fri Aug 23 09:03:50 2002 +++ groff-1.19.1/src/utils/pfbtops/Makefile.sub Sat Aug 23 09:27:08 2003 @@ -4,3 +4,4 @@ CSRCS=$(srcdir)/pfbtops.c XLIBS=$(LIBGROFF) MLIB=$(LIBM) +LINK.c=$(CCC) $(CCFLAGS) $(LDFLAGS) diff -ruN groff-1.19/src/utils/pfbtops/pfbtops.c groff-1.19.1/src/utils/pfbtops/pfbtops.c --- groff-1.19/src/utils/pfbtops/pfbtops.c Mon Mar 17 17:44:53 2003 +++ groff-1.19.1/src/utils/pfbtops/pfbtops.c Sun Apr 18 18:06:49 2004 @@ -1,4 +1,4 @@ -/* Copyright (C) 1992, 2001, 2003 Free Software Foundation, Inc. +/* Copyright (C) 1992, 2001, 2003, 2004 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) This file is part of groff. @@ -35,10 +35,11 @@ #define MAX_LINE_LENGTH 78 #define HEX_DIGITS "0123456789abcdef" +extern const char *Version_string; + static char *program_name; -static void error(s) - char *s; +static void error(const char *s) { fprintf(stderr, "%s: %s\n", program_name, s); exit(2); @@ -51,7 +52,7 @@ static void get_text(int n) { - int c, c1; + int c = 0, c1; int in_string = 0; int is_comment = 0; int count = 0; @@ -67,19 +68,27 @@ else if (c == '\\' && in_string) { count++; putchar(c); + if (n-- == 0) + break; c = getchar(); /* don't split octal character representations */ if (c >= '0' && c <= '7') { count++; putchar(c); + if (n-- == 0) + break; c = getchar(); if (c >= '0' && c <= '7') { count++; putchar(c); + if (n-- == 0) + break; c = getchar(); if (c >= '0' && c <= '7') { count++; putchar(c); + if (n-- == 0) + break; c = getchar(); } } @@ -88,9 +97,13 @@ if (c == EOF) error("end of file in text packet"); else if (c == '\r') { + if (n-- == 0) + break; c1 = getchar(); - if (c1 != '\n') + if (c1 != '\n') { ungetc(c1, stdin); + n++; + } c = '\n'; } if (c == '\n') { @@ -112,6 +125,8 @@ /* split at the next whitespace character */ while (c != ' ' && c != '\t' && c != '\f') { putchar(c); + if (n-- == 0) + break; c = getchar(); } count = 0; @@ -146,12 +161,9 @@ putchar('\n'); } -int main(argc, argv) - int argc; - char **argv; +int main(int argc, char **argv) { int opt; - extern int optind; static const struct option long_options[] = { { "help", no_argument, 0, CHAR_MAX + 1 }, { "version", no_argument, 0, 'v' }, @@ -163,12 +175,9 @@ while ((opt = getopt_long(argc, argv, "v", long_options, NULL)) != EOF) { switch (opt) { case 'v': - { - extern const char *Version_string; - printf("GNU pfbtops (groff) version %s\n", Version_string); - exit(0); - break; - } + printf("GNU pfbtops (groff) version %s\n", Version_string); + exit(0); + break; case CHAR_MAX + 1: /* --help */ usage(stdout); exit(0); diff -ruN groff-1.19/src/utils/tfmtodit/tfmtodit.cpp groff-1.19.1/src/utils/tfmtodit/tfmtodit.cpp --- groff-1.19/src/utils/tfmtodit/tfmtodit.cpp Sun Aug 19 23:32:41 2001 +++ groff-1.19.1/src/utils/tfmtodit/tfmtodit.cpp Sun Apr 18 18:01:36 2004 @@ -1,5 +1,5 @@ // -*- C++ -*- -/* Copyright (C) 1989-1992, 2000, 2001 Free Software Foundation, Inc. +/* Copyright (C) 1989-1992, 2000, 2001, 2004 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) This file is part of groff. @@ -412,7 +412,7 @@ }; int got_an_adjustment = 0; int pending_adjustment = 0; - int left_adj, right_adj; + int left_adj = 0, right_adj = 0; // pacify compiler const int gf_id_byte = 131; errno = 0; FILE *fp = fopen(file, FOPEN_RB); @@ -650,7 +650,7 @@ gives the groff name of the character, `i' gives its index in the encoding, which is filled in later (-1 if it does not appear). */ -struct { +struct S { const char *ch; int i; } lig_chars[] = { @@ -670,7 +670,7 @@ // Each possible ligature appears in this table. -struct { +struct S2 { unsigned char c1, c2, res; const char *ch; } lig_table[] = { diff -ruN groff-1.19/src/xditview/ChangeLog groff-1.19.1/src/xditview/ChangeLog --- groff-1.19/src/xditview/ChangeLog Tue Apr 29 09:22:23 2003 +++ groff-1.19.1/src/xditview/ChangeLog Mon Apr 19 16:07:33 2004 @@ -1,3 +1,14 @@ +2004-04-17 Werner LEMBERG + + * device.c (scale_round): Round correctly for negative values + (this is the same function as in src/libs/libgroff/font.c). + Found by Paul Eggert. + +2003-11-10 Werner LEMBERG + + * Imakefile.in: s/@top_srcdir@/@abs_top_srcdir@/, + s/@groff_top_builddir@/@abs_top_builddir@/. + Version 1.19 released ===================== diff -ruN groff-1.19/src/xditview/Dvi.c groff-1.19.1/src/xditview/Dvi.c --- groff-1.19/src/xditview/Dvi.c Wed Mar 1 14:50:49 2000 +++ groff-1.19.1/src/xditview/Dvi.c Wed Jul 2 16:44:15 2003 @@ -94,6 +94,20 @@ static void SaveToFile (); +/* font.c */ +extern void ParseFontMap(); +extern void DestroyFontMap(); +extern void ForgetFonts(); + +/* page.c */ +extern void DestroyFileMap(); +extern long SearchPagePosition(); +extern void FileSeek(); +extern void ForgetPagePositions(); + +/* parse.c */ +extern int ParseInput(); + DviClassRec dviClassRec = { { &widgetClassRec, /* superclass */ @@ -406,6 +420,7 @@ return ret; } +void SetDevice (dw, name) DviWidget dw; char *name; diff -ruN groff-1.19/src/xditview/DviChar.c groff-1.19.1/src/xditview/DviChar.c --- groff-1.19/src/xditview/DviChar.c Wed Jan 8 01:57:06 2003 +++ groff-1.19.1/src/xditview/DviChar.c Wed Jul 2 16:44:15 2003 @@ -5,7 +5,9 @@ * font indexes and back */ -#include "DviChar.h" +#include +#include +#include "DviChar.h" extern char *xmalloc(); @@ -21,7 +23,7 @@ static int standard_maps_loaded = 0; static void load_standard_maps (); static int hash_name (); -static dispose_hash(), compute_hash(); +static void dispose_hash(), compute_hash(); DviCharNameMap * DviFindMap (encoding) @@ -58,7 +60,7 @@ compute_hash (map); } -static +static void dispose_hash (map) DviCharNameMap *map; { @@ -88,7 +90,7 @@ return i; } -static +static void compute_hash (map) DviCharNameMap *map; { diff -ruN groff-1.19/src/xditview/DviP.h groff-1.19.1/src/xditview/DviP.h --- groff-1.19/src/xditview/DviP.h Sun Feb 6 10:38:57 2000 +++ groff-1.19.1/src/xditview/DviP.h Wed Jul 2 16:44:15 2003 @@ -182,6 +182,7 @@ int word_flag; } DviPart; +extern int DviGetAndPut(); #define DviGetIn(dw,cp)\ (dw->dvi.tmpFile ? (\ DviGetAndPut (dw, cp) \ diff -ruN groff-1.19/src/xditview/Imakefile.in groff-1.19.1/src/xditview/Imakefile.in --- groff-1.19/src/xditview/Imakefile.in Tue Mar 4 07:11:30 2003 +++ groff-1.19.1/src/xditview/Imakefile.in Tue Nov 11 08:09:43 2003 @@ -1,7 +1,7 @@ srcdir=@srcdir@ -top_srcdir=@top_srcdir@ +top_srcdir=@abs_top_srcdir@ VPATH=@srcdir@ -top_builddir=@groff_top_builddir@ +top_builddir=@abs_top_builddir@ SEP=@PATH_SEPARATOR@ version=`cat $(top_srcdir)/VERSION` diff -ruN groff-1.19/src/xditview/XFontName.c groff-1.19.1/src/xditview/XFontName.c --- groff-1.19/src/xditview/XFontName.c Sun Feb 6 10:38:58 2000 +++ groff-1.19.1/src/xditview/XFontName.c Wed Jul 2 16:44:15 2003 @@ -225,6 +225,7 @@ return True; } +Bool XCopyFontName (name1, name2, fontNameAttributes) XFontName *name1, *name2; unsigned int fontNameAttributes; diff -ruN groff-1.19/src/xditview/device.c groff-1.19.1/src/xditview/device.c --- groff-1.19/src/xditview/device.c Sat Dec 2 22:12:53 2000 +++ groff-1.19.1/src/xditview/device.c Mon Apr 19 15:48:16 2004 @@ -2,6 +2,7 @@ #include #include +#include #include #include @@ -304,10 +305,13 @@ if (n >= 0) { if (n <= (INT_MAX - y2)/x) return (n*x + y2)/y; + return (int)(n*(double)x/(double)y + .5); } - else if (-(unsigned)n <= (-(unsigned)INT_MIN - y2)/x) + else { + if (-(unsigned)n <= (-(unsigned)INT_MIN - y2)/x) return (n*x - y2)/y; - return (int)(n*(double)x/(double)y + .5); + return (int)(n*(double)x/(double)y + .5); + } } static @@ -559,7 +563,7 @@ FILE *open_device_file(device_name, file_name, result) char *device_name, *file_name, **result; { - char *buf, *path; + char *buf; FILE *fp; buf = XtMalloc(3 + strlen(device_name) + 1 + strlen(file_name) + 1); diff -ruN groff-1.19/src/xditview/draw.c groff-1.19.1/src/xditview/draw.c --- groff-1.19/src/xditview/draw.c Sat Dec 21 00:03:04 2002 +++ groff-1.19.1/src/xditview/draw.c Wed Jul 2 16:44:15 2003 @@ -25,6 +25,10 @@ static int FakeCharacter(); +/* font.c */ +extern int MaxFontPosition(); + +void HorizontalMove(dw, delta) DviWidget dw; int delta; @@ -32,6 +36,7 @@ dw->dvi.state->x += delta; } +void HorizontalGoto(dw, NewPosition) DviWidget dw; int NewPosition; @@ -39,6 +44,7 @@ dw->dvi.state->x = NewPosition; } +void VerticalMove(dw, delta) DviWidget dw; int delta; @@ -46,6 +52,7 @@ dw->dvi.state->y += delta; } +void VerticalGoto(dw, NewPosition) DviWidget dw; int NewPosition; @@ -53,6 +60,7 @@ dw->dvi.state->y = NewPosition; } +void AdjustCacheDeltas (dw) DviWidget dw; { @@ -94,6 +102,7 @@ } } +void FlushCharCache (dw) DviWidget dw; { @@ -115,6 +124,7 @@ dw->dvi.cache.start_y = dw->dvi.cache.y = YPos (dw); } +void Newline (dw) DviWidget dw; { @@ -123,6 +133,7 @@ dw->dvi.word_flag = 0; } +void Word (dw) DviWidget dw; { @@ -152,7 +163,7 @@ || p->ascent != 0 || p->descent != 0 || p->attributes != 0); } -static +static void DoCharacter (dw, c, wid) DviWidget dw; int c; @@ -349,6 +360,7 @@ return 1; } +void PutNumberedCharacter (dw, c) DviWidget dw; int c; @@ -391,13 +403,14 @@ } } +void ClearPage (dw) DviWidget dw; { XClearWindow (XtDisplay (dw), XtWindow (dw)); } -static +static void setGC (dw) DviWidget dw; { @@ -421,7 +434,7 @@ } } -static +static void setFillGC (dw) DviWidget dw; { @@ -448,6 +461,7 @@ } } +void DrawLine (dw, x, y) DviWidget dw; int x, y; @@ -463,6 +477,7 @@ xp + DeviceToX (dw, x), yp + DeviceToX (dw, y)); } +void DrawCircle (dw, diam) DviWidget dw; int diam; @@ -477,6 +492,7 @@ d, d, 0, 64*360); } +void DrawFilledCircle (dw, diam) DviWidget dw; int diam; @@ -494,6 +510,7 @@ d, d, 0, 64*360); } +void DrawEllipse (dw, a, b) DviWidget dw; int a, b; @@ -505,6 +522,7 @@ DeviceToX (dw, a), DeviceToX (dw, b), 0, 64*360); } +void DrawFilledEllipse (dw, a, b) DviWidget dw; int a, b; @@ -519,6 +537,7 @@ DeviceToX (dw, a), DeviceToX (dw, b), 0, 64*360); } +void DrawArc (dw, x0, y0, x1, y1) DviWidget dw; int x0, y0, x1, y1; @@ -545,6 +564,7 @@ rad*2, rad*2, angle1, angle2); } +void DrawPolygon (dw, v, n) DviWidget dw; int *v; @@ -576,7 +596,7 @@ XtFree((char *)p); } - +void DrawFilledPolygon (dw, v, n) DviWidget dw; int *v; @@ -612,7 +632,7 @@ #define POINTS_MAX 10000 -static +static void appendPoint(points, pointi, x, y) XPoint *points; int *pointi; @@ -627,7 +647,7 @@ #define FLATNESS 1 -static +static void flattenCurve(points, pointi, x2, y2, x3, y3, x4, y4) XPoint *points; int *pointi; @@ -663,7 +683,7 @@ } } - +void DrawSpline (dw, v, n) DviWidget dw; int *v; diff -ruN groff-1.19/src/xditview/font.c groff-1.19.1/src/xditview/font.c --- groff-1.19/src/xditview/font.c Sun Feb 6 10:39:01 2000 +++ groff-1.19.1/src/xditview/font.c Wed Jul 2 16:44:15 2003 @@ -9,10 +9,16 @@ #include #include #include +#include #include "DviP.h" #include "XFontName.h" -static DisposeFontSizes(); +static void DisposeFontSizes(); +void DestroyFontMap(); + +/* XFontName.c */ +extern Bool XParseFontName(); +extern Bool XFormatFontName(); static char * savestr (s) @@ -115,7 +121,7 @@ # define SizePosition 8 # define EncodingPosition 13 -static +static int ConvertFontNameToSize (n) char *n; { @@ -191,7 +197,7 @@ return sizes; } -static +static void DisposeFontSizes (dw, fs) DviWidget dw; DviFontSizeList *fs; @@ -263,6 +269,7 @@ return f; } +void ForgetFonts (dw) DviWidget dw; { @@ -322,6 +329,7 @@ } #endif +void ParseFontMap (dw) DviWidget dw; { @@ -357,6 +365,7 @@ dw->dvi.font_map = fm; } +void DestroyFontMap (font_map) DviFontMap *font_map; { @@ -374,6 +383,7 @@ /* ARGSUSED */ +void SetFontPosition (dw, position, dvi_name, extra) DviWidget dw; int position; diff -ruN groff-1.19/src/xditview/lex.c groff-1.19.1/src/xditview/lex.c --- groff-1.19/src/xditview/lex.c Sun Feb 6 10:39:02 2000 +++ groff-1.19.1/src/xditview/lex.c Wed Jul 2 16:44:15 2003 @@ -4,6 +4,7 @@ #include #include "DviP.h" +int DviGetAndPut(dw, cp) DviWidget dw; int *cp; @@ -67,6 +68,7 @@ return Buffer; } +int GetNumber(dw) DviWidget dw; { diff -ruN groff-1.19/src/xditview/page.c groff-1.19.1/src/xditview/page.c --- groff-1.19/src/xditview/page.c Sun Feb 6 10:39:02 2000 +++ groff-1.19.1/src/xditview/page.c Wed Jul 2 16:44:15 2003 @@ -28,6 +28,7 @@ return m; } +void DestroyFileMap (m) DviFileMap *m; { @@ -39,6 +40,7 @@ } } +void ForgetPagePositions (dw) DviWidget dw; { @@ -46,6 +48,7 @@ dw->dvi.file_map = 0; } +void RememberPagePosition(dw, number) DviWidget dw; int number; @@ -64,6 +67,7 @@ m->position = ftell (dw->dvi.file); } +long SearchPagePosition (dw, number) DviWidget dw; int number; @@ -75,6 +79,7 @@ return m->position; } +void FileSeek(dw, position) DviWidget dw; long position; diff -ruN groff-1.19/src/xditview/parse.c groff-1.19.1/src/xditview/parse.c --- groff-1.19/src/xditview/parse.c Sun Apr 7 06:48:51 2002 +++ groff-1.19.1/src/xditview/parse.c Wed Jul 2 16:44:15 2003 @@ -12,12 +12,44 @@ #include "DviP.h" static int StopSeen = 0; -static ParseDrawFunction(), ParseDeviceControl(); -static push_env(), pop_env(); +static void ParseDrawFunction(), ParseDeviceControl(); +static void push_env(), pop_env(); + +/* draw.c */ +extern int PutCharacter(); +extern int PutNumberedCharacter(); +extern void HorizontalGoto(); +extern void Word(); +extern void VerticalGoto(); +extern void VerticalMove(); +extern void FlushCharCache(); +extern void Newline(); +extern void DrawLine(); +extern void DrawCircle(); +extern void DrawFilledCircle(); +extern void DrawEllipse(); +extern void DrawFilledEllipse(); +extern void DrawArc(); +extern void DrawPolygon(); +extern void DrawFilledPolygon(); +extern void DrawSpline(); + +/* Dvi.c */ +extern void SetDevice(); + +/* page.c */ +extern void RememberPagePosition(); + +/* font.c */ +extern void SetFontPosition(); + +/* lex.c */ +extern int GetNumber(); #define HorizontalMove(dw, delta) ((dw)->dvi.state->x += (delta)) +int ParseInput(dw) register DviWidget dw; { @@ -158,7 +190,7 @@ } } -static +static void push_env(dw) DviWidget dw; { @@ -177,7 +209,7 @@ dw->dvi.state = new; } -static +static void pop_env(dw) DviWidget dw; { @@ -188,7 +220,7 @@ XtFree ((char *) old); } -static +static void InitTypesetter (dw) DviWidget dw; { @@ -200,7 +232,7 @@ #define DRAW_ARGS_MAX 128 -static +static void ParseDrawFunction(dw, buf) DviWidget dw; char *buf; @@ -284,13 +316,12 @@ } } -static +static void ParseDeviceControl(dw) /* Parse the x commands */ DviWidget dw; { char str[20], str1[50]; int c, n; - extern int LastPage, CurrentPage; GetWord (dw, str, 20); switch (str[0]) { /* crude for now */ diff -ruN groff-1.19/src/xditview/xditview.c groff-1.19.1/src/xditview/xditview.c --- groff-1.19/src/xditview/xditview.c Sun Jun 23 16:11:55 2002 +++ groff-1.19.1/src/xditview/xditview.c Wed Jul 2 16:44:15 2003 @@ -46,6 +46,7 @@ #include #include +#include #include #include "Dvi.h" @@ -101,7 +102,7 @@ * Report the syntax for calling xditview. */ -static +static void Syntax(call) char *call; { @@ -126,12 +127,12 @@ char *name; void (*function)(); } menuEntries[] = { - "nextPage", NextPage, - "previousPage", PreviousPage, - "selectPage", SelectPage, - "print", Print, - "openFile", OpenFile, - "quit", Quit, + {"nextPage", NextPage}, + {"previousPage", PreviousPage}, + {"selectPage", SelectPage}, + {"print", Print}, + {"openFile", OpenFile}, + {"quit", Quit}, }; static void NextPageAction(), PreviousPageAction(), SelectPageAction(); @@ -139,17 +140,18 @@ static void AcceptAction(), CancelAction(); static void PrintAction(); static void RerasterizeAction(); +static void MakePrompt(); XtActionsRec xditview_actions[] = { - "NextPage", NextPageAction, - "PreviousPage", PreviousPageAction, - "SelectPage", SelectPageAction, - "Print", PrintAction, - "OpenFile", OpenFileAction, - "Rerasterize", RerasterizeAction, - "Quit", QuitAction, - "Accept", AcceptAction, - "Cancel", CancelAction, + {"NextPage", NextPageAction}, + {"PreviousPage", PreviousPageAction}, + {"SelectPage", SelectPageAction}, + {"Print", PrintAction}, + {"OpenFile", OpenFileAction}, + {"Rerasterize", RerasterizeAction}, + {"Quit", QuitAction}, + {"Accept", AcceptAction}, + {"Cancel", CancelAction}, }; #define MenuNextPage 0 @@ -318,6 +320,7 @@ static char fileBuf[1024]; +static void ResetMenuEntry (entry) Widget entry; { @@ -516,6 +519,7 @@ CancelAction (widget, event, params, num_params); } +static void MakePrompt(centerw, prompt, func, def) Widget centerw; char *prompt; diff -ruN groff-1.19/src/xditview/xtotroff.c groff-1.19.1/src/xditview/xtotroff.c --- groff-1.19/src/xditview/xtotroff.c Wed Mar 1 14:50:49 2000 +++ groff-1.19.1/src/xditview/xtotroff.c Wed Jul 2 16:44:15 2003 @@ -9,6 +9,7 @@ #include #include #include +#include #include #include "XFontName.h" #include "DviChar.h" @@ -19,6 +20,10 @@ #include #endif +/* XFontName.c */ +extern Bool XParseFontName(); +extern Bool XFormatFontName(); + #define charWidth(fi,c) ((fi)->per_char[(c) - (fi)->min_char_or_byte2].width) #define charHeight(fi,c) ((fi)->per_char[(c) - (fi)->min_char_or_byte2].ascent) #define charDepth(fi,c) ((fi)->per_char[(c) - (fi)->min_char_or_byte2].descent) @@ -45,6 +50,7 @@ /* Canonicalize the font name by replacing scalable parts by *s. */ +static int CanonicalizeFontName (font_name, canon_font_name) char *font_name, *canon_font_name; { @@ -63,7 +69,8 @@ return 1; } -int FontNamesAmbiguous(font_name, names, count) +static int +FontNamesAmbiguous(font_name, names, count) char *font_name; char **names; int count; @@ -90,6 +97,7 @@ return 0; } +static int MapFont (font_name, troff_name) char *font_name; char *troff_name; @@ -211,7 +219,8 @@ return 1; } -static usage(prog) +static void +usage(prog) char *prog; { fprintf (stderr, @@ -234,6 +243,7 @@ return p; } +int main (argc, argv) char **argv; { diff -ruN groff-1.19/test-groff groff-1.19.1/test-groff --- groff-1.19/test-groff Sat Jan 19 19:39:09 2002 +++ groff-1.19.1/test-groff Thu Jan 1 01:00:00 1970 @@ -1,42 +0,0 @@ -#! /bin/sh -# This script runs groff without requiring that it be installed. -# The current directory must be the top build directory. - -builddir=./src -srcdir=`echo $0 | sed -e 's;/[^/]*$;;'` - -if test ! -d $builddir/roff/groff || \ - test ! -r $builddir/roff/groff/groff; then - echo $0 must be run with the top build directory as the current directory 2>&1 - exit 1 -fi - -GROFF_BIN_PATH=\ -$builddir/roff/groff:\ -$builddir/roff/troff:\ -$builddir/preproc/pic:\ -$builddir/preproc/eqn:\ -$builddir/preproc/tbl:\ -$builddir/preproc/grn:\ -$builddir/preproc/refer:\ -$builddir/preproc/soelim:\ -$builddir/preproc/html:\ -$builddir/devices/grops:\ -$builddir/devices/grodvi:\ -$builddir/devices/grotty:\ -$builddir/devices/grolj4:\ -$builddir/devices/grolbp:\ -$builddir/devices/grohtml:\ -$srcdir/$builddir/xditview - -test -n "$srcdir" || srcdir=. - -XENVIRONMENT=`cd $srcdir; pwd`/src/xditview/GXditview.ad -export XENVIRONMENT - -GROFF_COMMAND_PREFIX= -GROFF_FONT_PATH=$builddir/../font:$srcdir/font -GROFF_TMAC_PATH=$srcdir/tmac -export GROFF_BIN_PATH GROFF_COMMAND_PREFIX GROFF_FONT_PATH GROFF_TMAC_PATH - -exec $builddir/roff/groff/groff ${1+"$@"} diff -ruN groff-1.19/test-groff.in groff-1.19.1/test-groff.in --- groff-1.19/test-groff.in Thu Jan 1 01:00:00 1970 +++ groff-1.19.1/test-groff.in Wed Dec 31 09:26:10 2003 @@ -0,0 +1,44 @@ +#! /bin/sh +# This script runs groff without requiring that it be installed. +# The current directory must be the top build directory. + +SEP='@PATH_SEPARATOR@' +EXEEXT=@EXEEXT@ +builddir=./src +srcdir=`echo $0 | sed -e 's;/[^/]*$;;'` + +if test ! -d $builddir/roff/groff || \ + test ! -r $builddir/roff/groff/groff$EXEEXT; then + echo $0 must be run with the top build directory as the current directory 2>&1 + exit 1 +fi + +GROFF_BIN_PATH=\ +$builddir/roff/groff$SEP\ +$builddir/roff/troff$SEP\ +$builddir/preproc/pic$SEP\ +$builddir/preproc/eqn$SEP\ +$builddir/preproc/tbl$SEP\ +$builddir/preproc/grn$SEP\ +$builddir/preproc/refer$SEP\ +$builddir/preproc/soelim$SEP\ +$builddir/preproc/html$SEP\ +$builddir/devices/grops$SEP\ +$builddir/devices/grodvi$SEP\ +$builddir/devices/grotty$SEP\ +$builddir/devices/grolj4$SEP\ +$builddir/devices/grolbp$SEP\ +$builddir/devices/grohtml$SEP\ +$srcdir/$builddir/xditview + +test -n "$srcdir" || srcdir=. + +XENVIRONMENT=`cd $srcdir; pwd`/src/xditview/GXditview.ad +export XENVIRONMENT + +GROFF_COMMAND_PREFIX= +GROFF_FONT_PATH=$builddir/../font$SEP$srcdir/font +GROFF_TMAC_PATH=$srcdir/tmac +export GROFF_BIN_PATH GROFF_COMMAND_PREFIX GROFF_FONT_PATH GROFF_TMAC_PATH + +exec $builddir/roff/groff/groff ${1+"$@"} diff -ruN groff-1.19/tmac/TODO groff-1.19.1/tmac/TODO --- groff-1.19/tmac/TODO Sun Feb 6 10:39:42 2000 +++ groff-1.19.1/tmac/TODO Tue May 11 22:14:27 2004 @@ -1,7 +1,5 @@ Support multiple line-spacing. -Improve the device independence of the character definitions. - If we have footnotes in the abstract in RP format, then the footnote will appear on the cover sheet, which it should, but also on the first page, which it should not. diff -ruN groff-1.19/tmac/X.tmac groff-1.19.1/tmac/X.tmac --- groff-1.19/tmac/X.tmac Thu Mar 13 16:13:58 2003 +++ groff-1.19.1/tmac/X.tmac Mon Dec 22 00:00:35 2003 @@ -18,7 +18,7 @@ .char ~ \v'-.55m'\s[\En(.s/2u]\v'.2m'\[ti]\v'-.2m'\s0\v'.55m' .char ^ \v'-.55m'\s[\En(.s/2u]\v'.3m'\[ha]\v'-.3m'\s0\v'.55m' .fchar \[va] \o'\[ua]\[da]' -.fchar \[em] \v'-.25m'\h'.05m'\D'l .9m 0' +.fchar \[em] \v'-.25m'\h'.05m'\D'l .9m 0'\h'0.05m'\v'.25m' .fchar \[en] \- .fchar \[fi] fi .fchar \[fl] fl @@ -75,6 +75,11 @@ .X-achar \['C] \' C c .X-achar \['c] \' c c .X-achar \[:Y] \[ad] Y y +. +.fchar \[S ,] \o'S\[ac]' +.hcode \[S ,]s +.fchar \[s ,] \o's\[ac]' +.hcode \[s ,]s . .de X-frac . schar \[\\$1\\$2] \ diff -ruN groff-1.19/tmac/Xps.tmac groff-1.19.1/tmac/Xps.tmac --- groff-1.19/tmac/Xps.tmac Sun Mar 9 16:12:02 2003 +++ groff-1.19.1/tmac/Xps.tmac Mon Dec 22 07:42:22 2003 @@ -3,6 +3,9 @@ .do mso ps.tmac .nr _C \n(.C .cp 0 +. +.\" Use this macro only to replace characters which do really exist in +.\" the devps font definition files. .de Xps-char . char \\$1 \Z"\X'ps: invis'\\$2\X'ps: endinvis'"\\$1 .. diff -ruN groff-1.19/tmac/an-old.tmac groff-1.19.1/tmac/an-old.tmac --- groff-1.19/tmac/an-old.tmac Tue Apr 15 16:57:17 2003 +++ groff-1.19.1/tmac/an-old.tmac Mon Jul 21 17:27:05 2003 @@ -77,9 +77,12 @@ .if \n[an-html] .nr C 1 .if r ps4html .nr C 1 . -.\" we redefine .ne to avoid page breaks; instead, the page length is -.\" increased to the necessary amount (this is needed for tables) -.if n \{\ +.\" we redefine .ne to avoid page breaks if cR is set; instead, the page +.\" length is increased to the necessary amount (this is needed for tables) +.\" +.\" similarly, we redefine .bp if cR is set, adjusting the page length to +.\" the current position so that no empty lines are inserted +.if \n[cR] \{\ . de1 ne . ie \\n[.$] \ . nr an-ne \\$* @@ -87,6 +90,13 @@ . nr an-ne 1v . if (\\n[an-ne] >= \\n[.t]) \ . pl +(\\n[an-ne]u - \\n[.t]u + 1v) +. . +. +. rn bp an-bp +. de1 bp +. br +. pl \\n[nl]u +. an-bp \\$* . . .\} . diff -ruN groff-1.19/tmac/composite.tmac groff-1.19.1/tmac/composite.tmac --- groff-1.19/tmac/composite.tmac Tue Mar 11 21:54:14 2003 +++ groff-1.19.1/tmac/composite.tmac Sat Dec 20 00:06:31 2003 @@ -19,6 +19,7 @@ .do composite " u030B .do composite ah u030C .do composite ac u0327 +.do composite , u0327 .do composite ho u0328 . .\" EOF diff -ruN groff-1.19/tmac/doc-common groff-1.19.1/tmac/doc-common --- groff-1.19/tmac/doc-common Thu Feb 27 15:51:49 2003 +++ groff-1.19.1/tmac/doc-common Thu Apr 15 17:09:22 2004 @@ -101,7 +101,7 @@ .nr Ft 8n\" ? .nr Fx 1 .nr Ic 10n -.nr In 12n\" ? +.nr In 12n .nr It 8n\" ? .nr Lb 11n .nr Li 16n @@ -256,42 +256,65 @@ .als doc-volume-ds-MMI doc-volume-ds-IND .als doc-volume-ds-LOC doc-volume-ds-LOCAL . -.ds doc-volume-as-alpha Alpha +.ds doc-volume-as-alpha alpha .als doc-volume-as-Alpha doc-volume-as-alpha -.ds doc-volume-as-amiga Amiga -.ds doc-volume-as-arc Arc -.ds doc-volume-as-arm26 ARM26 -.ds doc-volume-as-arm32 ARM32 -.ds doc-volume-as-atari Atari -.ds doc-volume-as-bebox BEbox -.ds doc-volume-as-cobalt Cobalt -.ds doc-volume-as-evbsh3 Evbsh3 -.ds doc-volume-as-hp300 HP300 -.ds doc-volume-as-hpcmips HPcmips -.ds doc-volume-as-i386 i386 -.ds doc-volume-as-luna68k luna68k -.ds doc-volume-as-m68k m68k -.ds doc-volume-as-mac68k mac68k -.ds doc-volume-as-macppc macppc -.ds doc-volume-as-mips MIPS -.ds doc-volume-as-mmeye mmeye -.ds doc-volume-as-mvme68k mvme68k -.ds doc-volume-as-news68k news68k -.ds doc-volume-as-newsmips newsmips -.ds doc-volume-as-next68k next68k -.ds doc-volume-as-ofppc ofppc -.ds doc-volume-as-pc532 pc532 -.ds doc-volume-as-pmax pmax -.ds doc-volume-as-powerpc powerpc -.ds doc-volume-as-prep prep -.ds doc-volume-as-sgimips sgimips -.ds doc-volume-as-sh3 sh3 -.ds doc-volume-as-sparc SPARC -.ds doc-volume-as-sparc64 sparc64 -.ds doc-volume-as-sun3 sun3 -.ds doc-volume-as-tahoe Tahoe -.ds doc-volume-as-vax VAX -.ds doc-volume-as-x68k x68k +.ds doc-volume-as-acorn26 acorn26 +.ds doc-volume-as-acorn32 acorn32 +.ds doc-volume-as-algor algor +.ds doc-volume-as-amd64 amd64 +.ds doc-volume-as-amiga amiga +.ds doc-volume-as-arc arc +.ds doc-volume-as-arm26 arm26 +.ds doc-volume-as-arm32 arm32 +.ds doc-volume-as-atari atari +.ds doc-volume-as-bebox bebox +.ds doc-volume-as-cats cats +.ds doc-volume-as-cesfic cesfic +.ds doc-volume-as-cobalt cobalt +.ds doc-volume-as-dreamcast dreamcast +.ds doc-volume-as-evbarm evbarm +.ds doc-volume-as-evbmips evbmips +.ds doc-volume-as-evbppc evbppc +.ds doc-volume-as-evbsh3 evbsh3 +.ds doc-volume-as-hp300 hp300 +.ds doc-volume-as-hp700 hp700 +.ds doc-volume-as-hpcarm hpcarm +.ds doc-volume-as-hpcmips hpcmips +.ds doc-volume-as-hpcsh hpcsh +.ds doc-volume-as-i386 i386 +.ds doc-volume-as-luna68k luna68k +.ds doc-volume-as-m68k m68k +.ds doc-volume-as-mac68k mac68k +.ds doc-volume-as-macppc macppc +.ds doc-volume-as-mips mips +.ds doc-volume-as-mipsco mipsco +.ds doc-volume-as-mmeye mmeye +.ds doc-volume-as-mvme68k mvme68k +.ds doc-volume-as-mvmeppc mvmeppc +.ds doc-volume-as-netwinder netwinder +.ds doc-volume-as-news68k news68k +.ds doc-volume-as-newsmips newsmips +.ds doc-volume-as-next68k next68k +.ds doc-volume-as-ofppc ofppc +.ds doc-volume-as-pc532 pc532 +.ds doc-volume-as-playstation2 playstation2 +.ds doc-volume-as-pmax pmax +.ds doc-volume-as-pmppc pmppc +.ds doc-volume-as-powerpc powerpc +.ds doc-volume-as-prep prep +.ds doc-volume-as-sandpoint sandpoint +.ds doc-volume-as-sbmips sbmips +.ds doc-volume-as-sgimips sgimips +.ds doc-volume-as-sh3 sh3 +.ds doc-volume-as-shark shark +.ds doc-volume-as-sparc sparc +.ds doc-volume-as-sparc64 sparc64 +.ds doc-volume-as-sun2 sun2 +.ds doc-volume-as-sun3 sun3 +.ds doc-volume-as-tahoe tahoe +.ds doc-volume-as-vax vax +.ds doc-volume-as-x68k x68k +.ds doc-volume-as-x86_64 x86_64 . .de Dt . \" reset default arguments @@ -339,12 +362,18 @@ .. . . -.\" NS doc-operating-system global string -.\" NS the exact version of the operating system +.\" NS doc-default-operating-system global string +.\" NS the exact (default) version of the operating system .\" NS .\" NS override this in `mdoc.local', if necessary . -.ds doc-operating-system BSD +.ds doc-default-operating-system BSD +. +. +.\" NS doc-operating-system global string +.\" NS the exact version of the operating system +. +.ds doc-operating-system . . .\" NS Os user macro (not parsed, not callable) @@ -378,24 +407,34 @@ .als doc-operating-system-BSD-4.3r doc-operating-system-BSD-4.3R .ds doc-operating-system-BSD-4.4 4.4BSD . -.ds doc-operating-system-NetBSD-0.8 0.8 -.ds doc-operating-system-NetBSD-0.8a 0.8A -.ds doc-operating-system-NetBSD-0.9 0.9 -.ds doc-operating-system-NetBSD-0.9a 0.9A -.ds doc-operating-system-NetBSD-1.0 1.0 -.ds doc-operating-system-NetBSD-1.0a 1.0A -.ds doc-operating-system-NetBSD-1.1 1.1 -.ds doc-operating-system-NetBSD-1.2 1.2 -.ds doc-operating-system-NetBSD-1.2a 1.2A -.ds doc-operating-system-NetBSD-1.2b 1.2B -.ds doc-operating-system-NetBSD-1.2c 1.2C -.ds doc-operating-system-NetBSD-1.2d 1.2D -.ds doc-operating-system-NetBSD-1.2e 1.2E -.ds doc-operating-system-NetBSD-1.3 1.3 -.ds doc-operating-system-NetBSD-1.3a 1.3A -.ds doc-operating-system-NetBSD-1.4 1.4 -.ds doc-operating-system-NetBSD-1.5 1.5 -.ds doc-operating-system-NetBSD-1.6 1.6 +.ds doc-operating-system-NetBSD-0.8 0.8 +.ds doc-operating-system-NetBSD-0.8a 0.8A +.ds doc-operating-system-NetBSD-0.9 0.9 +.ds doc-operating-system-NetBSD-0.9a 0.9A +.ds doc-operating-system-NetBSD-1.0 1.0 +.ds doc-operating-system-NetBSD-1.0a 1.0A +.ds doc-operating-system-NetBSD-1.1 1.1 +.ds doc-operating-system-NetBSD-1.2 1.2 +.ds doc-operating-system-NetBSD-1.2a 1.2A +.ds doc-operating-system-NetBSD-1.2b 1.2B +.ds doc-operating-system-NetBSD-1.2c 1.2C +.ds doc-operating-system-NetBSD-1.2d 1.2D +.ds doc-operating-system-NetBSD-1.2e 1.2E +.ds doc-operating-system-NetBSD-1.3 1.3 +.ds doc-operating-system-NetBSD-1.3a 1.3A +.ds doc-operating-system-NetBSD-1.4 1.4 +.ds doc-operating-system-NetBSD-1.4.1 1.4.1 +.ds doc-operating-system-NetBSD-1.4.2 1.4.2 +.ds doc-operating-system-NetBSD-1.4.3 1.4.3 +.ds doc-operating-system-NetBSD-1.5 1.5 +.ds doc-operating-system-NetBSD-1.5.1 1.5.1 +.ds doc-operating-system-NetBSD-1.5.2 1.5.2 +.ds doc-operating-system-NetBSD-1.5.3 1.5.3 +.ds doc-operating-system-NetBSD-1.6 1.6 +.ds doc-operating-system-NetBSD-1.6.1 1.6.1 +.ds doc-operating-system-NetBSD-1.6.2 1.6.2 +.ds doc-operating-system-NetBSD-2.0 2.0 +.ds doc-operating-system-NetBSD-2.1 2.1 . .ds doc-operating-system-FreeBSD-1.0 1.0 .ds doc-operating-system-FreeBSD-1.1 1.1 @@ -431,13 +470,18 @@ .ds doc-operating-system-FreeBSD-4.6.2 4.6.2 .ds doc-operating-system-FreeBSD-4.7 4.7 .ds doc-operating-system-FreeBSD-4.8 4.8 +.ds doc-operating-system-FreeBSD-4.9 4.9 +.ds doc-operating-system-FreeBSD-4.10 4.10 .ds doc-operating-system-FreeBSD-5.0 5.0 +.ds doc-operating-system-FreeBSD-5.1 5.1 +.ds doc-operating-system-FreeBSD-5.2 5.2 +.ds doc-operating-system-FreeBSD-5.2.1 5.2.1 +.ds doc-operating-system-FreeBSD-5.3 5.3 . .de Os -. if "\$1"" \ -. return -. -. ie "\$1"ATT" \{\ +. ie "\$1"" \ +. ds doc-operating-system "\*[doc-default-operating-system] +. el \{ .ie "\$1"ATT" \{\ . ds doc-operating-system AT&T . if \A\$2 \{\ . ie d doc-operating-system-ATT-\$2 \ @@ -472,7 +516,7 @@ . ds doc-operating-system \$1 . if !"\$2"" \ . as doc-operating-system " \$2 -. \}\}\}\} +. \}\}\}\}\} .. . . @@ -554,7 +598,10 @@ . as doc-header-string "\|.\|.\|. . \} . tl \*[doc-caption-font]\*[doc-header-string]\f[]\*[doc-caption-font2]\*[doc-volume]\f[]\*[doc-caption-font]\*[doc-header-string]\f[] -. sp \n[doc-header-space]u +. ie !\n[cR] \ +. sp \n[doc-header-space]u +. el \ +. sp 1v . ev . ns .. @@ -584,6 +631,25 @@ .. . . +.\" NS doc-check-depth macro +.\" NS check paired macros +. +.de doc-check-depth +. if \n[doc-list-depth] \{\ +. tm mdoc warning: A .Bl directive has no matching .El (#\n[.c]) +. nr doc-list-depth 0 +. \} +. if \n[doc-display-depth] \{\ +. tm mdoc warning: A .Bd directive has no matching .Ed (#\n[.c]) +. nr doc-display-depth 0 +. \} +. if \n[doc-fontmode-depth] \{\ +. tm mdoc warning: A .Bf directive has no matching .Ef (#\n[.c]) +. nr doc-fontmode-depth 0 +. \} +.. +. +. .\" NS doc-end-macro macro .\" NS finish output . @@ -600,8 +666,7 @@ . pl +3v . fl . -. if \n[doc-list-depth] \ -. tm mdoc warning: list open at EOF! A .Bl directive has no matching .El +. doc-check-depth . . if \n[cR] \{\ . sp @@ -665,7 +730,7 @@ .\" NS width register `Nd' set above . .de Nd -. nop \- \$* +. nop \[em] \$* .. . . @@ -675,6 +740,12 @@ .nr doc-in-synopsis-section 0 . . +.\" NS doc-in-library-section global register (bool) +.\" NS whether we are in the `library' section +. +.nr doc-in-library-section 0 +. +. .\" NS doc-in-see-also-section global register (bool) .\" NS whether we are in the `see also' section . @@ -712,6 +783,7 @@ .\" NS doc-func-count .\" NS doc-in-authors-section .\" NS doc-in-files-section +.\" NS doc-in-library-section .\" NS doc-in-see-also-section .\" NS doc-in-synopsis-section .\" NS doc-indent-synopsis @@ -728,6 +800,7 @@ . .ds doc-section-name NAME .ds doc-section-synopsis SYNOPSIS +.ds doc-section-library LIBRARY .ds doc-section-description DESCRIPTION .ds doc-section-see-also SEE .ds doc-section-files FILES @@ -774,6 +847,7 @@ . \} . el \{\ . nr doc-in-synopsis-section 0 +. nr doc-in-library-section 0 . nr doc-in-see-also-section 0 . nr doc-in-files-section 0 . nr doc-in-authors-section 0 @@ -785,6 +859,9 @@ . nr doc-indent-synopsis 0 . nr doc-indent-synopsis-active 0 . \} +. el \{ .ie "\*[doc-str-dfp]"\*[doc-section-library]" \{\ +. nr doc-in-library-section 1 +. \} . el \{ .ie "\*[doc-str-dfp]"\*[doc-section-description]" \{\ . nr doc-is-func 0 . nr doc-func-count 0 @@ -800,7 +877,7 @@ . nr doc-in-files-section 1 . el .if "\*[doc-str-dfp]"\*[doc-section-authors]" \ . nr doc-in-authors-section 1 -. \}\}\} +. \}\}\}\} . . in 0 . nr doc-have-author 0 @@ -831,6 +908,8 @@ . . in +\n[doc-subheader-indent]u . ns +. +. doc-check-depth . \} .. . @@ -895,6 +974,8 @@ . ne 2 . br . ns +. +. doc-check-depth . \} .. . @@ -1033,6 +1114,7 @@ . tm doc-display-vertical == \n[doc-display-vertical] . tm doc-header-string == `\*[doc-header-string]' . tm doc-in-synopsis-section == \n[doc-in-synopsis-section] +. tm doc-in-library-section == \n[doc-in-library-section] . tm doc-in-see-also-section == \n[doc-in-see-also-section] . tm doc-in-files-section == \n[doc-in-files-section] . tm doc-in-authors-section == \n[doc-in-authors-section] diff -ruN groff-1.19/tmac/doc-ditroff groff-1.19.1/tmac/doc-ditroff --- groff-1.19/tmac/doc-ditroff Sat Oct 26 19:04:16 2002 +++ groff-1.19.1/tmac/doc-ditroff Fri May 2 20:24:43 2003 @@ -118,13 +118,13 @@ .\" NS doc-header-space global register .\" NS the space between header and body . -.nr doc-header-space 0 +.nr doc-header-space .5i . . .\" NS doc-footer-space global register .\" NS the space between body and footer . -.nr doc-footer-space 0 +.nr doc-footer-space .5i . . .\" NS doc-display-vertical global register @@ -138,13 +138,8 @@ .\" NS .\" NS modifies: .\" NS doc-display-vertical -.\" NS doc-footer-space -.\" NS doc-header-space . .de doc-setup-page-layout -. nr doc-header-space .5i -. nr doc-footer-space .5i -. . ie r LL \ . ll \n[LL]u . el \ diff -ruN groff-1.19/tmac/doc-nroff groff-1.19.1/tmac/doc-nroff --- groff-1.19/tmac/doc-nroff Sat Oct 26 19:12:54 2002 +++ groff-1.19.1/tmac/doc-nroff Fri May 2 20:25:06 2003 @@ -97,13 +97,13 @@ .\" NS doc-header-space global register .\" NS the space between header and body . -.nr doc-header-space 0 +.nr doc-header-space 0.5i . . .\" NS doc-footer-space global register .\" NS the space between body and footer . -.nr doc-footer-space 0 +.nr doc-footer-space 0.5i . . .\" NS doc-display-vertical global register @@ -117,13 +117,8 @@ .\" NS .\" NS modifies: .\" NS doc-display-vertical -.\" NS doc-footer-space -.\" NS doc-header-space . .de doc-setup-page-layout -. nr doc-header-space .5i -. nr doc-footer-space .5i -. . ie r LL \ . ll \n[LL]u . el \ diff -ruN groff-1.19/tmac/doc-syms groff-1.19.1/tmac/doc-syms --- groff-1.19/tmac/doc-syms Sat Dec 22 09:28:35 2001 +++ groff-1.19.1/tmac/doc-syms Wed May 12 00:02:37 2004 @@ -210,6 +210,8 @@ .as doc-str-At-V.1 " \*[doc-Tn-font-size]UNIX\*[doc-str-At] .ds doc-str-At-V.2 \*[doc-Tn-font-size]AT&T\*[doc-str-At] System\~V.2 .as doc-str-At-V.2 " \*[doc-Tn-font-size]UNIX\*[doc-str-At] +.ds doc-str-At-V.3 \*[doc-Tn-font-size]AT&T\*[doc-str-At] System\~V.3 +.as doc-str-At-V.3 " \*[doc-Tn-font-size]UNIX\*[doc-str-At] .ds doc-str-At-V.4 \*[doc-Tn-font-size]AT&T\*[doc-str-At] System\~V.4 .as doc-str-At-V.4 " \*[doc-Tn-font-size]UNIX\*[doc-str-At] . @@ -536,10 +538,11 @@ . .\" ANSI/ISO C .ds doc-str-St--ansiC-89 \*[Ai] \*[doc-str-St]X\^3.159-1989 -.as doc-str-St--ansiC-89 " (\*[Lq]\)\*[Ai]\~C\*[doc-str-St]\*[Rq]) +.as doc-str-St--ansiC-89 " (\*[Lq]\)\*[Ai]\~C89\*[doc-str-St]\*[Rq]) .als doc-str-St--ansiC doc-str-St--ansiC-89 .ds doc-str-St--isoC \*[doc-Tn-font-size]ISO/IEC\*[doc-str-St] 9899:1990 -.as doc-str-St--isoC " (\*[Lq]\*[doc-Tn-font-size]ISO\~C\^89\*[doc-str-St]\*[Rq]) +.as doc-str-St--isoC " (\*[Lq]\*[doc-Tn-font-size]ISO\~C\^90\*[doc-str-St]\*[Rq]) +.als doc-str-St--isoC-90 doc-str-St--isoC .ds doc-str-St--isoC-99 \*[doc-Tn-font-size]ISO/IEC\*[doc-str-St] 9899:1999 .as doc-str-St--isoC-99 " (\*[Lq]\*[doc-Tn-font-size]ISO\~C\^99\*[doc-str-St]\*[Rq]) . @@ -584,7 +587,7 @@ .as doc-str-St--xbd5 " (\*[Lq]\*[doc-Tn-font-size]XBD\*[doc-str-St]\^5\*[Rq]) .ds doc-str-St--xcu5 \*[doc-Tn-font-size]X/Open\*[doc-str-St] Commands and Utilities Issue\~5 .as doc-str-St--xcu5 " (\*[Lq]\*[doc-Tn-font-size]XCU\*[doc-str-St]\^5\*[Rq]) -.ds doc-str-St--xcurses4.2 \*[doc-Tn-font-size]X/Open\*[doc-str-St] Curses Issue\~4.2 +.ds doc-str-St--xcurses4.2 \*[doc-Tn-font-size]X/Open\*[doc-str-St] Curses Issue\~4, Version\~2 .as doc-str-St--xcurses4.2 " (\*[Lq]\*[doc-Tn-font-size]XCURSES\*[doc-str-St]\^4.2\*[Rq]) .ds doc-str-St--xns5 \*[doc-Tn-font-size]X/Open\*[doc-str-St] Networking Services Issue\~5 .as doc-str-St--xns5 " (\*[Lq]\*[doc-Tn-font-size]XNS\*[doc-str-St]\^5\*[Rq]) @@ -594,7 +597,7 @@ .as doc-str-St--xpg3 " (\*[Lq]\*[doc-Tn-font-size]XPG\*[doc-str-St]\^3\*[Rq]) .ds doc-str-St--xpg4 \*[doc-Tn-font-size]X/Open\*[doc-str-St] Portability Guide Issue\~4 .as doc-str-St--xpg4 " (\*[Lq]\*[doc-Tn-font-size]XPG\*[doc-str-St]\^4\*[Rq]) -.ds doc-str-St--xpg4.2 \*[doc-Tn-font-size]X/Open\*[doc-str-St] Portability Guide Issue\~4.2 +.ds doc-str-St--xpg4.2 \*[doc-Tn-font-size]X/Open\*[doc-str-St] Portability Guide Issue\~4, Version\~2 .as doc-str-St--xpg4.2 " (\*[Lq]\*[doc-Tn-font-size]XPG\*[doc-str-St]\^4.2\*[Rq]) .ds doc-str-St--xsh5 \*[doc-Tn-font-size]X/Open\*[doc-str-St] System Interfaces and Headers Issue\~5 .as doc-str-St--xsh5 " (\*[Lq]\*[doc-Tn-font-size]XSH\*[doc-str-St]\^5\*[Rq]) @@ -668,26 +671,41 @@ .\" NS local variable: .\" NS doc-reg-Lb .\" NS doc-str-Lb +.\" NS doc-str-Lb1 .\" NS doc-str-Lb-XXX .\" NS .\" NS width register `Lb' defined in doc-common . +.ds doc-str-Lb-libarm ARM Architecture Library (libarm, \-larm) .ds doc-str-Lb-libarm32 ARM32 Architecture Library (libarm32, \-larm32) .ds doc-str-Lb-libc Standard C\~Library (libc, \-lc) +.ds doc-str-Lb-libcdk Curses Development Kit Library (libcdk, \-lcdk) .ds doc-str-Lb-libcompat Compatibility Library (libcompat, \-lcompat) .ds doc-str-Lb-libcrypt Crypt Library (libcrypt, \-lcrypt) .ds doc-str-Lb-libcurses Curses Library (libcurses, \-lcurses) .ds doc-str-Lb-libedit Command Line Editor Library (libedit, \-ledit) +.ds doc-str-Lb-libevent Event Notification Library (libevent, \-levent) +.ds doc-str-Lb-libform Curses Form Library (libform, \-lform) .ds doc-str-Lb-libi386 i386 Architecture Library (libi386, \-li386) +.ds doc-str-Lb-libintl Internationalized Message Handling Library (libintl, \-lintl) .ds doc-str-Lb-libipsec IPsec Policy Control Library (libipsec, \-lipsec) .ds doc-str-Lb-libkvm Kernel Data Access Library (libkvm, \-lkvm) .ds doc-str-Lb-libm Math Library (libm, \-lm) +.ds doc-str-Lb-libm68k m68k Architecture Library (libm68k, \-lm68k) +.ds doc-str-Lb-libmagic Magic Number Recognition Library (libmagic, \-lmagic) .ds doc-str-Lb-libmenu Curses Menu Library (libmenu, \-lmenu) .ds doc-str-Lb-libossaudio OSS Audio Emulation Library (libossaudio, \-lossaudio) -.ds doc-str-Lb-libposix \*[Px] Compatibility Library (libposix, \-lposix) +.ds doc-str-Lb-libpcap Packet Capture Library (libpcap, \-lpcap) +.ds doc-str-Lb-libpci PCI Bus Access Library (libpci, \-lpci) +.ds doc-str-Lb-libpmc Performance Counters Library (libpmc, \-lpmc) +.ds doc-str-Lb-libposix \*[Px] \*[doc-str-Lb]Compatibility Library (libposix, \-lposix) +.ds doc-str-Lb-libpthread \*[Px] \*[doc-str-Lb]Threads Library (libpthread, \-lpthread) .ds doc-str-Lb-libresolv DNS Resolver Library (libresolv, \-lresolv) +.ds doc-str-Lb-librt \*[Px] \*[doc-str-Lb]Real-time Library (librt, \-lrt) .ds doc-str-Lb-libtermcap Termcap Access Library (libtermcap, \-ltermcap) +.ds doc-str-Lb-libusbhid USB Human Interface Devices Library (libusbhid, \-lusbhid) .ds doc-str-Lb-libutil System Utilities Library (libutil, \-lutil) +.ds doc-str-Lb-libx86_64 x86_64 Architecture Library (libx86_64, \-lx86_64) .ds doc-str-Lb-libz Compression Library (libz, \-lz) . .de Lb @@ -705,18 +723,26 @@ . . nr doc-arg-ptr +1 . ie (\n[doc-arg-limit] >= \n[doc-arg-ptr]) \{\ +. nr doc-curr-font \n[.f] +. nr doc-curr-size \n[.ps] +. ds doc-str-Lb \f[\n[doc-curr-font]]\s[\n[doc-curr-size]u] +. . ie d doc-str-Lb-\*[doc-arg\n[doc-arg-ptr]] \ -. ds doc-str-Lb "\*[doc-str-Lb-\*[doc-arg\n[doc-arg-ptr]]] +. ds doc-str-Lb1 "\*[doc-str-Lb-\*[doc-arg\n[doc-arg-ptr]]] . el \{\ . tmc "mdoc warning: .Lb: no description for library . tm1 " `\*[doc-arg\n[doc-arg-ptr]]' available (#\n[.c]) -. ds doc-str-Lb library \*[Lq]\*[doc-arg\n[doc-arg-ptr]]\*[Rq] +. ds doc-str-Lb1 library \*[Lq]\*[doc-arg\n[doc-arg-ptr]]\*[Rq] . \} . . \" replacing argument with result -. ds doc-arg\n[doc-arg-ptr] "\*[doc-str-Lb] +. ds doc-arg\n[doc-arg-ptr] "\*[doc-str-Lb1] . +. if \n[doc-in-library-section] \ +. br . doc-print-recursive +. if \n[doc-in-library-section] \ +. br . \} . el \{\ . tm Usage: .Lb library_name ... (#\n[.c]) diff -ruN groff-1.19/tmac/doc.tmac groff-1.19.1/tmac/doc.tmac --- groff-1.19/tmac/doc.tmac Sat Dec 14 13:21:48 2002 +++ groff-1.19.1/tmac/doc.tmac Tue Sep 16 08:42:31 2003 @@ -683,7 +683,7 @@ . nr doc-curr-size \n[.ps] . . ie \n[doc-in-synopsis-section] \{\ -. if "\*[doc-macro-name]"Cd" \{\ +. ie "\*[doc-macro-name]"Cd" \{\ . br . if !\n[doc-indent-synopsis] \ . nr doc-indent-synopsis \n[doc-display-indent]u @@ -694,6 +694,10 @@ . doc-print-recursive . if !\n[doc-indent-synopsis-active] \ . in -\n[doc-indent-synopsis]u +. \} +. el \{\ +. nop \*[doc-Nm-font]\c +. doc-print-recursive . \}\} . el \{\ . nop \*[doc-Nm-font]\c @@ -820,22 +824,64 @@ . . .\" NS In user macro -.\" NS #include statement - not callable +.\" NS #include statement in SYNOPSIS +.\" NS if not in SYNOPSIS .\" NS .\" NS this function causes a break; it uses the `Fd' font .\" NS +.\" NS modifies: +.\" NS doc-arg-ptr +.\" NS doc-curr-font +.\" NS doc-curr-size +.\" NS doc-indent-synopsis +.\" NS doc-macro-name +.\" NS .\" NS width register `In' set in doc-common . .de In -. ie ((\n[.$] == 1) & (\n[doc-arg-limit] == 0)) \{\ -. doc-do-func-decl -. nop \*[doc-Fd-font]#include <\$1> -. br -. ft \n[doc-curr-font] -. ps \n[doc-curr-size]u +. if !\n[doc-arg-limit] \{\ +. ie \n[.$] \{\ +. ds doc-macro-name In +. doc-parse-args \$@ +. \} +. el \ +. tm Usage: .In include_file ... (#\n[.c]) . \} +. +. if !\n[doc-arg-limit] \ +. return +. +. nr doc-arg-ptr +1 +. doc-print-prefixes +. ie ((\n[doc-arg-limit] >= \n[doc-arg-ptr]) & (\n[doc-type\n[doc-arg-ptr]] == 2)) \{\ +. nr doc-curr-font \n[.f] +. nr doc-curr-size \n[.ps] +. +. ie \n[doc-in-synopsis-section] \{\ +. ie "\*[doc-macro-name]"In" \{\ +. doc-do-func-decl +. nop \*[doc-Fd-font]#include <\*[doc-arg\n[doc-arg-ptr]]> +. ft \n[doc-curr-font] +. ps \n[doc-curr-size]u +. br +. nr doc-arg-ptr +1 +. ie (\n[doc-arg-limit] >= \n[doc-arg-ptr]) \ +. doc-print-recursive +. el \ +. doc-reset-args +. \} +. el \{\ +. ds doc-arg\n[doc-arg-ptr] "<\*[doc-Pa-font]\*[doc-arg\n[doc-arg-ptr]] +. as doc-arg\n[doc-arg-ptr] \f[\n[doc-curr-font]]\s[\n[doc-curr-size]u]> +. doc-print-recursive +. \}\} +. el \{\ +. ds doc-arg\n[doc-arg-ptr] "<\*[doc-Pa-font]\*[doc-arg\n[doc-arg-ptr]] +. as doc-arg\n[doc-arg-ptr] \f[\n[doc-curr-font]]\s[\n[doc-curr-size]u]> +. doc-print-recursive +. \}\} . el \{\ -. tm Usage: .In include_file -- In is not callable (#\n[.c]) +. tm Usage: .In include_file ... (#\n[.c]) . doc-reset-args . \} .. @@ -2650,10 +2696,8 @@ . nr doc-display-ft-stack\n[doc-display-depth] \n[.f] . nr doc-display-ps-stack\n[doc-display-depth] \n[.ps] . -. ie t \{\ -. nop \*[doc-Li-font]\c +. ie t \ . ta T 9n -. \} . el \ . ta T 8n . nf @@ -2701,6 +2745,10 @@ . if !\n[doc-is-compact] \ . sp \n[doc-display-vertical]u . +. if "\*[doc-display-type-stack\n[doc-display-depth]]"literal" \ +. if t \ +. nop \*[doc-Li-font]\c +. . if !\n[cR] \ . ne 2v . @@ -3273,6 +3321,7 @@ . nr doc-curr-font-saved \n[doc-curr-font] . nr doc-curr-size-saved \n[doc-curr-size] . nr doc-in-synopsis-section-saved \n[doc-in-synopsis-section] +. nr doc-in-library-section-saved \n[doc-in-library-section] . nr doc-indent-synopsis-saved \n[doc-indent-synopsis] . nr doc-indent-synopsis-active-saved \n[doc-indent-synopsis-active] . nr doc-have-decl-saved \n[doc-have-decl] @@ -3412,6 +3461,7 @@ . nr doc-curr-font \n[doc-curr-font-saved] . nr doc-curr-size \n[doc-curr-size-saved] . nr doc-in-synopsis-section \n[doc-in-synopsis-section-saved] +. nr doc-in-library-section \n[doc-in-library-section-saved] . nr doc-indent-synopsis \n[doc-indent-synopsis-saved] . nr doc-indent-synopsis-active \n[doc-indent-synopsis-active-saved] . nr doc-have-decl \n[doc-have-decl-saved] @@ -3959,15 +4009,16 @@ . ti -\n[doc-reg-dtl]u . . nh -. ie (\n[dl]u > \n[doc-list-indent-stack\n[doc-list-depth]]u) \{\ -. doc-item-box\n[doc-list-depth] +. doc-item-box\n[doc-list-depth] +. ie (\n[dl]u > \n[doc-list-indent-stack\n[doc-list-depth]]u) \ . br -. \} . el \{\ -. chop doc-item-box\n[doc-list-depth] -. \" Using \Z prevents stretching of the spaces in the tag -. nop \Z'\*[doc-item-box\n[doc-list-depth]]'\c -. nop \h'\n[doc-reg-dtl]u'\c +. \" format the tag separately to prevent stretching of spaces +. vpt 0 +. br +. sp -1 +. vpt 1 +. nop \&\c . nr doc-have-space 1 . \} . @@ -4675,13 +4726,16 @@ . ds doc-arg\n[doc-arg-ptr] "\*[doc-func-arg] . . if (\n[doc-func-arg-count] > 1) \{\ -. nop \f[\n[doc-curr-font]]\s[\n[doc-curr-size]u]\|,\)\c +. nop \f[\n[doc-curr-font]]\s[\n[doc-curr-size]u]\|\c +. if !"\*[doc-arg\n[doc-arg-ptr]]"/*" \ +. if !"\*[doc-arg\n[doc-arg-ptr]]"*/" \ +. nop ,\)\c . nop \)\*[doc-space\n[doc-arg-ptr]]\*[doc-Fa-font]\c . nop \)\*[doc-arg\n[doc-arg-ptr]]\f[]\s[0]\c . \} . . if (\n[doc-func-arg-count] == 1) \{\ -. nop \|\*[doc-Fa-font]\*[doc-arg\n[doc-arg-ptr]]\c +. nop \)\*[doc-Fa-font]\*[doc-arg\n[doc-arg-ptr]]\c . nop \f[]\s[0]\c . \} . nr doc-func-arg-count +1 @@ -4754,7 +4808,7 @@ . . br . if !\n[doc-indent-synopsis] \ -. nr doc-indent-synopsis (8u * \n[doc-fixed-width]u) +. nr doc-indent-synopsis (4u * \n[doc-fixed-width]u) . if !\n[doc-indent-synopsis-active] \ . in +\n[doc-indent-synopsis]u . ti -\n[doc-indent-synopsis]u @@ -4832,7 +4886,10 @@ . if (\n[doc-arg-limit] >= \n[doc-arg-ptr]) \{\ . if (\n[doc-type\n[doc-arg-ptr]] == 2) \{\ . nr doc-reg-ddfa (\n[doc-arg-ptr] - 1) -. nop \|\f[\n[doc-curr-font]]\s[\n[doc-curr-size]u],\)\c +. nop \f[\n[doc-curr-font]]\s[\n[doc-curr-size]u]\|\c +. if !"\*[doc-arg\n[doc-arg-ptr]]"/*" \ +. if !"\*[doc-arg\n[doc-arg-ptr]]"*/" \ +. nop ,\)\c . nop \)\*[doc-space\n[doc-reg-ddfa]]\f[]\s[0]\|\c . doc-do-func-args . \}\} @@ -4916,7 +4973,7 @@ . . br . if !\n[doc-indent-synopsis] \ -. nr doc-indent-synopsis (8u * \n[doc-fixed-width]u) +. nr doc-indent-synopsis (4u * \n[doc-fixed-width]u) . \} . . \" start function box @@ -5109,11 +5166,14 @@ .\" NS doc-issue-count .\" NS doc-issue-name .\" NS doc-journal-count -.\" NS doc-journam-name +.\" NS doc-journal-name .\" NS doc-optional-count .\" NS doc-optional-string .\" NS doc-page-number-count .\" NS doc-page-number-string +.\" NS doc-publisher-count +.\" NS doc-publisher-name +.\" NS doc-reference-count .\" NS doc-reference-title-count .\" NS doc-reference-title-name .\" NS doc-reference-title-name-for-book @@ -5137,6 +5197,8 @@ . nr doc-date-count 0 . nr doc-page-number-count 0 . nr doc-book-count 0 +. nr doc-publisher-count 0 +. nr doc-reference-count 0 . . ds doc-journal-name . ds doc-issue-name @@ -5149,6 +5211,7 @@ . ds doc-date . ds doc-page-number-string . ds doc-book-name +. ds doc-publisher-name .. . . @@ -6132,19 +6195,19 @@ . .ds doc-str-Rv-std-prefix "The .ds doc-str-Rv-std-suffix "function returns the value\~0 if successful; -.as doc-str-Rv-std-suffix " otherwise the value\~-1 is returned and +.as doc-str-Rv-std-suffix " otherwise the value\~\-1 is returned and .as doc-str-Rv-std-suffix " the global variable \*[doc-Va-font]errno\f[] .as doc-str-Rv-std-suffix " is set to indicate the error. . .ds doc-str-Rv-stds-prefix "The .ds doc-str-Rv-stds-and "and .ds doc-str-Rv-stds-suffix "functions return the value\~0 if successful; -.as doc-str-Rv-stds-suffix " otherwise the value\~-1 is returned and +.as doc-str-Rv-stds-suffix " otherwise the value\~\-1 is returned and .as doc-str-Rv-stds-suffix " the global variable \*[doc-Va-font]errno\f[] .as doc-str-Rv-stds-suffix " is set to indicate the error. . .ds doc-str-Rv-std0 "Upon successful completion, the value\~0 is returned; -.as doc-str-Rv-std0 " otherwise the value\~-1 is returned and +.as doc-str-Rv-std0 " otherwise the value\~\-1 is returned and .as doc-str-Rv-std0 " the global variable \*[doc-Va-font]errno\f[] .as doc-str-Rv-std0 " is set to indicate the error. . diff -ruN groff-1.19/tmac/dvi.tmac groff-1.19.1/tmac/dvi.tmac --- groff-1.19/tmac/dvi.tmac Mon Feb 24 08:15:52 2003 +++ groff-1.19.1/tmac/dvi.tmac Mon Dec 22 07:58:22 2003 @@ -156,68 +156,76 @@ . hcode \\$1\\$4 .. . -.dvi-achar \[`A] \` A a -.dvi-achar \['A] \' A a -.dvi-achar \[^A] ^ A a -.dvi-achar \[~A] ~ A a -.dvi-achar \[:A] \[ad] A a -.dvi-achar \[oA] \[ao] A a -.dvi-achar \['C] \' C c -.dvi-achar \[`E] \` E e -.dvi-achar \['E] \' E e -.dvi-achar \[^E] ^ E e -.dvi-achar \[:E] \[ad] E e -.dvi-achar \[`I] \` I i -.dvi-achar \['I] \' I i -.dvi-achar \[^I] ^ I i -.dvi-achar \[:I] \[ad] I i -.dvi-achar \[~N] ~ N n -.dvi-achar \[`O] \` O o -.dvi-achar \['O] \' O o -.dvi-achar \[^O] ^ O o -.dvi-achar \[~O] ~ O o -.dvi-achar \[:O] \[ad] O o -.dvi-achar \[`U] \` U u -.dvi-achar \['U] \' U u -.dvi-achar \[^U] ^ U u -.dvi-achar \[:U] \[ad] U u -.dvi-achar \['Y] \' Y y -.dvi-achar \[:Y] \[ad] Y y -.dvi-achar \[`a] \` a a -.dvi-achar \['a] \' a a -.dvi-achar \[^a] ^ a a -.dvi-achar \[~a] ~ a a -.dvi-achar \[:a] \[ad] a a -.dvi-achar \[oa] \[ao] a a -.dvi-achar \['c] \' c c -.dvi-achar \[`e] \` e e -.dvi-achar \['e] \' e e -.dvi-achar \[^e] ^ e e -.dvi-achar \[:e] \[ad] e e -.dvi-achar \[`i] \` \[.i] i -.dvi-achar \['i] \' \[.i] i -.dvi-achar \[^i] ^ \[.i] i -.dvi-achar \[:i] \[ad] \[.i] i -.dvi-achar \[~n] ~ n n -.dvi-achar \[`o] \` o o -.dvi-achar \['o] \' o o -.dvi-achar \[^o] ^ o o -.dvi-achar \[~o] ~ o o -.dvi-achar \[:o] \[ad] o o -.dvi-achar \[`u] \` u u -.dvi-achar \['u] \' u u -.dvi-achar \[^u] ^ u u -.dvi-achar \[:u] \[ad] u u -.dvi-achar \['y] \' y y -.dvi-achar \[:y] \[ad] y y -.dvi-achar \[vs] \[ah] s s -.dvi-achar \[vS] \[ah] S s -.dvi-achar \[vz] \[ah] z z -.dvi-achar \[vZ] \[ah] Z z +.dvi-achar \[`A] \` A a +.dvi-achar \['A] \' A a +.dvi-achar \[^A] ^ A a +.dvi-achar \[~A] ~ A a +.dvi-achar \[:A] \[ad] A a +.dvi-achar \[oA] \[ao] A a +.dvi-achar \['C] \' C c +.dvi-achar \[`E] \` E e +.dvi-achar \['E] \' E e +.dvi-achar \[^E] ^ E e +.dvi-achar \[:E] \[ad] E e +.dvi-achar "\[G ab]" \[ab] G g +.dvi-achar \[`I] \` I i +.dvi-achar \['I] \' I i +.dvi-achar \[^I] ^ I i +.dvi-achar \[:I] \[ad] I i +.dvi-achar "\[I .]" \[a.] I i +.dvi-achar \[~N] ~ N n +.dvi-achar \[`O] \` O o +.dvi-achar \['O] \' O o +.dvi-achar \[^O] ^ O o +.dvi-achar \[~O] ~ O o +.dvi-achar \[:O] \[ad] O o +.dvi-achar \[`U] \` U u +.dvi-achar \['U] \' U u +.dvi-achar \[^U] ^ U u +.dvi-achar \[:U] \[ad] U u +.dvi-achar \['Y] \' Y y +.dvi-achar \[:Y] \[ad] Y y +.dvi-achar \[`a] \` a a +.dvi-achar \['a] \' a a +.dvi-achar \[^a] ^ a a +.dvi-achar \[~a] ~ a a +.dvi-achar \[:a] \[ad] a a +.dvi-achar \[oa] \[ao] a a +.dvi-achar \['c] \' c c +.dvi-achar \[`e] \` e e +.dvi-achar \['e] \' e e +.dvi-achar \[^e] ^ e e +.dvi-achar \[:e] \[ad] e e +.dvi-achar "\[g ab]" \[ab] g g +.dvi-achar \[`i] \` \[.i] i +.dvi-achar \['i] \' \[.i] i +.dvi-achar \[^i] ^ \[.i] i +.dvi-achar \[:i] \[ad] \[.i] i +.dvi-achar \[~n] ~ n n +.dvi-achar \[`o] \` o o +.dvi-achar \['o] \' o o +.dvi-achar \[^o] ^ o o +.dvi-achar \[~o] ~ o o +.dvi-achar \[:o] \[ad] o o +.dvi-achar \[`u] \` u u +.dvi-achar \['u] \' u u +.dvi-achar \[^u] ^ u u +.dvi-achar \[:u] \[ad] u u +.dvi-achar \['y] \' y y +.dvi-achar \[:y] \[ad] y y +.dvi-achar \[vs] \[ah] s s +.dvi-achar \[vS] \[ah] S s +.dvi-achar \[vz] \[ah] z z +.dvi-achar \[vZ] \[ah] Z z +. .fchar \[,C] \o'\[ac]C' .hcode \[,C]c .fchar \[,c] \o'\[ac]c' .hcode \[,c]c +.fchar \[S ,] \o'S\[ac]' +.hcode \[S ,]s +.fchar \[s ,] \o's\[ac]' +.hcode \[s ,]s . .\" now for color definitions .\" diff -ruN groff-1.19/tmac/e.tmac groff-1.19.1/tmac/e.tmac --- groff-1.19/tmac/e.tmac Sun Feb 17 18:05:56 2002 +++ groff-1.19.1/tmac/e.tmac Mon Jun 16 23:16:15 2003 @@ -55,12 +55,14 @@ .nr _S \\n(.s .nr _V \\n(.v .nr _F \\n(.f +.nr _J \\n(.j .do ds _A \\n[.fam] .nr _I \\n(.i .ev \\$1 .ps \\n(_S .vs \\n(_Vu .ft \\n(_F +.ad \\n(_J .do @fam \\*(_A 'in \\n(_Iu .xl \\n($lu @@ -69,6 +71,7 @@ .rr _V .rr _F .rr _I +.rr _J .ls 1 'ce 0 .. diff -ruN groff-1.19/tmac/groff_mdoc.man groff-1.19.1/tmac/groff_mdoc.man --- groff-1.19/tmac/groff_mdoc.man Thu Feb 27 16:43:28 2003 +++ groff-1.19.1/tmac/groff_mdoc.man Wed May 12 00:10:17 2004 @@ -46,7 +46,7 @@ .\" for an already extremely slow package. .\" . -.Dd February 27, 2003 +.Dd May 10, 2004 .Os .Dt GROFF_MDOC 7 . @@ -770,11 +770,13 @@ . \# we use `No' to avoid hyphenation .Bd -ragged -offset indent -.No alpha , amiga , arc , arm26 , arm32 , atari , bebox , cobalt , evbsh3 , -.No hp300 , hpcmips , i386 , luna68k , m68k , mac68k , macppc , mips , -.No mmeye , mvme68k , news68k , newsmips , next68k , ofppc , pc532 , pmax , -.No powerpc , prep , sgimips , sh3 , sparc , sparc64 , sun3 , tahoe , vax , -.No x68k +.No alpha , acorn26 , acorn32 , algor , amd64 , amiga , arc , arm26 , +.No arm32 , atari , bebox , cats , cesfic , cobalt , dreamcast , evbarm , +.No evbmips , evbppc , evbsh3 , hp300 , hp700 , hpcmips , i386 , luna68k , +.No m68k , mac68k , macppc , mips , mmeye , mvme68k , mvmeppc , netwinder , +.No news68k , newsmips , next68k , ofppc , pc532 , pmax , pmppc , powerpc , +.No prep , sandpoint , sgimips , sh3 , shark , sparc , sparc64 , sun3 , +.No tahoe , vax , x68k , x86_64 .Ed .Pp . @@ -786,7 +788,7 @@ the middle part of the manual page header strings are shown. Note how .Ql \e& -prevents the digit\~1 from being a valid numeric expression. +prevents the digit\~7 from being a valid numeric expression. . .Bd -ragged .Bl -tag -width ".Li .Dt\ FOO\ 2\ i386" -compact -offset indent @@ -862,11 +864,13 @@ 3, 4, 4.1, 4.2, 4.3, 4.3t, 4.3T, 4.3r, 4.3R, 4.4 .It NetBSD 0.8, 0.8a, 0.9, 0.9a, 1.0, 1.0a, 1.1, 1.2, 1.2a, 1.2b, 1.2c, 1.2d, 1.2e, -1.3, 1.3a, 1.4, 1.5, 1.6 +1.3, 1.3a, 1.4, 1.4.1, 1.4.2, 1.4.3, 1.5, 1.5.1, 1.5.2, 1.5.3, 1.6, 1.6.1, +1.6.2, 2.0, 2.1 .It FreeBSD 1.0, 1.1, 1.1.5, 1.1.5.1, 2.0, 2.0.5, 2.1, 2.1.5, 2.1.6, 2.1.7, 2.2, 2.2.1, 2.2.2, 2.2.5, 2.2.6, 2.2.7, 2.2.8, 3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 4.0, 4.1, -4.2, 4.3, 4.4, 4.5, 5.0 +4.1.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.6.2, 4.7, 4.8, 4.9, 4.10, 5.0, 5.1, 5.2, +5.2.1, 5.3 .El .Ed .Pp @@ -1108,6 +1112,15 @@ To remove the special meaning from a punctuation character escape it with .Ql \e& . .Pp +The following punctuation characters are recognized by +.Nm \-mdoc : +. +.Bl -column -offset indent-two XXXXXX XXXXXX XXXXXX XXXXXX +.It Li .\& Ta Li ,\& Ta Li :\& Ta Li ;\& Ta Li (\& +.It Li )\& Ta Li [\& Ta Li ]\& Ta Li ?\& Ta Li !\& +.El +.Pp +. .Xr Troff is limited as a macro language, and has difficulty when presented with a string containing a member of the mathematical, logical or quotation set: @@ -1398,15 +1411,25 @@ .Pp The .Ql .In -.Li ( #include -statement) -macro is the short form of the above example. +macro, while in the +.Sx SYNOPSIS +section, represents the +.Li #include +statement, and is the short form of the above example. It specifies the C\~header file as being included in a C\~program. -It also causes a line break, and is neither callable nor parsed. +It also causes a line break. +.Pp +While not in the +.Sx SYNOPSIS +section, it represents the header file enclosed in angle brackets. .Pp .Dl Usage: .In Ao header file Ac .Pp .Bl -tag -width ".Li .In\ stdio.h" -compact -offset 15n +.nr in-synopsis-section 1 +.It Li ".In stdio.h" +.In stdio.h +.nr in-synopsis-section 0 .It Li ".In stdio.h" .In stdio.h .El @@ -1638,10 +1661,14 @@ . .Pp .Bl -tag -width ".Li libossaudio" -compact -offset indent +.It Li libarm +.Lb libarm .It Li libarm32 .Lb libarm32 .It Li libc .Lb libc +.It Li libcdk +.Lb libcdk .It Li libcompat .Lb libcompat .It Li libcrypt @@ -1650,26 +1677,52 @@ .Lb libcurses .It Li libedit .Lb libedit +.It Li libedit +.Lb libedit +.It Li libevent +.Lb libevent +.It Li libform +.Lb libform .It Li libi386 .Lb libi386 +.It Li libintl +.Lb libintl .It Li libipsec .Lb libipsec .It Li libkvm .Lb libkvm .It Li libm .Lb libm +.It Li libm68k +.Lb libm68k +.It Li libmagic +.Lb libmagic .It Li libmenu .Lb libmenu .It Li libossaudio .Lb libossaudio +.It Li libpcap +.Lb libpcap +.It Li libpci +.Lb libpci +.It Li libpmc +.Lb libpmc .It Li libposix .Lb libposix +.It Li libpthread +.Lb libpthread .It Li libresolv .Lb libresolv +.It Li librt +.Lb librt .It Li libtermcap .Lb libtermcap +.It Li libusbhid +.Lb libusbhid .It Li libutil .Lb libutil +.It Li libx86_64 +.Lb libx86_64 .It Li libz .Lb libz .El @@ -1683,6 +1736,13 @@ then denotes the keyword to be used with the .Ql .Lb macro. +.Pp +In the +.Sx LIBRARY +section an +.Ql .Lb +command causes a line break before and after its arguments are printed. +.Pp . .Ss Literals . @@ -1871,6 +1931,8 @@ .St -ansiC-89 .It Li -isoC .St -isoC +.It Li -isoC-90 +.St -isoC-90 .It Li -isoC-99 .St -isoC-99 .El @@ -1900,6 +1962,8 @@ .St -p1003.1g-2000 .It Li -p1003.1i-95 .St -p1003.1i-95 +.It Li -p1003.1-2001 +.St -p1003.1-2001 .El .Pp . @@ -3925,14 +3989,15 @@ device like .Sq latin1 or -.Sq unicode +.Sq unicode , to make the manual more efficient for viewing on-line. This behaviour can be changed (e.g.\& to create a hardcopy of the .Tn TTY output) by setting the register .Ql cR to zero while calling -.Xr groff : +.Xr groff 1 , +resulting in multiple pages instead of a single, very long page: .Pp .Dl groff -Tlatin1 -rcR=0 -mdoc foo.man > foo.txt .Pp diff -ruN groff-1.19/tmac/groff_ms.man groff-1.19.1/tmac/groff_ms.man --- groff-1.19/tmac/groff_ms.man Sat Mar 9 07:29:26 2002 +++ groff-1.19.1/tmac/groff_ms.man Fri Jul 18 09:45:10 2003 @@ -1,6 +1,6 @@ '\" t .ig -Copyright (C) 1989-1995, 2001, 2002 Free Software Foundation, Inc. +Copyright (C) 1989-1995, 2001, 2002, 2003 Free Software Foundation, Inc. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice @@ -17,6 +17,10 @@ translations approved by the Free Software Foundation instead of in the original English. .. +. +.do nr groff_ms_C \n[.C] +.cp 0 +. .TH GROFF_MS @MAN7EXT@ "@MDATE@" "Groff Version @VERSION@" .SH NAME groff_ms \- groff ms macros @@ -197,9 +201,12 @@ afCW l l l . Reg. Definition Effective Default _ -FL Footnote length next footnote LL*5/6 +FL Footnote length next footnote \[rs]n[LL]*5/6 FI Footnote indent next footnote 2n FF Footnote format next footnote 0 +FPS Point size next footnote \[rs]n[PS]-2 +FVS Vert. spacing next footnote \[rs]n[FPS]+2 +FPD Para. spacing next footnote \[rs]n[PD]/2 _ .TE .RE @@ -539,6 +546,15 @@ Use the .B DE macro to end any display type. +The macros +.B Ds +and +.B De +are aliases for +.B DS +and +.BR DE , +respectively. .PP To .I keep @@ -1090,6 +1106,9 @@ .IR "et al" ; rewritten by Larry Kollar (\fIlkollar@despammed.com\fR). +. +.cp \n[groff_ms_C] +. .\" Local Variables: .\" mode: nroff .\" End: diff -ruN groff-1.19/tmac/groff_trace.man groff-1.19.1/tmac/groff_trace.man --- groff-1.19/tmac/groff_trace.man Sat Jul 13 22:52:47 2002 +++ groff-1.19.1/tmac/groff_trace.man Fri Jul 18 09:45:58 2003 @@ -36,6 +36,9 @@ .\" Setup .\" -------------------------------------------------------------------- . +.do nr groff_trace_C \n[.C] +.cp 0 +. .mso www.tmac . .if n \{\ @@ -540,6 +543,7 @@ .BR info (1) file. . +.cp \n[groff_trace_C] . .\" Local Variables: .\" mode: nroff diff -ruN groff-1.19/tmac/groff_www.man groff-1.19.1/tmac/groff_www.man --- groff-1.19/tmac/groff_www.man Mon Apr 15 12:21:16 2002 +++ groff-1.19.1/tmac/groff_www.man Fri Jul 18 09:46:38 2003 @@ -1,5 +1,5 @@ .TH GROFF_WWW @MAN7EXT@ "@MDATE@" "Groff Version @VERSION@" -.\" Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc. +.\" Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc. .\" Written by Gaius Mulley (gaius@glam.ac.uk) .\" .\" This file is part of groff. @@ -21,6 +21,9 @@ .\" user level guide to using the -mwww macroset .\" . +.do nr groff_www_C \n[.C] +.cp 0 +. .do mso www.tmac . .\" we need the .LK here as we use it in the middle as an example -- @@ -42,7 +45,7 @@ This manual page describes the GNU \-mwww macro package, which is part of the groff document formatting system. The manual page is very a basic guide, and the html device driver -.RB ( grohtml ) +.RB ( \%grohtml ) has been completely rewritten but still remains as in an alpha state. It has been included into the distribution so that a lot of people have a chance to test it. @@ -52,12 +55,13 @@ .BR \-Thtml . .PP To see the hyperlinks in action, please format this man page with the -.B grohtml +.B \%grohtml device. .PP Here is a summary of the functions found in this macro set. .ta 2iL .nf +\&.JOBNAME split output into multiple files \&.HX automatic heading level cut off; $1 point for sections/headers \&.BCL specify colours on a web page @@ -96,10 +100,18 @@ . .SH REQUESTS .TP +.B JOBNAME +Split output into multiple files. +Its argument is the file stem name for future output files. +This option is equivalent to +.BR \%grohtml 's +.B \-j +option. +.TP .B HX Specify the cut off depth when generating links from section headings. For example, a parameter of\~2 would cause -.B grohtml +.B \%grohtml to generate a list of links for .B .NH\ 1 and @@ -115,7 +127,7 @@ .RE .IP will tell -.B grohtml +.B \%grohtml that no heading links should be created at all. Another method for turning automatic headings off is by issuing the the command line switch @@ -313,7 +325,7 @@ .TP .B LK .TAG LK -Force grohtml to place the automatically generated links at this position. +Force \%grohtml to place the automatically generated links at this position. If this manual page has been processed with .B \-Thtml those links can be seen right here. @@ -323,7 +335,7 @@ . .SH SECTION HEADING LINKS By default -.B grohtml +.B \%grohtml generates links to all section headings and places these at the top of the html document. (See .URL #LK LINKS @@ -335,7 +347,7 @@ . .TP .B NHR -Suppress generation of the top and bottom rules which grohtml emits +Suppress generation of the top and bottom rules which \%grohtml emits by default. . .TP @@ -394,12 +406,12 @@ .SH "SEE ALSO" .BR groff (@MAN1EXT@), .BR @g@troff (@MAN1EXT@) -.BR grohtml (@MAN1EXT@), +.BR \%grohtml (@MAN1EXT@), .BR netpbm (1) . . .SH AUTHOR -.B grohtml +.B \%grohtml was written by .MTO gaius@glam.ac.uk "Gaius Mulley" . @@ -409,6 +421,8 @@ .MTO bug-groff@\:gnu.org "Groff Bug Mailing List" . Include a complete, self-contained example that will allow the bug to be reproduced, and say which version of groff you are using. +. +.cp \n[groff_www_C] . .\" Local Variables: .\" mode: nroff diff -ruN groff-1.19/tmac/latin5.tmac groff-1.19.1/tmac/latin5.tmac --- groff-1.19/tmac/latin5.tmac Thu Jan 1 01:00:00 1970 +++ groff-1.19.1/tmac/latin5.tmac Sat Dec 20 17:56:58 2003 @@ -0,0 +1,107 @@ +.\" latin5.tmac +.\" +.nr _C \n(.C +.cp 0 +.\" 0xA1 +.trin \[char161]\[r!] +.trin \[char162]\[ct] +.trin \[char163]\[Po] +.trin \[char164]\[Cs] +.trin \[char165]\[Ye] +.trin \[char166]\[bb] +.trin \[char167]\[sc] +.trin \[char168]\[ad] +.trin \[char169]\[co] +.trin \[char170]\[Of] +.trin \[char171]\[Fo] +.trin \[char172]\[tno] +.\" The soft-hyphen character is only an input character +.tr \[char173]\% +.trin \[char174]\[rg] +.trin \[char175]\[a-] +.\" 0xB0 +.trin \[char176]\[de] +.trin \[char177]\[t+-] +.trin \[char178]\[S2] +.trin \[char179]\[S3] +.trin \[char180]\[aa] +.trin \[char181]\[mc] +.trin \[char182]\[ps] +.trin \[char183]\[pc] +.trin \[char184]\[ac] +.trin \[char185]\[S1] +.trin \[char186]\[Om] +.trin \[char187]\[Fc] +.trin \[char188]\[14] +.trin \[char189]\[12] +.trin \[char190]\[34] +.trin \[char191]\[r?] +.\" 0xC0 +.trin \[char192]\[`A] +.trin \[char193]\['A] +.trin \[char194]\[^A] +.trin \[char195]\[~A] +.trin \[char196]\[:A] +.trin \[char197]\[oA] +.trin \[char198]\[AE] +.trin \[char199]\[,C] +.trin \[char200]\[`E] +.trin \[char201]\['E] +.trin \[char202]\[^E] +.trin \[char203]\[:E] +.trin \[char204]\[`I] +.trin \[char205]\['I] +.trin \[char206]\[^I] +.trin \[char207]\[:I] +.\" 0xD0 +.trin \[char208]\[G ab] +.trin \[char209]\[~N] +.trin \[char210]\[`O] +.trin \[char211]\['O] +.trin \[char212]\[^O] +.trin \[char213]\[~O] +.trin \[char214]\[:O] +.trin \[char215]\[tmu] +.trin \[char216]\[/O] +.trin \[char217]\[`U] +.trin \[char218]\['U] +.trin \[char219]\[^U] +.trin \[char220]\[:U] +.trin \[char221]\[I .] +.trin \[char222]\[S ,] +.trin \[char223]\[ss] +.\" 0xE0 +.trin \[char224]\[`a] +.trin \[char225]\['a] +.trin \[char226]\[^a] +.trin \[char227]\[~a] +.trin \[char228]\[:a] +.trin \[char229]\[oa] +.trin \[char230]\[ae] +.trin \[char231]\[,c] +.trin \[char232]\[`e] +.trin \[char233]\['e] +.trin \[char234]\[^e] +.trin \[char235]\[:e] +.trin \[char236]\[`i] +.trin \[char237]\['i] +.trin \[char238]\[^i] +.trin \[char239]\[:i] +.\" 0xF0 +.trin \[char240]\[g ab] +.trin \[char241]\[~n] +.trin \[char242]\[`o] +.trin \[char243]\['o] +.trin \[char244]\[^o] +.trin \[char245]\[~o] +.trin \[char246]\[:o] +.trin \[char247]\[tdi] +.trin \[char248]\[/o] +.trin \[char249]\[`u] +.trin \[char250]\['u] +.trin \[char251]\[^u] +.trin \[char252]\[:u] +.trin \[char253]\[.i] +.trin \[char254]\[s ,] +.trin \[char255]\[:y] +.cp \n[_C] diff -ruN groff-1.19/tmac/lbp.tmac groff-1.19.1/tmac/lbp.tmac --- groff-1.19/tmac/lbp.tmac Sun Mar 9 06:16:32 2003 +++ groff-1.19.1/tmac/lbp.tmac Mon Dec 22 08:04:47 2003 @@ -57,29 +57,37 @@ . hcode \\$1\\$4 .. . -.lbp-achar \['A] \' A a -.lbp-achar \['C] \' C c -.lbp-achar \['c] \' c c -.lbp-achar \['I] \' I i -.lbp-achar \['O] \' O o -.lbp-achar \['U] \' U u -.lbp-achar \['Y] \' Y y -.lbp-achar \['y] \' y y -.lbp-achar \[:E] \[ad] E e -.lbp-achar \[:I] \[ad] I i -.lbp-achar \[:Y] \[ad] Y y -.lbp-achar \[^A] ^ A a -.lbp-achar \[^E] ^ E e -.lbp-achar \[^I] ^ I i -.lbp-achar \[^O] ^ O o -.lbp-achar \[^U] ^ U u -.lbp-achar \[`A] \` A a -.lbp-achar \[`E] \` E e -.lbp-achar \[`I] \` I i -.lbp-achar \[`O] \` O o -.lbp-achar \[`U] \` U u -.lbp-achar \[~O] ~ O o -.lbp-achar \[~o] ~ o o +.lbp-achar \['A] \' A a +.lbp-achar \[`A] \` A a +.lbp-achar \[^A] ^ A a +.lbp-achar \['C] \' C c +.lbp-achar \['c] \' c c +.lbp-achar \[`E] \` E e +.lbp-achar \[:E] \[ad] E e +.lbp-achar \[^E] ^ E e +.lbp-achar "\[G ab]" \[ab] G g +.lbp-achar "\[g ab]" \[ab] g g +.lbp-achar \['I] \' I i +.lbp-achar \[`I] \` I i +.lbp-achar \[:I] \[ad] I i +.lbp-achar \[^I] ^ I i +.lbp-achar "\[I .]" \[a.] I i +.lbp-achar \['O] \' O o +.lbp-achar \[`O] \` O o +.lbp-achar \[^O] ^ O o +.lbp-achar \[~O] ~ O o +.lbp-achar \[~o] ~ o o +.lbp-achar \['U] \' U u +.lbp-achar \[`U] \` U u +.lbp-achar \[^U] ^ U u +.lbp-achar \['Y] \' Y y +.lbp-achar \['y] \' y y +.lbp-achar \[:Y] \[ad] Y y +. +.fchar \[S ,] \o'S\[ac]' +.hcode \[S ,]s +.fchar \[s ,] \o's\[ac]' +.hcode \[s ,]s . .cp \n(_C . diff -ruN groff-1.19/tmac/ps.tmac groff-1.19.1/tmac/ps.tmac --- groff-1.19/tmac/ps.tmac Sun Mar 9 06:10:53 2003 +++ groff-1.19.1/tmac/ps.tmac Mon Dec 22 08:01:26 2003 @@ -80,8 +80,16 @@ . hcode \\$1\\$4 .. . -.ps-achar \['C] \' C c -.ps-achar \['c] \' c c +.ps-achar \['C] \' C c +.ps-achar \['c] \' c c +.ps-achar "\[G ab]" \[ab] G g +.ps-achar "\[g ab]" \[ab] g g +.ps-achar "\[I .]" \[a.] I i +. +.fchar \[S ,] \o'S\[ac]' +.hcode \[S ,]s +.fchar \[s ,] \o's\[ac]' +.hcode \[s ,]s . .de ps-frac . schar \[\\$1\\$2] \ diff -ruN groff-1.19/tmac/s.tmac groff-1.19.1/tmac/s.tmac --- groff-1.19/tmac/s.tmac Fri Jul 19 09:18:22 2002 +++ groff-1.19.1/tmac/s.tmac Fri Apr 16 06:34:21 2004 @@ -3,7 +3,7 @@ s.tmac -Copyright (C) 1989, 1990, 1991, 1992, 2001, 2002 +Copyright (C) 1989, 1990, 1991, 1992, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) @@ -50,7 +50,7 @@ .de @nop .. .de @init -.nr PO \\n(.o +.if !rPO .nr PO \\n(.o .\" a non-empty environment .ev ne \c @@ -160,6 +160,7 @@ .de RP .nr cov*rp-format 1 .if \\n[.$] .if '\\$1'no' .nr cov*rp-no 1 +.if rPO .po \\n(POu .pn 0 .. .de TL @@ -872,6 +873,7 @@ .ds*end!\\n[\\n[.ev]:ds-type] .nr \\n[.ev]:ds-type 0 .. +.als De DE .de ds@auto-end .if \\n[\\n[.ev]:ds-type] \{\ . @error automatically terminating display @@ -949,6 +951,7 @@ . nr \\n[.ev]:ds-type 3 .\} .. +.als Ds DS .de ds@need .if '\\n(.z'' \{\ . while \\n[.t]<=(\\$1)&(\\n[nl]>\\n[pg@header-bottom]) \{\ @@ -1320,13 +1323,16 @@ .\} .el \!.par*box-draw \\$1 \\$2 .. -.de @SH +.de SH-NO-TAG .par@finish .\" Keep together the heading and the first two lines of the next paragraph. .ne 3v+\\n[\\n[.ev]:PD]u+\\n(.Vu .sp 1 .ft B -.HTML-TAG ".SH 1" +.. +.de @SH +. SH-NO-TAG +. HTML-TAG ".SH 1" .. .\" TL, AU, and AI are aliased to these in cov*ab-init. .de par@TL @@ -1449,7 +1455,6 @@ .nr nh*hl 0 .\" numbered heading .de @NH -.HTML-TAG ".NH \\$1" .ie '\\$1'S' \{\ . shift . nr nh*hl 0 @@ -1490,7 +1495,8 @@ . nr nh*i +1 . as SN \\n[H\\n[nh*i]]. .\} -.SH +.SH-NO-TAG +.HTML-TAG ".NH \\$1" \\*[SN] .. .\" **************************** @@ -1528,7 +1534,7 @@ . ev . di .\} -.el .@error XS without XE +.el .@error XE without XS .. .de toc*end-entry \\a\\t\\*[toc*num] diff -ruN groff-1.19/tmac/trace.tmac groff-1.19.1/tmac/trace.tmac --- groff-1.19/tmac/trace.tmac Wed Aug 7 04:47:45 2002 +++ groff-1.19.1/tmac/trace.tmac Thu Jul 24 09:48:38 2003 @@ -10,6 +10,7 @@ .eo . .rn de !!de +.rn de1 !!de1 . . .!!de de @@ -17,12 +18,12 @@ . ec . do !!de \$1 . ie "\$1"\\$0" .do tm1 "\\*[!!sp]*** de trace enter: \\$0 \\$@ -. el .do tm1 "\*[!!sp]*** trace enter \$1: \\$0 \\$@ +. el .do tm1 "\\*[!!sp]*** de trace enter \$1: \\$0 \\$@ . do as !!sp " \" . do nop \\*[!!\$1]\\ . do substring !!sp 1 . ie "\$1"\\$0" .do tm1 "\\*[!!sp]*** trace exit: \\$0 \\$@ -. el .do tm1 "\*[!!sp]*** trace exit \$1: \\$0 \\$@ +. el .do tm1 "\\*[!!sp]*** trace exit \$1: \\$0 \\$@ \.. . . do ds !!d1 !!\$1 @@ -32,19 +33,40 @@ . do dei !!d1 !!d2 .. . +.!!de de1 +. do ecs +. ec +. do !!de \$1 +. ie "\$1"\\$0" .do tm1 "\\*[!!sp]*** de1 trace enter: \\$0 \\$@ +. el .do tm1 "\\*[!!sp]*** de1 trace enter \$1: \\$0 \\$@ +. do as !!sp " \" +. do nop \\*[!!\$1]\\ +. do substring !!sp 1 +. ie "\$1"\\$0" .do tm1 "\\*[!!sp]*** trace exit: \\$0 \\$@ +. el .do tm1 "\\*[!!sp]*** trace exit \$1: \\$0 \\$@ +\.. +. +. do ds !!d1 !!\$1 +. do ds !!d2 \$2 +. +. do ecr +. do dei1 !!d1 !!d2 +.. +. .rn am !!am +.rn am1 !!am1 . -.!!am am +.!!de am . do ecs . ec . do !!am \$1 . ie "\$1"\\$0" .do tm1 "\\*[!!sp]*** am trace enter: \\$0 \\$@ -. el .do tm1 "\*[!!sp]*** am trace enter \$1: \\$0 \\$@ +. el .do tm1 "\\*[!!sp]*** am trace enter \$1: \\$0 \\$@ . as !!sp " \" . do nop \\*[!!\$1]\\ -. substring !!sp 1 +. do substring !!sp 1 . ie "\$1"\\$0" .do tm1 "\\*[!!sp]*** trace exit: \\$0 \\$@ -. el .do tm1 "\*[!!sp]*** trace exit \$1: \\$0 \\$@ +. el .do tm1 "\\*[!!sp]*** trace exit \$1: \\$0 \\$@ \.. . . do ds !!a1 !!\$1 @@ -52,6 +74,34 @@ . . do ecr . do ami !!a1 !!a2 +.. +. +.!!de am1 +. do ecs +. ec +. do !!am \$1 +. ie "\$1"\\$0" .do tm1 "\\*[!!sp]*** am1 trace enter: \\$0 \\$@ +. el .do tm1 "\\*[!!sp]*** am1 trace enter \$1: \\$0 \\$@ +. as !!sp " \" +. do nop \\*[!!\$1]\\ +. do substring !!sp 1 +. ie "\$1"\\$0" .do tm1 "\\*[!!sp]*** trace exit: \\$0 \\$@ +. el .do tm1 "\\*[!!sp]*** trace exit \$1: \\$0 \\$@ +\.. +. +. do ds !!a1 !!\$1 +. do ds !!a2 \$2 +. +. do ecr +. do ami1 !!a1 !!a2 +.. +. +.rn return !!return +. +.!!de1 return +. substring !!sp 1 +. tm1 "\*[!!sp]*** return +. !!return twice .. . .ec diff -ruN groff-1.19/tmac/troffrc groff-1.19.1/tmac/troffrc --- groff-1.19/tmac/troffrc Tue Apr 8 19:26:42 2003 +++ groff-1.19.1/tmac/troffrc Sun Dec 21 23:39:57 2003 @@ -3,6 +3,9 @@ .\" This is tested by pic. .nr 0p 0 . +.\" Load composite mappings. +.do mso composite.tmac +. .\" Use .do here, so that it works with -C. .\" The groff command defines the .X string if the -X option was given. .ie r.X .do ds troffrc!ps Xps.tmac @@ -36,9 +39,6 @@ .\" Load hyphenation patterns and exceptions. .do hpf hyphen.us .do hpfa hyphenex.us -. -.\" Load composite mappings. -.do mso composite.tmac . .\" Handle paper formats .do mso papersize.tmac diff -ruN groff-1.19/tmac/tty-char.tmac groff-1.19.1/tmac/tty-char.tmac --- groff-1.19/tmac/tty-char.tmac Wed Feb 19 08:32:03 2003 +++ groff-1.19.1/tmac/tty-char.tmac Sun Dec 21 23:39:02 2003 @@ -135,7 +135,13 @@ .tty-char \[rf] _| .tty-char \[lc] |~ .tty-char \[rc] ~| -.\" Latin-1 characters +.tty-char \[lb] `- +.tty-char \[rb] -' +.tty-char \[lk] { +.tty-char \[rk] } +.tty-char \[lt] ,- +.tty-char \[rt] -. +.\" Latin characters .tty-char \[r!] \z,i .tty-char \[Po] \z-L .tty-char \[Cs] \zox @@ -162,6 +168,7 @@ .tty-char \[:A] \z"A .tty-char \[oA] \zoA .tty-char \[,C] \z,C +.tty-char "\[S ,]" \z,S .tty-char \[`E] \z`E .tty-char \['E] \z'E .tty-char \[^E] \z^E @@ -191,6 +198,7 @@ .tty-char \[:a] \z"a .tty-char \[oa] \zoa .tty-char \[,c] \z,c +.tty-char "\[s ,]" \z,s .tty-char \[`e] \z`e .tty-char \['e] \z'e .tty-char \[^e] \z^e @@ -214,6 +222,10 @@ .tty-char \['y] \z'y .tty-char \[Tp] \zpb .tty-char \[:y] \z"y +.\" for Turkish +.tty-char "\[G ab]" G +.tty-char "\[g ab]" g +.tty-char "\[I .]" I .\"tty-char \[:y] \ij .tty-char \[arrowvertex] | .tty-char \[mc] \z,u diff -ruN groff-1.19/tmac/www.tmac groff-1.19.1/tmac/www.tmac --- groff-1.19/tmac/www.tmac Tue Apr 29 15:17:15 2003 +++ groff-1.19.1/tmac/www.tmac Wed Jan 14 14:47:49 2004 @@ -10,7 +10,7 @@ This file is part of groff, the GNU roff type-setting system. -Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. +Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc. written by Gaius Mulley , with additions by Werner Lemberg and Bernd Warken . @@ -191,7 +191,7 @@ .\" Arguments: >=2: [...] .\" .de www:url_breaks_splitted -. nr \\$0:min 5 \" minimal number of characters for next line +. nr \\$0:min 5 \" minimal number of characters for next line . if (\\n[.$] < 2) \ . www:error .\\$0 expects at least 2 arguments. . ds \\$0:res \\$1\" @@ -465,13 +465,14 @@ .nr www-right-ll-trap 0 . .de www-finish-left-po -. po -\\n[www-left-indent]u +. po -(\\n[www-left-indent]u + \\n[www-image-gap]u) . wh \\n[www-left-po-trap]u . nr www-left-indent 0 .. . +.\" called when the -R picture is finished .de www-finish-right-ll -. ll +\\n[www-right-indent]u +. ll +(\\n[www-right-indent]u + \\n[www-image-gap]u) . \" now see whether we need to inline www-finish-left-ll . if (\\n[www-left-ll-trap]u > 0) \ . if ((\\n[www-right-ll-trap]u + 1v) >= \\n[www-left-ll-trap]u) \{\ @@ -502,51 +503,81 @@ . mk www-left-po-trap . nr www-left-po-trap +1v . wh \\n[www-left-po-trap]u www-finish-left-po -. ll +\\n[www-left-indent]u +. ll +(\\n[www-left-indent]u + \\n[www-image-gap]u) . wh \\n[www-left-ll-trap]u . nr www-left-ll-trap 0 .. .\" -------------------------------------------------------------------- -.\" MPIMG [-R|-L] filename [width] [height] +.\" MPIMG [-R|-L] [-G gap] filename [width [height]] .\" .\" Include a png image and wrap text around it. It will work for .\" -Tps and -Thtml. The default value for WIDTH is 1i; default value .\" for HEIGHT is WIDTH; the default alignment is left (-L). +.\" -G is used to insert a gap between the text and the image. .\" .\" Note: This macro can only be used with the `-U' option of groff, .\" activating unsafe mode, if not used with -Thtml; the PNG image .\" is then converted to the EPS format using netpbm utilities. .\" +. +.nr www-htmlimage-gap 0 +. .de MPIMG +. nr www-image-just 1 +. nr www-image-gap 0 +. while (\\n[.$] > 0) \{\ +. if '-L'\\$1' \{\ +. nr www-image-just 1 +. shift +. continue +. \} +. if '-R'\\$1' \{\ +. nr www-image-just 0 +. shift +. continue +. \} +. if '-G'\\$1' \{\ +. nr www-image-gap \\$2 +. nr www-htmlimage-gap (\\$2 * 100 / 240) +. shift 2 +. continue +. \} +. break +. \} . nr www-width 1i -. if !'\\$3'' \ -. nr www-width \\$3 +. if !'\\$2'' \ +. nr www-width \\$2 . nr www-height \\n[www-width] -. if !'\\$4'' \ -. nr www-height \\$4 +. if !'\\$3'' \ +. nr www-height \\$3 . nr www-width (\\n[www-width] * 100 / 240) . nr www-height (\\n[www-height] * 100 / 240) +. . ie \\n[www-html] \{\ -. ie '\\$1'-R' \ -. HTML +. ie !\\n[www-image-just] \ +. HTML . el \ -. HTML +. HTML . \} . el \{\ . if !r ps4html \{\ . www-make-unique-name -. sy pngtopnm \\$2 | pnmcrop -white | @PNMTOPS_NOSETPAGE@ -noturn > \\*[www-unique-name].eps -. ie '\\$1'-R' \{\ +. sy pngtopnm \\$1 | pnmcrop -white | @PNMTOPS_NOSETPAGE@ -noturn > \\*[www-unique-name].eps +. ie !\\n[www-image-just] \{\ . \" we must now disable a possible left image trap . sp -1 . if (\\n[www-left-ll-trap] > 0) \ . wh \\n[www-left-ll-trap]u . if (\\n[www-left-po-trap] > 0) \ . wh \\n[www-left-po-trap]u -. PSPIC -R \\*[www-unique-name].eps \\$3 \\$4 +. PSPIC -R \\*[www-unique-name].eps \\$2 \\$3 . sp -\\n[ps-desht]u . nr www-right-indent \\n[ps-deswid]u -. ll -\\n[www-right-indent]u +. \" we want to have some space between text and image, +. \" so the line length must be shorter +. ll -(\\n[www-right-indent]u + \\n[www-image-gap]u) . mk www-right-ll-trap . nr www-right-ll-trap +(\\n[ps-desht]u - 1v) . wh \\n[www-right-ll-trap]u www-finish-right-ll @@ -560,11 +591,13 @@ . \" we must now disable a possible right image trap . if (\\n[www-right-ll-trap] > 0) \ . wh \\n[www-right-ll-trap]u -. PSPIC -L \\*[www-unique-name].eps \\$3 \\$4 +. PSPIC -L \\*[www-unique-name].eps \\$2 \\$3 . sp -\\n[ps-desht]u . nr www-left-indent \\n[ps-deswid]u -. po +\\n[www-left-indent]u -. ll -\\n[www-left-indent]u +. \" increase offset by gap +. po +(\\n[www-left-indent]u + \\n[www-image-gap]u) +. \" decrease line length by gap +. ll -(\\n[www-left-indent]u + \\n[www-image-gap]u) . mk www-left-ll-trap . nr www-left-ll-trap +(\\n[ps-desht]u - 1v) . wh \\n[www-left-ll-trap]u www-finish-left-ll @@ -763,11 +796,15 @@ . bp . \} . el \{\ -. nr dummy \w'\\$1'u -. nr dcht ((\\n[.v] + \\n[rst]) * \\n[.ps] / \\n[rst]) -. char \[dcap] \m[\\*[www-dropcolor]]\s'\\n[dcht]u'\\$1 -. nop \v'\\n[.v]u'\\[dcap]\v'-\\n[.v]u'\c -' ti \w'\\[dcap]'u +. ie n \ +. nop \\$1\c +. el \{\ +. nr dummy \w'\\$1'u +. nr dcht ((\\n[.v] + \\n[rst]) * \\n[.ps] / \\n[rst]) +. char \[dcap] \m[\\*[www-dropcolor]]\s'\\n[dcht]u'\\$1 +. nop \v'\\n[.v]u'\\[dcap]\v'-\\n[.v]u'\c +' ti \w'\\[dcap]'u +. \} . \} . \} . nop \\$2 @@ -842,6 +879,16 @@ . HTML-DO-IMAGE \\*[www-unique-name] i .. . +.\" -------------------------------------------------------------------- +.\" JOBNAME +.\" +.\" Generate multiple output files containing the html. +.\" A file is split whenever a .SH or .NH 1 is encountered. +.\" The argument to JOBNAME is the file stem for future output files. +.\" +.de JOBNAME +. HTML-TAG .job-name \\$1 +.. .\" -------------------------------------------------------------------- .\" Final Setup .\" --------------------------------------------------------------------