summaryrefslogtreecommitdiff
path: root/src/devices/grodvi
Commit message (Collapse)AuthorAgeFilesLines
* * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list),wlemb2004-04-081-20/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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). 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. * Makefile.sub (DISTCLEANFILES): Add `test-groff'.
* LynxOS 4.0.0 has snprintf (without declaration) but no vsnprintf.wlemb2003-11-121-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * configure.ac: Check for vsnprintf. * src/include/lib.h: Handle `NEED_DECLARATION_VSNPRINTF' and `HAVE_VSNPRINTF'. * src/include/config.hin: Regenerated. * 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/. * 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).
* * src/roff/groff/groff.cpp (help), src/devices/grops/ps.cpp (usage),wlemb2003-10-131-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* * *.man: Switch to non-compatibility mode temporarily if GNUwlemb2003-07-181-0/+4
| | | | | | syntax extensions are used in the particular man page. * PROBLEMS: Add solutions for SGR problems.
* Renamed all `*.cc' files to `*.cpp'.wlemb2003-04-152-1/+1
| | | | Updated all configuration files, makefiles, and documentation.
* Make groff independent from locale's numeric settings.wlemb2003-04-031-0/+1
| | | | | | | | | | | | | | | | | * 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-49/+122
| | | | | | | | | | | | | | | | | | | | * 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-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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'.
* * src/include/nonposix.h: Provide default for SET_BINARY.wlemb2003-03-111-2/+0
| | | | | | | | | * src/devices/grodvi/dvi.cc, src/devices/grolbp/lbp.cc, src/devices/grolj4/lj4.cc, src/devices/grops/ps.cc: Call SET_BINARY unconditionally. * src/utils/pfbtops/pfbtops.c: Call SET_BINARY unconditionally. (main): Treat \r\n as \n.
* Add memory management for colors to deallocate unnamed colorswlemb2003-02-151-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | properly. * src/include/color.h (color): New members `free_list' and `next'. New member functions `new' and `delete'. Add deconstructor. * src/libs/libgroff/color.cc: Implement it. * src/libs/libgroff/font.cc (font::add_kern): Use integer cast for array size of new operator. * src/libs/libdriver/input.cc (IntArray::operator[]): Remove redundant comparison. * src/roff/troff/input.cc (word_space_node::reread, hmotion_node::reread): Avoid warning about unused parameter. (reset_output_registers): Remove redundant parameter. (define_color): Undo change 2003-02-12. * src/roff/troff/reg.h: Updated. * src/roff/troff/node.cc (troff_output_file::really_print_line, output_file::put_filename, real_output_file::really_put_filename, ascii_output_file::really_print_line, break_char_node::get_hyphen_list): Avoid warning about unused parameter. (suppress_node::tprint): Updated. * configure.ac: Check declaration for rand() and srand(). * configure: Regenerated. * src/preproc/pic/pic.h: Declare fmod(), rand(), and srand() conditionally. * src/preproc/pic/pic.y: Remove declaration of fmod(), rand(), and srand(). * src/preproc/eqn/delim.cc (delim_table): Add missing initializers to avoid compiler warnings. * src/preproc/grn/hgraph.cc (HGPrintElt): Second parameter is unused. * src/devices/grops/ps.cc (ps_printer::set_char): Last parameter is unused. * src/devices/grops/psrm.cc (skip_possible_newline): Remove first (unused) parameter. Updated all callers. * src/devices/grotty/tty.cc (tty_printer::set_char): Last parameter is unused. * src/devices/grodvi/dvi.cc (dvi_printer::set_char): Ditto. * src/devices/grolj4/lj4.cc (lj4_printer::set_char): Ditto. * src/devices/grohtml/post-html.cc (html_printer::emit_line): Parameter is unused. (html_printer::add_table_end): Define parameter conditionally. * src/devices/grohtml/output.cc (simple_output::special): Parameter is unused. * src/devices/grolbp/lbp.cc: Define _GNU_SOURCE conditionally. (lbp_printer::set_char): Last parameter is unused. * src/utils/indxbib/indxbib.cc (main): Remove redundant comparison.
* Add a site-specific font directory.wlemb2002-09-161-2/+5
| | | | | | | | | | | | | | | | | | | * Makefile.in (localfontdir, legacyfontdir): New variables. (fontpath): Use them. (MDEFINES, uninstall_dirs): Updated. * Makefile.comm (.man.n): Add `LOCALFONTDIR' and `LEGACYFONTDIR'. Remove `FONTPATH' and `MACROPATH'. * src/roff/troff/troff.man, NEWS: Updated. * doc/groff.texinfo (Font Directories): New section. Other minor fixes. * src/devices/grodvi/grodvi.man, src/devices/grohtml/grohtml.man, src/devices/grolbp/grolbp.man, src/devices/grolj4/grolj4.man, src/preproc/grn/grn.man: Minor fixes. * src/devices/grohtml/post-html.cc (html_printer::do_tab_ts): Remove unused variable.
* Add global option `nospaces' to tbl so that leading and trailingwlemb2002-09-081-1/+1
| | | | | | | | | | | | | | | | spaces in data items are ignored. * src/libs/libgroff/string.cc (string::remove_spaces): New member function to remove leading and trailing spaces. * src/include/stringclass.h: Updated. * src/preproc/tbl/table.h (table): Add flag `NOSPACES'. * src/preproc/tbl/main.cc (process_options): Handle `nospaces' option. Fix typo in error messages. (process_data): Implement `nospaces' option. * src/preproc/tbl/tbl.man, NEWS, doc/webpage.ms: Updated.
* Use OBJEXT for the object file extension.wlemb2002-08-231-1/+1
| | | | | | | | * Makefile.comm (.SUFFIXES): Add .obj. (.cc.obj, .c.obj): New implicit rules. * Makefile.in (OBJEXT): New variable, initialized from autoconf. (MDEFINES): Add EXEEXT and OBJEXT. * */Makefile.sub: s/.o/.$(OBJEXT)/.
* * src/devices/grops/grops.man, src/devices/grolj4/grolj4.man,wlemb2002-08-161-3/+4
| | | | | | | src/devices/grodvi/grodvi.man: Document default line thickness. * src/devices/grohtml/post-html.cc (char_block): Increase SIZE to 8192.
* * doc/fdl.texi: New file.wlemb2002-05-021-1/+1
| | | | | | | | | | | | | | | | | | | * doc/groff.texinfo: Include it. Define and use @copying. Starting with separating glyph, symbol, and character. * Makefile.in (EXEEXT): Set it. * src/*/Makefile.sub (PROG): Add $(EXEEXT) for all non-script programs. * src/include/nonposix.h: Define GS_NAME. * src/preproc/html/pre-html.cc (createAllPages): Use GS_NAME. Some preliminary changes for EMX support under OS/2. * src/preproc/pic/main.cc (main), src/roff/groff/pipeline.c: Add __EMX__ similar to __MSDOS__. * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Use `unlink'.
* * tmac/pspic.tmac: Add support for -Tdvi.wlemb2002-03-111-1/+14
| | | | | | | | * tmac/dvi.tmac: Include pspic.tmac. * src/devices/grodvi/grodvi.man: Document it. * NEWS: Updated. * font/devlj4/generate/Makefile: Fix URL of metric files.
* Add color support to grodvi (for drawing colors are currentlywlemb2002-03-012-27/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | translated to gray values). * src/devices/grodvi/dvi.cc (FILL_MAX): Removed. (dvi_printer): Add `cur_color' member. (dvi_printer::set_color): New function. (draw_dvi_printer): Remove `fill'. (draw_dvi_printer::fill_next): Pass environment as parameter. Update code for new color support translated to gray. (dvi_printer::set_char): Updated. (dvi_printer::begin_page, dvi_printer::end_page): Handle color changes crossing the page border. (dvi_printer::draw): Updated. Remove cases `f' and `F'. * tmac/dvi.tmac: Add color definitions. * NEWS, src/devices/grodvi/grodvi.man: Updated. * tmac/an-old.tmac (R): Make this a macro to emit a warning if used incorrectly. * aclocal.m4 (GROFF_NEED_DECLARATION): Use test similar to recent versions of autoconf. * configure: Updated. * doc/homepage.ms: Use `.blm'. * tmac/www.tmac (www-depth): New auxiliary variable. (www-pop-level): Don't issue HTML tag. (ULS, ULE, LI): Use absolute indentation. * src/devices/grops/ps.cc (ps_printer::begin_page, ps_printer::end_page): Switch forth and back to default color while starting a new page.
* Add EC and TC fonts to devdvi.wlemb2002-02-271-0/+19
| | | | | | | | | | | | | | | | | | * src/utils/tfmtodit/tfmtodit.man: Document patching of exbase.mf. * font/devdvi/generate/cork.map: Renamed to... * font/devdvi/generate/ec.map: This. Remove entry for `aq'. * font/devdvi/generate/tc.map: New file. * font/devdvi/generate/Makefile (*EC, *TC): New creation rules for EC and TC fonts. (FONTS): Updated. * font/devdvi/*EC, font/devdvi/*TC: New font definition files. * font/devdvi/Makefile.sub (DEVFILES): Updated. * tmac/ec.tmac: New file. * tmac/Makefile.sub (NORMALFILES): Updated. * NEWS, src/devices/grodvi/grodvi.man: Updated. * font/devdvi/{TR,TI,TB,TBI,HR}: Fix `name' field.
* Add support for font families `T' and `H'.wlemb2002-02-261-10/+170
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * font/devdvi/HBI: New file. * font/devdvi/B: Renamed to ... * font/devdvi/TB: This. * font/devdvi/BI: Renamed to ... * font/devdvi/TBI: This. * font/devdvi/I: Renamed to ... * font/devdvi/TI: This. * font/devdvi/R: Renamed to ... * font/devdvi/TR: This. * font/devdvi/H: Renamed to ... * font/devdvi/HR: This. * font/devdvi/Makefile.sub (DEVFILES): Updated. * font/devdvi/generate/Makefile (FONTS): Updated. (R, I, B, BI, H): Renamed to ... (TR, TI, TB, TBI, HR): This, respectively. * NEWS, src/devices/grodvi/grodvi.man: Updated. * font/devdvi/DESC.in: Don't mount R, I, B, BI, and CWI. Add `styles' and `family' keywords. * tmac/dvi.tmac: Alias `H' to `HR'. Add some fspecial requests for italic fonts. Add TR and TI as special. Add support for `_' with font CWI. * src/roff/troff/number.cc (parse_expr): Add missing `break' for operator `:'. Until now, the expression `0:1' would return 2 instead of 1.
* Implementing color support in troff, pic, grops, and grohtml. Thesewlemb2001-10-051-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | changes are based on a major patch provided by Gaius Mulley <gaius@glam.ac.uk>. New request: `defcolor', supporting rgb, cmy, cmyk, and gray definitions with both hex values and fractions. New escapes: \m and \M for drawing and background color, respectively. This corresponds to the troff output commands `m' and `DF'. groff and troff accept command line switch `-c' to disable color output (which is automatically disabled in compatibility mode). New scaling indicator `f' for fractions (1f = 65536u). New conditional operator `m' to test for defined colors with `if' and `ie'. New keywords `color' (or `colour', `colored', `coloured'), `outline' (or `outlined'), and `shaded' added to pic. * src/include/color.h: New file. * src/include/driver.h: Include it. * src/include/printer.h: Include color.h. (environment): New members `col' and `fill'. (printer): Remove `adjust_arc_center' member function. * src/include/Makefile.sub: Updated. * src/libs/libdriver/input.cc (do_file): Initialize `env.col' and `env.fill'. Handle `m' and `DF' troff commands. * src/libs/libgroff/color.cc: New file. * src/libs/libgroff/Makefile.sub: Updated. * src/preproc/html/pre-html.cc (IMAGE_BORDER_PIXELS): Set to 2. (stop): Removed. (createImage): Fix computation of `y2'. Use `pnmcrop' also. (buffer::write_file_html): Remove calls to `stop'. * src/preproc/pic/common.h (common_output): New abstract function members `set_color', `reset_color', `get_last_filled', and `get_outline_color'. * src/preproc/pic/object.h: Add `IS_SHADED' and `IS_OUTLINED'. (object_spec): Add members `shaded' and `outlined'. * src/preproc/pic/output.h (output): `command' is now abstract. New function members `set_color', `reset_color', `get_last_filled', and `get_outline_color'. * src/preproc/pic/lex.cc (lookup_keyword): Recognize `colo[u]r[ed]', `outline[d]', and `shaded'. * src/preproc/pic/object.cc (output::command): Removed. (output::set_location):Moved to output.h. (graphic_object): Add protected members `outline_color' and `color_fill'. Add member functions `set_outline_color', `get_outline_color', and `set_fill_color'. (closed_object): Add member function `set_fill_color'. Add member `color_fill'. (graphic_object::print_text): Use `out->set_color' and `out->reset_color'. (box_object::print, ellipse_object::print, circle_object::print, line_object::print, spline_object::print, arc_object::print): Ditto. (object_spec::make_object): Implement `IS_OUTLINED' and `IS_SHADED'. * src/preproc/pic/pic.y: Add tokens `COLORED', `OUTLINED', and `SHADED', making them `%left'. Add rules `object_spec [SHADED|COLORED|OUTLINED] text'. * src/preproc/pic/tex.cc (tex_output): New dummy function members `set_color', `reset_color', `get_last_filled', and `get_outline_color'. * src/preproc/pic/troff.cc (simple_output): New abstract function members `set_color', `reset_color', and `get_last_filled'. (simple_output::polygon, simple_output::circle, simple_output::ellipse): Use `get_last_filled'. (troff_output): New members `last_filled' and `last_outlined'. New function members `set_color', `reset_color', `get_last_filled', and `get_outline_color'. (troff_output::finish_picture): Use `reset_color'. (troff_output::set_fill): Test `last_filled'. * src/preproc/pic/pic.man: Updated. * src/roff/groff/groff.cc (main): Implement `-c' option. (synopsis, help): Updated. src/roff/groff/groff.man: Updated. * src/roff/troff/troff.h: Include color.h. (warning_type): Add WARN_COLOR. * src/roff/troff/env.h (environment): New members `{cur,prev}_{glyph,fill}_color'. New member functions `get_{prev_,}{glyph,fill}_color'. * src/roff/troff/env.cc: Initialize and implement them. * src/roff/troff/input.cc: New global variable `disable_color_flag'. Replace `NULL' with `0' everywhere for consistency. (lookup_color, default_black, do_glyph_color, do_fill_color, get_color_element, read_rgb, read_cmy, read_cmyk, read_gray, define_color): New functions. (token::next): Implement \M and \m escapes. (do_if_request): Implement `m' operator. (usage): Updated. (main): Implement `-c' option. (init_markup_requests): Add `defcolor' request. (warning_table): Add `color' warning. * src/roff/troff/node.h (glyph_color_node, fill_color_node): New classes. * src/roff/troff/node.cc (troff_output_file): New members `current_{page,glyph}color'. New member functions `put_hex', `glyph_color', and `fill_color'. (glyph_color_node::*, fill_color_node::*): Implement it. * src/roff/troff/number.cc (SCALE_INDICATOR_CHARS): Add `f'. (parse_term): Add support for `f'. * src/roff/troff/troff.man: Updated. * src/devices/grodvi/dvi.cc (draw_dvi_printer::draw): Add dummy entry for `F'. * src/devices/grolbp/lbp.cc (lbp_printer::draw): Ditto. * src/devices/grolj4/lj4.cc (lj4_printer::draw): Ditto. * src/devices/grohtml/html-text.h (HTML_TAG): Add COLOR_TAG. (tag_definition): Use `void *' for arg1. (html_text): New member functions `do_color' and `done_color'. Use `void *' for second parameter of `push_para' member function. New `push_para' member function with a single parameter. Use `char *' for parameter of `issue_table_begin' member funtion. New `issue_color_begin' member function. * src/devices/grohtml/html-text.cc (html_text::end_tag): Handle COLOR_TAG. (html_text::issue_color_begin): New function. (html_text::issue_table_begin): Use `char *' for parameter. (html_text::start_tag, html_text::shutdown, html_text::check_emit_text): Updated. (html_text::push_para): Use `void *' for second parameter. Add same function with only one parameter. (html_text::do_*): Updated. (html_text::do_color, html_text::done_color): New functions. * src/devices/grohtml/post-html.cc (style): New member `col'. Mew member `style' with 6 parameters. (style::style, style::operator==): Updated. (html_printer::do_font): Use it. (html_printer::draw): Add dummy entry for `F'. (html_printer::set_char): Updated. * src/devices/grohtml/grohtml.man: Updated. * src/devices/grops/ps.cc (ps_output::put_float): Use `%g' to have trailing zeroes removed. (ps_printer): New members `sbuf_color', `fill_color', and `output_color'. Removed member `fill'. New member function `set_color'. (ps_printer::ps_printer, ps_printer::set_char): Updated. (ps_printer::flush_sbuf, ps_printer::set_line_thickness, ps_printer::fill_path, ps_printer::draw): Use `set_color'. * tmac/color-html.tmac, tmac/color.tmac: New files. * tmac/troffrc: Include them. * tmac/www.tmac (URL, FTP, MAILTO): Use blue color. * tmac/Makefile.sub: Updated. * NEWS, doc/groff.texinfo, doc/pic.ms, man/groff_out.man, man/groff.man: Updated. * font/devps/prologue.ps: Define FC and CO functions. Fix incorrect cropping of images and incorrect handling of special characters. Fix handling of file names in \O. * src/include/geometry.h: New file. * src/libs/libgroff/geometry.cc: New file. * src/libs/libdriver/printer.cc (printer::adjust_arc_center): Moved to `geometry.cc'. * src/roff/troff/input.cc (get_delim_file_name): Fixed problem with initial spaces. (do_suppress): Updated. * src/roff/troff/node.cc: Include geometry.h. (troff_output_file::flush_tbuf): Fixed parameters to `check_output_limits'. (troff_output_file::check_charinfo): Ditto. (troff_output_file::determine_line_limits): Add support for `Da' and `Dl' commands. * src/devices/grohtml/post-html.cc (str_translate_to_html): Add new parameter `is_special' to decode special characters from escape sequences. (html_printer::do_title, html_printer::do_heading, html_printer::do_indentedparagraph, html_printer::translate_to_html, html_printer::special): Updated. * Makefile.sub (DISTCLEANFILES): Add stamp-h. Fix entry for config.h. * test-groff (GROFF_BIN_PATH): Add $builddir/roff/groff. * tmac/troffrc: Translate nonbreakable space character to `\~'. * src/preproc/eqn/eqn.man: Document -d command line option.
* Added .cvsignore fileswlemb2001-07-191-0/+3
|
* Fix problems with preprocessor string for `man' program.wlemb2001-06-271-2/+6
| | | | | | | * *.man: Don't use `s' in preprocessor string -- it doesn't exist. Updated/added copyright. Moved Emacs's local variable to identify nroff mode to the end of the file; add local variable if missing.
* `Version_string' as C++ object was not visible to linker from Cwlemb2001-04-201-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | object files. Add `const' to `Version_string'. * src/utils/pfbtops/pfbtops.c (main), src/roff/groff/groff.cc (main), src/roff/troff/input.cc (main), src/preproc/tbl/main.cc (main), src/preproc/pic/main.cc (main), src/preproc/eqn/main.cc (main), src/preproc/grn/main.cc (main), src/preproc/html/pre-html.cc (scanArguments), src/preproc/refer/refer.cc (main), src/preproc/soelim/soelim.cc (main), src/devices/grotty/tty.cc (main), src/devices/grodvi/dvi.cc (main), src/devices/grolj4/lj4.cc (main), src/devices/grohtml/post-html.cc (main), src/devices/grolbp/lbp.cc (main), src/utils/tfmtodit/tfmtodit.cc (main), src/utils/hpftodit/hpftodit.cc (main), src/utils/lookbib/lookbib.cc (main), src/utils/indxbib/indxbib.cc (main), src/utils/lkbib/lkbib.cc (main), src/utils/addftinfo/addftinfo.cc (main): Implement it. * src/roff/groff/pipeline.c: Add _UWIN. * src/include/nonposix.h: Ditto. * src/include/lib.h: Use HAVE_STRERROR. * src/roff/groff/pipeline.c: Ditto. * src/preproc/html/pre-html.cc: Remove declaration of `strerror'. * src/libs/libgroff/Makefile.sub (version.cc): Add `extern "C"'. * src/utils/pfbtops/pfbtops.c: Add copyright notice. * win32-diffs: Updated. * src/utils/hpftodit/hpftodit.cc (read_map): Fix compiler warning.
* * src/preproc/html/pre-html.cc (scanArguments): Use `troff_command'wlemb2001-04-191-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | instead of hardwired `"troff"'. (char_buffer::read_file): Remove unused variables. (char_buffer::write_file_troff): Ditto. (char_buffer::write_file_html): Ditto. (generateImages): Ditto. (abs): Removed. * src/utils/addftinfo/addftinfo.cc (main): Fix compilation problem. * src/include/lib.h: Don't include `groff-getopt.h' for UWIN. * src/libs/libgroff/font.cc (font::load_desc): Fix compiler warning. * src/libs/libbib/index.cc (index_search_item_iterator::get_tag, index_search_item::search1): Ditto. * src/roff/troff/node.h (width_list): Reorder members. * src/roff/troff/input.cc (do_define_macro): Fix compiler warning. (lookup_warning): Ditto. (prepend_string): Commented out. * src/roff/troff/dictionary.cc (is_good_size): Fix compiler warning. * src/roff/troff/reg.cc (number_value_to_ascii): Ditto. * src/preproc/tbl/main.cc (process_format): Ditto. * src/preproc/pic/pic.y (define_variable, reset, reset_all): Fix compiler warnings. * src/preproc/pic/pic.cc: Updated. * src/preproc/eqn/lex.cc (init_table): Fix compiler warnings. * src/preproc/eqn/over.cc (over_box::compute_metrics): Ditto. * src/preproc/refer/command.cc (execute_command): Ditto. * src/preproc/refer/ref.cc (sortify_title, find_month): Ditto. * src/preproc/refer/token.cc (lookup_token): Ditto. * src/preproc/soelim/soelim.cc: Ditto. * src/preproc/html/pushbackbuffer.cc (ERROR): Ditto. (isHexDigit): Commented out. (pushBackBuffer::isString): Remove unused variable. * src/devices/grops/ps.cc (ps_printer::special): Fix compiler warning. * src/devices/grops/psrm.cc (resource_manager::lookup_font, resource_manager::read_resource_arg, read_one_of, parse_extensions): Ditto. * src/devices/grodvi/dvi.cc (dvi_printer::draw): Ditto. * src/devices/grolj4/lj4.cc (lj4_font::handle_unknown_font_command, lookup_paper_size): Ditto. * src/devices/grohtml/post-html.cc (is_subsection): Commented out. (text_glob, element_list): Reorder members. * src/devices/grohtml/html-text.cc (html_text::do_pre): Remove compiler warning. * src/devices/grohtml/html-text.h (html_text::emit_space): Change return value to `void'. * src/devices/grohtml/output.cc (word_list::word_list): Fix order of initializers. * src/devices/grohtml/html.h (simple_output::check_newline, simple_output::space_or_newline, simple_output::enable_newlines): Add return value. * src/devices/grolbp/lbp.cc (wp54charset, set_papersize): Remove compiler warnings. * src/utils/tfmtodit/tfmtodit.cc (tfm::load, gf::load, main): Ditto. * src/utils/hpftodit/hpftodit.cc (File::seek, read_symbol_sets, output_ligatures, output_charset, read_map): Ditto. * src/utils/lookbib/lookbib.cc (main): Ditto. * src/utils/indxbib/indxbib.cc (main, fwrite_or_die): Ditto. (do_file): Fix typo (`=' -> `=='). * src/utils/lkbib/lkbib.cc (main): Remove compiler warning. * src/utils/addftinfo/addftinfo.cc (main): Ditto.
* * NEWS: Updated.wlemb2001-04-101-6/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/groff.texinfo: Many fixes, additions, clarifications, etc. * src/devices/grodvi/dvi.cc (main): Accept --help and --version. (usage): Add stream argument. Don't exit. * src/devices/grohtml/post-html.cc (main): Accept --help and --version. Write --version output to stdout, not stderr. (usage): Add stream argument. Don't exit. * src/devices/grohtml-old/html.cc (main): Accept --help and --version. (usage): Add stream argument. Don't exit. * src/devices/grolbp/lbp.cc (long_options): Use symbolic getopt.h constants. (usage): Add stream argument. Don't exit. (main): Write --help output to stdout, not stderr. * src/devices/grolj4/lj4.cc (main): Accept --help and --version. (usage): Add stream argument. Don't exit. * src/devices/grops/ps.cc (main): Accept --help and --version. (usage): Add stream argument. Don't exit. * src/devices/grotty/tty.cc (main): Accept --help and --version. (usage): Add stream argument. Don't exit. * src/preproc/eqn/main.cc (usage): Add stream argument. Don't exit. (main): Accept --help and --version. * src/preproc/grn/main.cc (usage): Add stream argument. Don't exit. (main): Accept --help and --version. * src/preproc/html/pre-html.cc (usage): Add stream argument. (scanArguments): Accept --help and --version. * src/preproc/pic/main.cc (usage): Add stream argument. Don't exit. (main): Accept --help and --version. * src/preproc/refer/refer.cc (main): Accept --help and --version. (usage): Add stream argument. Don't exit. * src/preproc/soelim/soelim.cc (usage): Add stream argument. Don't exit. (main): Accept --help and --version. * src/preproc/tbl/main.cc (usage): Add stream argument. Don't exit. (main): Accept --help and --version. * src/roff/groff/groff.cc (main): Accept --help and --version. (synopsis): Add stream argument. (help): Write --help output to stdout, not stderr. (usage): Add stream argument. Don't exit. * src/roff/grog/grog.pl: Accept --help and --version. (help): New sub. * src/roff/grog/grog.sh: Accept --help and --version. * src/roff/nroff/nroff.sh: Accept --help and --version. * src/roff/troff/input.cc (USAGE_EXIT_CODE): Remove macro. (usage): Add stream argument. Don't exit. (main): Accept --help and --version. * src/utils/addftinfo/addftinfo.cc (main): Accept --help and --version. (usage): New function with stream argument, doesn't exit. * src/utils/hpftodit/hpftodit.cc (main): Accept --help and --version. (usage): New function with stream argument, doesn't exit. * src/utils/indxbib/indxbib.cc (main): Accept --help and --version. (usage): Add stream argument. Don't exit. * src/utils/lkbib/lkbib.cc (usage): Add stream argument. Don't exit. (main): Accept --help and --version. * src/utils/lookbib/lookbib.cc (usage): Add stream argument. Don't exit. (main): Accept --help and --version. * src/utils/pfbtops/pfbtops.c (usage): Add stream argument. Don't exit. (main): Accept --help and --version. * src/utils/tfmtodit/tfmtodit.cc (main): Accept --help and --version. (usage): Add stream argument. Don't exit.
* Implement continuous underlining for nroff mode. To do that, a newwlemb2001-04-061-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | request in the ditroff language has been added: `x u N' (N is 0 or 1). X and Y are now transparent to end-of-sentence recognition. * src/include/printer.h (printer): Add `type' parameter to `special' method. * src/libs/libdriver/printer.cc (printer::special): Updated. * src/libs/libdriver/input.cc (do_file): Handle `x u N'. * src/devices/dvi/dvi.cc (dvi_printer::special): Handle only specials of type `p'. * src/devices/grohtml/post-html.cc (html_printer::special): Ditto. * src/devices/grohtml-old/html.cc (html_printer::special): Ditto. * src/devices/grops/ps.cc (ps_printer::special): Ditto. * src/devices/grotty/tty.cc: Add new enum CU_MODE. (glyph::order): New method. (tty_printer::add_char): Use it. (tty_printer::special): New method. (tty_printer::end_page): Implement it. * src/roff/troff/node.h (special_node): Add `no_init_string' member. * src/roff/troff/node.cc (special_node::special_node): Add parameter to set `no_init_string'. (special_node::tprint_start): Use it. (special_node::same, special_node::copy): Updated. (special_node::ends_sentence): New method. (troff_output_file::start_special): Add parameter to include inititialization of special conditionally. * src/roff/troff/env.h (environment): New member `underline_spaces'. * src/roff/troff/env.cc (do_underline_special): New function. (environment::set_font): Use it. (do_underline): Use it. This was `underline()'. (underline): Call `do_underline()'. (continuous_underline): New function which calls `do_underline()'. (environment::newline): Use `do_underline_special()'. (init_env_requests): Updated. * NEWS, man/troff_out.man: Updated. * font/devutf8/R.proto: Fix code of 'shc'.
* Use safer path (except for config files) if -U isn't specified. Addwlemb2000-11-221-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a special macro path (without home and current directory) for config files. Add home directory to unsafe path for consistency. Don't include the home directory in the font path. * src/lib/libgroff/macropath.cc: Add `config_macro_path', change `macro_path'. * src/include/macropath.h: Add `config_macrp_path'. * src/lib/libgroff/fontfile.cc: Fix font path. * src/roff/troff/input.cc (process_startup_file): Use `config_macro_path'. (main): Select unsafe path if -U is given. * src/preproc/eqn/main.cc (main): Fixing search path for configuration file. * src/preproc/eqn/eqn.man: Updated. * src/roff/troff/troff.man, man/roff.man, tmac/groff_tmac.man: Updated. * src/preproc/grn/grn.man, src/devices/grodvi/grodvi.man, src/devices/grohtml/grohtml.man, src/devices/grolbp/grplbp.man, src/devices/grolj4/grolj4.man, src/devices/grops/grops.man, src/devices/grotty/grotty.man: Updated. * Makefile.in: Fix comments. src/roff/groff/groff.man, tmac/groff_tmac.man, arch/djgpp/README:
* * src/devices/grodvi/dvi.cc (main),wlemb2000-11-161-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | src/devices/grohtml2/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), src/preproc/eqn/main.cc (main), src/preproc/grn/main.cc (main), src/preproc/html2/pre-html.cc (main), src/preproc/pic/main.cc (main), src/preproc/refer/refer.cc (main), src/preproc/soelim/soelim.cc (main), src/preproc/tbl/main.cc (main), src/roff/groff/groff.cc (main), src/roff/troff/input.cc (main), src/utils/hpftodit/hpftodit.cc (main), src/utils/indxbib/indxbib.cc (main), src/utils/lkbib/lkbib.cc (main), src/utils/lookbib/lookbib.cc (main), src/utils/pfbtops/pfbtops.c (main), src/utils/tfmtodit/tfmtodit.cc (main): Use stdout for -v. * src/roff/groff/groff.cc (run_commands), src/roff/groff/pipeline.c (run_pipeline): New parameter `no_pipe' to make direct printing to stdout possible. * src/roff/groff/pipeline.h: Updated. * src/utils/afmtodit/afmtodit.pl: Add -v switch. * src/utils/afmtodit/Makefile.sub (afmtodit): Use @VERSION@. * src/utils/afmtodit/afmtodit.man: Updated. * src/utils/addftinfo/addftinfo.cc (main): Add -v switch. (version): New function. (usage): Updated. * src/utils/addftinfo/addftinfo.man: Updated. * src/devices/*/*, src/preproc/*/*, src/roff/*/*, src/utils/*/*: Fixing copyright dates. * src/preproc/eqn/neqn.sh: Adding GROFF_BIN_PATH to path instead of replacing it. * src/devices/grolbp/lbp.cc (main): Use Version_string instead of version_string. * src/roff/nroff/Makefile.sub (nroff): Fix use of @VERSION@.
* In all programs, make -v return immediately with exit status 0 towlemb2000-11-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | be compliant with the GNU standard. * src/devices/grodvi/dvi.cc (main), src/devices/grohtml2/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) src/preproc/eqn/main.cc (main), src/preproc/grn/main.cc (main), src/preproc/html2/pre-html.cc (main), src/preproc/pic/main.cc (main), src/preproc/refer/refer.cc (main), src/preproc/soelim/soelim.cc (main), src/preproc/tbl/main.cc (main), src/roff/groff/groff.cc (main), src/roff/troff/input.cc (main): Implement it. * NEWS: Updated. * src/roff/groff/groff.cc (main): Add copyright notice. Add refer and postprocessors to the -v option. * src/roff/grog/grog.pl: Implement -v. * src/roff/grog/Makefile.sub (grog): Use @VERSION@. * src/roff/grog/grog.man, doc/groff.texinfo: Updated. * src/roff/nroff/nroff.sh: Implement -v. * src/roff/nroff/Makefile.sub (nroff): Use @VERSION@. * src/roff/nroff/nroff.man: Updated. * src/preproc/eqn/main.cc (main): Fix comment typo. * MORE.STUFF: Added info about djgpp port of grap.
* Convert macros `tmac.XXX' to `XXX.tmac'. Special cases:wlemb2000-10-261-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tmac.doc.old -> doc-old.tmac tmac.an.old -> an-old.tmac * tmac/tmac.*: Moved to ... * tmac/*.tmac: this. * tmac/man.local: Fix comment. * tmac/groff_man.man, tmac/groff_markup.man, tmac/groff_mdoc.man, tmac/groff_me.man, tmac/groff_ms.man, tmac/groff_tmac.man: Updated. Added some `FILES' sections. More use of @...@ directives. Other minor updates. * arch/djgpp/README, font/devutf8/NOTES: Updated. * doc/homepage.ms, doc/groff.texinfo: Updated. * man/groff.man, man/roff.man: Updated. * src/devices/grodvi/grodvi.man, src/devices/grolbp/grolbp.man, src/devices/grolj4/grolj4.man, src/devices/grops/grops.man, src/devices/grotty/grotty.man: Updated. * src/preproc/pic/pic.man: Updated. * src/roff/grog/grog.pl, src/roff/grog/grog.sh: Use -mdoc-old instead of -mdoc.old. * src/roff/grog/grog.man: Document -mdoc and -mdoc-old. * src/roff/nroff/nroff.man: Updated. * NEWS: Updated. * tmac/fixmacros.sed, tmac/strip.sed: Add explanatory comment. * tmac/mm.diff: Removed -- it has no use now since the mm package is part of groff. * tmac/*: Removed trailing spaces. * arch/djgpp/t-groff.bat: Fix GROFF_TMAC_PATH (hyphen.us is now in the tmac subdirectory also).
* * src/devics/grodvi/dvi.cc: Replace _setmode() (for MSC) withwlemb2000-06-261-3/+3
| | | | | | | | | | | | SET_BINARY(). * src/include/posix.h: Use HAVE_UNISTD instead of _MSC_VER. * win32-diffs: Updated. * README.WIN32: Added CRs to make all Windows editors happy. * src/roff/troff/node.cc: Added WIFSIGNALED() macro (copied from src/roff/groff/pipeline.c).
* * src/utils/tfmtodit/tfmtodit.cc: #include nonposix.h.wlemb2000-06-181-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (tfm::load, gf::load): Open tfm and gf files in binary mode: these are binary files. (main): Support non-Posix systems with several different styles of slash characters in file names. * src/utils/pfbtops/pfbtops.c: #include nonposix.h. (main) [SET_BINARY]: Switch stdin into binary mode. * src/utils/indxbib/indxbib.cc: #include nonposix.h. (main): Support file names with several possible slash-type characters, as given by DIR_SEPS[] in nonposix.h. (main) [__MSDOS__]: If renaming the temporary index file fails because it has more than one dot in its trunk, replace the dot with an underscore and try again. (do_file): Use FOPEN_RB instead of "r". Skip every CR before a Newline. [__MSDOS__ || _MSC_VER]: Stop at the first ^Z character. * src/utils/hpftodit/hpftodit.cc: #include nonposix.h. (File::File): Open the input file in binary mode. Strip CR characters from each CR-LF pair. (xbasename): Support file names with several possible slash-type characters, as given by DIR_SEPS[] in nonposix.h. * src/include/Makefile.sub (HDRS): Add nonposix.h. * src/roff/troff/node.cc [HAVE_UNISTD_H]: Include <unistd.h>. (WIFEXITED, WEXITSTATUS, WTERMSIG, WIFSTOPPED, WSTOPSIG) [!_POSIX_VERSION]: Define for traditional Unix systems. (real_output_file::real_output_file): Remove the MSVC-specific call to popen, use instead POPEN_WT, appropriately defined on nonposix.h. #include nonposix.h. (real_output_file::~real_output_file): Remove the MSVC-specific call to pclose, a suitable macro is now defined on nonposix.h. Use the portable macros WIFEXITED, WIFSIGNALED, WTERMSIG, WSTOPSIG and WEXITSTATUS instead of assuming traditional Unix interpretation of the status returned by pclose. * src/roff/troff/input.cc (pipe_source): Remove the MSVC-specific call to popen, use POPEN_RT instead (appropriately defined on nonposix.h). #include nonposix.h. (ps_bbox_request): Open the PostScript file in binary mode. Close the file after processing it. (getpid) [_MSC_VER]: Remove; a suitable macro is now defined on nonposix.h. * src/roff/groff/pipeline.c (run_pipeline) [__MSDOS__ || _WIN32]: A version of run_pipeline that doesn't use `fork'. (signal_catcher) [__MSDOS__ || _WIN32]: New function. (system_shell_name, system_shell_dash_c) (is_system_shell) [__MSDOS__ || _WIN32]: New functions, to hide the ugliness of testing DOS/Windows file names for equality, and support both stock shells and ports of Unix shells. * src/roff/groff/groff.cc: #include nonposix.h. (BSHELL): Definition moved to nonposix.h. (main): Use PATH_SEP[0] instead of literal ':'. Use BSHELL_DASH_C instead of a literal "-c". (xbasename): Support file names with several possible slash-type characters, as given by DIR_SEPS[] in nonposix.h. (possible_command::print): Use BSHELL_DASH_C and IS_BSHELL instead of literal strings. * src/preproc/soelim/soelim.cc: #include nonposix.h. (do_file): Use IS_ABSOLUTE instead of testing for a literal '/'. * src/preproc/pic/Makefile.sub (YTABH): Change pic.tab.h to pic_tab.h. * src/preproc/pic/lex.cc: Change pic.tab.h to pic_tab.h. * src/preproc/eqn/Makefile.sub (YTABH): Rename eqn.tab.h to eqn_tab.h. * src/preproc/eqn/lex.cc: #include eqn_tab.h, not eqn.tab.h. * src/libs/libgroff/tmpfile.cc (DEFAULT_TMPDIR) [P_tmpdir]: If P_tmpdir is defined, use it instead of the literal "/tmp". (remove_tmp_files, add_tmp_file): New functions. (xtmpfile): Record temporary files and register an atexit function to delete them explicitly, instead of relying on the OS to do that, which doesn't work on non-Unix systems. * src/libs/libgroff/searchpath.cc: #include nonposix.h. (search_path::search_path): Use PATH_SEP instead of a literal colon. (search_path::command_line_dir): Ditto. (search_path::open_file): Use IS_ABSOLUTE, PATH_SEP and DIR_SEPS, to support non-Posix systems. * src/libc/libbib/search.cc: #include nonposix.h. (search_list::add_file): Open the file in binary mode. * src/libs/libbib/linear.cc: #include nonposix.h. (file_buffer::load): Remove r characters preceding n from the loaded buffer. * src/libs/libbib/index.cc: #include nonposix.h. (make_index_search_item): Open index_filename in O_BINARY mode. (index_search_item_iterator::get_tag): Ditto. Remove r characters before n characters. (index_search_item::check_files): Open files in binary mode. (index_search_item::munge_filename): Support DOS-style file names with backslashes and drive letters, use IS_ABSOLUTE. * src/devices/grops/ps.cc: #include nonposix.h. (main) [SET_BINARY]: Switch stdout to binary mode. * src/devices/grolj4/lj4.cc: #include nonposix.h. (main) [SET_BINARY]: Switch stdout to binary mode. * src/devices/grolbp/lbp.cc: #include nonposix.h (fill_pattern) [SET_BINARY]: Switch stdout to binary mode. * src/devices/grodvi/dvi.cc: #include nonposix.h. [_MSC_VER]: Remove inclusion of Windows-specific headers (done by nonposix.h). (main) [SET_BINARY]: Switch stdout to binary mode. [_MSC_VER]: Remove an explicit call to _setmode. * src/include/nonposix.h: New file. * Makefile.in (ENVSETUP): New variable, to set up case-sensitive operation when building with DJGPP. ($(TARGETS), dot, $(LIBDIRS), $(CPROGDIRS), $(CCPROGDIRS)) ($(DEVDIRS), $(TTYDEVDIRS), $(INCDIRS), $(OTHERDIRS)): Use ENVSETUP. * Makefile.comm: mv y.tab.[ch] to y_tab.[ch], to make it work on MS-DOS. (.man.n): Replace `;' with `|', since FONTPATH, MACROPATH, etc. can include a semi-colon on DOS/Windows. (depend.temp): Use depend1.temp instead of depend.temp1, to prevent files from overerwiting each other on 8+3 filesystems. * gendef.sh (t): Change definition to work with DOS/Windows. doc/groff.texinfo: Apart of some typo corrections, I also changed some index entris, to make them more non-ambiguous, and also put @ignore around some parts that are not yet written, to allow the Info output be readable.
* * doc/Makefile (clean): Include more index files.wlemb2000-04-081-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add rule texinfo->dvi. * doc/groff.texinfo: Added new index `op' for operators. More info on end of sentence characters. More use of @Deffn. * */*.man: Adding a note that a whitespace can be inserted between a command line option and its parameter -- we are using GNU getopt. * src/roff/groff/groff.man: Add example of `-m mandoc'. Correct anachronism of calling the man macro file with `-man' instead of `-m man' etc. * tmac/tmac.man, tmac/tmac.mandoc, tmac/tmac.markup, tmac/tmac.mdoc, tmac/tmac.me, tmac/tmac.ms: New files tmac.m<package> which simply load tmac.<package>. * tmac/Makefile.sub: Updated. Take care of $(tmac_an_prefix) etc. * NEWS: Updated. * doc/groff.texinfo: Updated. * tmac/groff_man.man: Copyright added. (I've basically taken groff_man.man). Introducing new indices `ma'
* * doc/groff.texinfo: Further checking/updating. Adding more indexwlemb2000-02-281-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | entries. Adapting groff to MS Visual C++ 6.0 compiler (tested with Windows NT 4.0). * src/devices/grodvi/dvi.cc: Making stdout a binary stream. * src/devices/grolj4/lj4.cc: Making getopt variables `extern "C"'. * src/devices/grohtml/html.cc, src/devices/grops/ps.cc, src/include/lib.h, src/libs/libgroff/errarg.cc, src/libs/libgroff/itoa.c, src/libs/libgroff/nametoindex.cc, src/preproc/refer/label.y, src/preproc/refer/label.cc, src/roff/groff/pipeline.c, src/roff/troff/column.cc, src/roff/troff/div.cc, src/roff/troff/env.cc, src/roff/troff/input.cc, src/roff/troff/node.cc, src/roff/troff/reg.cc: Renaming itoa() to i_to_a() and iftoa() to if_to_a() to avoid name clashes. * src/include/posix.h: Don't use unistd.h. * src/libs/libgroff/tmpfile.cc: Use `#ifndef...#else...#endif' clause for integrating non-Unix xtmpfile() code. * src/roff/troff/input.cc: Adding `public' keyword to macro_header structure; use "rt" for popen() in pipe_source(); add getpid() dummy function. * src/roff/troff/node.cc: Use special versions of popen() in real_output_file() and pclose() in ~real_output_file(). * src/devices/grolbp/Makefile.sub: Adding $(srcdir). * man/groff_font.man: Adding info about obsolete DESC keywords. * src/devices/grolj4/grolj4.man: Documenting additional DESC keywords.
* Adding a new driver, grolbp, for Canon CAPSL printers (LBP-4 andwlemb2000-02-271-4/+4
| | | | | | | | | | | | | | | | LBP-8 series laser printers). This code has been contributed by Francisco Andres Verdu <pandres@dragonet.es>. * src/devices/grolbp/*: The grolbp output device. * font/devlpb/*: The font description files. * Makefile.in: Add grolpb and devlbp subdirectories. * src/devices/grodvi/grodvi.man, src/devices/grolj4/grolj4.man, src/devices/grotty/grotty.man,src/roff/troff/troff.man: Minor typographic fixes. * doc/groff.texinfo: Further checking/updating. Adding more index entries.
* Initial revisionwlemb2000-02-063-0/+1073