Permalink
Switch branches/tags
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
522 lines (390 sloc) 15.3 KB
2018-07-01
\D escape argument with multiple consecutive spaces fixed.
Bug reported by @nbuwe in issue #73
2018-05-08
\D'A' escape fixed by Valery Ushakov
2018-05-05
Rename .elpchar variable to use same convention as .sentchar,
.transchar, etc.
2018-05-05
Add .rhanglevel to table of request names; .rhanglevel should work now.
2018-05-05
Update .elpchar for change to propchar(). .elpchar options now work the
same as .sentchar, .transchar, etc.
2018-05-05
Mark end of user-defined list in propchar(). Default list can now be
restored with \r.
2018-04-26
Improvement to issue #70 bug fix by reffort@GitHub.
2018-04-25
* Issue #70 bug fixed by reffort@GitHub:
A user-defined list of sentence-ending characters, transparent
characters, etc., can contain unwanted characters.
* Bug reported by Valery Ushakov: troff -mdoc does output header
before ditroff p command.
2018-04-15
Move typo variables into the troff environment.
2018-03-09
.lsm bugfix:
- Read argument in no-ligature mode (issue 68)
- Remove format from prefetched character of lines
starting with whitespace (issue 69)
Reported by aksr@GitHub
2018-01-28
afm.c: Conflicting math names expose a bug in dpost that puts wrong glyph
in output.
2018-01-26
Do not count sentence spaces as adjustable when doing letter adjustment.
2018-01-26
Do not take rhang into account for penalties that don't affect word spaces.
2018-01-22
Make selecting word space bins less inefficient.
2018-01-22
Take rhang into account when making decision for lastlinestretch.
2018-01-20
Various minor edits to parcomp_rf().
2018-01-20
Take rhang into account for some minor features in parcomp().
2018-01-11
Explicit hyphen penalty .exhyp now acts like the current-line hyphenation
penalty hypp1.
2018-01-08
Add .rhanglevel to take .rhang into account when breaking lines.
2018-01-08
Use correct reference to get the last character on the line when
offsetting letterspacing.
2018-01-07
More code cleanup for letshrink_rf(), letgrow_rf(), and penalty_rf().
2018-01-07
Simplify memory use for looseness.
2018-01-02
Allow lower wordspace range to be 0.
2017-12-29
When setting Heirloom mode with .wscalc 0, also set letter adjustment
method to Heirloom's (.letcalc 0). .letcalc can be changed later
if desired.
2017-12-29
Remove leftover references to two-digit .letcalc modes.
2017-12-29
Remove PDF documents.
2017-12-28
Add hypp4 to discourage hyphenating the next-to-last line of a paragraph.
2017-12-21
Modify adjpenalty to simplify TeX mode operation and recognize only one
fitness class difference.
2017-12-16
Change letlwr to letpenlwr and letupr to letpenupr to reflect request name.
2017-12-14
Overrunpenalty: penalty is now referenced to the threshold line length.
The new effective value is two times the previous value.
2017-12-14
Fix default hyphenation penalties for TeX-like presets .wscalc 10, 11, 12.
2017-12-11
wscalc: Add adapted TeX82 mode as preset 12.
Eliminates line penalty interactions, all penalties are to the same scale.
The default settings are equivalent to .wscalc 10.
2017-12-10
TeX modes: Incorporate line penalty interaction and update defaults for
.wscalc 10 and 11. Defaults are from The TeX Book (10) and the Knuth-Plass
paper (11) where different. The current line hyphenation penalty in TeX82
mode (10) now takes on the TeX meaning, e.g., it is squared in the penalty
calculations.
2017-12-09
letcalc: Delete two-phase modes (21, 31, etc.) because of disappointing
performance.
2017-12-09
adjacent line penalty: add an incremental penalty for class deltas > 1.
This further penalizes adjacent lines that are more than one class
apart.
2017-12-09
wscalc: Change numbering for TeX and KP-81 modes, and add new curves.
TeX mode changed from 5 to 10, KP-81 from 7 to 11. Modes 2 through 9
now reflect the curve's order. Modes 12 through 19 are reserved for
additional presets.
2017-12-02
Fix oversimplified cleanup for caselastlinestretch.
2017-10-17
Calculate penalty for last line of paragraph if it is justified by
.lastlinestretch.
2017-10-17
Return correct value from read-only registers .hypp, .hypp2, .hypp3.
2017-02-20
Add new requests for paragraph composition and letter adjustment.
Revert change from 2016-09-07.
2017-02-08
troff.d/otf.c : change revision test for OS/2 table to allow
the use of vertical metrics from table versions 4 and 5.
Some fonts released since about 2006 use these table versions.
troff does not use any data newer than version 2, and the table
versions are backward compatible.
2017-02-08
grap/print.c : increase buffer size to allow grap to run with
longer path names. Buffer size was set to 50 characters, which
is too small to contain a grap command that is being built plus
the path name and file name.
2016-09-07
Escapes \A and \T had unnecessary restrictions regarding the
allowed character set. This let to problems when e.g. gen-
erating man pages with TOC using -dToc. 8-bit characters are
allowed now.
2016-08-20
dpost generates valid PostScript when using fonts
with spaces in the glyph names.
(Marcin Cieślak (@FreeBSD))
2016-04-27
-mdoc: Table of contents with hyperlinks and PDF bookmarks
added.
2016-03-28
-man: Table of contents with hyperlinks and PDF bookmarks ad-
ded.
2016-03-15
eqn bug fixed which had caused crash for DWB neqn test (has
same code).
2016-03-08
grap bug fixed which had cause a double free(3) crash.
Release 160308
==============
2016-03-08
refer: Bug introduced in commit
89b1284c1de8071f3d7bb3a308cb080b8e2f311b fixed. (Reported by
Anthony J. Bentley (@OpenBSD))
Release 160217
==============
2016-02-17
tbl: Invalid memory access bug fixed. (When testing if a
line starts with '_' or '=' it did not check if the string is
empty.)
2016-02-16
.tr bugfix: When the first character given to .tr was un-
known, all character translations had been done wrong.
2016-02-11
tbl troff bug fixed: Height of table had been calculated
wrong. This could lead to graphics artifacts if a table is
at page bottom.
2016-02-10
Many changes to -man and -mdoc. Heirloom's manual page for-
matting is now quite compatible to groff.
2016-02-08
Operator 'v' added for ".if". (Some manpages using this.)
2016-02-02
-ms: Macros .QS and .QE added.
2016-01-29
Support for groff's notation \[uXXXX] added.
2016-01-26
nroff: Use of new names for .char now possible. (Up to now
only names found in the tab file could be used.)
2016-01-01
Spaces are now allowed in filenames of .cf, .fp, .lf, .nx,
and .so requests. The documentation stated that %20 could be
used to escape spaces. However this was not implemented.
The implementation has now been changed to allow spaces by
quoting the filename with '"'. Additionally character codes
up to 255 are allowed now in filenames. (Bug reported by
Jacob Parker (https://github.com/jacobp100).)
2015-12-23
groff's operator ".if F <font>" added.
2015-12-18
Support for groff's notation \[char<n>] added.
2015-12-10
File system case-sensitivity issue fixed. (Reported by Henry
McGilton.)
2015-10-28
Set previous font to current font in case of unknown font.
This is the groff behaviour. E.g. \fIfoo\fP \f(CWbar\fP blah
did underline "blah" in AT&T nroff.
2015-09-23
\n[.ns] implemented (had only been documented up to now).
2015-09-21
Basic HTML support added.
2015-09-18
Escape \I added (test if argument is a valid identifier). \I
is equivalent to groff's \A.
2015-07-14
PDFMark: \X'SetBorderStyle' added.
2015-07-08
Special groff compatibility mode for manual pages added which
is enabled when register .g is set to 1.
2015-06-24
.box bug fixed: .box did discard part of roff's state.
2015-06-22
mm(7): .PGFORM added to allow line length change inside docu-
ment.
2015-06-10
.ie-.el bug fixed. Up to now .ie-.el did not work fully re-
liable in AT&T roff. (Found during -mdoc debugging.)
2015-06-08
mdoc: Macro Lb with library definitions for FreeBSD and
NetBSD added.
2015-06-05
nroff -T37 (default), -Tlp and -Tlocale: Display of pic(7)
drawings implemented.
2015-06-04
troff -Tpost: All font description files now uppercase (for
use on case-insensitive file systems) and use of groff font
names instead of traditional names now possible with .ft and
\f.
2015-05-26
Bugfix: nroff: Local motions had not been local (did stay in
effect across line boundary).
nroff: Request \D'l ...' added.
2015-05-02
mdoc(7): .El: List type stack bug fixed.
Release 150406
==============
2015-04-02
Renamed otfdump(1) into otf_info(1) to avoid conflicts with
other tools with the same name.
2015-03-27
man, mdoc: Special characters for troff updated.
Bugfix: pic: C precedence error found by clang.
2015-03-26
tbl: Key letter 'x' added (a GNU tbl extension).
2015-03-22
mdoc macros updated for troff output.
2015-03-20
Workaround to handle some .char problems added. The .char
implementation needs to be changed eventually. Currently the
translation takes place in the input stage but it has to be
in the output stage.
man macros (nroff mode):
- Allow nine instead of six arguments
- Document formated as one large page
- mandoc(1) output layout (indent, left adjust, line length
etc.) adapted
- Workaround for pod2man(1) bug (causes empty first page) ad-
ded
Minor mdoc macro changes (indent and some special charac-
ters).
2015-03-19
\\ can now be used in fields and tables to output a \ but it
is anyway recommended to use \(rs or at least \e instead.
(Traditionally AT&T roff did reduce \\ to \ in fields and
tables so \\\\ had been need to be input for printing one \.)
Bugfix: roff: Don't recognize . (dot) as a number. Now a
path string like "./." is recognized as "not a number" in-
stead of "division by zero".
2015-03-18
Bugfix: roff: Prevent NULL pointer access when using .tr
with characters redefined by .char.
Bugfix: tbl: Prevent uninitialized pointer access.
2015-03-13
Bugfix: Using basic control character (normally ".") or no-
break control charatcer (normally "'") as first argument to
.char made roff unuseable.
2015-03-02
tbl: Option -Tlp configures output of table lines with ASCII
characters -, =, |, and + (similar to GNU nroff -Tascii).
Option -Tlocale in a non-UTF-8 locale now behaves as -Tlp.
Bugfix: tbl with option -TX: Double lines had not been
displayed correctly.
2015-02-27
tbl: Option -Tlocale added which (in an UTF-8 locale) en-
ables output of table lines with Unicode glyphs.
2015-02-26
Bugfix: The zero width flag (set e.g. by \z or \L) did not
work for Unicode characters. As a consequence e.g. \L could
not be used width \U'2551' to draw a double vertical line.
2015-02-18
Bugfix: When there were several .ft requests to not mounted
fonts in short succession the output was wrong.
2015-02-12
Read-only register .S added for DWB compatibility.
2014-12-23
mdoc: Footer had not been displayed if page length was
reached.
Release 141217
==============
2014-12-16
mdoc updated for processing up-to-date manpages. Still much
work needs to be done on mdoc.
nroff: Special character names of arbitrary length are now
possible.
nroff: Many special characters to -Tlp and -Tlocale (UTF-8)
added.
2014-12-15
nroff: Compiled in "tab.lp" and "tab.utf8" removed. The
"nterm" directory is now required for nroff (at least with
file "tab.lp" or "tab.utf8").
2014-12-13
Macro 'lsm' and number registers 'lsn' and 'lss' added.
2014-12-05
Bugfix: .unformat: \e gets restored now.
2014-11-06
Distingtion between BSD and non-BSD manuals removed (Anthony
J. Bentley).
pic, tbl, eqn: Allow whitespace between '.' and PS, PE, PF,
TS, TE, EQ, EN.
2014-11-05
With command line option '-rcR=1' -man manpages are displayed
as one large single page.
Release 141029
==============
2014-10-29
Documentation revised by Pierre-Jean Fichet: doc/fonts/
changed to use free available OTF fonts.
2014-10-27
col(1) bugfix: Avoid to access chars before string.
troff: fdprintf changed back to libc fprintf.
troff: 32 bit bug in register and macro allocation fixed
(Bug reported by Anthony J. Bentley).
nroff/troff made -Wall clean.
2014-10-22
OpenSolaris col(1) added.
2014-10-06
Drawing of filled polygon (\D'P ...'), filled circle (\D'C
...') and filled ellipse (\D'E ...') added.
2014-09-21
*roff: Option -V for version information added.
2014-09-14
Any version of roff (e.g. UNIX V7) does count \} as a macro
argument regarding \n(.$. This makes \n(.$ rather random if
you cannot force users to put \} on a separate line *or* to
put it behind the macro call and substract 1 from \n(.$. To
make \n(.$ meaningful again this bug has been fixed now, i.e.
\} is not considered as a macro argument anymore.
2014-09-07
Documentation revised by Pierre-Jean Fichet: doc/just/ and
doc/quickstart/ changed to use free available OTF fonts.
2014-09-03
Bug reported by Pierre-Jean Fichet fixed: If character '"'
is used in a .char request it did not work in a .if request
as the string compare delimiter.
2014-08-28
Bug reported by Blake McBride fixed: Very old versions of
the mm macros inserted cut marks in the document for
typesetters which had used endless paper rolls. Although
they are only of historical significance they had never been
removed in the Solaris version of mm. They are now switched
of (via .rm )k).
2014-08-23
Bugfix by Steffen Nurpmeso: In .rm code a function return
value is unchecked used as a pointer.
2014-08-20
eqn(1) did not compile because of bison to BSD yacc differ-
ences. Sorry, had not tested on Linux this time...
2014-08-18
Experimental bugfix: When .bp is directly followed by .. and
.bp triggers a macro which calls a macro then document text
is printed at that trap position. This bug is also in other
ditroff derivatives (e.g. DWB and Plan9). It is difficult to
track the bug to it's root cause so it is an experimental fix
at the moment.
2014-08-17
\fP after \fS did set the font before the previous font and
not the previous one.
2014-08-16
Bug reported by Pierre-Jean Fichet fixed: If character "!"
is used in a .char request it did not work in a .if request
as the NOT operator.
2014-08-14
The eqn parser used type int for all token values--even
pointers. This may work fine on 32 bit hardware but causes
problems on 64 bit. A new data type had been introduced to
separate int tokens from pointers.
Also a bug in the parser regarding movements (e.g. FWD) had
been fixed.
2014-07-27
A variable had been initilized after use. This variable
minus a literal value is used as an array index. When data
from the array is read an invalid memory segment is accessed.
This had caused crashes on at least OpenBSD.