summaryrefslogtreecommitdiff
path: root/man
Commit message (Collapse)AuthorAgeFilesLines
* 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).
* Adding a new keyword `papersize' to the DESC file format (similarwlemb2002-06-021-96/+285
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | but not completely identical to grolbp's extension). grops now has a -p command line option to override `papersize'. Finally, grolbp has been adapted to the new syntax. * src/libs/libgroff/paper.cc, src/include/paper.h: New files. It defines and initializes the `papersizes[]' array with NUM_PAPERSIZES elements. * src/libs/libgroff/Makefile.sub (OBJS): Add `paper.o'. (CCSRCS): Add `paper.cc'. * src/include/font.h (font): Add `papersize' element. * src/libs/libgroff/font.cc (font::unit_scale): New helper function. (font::scan_papersize): New function. (font::load_desc): Use it for handling `papersize' keyword. * src/libs/libgroff/fontfile.cc: Initialize `font::papersize'. * src/devices/grops/ps.cc: Include paper.h. (user_paper_length): New global variable. (ps_printer): Use paper length as initializer. (make_printer): Updated. (main): Handle new `-p' option. * src/devices/grops/grops.man: Updated. * src/devices/grolbp/lbp.cc: Include paper.h. s/papersizes/lbp_papersizes/. (set_papersize): Use new `papersizes' array. (handle_unknown_desc_command): Don't handle `papersize'. (main): Use `font::scan_papersize' for handling `-p' option. * src/devices/grolbp/grolbp.man: Updated. * man/groff_font.man: Document `papersize'. * NEWS: Updated.
* Add .output request, similar to \! at top-level.wlemb2002-05-272-2/+24
| | | | | | | | | | | | * src/roff/troff/input.cc (transparent): Remove unused declaration. (output_request): New function. (init_input_requests): Add it. Sorted. * NEWS, doc/groff.texinfo, man/groff_diff.man, man/groff.man: Document it. * Makefile.in (MDEFINES): Add INSTALL_INFO. * doc/groff.texinfo (@direntry): Fix it.
* Change syntax of \O: \O[0] suppresses output, \O[1] enables outputwlemb2002-05-221-4/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | if at outer level; at start-up we are at outer level. * src/roff/troff/input.cc (do_suppress): Implement it. Simplify \O[3]. Add option -p to show progress information. pre-grohtml will now render only one page at a time, reducing the size of needed disk resources enormously. * src/preproc/html/pre-html.cc (imagePageStem): Replaced with... (imagePageName): New global variable. (psPageName, show_progress, currentPageNo): New global variables. (html_system): Close saved stderr and stdout handles. (write_end_image): Accept a parameter to control \O escape. (write_start_image): Adapted to new \O meaning. (char_buffer::write_upto_newline): Updated. (createAllPages): Replaced with... (createPage): This new function to create a single page for images. It uses `psselect' from the psutils package. (removeAllPages): Removed. (createImage): Updated. Handle progress display. (char_buffer::do_html, char_buffer::do_image) [DEBUGGING]: Removed. (scanArguments): Add option -p. (makeTempFiles): Updated to create temp files for psPageName and imagePageName. (removeTempFiles): Removed. (main): Updated. * src/devices/grohtml/post-html.cc (header_desc::write_headings, html_printer::write_header): Append `\0' to `buffer'. (html_printer::do_eol): Depend on `current_paragraph->emitted_text'. (main): Handle -p. * src/devices/grohtml/html-text.cc (html_text::dump_stack_element): Handle `text_emitted'. (html_text::table_is_void): Slightly rewritten. (stop): New external symbol. (html_text::do_push) [DEBUGGING]: Use it and simplify. (html_text::shutdown): Call `dump_stack'. (html_text::do_space): Rewritten. * src/devices/grohtml/grohtml.man: Document -p and the need of `psselect'. * tmac/www.tmac (DC, HTML-DO-IMAGE, HTML-IMAGE-END): Updated to new \O syntax. Call \O[0] if `ps4html' is active. * tmac/s.tmac (@EQ, @EN): Handle html better. (@TS, TE): Ditto. * tmac/html.tmac: Don't use black for background colour. * src/roff/troff/node.cc: Include `div.h'. (troff_output_file::really_print_line): Don't use `is_on'. (troff_output_file::word_marker, troff_output_file::flush_tbuf troff_output_file::check_charinfo, troff_output_file::put_char_width, troff_output_file::put_char, troff_output_file::determine_line_limits, troff_output_file::draw, real_output_file::begin_page, glyph_color_node::tprintf, fill_color_node::tprint, hline_node::tprint, vline_node::tprint): Use `is_on'. (troff_output_file::really_on): Call `do_motion'. (suppress_node::tprint): Use `get_page_number' instead of `%' register. Call `reset_output_registers' conditionally on `is_on'. * doc/groff.texinfo: Document new syntax of \O. * NEWS, man/groff_diff.man: Updated.
* * src/roff/troff/env.cc(hyphen_trie::hpf_getc): Accept ^^x (charwlemb2002-05-151-2/+5
| | | | | code of x in range 0-127) also. * doc/groff.texinfo, man/groff_diff.man: Updated.
* Adding `warnscale' and `spreadwarn' requests, based on a patch fromwlemb2002-05-112-19/+80
| | | | | | | | | | | | | | | | | | | | | | Jeffrey Friedl <jfriedl@yahoo.com>. * src/roff/troff/input.cc (spread_limit, warn_scale, warn_scaling_indicator): New global variables. (warnscale_request, spreadwarn_requests): New functions. (main): Initialize `warn_scale' and `warn_scaling_indicator'. (init_input_requests): Updated. (error_type): Add `OUTPUT_WARNING'. (do_error): Handle it. (output_warning): New warning function which shows output location. * src/roff/troff/env.h (spread_limit): New external variable. * src/roff/troff/env.cc (environment::choose_breakpoint): Use `output_warning'. (distribute_space): Emit warning if added space is larger than `spread_limit'. (environment::possibly_break_line): Emit warning if a line can't be adjusted on both sides. * doc/groff.texinfo, man/groff_diff.man, man/groff.man: Document it.
* * doc/groff.texinfo: Don't use the string `Appendix' for appendixwlemb2002-05-031-3/+3
| | | | | | | | | | | | | | | | | | headers (both in the text and the table of contents). * man/groff_tmac.man, src/roff/troff/troff.man: Fix order of tmac directories. Use registers LL and LT (similar to -ms) for controlling the length of title and line, respectively, in the -man and -mdoc macro packages. * tmac/doc-ditroff (doc-setup-page-layout), tmac/doc-nroff (doc-setup-page-layout): Use \n[LL] and \n[LT]. * tmac/an-old.tmac: Set \n[LL] and \n[LT] if not defined. (TH): Use \n[LL]. (an-header, an-p-footer): Use \n[LT]. * NEWS, tmac/groff_man.man, tmac/groff_mdoc.man, doc/groff.texinfo: Document it.
* * doc/groff.texinfo: Integrated groff_out.man.wlemb2002-04-261-25/+25
| | | | | | Some macro fixes. * man/groff_out.man: Minor fixes.
* * man/roff.man: Enlarged.wlemb2002-04-231-211/+492
|
* * doc/groff.texinfo: More examples, other fixes.wlemb2002-04-221-1/+5
|
* * src/roff/troff/input.cc (pipe_output): Multiple calls to `pi'wlemb2002-04-201-1/+1
| | | | | | | | | | | | | | | | | | | | will now form a chain, e.g. .pi foo .pi bar is now the same as .pi foo | bar This is for compatibility with plan 9's troff. * tmac/tty.tmac: Set default tab values to 0.8i to be compatible with UNIX troff. * NEWS: Updated. * doc/groff.texinfo: Add documentation of remaining requests and registers.
* Add new escape \F to switch font family.wlemb2002-04-154-54/+86
| | | | | | | | | | | | | | | | | | * src/roff/troff/input.cc (token::next): Handle \F. * src/roff/troff/env.cc (environment::set_family): Handle `interrupted' flag. * NEWS, doc/groff.texinfo, man/groff_diff.man, man/groff.man: Document it. * tmac/doc.tmac (doc-tag-list): Use \Z to avoid stretching of spaces in tags. * tmac/Xps.tmac: Remove some redundant code. * tmac/doc-common, tmac/doc-ditroff, tmac/doc-nroff, tmac/doc.tmac, tmac/dvi.tmac, contrib/groffer/groffer.man, man/roff.man, man/groff_out.man, man/groff.man, man/groff_diff.man, src/roff/groff/groff.man: Replace \f[P] with \f[].
* Implement \f[] as an alternative to \fP. Change \mP and \MP towlemb2002-04-142-4/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | \m[] and \M[], respectively. * src/roff/troff/symbol.cc (EMPTY_SYMBOL): New global variable. (symbol::symbol): Handle NULL string and empty string differently. * src/roff/troff/symbol.h (symbol::is_empty): New inline function. * src/roff/troff/input.cc (read_escape_name, read_long_escape_name): Add optional parameter. Updated calling functions. (get_copy, do_glyph_color, do_fill_color, token::next): Use `symbol::is_empty'. * src/roff/troff/env.cc (environment::set_font): Ditto. * src/preproc/pic/troff.cc (troff_output::set_fill, troff_output::reset_color: Updated. * tmac/www.tmac: Updated. * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo, doc/homepage.ms, src/devices/grotty/grotty.man, tmac/groff_www.man: Updated. * src/include/printer.h, src/libs/libdriver/printer.cc (printer::change_fill_color): New member function. * src/libs/libdriver/input.cc (parse_D_command): Use it.
* * doc/groff.texinfo: More fixes.wlemb2002-04-112-122/+290
| | | | | | | | | | | | | | | | | | | | | | | | | * src/include/color.h: Decorate with `const'. Use `size_t'. Include `stddef.h'. * src/libs/libgroff.color.cc: Decorate with `const'. Use `size_t'. (color::color): Initialize members. * src/libs/libdriver/input.cc (parse_D_command): Handle `f' command according to the documentation. * man/groff_out.man: Updated. Minor fixes. * src/preproc/html/pre-html.cc (write_start_image): Remove redundant output. * tmac/www.tmac (DC, HTML-DO-IMAGE): Ditto. * src/devices/grohtml/post-html.cc (page::add_and_encode): Using \C'hy' caused an assertion failure. * src/roff/troff/env.cc (environment::environment): Initialize `emitted_node'. (environment::copy): Handle `ignore_next_eol' and `emitted_node'.
* * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:wlemb2002-04-102-3/+49
| | | | | | | Document pvs request and .pvs register. * doc/groff.texinfo: Improve and fix documentation of diversions and environments.
* * doc/groff.texinfo: Minor improvements.wlemb2002-04-071-9/+14
| | | | | | | * tmac/lbp.tmac: Load latin1.tmac. * tmac/X.tmac, tmac/Xps.tmac: Load latin1.tmac or cp1047.tmac. * font/devX*/*: Regenerated (all chars > 0x80 removed).
* * man/groff_diff.man: Minor fixes.wlemb2002-04-053-16/+11
| | | | | | | | | | * font/devlbp/*: Remove all `charXXX' entities. * src/libs/libgroff/font.cc (font::~font): Deallocate `special_device_coding'. (font::load): Use `new' for allocating `special_device_coding'. * src/libs/libgroff/nametoindex.cc (character_indexer::lookup_char): Removed unused member.
* Sync description of hcode with groff.texinfowlemb2002-03-271-3/+3
|
* Add three glyphs `t+-', `tmu', and `tdi' which are textual variantswlemb2002-03-261-0/+8
| | | | | | | | | | | | | | | | | | | | | of `+-', `mu', and `di', respectively. * font/devascii/R.proto, font/devutf8/R.proto, font/devlatin1/R.proto, font/devhtml/R.proto, font/devcp1047/R.proto, font/devlpb/*: Add them. * font/devps/generate/textmap: Ditto. * font/devps/*: Regenerated. * font/devlj4/generate/text.map: Add them. * font/devlj4/*: Regenerated. * font/devdvi/generate/tc.map: Use them. * font/devdvi/generate/texsy.map: Add them. * font/devdvi/*: Regenerated. * font/devX*/*: Regenerated. * tmac/latin1.tmac, tmac/cp1047.tmac, tmac/tty.tmac, tmac/tty-char.tmac: Updated. * NEWS, man/groff_char.man: Updated.
* * tmac/dvi.tmac, tmac/X.tmac: Replace `.char' with `.fchar'.wlemb2002-03-241-0/+4
| | | | | | | | * tmac/ec.tmac: Remove `.rchar' calls (no longer necessary since we use `.fchar' in dvi.tmac. * tmac/Xps.tmac: Simplify some char definitions. Add definition for \[f/]. * man/groff_char.man: Updated for new X.tmac.
* Improve handling of hyphenation patterns. It is now possible towlemb2002-03-222-8/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | use most of TeX's pattern files unmodified. To make the process more flexible, a new request `hpfcode' has been added which provides a character code mapping for the `hpf' request. See comment before hpf_getc() for more details. * src/roff/troff/env.cc (insert_hyphenation, hpf_getc): New functions. (read_patterns_file): Additional parameter for exception dictionary. Extended to recognize \pattern, \hyphenation, and \endinput. (do_hyphenation_patterns_file): Updated. * src/roff/troff/env.h (hpf_code_table): New extern. * src/roff/troff/input.cc (hpf_code_table): New array. (init_hpf_code_table, hyphenation_patterns_file_code): New functions. (hyphenation_code): Handle translation from `trin' correctly. (main, init_input_requests): Updated. (charinfo::set_translation): Handle hyphenation code also. * src/roff/troff/charinfo.h (charinfo::get_translation_input): New inline function. * src/roff/troff/env.cc (WORD_MAX): Reduced to 256 since `unsigned char' is used for offsets in hyphenation exceptions. * tmac/hyphen.us: Replace with contents of unmodified `hyphen.tex'. * NEWS, man/groff_diff.man, man/groff.man: Document it. * doc/groff.texinfo: Document possible conflict between `tr' and `char' requests.
* Added request `hpfa' to append hyphenation patterns.wlemb2002-03-172-1/+13
| | | | | | | | | | | * src/roff/troff/env.cc (hyphen_trie::read_patterns_file): Add parameter `append'. (hyphenation_patterns_file): Renamed to... (do_hyphenation_patterns_file): This. (hyphenation_patterns_file, hyphenation_patterns_file_append): New functions. (init_hyphen_requests): Updated. * NEWS, man/groff.man, man/groff_diff.man: Document it.
* Added request `writec' in analogy to `tmc'.wlemb2002-03-162-1/+12
| | | | | | | | | * src/roff/troff/input.cc (write_request): Renamed to... (do_write_request): This. Added one parameter. (write_request, write_request_continue): New functions. (init_input_requests): Updated. * NEWS, man/groff.man, man/groff_diff.man: Document it.
* Add request `trin' (translate input) to make `.asciify' workwlemb2002-03-152-55/+108
| | | | | | | | | | | | | | | | | | | | | | correctly. This is necessary since `charXXX' entity names are no longer hardcoded in font definition files. * src/roff/troff/charinfo.h (charinfo): Add `asciify_code' and `translate_input' members. (charinfo::set_asciify_code, charinfo::get_asciify_code, charinfo::set_translation_input): New methods. (charinfo::set_translation): Add third argument. * src/roff/troff/input.cc (charinfo:set_translation): Set `asciify_code'. (do_translate): Add second argument. (translate_input): New function. (init_input_requests): Updated. * src/roff/troff/node.cc (glyph_node::asciify, composite_node::asciify): Use `get_asciify_code'. * tmac/cp1047.tmac, tmac/latin1.tmac: Use `trin'. * NEWS, man/groff.man, man/groff_diff.man: Updated.
* Add a new request `sizes' similar to the `sizes' command in DESCwlemb2002-03-143-1/+32
| | | | | | | | | | | files. * src/roff/troff/env.cc (override_sizes): New function. (init_env_requests): Use it. * src/roff/troff/token.h: Export `read_string'. * NEWS, man/groff_diff.man, man/groff.man: Document it. * doc/groff.texinfo: More fixes for texinfo 4.1 and higher.
* * src/utils/afmtodit/afmtodit.pl: Skip comment lines in encodingwlemb2002-03-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | files (as grops already does). * src/utils/afmtodit/afmtodit.man: Document comment lines in map files. * src/devices/grops/grops.man: Document comment lines in encoding files. * tmac/cp1047.tmac: New file. * tmac/dvi.tmac, tmac/tty-char.tmac: Use it. * tmac/ps.tmac: Load latin1.tmac or cp1047.tmac. * tmac/Makefile.sub (NORMALFILES): Updated. * tmac/ec.tmac: Don't load latin1.tmac again. * fonts/devps/generate/lgreekmap, fonts/devps/generate/symbolchars, fonts/devps/generate/dingbats.map, fonts/devps/generate/dingbats.rmap, fonts/devps/text.enc, fonts/devps/generate/Makefile (symbolmap): Add header comment. * fonts/devps/generate/textmap: Ditto. Remove `charXXX' entries. * fonts/devps/symbolmap: Regenerated. * fonts/devps/*: Regenerated all font definition files.