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.