diff options
author | wlemb <wlemb> | 2001-01-17 14:17:18 +0000 |
---|---|---|
committer | wlemb <wlemb> | 2001-01-17 14:17:18 +0000 |
commit | a701afffed51dcf73ae7bf7d9cbdef5529da9fe9 (patch) | |
tree | 2c7a7eebc9bbd098b3d60de93780bc224de45c0b /tmac/s.tmac | |
parent | 57e44dadb9786a2587694197dccbf58ad7a03790 (diff) | |
download | groff-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/s.tmac')
-rw-r--r-- | tmac/s.tmac | 68 |
1 files changed, 61 insertions, 7 deletions
diff --git a/tmac/s.tmac b/tmac/s.tmac index 507e5547..9a8d65e9 100644 --- a/tmac/s.tmac +++ b/tmac/s.tmac @@ -144,6 +144,7 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. . als FE @FE .\} .wh 0 pg@top +.CHECK-FOOTER-AND-KEEP .. .wh 0 cov*first-page-init .\" This handles the case where FS occurs before TL or LP. @@ -165,13 +166,14 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. .rn @AB AB .rn @AU AU .rn @AI AI -.di cov*tl-div +.if !'\*(.T'html' .di cov*tl-div .par@reset .ft B .ps +2 .vs +3p .ll (u;\\n[LL]*5/6) .nr cov*n-au 0 +.HTML-TAG ".tl" .. .de @AU .par@reset @@ -186,7 +188,7 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. .ps \\n[PS] .. .de @AI -.par@reset +.if !'\*(.T'html' .par@reset .if !'\\n(.z'' \{\ . br . di @@ -249,7 +251,7 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. . di .\} .cov*ab-init -.di cov*ab-div +.if !'\*(.T'html' .di cov*ab-div .par@ab-indent .par@reset .if !'\\$1'no' \{\ @@ -261,9 +263,20 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. .\} .ns .@PP +.if '\*(.T'html' \{\ +. cov*tl-au-print +. als cov*tl-au-print @nop +. par@reset-env +. par@reset +. cov*print +.\} .. .de AE -.ie '\\n(.z'cov*ab-div' \{\ +.ie '\*(.T'html' \{\ +. als AE cov*err-not-again +.\} +.el \{\ +. ie '\\n(.z'cov*ab-div' \{\ . als AE cov*err-not-again . br . di @@ -271,8 +284,9 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. . par@reset-env . par@reset . cov*print +. \} +. el .@error AE without AB .\} -.el .@error AE without AB .. .de @div-end!cov*ab-div .AE @@ -289,6 +303,7 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. . bp 1 . als FS @FS . als FE @FE +. CHECK-FOOTER-AND-KEEP . \} . br .\} @@ -299,7 +314,7 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. .cov*tl-au-print .sp 3 .if d cov*ab-div \{\ -. nf +. if !'\*(.T'html' . nf . cov*ab-div .\} .sp 3 @@ -321,6 +336,7 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. .\} .als FS @FS .als FE @FE +.CHECK-FOOTER-AND-KEEP .\" If anything was printed below where the footer line is normally printed, .\" then that's an overflow. .if -\\n[FM]/2+1v+\\n[cov*page-length]<\\n[nl] .@error cover sheet overflow @@ -345,7 +361,7 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. .rs .sp 3 .ce 9999 -.cov*tl-div +.if d cov*tl-div .cov*tl-div .nr cov*i 1 .nr cov*sp 1v .while \\n[cov*i]<=\\n[cov*n-au] \{\ @@ -461,6 +477,7 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. . nr pg*gutw \\n[LL]-(\\n[pg@ncols]*\\n[pg@colw])/(\\n[pg@ncols]-1) . el .nr pg*gutw 0 .\} +.HTML-TAG ".mc \\n[pg@ncols] \\n[pg@colw] \\n[pg*gutw]" .mk pg*col-top .ns .nr pg*col-num 0 @@ -985,6 +1002,7 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. .if !rHY .nr HY 14 .hy \\n[HY] .TA +.CHECK-FOOTER-AND-KEEP .. .de par*vs .\" If it's too big to be in points, treat it as units. @@ -1206,6 +1224,7 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. .\" start boxed text .de B1 .br +.HTML-IMAGE .di par*box-div .nr \\n[.ev]:li +1n .nr \\n[.ev]:ri +1n @@ -1242,6 +1261,7 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. . par*box-draw \\n[.i]u \\n[.l]u-(\\n[.H]u==1n*1n) .\} .el .@error B2 without B1 +.HTML-IMAGE-END .. .de par*box-mark-top .ie '\\n[.z]'' \{\ @@ -1280,6 +1300,7 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. .ne 3v+\\n[\\n[.ev]:PD]u+\\n(.Vu .sp 1 .ft B +.HTML-TAG ".SH 1" .. .\" TL, AU, and AI are aliased to these in cov*ab-init. .de par@TL @@ -1289,6 +1310,7 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. .ps +2 .vs +3p .ce 9999 +.HTML-TAG ".tl" .. .de par@AU .par@finish @@ -1401,6 +1423,7 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. .nr nh*hl 0 .\" numbered heading .de @NH +.HTML-TAG ".NH \\$1" .ie '\\$1'S' \{\ . shift . nr nh*hl 0 @@ -1868,5 +1891,36 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. .ds ? \(r?\" upside down ? .ds ! \(r!\" upside down ! .. +.de CHECK-FOOTER-AND-KEEP +.\" it might be better to als FS -> B1 and FE -> B2 +.\" however this produced wierd results, so I've moved back to a more reliable +.\" but less interesting solution --fixme-- +. if '\*(.T'html' \{\ +. rm KF +. als KF KS +. rm FS +. de FS +. br +. HTML-IMAGE +\\.. +. rm FE +. de FE +. br +. HTML-IMAGE-END +\\.. +. \} +. if r ps4html \{\ +. rm FS +. de FS +. br +. HTML-IMAGE +\\.. +. rm FE +. de FE +. br +. HTML-IMAGE-END +\\.. +. \} +.. .par@load-init .\" Make sure that no blank lines creep in at the end of this file. |