WordsCapitalizer performs a smart words capitalization, respecting Unicode and UTF-16 Surrogate Pairs, and a custom Locale if provided.
Custom delimiters can be specified in order to instruct the engine how to handle each one of those, by capitalizing only before, only after, or before and after the marker, to handle cases like O'Brian when parsing last names, for example.
Originally posted on November 30, 2012, on StackOverflow:
It performs a full capitalization, meaning that uppercase characters will be set to lowercase if they're not supposed to be capital.
to-be-continued
Related: Original StackOverflow Answer Related: Infamous Turkish Locale Bug 1 Related: Infamous Turkish Locale Bug 2