title: What's the difference between a character, a code point, a glyph and a grapheme?
body: <p>Trying to understand the subtleties of modern Unicode is making my head hurt. In particular, the distinction between code points, characters, glyphs and graphemes - concepts which in the <em>simplest</em> case, when dealing with English text using ASCII characters, all have a one-to-one relationship with each other - is causing me trouble.</p>
  
  <p>Seeing how these terms get used in documents like Matthias Bynens' <a href="https://mathiasbynens.be/notes/javascript-unicode" rel="noreferrer">JavaScript has a unicode problem</a> or Wikipedia's piece on <a href="http://en.wikipedia.org/wiki/Han_unification" rel="noreferrer">Han unification</a>, I've gathered that these concepts are not the same thing and that it's dangerous to conflate them, but I'm kind of struggling to grasp what each term <em>means</em>.</p>
  
  <p>The Unicode Consortium offers a <a href="http://www.unicode.org/glossary" rel="noreferrer">glossary</a> to explain this stuff, but it's full of "definitions" like this:</p>
  
  <blockquote>
    <p><strong><em>Abstract Character</em></strong>. A unit of information used for the organization, control, or representation of textual data. ...</p>
    
    <p>...</p>
    
    <p><strong><em>Character</em></strong>. ... (2) Synonym for abstract character. (3) The basic unit of encoding for the Unicode character encoding. ...</p>
    
    <p>...</p>
    
    <p><strong><em>Glyph</em></strong>. (1) An abstract form that represents one or more glyph images. (2) A synonym for glyph image. In displaying Unicode character data, one or more glyphs may be selected to depict a particular character.</p>
    
    <p>...</p>
    
    <p><strong><em>Grapheme</em></strong>. (1) A minimally distinctive unit of writing in the context of a particular writing system. ...</p>
  </blockquote>
  
  <p>Most of these definitions possess the quality of sounding very academic and formal, but lack the quality of <em>meaning anything</em>, or else defer the problem of definition to yet another glossary entry or section of the standard.</p>
  
  <p>So I seek the arcane wisdom of those more learned than I. How exactly do each of these concepts differ from each other, and in what circumstances would they not have a one-to-one relationship with each other?</p>