bin@primate.wisc.edu (Brain in Neutral) (02/17/91)
A couple of weeks ago I posted a request as to whether there was anything out there for dealing with RTF files. Receiving no replies I went ahead and scribbled down something myself. It's not especially wonderful, so I'll make it available in hopes of getting criticisms. The stuff is available for anonymous ftp on host indri.primate.wisc.edu (128.104.230.11) in the directory ~ftp/pub/RTF. It's in shar format Questions and comments to dubois@primate.wisc.edu. Here's the current README: ------------------------------ RTF-stuff 1.04 09 Feb 91 Paul DuBois dubois@primate.wisc.edu This directory contains source and documentation (heh, heh, heh) for a simple RTF (Rich Text Format) translation tool. Files in this format can be produced with, e.g., Microsoft Word. If you use the Imakefile, you must obtain the WRPRC imake distribution. If you want to skip that and just use the Makefile you will have to edit some of the make variable definitions. Use "make -n" and "make -n install" to see what will happen on your machine first! Documentation that is in troff format should be formatted with the -ms macros. The WRPRC imake distribution is available via anonymous ftp to host indri.primate.wisc.edu (Internet address 128.104.230.11) in ~ftp/pub. The translators currently available are listed below. Most of them don't do anything interesting. rtf2null RTF -> nothing rtf2text RTF -> plain text rtf2troff RTF -> troff rtfwc "translates" RTF into character, word and paragraph count rtfdiag RTF diagnostic program, used mainly to test RTF reader rtfskel RTF translator skeleton, for use in building new translators Each translator uses a tool which reads an RTF input stream and passes pieces of it to a writer. Please note that I was working from sketchy notes on RTF, not the official specification from Microsoft (it hasn't arrived yet), thus it's very possible that the model of RTF processing used by the reader is quite wrong. There is also a tool, rtfindent, which reads an RTF file and writes it in somewhat more readable form. This is helpful when designing a translator, to see what RTF files look like, but the output should not be fed into a translator. Distribution files of interest: rtf.h RTF header file; include in any source file using RTF-specific info. reader.c RTF reader. Must be part of any RTF translator. See the sample translators for examples of use. rtfskel.c Skeleton translator. You can rip this apart to use as the basis for new translators. Porting Some notes on machine dependencies. Version History: 20 Jan 91 V1.00. Project conceived. 07 Feb 91 V1.01. First release for FTP on indri. 08 Feb 91 V1.02. Added rtfskel. 08 Feb 91 V1.03. Style reprocessing and built-in destination readers were actually tried in the balance. And found wanting. Fixed 'em. Put some actually useful stuff in rtfdiag. 09 Feb 91 V1.04. Renamed rtfAscii class to rtfText. Original name was poor since character values can be outside ascii range (> 127). -- Paul DuBois dubois@primate.wisc.edu