summaryrefslogtreecommitdiff
path: root/tmac/troffrc
Commit message (Collapse)AuthorAgeFilesLines
* * font/devdvi/generate/ec.map: Add some more Unicode entities.wlemb2003-03-011-0/+3
| | | | | | | | | | | * font/devdvi/*EC: Updated. * tmac/composite.tmac, tmac/latin2.tmac, tmac/latin9.tmac: New files. * tmac/latin1 (latin1-tr): Undo any previous mapping. * tmac/troffrc: Load `composite.tmac'. * tmac/Makefile.sub (NORMALFILES): Updated. * NEWS: Updated.
* Add US-english hyphenation exceptions (converted from Barbarawlemb2003-01-251-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Beeton's hyphenation exception log reports which appear irregularly in TUGBoat). * tmac/hyphen.us: Updated to latest version. * tmac/README: Updated. * tmac/hyphenex.us, tmac/hyphenex.sh: New files. * tmac/troffrc: Load `hyphenex.us'. * tmac/Makefile.sub (NORMALFILES): Add `hyphenex.us'. * doc/groff.texinfo: Updated. Improve hyphenation slightly. This is a first step in redesigning the hyphenation algorithm to make it more flexible (e.g. allowing kerns and ligatures between the hyphenation character and the following character -- while not used normally in English, other languages like German would benefit). * src/roff/troff/env.cc (environment::hyphenate_line): Use assertion instead of if-clause. Let `get_hyphen_list' return the number of involved characters in the hyphenation pattern instead of computing it directly (which often yields too small values). * src/roff/troff/node.h (*::get_hyphen_list): Add second parameter. * src/roff/troff/node.cc (*::get_hyphen_list): Handle new second parameter. Fixing a bug which caused groff to hang if the hyphenation exception dictionary tried to grow. * src/roff/troff/env.cc (hyphen_trie::insert_hyphenation, hyphen_trie::read_patterns_file, do_hyphenation_patterns_file): Use pointer to dictionary.
* * fonts/devcp1047/R.proto, fonts/devlatin1/R.proto,wlemb2002-03-021-2/+5
| | | | | | | | | | | | | | | | fonts/devhtml/R.proto: Remove `charXXX'entries. * tmac/tty.tmac, tmac/html.tmac: Load latin1.tmac or cp1047.tmac where appropriate. * fonts/devlj4/generate/text.map: Remove `charXXX' entries. * fonts/devlj4/*: Regenerated all font definition files. * tmac/lj4.tmac: Load latin1.tmac. * src/utils/hpftodit/hpftodit.cc (do_file): Partially undo change from 2000-06-17: LJ4 metric files are *not* text files. * tmac/troffrc, tmac/dvi.tmac, tmac/ps.tmac: Don't use .T string register to test for EBCDIC.
* * src/roff/troff/input.cc (get_delim_file_name): Removed since nowlemb2001-12-061-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | longer used. * src/devices/grohtml/post-html.cc (html_printer::html_printer): Fix order of initializers. * NEWS: Updated. * doc/groff.texinfo: Fix documentation of \O. * src/devices/grohtml/html-text.cc (html_text::do_indent, html_text::do_table, html_text::do_emittext, html_text::do_para): Use `const' for first argument. (html_text::do_table): Use cast. * src/devices/grohtml/html-text.h: Updated. * src/devices/grohtml/output.cc (simple_output::put_string): Add method for `const string &s'. * src/devices/grohtml/html.h: Updated. * src/devices/grohtml/post-html.cc (MAX_STRING_LENGTH): Removed. (ANCHOR_TEMPLATE): Modified. (manufacture_headings): New global variable to handle `-h' option. (is_subsection): Removed. (char_buffer::add_string): Add `const' to first argument. Protect against invalid string argument. Add method for `const string &s'. (text_glob): Completely redesigned. (page): Use `const' for strings and remove string length variable. (page::add_html): Removed. (page::add_end_encode): New member function. (to_unicode): Moved upwards. (title_desc, header_desc): Updated. (header_desc::write_headings): Updated to new ANCHOR_TEMPLATE definition. (html_printer::is_bold, html_printer::make_bold): New member functions. (html_printer::end_of_line): Updated. (generate_img_src, html_printer::do_auto_image, html_printer::do_title, html_printer::write_header, html_printer::determine_header_level, html_printer::do_heading, html_printer::do_linelength, html_printer::do_pageoffset, html_printer::do_indentation, html_printer::do_tempindent, html_printer::do_indentedparagraph, html_printer::do_break, html_printer::flush_sbuf, get_html_translation, html_printer::begin_page, html_printer::special): Rewritten to get rid of static string length limit. (html_printer::troff_tag): Added `.no-auto-rule'. (html_printer::flush_globs): Small fix. (html_printer::determine_space): Don't compute `space_width'. (html_printer::translate_to_html): Renamed to ... (html_printer::emit_html): This (with updates). (html_printer::write_header): Implement `-h' option. (html_printer::draw): Remove commented-out code. Handle `F' command. (html_printer::add_char_to_sbuf): Removed. (html_printer::add_to_sbuf): Rewritten. (html_printer::sbuf_continuation): Fixed. (html_printer::seen_backwards_escape, reverse, html_printer::remove_last_char_from_sbuf): Removed. (char_translate_to_html, str_translate_to_html): Removed. (html_printer::overstrike): New function member. (html_printer::set_char): Use it. (html_printer::do_body): New function member. (html_printer::~html_printer): Use it. (main): Handle `-h' option. (usage): Updated. * src/devices/grohtml/grohtml.man: Document -h switch. * src/preproc/html/pre-html.cc: Include searchpath.h Replace `POSTSCRIPTRES' macro with `postscriptRes' variable. (get_resolution): New function. (checkImageDir): Use `0777' permissions in mkdir() (write_start_image): Rewritten to use `\O[5...]'. (createImage, generateImages): Updated. (main): Handle `F' and `h' options. Use `get_resolution'. * src/roff/troff/input.cc (begin, end, image): Removed. (do_suppress): Take parameter. Handle modified syntax of `\O'. (token::next): Updated. (init_markup_requests): Removed. (main): Updated. * src/roff/troff/div.h: Add declaration for begin_page(). * tmac/color-html.tmac: Removed. Contents moved to... * tmac/html.tmac: Here. Set background color. * tmac/color.tmac: Removed. Contents moved to... * tmac/ps.tmac: Here. * tmac/www.tmac: Remove the title command when generating images for html. (NO_AUTO_RULE): New macro. (HTML_DO_IMAGE): Use revised `\O' escapes. * tmac/Makefile.sub, tmac/groff_www.man, tmac/troffrc: Updated.
* Implementing color support in troff, pic, grops, and grohtml. Thesewlemb2001-10-051-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Removing the grohtml-old device driver which is now obsolete.wlemb2001-04-141-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/devices/grohtml-old/*: Removed. * font/devhtml-old/*: Removed. * src/libgroff/htmlindicate.cc (graphic_start, graphic_end): Remove comments. * Makefile.in (CCPROGDIRS, DEVDIRS): Updated. * test-groff (PATH): Updated. * tmac/Makefile.sub (NORMALFILES): Updated. * tmac/an-old.tmac: Remove special code for html-old device. Replace `html-or-html-old' register with `an-html'. * tmac/eqnrc: Updated. * tmac/html-old.tmac: Removed. * tmac/troffrc, tmac/troffrc-end: Updated. * tmac/www.tmac: Remove special code for html-old device. Replace `html-or-html-old' register with `www-html'. * src/libgroff/tmpfile.cc (remove_tmp_files), src/libgroff/htmlindicate.cc (graphic_end), include/htmlindicate.h, src/preproc/grn/*.cc, src/roff/groff/env.{cc,h}: Remove `void' parameter if used as a single argument for consistency with rest of source code. * aclocal.m4, tmac/an-old.tmac: Fix copyright. * src/roff/troff/troff.man: Fixing typos.
* First cut of the new html device driver. Changes to pre-html andwlemb2001-01-171-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the new grohtml are too numerous to be documented here. Stuff related to `html' has been renamed to `html-old' and `html2' stuff has been renamed to `html' (including directories). The new html device driver is therefore invoked as `-Thtml'. Added new `O' escape to suppress output (needed by html driver). Added functions and code to pass info about input-level commands (`.in', `.fl', etc.) to html driver. Three new functions (.html-begin, .html-end, and .html-image) for better html handling: `html-begin' will execute the remaining line if at the outermost nesting level, increasing an internal counter. `html-end' does the same but decreases the internal counter. `html_image' puts its arguments into a special node (suppress_node) to define an image region. The `output' request has been removed. * tmac/html-tags.tmac: Removed. * tmac/arkup.tmac: Updated and renamed to ... * tmac/www.tmac: New file. * tmac/markup.tmac Updated and renamed to ... * tmac/mwww.tmac: New file. * tmac/Makefile.sub: Updated. * tmac/an-old.tmac: Updated. * tmac/eqnrc: Updated. * tmac/groff_man.man * tmac/groff_markup.man: Updated and renamed to ... * tmac/groff_mwww.man: New file. * tmac/groff_tmac.man: Updated. * tmac/html-old.tmac: Updated and Renamed from html.tmac. * tmac/html.tmac: Updated and renamed from html2.tmac. * tmac/pspic.tmac: Updated html support. * tmac/s.tmac: Added html output support. * tmac/troffrc, tmac/troffrc-end: Updated. * Makefile.in, doc/Makefile: Updated. * doc/groff.texinfo: Added info about new `O' escape. * doc/homepage.ms: Use `MAILTO' macro. * font/devhtml/DESC.proto: Add `C' font. * font/devhtml/Makefile.sub: Updated. * font/devhtml/R.proto: Minor fixes. * font/devhtml-old/Makefile.sub: Updated. * src/devices/grohtml-old/Makefile.sub: Updated. * src/libs/libdriver/printer.cc (printer::get_font_from_index): New method. * src/libs/libgroff/htmlindicate.cc (html_begin_suppress, graphic_start): Add `inline' parameter. Update. (html_end_suppress, graphic_end): Update. * src/include/html-strings.h: New file. * src/include/htmlindicate.h: Comments updated. * src/include/printer.h: Updated. * src/preproc/eqn/main.cc (do_file, main): Updated. * src/preproc/pic/troff.cc (troff_output::start_picture, troff_output::finish_picture): Updated. * src/preproc/tbl/main.cc (process_input_file): Updated. * src/roff/groff/groff.cc (main): Updated. Pass device arguments to predrivers also. Use `ps' device for `eqn' preprocessor if `-Thtml' is given. * src/roff/troff/env.h (environment): Updated. New elements `need_eol' and `ignore_next_eol' (for html output). * src/roff/troff/env.cc (environment::environment): Add initializers for `need_eol' and `ignore_next_eol'. (environment::add_html_tag_eol, environment::add_html_tag_tabs): New functions. (point_size, fill, no_fill, center, right_justify, line_length, indent, temporary_indent, break_request, handle_tab): Use `add_html_tag()'. (set_tabs): Use `add_html_tag_tabs()'. (environment::add_html_tag): Updated. (environment::do_break): Updated. * src/roff/troff/div.cc (space_request, flush_output): Use `environment::add_html_tag()'. * src/roff/troff/input.cc: Updated. New variable `html_level' to indicate nested `html-begin' requests. (file_iterator::fill): Use `environment::add_html_tag_eol()'. (non_interpreted_char_node, token_node, non_interpreted_node): Add `force_tprint()' method. (token::next): Handle `O'. (do_suppress): Implement it. (html_begin, html_end, html_image): New functions. (init_output_requests): Renamed to ... (init_html_requests): this. (main): Use it. (macro::append_str, macro::append_unsigned, macro::append_int): New methods. New variable `output_low_mark_miny' to limit minimal value of y. (reset_output_registers): Use it. (output_request): Removed. (get_output_registers): New function. * src/roff/troff/node.h (node): Make `force_tprint()' virtual. (*_node): Added `force_tprint()' if necessary. (special_node): New elements `tf' and `get_tfont()'. (suppress_node): New class. * src/roff/troff/node.cc: New global variables `image_no' and `suppress_start_page'. (real_output_file): New method `is_on()'. (troff_output_file): New method `start_special(tfont)'. (troff_output_file::really_print_line): Use `tprint' conditionally. (real_output_file::print_line): Updated. (real_output_file::on): Updated. (*_node): Added `force_tprint()'. (special_node::special_node): Initializer updated. (special_node::same, special_node::copy, special_node::tprint_start): Updated. (get_reg_int, get_reg_str): New functions. (suppress_node::*): New methods. New global variables last_position, last_image_filename; (min): New inline function. * src/roff/troff/reg.h, src/roff/troff/request.h, src/roff/troff/troff.h: Updated.
* * tmac/troffrc, tmac/troffrc-end: Convert tmac.* to *.tmac.wlemb2000-12-151-14/+14
|
* * src/devices/grotty/grotty.man: Add cp1047 device.wlemb2000-04-301-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | * src/preproc/eqn/eqn.man, src/preproc/eqn/neqn.sh, tmac/eqnrc: Ditto. * src/roff/groff/groff.man: Ditto. * src/roff/nroff/nroff.sh, src/roff/nroff/nroff.man: Ditto. * doc/groff.texinfo: Ditto. * tmac/troffrc: Fix mapping of latin-1 char 160 (non-breakable space) for cp1047. * man/groff_char.man: Add `pc' glyph. * tmac/tmac.latin1: Replacing `md' glyph with `pc'. * tmac/tmac.tty: Add `pc' glyph. * tmac/tmac.tty-char: Use/add `pc' glyph. Don't call tmac.latin1 if we use cp1047 output device. * Makefile.in, aclocal.m4: Don't build utf8 on EBCDIC hosts since there are still hardcoded latin1->unicode values in utf8's font definition files. * configure: Updated. * NEWS: Minor clarification. Updated. * PROBLEMS: Formatted. Added info about C++ fix pack for OS/390 Unix.
* * tmac/troffrc: Add tmac.lbp.wlemb2000-03-041-1/+2
| | | | | | * tmac/tmac.lbp: New file. * src/devices/grolbp/grolbp.man: Add documentation of `lbpname' command.
* Initial revisionwlemb2000-02-061-0/+27