Flaming Dangerzone

Taming Unicode

Writing is a crucial part of almost all human cultures. The vast diversity in human cultures has lead to the use of numerous writing systems. Unicode is an attempt at making it possible for programmers to represent and handle text in all of those writing systems.

I got curious about Unicode around June 2012, after several discussions about the sad state of affairs in C++. I started by writing a simple set of encoders and decoders just for show, but got progressively more and more interested in the subject. Eventually I found myself writing what I now intend to turn into a serious library for handling Unicode.

This series of posts explains some of the motivations, problems, and design decisions involved in the development of ogonek, a Unicode library with a C++ feel.