groff
[Top][All Lists]
Advanced

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

Re: [Groff] Getting properly rendered single quotes in groff


From: Stuart Brady
Subject: Re: [Groff] Getting properly rendered single quotes in groff
Date: Thu, 12 Jun 2008 20:27:53 +0100
User-agent: Mutt/1.5.13 (2006-08-11)

Hi Ralph,

> Hi Stuart,
> 
> > Seeing as \` has been there since the early days, and assuming that
> > there aren't too many instances that need correcting, rendering `
> > ("open quote") as ' (neutral quote mark) in non-UTF-8 environments now
> > seems at least conceivable.
> 
> And this would be done in, e.g. -Tascii, because most fonts don't have
> nicely balanced-looking `' glyphs.  Just to double-check, a lot's been
> said.

That's correct.  The behaviour could be made optional if desired.
utf8, dvi, html, etc. would remain unchanged.

> > FWIW, section 2.1 of CSTR #54 sheds some light on this -- troff did
> > indeed use ` and ' as opening/closing quotes, and \` and \' for the
> > plain ` and ' ASCII characters.  When ' changed so that it no longer
> > mirrored `, a decision had to be made on whether \' should yield an
> > apostrophe or an acute accent.
> 
> I don't see how you get that last sentence from 2.1.  When the
> appearance of ' changed over time, there wasn't any decision, things
> were just left alone I'd have thought.

Sorry, I didn't get the last sentence from 2.1.  I was referring to the
decision that has been made for groff.  \' renders as an acute accent,
and not as an apostrophe.  (I wouldn't know if anyone's patched their
version of nroff to address this issue, though.)

> > Producing an apostrophe would be best where \' was used (for a literal
> > ASCII single quote), and producing an acute accent would have been
> > necessary where overstriking was used to add an acute accent to
> > another character.  CSTR #54 defined \' as an acute accent, equivalent
> > to \(aa, and that's what groff ended up implementing.
> 
> I'm not sure that paragraph is correct.  Search for `0222' in
> http://minnie.tuhs.org/UnixTree/V7/usr/src/cmd/troff/n1.c.html and
> you'll see 7th Ed. Unix had those escapes in 1979.  Back then, ASCII
> terminals still had them with a balanced appearance so the change to
> unbalanced fonts wasn't the motivation.

Yes, we've already established that \` and \' were originally intended
to produce grave and acute accents, as distinct from opening/closing
quotes.  The point I was making is that \(aa's behaviour in groff has
been changed from the behaviour in nroff, presumably to account for
unbalanced fonts.  \' still renders as an acute accent for latin1,
but a different code point is now used.  This means that where an
apostrophe (0x27) is desired, \(aq should be used instead of \(aa.

> > \(aq then had to be added after \' was changed, to provide a way to
> > produce an ASCII apostrophe.  For the linux man pages, it would seem
> > reasonable to use \(aq where desired, but for use in other man pages,
> > that might not be suitable.
> 
> Where do you see \(aq as desired in the Linux man pages?  Only when
> -Tascii is being used?

For ascii, and possibly also for latin1 -- although it now occurs to
me that one option might be to use an acute accent, instead.

> Does it all boil down to whether -Tascii should map the input `' onto ''
> these days because fonts have changed?  Anyone know why ' changed in
> fonts to not lean?  I remember 'quoting' used to be wrapped in
> right-leaning apostrophes on both sides at one time on ASCII terminals.

Well, this changed with the 1986 revision of ANSI X3.4, and I expect
Latin 1, Unicode, etc. share the new definition of '.  The code point
used by Latin 1 for the acute accent was apparently unused in DEC MCS.
Why ANSI had to change it, I don't know, but there's no going back.

Cheers,
-- 
Stuart Brady




reply via email to

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