On Thu Nov 14, 2024 at 6:44 PM CET, G. Branden Robinson wrote:
> Hi folks,
>
> tl;dr: Please nominate items for the groff 1.24.0 release announcement!
> [...]
eqn
---
* The "gifont" primitive replaces "gfont" as the means of configuring
the global italic face in preprocessed equations. "gfont" remains
recognized as a synonym for backward compatibility. The new name is
intended to ease acquisition of the eqn language in light of GNU
eqn's thirty-year-old extensions "gbfont" and "grfont".
A breaking change that should definitely be included.
* New parameters tunable with the GNU eqn "set" primitive, "half_space"
and "full_space", enable a document to configure the space widths
produced by the eqn tokens '^' and '~', respectively. Previously,
their widths were determined by the "thin_space" and "thick_space"
parameters used to tune GNU eqn's automatic spacing computations.
Seems like a nice addition to me, but might not interest others.
troff
-----
* A new read-only, string-valued register, `.trap`, interpolates the
name of the next page location trap after the drawing position.
Seems nice.
* Numeric expression contexts that accept the `z` and `u` scaling
units, such as the `ps` request and `\s` escape sequence, now also
accept `p` and `s`.
parameters used to tune GNU eqn's automatic spacing computations.
I always considered the fact .ps didn't accept the p unit weird.
* A new request, `hydefault`, and read-only register, `.hydefault`,
manage the default automatic hyphenation mode of an environment.
This resolves a long-standing problem of *roff formatting.
When processing input like this,
.nh
and we temporarily shut off automatic hyphenation,
.hy
the foregoing request would not do exactly what we expect.
AT&T and other troffs would set the hyphenation mode to 1 instead of
the previous value; for GNU troff this was not an appropriate value
for the English hyphenation patterns. (For example, "alibi" would
break as "ali-bi" instead of "al-ibi" after this argumentless `hy`
invocation.) With updates to groff's localization files accompanying
this release, the foregoing input now works as desired.
Seems like one of the highlights to me.
* gropdf(1), the PDF output driver, now allows embedding of JFIF/JPEG
and JPEG 2000 image file formats. If PerlMagick is installed, many
more image file formats, including PNG, PAM, and GIF can be embedded.
See also the item regarding `PDFPIC` above. Thanks to Deri James.
Here is another. Guess I will have to consider switching to -Tpdf
instead of -Tps | ps2pdf...
* GNU troff now performs some limited processing/transformation of the
argument to the `\X` escape sequence and its counterpart `device`
request, to address the requirement that some documents have to pass
metadata that must encode non-ASCII characters in device extension
commands. (For example, a document author may desire a document's
section headings containing non-ASCII code points to appear correctly
in PDF bookmarks. Further, GNU troff encodes its output page
description language only in ASCII.) This change is expected to be
of significance mainly to developers of output drivers for groff;
groff_diff(7) describes the transformations. If you have been using
`\X` or `.device` to pass ASCII data to the output driver as a device
extension command and require that it remain precisely as-is, use the
`\!` escape sequence or `output` request, and prefix your data with
"x X ", the device-independent troff means of expressing a device
extension command (see groff_out(5)).
TL;DR PDF bookmarks now support Unicode, which is nice.