Smattr / clink

a modern re-implementation of Cscope
The Unlicense
43 stars 2 forks source link

more precise dashes in man pages #229

Closed Smattr closed 10 months ago

Smattr commented 10 months ago

Groff 1.23 changes the way bare dashes are interpreted:¹

The hyphenation patterns for English have been updated using the hyph-en-us.tex patterns file from the TeX hyph-utf8 project. The new patterns likely will change the automatic hyphenation break points of your English documents.

The an (man) and doc (mdoc) macro packages no longer remap the -, ', and ` input characters to Basic Latin code points on UTF-8 devices, but treat them as groff normally does (and AT&T troff before it did) for typesetting devices, where they become the hyphen, apostrophe or right single quotation mark, and left single quotation mark, respectively. This change is expected to expose glyph usage errors in man pages. See the "PROBLEMS" file for a recipe that will conceal these errors. A better long-term approach is for man pages to adopt correct input practices; the man pages groff_man_style(7), groff_char(7), and man-pages(7) (subsection "Generating optimal glyphs"; from the Linux man-pages project) contain such instructions. Doing so also improves man page typography when formatting for PDF.

This is already causing controversy and Debian has patched it back to the old behavior.² LWN has a good summary of why such a seemingly minor display change has acute negative consequences.³

¹ https://lists.gnu.org/archive/html/info-gnu/2023-07/msg00001.html ² https://lwn.net/ml/debian-devel/ZS0aV4XyJH+O1o%2Fc@riva.ucam.org/ ³ https://lwn.net/Articles/947941/