Apostrophe and Quotation Mark

Back in the days of the typewriter, there was a time when the humble apostrophe would serve as apostrophe, single quote and double quote (two strokes). There were also a few other technical uses or meanings (actually, glyphs), but these three were sufficient overloading of the character.

sad apostrophe

ASCII, HTML, Unicode

In the ASCII definition (also including HTML markup) there is:

  • 0x22 the quotation mark (double quotes), HTML " and
  • 0x27 the apostrophe (single quotes), HTML '.

In Unicode (also including HTML) there is in addition:

  • U+2018 left single quotation mark, HTML ‘
  • U+2019 right single quotation mark, HTML ’
  • U+201C left double quotation mark, HTML “ and
  • U+201D right double quotation mark, HTML &rdquo.

Some Accent Marks

In addition, there is the additional confusion of two accent marks:

  • grave accent, aka the backtick (commonly used in computer programming)
  • and the acute accent (which is not on an English keyboard, but in OSX can be accessed by Opt+e + Letter to be accented.

Typography vs. Type Writing

The fundamental problem is that while typographically it may be preferred to have a left single quotation mark (U+2018) the keyboard only has an apostrophe character (U+0027). Various rich text editors replace one character with another, based on what it can detect, that is whether the character has a space before (left single quotation) or after (right single quotation) or none (apostrophe).

This detection and replacement is not obvious to the user and hard to correct in many cases. Open Office has settings in autocorrect for this, likely other Office suites do as well.

Unfortunately, Google Docs does this as well (smart quotes, under preferences).

See also problems in TeX and the Xwindow system regarding these original (and persistent) keyboard limitations.

Best Practices

Never, ever, ever use curly quotes. That solves the problem. Otherwise, have transformations done at the last possible moment, rather than at the editing stage. One option is the use of javascript to perform final in-browser typographic transformations. Or if in something like an ebook, a transformation done by LaTeX.

Having clean, unambiguous punctuation is the best approach. Turn off autocorrect in the rich text editors. Search and replace across repositories of text.