groff
[Top][All Lists]
Advanced

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

Re: [groff] [patch] modernize -T ascii rendering of opening single quote


From: Jeff Conrad
Subject: Re: [groff] [patch] modernize -T ascii rendering of opening single quote
Date: Mon, 18 Feb 2019 01:48:39 +0000

On Sunday, February 17, 2019 2:30 PM, Bjarni Ingi Gislason wrote:

>   The expression "modernize" in this context has a manipulative
> character.  Who wants to be against "modernization"!

I think we’ve used “modernise” vs. “traditional” to describe how some of
us thought various output devices rendered 27h and 60h at various times.
I’m not sure any of us had it completely right.

> 1) a falsification, namely changing directional quotes to undirectional
> ones.

> 2) making a distinction between directional and undirectional quotes
> impossible in the output (\(oq...\(cq and '...' become the same but are meant
> to be different).

I think “falsification” is taking things a bit far.

Semantically, opening and closing quotes are indeed different, and we’d
like to have them rendered so when that’s possible.  But it’s only
possible if the output device provides the characters.  Since 1967, ASA/
ANSI X3.4 has allowed 60h and 27h to represent either opening and
closing single quotes or grave and acute accents.  Makers of different
devices have made different choices, and I’m not sure the distinction
fits into a neat time frame as I (and several others) had suggested.
Because X3.4 was last revised in 1986, Genuine ASCII™ remains ambiguous.

ISO 646 removed the ambiguity by assigning the neutral apostrophe to 27h
and the grave accent to 60h, but strictly, it isn’t “ASCII.”  I agree
with Inge and several others that most console-type devices now follow
ISO 646, but I haven’t done a survey; there may be some displays that
show opening and closing quotes.  None of my console devices does this,
but my HP LaserJet 401dn (2013 vintage, arguably a “modern” device)
still uses opening and closing quotes when the ASCII or HP Roman 8
character set is specified.  In the mid- and late 1980s, I used HP 2392
and 70092 terminals and the X Window system; unfortunately, I cannot
remember how each rendered quotes.  But I set up nroff to map ‘`’ to
‘'’, so that probably provides the answer. I may also have done it for
consistency among single and double quotes—a typewriter is a typewriter ...

I asked Doug Kerr, one of the authors (and the principle editor) of
X3.4-1967 about semantics vs. appearance (i.e., were quotes truly
assigned to these code points or simply used to simulate the look of
these characters, much as one might use an asterisk for a bullet).  The
committee apparently considered this, and determined that the
distinction was close to nonexistent.  One of the appendixes even
suggested that some characters (mainly punctuation) could be somewhat
androgynous, so that they might serve different purposes in different
contexts.  For example, a neutral double quote could represent either
itself or an diaresis when used in a character–backspace–overstrike
sequence (obviously not a good choice for on-screen display).

I haven’t been able to get a copy of the 1967 version, but I’m told that
this part is essentially the same as the 1986 version.

> 3) a regression, as the \(oq (quoteleft) is then no longer displayed as
> usual.
> 
>   `...' in a roff-file is now the the same as \(oq...\(cq.

“As usual” seems in the eye of the beholder (and of course his output
device).  If the device doesn’t provide different glyphs for ‘\(oq’ and
‘\(cq’, I don’t see how they can be shown.  I’d even argue that it’s a
“falsification” to display a grave accent in place of a nonexistent
opening quote.

I also suggest that proper opening and closing quotes are symmetrical,
which grave accent and neutral apostrophe clearly are not.  If a display
were to show grave accent and acute accent, I might consider it
tolerable.  And of course we get back to the semantics vs. appearance
issue.  One might note that in some typefaces, the distinction is fairly
minimal.  For example, with my Courier New, the quotes and accents are
both straight but inclined; the quotes are thicker, but either
combination might passably serve to represent either accents or quotes.
Of course, only the grave accent is available as an ASCII character; the
others need to be coded as Unicode.

I find it curious that there is so much concern about differentiating
single quotes when we place no such requirement on double quotes—where
we have no choice.  Perhaps some of this is “traditional”; for a long
time, typographical double quotes were simulated by adjacent single
quotes, apparently a literal rendering of “``double''” on a device that
displayed opening and closing quotes for 60h and 27h.  The result was
passable with troff (see some of Kernighan’s books for examples) but
obviously not the same as ‘\(lq’ and ‘\(rq’ (which didn’t exist).  The
result was far less good with nroff, even if true opening and closing
single quotes were displayed.

Part of the different may be cultural.  In AmE, we start with double
quotes and use single quotes within, so that double quotes are far more
numerous.  In BrE, the situation is reversed.

>   The issue makes no distinction between writing and displaying.
>
>   When \(oq is written, it is meant to be something else than '
> (quotesingle or quoteright).
>
>   When ` is written, it is meant to be that (left single quote).

Agree.  But the output device can’t always do what we intend.

>   There is a distinction between pure text and text with typographic
> characters and formatting commands.

I think there are three distinct entities here.  I think we can speak of
“ASCII” text, Unicode text, and text with formatting.  I’m obviously
using Unicode text with typographical quotes and other non-ASCII
characters.  Unfortunately, this doesn’t work properly in my console
windows, so I have nroff use neutral opening and closing quotes.

> 
>   People that don't like or tolerate ` as a left single quote in the
> output, may change the output for themselves (using a filter or a
> private tmac-file), and should, may not change it for others.
>  ...
>   The true reason for the change is not revealed (what exactly did the
> original "complainer" say?).

I think the original objective here was to provide the greatest good for
the greatest number.  It was suggested (and I agree) that it’s far more
common for displays today (and perhaps for a long time) to follow ISO
646 and show 60h as a grave accent than an opening single quote.


reply via email to

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