
From aliqrudi@gmail.com Fri Jul 26 17:19:57 2013
Date: Fri, 26 Jul 2013 17:18:30
From: Ali Gholami Rudi <aliqrudi@gmail.com>
To: groff@gnu.org
Subject: [Groff] Announcing Neatroff

Hello,

Neatroff is a new troff implementation in C programming language and
under the Modified BSD Licence.  Although it does not implement most
of the extensions available in Groff or Heirloom troff, it does
implement a few of their convenient features:

* Assumes UTF-8 encoding
* Named environments
* Long macro, register and environment names
* Color support
* Font pairwise kerning and arbitrary font ligatures
* Text direction for right-to-left languages

Links:
* A brief introduction: http://litcave.rudi.ir/neatroff.pdf
* Neatroff's Git repository: git://repo.or.cz/neatroff.git
* Neatpost's Git repository: git://repo.or.cz/neatpost.git
  (neatroff's postscript postprocessor)

	Ali



From aliqrudi@gmail.com Fri Jul 26 21:10:02 2013
Date: Fri, 26 Jul 2013 20:35:06
From: Ali Gholami Rudi <aliqrudi@gmail.com>
To: Heinz-Jürgen Oertel <hj.oertel@t-online.de>
Cc: groff@gnu.org
Subject: Re: [Groff] Announcing Neatroff

Heinz-Jürgen Oertel <hj.oertel@t-online.de> wrote:
> > > * Assumes UTF-8 encoding
> > > * Named environments
> > > * Long macro, register and environment names
> > > * Color support
> > > * Font pairwise kerning and arbitrary font ligatures
> > > * Text direction for right-to-left languages
> > > 
> > > Links:
> > > * A brief introduction: http://litcave.rudi.ir/neatroff.pdf
> > > * Neatroff's Git repository: git://repo.or.cz/neatroff.git
> > > * Neatpost's Git repository: git://repo.or.cz/neatpost.git
> > >   (neatroff's postscript postprocessor)
> > > 
> > > 	Ali
> > > 
> > 
> > May I ask for the reasons to start a new development?
> > Regards
> >    Heinz
>
> OK, i read the introduction at http://litcave.rudi.ir/neatroff.pdf.

Actually I was long contemplating starting a modern pure C
implementation of troff; Plan 9 troff, Open Solaris troff, and
Heirloom troff are all derived from the original troff; very short and
difficult to decipher global variable and function names make their
source code very difficult to follow.

When I needed a fully UTF-8 compatible troff clone with features such
as text direction, I naturally decided to modify one of the available
implementations.  After some examination, I decided to extend Plan
9 troff, which was already UTF-8 compatible; I ported it to Linux
(git://repo.or.cz/troff.git), changed its font handling to make it
more similar to the original troff or Groff, included a few fixes, and
implemented text direction.

However, the difficulty of changing this implementation for some of my
needs and importing some of the features absent in Plan9 troff
convinced me to start neatroff.

	Ali


