summaryrefslogtreecommitdiff
path: root/man
Commit message (Collapse)AuthorAgeFilesLines
* * tmac/s.tmac (pg@top): Don't save PO register.wlemb2004-07-281-3/+36
| | | | | | | | | | | (pg*end-col, pg*end-page): Directly use PO register. * man/groff_tmac.man: Mention `trace' and `pic' macro packages. * src/preproc/refer/refer.cpp (output_references): Check for empty hash table. * src/preproc/refer/refer.man: Improve documentation of `bibliography' command.
* Add requests `fcolor' and `gcolor'.wlemb2004-07-272-2/+34
| | | | | | | | | | | * src/roff/troff/env.cpp (fill_color_change, glyph_color_change): New functions. (init_env_requests): Add `fcolor' and `gcolor'. * src/roff/troff/input.h: Export do_glyph_color and do_fill_color. * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo: Document new requests.
* * tmac/an-old.tmac (RI): Always start with font `R'.wlemb2004-07-033-19/+27
| | | | | | | | | | (RI, IR): Properly end with font `R'. * man/ditroff.man, man/groff_font.man, man/groff_out.man, src/devices/grohtml/grohtml.man, src/preproc/grn/grn.man, src/preproc/pic/pic.man, tmac/groff_man.man, tmac/groff_ms.man: Don't pass more than six arguments to .R, .I, .B, etc., for compatibility with traditional troff macros.
* * src/roff/troff/input.h: s/COMPATIBLE_SAVE/PUSH_GROFF_MODE/.wlemb2004-07-031-1/+19
| | | | | | | | | | | | | | | | | | | | | s/COMPATIBLE_RESTORE/POP_GROFFCOMP_MODE/. Update all users. (PUSH_COMP_MODE): New internal character constant. Update all users. * src/roff/troff/input.cpp (get_copy): Handle PUSH_GROFF_MODE, PUSH_COMP_MODE, and POP_GROFFCOMP_MODE. (token::next, macro::append): Handle PUSH_COMP_MODE. (decode_args): Add PUSH_GROFF_MODE or PUSH_COMP_MODE before and POP_GROFFCOMP after each of the decoded arguments to make them independent from the compatibility mode status. (comp_mode): Add `COMP_ENABLE'. (do_define_string, do_define_macro): Handle COMP_ENABLE. (define_string, append_string, define_macro, define_indirect_macro, append_macro, append_indirect_macro): Handle `compatible_flag'. (chop_macro, substring_request, asciify): Handle PUSH_COMP_MODE. * man/groff_diff.man, doc/groff.texinfo: Updated.
* Implement two new conditional operators `F <name>' and `S <name>'wlemb2004-06-302-10/+40
| | | | | | | | | | | | | | | | | | | | | | | which check whether <name> is a valid font or style, respectively. * src/libs/libgroff/font.cpp (text_file): Add `silent' member. (text_file::text_file): Updated. (text_file::error): Don't emit message if `silent' is set. (font::load_font): Add optional third argument (which is directly passed to `load'. (font::load): Add optional second argument to check the header of a font only, without emitting warning or error messages. * src/include/font.h (font): Updated. * src/roff/troff/input.cpp (do_if_request): Implement `S' and `F' conditionals. * src/roff/troff/node.cpp (mount_font_no_translate): Add optional fourth argument to check a font without mounting. (check_font, check_style): New functions. * src/roff/troff/node.h: Updated. * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo: Updated.
* Implement new string-valued register `.sty' to return the currentwlemb2004-06-292-12/+21
| | | | | | | | | | | | | | style name. * env.cpp (environment::get_style_name_string): New function. (init_env_requests): Add `.sty' register. * env.h (environment): Updated. * node.cpp (font_info): Make `get_style_name' a friend. (get_style_name): New function. * node.h: Updated. * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo: Updated.
* * aclocal.m4 (GROFF_X11): s/have_no_x/groff_no_x/.wlemb2004-06-032-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add X11 stuff to CFLAGS, LDFLAGS, and LIBS temporarily. Add test for Xmu library. (GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK, GROFF_APPRESDIR_DEFAULT): New macros. * configure.ac: Call GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK, and GROFF_APPRESDIR_DEFAULT. * configure: Regenerated. * Makefile.in (appresdir): New variable. (MDEFINES): Add appresdir. * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Add -Xmu and -Xt. (install_data, uninstall_sub): New targets to handle GXditview.ad. * src/utils/indxbib/Makefiles.ub (install_data): Depend on `$(srcdir)/eign', not `eign'. * MANIFEST, INSTALL, NEWS, PROBLEMS: Updated. * man/groff_out.man, man/roff.man, src/devices/grops/grops.man, src/devices/xditview/gxditview.man, src/roff/groff/groff.man: Protect (g)xditview with `\%' to avoid hyphenation. Other minor formatting.
* * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:wlemb2004-05-062-5/+14
| | | | | | | | | | | | | Document `.U' register. * src/roff/troff/env.cpp (environment::mark_last_line) [WIDOW_CONTROL]: Fix scope of `p' for new C++ compilers. 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.
* * font/devlj4/generate/special.awk: New script.wlemb2004-02-181-2/+2
| | | | | | | | * 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.
* * src/libs/libgroff/progname.cpp: Replaced with...wlemb2004-01-261-4/+4
| | | | | * src/libs/libgroff/progname.c: New file. * src/libs/libgroff/Makefile.sub: Updated accordingly.
* Implement string-valued registers \n[.m] and \n[.M] to return thewlemb2004-01-072-6/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Add forgotten `coproduct' symbol (already available for DVI).wlemb2003-12-281-1/+2
| | | | | | | * 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]).
* * LICENSE: Better wording.wlemb2003-12-111-2/+2
|
* * src/roff/groff/groff.cpp (help), src/devices/grops/ps.cpp (usage),wlemb2003-10-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | src/roff/troff/input.cc (usage): Updated. * NEWS, doc/groff.texinfo: Updated. * 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.
* Add requests `dei1' and `ami1' for completeness.wlemb2003-07-242-45/+77
| | | | | | | | | | | | | | | | | | | | | | | * 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.
* * *.man: Switch to non-compatibility mode temporarily if GNUwlemb2003-07-187-11/+43
| | | | | | syntax extensions are used in the particular man page. * PROBLEMS: Add solutions for SGR problems.
* * src/preproc/pic/pic.y <sprintf_args>: Implement workaround for bugwlemb2003-06-061-5/+5
| | | | in Compaq C++ V6.5-033 for Compaq Tru64 UNIX V5.1A (Rev. 1885).
* * tmac/doc.tmac (doc-tag-list): Don't use \Z to assure that spaceswlemb2003-05-182-2/+9
| | | | | | | | | | | | | | | | | aren't stretched in a tag (this can fail with unformatted boxes). Instead, insert a break and go back one line. * 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. * tmac/groff_ms.man, doc/groff.texinfo: Improve documentation of registers `FPS', `FVS', and `FPD'.
* Renamed all `*.cc' files to `*.cpp'.wlemb2003-04-151-2/+2
| | | | Updated all configuration files, makefiles, and documentation.
* * doc/groff.texinfo, man/groff_out.man: \S only accepts integerwlemb2003-04-121-2/+2
| | | | values.
* Add register \n[.height] which returns the value of \H.wlemb2003-04-103-4/+31
| | | | | | | | | | | | | | | | | | | | Add register \n[.slant] which returns the value of \S. * src/roff/troff/env.cc (init_env_requests): Implement. * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo: Document. * tmac/html.tmac: Move some of the data into html-end.tmac. Remove most of the character translations for eqn since html fonts now cover those characters. Load www.tmac. * tmac/html-end.tmac: New file. * tmac/troffrc: Load html.tmac not www.tmac for -Thtml. * tmac/troffrc-end: Load html-end.tmac not html.tmac for -Thtml. * tmac/Makefile.sub (NORMALFILES): Add html-end.tmac. * man/groff_out.man: Document negative values of `N' if -Thtml is used.
* Make groff independent from locale's numeric settings.wlemb2003-04-031-6/+3
| | | | | | | | | | | | | | | | | * configure.ac: Check for `setlocale'. * configure, src/include/config.hin: Regenerated. * src/include/lib.h: Handle HAVE_SETLOCALE. * src/devices/grodvi/dvi.cc (main), src/devices/grolj4/lj4.cc (main), src/devices/grops/ps.cc (main), src/preproc/grn/main.cc (main), src/preproc/pic/main.cc (main): Call `setlocale'. * doc/groff.texinfo (Man font macros): Mention that there is no space between arguments of .BI and friends. * man/roff.man: Small fixes.
* Add options -p and -l to grodvi.wlemb2003-03-142-13/+78
| | | | | | | | | | | | | | | | | | | | * src/devices/grodvi/dvi.cc: Include paper.h. (landscape_flag, user_paper_length, user_paper_width): New global variables. (dvi_printer::begin_page): Emit `papersize' special. Set color after initialization of `cur_h' and `cur_v'. (main): Add options `-l' and `-p'. * font/devdvi/Makefile.sub (DESC): Set `papersize'. * src/devices/grodvi/grodvi.man, NEWS: Updated. * src/devices/grops/psrm.cc (valid_input_table): Fixed. * src/devices/grops/grops.man: Move documentation of .PSPIC to... * man/groff_tmac.man: This man page. * man/groff_font.man: Declare `paperwidth' and `paperlength' as deprecated. * tmac/X.tmac: Don't load pspic.tmac.
* Make variable `pr' local to libdriver/input.cc. Based on a patchwlemb2003-03-121-5/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | by Bernd Warken <bwarken@mayn.de>. * src/include/driver.h (pr): Removed. * src/libs/libdriver/input.cc (pr): New global variable. (do_file): Deallocate `pr'. * src/libs/libdriver/printer.cc (pr): Removed. * src/devices/grodvi/dvi.cc (main), src/devices/grohtml/post-html.cc (main), src/devices/grolbp/lbp.cc (main), src/devices/grolj4/lj4.cc (main), src/devices/grops/ps.cc (main), src/devices/grotty/tty.cc (main): Don't delete `pr'. * tmac/a4.tmac, tmac/composite.tmac: Use `.do'. * tmac/papersize.tmac: New file. * tmac/troffrc: Include `papersize.tmac'. * tmac/Makefile.sub (NORMALFILES): Add `papersize.tmac'. * tmac/an-old.tmac: Set LT to LL by default. * NEWS, MANIFEST, tmac/groff_man.man, man/groff_tmac.man, doc/groff.texinfo: Updated. * src/libs/libgroff/paper.cc (add_iso_paper): Fix very embarassing bug which caused all odd iso papers to have wrong dimensions. * src/devices/grops/ps.cc (user_paper_width): New global variable. (main) <'p'>: Set `user_paper_width' also. (ps_printer::media_width, ps_printer::media_height): Use values given with option `-p'.
* Document composite glyphs and the `composite' request.wlemb2003-03-022-5/+41
| | | | * man/groff.man, man/groff_diff.man, doc/groff.texinfo: Do it.
* Contrary to the PCL5 Developer's Guide, the ascenders in TFM fileswlemb2003-02-251-88/+138
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | can be negative also. * src/utils/hpftodit/hpftodit.cc (char_info): `ascent' must be `int16'. (read_char_table): Avoid negative ascenders. (output_charset): Add cast. * font/devlj4/*: Regenerated. Replace unnamed glyphs for DVI fonts with `uXXXX' glyph names where possible. * font/devdvi/generate/{tc,texttt,ec,texmi,texsy,textex}.map: Do it. * font/devdvi/generate/textex.map: Map glyph 23 to `u21C6' instead of `<>'. * font/devdvi/*: Regenerated. Map `la' and `ra' to U+27E8 and U+27E9. These two characters have normal width, while the previously used characters (U+2329 and U+232A) are classified as wide due to canonical equivalence with the CJK punctuation characters U+3008 and U+3009. * font/devutf8/R.proto: Updated. * src/roff/troff/uniglyph.cc, src/roff/troff/glyphuni.cc: Ditto. * man/groff_char.man: Simplify handling of table traps by introducing `start block' and `end block' macros. (Ns, Ne, 2s, 2e, Ds, De): New macros. (DL): Make it work with Unix troff also. Fix code values of `la' and `ra'. * tmac/dvi.tmac: Define `<>' for CW and CWI.
* * font/devhtml/R.proto, font/devutf8/R.proto: Flip `*f' and `+f'wlemb2003-02-231-652/+963
| | | | | | | | | | | | to be conform with Unicode 3.0 and newer. * font/devlj4/generate/text.map: Add `Eu'. * font/devlj4/generate/special.map: Flip `*e' and `+e'. * font/devlj4/S: Regenerated. * man/groff_char.man: Completely rewritten. * doc/groff.texinfo: Fix description of request and macro arguments.
* New commands \D'Fr ...', \D'Fc ...', etc. for orthogonality.wlemb2003-02-142-9/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make \D'f ...' move horizontally again for backwards compatibility. Replace it with \D'Fg ...' where appropriate to avoid dependency on horizontal resolution. * src/roff/troff/input.cc (do_get_long_name): New function. (get_long_name): Call it. (read_draw_node): Handle `\D'Fx ...' by calling ... (read_color_draw_node): New function. (read_rgb, read_cmy, read_cmyk, read_gray): New optional argument `end'. Pass it to `do_get_long_name' which is used instead of `get_long_name'. * src/libs/libdriver/input.cc (color_from_Df_command): Remove unnecessary value guard. (parse_D_command) <'f'>: Add horizontal shift. * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Use \D'Fg ...'. * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto. (FILL_MAX): Removed. * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo: Updated. * src/roff/troff/input.cc (do_name_test, do_expr_test, do_zero_width): Push `\n' if closing delimiter is missing. (token::next) <ESCAPE_NEWLINE>, <'\n'>, <'\ '>: Reset `have_input'. <'F'>: Make \F non-transparent at the beginning of line. (process_input_stack) <token::TOKEN_CHAR, token::TOKEN_NEWLINE, token::TOKEN_REQUEST, token::TOKEN_BEGIN_TRAP>: Don't handle `have_input'. (define_color): Free color in case of reassignment. * doc/groff.texinfo (@Defesc, @DefescList, @DefescItem, @DefescListEnd): Use @Var, not @var. Fix all calls. * src/preproc/grn/hgraph.cc (HGPrintElt): Fix typo. * src/preproc/pic/object.cc (object_spec::~object_spec): Free `shaded' and `outlined' arrays. (object_spec::object_spec): Initialize `shaded' and `outlined'. (graphic_object::set_fill_color, graphic_object::set_outline_color): Use strsave. (closed_object::set_fill_color): Ditto. * src/preproc/pic/troff.cc (troff_output::set_color): Use strsave instead of strdup. (troff_output::reset_color): Use a_delete instead of free. * src/preproc/pic/main.cc (do_file): Free `out' in case of error.
* * doc/groff.texinfo: Improve documentation of `ad'.wlemb2003-02-112-6/+14
| | | | | | | | | | Document that \D'f...' is dependent on the horizontal resolution. * man/groff_diff.man: Improve documentation of \D'f...'. * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Don't emit compensating \h'...' for \D'f ...' since the latter no longer moves current position. * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
* Improve error messages for `x F' (and `F') commands.wlemb2003-02-111-12/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/include/error.h: Add declaration for `current_source_filename'. * src/libs/libgroff/filename.cc: Add `current_source_filename'. * src/libs/libgroff/error.cc (do_error_with_file_and_line): Add parameter for source file string. Updated all callers. * src/libs/libdriver/input.cc: Add `current_source_filename'. (remember_source_filename): New function. (parse_x_command <'F'>, do_file <'F'>): Use it. Make grotty not emit warnings about unknown colors more than necessary. * src/devices/grotty/tty.cc: Include `ptable.h'. (TTY_MAX_COLORS): Removed. (DEFAULT_COLOR_IDX): Defined to -1. (glyph): Change `back_color_idx' and `fore_color_idx' to `char'. (tty_printer): Change `curr_back_idx' and `curr_fore_idx' to `char'. Change `tty_colors' to be a ptable. First arg of `put_color' is now `char'. New functions `make_rgb_string' and `tty_color'. (tty_printer::tty_printer): Use `tty_color'. (tty_printer::color_to_idx): Return value is now `char'. Use `tty_color'. * src/include/color.h (color): Add `print_color' member function. * src/libs/libgroff/color.cc (color::print_color): Implement it. Valgrind fixes. * src/devices/grops/ps.cc (ps_printer::define_encoding): Close encoding file. * src/include/ptable.h (PTABLE::~PTABLE, PTABLE::define): Always assume that value has been allocated with `new[]', thus use `a_delete' for deallocation. * src/libs/libdriver/input.cc (get_integer_arg, get_possibly_int_args, parse_x_command, do_file): Use `a_delete' where appropriate. * src/libs/libgroff/new.cc (delete) [!COOKIE_BUG]: Define. * src/libs/libgroff/nametoindex.cc (character_indexer::named_char_index): Use `new <type>[1]'. * src/preproc/eqn/lex.cc (init_table, do_definition): Use `new <type>[1]'. * src/preproc/eqn/text.cc (set_special_char_type): Ditto. (split_text): Use `a_delete'. * src/preproc/pic/pic.y (define_label, define_variable): Use `new <type>[1]'. * src/roff/troff/env.cc (environment::choose_breakpoint): Avoid harmless memory leak. (hyphen_trie::read_patterns_file): Initialize `buf'. * src/roff/troff/node.cc (troff_output_file::troff_output_file): Initialize `current_fill_color'and `current_glyph_color'. * src/roff/troff/glyphuni.cc (glyph_to_unicode_init::glyph_to_unicode_init): Use `new <type>[1]'. * src/roff/troff/uniuni.cc (unicode_decompose_init::unicode_decompose_init): Ditto. * src/roff/troff/uniglyph.cc (unicode_to_glyph_init::unicode_to_glyph_init): Ditto.
* Similar to \[is], the square root glyph (\[sr]) and the square rootwlemb2003-01-081-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | extension glyph (\[radicalex]) are now text symbols. The new mathematical versions are called \[sqrt] and \[sqrtex], respectively. * font/devX*/S: Regenerated. * font/devdvi/generate/texex.map: Rename `sr[0123]' to `sqrt[0123]'. * font/devdvi/generate/texsy.map: Rename `sr' to `sqrt'. * font/devdvi/EX, font/devdvi/S: Regenerated. * font/devhtml/R.proto, font/devutf8/R.proto: Add `sqrt'. * font/devlj4/generate/special.map: Add `sqrt'. * font/devlj4/S: Regenerated. * font/devps/generate/textmap: Add `sqrt'. * font/devps/S, font/devps/symbolmap: Regenerated. * src/preproc/eqn/sqrt.cc (SQRT_CHAR, RADICAL_EXTENSION_CHAR, SQRT_CHAIN, BAR_CHAIN): Use `sqrt*' and `sqrtex*'. * src/roff/troff/input.cc (init_charset_table): Make `sqrtex' overlap horizontally. * tmac/X.tmac, tmac/ps.tmac, tmac/lj4.tmac: Add `sqrtex'. * tmac/dvi.tmac: Add `sr', and `sqrtex'. Fix `radicalex'. * doc/groff.texinfo, man/groff_diff.man: Document that `radicalex' and `sqrtex' are overlapping glyphs.
* * font/devps/generate/freeeuro.sfd: Add glyphs `Euro.symbol.slanted'wlemb2002-12-051-2/+3
| | | | | | | | | | | | | | | | and `Euro.symbol.bold.slanted'. Improve some glyph offsets and widths. * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa: Regenerated. * font/devps/generate/Makefile (freeeuro.afm freeeuro.pfa): Fix typo. * font/devps/generate/sfdtopfa.pe: Generate PFA in current direcory. * tmac/europs.tmac: Updated to new glyph indices. Use Euro.symbol for font familiy `A'. * doc/groff.texinfo: Minor improvements.
* * font/devdvi/generate.tc.map: s/%O/%0/.wlemb2002-12-032-2/+10
| | | | | | | | | | | | | | * font/devdvi/*TC: Regenerated. * src/roff/troff/div.cc (init_div_requests): Sorted. * tmac/dvi.tmac: Remove `Ye'. * tmac/ec.tmac: Remove `Ye'. Add .rchar entry for `de'. * man/groff.man, man/groff_diff.man: Document register `.pe'. * doc/groff.texinfo: Document registers `.pe', `.n', and `.w'. * NEWS: Updated.
* Added three new requests `schar', `fschar', and `rfschar'. `schar'wlemb2002-11-122-70/+141
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | defines a glyph which is searched after the check for fonts declared with `.special' (and before the check for all mounted special fonts). `fschar' defines a glyph for a particular font which is searched after the check for fonts declared with `.fspecial' (and before the check for fonts declared with `.special'). `rfschar' removes glyphs defined with `fschar'. * src/roff/troff/token.h (char_mode): New enum. Declare do_define_character. * src/roff/troff/charinfo.h (charinfo): Replace `fallback' with `mode'. (charinfo::is_fallback): Updated. (charinfo::is_special): New method. * src/roff/troff/input.cc (do_define_character): Add and use optional second parameter used as a prefix for font-specific glyph names. (define_character, define_fallback_character): Updated. (define_special_character): New function. (init_input_requests): Add `schar'. (charinfo::charinfo, charinfo::set_macro): Updated. * src/roff/troff/node.cc: Include `stringclass.h'. (make_glyph_node): Handle special glyphs defined with `.schar' and `.fschar'. (define_font_special_character, remove_font_special_character): New functions. (init_node_requests): Sorted. Add `fschar' and `rfschar'. * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo: Document new requests. * font/devhtml/R.proto, font/devutf8/R.proto: Add `va'. * tmac/dvi.tmac: Add `va' for CW and CWI (using `.fschar').
* Added new font `SC' (cmtex10) to devdvi.wlemb2002-11-102-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | * devdvi/generate/Makefile (FONTS): Add `SC'. (SC): New rule. * devdvi/generate/textex.map: New map file for cmtex. * devdvi/SC: New. * devdvi/Makefile.sub (DEVFILES): Updated. * tmac/dvi.tmac: Add fspecial entries for SC. Add `MI', `S' and `CW' to the `special' call. Otherwise, `SC' is found before `S' since the font position of `SC' is lower due to the gaps in DESC's `font' line. * tmac/ec.tmac: Add a `special' call. * NEWS: Updated. * font/devhtml/R.proto: Remove double entry for `ti'. * tmac/tty.tmac: Add entries for `IJ', `ij', and `bq'. * tmac/tty-char.tmac: Remove entry for `bq'. * tmac/lbp.tmac: Add entries for `lq', `rq', `fo', `fc', and `em'. * tmac/ec.tmac: Don't remove `aq' glyph. * tmac/X.tmac: Fix entry for `em'. Add entries for `fo' and `fc'. * tmac/dvi.tmac: Add entries for `em', `en', `hy', `fo', and `fc'. * doc/groff.texinfo, man/groff.man, man/groff_diff.man: Fix documentation of `special' and `fspecial' requests.
* * src/roff/troff/node.cc (troff_output_file::fill_color,wlemb2002-10-241-1/+16
| | | | | | | | | | | | | | | troff_output_file::glyph_color): Set current color before testing color_flag. (troff_output_file::put_char_width, troff_output_file::put_char, troff_output_file::draw): Don't call flush_tbuf and/or do_motion before glyph_color. (troff_output_file::file_color, troff_output_file::glyph_color): Call do_motion. (word_space_node::tprint, space_node::tprint, hmotion_node::tprint, vmotion_node::tprint): Move first, then call fill_color. * doc/groff.texinfo, man/groff_tmac.man: Document that it is not possible to use multiple main macro packages.
* Updated.wlemb2002-09-181-1/+3
|
* * doc/groff.texinfo, man/groff_font.man: Clarify argument of \N.wlemb2002-09-122-1/+7
| | | | * man/groff_out.man: Fix documentation of 'N'.
* * tmac/an-old.tmac (T&): New dummy macro to avoid warning.wlemb2002-08-212-16/+15
| | | | | | | * man/groff_tmac.man: Fix typos. * man/groff_font.man: Minor reordering. * contrib/eqn2graph/eqn2graph.man (Tp): New macro. * contrib/groffer/groffer.man: Fix typos.
* * doc/groff.texinfo: Document `papersize' keyword.wlemb2002-07-241-1/+6
| | | | | | | | | | | * NEWS, man/groff_font.man: Updated. Extend papersize keyword to accept more than a single entry. The first valid will be used. * src/libs/libgroff/font.cc (font::load_desc): Implement it. (font::scan_papersize): Really skip final newline. * src/preproc/html/pre-html.cc (get_papersize): Ditto.
* Allow internal glyph indices > 0xFF in grohtml for input characters.wlemb2002-07-201-3/+5
| | | | | | | | | * src/devices/grohtml/post-html.cc (to_unicode): Use `unsigned int' as parameter. (html_printer::add_to_sbuf): Use `unsigned int' as first parameter. Updated all callers. (html_printer::sbuf_continuation, html_printer::overstrike): Ditto. (html_printer): Updated.
* * font/devhtml/R.proto: Updated to HTML 4, adding many glyphs.wlemb2002-07-191-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * font/devutf8/R.proto: Adding some missing glyphs. * font/devutf8/NOTES: Updated. * tmac/dvi.tmac: Add more composite glyphs. * tmac/html.tmac: Updated. * man/groff_char.man: Add `sum' and `product' entities. * NEWS: Updated. Improved table, tab, and indenting support. * src/roff/troff/input.cc (file_iterator::suppress_newline_flag, string_iterator::suppress_newline_flag): Removed. Updated all function which have used it. * src/roff/troff/env.cc: Include `input.h'. (environment::add_node): Accept 0 as parameter. (environment::add_html_tag): Add `force' parameter. Updated all callers. (environment::add_html_tag_tabs): Ditto. For the moment, support left-aligned tabs only. (environment::make_html_tag): New function. (fill, no_fill): Set .br html tag additionally. (environment::newline): Emit `eol.ce' or `eol' tag for html. (environment::add_html_tag_eol): Removed. (tab_stops::distance_to_next_tab): Add variant for handling nextpos'. (environment::distance_to_next_tab): Ditto. Updated all callers. (environment::handle_tab): Handle tabs for html. * src/roff/troff/env.h: Updated. * src/roff/troff/div.cc: Updated all callers of `environment::add_html_tag'. * src/devices/grohtml/html-table.cc, src/devices/grohtml/html-table.h: New files. * src/devices/grohtml/html-text.cc (html_text): New members `blank_para' and `start_space'. (html_text::issue_tag): Don't emit TABLE_TAG. Handle indentation for PRE_TAG and P_TAG. (html_text::end_tag): Updated. (html_text::table_is_void, html_text::issue_table_begin, html_text::issue_table_end): Removed. (html_text::do_push): Simplified. [DEBUGGING]: Small fix. (html_text::push_para): Add new parameter for indentation; updated all callers. Handle PRE_TAG. (html_text::do_indent, html_text::do_table, html_text::done_table, html_text::is_in_table): Removed. (html_text::do_pre): Handle P_TAG also. (html_text::shutdown): Handle p->indent. (html_text::check_emit_text): Simplified. (html_text::do_emittext): Reset `blank_para'. (html_text::do_para): Add new parameter for indentation; updated all callers. (html_text::remove_indent): New function. (html_text::do_space): Handle verbatim text properly. (html_text::ever_emitted_text, html_text::starts_with_space, html_text::remove_para_align): New functions. (html_text::dump_stack_element, html_text::dump_stack): Updated. * src/devices/grohtml/html_text.h (HTML_TAG): Remove TABLE_TAG. Updated. * src/devices/grohtml/post-html.cc: Include html-table.h. (INDENTATION): Removed. (text_glob): Added many `is_<foo>' functions. Added table description `tab'. Added `get_arg',`get_tab_args', `remember_table', and `get_table' member functions. (list): Add `insert' and `move_to' member functions. (page): Add `insert_tag' member function. (page::dump_page) [DEBUG_TABLES]: Improved. (html_printer): Add `table' and `max_linelength' elements. Add many `do_<foo>', `insert_<foo>', `next_horiz_pos', `lookahead_for_tables', `shutdown_table', `calc_nf', `calc_po_in', `remove_tabs', `remove_courier_tabs'. (html_printer::emit_raw): Handle indentation. (html_printer::do_center, html_printer::write_header): Updated. (html_printer::is_courier_until_eol): Check for tag. (html_printer::do_linelength): Handle max_linelength. (html_printer::do_page_offset, html_printer::do_indentation): Handle fill_on. (html_printer::do_tempindent): Updated. (html_printer::do_indentedparagraph): Removed. (html_printer::do_indent): Simplified. (html_printer::do_eol): Use `ever_emitted_text'. (html_printer::do_flush, html_printer::do_links): Don't call done_table. (html_printer::do_break): Handle end_tempindent. (html_printer::troff_tag): Get argument. Don't handle `.ip'. Handle `.tab-ts', `.tab-te', `.col', `tab', and `tab0' tags. (html_printer::flush_page): Call `lookahead_for_tables'. Don't call `done_table'. (html_printer::add_to_sbuf): Always call do_indent. * src/devices/grohtml/Makefile.sub: Updated. * tmac/an-old.tmac (TP): Don't handle html device specially. (an-do-tag-html): New function which will be used instead of `an-do-tag' if html device is used. * tmac/html.tmac: Call .po to pass default page offset to grohtml. * tmac/s.tmac (@IP): Don't handle html device specially. (@IP-html): New function which will be used instead of `@IP' if html device is used. * tmac/www.tmac (HTML-NS, HTML-TAG-NS): New auxiliary macros -- this is a hack which will eventually vanish again. (PIMG): Handle `-C' option correctly if not html. (HR): Use HTML-NS.
* * contrib/pic2graph/pic2graph.*: Use convert(1).wlemb2002-07-172-225/+652
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * contrib/eqn2graph/eqn2graph.*: Minor fixes. * tmac/groff_trace.man: New file. * tmac/Makefile.sub: Updated. * NEWS: Updated. * src/roff/groff/groff.man: Add some cross references. * src/roff/troff/input.cc (substring_request): Add warnings for string indices out of range. * font/devdvi/generate/ec.map: Fix typo (`(l' -> `/l'). * font/devdvi/*EC: Regenerated. * man/groff_char.man: Updated and extended. * src/roff/troff/input.cc (length_macro): Renamed to... (length_request): This. Move call of `tok.next()' to the very end, otherwise the register value hasn't been updated yet. (init_input_requests): Updated. * src/roff/troff/input.cc (substring_macro): Renamed to... (substring_request): This. (init_input_requests): Updated. * src/roff/troff/request.h: Updated. * src/roff/grog/grog.sh: Fix typo. * win32-diffs: Updated. Handle `papersize' keyword properly in DESC. * src/libs/libgroff/font.cc (font::scan_papersize): Fix argument type. Updated all callers. * src/libs/libgroff/paper.cc: Add four more paper formats used by grolj4. * src/include/paper.h: Updated. * src/devices/grolbp/lbp.cc: Remove unnecessary semicolons. Other minor C syntax fixes. (papersize, paperlength, paperwidth): Renamed to `user_*'. (lbp_printer): Add `papersize', `paperlength', and `paperwidth' members. (lbp_printer::lbp_printer): Pass three arguments. Set paper dimensions properly. (make_printer, main): Updated. (handle_unknown_desc_command): Fix error messages. (main): Handle papersize keyword in DESC properly. * src/devices/grolj4/lj4.cc (paper_size): Renamed to `user_paper_size'. (lbp_printer::lbp_printer): Pass an argument. Set paper_size properly. (handle_unknown_desc_command): Removed. (make_printer, main): Updated. * src/devices/grolj4/grolj4.man: Minor documentation fix. * man/groff_font.man, NEWS: Updated.
* Changing the substring request to make it fit better with otherwlemb2002-07-072-9/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | string manipulation functions in other programming languages: Index 0 is now the first character in the string, and index -1 indicates the last character. Since this request didn't work properly anyway in the last release, it doesn't harm too much to change the syntax. * src/roff/troff/input.cc (substring_macro): Use loops to get the real string length (ignoring COMPATIBLE_SAVE and COMPATIBLE_RESTORE) and offsets. 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. * NEWS, doc/groff.texinfo, man/groff_diff.man: Updated. Make .chop work with .de1 and friends. COMPATIBLE_SAVE and COMPATIBLE_RESTORE are completely ignored. * src/roff/troff/input.cc (char_list::set, char_list::get): New functions. (macro): `length' field renamed to `len'. Added new field `empty_macro' (1 if macro is empty), to be used instead of checking `len'. Updated all callers. (macro::empty): Updated. (macro::length, macro::set, macro::get): New functions. (macro::append): Ignore COMPATIBLE_SAVE and COMPATIBLE_RESTORE. Set `empty_macro'. (chop_macro): Check and remove trailing COMPATIBLE_SAVE/ COMPATIBLE_RESTORE pairs. (asciify): Ignore COMPATIBLE_SAVE and COMPATIBLE_RESTORE. * src/roff/troff/request.h: Updated. * doc/groff.texinfo: Document .chop's behaviour better. * doc/pic.ms: Fix documentation for the addition of positions. * tmac/doc.tmac, tmac/an-old.tmac: Need groff version 1.18.
* Implementation of string arguments of the form \*[foo arg1 arg2 ...]wlemb2002-06-292-28/+44
| | | | | | | | | | | | | | | | * src/roff/troff/input.cc (have_string_arg): New global variable. (read_mode): New enumeration. (read_escape_name): Use it. Update all calls. (read_long_escape_name): Use it. Update all calls. Set have_string_arg if appropriate. (get_char_for_escape_name): Add parameter for handling space character. (interpolate_string_with_args, decode_string_args): New functions. (get_copy, token::next): Call it if necessary. (interpolate_string): Fix error message. * NEWS, doc/groff.texinfo, man/groff.man, man/groff_diff.man: Document it.
* Minor fixes from Bernd.wlemb2002-06-261-79/+60
|
* Minor doc fixes.wlemb2002-06-262-6/+6
|
* * man/groff_tmac.man: Updated and extended.wlemb2002-06-261-279/+973
|
* * src/roff/troff/input.cc (init_registers): Add three registerswlemb2002-06-232-2/+35
| | | | | | | `seconds', `minutes', and `hours' to hold the current time. * NEWS, doc/groff.texinfo, man/groff.man, man/groff_diff.man: Updated.
* Add a `color' request and a `.color' register to control usage ofwlemb2002-06-192-2/+24
| | | | | | | | | | | | | | | | | | | | | | | colours. * src/roff/troff/input.cc (disable_color_flag): Replaced with... (color_flag): This (which is the inverse). (activate_color): New function. (main, init_input_requests): Updated. * src/roff/troff/troff.h, src/roff/troff/node.cc (troff_output_file::fill_color, troff_output_file::glyph_color): Updated. * NEWS, doc/groff.texinfo, man/groff_diff.man, man/groff.man: Document the changes. Circumvent bug in autoconf 2.53 regarding top_builddir. * aclocal.m4 (GROFF_BUILDDIR): s/top_builddir/groff_top_builddir/. * Makefile.in, src/xditview/Imakefile.in, doc/Makefile.in: s/@top_builddir@/@groff_top_builddir@/. * configure: Regenerated (with autoconf 2.53).