head	1.8;
access;
symbols
	groff-1_20_1_real:1.8
	groff-1_20_1:1.8
	groff-1_20:1.8
	groff-1_19_2:1.7
	FDL:1.7
	groff-1_19_1:1.7
	groff-1_19:1.7
	groff-1_18_1:1.6
	groff-1_18:1.6
	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.8
date	2008.07.26.19.38.04;	author wl;	state Exp;
branches;
next	1.7;
commitid	zzFV6ynIM2J4Klct;

1.7
date	2002.12.11.14.26.22;	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.08.25.07.44.09;	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.07.08.26.49;	author wlemb;	state Exp;
branches;
next	1.1;

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

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


desc
@@


1.8
log
@

* tmac/eqnrc (.EQ, .EN): Provide default definitions.  Reported
by Denis M. Wilson.

* tmac/www.tmac (.EQ, .EN, .TS, .TE): Fix definitions.
@
text
@.\" Startup file for eqn.
.if !d EQ .ds EQ
.if !d EN .ds EN
.EQ
sdefine << %{ < back 20 < }%
sdefine >> %{ > back 20 > }%

sdefine dot %accent "\fR\(a.\fP"%
sdefine dotdot %accent "\fR\(ad\fP"%
sdefine vec %accent {up 52 "\s[\En[.s]/2u]\(->\s0"}%
sdefine dyad %accent {up 52 "\s[\En[.s]/2u]\(<>\s0"}%

sdefine cdot %type "binary" \(md%

ifdef X75 ! define X %1% !
ifdef X100 ! define X %1% !
ifdef X75-12 ! define X %1% !
ifdef X100-12 ! define X %1% !

ifdef ps ! define ps|X|html %1% !
ifdef X ! define ps|X|html %1% !
ifdef html ! define ps|X|html %1% !

ifdef ps|X|html ! sdefine inf %"\s[\En[.s]*13u/10u]\v'12M'\(if\v'-12M'\s0"% !

ifdef dvi !
sdefine int %{type "operator" vcenter \[integral]}%
sdefine sum %{type "operator" vcenter \[sum]}%
sdefine prod %{type "operator" vcenter \[product]}%
sdefine coprod %{type "operator" vcenter \[coproduct]}%
set num1 68
set num2 39
set denom1 69
set denom2 34
set sup1 41
set sup2 36
set sup3 29
set sup_drop 39
set sub_drop 5
set axis_height 25
set x_height 43
set default_rule_thickness 4
set big_op_spacing1 11
set big_op_spacing2 16
set big_op_spacing3 20
set big_op_spacing4 60
set big_op_spacing5 10
!

ifdef X ! set axis_height 32 !

ifdef ps|X|html ! set draw_lines 1 !

ifdef ascii ! define n %1% !
ifdef latin1 ! define n %1% !
ifdef utf8 ! define n %1% !
ifdef cp1047 ! define n %1% !
ifdef n !
set nroff 1
!

undef X
undef ps|X|html
undef n
.EN
@


1.7
log
@
Add glyph `tno', a textual variant of `no'.

* font/devX*/*: Regenerated.
* font/{devcp1047,devlatin1,devutf8,devhtml}/R.proto: Add `tno'.
* font/devdvi/generate/{tc.map: Replace `no' with `tno'.
* font/devdvi/generated/{texsy,textex}.map: Add `tno'.
* font/devdvi/*: Regenerated.
* font/devlbp/*: Add `tno'.
* font/devlj4/generate/tex.map: Replace `no' with `tno'.
* font/devlj4/*: Regenerated.
* font/devps/generate/textmap: Replace `no' with `tno'.
* font/devps/generate/symbolchars: Add `no'.
* font/devps/*: Regenerated.

* src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `tno'.

* tmac/cp1047.tmac, tmac/latin1.tmac: Replace `no' with `tno'.
* tmac/tty-char.tmac: Add entry for `tno' and `3d'.

* NEWS: Updated.

* tmac/dvi.tmac: Replace most `\\' with `\E'.
Add definition for `sd'.
* tmac/X.tmac, tmac/ps.tmac: Replace most `\\' with `\E'.

* tmac/eqnrc <dvi>: Use `integral' instead of `is' glyph.
@
text
@d2 2
@


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
@d25 1
a25 1
sdefine int %{type "operator" vcenter \(is}%
@


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
@d18 3
a20 4
ifdef ps ! define ps|X|html|html-old %1% !
ifdef X ! define ps|X|html|html-old %1% !
ifdef html ! define ps|X|html|html-old %1% !
ifdef html-old ! define ps|X|html|html-old %1% !
d22 1
a22 1
ifdef ps|X|html|html-old ! sdefine inf %"\s[\En[.s]*13u/10u]\v'12M'\(if\v'-12M'\s0"% !
d50 1
a50 1
ifdef ps|X|html|html-old ! set draw_lines 1 !
d61 1
a61 1
undef ps|X|html|html-old
@


1.4
log
@* src/include/posix.h: Remove definition of FILENAME_MAX.

* src/preproc/html2/pre-html.h, pre-html.cc: Add return type to
`sys_fatal' and `stop' function().

* test-groff: Updated.


Added the new troff command .output <arg> to suppress output (while
still obeying motion) and also the opminx, opminy, opmaxx, opmaxy
registers (for passing the output dimensions to the output device).

* src/roff/troff/div.cc (top_level_diversion::output): Use `width'
parameter.
* src/roff/troff/node.h, src/roff/troff/node.cc
(troff_output_file::really_print_line,
ascii_output_file::really_print_line,
supress_output_file::really_print_line): Use `width' parameter.
(troff_output_file::really_on, troff_output_file::really_off,
output_file::on, output_file::off, real_output_file::on,
real_output_file::off, real_output_file::really_on,
real_output_file::really_off): New functions.
(real_output_file:public output_file): New variable `output_on'.
(real_output_file::begin_page, real_output_file::copy_file,
real_output_file::transparent_char, real_output_file::print_line):
Use it.
(real_output_file::print_line): Use check_output_limits.
* src/roff/troff/reg.h, src/roff/troff/request.h,
src/roff/troff/input.cc (assign_registers): New function to remove
two `goto's.
(do_ps_file): Use it.
(check_output_limits, reset_output_registers, output_request,
init_output_requests): New functions.
(init_input_requests): Updated.

Added new grohtml2 device and html2 preprocessor (coding
not yet finished) which will eventually replace grohtml.

* Makefile.in, tmac/Makefile.sub, tmac/eqnrc, tmac/troffrc-end:
Updated.
* src/include/htmlindicate.h, src/include/htmlindicate
(html_begin_suppress, html_end_suppress): New functions.
* src/preproc/tbl/main.cc: Use it.
* src/roff/groff/groff.cc: Add support for html2 device (which will
automatically invoke the html2 preprocessor).
* src/roff/troff/input.cc (is_html2): New variable.
* src/roff/troff/troff.h, src/roff/troff/env.h,
src/roff/troff/env.cc (environment::add_html_tag): New function
(uses `is_html2').
(environment::do_break): Use it.
* font/devhtml2/*: New files.
* src/devices/grohtml2: New device.
* src/preproc/html2: New preprocessor.
* tmac/tmac.html-tags, tmac/tmac.html2: New files.
@
text
@d18 4
a21 4
ifdef ps ! define ps|X|html|html2 %1% !
ifdef X ! define ps|X|html|html2 %1% !
ifdef html ! define ps|X|html|html2 %1% !
ifdef html2 ! define ps|X|html|html2 %1% !
d23 1
a23 1
ifdef ps|X|html|html2 ! sdefine inf %"\s[\En[.s]*13u/10u]\v'12M'\(if\v'-12M'\s0"% !
d51 1
a51 1
ifdef ps|X|html|html2 ! set draw_lines 1 !
d62 1
a62 1
undef ps|X|html|html2
@


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
@d18 4
a21 3
ifdef ps ! define ps|X|html %1% !
ifdef X ! define ps|X|html %1% !
ifdef html ! define ps|X|html %1% !
d23 1
a23 1
ifdef ps|X|html ! sdefine inf %"\s[\En[.s]*13u/10u]\v'12M'\(if\v'-12M'\s0"% !
d51 1
a51 1
ifdef ps|X|html ! set draw_lines 1 !
d62 1
a62 1
undef ps|X|html
@


1.2
log
@* doc/groff.texinfo: Spelling fixes.

* src/roff/troff/TODO: Updated.

* tmac/eqnrc: Small fixes.
@
text
@d55 1
@


1.1
log
@Initial revision
@
text
@d60 1
a60 1
undef ps|X
a61 1
undef html
@


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