Unicode library for C++ by Ross Smith
The Unicorn library is intended to make Unicode text manipulation easy for programmers using modern C++. It implements most of the main requirements of the Unicode standard, currently supporting Unicode version 8.0.
The library is divided into the modules listed below; you can import only the
ones you need, or import the whole API using #include "unicorn/library.hpp".
Everything in the Unicorn library is in namespace Unicorn (or a subordinate
namespace inside Unicorn). You can either qualify all calls with the
Unicorn:: prefix, or use using namespace Unicorn.
The Unicorn library depends on the utilities and unit testing framework in my Prion library.
"unicorn/core.hpp" -- Core definitions."unicorn/character.hpp" -- Unicode characters and their basic properties."unicorn/utf.hpp" -- The standard UTF encodings, and conversions between them."unicorn/mbcs.hpp" -- Conversion between UTF and non-Unicode encodings."unicorn/string.hpp" -- A collection of generic string manipulation functions."unicorn/regex.hpp" -- Unicode regular expressions."unicorn/normal.hpp" -- The standard Unicode normalization forms."unicorn/segment.hpp" -- Breaking text up into characters, words, sentences, lines, and paragraphs."unicorn/format.hpp" -- Formatting various kinds of data as Unicode strings."unicorn/lexer.hpp" -- Breaking text up into tokens by user-defined rules."unicorn/table.hpp" -- Table layout for fixed-width text."unicorn/environment.hpp" -- Environment variables."unicorn/file.hpp" -- Basic operations on the file system."unicorn/io.hpp" -- File input and output."unicorn/options.hpp" -- Parsing command line options.