Latin-1's apostrophe, grave accent, acute accent

From: Markus Kuhn (Markus.Kuhn@cl.cam.ac.uk)
Date: Sun Aug 01 1999 - 07:47:54 EDT


I am having a bit of a problem with the following three ISO 8859-1
characters in the context of the Unicode standard:

  U+0027 APOSTROPHE '
  U+0060 GRAVE ACCENT `
  U+00B4 ACUTE ACCENT ´

ANSI X3.4 defines 0x27 as

  apostrophe (closing single quotation mark, acute accent)

Unicode 2.0 quotes this definition and says on page 6.3:

  In general, the Unicode Standard provides the same interpretation
  for the equivalent code values, without adding or subtracting from
  their semantics.

On the other hand, Unicode 2.0 standard requires on page 7-7 APOSTROPHE
to have a "neutral (vertical) glyph having mixed usage".

As you might know, we are currently revising the X Windows terminal
fonts and extend them such that they cover all European characters and
for some fonts even much more (Thai, Japanese, Hebrew, etc.).

The X11 fixed fonts were originally 7-bit ASCII fonts. Therefore, the
shape of the APOSTROPHE and GRAVE ACCENT glyphs were compromise glyphs
that allowed these characters to be used both as accents and as directed
quotation marks:

    XX XX
    X X
   X X

When these fonts were later extended to Latin-1, ACUTE ACCENTS was added
as

    X
     X

but unfortunately GRAVE ACCENT was never fixed to be a mirrored glyph of
ACUTE ACCENT. This might be fine for a US and UK keyboard user, who has
no ACUTE ACCENT key. However, German and many other European keyboards
have designated keys for all of the three above characters, and their
labels clearly distinguish them as follows:

  APOSTROPHE |
  ACUTE ACCENT /
  GRAVE ACCENT \

(I use /|\ here to describe the look of these characters, because I
don't know how the actual glyphs look like on your screen).

In other words, European PC and terminal keyboards follow exactly the
glyph shapes given in Unicode and the various ISO standards. APOSTROPHE
is a vertical stroke, and ACUTE and GRAVE are slanted strokes, symmetric
copies of each other. Having APOSTROPHE as a vertical stroke also has
the advantage that if it is used as both an opening and closing
quotation mark as in 'quotation', it goes better with the double quotes
"quotation", which have always been neutral vertical strokes.
Unfortunately, this is not what the X11 ISO 8859-1 fonts did.

In the old X11 fonts, APOSTROPHE and GRAVE are symmetric versions of
each other and ACUTE looks very different from both, which always comes
as a bit of a surprise to European keyboard users. In addition, in the
Unix community, it has become somewhat common practice to abuse (as
sanctioned by the old ANSI 7-bit ASCII standard) the APOSTROPHE and
GRAVE as closing and opening quotation marks, as in `quotation'. This
used to look like \quotation/ under xterm, but since I have modified the
fonts to conform to the keyboard labeling and ISO/Unicode practice, it
looks now slightly strange as in \quotation|.

There obviously is no ideal solution, and I have to make one of two
choices:

A) Keep the old US-ASCII practice that

     + will not require modification of software that currently
       writes `quotation' (many GNU tools, e.g. gcc error messages)
       and of the habits of some plaintext authors who prefer to
       write `quotation' instead of 'quotation'

     - will continue to confuse European keyboard users who do not
       understand why the APOSTROPHE glyph looks like what they see on the
       ACUTE ACCENT key, and who are also confused by that what the
       ACUTE and GRAVE ACCENT keys provide does not look symmetrical

     - will continue to confuse users of non-X11 terminal emulators
       (including I think Microsoft and Apple platforms, potentially
       much more), who see \quotation| because the author used the old
       X fonts and was not aware that this might look strange on
       other platforms.

or

B) Modify these character to follow the standards and

     - require eventually a tiny modification in some Unix software and
       user habits to write 'quote' instead of `quote', or preferably
       even use U+2018/U+2019 one day instead, if they *really*
       want to have proper directional quotation marks. Note that the
       old usage of GRAVE will still look acceptable, it just doesn't
       look good enough any more to encourage continued abuse, so the
       change will not really break anything. We will have to support
       U+2018/U+2019 in any case eventually, because Microsoft users
       continue to flood the world with these characters (which is not
       at all a bad thing, as long as the do not violate the MIME
       standard my misdeclaring the character set as ISO 8859-1 where
       they use CP1252). People are also free to abuse GRAVE and ACUTE
       as symmetrical quotation marks in Latin-1: `quotation´, which
       should guarantee symmetrical glyphs.

     + stay compatible with the rest of the world and increase
       the likelihood of portable use of these characters by X11
       users

     + stay compatible with long-established keyboard labeling practice
       that is unlikely to change for old X11 7-bit ASCII legacy problems

     + stay compatible with how Adobe mapped their glyph names to Unicode
       in http://partners.adobe.com/asn/developer/typeforum/unicodegn.html:

         0027;quotesingle;APOSTROPHE
         0060;grave;GRAVE ACCENT
         00B4;acute;ACUTE ACCENT
         2018;quoteleft;LEFT SINGLE QUOTATION MARK
         2019;quoteright;RIGHT SINGLE QUOTATION MARK

     + make ' the natural cousin of ".

After having given a lot of careful thought about this, and having used
the modified X11 fonts for several months now myself, I am inclined to
favour B). I in general prefer to do the 'right' thing more than doing
the `traditional' thing. However, I imagine that this could lead to some
controversial discussion with some ASCII veterans. Comments and opinions
would be very welcome.

Markus

-- 
Markus G. Kuhn, Computer Laboratory, University of Cambridge, UK
Email: mkuhn at acm.org,  WWW: <http://www.cl.cam.ac.uk/~mgk25/>



This archive was generated by hypermail 2.1.2 : Tue Jul 10 2001 - 17:20:50 EDT