Hi Anthony,

Anthony J. Bentley wrote on Wed, Mar 16, 2011 at 01:37:50PM -0600:

> $ mandoc -Tlint /usr/src/share/man/man4/udl.4                              
> /usr/src/share/man/man4/udl.4:42:6:
>   ERROR: skipping bad character: ignoring byte

Thanks for reporting!

Indeed, that character had to be replaced, ...

> The o with diaeresis should be replaced with the \(:o escape.
> (See mandoc_char(7).)

... however the German noun "Koenig" does not contain "o diaeresis",
but "o umlaut".  As this is a common source of confusion even
among native Germans, here is my commit message to explain the
situation:

  Using mandoc_char(7) escapes like "K\(:onig" for German umlauts
  is incorrect.  The escape sequence "\(:o" represents "o diaeresis",
  not "o umlaut".  These are two very different phonological phenomena
  that only happen to be represented by the same diacritic mark.
  In -Tascii mode, all renderers correctly render "\(:o" (o diaeresis)
  as plain "o", but that rendering is incorrect for "o umlaut", which
  must be transliterated to the digraph "oe" in -Tascii.
  There is no mandoc_char(7) escape for "o umlaut", so we must give
  the digraph as plain text in the mdoc(7) source code.

  For manuals, ASCII rendering is clearly much more important than
  PostScript or HTML rendering.  Besides, we should not sacrifice
  correct rendering in any mode in order to get slightly nicer rendering
  in some other mode.

> Would send a patch, but I've never had luck sending high-bit files
> to the list.

No sweat, that fix was easy enough without a patch.

Thanks,
  Ingo

Reply via email to