On text editing algorithms and data structures.
Two-stage tables for storing Unicode character properties
How to efficiently store and access properties of Unicode characters. The technique extends to other problems where sparse or repeating data must be looked up in O(1) time.
The Craft of Text Editing
Practical guide on building text editors