doc: fix display of "problematic" ASCII characters
When preparing output for a terminal that supports Unicode, Groff remaps the following characters to typographically "fancier" versions:
^ (U+005E) -> ˆ (U+02C6)
~ (U+007E) -> ˜ (U+02DC)
- (U+002D) -> ‐ (U+2010)
` (U+0060) -> ‘ (U+2018)
' (U+0027) -> ’ (U+2019)
This transformation is normally desirable in high-quality typeset output (i.e., PDF and PostScript), but frequently problematic in terminal display. As described in groff_char(7)
, the following escape sequences are needed to display the aforementioned characters as they appear in source code:
^ -> \(ha (Mnemonic: "hat")
~ -> \(ti (Mnemonic: "tilde")
- -> \-
` -> \(ga (Mnemonic: "grave accent")
' -> \(aq (Mnemonic: "apostrophe quote")
These constructs are cumbersome to write, obstruct readability of source code, and are completely opaque to the majority of man page authors (who only care about terminal display). A simpler solution is to use Roff's .tr
to translate these characters automatically.