groff
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 1.23: UTF-8 device: more display oddities


From: Steffen Nurpmeso
Subject: Re: 1.23: UTF-8 device: more display oddities
Date: Sat, 17 Sep 2022 01:00:26 +0200
User-agent: s-nail v14.9.24-297-g9844dfc386

G. Branden Robinson wrote in
 <20220916223236.lmkf3brdwotdn2fd@illithid>:
 |At 2022-09-16T23:56:58+0200, Steffen Nurpmeso wrote:
 ..
 |>   i=`echo '~/home^run'`
 |> 
 |> becomes
 |> 
 |>   i=‘‘echo ’˜/homeˆrun’‘’
 |> 
 |> How is anyone supposed to document a sh(1)ell-style manual with
 |> mdoc(7) (i do not know about man(7)) with these settings?
 |
 |By reading the manual, Steffen.

Ok, and you put a lot of effort in it in the last years.

But the point is: last week it looked _entirely_ different, and
the locale has not changed!  The manual has not changed either.
Just to remind you that the hyphen-minus -> hyphen change was
commited in March _this_ year.
So it you -- you are changing things backward incompatibly!

 |UTF-8 content follows.
 |
 |groff_char(7):
 ...

Please note again i am doing mdoc(7) here, not mom or ms or my own
macros.

 |There is also the "Portability" section of groff_man(7) [groff 1.22.4]
 |or groff_man_style(7) [groff 1.23].
 |
 |       Several special characters are also widely portable.  AT&T troff
 ...

But there is nothing special.  Input characters are mapped away
differently than before.

  ...
 |       \(ha   Basic Latin circumflex accent (“hat”).  Some output
 |              devices replace “^” with U+02C6 (modifier letter
 |              circumflex accent) or similar.
 ...
 |       \(ti   Basic Latin tilde.  Some output devices replace “~” with
 |              U+02DC (small tilde) or similar.

But why?  And furthermore: why -Tutf8 that lives on and with
fixed-width monospace fonts in practically all cases.  And why
differently than before?

 |Or you can just do the brute force thing.  From groff 1.23's "PROBLEMS"
 |file:

But this changes manuals written over the last decades to
something completely different, Branden.

I am coming from 1.22.3.  It looked entirely different last week.

You cannot expect all those people to rewrite all their manuals
because you feel like mapping monospace -Tutf8 to be en par with
-Tpdf with all its font powers (used or not)?
I really do not understand these decisions.

Please note also mandoc (at least the version i have here) renders
it the way i _expect_.

Maybe there is a reason why now also Apple i think switches away
from groff to mandoc?

 ...
 |* When viewing man pages, some characters on my UTF-8 terminal emulator
 |  look funny or copy-and-paste wrong.  Why?
 |
 |Some Unicode Basic Latin ("ASCII") input characters are mapped to
 |non-Basic Latin code points in output for consistency with other output
 |devices, like PDF.  See groff_man_style(7) and groff_char(7) for correct
 ...

Uh!

  ...
 |However, many man pages are written in ignorance of the correct special
 |characters to obtain the desired glyphs.  You can conceal these errors

Heh!  _Exactly_!

  ...
 |by adding the following to your site-local man(7) configuration.  The
 |file is called "man.local"; its installation directory depends on how
 |groff was configured when it was built.
 |
 |--- start ---
 |.if '\*[.T]'utf8' \{\
 |.  char ' \[aq]
 |.  char - \-
 |.  char ^ \[ha]
 |.  char ` \[ga]
 |.  char ~ \[ti]
 |.\}

You know, if you would provide a commented-out setting to change
the decade old default behaviour to what you feel is more modern,
or "better", _then_ i could understand it.
I mean i produce backward incompatible changes myself all the
time, but i give plenty of hints.  For example

  $ </dev/null s-nail -Smta=test -SNAIL_TAIL=au -Xxit
  s-nail: Warning: variable superseded or obsoleted: NAIL_TAIL

Or

  $ </dev/null s-nail -:/ -Smta=test -Y xit -Rf /tmp/misc.mbox
  s-nail: Obsoletion warning: auto .xz support vanishes, please use `filetype' 
command
  s-nail: Obsoletion warning: auto .xz support vanishes, please use `filetype' 
command
  s-nail version v14.9.24-304-g45ea12f8ed.  Type `?' for help
  /tmp/misc.mbox.xz: 2 messages 2 new [Read-only]

Shitty code path, evaluated twice.  Sigh!
With hopefully mostly easy-to-find documentation.

 |--- end ---
 |
 |You may also wish to do the same for "mdoc.local".
 |
 |In man pages (only), groff maps the minus sign special character '\-' to
 |the Basic Latin hyphen-minus (U+002D) because man pages require this
 |glyph and there is no historically established *roff input character,

This commit of yours is from March 2022, and it changes behaviour
that was maybe stable for ~32 years, i have forgotten when mdoc
was first seen.

To repeat: your change invalidates _all_ mdoc manuals ever written
since mdoc(7) sprang into existence at the beginning of the 90s!

WOW!!!

  ...
 |Didn't I already share this information with you?

Well, i think i stop reporting such errors then.

 |Hmm, yes, I did.[1]

WOW!!!!!!!

A nice weekend i wish.

Have a good time!

--steffen
|
|Der Kragenbaer,                The moon bear,
|der holt sich munter           he cheerfully and one by one
|einen nach dem anderen runter  wa.ks himself off
|(By Robert Gernhardt)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]