fmt: hycost() for calculating hyphenation penalty
fmt: more penalty when hyphenating consecutive lines
tr: .hydash and .hystop requests
fmt: consider line length in short line cost
tr: evaluate integer arguments for most requests
tr: rename .hyp to .hycost
fmt: specify the cost of short lines
roff.h: rename \n[.kern] to \n[.kn]
dev: report bad font positions
in: report when neatroff cannot open a file
tr: .hyp should reset hyphenation cost with no arguments
tr: do not alter the line number in .chop
roff: free() everything at exit
draw: handle invalid line characters
roff: safer strcpy() and sprintf() calls
roff: long for memory size in mextend()
dict: use ints for keys
font: do not limit the number of glyphs and rules
font: ignore bad keys in iset_get() and iset_put()
font: use a set for finding rules that match the first glyph
tr: eos request to change end of sentence characters
wb: rename c_isdash() to c_dash()
fmt: fix scaledown()'s comment
ren: allow arbitrary page number characters in .tl
ren: escaped percent signs in .tl arguments
fmt: \p escape sequences for hyphenated words
ren: do not output queued lines before executing .em macro
fmt: for last lines, simply use the usual cost formula
fmt: consider the number of spaces while filling paragraphs
fmt: specify the minimum length of paragraph last lines with .pmll
ren: limit negative .sp requests to the top of the page
ren: handle explicit vertical spacing in diversions once more
ren: better diversion output in fill-mode
ren: end diversions with a newline instead of using sbuf_putnl()
tr: read transparent output escape sequence in tr.c
in: increase the size of unread characters buffer
tr: interpolate the request ending a macro
ren: reset no-space mode after vertical movements due to .ne
cp: replace \{ and \} with a space
cp: remove c_ni from strings not pushed via in_push()
tr: read the arguments of .tm and .sy in copy mode
ren: eject the first page after triggering the trap at page top
ren: .sp inside diverted text should not be inhibited after .ns
ren: assigning \n% should set the next page number
ren: requests causing line breaks should output the first page
ren: .br should flush the current partial word
char: unlike \s20, \s+20 should be parsed as \s+2\&0
eval: even for "&" and ":", only positive numbers are true
cp: skip all of the spaces after .if's open brace
Makefile: compatibility with openbsd
reg: modify y only if x is defined in .rn x y
tr: escaped spaces inside macro arguments
ren: ".ch xx" should remove the trap
reg: \n(.D is the directory containing current file
in: \n(.c when eof is reached
hyph: handle very long words in hyphenate()
roff: try x for -mx if both x.tmac and tmac.x are missing
font: allow .fmap to shadow characters
font: the third argument of .cs
wb: use SDEVWID() for glyph position adjustments
font: simplify font_featlg()
font: perform substitution rules in font order
font: rename some of font struct's fields
cp: never pass on \{ and \}
reg: extract num_inc() from num_get()
cp: handle conditional blocks with no spaces between .ie/.if and \{
ren: allow .tl with no arguments
ren: allow scale indicators for arguments of .ps
reg: \n[.ev] for the current environment name
reg: start with environment named "0"
fmt: mention that fmt.c does not perform hyphenation
font: inline glyph groups with only one glyph
font: "ggrp" lines in font descriptions define character groups
wb: call wb_putbuf() to mark hyphenation points
font: for positioning rules, always start from the current index
wb: scale glyph positioning adjustments according to wb->s
font: assign distinct hashes to rules with specific second glyphs
font: enable or disable ligatures and kerning in font_layout()
font: allocate rule->pats from the heap
font: prefer rules appearing first in the font
font: support alternative glyphs in gpos rules
font: support gsub/gpos context glyphs
wb: allow calls to wb_hmov() and wb_vmov() from wb_flushsub()
tr: handle invalid fonts in .ff
wb: find glyphs in the current font of word buffers
font: support advanced font features
hyph: make hcode_add() static
dev: the third argument of .fp can be a path
font: move font struct to font.c
wb: hyphenate, insert ligatures and kern after each subword
roff: prefer macro.tmac to tmac.macro for -mmacro
ren: do not execute tr.c requests when a character is queued in ren.c
char: break escape sequence reading functions