groff
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Groff] The future redux


From: Deri James
Subject: Re: [Groff] The future redux
Date: Wed, 26 Feb 2014 00:53:29 +0000
User-agent: KMail/4.10.5 (Linux/3.10.28-desktop-1.mga3; KDE/4.10.5; x86_64; ; )

I have, so far, kept silent on future direction for groff, since my own use for 
groff is probably very rare, so my opinion should not carry much weight. I 
use groff as a typesetting engine called from a front end which produces a 
troff file which is then passed to groff to produce output. The troff file uses 
just the basic troff commands, no macro calls. For this reason I am only 
interested in the presentation side of the argument.

I completely agree with the separation of style content and logic, but I do 
this in the front end rather than in the troff file. The front end is designed 
to produce high quality custom reports, the sort of thing you receive from 
your bank showing performance of investments or pension pot, so every 
report is different for each person because the investments are different, 
and potentially this report may go to thousands of customers, each one 
different.

There are many packages in the report production arena, and I know of 
many large companies who have discovered that they do not scale well to 
large volumes, whereas groff has a linear speed based on the size of the 
troff file.

The front end I have written, which sits in front of groff, takes 3 types of 
information:-

A csv type file, this is the content, i.e. the data which will appear in the 
report,
A template file which specifies the style of the report, and
A program file which is my own report definition language, which supplies 
the logic for moving the content to the template.

The template file has similarities to a css file (this was developed before 
css came out as a standard), plus a bit of a little known desktop 
publishing program for the Acorn Archimedes (Ovation) in the late 80s.

The program file would look quite familiar to anyone who knows "filetab" 
(RPL-3 on IBM). This is a decision table based language. 
(http://en.wikipedia.org/wiki/Filetab

These three elements are combined to produce a troff file which is then 
run through groff.

Since this system is purely intended to produce files for printing (pdf or 
postscript) or viewing (pdf locked to prevent editing). There is no semantic 
markup required, all I want is a fast engine which handles the typography.

If you are interested in looking at an example of a single page produced 
by the front end system using groff there is an example in the tar archive 
at:-

http://chuzzlewit.co.uk/Example.tgz

Deri



reply via email to

[Prev in Thread] Current Thread [Next in Thread]