On 2024-03-17 12:06, G. Branden Robinson wrote:
Can I ask how the existing system of measurement units in *roff is unsatisfactory for your application?
Previously, tzfile.5 used only directives like ".IP *", ".IP * 2", ".RS", and ".RE" to control indenting. But after Alex suggested here: https://mm.icann.org/pipermail/tz/2023-October/033116.html that we switch to ".IP * 3", I noticed that the resulting PDF output had too much white space around the "*", even though the nroff output looked sorta OK. (The problem had already been present with "2", but it got worse with "3".) The problem got even a bit worse if I used "\(bu" instead of "*". So the patch I installed computed widths with \w instead. See: https://mm.icann.org/pipermail/tz/2023-October/058168.html
I bring all this up because as a man(7) macro language advocate and (unpaid) instructor, I strive to keep the language's expression as simple as possible.
Yes, if users don't care about PDF or varying-width HTML output there's no point to using \w here. The TZDB man pages already used \w for other things (lining up code and tables). Although a man page formatter that can't handle \w may be out of luck with \w in .IP directives, they were out of luck already.