Hi Kristaps,

not sure misc@ is the ideal list for discussing this (as opposed to,
say, discuss at mdocml dot bsd dot lv), but as you started here and
the topic will soon be finished:

Kristaps Dzonsons wrote on Mon, Aug 16, 2010 at 11:38:09AM +0200:

> Good catch.  For any roff people, the culprit was
> 
> .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
> 
> The \v and \h escapes weren't being properly handled in mandoc
> (vertical positioning... ugh), nor was a missing sign in \s.

Stuff like \s0 or \s12 may not be documented in the GNU troff manuals -
i did not check - but the Nroff/Troff User's Manual by Ossanna,
Kernighan, and Ritter, available as part of the Heirloom Documentation
Tools, see http://heirloom.sourceforge.net/doctools.html
does document it:

  "Alternatively the point size may be changed between any two
   characters by imbedding a \sN at the desired point to set the
   size to N, or a \s1N (1<=N<=8) to increment/decrement the size
   by N; \s0 restores the previous size."  (section 2.3)

Oh, and by the way,

  \s39  appears to be equivalent to  \s'36', while
  \s40  appears to be equivalent to  \s'4'0 -

that is, in the letter case, the character '0' appears
in the output stream, in font size 4pt!

But i'm not sure we really need to extend quirk-compatibility
down to that level of ugliness.  Looks like somebody applied the
principle of biggest surprise when designing this.

Yours,
  Ingo

Reply via email to