diff options
author | wlemb <wlemb> | 2001-01-17 14:17:20 +0000 |
---|---|---|
committer | wlemb <wlemb> | 2001-01-17 14:17:20 +0000 |
commit | 294359e6b4d7e34c7762580bbfeb5e73deebe778 (patch) | |
tree | 60b49f99fa015b03fd534fca6fda438893f9da50 | |
parent | a701afffed51dcf73ae7bf7d9cbdef5529da9fe9 (diff) | |
download | groff-294359e6b4d7e34c7762580bbfeb5e73deebe778.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.
-rwxr-xr-x | font/devhtml2/DESC.proto | 12 | ||||
-rwxr-xr-x | font/devhtml2/Makefile.sub | 34 | ||||
-rwxr-xr-x | font/devhtml2/R.proto | 315 |
3 files changed, 361 insertions, 0 deletions
diff --git a/font/devhtml2/DESC.proto b/font/devhtml2/DESC.proto new file mode 100755 index 00000000..e245441c --- /dev/null +++ b/font/devhtml2/DESC.proto @@ -0,0 +1,12 @@ +res 240 +hor 24 +vert 40 +unitwidth 10 +sizes 6 8 10 12 14 16 18 0 +fonts 6 R I B BI C S +tcommand +html +postpro post-grohtml +prepro pre-grohtml +use_charnames_in_special +pass_filenames diff --git a/font/devhtml2/Makefile.sub b/font/devhtml2/Makefile.sub new file mode 100755 index 00000000..df56914e --- /dev/null +++ b/font/devhtml2/Makefile.sub @@ -0,0 +1,34 @@ +DEV=html +PROTOFONTS=R I B BI CR +FONTS=$(PROTOFONTS) S +DEVFILES=$(FONTS) DESC +CLEANADD=$(FONTS) DESC + +RES=240 +CPI=10 +LPI=6 + +$(FONTS): R.proto + @echo Making $@ + @-rm -f $@ + @(charwidth=`expr $(RES) / $(CPI)` ; \ + sed -e "s/^name [A-Z]*$$/name $@/" \ + -e "s/^\\([^ ]*\\) [0-9]+ /\\1 $$charwidth /" \ + -e "s/^spacewidth [0-9]+$$/spacewidth $$charwidth/" \ + -e "s/^internalname .*$$/internalname $@/" \ + -e "/^internalname/s/CR/4/" \ + -e "/^internalname/s/BI/3/" \ + -e "/^internalname/s/B/2/" \ + -e "/^internalname/s/I/1/" \ + -e "/^internalname .*[^ 0-9]/d" \ + $(srcdir)/R.proto >$@) + +DESC: DESC.proto + @echo Making $@ + @-rm -f $@ + @sed -e "s/^res .*$$/res $(RES)/" \ + -e "s/^hor .*$$/hor `expr $(RES) / $(CPI)`/" \ + -e "s/^vert .*$$/vert `expr $(RES) / $(LPI)`/" \ + -e "s/^fonts .*$$/fonts `set $(FONTS); echo $$#` $(FONTS)/" \ + $(srcdir)/DESC.proto >$@ + diff --git a/font/devhtml2/R.proto b/font/devhtml2/R.proto new file mode 100755 index 00000000..f2c9d248 --- /dev/null +++ b/font/devhtml2/R.proto @@ -0,0 +1,315 @@ +name R +internalname 0 +spacewidth 24 +charset +! 24 0 0x0021 +" 24 0 0x0022 " +dq " +# 24 0 0x0023 +sh " +$ 24 0 0x0024 +Do " +% 24 0 0x0025 +& 24 0 0x0026 & +aq 24 0 0x0027 +' " +( 24 0 0x0028 +) 24 0 0x0029 +* 24 0 0x002A ++ 24 0 0x002B +pl " +, 24 0 0x002C +\- 24 0 0x002D +hy " +- " +mi " +en " +. 24 0 0x002E +/ 24 0 0x002F +sl " +0 24 0 0x0030 +1 24 0 0x0031 +2 24 0 0x0032 +3 24 0 0x0033 +4 24 0 0x0034 +5 24 0 0x0035 +6 24 0 0x0036 +7 24 0 0x0037 +8 24 0 0x0038 +9 24 0 0x0039 +: 24 0 0x003A +; 24 0 0x003B +< 24 0 0x003C < +la " += 24 0 0x003D +eq " +> 24 0 0x003E > +ra " +? 24 0 0x003F +@ 24 0 0x0040 +at " +A 24 0 0x0041 +B 24 0 0x0042 +C 24 0 0x0043 +D 24 0 0x0044 +E 24 0 0x0045 +F 24 0 0x0046 +G 24 0 0x0047 +H 24 0 0x0048 +I 24 0 0x0049 +J 24 0 0x004A +K 24 0 0x004B +L 24 0 0x004C +M 24 0 0x004D +N 24 0 0x004E +O 24 0 0x004F +P 24 0 0x0050 +Q 24 0 0x0051 +R 24 0 0x0052 +S 24 0 0x0053 +T 24 0 0x0054 +U 24 0 0x0055 +V 24 0 0x0056 +W 24 0 0x0057 +X 24 0 0x0058 +Y 24 0 0x0059 +Z 24 0 0x005A +[ 24 0 0x005B +lB " +\ 24 0 0x005C +rs " +] 24 0 0x005D +rB " +^ 24 0 0x005E +a^ " +ha " +_ 24 0 0x005F +ru " +ul " +` 24 0 0x0060 +a 24 0 0x0061 +b 24 0 0x0062 +c 24 0 0x0063 +d 24 0 0x0064 +e 24 0 0x0065 +f 24 0 0x0066 +g 24 0 0x0067 +h 24 0 0x0068 +i 24 0 0x0069 +j 24 0 0x006A +k 24 0 0x006B +l 24 0 0x006C +m 24 0 0x006D +n 24 0 0x006E +o 24 0 0x006F +p 24 0 0x0070 +q 24 0 0x0071 +r 24 0 0x0072 +s 24 0 0x0073 +t 24 0 0x0074 +u 24 0 0x0075 +v 24 0 0x0076 +w 24 0 0x0077 +x 24 0 0x0078 +y 24 0 0x0079 +z 24 0 0x007A +lC 24 0 0x007B +{ " +ba 24 0 0x007C +or " +| " +rC 24 0 0x007D +} " +a~ 24 0 0x007E +~ " +ti " +r! 24 0 0x00A1 ¡ +char161 " +ct 24 0 0x00A2 ¢ +char162 " +Po 24 0 0x00A3 £ +char163 " +Cs 24 0 0x00A4 ¤ +char164 " +Ye 24 0 0x00A5 ¥ +char165 " +bb 24 0 0x00A6 ¦ +char166 " +sc 24 0 0x00A7 § +char167 " +ad 24 0 0x00A8 ¨ +char168 " +co 24 0 0x00A9 © +char169 " +Of 24 0 0x00AA ª +char170 " +Fo 24 0 0x00AB « +char171 " +no 24 0 0x00AC ¬ +char172 " +rg 24 0 0x00AE ® +char174 " +a- 24 0 0x00AF ¯ +char175 " +de 24 0 0x00B0 ° +char176 " ++- 24 0 0x00B1 ± +char177 " +S2 24 0 0x00B2 ² +char178 " +S3 24 0 0x00B3 ³ +char179 " +aa 24 0 0x00B4 ´ +\' " +char180 " +char181 24 0 0x00B5 µ +ps 24 0 0x00B6 ¶ +char182 " +pc 24 0 0x00B7 · +char183 " +ac 24 0 0x00B8 ¸ +char184 " +S1 24 0 0x00B9 ¹ +char185 " +Om 24 0 0x00BA º +char186 " +Fc 24 0 0x00BB » +char187 " +14 24 0 0x00BC ¼ +char188 " +12 24 0 0x00BD ½ +char189 " +34 24 0 0x00BE ¾ +char190 " +r? 24 0 0x00BF ¿ +char191 " +`A 24 0 0x00C0 À +char192 " +'A 24 0 0x00C1 Á +char193 " +^A 24 0 0x00C2 Â +char194 " +~A 24 0 0x00C3 Ã +char195 " +:A 24 0 0x00C4 Ä +char196 " +oA 24 0 0x00C5 Å +char197 " +AE 24 0 0x00C6 Æ +char198 " +,C 24 0 0x00C7 Ç +char199 " +`E 24 0 0x00C8 È +char200 " +'E 24 0 0x00C9 É +char201 " +^E 24 0 0x00CA Ê +char202 " +:E 24 0 0x00CB Ë +char203 " +`I 24 0 0x00CC Ì +char204 " +'I 24 0 0x00CD Í +char205 " +^I 24 0 0x00CE Î +char206 " +:I 24 0 0x00CF Ï +char207 " +-D 24 0 0x00D0 Ð +char208 " +~N 24 0 0x00D1 Ñ +char209 " +`O 24 0 0x00D2 Ò +char210 " +'O 24 0 0x00D3 Ó +char211 " +^O 24 0 0x00D4 Ô +char212 " +~O 24 0 0x00D5 Õ +char213 " +:O 24 0 0x00D6 Ö +char214 " +mu 24 0 0x00D7 × +char215 " +/O 24 0 0x00D8 Ø +char216 " +`U 24 0 0x00D9 Ù +char217 " +'U 24 0 0x00DA Ú +char218 " +^U 24 0 0x00DB Û +char219 " +:U 24 0 0x00DC Ü +char220 " +'Y 24 0 0x00DD Ý +char221 " +TP 24 0 0x00DE Þ +char222 " +ss 24 0 0x00DF ß +char223 " +`a 24 0 0x00E0 à +char224 " +'a 24 0 0x00E1 á +char225 " +^a 24 0 0x00E2 â +char226 " +~a 24 0 0x00E3 ã +char227 " +:a 24 0 0x00E4 ä +char228 " +oa 24 0 0x00E5 å +char229 " +ae 24 0 0x00E6 æ +char230 " +,c 24 0 0x00E7 ç +char231 " +`e 24 0 0x00E8 è +char232 " +'e 24 0 0x00E9 é +char233 " +^e 24 0 0x00EA ê +char234 " +:e 24 0 0x00EB ë +char235 " +`i 24 0 0x00EC ì +char236 " +'i 24 0 0x00ED í +char237 " +^i 24 0 0x00EE î +char238 " +:i 24 0 0x00EF ï +char239 " +Sd 24 0 0x00F0 ð +char240 " +~n 24 0 0x00F1 ñ +char241 " +`o 24 0 0x00F2 ò +char242 " +'o 24 0 0x00F3 ó +char243 " +^o 24 0 0x00F4 ô +char244 " +~o 24 0 0x00F5 õ +char245 " +:o 24 0 0x00F6 ö +char246 " +di 24 0 0x00F7 ÷ +char247 " +/o 24 0 0x00F8 ø +char248 " +`u 24 0 0x00F9 ù +char249 " +'u 24 0 0x00FA ú +char250 " +^u 24 0 0x00FB û +char251 " +:u 24 0 0x00FC ü +char252 " +'y 24 0 0x00FD ý +char253 " +Tp 24 0 0x00FE þ +char254 " +:y 24 0 0x00FF ÿ +char255 " +\` 24 0 0x2018 ` +ga " |