summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Introduced simple html tables to implement indentation.wlemb2001-03-1610-213/+612
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/devices/grohtml/html.h (word, word_list): New structures. (simple_output): Use it. * src/devices/grohtml/post-html.cc: Add `INDENTATION'. (html_printer): Improve indentation handling. (html_printer::emit_raw): Set `in_table' element. Handle indentation if set. (html_printer::write_header): Move conditional downwards. Don't allow whitespace in tags. (html_printer::do_linelength): Handle line length and indentation conditionally. (html_printer::do_pageoffset): Handle indentation conditionally. (html_printer::do_indentation): Ditto. (html_printer::do_tempindent): New function member. (html_printer::do_fill): Take care of indentation. (html_printer::do_flush): Finish table. (html_printer::do_links): Ditto. (html_printer::do_break): New function for handling `.br' and `.ti'. (html_printer::troff_tag): Use it. Handle `.ti'. (html_printer::flush_globs): Fix. (html_printer::flush_page): Finish table. (html_printer::html_printer): Fix error message. Set up `linelength'. (html_printer::add_to_sbuf): Remove special handling of character code 255. (to_unicode): Remove `stop()'. (html_printer::write_title): Cleanup. (html_printer::begin_page): Use `put_string()'. Handle indentation. (html_printer::~html_printer): Flush text and end the line. Use `put_string()'. * src/devices/grohtml/html_text.h: Add more *_TAG enum values. * src/devices/grohtml/html_text.cc (html_text::end_tag): Fix emission of tags. (html_text::start_tag): Disable newlines. (html_text::table_is_void): New function. (html_text::issue_table_begin): Ditto. (html_text::issue_table_end): Ditto. (html_text::push_para): Better table handling. (html_text::do_indent): New function. (html_text::do_table): Ditto. (html_text::done_table): Ditto. (html_text::do_tt): Handle PRE_TAG. (html_text::is_in_table): New function. (html_text::check_emit_text): Handle tables. (html_text::do_emittext): Use `nl()'. (html_text::do_para): Handle table. (html_text::remove_def): New function. * src/devices/grohtml/output.cc (word, word_list): Implement methods. (simple_output::end_line): Flush last word. (simple_output::simple_comment): Ditto. (simple_output::begin_comment): Recoded. (simple_output::end_comment): Ditto. (simple_output::comment_arg): Removed. (simple_output::check_newline): Improve test and flush last word. (simple_output::space_or_newline): Improved. (simple_output::write_newline): Replaced with... (simple_output::nl): This. (simple_output::put_raw_char): Flush last word. (simple_output::check_space): Removed. (simple_output::put_translated_string): Ditto. (simple_output::put_string): Simplified. (simple_output::put_number): Updated. (simple_output::put_float): Ditto. (simple_output::put_symbol): Removed. (simple_output::enable_newlines): Add `check_newline()'. (simple_output::flush_last_word): New function. * src/roff/troff/enc.cc (no_fill): Remove call to add_html_tag(). * src/roff/troff/div.cc (page_offset): Add call to add_html_tag(). * tmac/s.tmac (@PP, @IP): Add html conditional code. * tmac/an-old.tmac (TP): Ditto. * mdate.sh: Make it POSIX compliant.
* internal updatewlemb2001-03-145-13/+33
|
* internal updatewlemb2001-03-132-71/+150
|
* internal updatewlemb2001-03-123-316/+22
|
* internal updatewlemb2001-03-091-20/+46
|
* mdate.sh: Make it POSIX compliant.wlemb2001-03-092-0/+5
|
* internal updatewlemb2001-03-091-1/+1
|
* internal updatewlemb2001-03-093-1362/+1367
|
* Added the `return' request to end a macro immediately. It simplywlemb2001-03-096-12/+85
| | | | | | | | | | | | | | | | | | | | | | | pops iterators from the input stack until a macro iterator is found. * src/roff/troff/input.cc (input_iterator::is_macro, macro_iterator::is_macro): New member. (input_return_boundary): New class to signal an immediate return to while_request(). (input_stack::add_return_boundary, input_stack::is_return_boundary): New functions. (input_stack::clear): Use it. (input_stack::pop_macro): New function. (while_request): Use `is_return_boundary()'. (return_macro_request): New function. (init_input_requests): Use it. * src/roff/troff/TODO: Updated. * NEWS, src/roff/troff/troff.man, man/groff.man: Document it. * src/roff/troff/input.cc (input_iterator::is_boundary): Minor cleanup.
* internal updatewlemb2001-03-082-22/+9
|
* Make `B' more rigid.wlemb2001-03-075-13/+52
| | | | | | | | | | | * src/roff/troff/number.cc (parse_expr, parse_term): Add `rigid' parameter. (get_number_rigidly): New function. * src/roff/troff/input.cc (do_expr_test): Use it. * src/roff/troff/token.h: Updated. * src/roff/troff/request.h: Fix typo (init_html_request -> init_markup_request).
* internal updatewlemb2001-03-071-0/+7
|
* internal updatewlemb2001-03-052-60/+129
|
* * (dummy line to force cvs update...)jhaegg2001-03-052-3/+4
|
* * S didn't reset to default point sizejhaegg2001-03-051-0/+4
|
* Fixed grohtml handling of any named glyph for glyph indexes < 0x80.wlemb2001-03-046-49/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | Cosmetic changes to `.html-begin', `.html-end', `.html-image' which are now `.begin', `.end', `.image'. * src/devices/grohtml/post-html.cc: Adding UNICODE_DESC_START. (html_printer::add_to_sbuf): Changing type of `code' parameter. Use add_char_to_sbuf(). (to_unicode): New function. (char_translate_to_html): Changing type of `ch' parameter. Use `to_unicode()'. (html_printer::~html_printer): Comment out doctype string. * src/preproc/html/pre-html.cc (write_end_image): Use `.end' instead of `.html-end'. (write_start_image): Use `.begin' and `.image' instead of `.html-begin' and `.html-image'. * src/roff/troff/input.cc: Rename `html_level' to `begin_level'. (html_begin): Renamed to ... (begin): This. (html_end): Renamed to ... (end): This. (html_image): Renamed to ... (image): This. (init_html_requests): Renamed to ... (init_markup_requests): This. * tmac/www.tmac: Updated.
* internal updatewlemb2001-03-042-27/+34
|
* internal updatewlemb2001-03-023-35/+129
|
* internal updatewlemb2001-03-022-5/+49
|
* internal updatewlemb2001-03-021-1/+4
|
* internal updatewlemb2001-03-023-99/+169
|
* internal updatewlemb2001-02-283-224/+298
|
* * src/libs/libgroff/font.cc (font_widths_cache): Fixing syntax ofwlemb2001-02-283-4/+13
| | | | | | | constructor. * doc/meref.me: Fixing some typos.
* internal updatewlemb2001-02-242-430/+194
|
* internal updatewlemb2001-02-232-5/+10
|
* internal updatewlemb2001-02-224-53/+293
|
* internal updatewlemb2001-02-221-1/+1
|
* internal updatewlemb2001-02-226-110/+263
|
* internal updatewlemb2001-02-201-200/+391
|
* internal updatewlemb2001-02-194-9/+14
|
* * src/roff/troff/node.cc (space_node::get_hyphenation_type): Newwlemb2001-02-173-0/+14
| | | | | method. Return `HYPHEN_MIDDLE' if it was `:'. * src/roff/troff/node.h: Updated.
* * tmac/groff_tmac.man: Fix typo.wlemb2001-02-172-1/+5
|
* internal updatewlemb2001-02-171-3/+3
|
* Fixing a bug which prevented proper end-of-sentence recognitionwlemb2001-02-167-17/+62
| | | | | | | | | | | | | | | | | | | | | | between an `unformatted' box and the following text. As a consequence, vertical line distances are no longer preserved in boxes after a call to `.unformat' -- because boxes aren't line-oriented (contrary to diversions), this doesn't make sense anyway. * src/roff/troff/node.cc (*node::set_unformat_flag): Add return value. (vertical_size_node::set_unformat_flag): New method. * src/roff/troff/node.hh: Updated. * src/roff/troff/input.cc (word_space_node::reread, hmotion_node::reread): Reset `unformat' flag after usage. (unformat_macro): Append only if `set_unformat_flag()' returns non-zero. * src/roff/troff/troff.man: Updated. * src/roff/troff/troff.man, NEWS, man/groff.man: Improved documentation of `asciify' and `unformat' requests.
* internal updatewlemb2001-02-162-32/+49
|
* internal updatewlemb2001-02-141-2/+2
|
* internal updatewlemb2001-02-131-19/+30
|
* Redesigned the `unformat' request. It is no longer connected withwlemb2001-02-137-144/+305
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `asciify' but rather uses new `reread()' methods if the `unformat' flag is set. Additionally, the handling of space characters after unformatting has been fixed so that they retain their width. * src/roff/troff/node.h (width_list): New structure to store original widths of spaces. (node): Added `unformat' member. Replaced `num_spaces' variable with `orig_width' list. * src/roff/troff/node.cc (*node::asciify, asciify_reverse_node_list): Removed `unformat_only' flag and related code. (word_space_node::asciify, word_space_node::word_space_node): Use `orig_width'. (word_space_node::~word_space_node): New destructor. (word_space_node::copy): Updated to handle `orig_width'. (hmotion_node::copy, unbreakable_space_node::copy): Updated. (*node::merge_space): Update `orig_width' list if necessary. (*node::set_unformat_flag): New methods to set the `unformat' flag. * src/roff/troff/enc.cc (environment::space_newline): Use `width_list'. (environment::space): Added method to handle space width and sentence space width as parameters. Use `width_list'. (environment::make_tab_node): Updated. * src/roff/troff/env.h: Updated. * src/roff/troff/input.cc (word_space_node::reread, unbreakable_space_node::reread, hmotion_node::reread): New methods to handle nodes specially if `unformat' flag is set. (do_asciify_macro): Renamed back to ... (asciify_macro): This. (unformat_macro): New implementation to simply set the `unformat' flag. * MORE.STUFF: Added more info about deroff.
* updatedwlemb2001-02-131-0/+6
|
* internal updatewlemb2001-02-132-26/+29
|
* internal updatewlemb2001-02-092-25/+32
|
* internal updatewlemb2001-02-096-478/+388
|
* * src/roff/troff/node.h (unbreakable_space_node, hmotion_node,wlemb2001-02-084-2/+74
| | | | | | | | space_char_hmotion_node, overstrike_node): Add `get_hyphen_list()' and `add_self()' methods to avoid hyphenation. For example, the hyphen list for `foo00bar' was `foobar', causing insertion of a soft hyphen after `foo'. Now the hyphen list is correctly `foo<ignore><ignore>bar'.
* internal updatewlemb2001-02-084-20/+44
|
* internal updatewlemb2001-02-071-93/+62
|
* internal updatewlemb2001-02-061-6/+8
|
* internal updatewlemb2001-02-062-241/+207
|
* * tmac/groff_tmac.man: Fix `BIR' macro.wlemb2001-02-052-1/+5
|
* internal updatewlemb2001-02-052-176/+208
|
* A new escape sequence `:', inserting a zero-width break point.wlemb2001-02-0411-148/+242
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/roff/troff/input.h: Adding `ESCAPE_COLON'. * src/roff/troff/input.cc (get_copy, token::next, asciify): Implement it. * src/roff/troff/node.h (node): Add `is_escape_colon()' virtual method. (space_node): Add `was_escape_colon' member. Add `is_escape_colon()' and `asciify()' methods. * src/roff/troff/node.cc (space_node::space_node): Updated. (space_node::asciify): Handle `was_escape_colon'. * NEWS, src/roff/troff/troff.man, man/groff.man: Document it. Handle `~' similar to other comparable requests. * src/roff/troff/input.cc (process_input_stack): Remove now obsolete label. (token::next): Move creation of an unbreakable_space_node to... (token::add_to_node_list): Here. Fix a bug which sometimes prevented hyphenation of words connected with `~' or ` ' (and other escape sequences handled as TOKEN_NODE). This also fixes a hyphenation problem with boxes (after a call to the `unformat' request). * src/roff/troff/env.h (environment::possibly_break_line, environment::hyphenate_line): Introducing `start_here' parameter. * src/roff/troff/env.cc (environment::space_newline, environment::space): Use it. (environment::possibly_break_line, environment::hyphenate_line): Implement it. * src/roff/troff/input.cc (process_input_stack): Use it. * src/roff/troff/node.h (unbreakable_space_node, hmotion_node, space_char_hmotion_node, overstrike_node): Add `get_hyphenation_type()' method. * src/roff/troff/node.cc (break_char_node::asciify): Don't asciify if `unformat_only' is active. Implemented new read-only number register `.linetabs' which returns 1 if in line-tabs mode, 0 otherwise. * src/roff/troff/env.h (environment): Add get_line_tabs() member. * src/roff/troff/env.cc (get_line_tabs): New function. (init_env_requests): Use it.