head	1.15;
access;
symbols
	groff-1_20_1_real:1.15
	groff-1_20_1:1.15
	groff-1_20:1.15
	groff-1_19_2:1.14
	FDL:1.14
	groff-1_19_1:1.14
	groff-1_19:1.13
	groff-1_18_1:1.9
	groff-1_18:1.9
	groff-1_17_2:1.6
	groff-1_17_1:1.6
	groff-1_17a:1.6
	groff-1_17:1.6
	groff-1_16_1b:1.3
	groff-1_16_1a:1.3
	groff-1_16_1:1.3
	groff-1_16:1.3
	groff-20000311:1.2
	groff-20000310-1:1.2
	groff-20000310:1.2
	pre-1_16:1.1.1.1
	start:1.1.1.1
	wlemb:1.1.1;
locks; strict;
comment	@# @;


1.15
date	2006.07.01.22.49.22;	author wl;	state Exp;
branches;
next	1.14;

1.14
date	2003.12.22.10.49.55;	author wlemb;	state Exp;
branches;
next	1.13;

1.13
date	2003.04.10.18.07.36;	author wlemb;	state Exp;
branches;
next	1.12;

1.12
date	2003.03.12.23.00.25;	author wlemb;	state Exp;
branches;
next	1.11;

1.11
date	2003.03.01.07.34.52;	author wlemb;	state Exp;
branches;
next	1.10;

1.10
date	2003.01.25.16.57.48;	author wlemb;	state Exp;
branches;
next	1.9;

1.9
date	2002.03.02.16.30.46;	author wlemb;	state Exp;
branches;
next	1.8;

1.8
date	2001.12.06.10.03.24;	author wlemb;	state Exp;
branches;
next	1.7;

1.7
date	2001.10.05.14.12.25;	author wlemb;	state Exp;
branches;
next	1.6;

1.6
date	2001.04.14.14.25.15;	author wlemb;	state Exp;
branches;
next	1.5;

1.5
date	2001.01.17.14.17.26;	author wlemb;	state Exp;
branches;
next	1.4;

1.4
date	2000.12.15.13.12.47;	author wlemb;	state Exp;
branches;
next	1.3;

1.3
date	2000.04.30.05.12.51;	author wlemb;	state Exp;
branches;
next	1.2;

1.2
date	2000.03.04.06.35.35;	author wlemb;	state Exp;
branches;
next	1.1;

1.1
date	2000.02.06.09.40.00;	author wlemb;	state Exp;
branches
	1.1.1.1;
next	;

1.1.1.1
date	2000.02.06.09.40.00;	author wlemb;	state Exp;
branches;
next	;


desc
@@


1.15
log
@

* tmac/pspic.tmac: Make .PSPIC work for all devices.
Print image file name for devices which don't support PS image
inclusion.
Handle multiple inclusions.
Add lots of comments.

* tmac/dvi.tmac, tmac/html.tmac, tmac/ps.tmac: Don't load
pspic.tmac.

* tmac/troffrc: Load pspic.tmac.

* man/groff_tmac.man: Update .PSPIC documentation.

* NEWS: Updated.
@
text
@.\" Startup file for troff.
.
.\" This is tested by pic.
.nr 0p 0
.
.\" Load composite mappings.
.do mso composite.tmac
.
.\" Use .do here, so that it works with -C.
.\" The groff command defines the .X string if the -X option was given.
.ie r.X .do ds troffrc!ps Xps.tmac
.el .do ds troffrc!ps ps.tmac
.do ds troffrc!dvi dvi.tmac
.do ds troffrc!X75 X.tmac
.do ds troffrc!X75-12 X.tmac
.do ds troffrc!X100 X.tmac
.do ds troffrc!X100-12 X.tmac
.do ds troffrc!ascii tty.tmac
.do ds troffrc!latin1 tty.tmac
.do ds troffrc!utf8 tty.tmac
.do ds troffrc!cp1047 tty.tmac
.do ds troffrc!lj4 lj4.tmac
.do ds troffrc!lbp lbp.tmac
.do ds troffrc!html html.tmac
.do if d troffrc!\*[.T] \
.	do mso \*[troffrc!\*[.T]]
.do rm troffrc!ps troffrc!Xps troffrc!dvi troffrc!X75 troffrc!X75-12 \
troffrc!X100 troffrc!X100-12 troffrc!lj4 troff!lbp troffrc!html
.
.\" Test whether we work under EBCDIC and map the no-breakable space
.\" character accordingly.
.do ie '\[char97]'a' \
.	do tr \[char160]\~
.el \
.	do tr \[char65]\~
.
.\" Set the hyphenation language to `us'.
.do hla us
.
.\" Load hyphenation patterns and exceptions.
.do hpf hyphen.us
.do hpfa hyphenex.us
.
.\" Handle paper formats.
.do mso papersize.tmac
.
.\" Handle PS images.
.do mso pspic.tmac
.
.\" Don't let blank lines creep in here.
@


1.14
log
@

* font/devhtml/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
and u0049_0307.
Add missing latin-2 glyphs.
* font/devutf8/R.proto: Add missing latin-2 glyphs.

* tmac/troffrc: Load `composite.tmac' earlier.

* tmac/dvi.tmac, tmac/ps.tmac, tmac/lbp.tmac: Add u00{47,67}_0306,
u00{53,73}_0327, and u0049_0307.
* tmac/X.tmac: Add u00{47,67}_0306.
* tmac/tty-char.tmac: Use composite glyph names for readability.

* NEWS: Updated.

* src/include/unicode.h: Remove `extern' keywords.
@
text
@d30 2
a31 1
.\" test whether we work under EBCDIC
d44 1
a44 1
.\" Handle paper formats
d47 3
@


1.13
log
@Add register \n[.height] which returns the value of \H.
Add register \n[.slant] which returns the value of \S.

* src/roff/troff/env.cc (init_env_requests): Implement.
* NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
Document.

* tmac/html.tmac: Move some of the data into html-end.tmac.
Remove most of the character translations for eqn since html fonts
now cover those characters.
Load www.tmac.
* tmac/html-end.tmac: New file.
* tmac/troffrc: Load html.tmac not www.tmac for -Thtml.
* tmac/troffrc-end: Load html-end.tmac not html.tmac for -Thtml.
* tmac/Makefile.sub (NORMALFILES): Add html-end.tmac.

* man/groff_out.man: Document negative values of `N' if -Thtml is
used.
@
text
@d6 3
a41 3
.
.\" Load composite mappings.
.do mso composite.tmac
@


1.12
log
@
Make variable `pr' local to libdriver/input.cc.  Based on a patch
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'.
@
text
@d21 1
a21 1
.do ds troffrc!html www.tmac
@


1.11
log
@
* font/devdvi/generate/ec.map: Add some more Unicode entities.
* 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.
@
text
@d43 3
@


1.10
log
@
Add US-english hyphenation exceptions (converted from Barbara
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.
@
text
@d40 3
@


1.9
log
@
* fonts/devcp1047/R.proto, fonts/devlatin1/R.proto,
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.
@
text
@d36 1
a36 1
.\" Load hyphenation patterns from `hyphen.us' (in the tmac directory).
d38 1
@


1.8
log
@
* src/roff/troff/input.cc (get_delim_file_name): Removed since no
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.
@
text
@d27 5
a31 2
.ie '\*(.T'cp1047' .do tr \[char65]\~
.el .do tr \[char160]\~
@


1.7
log
@

Implementing color support in troff, pic, grops, and grohtml.  These
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.
@
text
@a26 4
.\" now load up the color definitions
.do if '\*[.T]'html'  .do mso color-html.tmac
.do if !'\*[.T]'html' .do mso color.tmac
.
@


1.6
log
@Removing the grohtml-old device driver which is now obsolete.

* 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.
@
text
@d2 1
d5 1
d26 8
a33 2
.ie '\*(.T'cp1047' .do tr \[char65]
.el .do tr \[char160]
d36 1
d39 1
@


1.5
log
@First cut of the new html device driver.  Changes to pre-html and
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.
@
text
@a19 1
.do ds troffrc!html-old www.tmac
d23 1
a23 1
troffrc!X100 troffrc!X100-12 troffrc!lj4 troff!lbp troffrc!html troffrc!html-old
@


1.4
log
@* tmac/troffrc, tmac/troffrc-end: Convert tmac.* to *.tmac.
@
text
@d19 2
a20 1
.do ds troffrc!html arkup.tmac
d24 1
a24 1
troffrc!X100 troffrc!X100-12 troffrc!lj4 troff!lbp troffrc!html
@


1.3
log
@* src/devices/grotty/grotty.man: Add cp1047 device.
* 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.
@
text
@d6 14
a19 14
.ie r.X .do ds troffrc!ps tmac.Xps
.el .do ds troffrc!ps tmac.ps
.do ds troffrc!dvi tmac.dvi
.do ds troffrc!X75 tmac.X
.do ds troffrc!X75-12 tmac.X
.do ds troffrc!X100 tmac.X
.do ds troffrc!X100-12 tmac.X
.do ds troffrc!ascii tmac.tty
.do ds troffrc!latin1 tmac.tty
.do ds troffrc!utf8 tmac.tty
.do ds troffrc!cp1047 tmac.tty
.do ds troffrc!lj4 tmac.lj4
.do ds troffrc!lbp tmac.lbp
.do ds troffrc!html tmac.arkup
@


1.2
log
@* tmac/troffrc: Add tmac.lbp.


* tmac/tmac.lbp: New file.
* src/devices/grolbp/grolbp.man: Add documentation of `lbpname'
command.
@
text
@d16 1
d24 2
a25 1
.do tr \[char160]
@


1.1
log
@Initial revision
@
text
@d17 1
d22 1
a22 1
troffrc!X100 troffrc!X100-12 troffrc!lj4 troffrc!html
@


1.1.1.1
log
@groff pre-1.16 with new directory structure
@
text
@@
