Cinder  0.9.1
Namespaces | Macros | Functions
Unicode.cpp File Reference
#include "cinder/Unicode.h"
#include <cstring>
#include <string>
#include "utf8cpp/checked.h"
#include "linebreak.h"
#include "linebreakdef.h"

Namespaces

 cinder
 

Macros

#define UNI_SUR_HIGH_START   (char32_t)0xD800
 
#define UNI_SUR_HIGH_END   (char32_t)0xDBFF
 
#define UNI_SUR_LOW_START   (char32_t)0xDC00
 
#define UNI_SUR_LOW_END   (char32_t)0xDFFF
 
#define UNI_REPLACEMENT_CHAR   (char32_t)0x0000FFFD
 
#define UNI_MAX_BMP   (char32_t)0x0000FFFF
 
#define UNI_MAX_UTF16   (char32_t)0x0010FFFF
 
#define UNI_MAX_UTF32   (char32_t)0x7FFFFFFF
 
#define UNI_MAX_LEGAL_UTF32   (char32_t)0x0010FFFF
 

Functions

std::u16string cinder::toUtf16 (const char *utf8Str, size_t lengthInBytes=0)
 
std::u16string cinder::toUtf16 (const std::string &utf8Str)
 
std::u32string cinder::toUtf32 (const char *utf8Str, size_t lengthInBytes=0)
 
std::u32string cinder::toUtf32 (const std::string &utf8Str)
 
std::string cinder::toUtf8 (const char16_t *utf16Str, size_t lengthInBytes=0)
 
std::string cinder::toUtf8 (const std::u16string &utf16Str)
 
std::string cinder::toUtf8 (const char32_t *utf32str, size_t lengthInBytes=0)
 
std::string cinder::toUtf8 (const std::u32string &utf32Str)
 
size_t cinder::stringLengthUtf8 (const char *str, size_t lengthInBytes=0)
 
uint32_t cinder::nextCharUtf8 (const char *str, size_t *inOutByte, size_t lengthInBytes=0)
 
size_t cinder::advanceCharUtf8 (const char *str, size_t numChars, size_t lengthInBytes=0)
 
std::u16string cinder::toUtf16 (const std::u32string &utf32str)
 
std::u32string cinder::toUtf32 (const std::u16string &utf16str)
 
void cinder::lineBreakUtf8 (const char *str, const std::function< bool(const char *, size_t)> &measureFn, const std::function< void(const char *, size_t)> &lineProcessFn)
 
void cinder::calcLinebreaksUtf8 (const char *str, std::vector< uint8_t > *resultBreaks)
 
void cinder::calcLinebreaksUtf8 (const char *str, size_t strLength, std::vector< uint8_t > *resultBreaks)
 
void cinder::calcLinebreaksUtf16 (const uint16_t *str, std::vector< uint8_t > *resultBreaks)
 
void cinder::calcLinebreaksUtf16 (const uint16_t *str, size_t strLength, std::vector< uint8_t > *resultBreaks)
 

Macro Definition Documentation

#define UNI_SUR_HIGH_START   (char32_t)0xD800
#define UNI_SUR_HIGH_END   (char32_t)0xDBFF
#define UNI_SUR_LOW_START   (char32_t)0xDC00
#define UNI_SUR_LOW_END   (char32_t)0xDFFF
#define UNI_REPLACEMENT_CHAR   (char32_t)0x0000FFFD
#define UNI_MAX_BMP   (char32_t)0x0000FFFF
#define UNI_MAX_UTF16   (char32_t)0x0010FFFF
#define UNI_MAX_UTF32   (char32_t)0x7FFFFFFF
#define UNI_MAX_LEGAL_UTF32   (char32_t)0x0010FFFF