summaryrefslogtreecommitdiff
path: root/tmac/an-old.tmac
diff options
context:
space:
mode:
authorwlemb <wlemb>2001-01-17 14:17:18 +0000
committerwlemb <wlemb>2001-01-17 14:17:18 +0000
commita701afffed51dcf73ae7bf7d9cbdef5529da9fe9 (patch)
tree2c7a7eebc9bbd098b3d60de93780bc224de45c0b /tmac/an-old.tmac
parent57e44dadb9786a2587694197dccbf58ad7a03790 (diff)
downloadgroff-a701afffed51dcf73ae7bf7d9cbdef5529da9fe9.tar.gz
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.
Diffstat (limited to 'tmac/an-old.tmac')
-rw-r--r--tmac/an-old.tmac32
1 files changed, 25 insertions, 7 deletions
diff --git a/tmac/an-old.tmac b/tmac/an-old.tmac
index 7d8ca666..5b406a07 100644
--- a/tmac/an-old.tmac
+++ b/tmac/an-old.tmac
@@ -41,12 +41,25 @@
.if !r D .nr D 0
.if !r C .nr C 0
.if !r S .nr S 10
-.if r P .pn 0\n[P]
+.\" we must use consecutive page numbers when using postscript to generate
+.\" html images, and we must not reset the page number at the beginning
+.\" (the `ps4html' register is automatically added to the command line by
+.\" the pre-html preprocessor)
+.if !r ps4html \
+. if r P .pn 0\n[P]
.if !r cR \{\
. ie n .nr cR 1
. el .nr cR 0
.\}
.
+.\" compute the value of '\*(.T'html':'\*(.T'html-old'
+.\" XXX: it would be nice to allow logical or with strings
+.
+.nr html-or-html-old 0
+.if '\*(.T'html-old' .nr html-or-html-old 1
+.if '\*(.T'html' .nr html-or-html-old 1
+.if \\n[html-or-html-old] .nr C 1
+.if r ps4html .nr C 1
.
.de set-an-margin
. nr an-margin \\n[IN]
@@ -54,6 +67,10 @@
.
.\" .TH title section extra1 extra2 extra3
.de TH
+. if '\*(.T'html' \{\
+. HTML-TAG ".tl"
+\\$1
+. \}
. cp 0
.
. de an-init \" We have to do it like this to get multiple man pages right.
@@ -95,8 +112,8 @@
. ps \\n[PS]u
. vs \\n[VS]u
.
-. ie '\*[.T]'html' .nr IN 1.2i
-. el .nr IN 7.2n
+. ie '\*[.T]'html-old' .nr IN 1.2i
+. el .nr IN 7.2n
. PD
. nr SN 3n \" the indentation of sub-sub-headings relative to sub-headings
. nr an-level 1
@@ -136,7 +153,7 @@
. ev 1
. ps \\n[PS]u
. vs \\n[VS]u
-. ie '\*[.T]'html' \
+. ie \\n[html-or-html-old] \
. tl ''''
. el \{\
. if !\\n[cR] \
@@ -161,7 +178,7 @@
. ev 1
. ps \\n[PS]u
. vs \\n[VS]u
-. ie '\*[.T]'html' \{\
+. ie \\n[html-or-html-old] \{\
. ds an-page-string
. ds an-extra1
. ds an-extra2
@@ -174,7 +191,7 @@
. ds an-page-string \\n[X]\\n[an-page-letter]
. \}
. \}
-. ie '\*[.T]'html' \
+. ie \\n[html-or-html-old] \
. tl ''''
. el \{\
. ie \\n[D] \{\
@@ -206,6 +223,7 @@
. fi
. in \\n[an-margin]u
. ti 0
+. HTML-TAG ".NH \\n[an-level]"
. it 1 an-trap
. nr an-no-space-flag 1
. nr an-break-flag 1
@@ -448,7 +466,7 @@
.ds lq \(lq
.ds rq \(rq
.
-.hy 14
+.if !\\n[html-or-html-old] .hy 14
.
.\" Load local modifications.
.mso man.local