Using ASCII grave accents (`) as quotation marks causes display problems across modern systems. Here's the technical background and what to do instead.
If you've ever seen text with backticks like `this' instead of proper quotation marks, you're witnessing a typography mistake that's been haunting Unix systems for decades. This article explains why this practice causes problems and what to do instead.
The Problem with ASCII Backticks
The ASCII grave accent (0x60) was never intended to be used as a left quotation mark. Yet many Unix documentation and software tools have historically used the pattern `quote' where the backtick serves as the opening quote and the apostrophe as the closing quote.
This might have looked acceptable on old X Window System displays, but it creates serious problems on modern systems:
- Windows and Mac systems show these characters as straight vertical lines, not directional quotes
- TrueType fonts like Lucida Console display them incorrectly
- Most modern video terminals don't support this convention
- Web browsers render them as simple ASCII characters
The result is text that appears broken or strange to most readers.
What Unicode Actually Defines
Unicode and ISO 10646 standards clearly separate these characters:
- U+0022 QUOTATION MARK - neutral, vertical glyph
- U+0027 APOSTROPHE - neutral, vertical glyph (overloaded character)
- U+0060 GRAVE ACCENT - accent mark, not a quotation mark
- U+2018 LEFT SINGLE QUOTATION MARK - proper directional quote
- U+2019 RIGHT SINGLE QUOTATION MARK - proper directional quote
- U+201C LEFT DOUBLE QUOTATION MARK
- U+201D RIGHT DOUBLE QUOTATION MARK
The Unicode standard explicitly states that U+2019 is the preferred character for apostrophes in English text.
Historical Confusion
The confusion stems from early X Window System fonts that displayed 0x27 and 0x60 as curly quotation marks. This practice was never standardized and contradicted the ISO 8859-1 standard, which defines these positions as a straight apostrophe and a grave accent.
What You Should Do
If you're writing Unix software or documentation:
- Replace `quote' with 'quote' - Use the apostrophe character (0x27) on both sides
- Use proper directional quotes when possible - With UTF-8 support, use ‘quote’ or “quote”
- Check your code - Search for backtick usage with
grep \*` - Automate fixes - Use Perl or similar tools to replace backticks with apostrophes
Example fix: perl -pi.bak -e "s/\/'/g;" file1 file2`
Special Cases
Some uses of backticks are legitimate and don't need changing:
- Shell command substitution -
commandor $(command) - TeX/troff - for proper left single quotation marks
- Perl - certain syntax elements
- Lisp - specific language constructs
Why This Matters
Fixing this issue matters because:
- Modern systems expect standard character behavior
- Users get confused when keycap labels don't match displayed glyphs
- Cross-platform compatibility breaks
- Professional documents look amateurish
- Accessibility tools may misinterpret the text
PostScript and TeX Considerations
PostScript fonts have their own mapping complexities. The ISOLatin1Encoding vector doesn't correctly map ISO 8859-1 characters. For proper printing, use the Unicode to PostScript mapping table.
TeX's cmtt10 font also follows the problematic convention, providing directional quotes on ASCII positions. Use LaTeX's upquote package for proper verbatim mode display.
Moving Forward
The typography community has been warning about this issue since the 1980s. Donald Knuth's TeXbook even cautioned users about potential display differences. With UTF-8 becoming standard on modern GNU/Linux systems, the problems with old ASCII backtick conventions are becoming more apparent.
If you're maintaining legacy Unix software, it's time to clean up your quotation marks. Your users on Windows, Mac, and modern Linux systems will thank you.
Comments
Please log in or register to join the discussion