Broff and a proposed net project

jaap at mcvax.UUCP jaap at mcvax.UUCP
Tue Jul 26 05:22:09 AEST 1983


	- for example, Knuth's TeX seems more powerful and seems to
	have a less baroque and difficult language.

Maybe TeX is more powerful, but it is still a difficult language.
One should read some TUG-boat newsletter (TeX user group bulletin  of
advanced typesetting ?)  and see all the articles about how to do things,
how the Branching Mechanics really works, Basic Kludges etc.
The newsletter looks like an anti-propaganda bulletin...
Also the error messages are quite cryptic. The first one I got was:
"Whoaa, you can't do this before that." Hm, talking about user friendly
systems...  So far the "Joy of TeX".

	... "broff" would be useful for programmers and other people working
	at shops which make heavy use of "nroff" and don't want to convert ...

That's another reason for not changing \n to \#.
In general, keep it full upward compatible with the existing implementations
of n/troff. Hardly anything is so frustrating than something that is
just about compatible.

	You might want to post something about hypnenation....

Just a short remark, from what I remember from two years ago, the last time
I looked to it.
The routine hyphen() in n8.c expect a pointer to a word. As far as I remember,
it returns a pointer to the same word, but with a bit set (0200) at each
character before which the hyphenation may take place. See also suftab.c.
It refuses to hyphenate words with numbers, local motions or other funny
non-ascii things inside. So it also refuses to hyphenate words with ligatures!
There is still an old plan remove this last limitation, but the road to hell
is paved with good intentions, so...

	If you know how the ".ht" (Hyphenation Threshhold)
	request works (from what I can see, there's some value assigned
	to each digram, and only digrams with values at or above the
	threshhold are hyphenated), you might post that too...

The .ht request is for debugging the hyphenation algorithm. Diagram values are
calculated by looking in the hytab.c values. There are tables that look like
char bxh[26][13]{
	0000, 0050, .... etc.
I guess these values give the chance that hyphenating between `b' and `h'
for certain characters might be correct.
So to hyphenate f.i. frysk, you have to adjust these values accordingly, and
maybe change the table(-names) to f.i. char fxr[26][8].
For Dutch we just put a complete different algorithm in, which is smaller
faster and need less tables. (It's a spin off from an old research project,
which dealed with word frequences in newspapers.)
So we have nroff and nlroff (for Dutch hyphenation). I planned (again) a new
reguest .la <one or two charname> which will allow dynamic change of the 
hyphenation algorithm.

Hope this information is useful for someone out there.

	Jaap Akkerhuis
	Mathematisch Centrum (soon to be Centrum voor Wiskunde en Informatica)
	Amsterdam

PS
An apology.
I know this article should have gone in net.text, but we don't get it (yet).



More information about the Comp.unix.wizards mailing list