ren: \Z'xyz' restores current position after printing xyz
README: update the reference to neatmkfn
font: free font gdict and cdict in font_close()
hyph: ignore multi-character hcode mappings
hyph: clean up hy_dohyph()
hyph: read hcode mappings from the third argument of .hpf
hyph: read the correct file for the second argument of .hpf
hyph: overwrite hwhyph[] and hynums[] in hw_add() and hy_add()
ren: do not output completed lines unnecessarily in render_rec()
tr: clean up macrobody()
hyph: .hcode should behave like .tr
tr: do not call dict_put() unnecessarily
hyph: move the .hcode mapping to hcode_strcpy()
dict: reset dict->head in dict_init()
roff: call xmalloc() to report when neatroff is out of memory
hyph: stop at NARGS in tr_hcode()
hyph: load english hyphenation patterns with ".hpf"
dict: use dict struct where possible
hyph: allow utf-8 hyphenation patterns
ren: output completed lines with 'br
eval: report divide-by-zero errors
cp: support conditional interpolation with \?'cond@expr1@expr2@'
cp: passing arguments when interpolating strings
reg: store the current partial word in the environment
cp: \R'x n' is equivalent to .nr x n
ren: report invalid TR_DIVEND requests
cp: \E is an escape character when not in copy-mode
ren: replace \e with the current escape character
fmt: consider the whole paragraphs before traps
fmt: specifying sentence space
fmt: shrink word spaces with .ssh request
ren: executing traps while half of an input line is read
fmt: import the handling of HY_LAST and \p from ren.c
fmt: handle zero line length
hyph: search for hyphenation patterns in hyfind()
hyph: per starting character lists for the hyphenation dictionary
README: mention neateqn
fmt: preserve current font and size when hyphenating
ren: allow right-adjusted un-filled text
fmt: not hyphenating last lines if requested
fmt: new hyphenation support with penalties
fmt: filling whole paragraphs without hyphenating
fmt: collect words in fmt buffer for whole paragraphs
reg: \n[.neat] is always one!
adj: store the words as strings
adj: access n_ll and n_i directly
ren: do not use adj struct to implement .tl
dev: disallow glyph names starting with GID=
dev: introduce \[GID=xyz] as an alias for \N'xyz'
ren: end-of-sentence spacing when followed by font/size changes
dev: allow mounting fonts after S position
out: simply ignore unknown characters
dev: search special fonts to find characters by internal name
wb: report the bounding box for \w
roff.h: replace charwid_base() with DEVWID()
roff.h: replace SC_HT with SC_EM
wb: change the font just before inserting glyphs
ren: italic correction escapes
wb: interpret unknown escapes as normal characters
wb: disable ligatures and pairwise kerning while changing fonts
wb: zero-width break point (\:)
roff.h: describe the meaning of function prefixes
reg: initialize global variables in env.c
char: improve some of the comments
tr: add .fmap to map character names to glyphs
font: new syntax for defining characters and kerning pairs
tr: map font name to font position earlier for .ochar
tr: add .ochar to define a characters for a font
in: do not fclose(stdin), even if it has been renamed with .lf
tr: use cdef_*() for char definition and cmap_*() for char translation
ren: disable .char for diverted text
tr: basic .char implementation for glyph definitions
map: more compact mapping of register names
wb: remove long character names for the string passed to hyphenate()
char: add utf8one() to check if a string is a single utf-8 character
hyph: replace non-alphabetic characters with '.' in hyword()
ren: add .cl request to change color, just like \m[]
hyph: drop non-alpha characters for HY_FIRST2 and HY_FINAL2
roff.h: increase the maximum number of ligatures and kerning pairs
ren: disable ligatures and pairwise kerning when interpolating diverted text
char: handle multibyte characters in charnext_delim()
ren: include indentation in diversion width
README: reference mktrfn for creating an output device
dev: exit with an error if output device cannot be opened
roff: add -F and -M to change font and macro directories
ren: do not hyphenate last lines, if the 2nd bit of .hy is set
wb: fix handling the first and the last two characters for .hy
wb: add p, C, E and P \D drawing commands
wb: do not match single character ligatures
ren: field delimiters and padding indicators can be utf-8
char: fix a typo in the comments of sstr_*()
char: functions for reading escape sequences and characters
wb: for hyphenation compare dp and hp only when both are non-NULL
map: use starting character lists for keys[]
cp: allow \$[] and more than 9 arguments