From 92c8636a651de9db8a8114e33da27b1617bde59d Mon Sep 17 00:00:00 2001 From: wlemb Date: Tue, 13 Feb 2001 16:18:23 +0000 Subject: Redesigned the `unformat' request. It is no longer connected with `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. --- MORE.STUFF | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'MORE.STUFF') diff --git a/MORE.STUFF b/MORE.STUFF index d7de46df..ae8cc21e 100644 --- a/MORE.STUFF +++ b/MORE.STUFF @@ -86,15 +86,24 @@ available from deroff ------ -Deroff version 1.6 compiled with DJGPP is available from +Deroff removes roff constructs from documents for the purpose of indexing, +spell checking etc. + +Michael Haardt's implementation is a little smarter than +traditional implementations, because it knows about certain -man and +-mm macros. It is able to generate a word list for spell checking tools +or omit headers for sentence analysis tools. It can further generate +cpp-style #line lines. + + http://www.moria.de/deroff/ + +Version 1.6 compiled with DJGPP (for MS-DOS and all Win32 systems, i.e. +Win95, Win98, WinNT) is available from ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2apps/ and its mirrors. -Deroff removes troff, tbl, eqn and pic constructs from documents. This -version works on MS-DOS and all Win32-systems (Win95, Win98, WinNT). - miscellaneous ------------- -- cgit v1.2.1