title: Iterating through Unicode codepoints character by character
body: <p>I've got a series of Unicode codepoints. What I really need to do is iterate through these codepoints as a series of characters, <em>not</em> a series of codepoints, and determine properties of each individual character, e.g. is a letter, whatever.</p>
  
  <p>For example, imagine that I was writing a Unicode-aware textbox, and the user entered a Unicode character that was more than one codepoint- for example, "e with diacritic". I know that this specific character can be represented as one codepoint as well, and can be normalized to that form, but I don't think that's possible in the general case. How could I implement backspace? It obviously can't just erase the last codepoint, because they might have just entered more than one codepoint.</p>
  
  <p>How can I iterate over a bunch of Unicode codepoints as <em>characters</em>?</p>
  
  <p>Edit: The Break Iterators offered by ICU appear to be pretty much what I need. However, I'm not using ICU, so any references on how to implement my own equivalent functionality would be an accepted answer.</p>
  
  <p>Another edit: It turns out that the Windows API does indeed offer this functionality. MSDN just isn't very good about putting all the string functions in one place. <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/ms647469%28v=VS.85%29.aspx">CharNext</a> is the function I'm looking for.</p>