When rendering the \h (horizontal motion) low-level roff(7) escape
authorschwarze <schwarze@openbsd.org>
Mon, 10 Jan 2022 17:59:45 +0000 (17:59 +0000)
committerschwarze <schwarze@openbsd.org>
Mon, 10 Jan 2022 17:59:45 +0000 (17:59 +0000)
commit6c5a416ab58043071f7a44a23338e6118ccc1ed9
tree1440381f77fbef388687901f072616f1b250ed7c
parent58777e10688b5a1676f8d65718af915c3beae440
When rendering the \h (horizontal motion) low-level roff(7) escape
sequence in -T ps and -T pdf output mode, use an appropriate
horizontal distance by correctly using the term_len() utility
function.  Output from the -T ascii, -T utf8, and -T html modes
was already correct and remains unchanged.

Lennart Jablonka <hummsmith42 at gmail dot com> found and reported
this unit conversion bug (misinterpreting AFM units as if they were
en units) when rendering scdoc-generated manuals (which is a low
quality generator, but that's no excuse for mandoc misformatting \h)
on Alpine Linux.  Lennart also tested this patch.
usr.bin/mandoc/term.c