27 #ifndef _OD_CHARMAPPER_H_
28 #define _OD_CHARMAPPER_H_
75 bool bTryToUseSystemCP =
true );
271 return (chr >= 0xD800 && chr <= 0xDFFF);
274 return (chr >= 0xDC00 && chr <= 0xDFFF);
277 return (chr << 10) + chr2 + (0x10000 - (0xD800 << 10) - 0xDC00);
280 return ((
OdUInt32)chr << 10) + chr2 + (0x10000 - (0xD800 << 10) - 0xDC00);
283 return (chr >= 0x10000 && chr <= 0x10FFFF);
286 return ((0xD800 - (0x10000 >> 10)) + (chr >> 10));
289 return (0xDC00 + (chr & 0x3FF));
T odToLeadSurrogate(T chr)
T1 odToCodepoint(T1 chr, T2 chr2)
OdArray< char, OdMemoryAllocator< char > > OdAnsiCharArray
@ TRADITIONAL_CHINESE_CP_INDEX
@ KOREAN_WANSUNG_CP_INDEX
@ SIMPLIFIED_CHINESE_CP_INDEX
bool odIsLeadSurrogate(T chr)
OdArray< OdChar, OdMemoryAllocator< OdChar > > OdCharArray
bool odIsTailSurrogate(T chr)
T odToTailSurrogate(T chr)
OdUInt32 odToCodeValue(T chr, T chr2)
bool odIsCodepoint(T chr)
static OdUInt16 getReorderCharsetByChar(OdChar ch)
static void unicodeToUtf8(const OdChar *srcBuf, int srcSize, OdAnsiCharArray &dstBuf)
static OdCodePageId ansiCpToAcadCp(OdUInt32 ansiCodePage)
static OdResult unicodeToCodepage(OdChar sourceChar, OdCodePageId codepageId, OdChar &codepageChar, bool bTryToUseSystemCP=true)
static bool isLeadByte(OdUInt8 testByte, OdCodePageId codepageId)
static void multiByteToWideChar(OdCodePageId codePage, const char *srcBuf, int srcSize, OdCharArray &dstBuf)
static OdResult codepageDescToId(const OdString &description, OdCodePageId &codepageId)
static double getCheckSumAnsi(OdAnsiString str)
static OdResult addBigFonts(OdStreamBuf *io)
static OdCodePageId getCpByBigFont(const OdString &bigFont)
static OdString convertCIFcoding(const OdString &strText)
static void wideCharToMultiByte(OdCodePageId codePage, const OdChar *srcBuf, int srcSize, OdAnsiCharArray &dstBuf)
static OdUInt32 numValidCodepages()
static OdResult initialize(const OdString &filename)
static OdCodePageId getCodepageByCharset(OdUInt16 ansiCharacterSet)
static bool isConversionSupported(OdCodePageId codepageId)
static OdResult codepageIdToDesc(OdCodePageId codepageId, OdString &description)
static OdResult unicodeToCodepage2(OdChar sourceChar, OdCodePageId codepageId, OdChar &codepageChar)
static OdInt32 getCpIndexByBigFont(const OdString &bigFont)
static double getCheckSumUnicode(OdString str)
static OdResult addBigFontWithCodepage(const OdString &bigFont, OdCodePageId codePageId)
static OdUInt32 acadCpToAnsiCp(OdCodePageId acadCodePageId)
static OdResult addBigFontWithIndex(const OdString &bigFont, OdInt32 cpIndex)
static void utf8ToUnicode(const char *srcBuf, int srcSize, OdCharArray &dstBuf)
static OdResult codepageToUnicode(OdChar sourceChar, OdCodePageId codepageId, OdChar &unicodeChar)