mi32/ucstring.h File Reference

Definitions for Unicode string functions and related text conversion. More...

#include <mi32/textid.h>
#include <stdio.h>
#include <stdarg.h>
#include <mi32/stddefns.h>

Include dependency graph for ucstring.h:

Include dependency graph

This graph shows which files directly or indirectly include this file:

Included by dependency graph

Go to the source code of this file.

Classes

struct  MUCEVENTSTATE
 Structure used to keep track of state for calling MucKeyEventToUnicode(). More...

struct  UCDATA
 Structure representing "cooked" entry from UnicodeData.txt. More...


Defines

#define LIBEXPORT   MI_DLLIMPORT
#define MUCVERSION   2
#define MASK_ALG   0x7FFF0000
#define MASK_CHARSET   0x0000FFFF
#define CHARALG_SJIS   0x00010000
#define CHARALG_EUC   0x00020000
#define CHARALG_GL2GR   0x00040000
#define CHARALG_GR2GL   0x00080000
#define CHARSET_Unicode   0x00000000
#define CHARSET_GB_2312   0x00000001
#define CHARSET_GB_12345   0x00000002
#define CHARSET_GB_7589   0x00000003
#define CHARSET_GB_7590   0x00000004
#define CHARSET_GB_Han   0x00000005
#define CHARSET_GB_8565   0x00000006
#define CHARSET_BigFive   0x00000007
#define CHARSET_CNS_11543_01   0x00000008
#define CHARSET_CNS_11543_02   0x00000009
#define CHARSET_CNS_11543_14   0x0000000A
#define CHARSET_JIS_X_0208_1990   0x0000000B
#define CHARSET_JIS_X_0212_1990   0x0000000C
#define CHARSET_KS_C_5601_1987   0x0000000D
#define CHARSET_KS_C_5657_1991   0x0000000E
#define CHARSET_ISO_8859_1   0x0000000F
#define CHARSET_ISO_8859_2   0x00000010
#define CHARSET_ISO_8859_3   0x00000011
#define CHARSET_ISO_8859_4   0x00000012
#define CHARSET_ISO_8859_5   0x00000013
#define CHARSET_ISO_8859_6   0x00000014
#define CHARSET_ISO_8859_7   0x00000015
#define CHARSET_ISO_8859_8   0x00000016
#define CHARSET_ISO_8859_9   0x00000017
#define CHARSET_JIS_ROMAN   0x00000018
#define CHARSET_GB_ROMAN   0x00000019
#define CHARSET_JIS_C_6226   0x0000001A
#define CHARSET_HW_KATAKANA   0x0000001B
#define CHARSET_WinCP_Turk   0x0000001C
#define CHARSET_WinCP_EE   0x0000001D
#define CHARSET_WinCP_Cyrl   0x0000001E
#define CHARSET_WinCP_Greek   0x0000001F
#define CHARSET_WinCP_Arab   0x00000020
#define CHARSET_WinCP_Hebr   0x00000021
#define CHARSET_DOSCP_437   0x00000022
#define CHARSET_DOSCP_850   0x00000023
#define CHARSET_DOSCP_852   0x00000024
#define CHARSET_DOSCP_857   0x00000025
#define CHARSET_DOSCP_861   0x00000026
#define CHARSET_DOSCP_863   0x00000027
#define CHARSET_DOSCP_865   0x00000028
#define CHARSET_IBMCP_869   0x00000029
#define CHARSET_IBMCP_855   0x0000002A
#define CHARSET_IBMCP_864   0x0000002B
#define CHARSET_IBMCP_1040   0x0000002C
#define CHARSET_IBMCP_1041   0x0000002D
#define CHARSET_IBMCP_1043   0x0000002E
#define CHARSET_TIS620_2529   0x0000002F
#define CHARSET_WinCP_Thai   0x00000030
#define CHARSET_MI_Thai   0x00000031
#define CHARSET_WinCP_ANSI   0x00000032
#define CHARSET_ArabicUC   0x00000033
#define CHARSET_MacArabic   0x00000034
#define CHARSET_MacCroatian   0x00000035
#define CHARSET_MacCyrillic   0x00000036
#define CHARSET_MacDingbats   0x00000037
#define CHARSET_MacCentEurope   0x00000038
#define CHARSET_MacGreek   0x00000039
#define CHARSET_MacHebrew   0x0000003A
#define CHARSET_MacIcelandic   0x0000003B
#define CHARSET_MacJapanese   0x0000003C
#define CHARSET_MacRomanian   0x0000003D
#define CHARSET_MacRoman   0x0000003E
#define CHARSET_MacSymbol   0x0000003F
#define CHARSET_MacThai   0x00000040
#define CHARSET_MacTurkish   0x00000041
#define CHARSET_MacUkrainian   0x00000042
#define CHARSET_WinCP_Baltic   0x00000043
#define CHARSET_IBM_1046   0x00000044
#define CHARSET_KS_C_5601_Unif   0x00000045
#define CHARSET_KS_C_5601_1992   0x00000046
#define CHARSET_ISCII_Devanagari   0x00000047
#define CHARSET_ISCII_Bengali   0x00000048
#define CHARSET_ISCII_Gurmukhi   0x00000049
#define CHARSET_ISCII_Gujarati   0x0000004A
#define CHARSET_ISCII_Oriya   0x0000004B
#define CHARSET_ISCII_Tamil   0x0000004C
#define CHARSET_ISCII_Telugu   0x0000004D
#define CHARSET_ISCII_Kannada   0x0000004E
#define CHARSET_ISCII_Malayalam   0x0000004F
#define CHARSET_KOI8   0x00000050
#define CHARSET_MAX   0x00000050
#define CHARSET_ISO_Latin_1   CHARSET_ISO_8859_1
#define CHARSET_ASCII   CHARSET_ISO_Latin_1
#define CHARSET_JIS_0208   CHARSET_JIS_X_0208_1990
#define CHARSET_JIS_0212   CHARSET_JIS_X_0212_1990
#define CHARSET_SHIFT_JIS   (CHARALG_SJIS | CHARSET_JIS_X_0208_1990)
#define UCCONV_NoByteOrderMark   0x00000001
#define MucGLYPHFLAG_PartOfRtoLWord   0x01
#define MucGLYPHFLAG_NonJoining   0x80
#define MucGLYPHFLAG_Mark   0x40
#define MucGLYPHDIRECTION_LtoR   0
#define MucGLYPHDIRECTION_RtoL   1
#define MucGLYPHDIRECTION_Weak   2
#define UCDECOMPFLAG_Initial   (1 << UCDECOMP_Initial)
#define UCDECOMPFLAG_Medial   (1 << UCDECOMP_Medial)
#define UCDECOMPFLAG_Final   (1 << UCDECOMP_Final)
#define UCDECOMPFLAG_Isolated   (1 << UCDECOMP_Isolated)
#define UCDECOMPFLAG_PositionMask   (UCDECOMPFLAG_Initial | UCDECOMPFLAG_Medial | UCDECOMPFLAG_Final | UCDECOMPFLAG_Isolated)
#define MTTEXT_NULLIfUnknown   0x00000001
#define GLYPHSUB_AllowWideForms   0x00000001
#define GLYPHSUB_AllowNarrowForms   0x00000002
#define GLYPHSUB_AllowCompatForms   0x00000004
#define GLYPHSUB_AllowPositionalForms   0x00000008
#define GLYPHSUB_AllowFractionForms   0x00000010
#define GLYPHSUB_AllowSubscriptForms   0x00000020
#define GLYPHSUB_AllowSuperscriptForms   0x00000040
#define GLYPHSUB_AllowSmallForms   0x00000080
#define GLYPHSUB_AllowSquareForms   0x00000100
#define GLYPHSUB_AllowCircleForms   0x00000200
#define GLYPHSUB_AllowFontForms   0x00000400
#define GLYPHSUB_AllowNoBreakForms   0x00000800
#define GLYPHSUB_AllowVerticalForms   0x00001000
#define MUC_THAI_OF   1
#define MUC_THAI_TTF   2
#define ENCODING_Unicode   -1
#define ENCODING_ISO2022   0
#define ENCODING_ASCII   ENCODING_ISO2022
#define MUCEVENT_ComposeOn   0x01
#define MUCEVENT_ComposeOff   0x02
#define MUCEVENT_ComposeToggle   (MUCEVENT_ComposeOn|MUCEVENT_ComposeOff)

Enumerations

enum  CHAR_ENCODING {
  CHAR_ENCODING_ASCII = 0, CHAR_ENCODING_Unicode, CHAR_ENCODING_UTF8, CHAR_ENCODING_XResFile,
  CHAR_ENCODING_Unicode_Decomposed, CHAR_ENCODING_UTF8_Decomposed, CHAR_ENCODING_WindowsMultiByte, CHAR_ENCODING_ISO_2022 = 100,
  CHAR_ENCODING_ISO_8859_1, CHAR_ENCODING_ISO_8859_2, CHAR_ENCODING_ISO_8859_3, CHAR_ENCODING_ISO_8859_4,
  CHAR_ENCODING_ISO_8859_5, CHAR_ENCODING_ISO_8859_6, CHAR_ENCODING_ISO_8859_7, CHAR_ENCODING_ISO_8859_8,
  CHAR_ENCODING_ISO_8859_9, CHAR_ENCODING_JIS = 120, CHAR_ENCODING_EUC, CHAR_ENCODING_SJIS,
  CHAR_ENCODING_Japanese, CHAR_ENCODING_Big5 = 130, CHAR_ENCODING_GB_2312, CHAR_ENCODING_KCS_5601 = 140,
  CHAR_ENCODING_ISCII_Devanagari = 150, CHAR_ENCODING_ISCII_Bengali, CHAR_ENCODING_ISCII_Gurmukhi, CHAR_ENCODING_ISCII_Gujarati,
  CHAR_ENCODING_ISCII_Oriya, CHAR_ENCODING_ISCII_Tamil, CHAR_ENCODING_ISCII_Telugu, CHAR_ENCODING_ISCII_Kannada,
  CHAR_ENCODING_ISCII_Malayalam, CHAR_ENCODING_WinCP_ANSI = 300, CHAR_ENCODING_WinCP_Cyrl, CHAR_ENCODING_WinCP_Greek,
  CHAR_ENCODING_WinCP_Arabic, CHAR_ENCODING_WinCP_Thai, CHAR_ENCODING_WinCP_EE, CHAR_ENCODING_WinCP_Turk,
  CHAR_ENCODING_WinCP_Hebr, CHAR_ENCODING_IBMCP_855 = 400, CHAR_ENCODING_IBMCP_869, CHAR_ENCODING_DOSCP_437 = 500,
  CHAR_ENCODING_DOSCP_850, CHAR_ENCODING_DOSCP_852, CHAR_ENCODING_DOSCP_857, CHAR_ENCODING_DOSCP_861,
  CHAR_ENCODING_DOSCP_863, CHAR_ENCODING_DOSCP_865, CHAR_ENCODING_MacArabic = 600, CHAR_ENCODING_MacCroatian,
  CHAR_ENCODING_MacCyrillic, CHAR_ENCODING_MacDingbats, CHAR_ENCODING_MacCentEurope, CHAR_ENCODING_MacGreek,
  CHAR_ENCODING_MacHebrew, CHAR_ENCODING_MacIcelandic, CHAR_ENCODING_MacJapanese, CHAR_ENCODING_MacRomanian,
  CHAR_ENCODING_MacRoman, CHAR_ENCODING_MacSymbol, CHAR_ENCODING_MacThai, CHAR_ENCODING_MacTurkish,
  CHAR_ENCODING_MacUkrainian, CHAR_ENCODING_KOI8 = 700
}
enum  ENCODELIST_FLAGS {
  ENCODELIST_FLAG_Any = 0x0000, ENCODELIST_FLAG_Importable = 0x0001, ENCODELIST_FLAG_Exportable = 0x0002, ENCODELIST_FLAG_Both = 0x0003,
  ENCODELIST_FLAG_NoUnicode = 0x0004
}
enum  SCRIPTTAG {
  SCRIPTTAG_arab = 0x61726162, SCRIPTTAG_armn = 0x61726D6E, SCRIPTTAG_beng = 0x62656E67, SCRIPTTAG_bpmf = 0x62706D66,
  SCRIPTTAG_cyrl = 0x6379726C, SCRIPTTAG_deva = 0x64657661, SCRIPTTAG_grek = 0x6772656B, SCRIPTTAG_grgn = 0x6772676E,
  SCRIPTTAG_gujr = 0x67756A72, SCRIPTTAG_hang = 0x68616E67, SCRIPTTAG_hani = 0x68616E69, SCRIPTTAG_hebr = 0x68656272,
  SCRIPTTAG_kana = 0x6B616E61, SCRIPTTAG_knbn = 0x6B6E626E, SCRIPTTAG_knda = 0x6B6E6461, SCRIPTTAG_laoS = 0x6C616F20,
  SCRIPTTAG_latn = 0x6C61746E, SCRIPTTAG_mlym = 0x6D6C796D, SCRIPTTAG_orya = 0x6F727961, SCRIPTTAG_punj = 0x70756E6A,
  SCRIPTTAG_taml = 0x74616D6C, SCRIPTTAG_telu = 0x74656C75, SCRIPTTAG_thai = 0x74686169, SCRIPTTAG_tibt = 0x74696174,
  SCRIPTTAG_neut = 0x4E455554, SCRIPTTAG_puse = 0x50555345, SCRIPTTAG_spcl = 0x5350434C, SCRIPTTAG_surr = 0x53555252,
  SCRIPTTAG_Default = 0x00000000
}
enum  UCCAT {
  UCCAT_Cn = 0, UCCAT_Lu = 1, UCCAT_Ll = 2, UCCAT_Lt = 3,
  UCCAT_Lm = 4, UCCAT_Lo = 5, UCCAT_Mn = 6, UCCAT_Mc = 7,
  UCCAT_Me = 8, UCCAT_Nd = 9, UCCAT_Nl = 10, UCCAT_No = 11,
  UCCAT_Zs = 12, UCCAT_Zl = 13, UCCAT_Zp = 14, UCCAT_Cc = 15,
  UCCAT_Cf = 16, UCCAT_Cs = 17, UCCAT_Co = 18, UCCAT_Pc = 20,
  UCCAT_Pd = 21, UCCAT_Ps = 22, UCCAT_Pe = 23, UCCAT_Pi = 24,
  UCCAT_Pf = 25, UCCAT_Po = 26, UCCAT_Sm = 27, UCCAT_Sc = 28,
  UCCAT_Sk = 29, UCCAT_So = 30
}
enum  UCCATFLAGS {
  UCCATFLAG_Cn = (1 << UCCAT_Cn), UCCATFLAG_Lu = (1 << UCCAT_Lu), UCCATFLAG_Ll = (1 << UCCAT_Ll), UCCATFLAG_Lt = (1 << UCCAT_Lt),
  UCCATFLAG_Lm = (1 << UCCAT_Lm), UCCATFLAG_Lo = (1 << UCCAT_Lo), UCCATFLAG_Mn = (1 << UCCAT_Mn), UCCATFLAG_Mc = (1 << UCCAT_Mc),
  UCCATFLAG_Me = (1 << UCCAT_Me), UCCATFLAG_Nd = (1 << UCCAT_Nd), UCCATFLAG_Nl = (1 << UCCAT_Nl), UCCATFLAG_No = (1 << UCCAT_No),
  UCCATFLAG_Zs = (1 << UCCAT_Zs), UCCATFLAG_Zl = (1 << UCCAT_Zl), UCCATFLAG_Zp = (1 << UCCAT_Zp), UCCATFLAG_Cc = (1 << UCCAT_Cc),
  UCCATFLAG_Cf = (1 << UCCAT_Cf), UCCATFLAG_Cs = (1 << UCCAT_Cs), UCCATFLAG_Co = (1 << UCCAT_Co), UCCATFLAG_Pc = (1 << UCCAT_Pc),
  UCCATFLAG_Pd = (1 << UCCAT_Pd), UCCATFLAG_Ps = (1 << UCCAT_Ps), UCCATFLAG_Pe = (1 << UCCAT_Pe), UCCATFLAG_Pi = (1 << UCCAT_Pi),
  UCCATFLAG_Pf = (1 << UCCAT_Pf), UCCATFLAG_Po = (1 << UCCAT_Po), UCCATFLAG_Sm = (1 << UCCAT_Sm), UCCATFLAG_Sc = (1 << UCCAT_Sc),
  UCCATFLAG_Sk = (1 << UCCAT_Sk), UCCATFLAG_So = (1 << UCCAT_So), UCCATFLAG_Mi = (1 << 31)
}
enum  BIDITAG {
  BIDITAG_L = 0, BIDITAG_LRE = 1, BIDITAG_LRO = 2, BIDITAG_R = 3,
  BIDITAG_AL = 4, BIDITAG_RLE = 5, BIDITAG_RLO = 6, BIDITAG_PDF = 7,
  BIDITAG_EN = 8, BIDITAG_ES = 9, BIDITAG_ET = 10, BIDITAG_AN = 11,
  BIDITAG_CS = 12, BIDITAG_NSM = 13, BIDITAG_BN = 14, BIDITAG_B = 15,
  BIDITAG_WS = 16, BIDITAG_ON = 17
}
enum  BIDIFLAGS {
  BIDIFLAG_L = (1 << BIDITAG_L), BIDIFLAG_LRE = (1 << BIDITAG_LRE), BIDIFLAG_LRO = (1 << BIDITAG_LRO), BIDIFLAG_R = (1 << BIDITAG_R),
  BIDIFLAG_AL = (1 << BIDITAG_AL), BIDIFLAG_RLE = (1 << BIDITAG_RLE), BIDIFLAG_RLO = (1 << BIDITAG_RLO), BIDIFLAG_PDF = (1 << BIDITAG_PDF),
  BIDIFLAG_EN = (1 << BIDITAG_EN), BIDIFLAG_ES = (1 << BIDITAG_ES), BIDIFLAG_ET = (1 << BIDITAG_ET), BIDIFLAG_AN = (1 << BIDITAG_AN),
  BIDIFLAG_CS = (1 << BIDITAG_CS), BIDIFLAG_NSM = (1 << BIDITAG_NSM), BIDIFLAG_BN = (1 << BIDITAG_BN), BIDIFLAG_B = (1 << BIDITAG_B),
  BIDIFLAG_WS = (1 << BIDITAG_WS), BIDIFLAG_ON = (1 << BIDITAG_ON)
}
enum  UCDECOMP {
  UCDECOMP_NoTag = 0, UCDECOMP_Initial = 1, UCDECOMP_Medial = 2, UCDECOMP_Final = 3,
  UCDECOMP_Isolated = 4, UCDECOMP_Compat = 5, UCDECOMP_Wide = 6, UCDECOMP_Narrow = 7,
  UCDECOMP_Fraction = 8, UCDECOMP_Subscript = 9, UCDECOMP_Superscript = 10, UCDECOMP_Small = 11,
  UCDECOMP_Square = 12, UCDECOMP_Circle = 13, UCDECOMP_Font = 14, UCDECOMP_NoBreak = 15,
  UCDECOMP_Vertical = 16
}

Functions

LIBEXPORT bool ucisprop (UNICODE c, UINT32 uccatflags)
LIBEXPORT bool ucisdecompbidiprop (UNICODE c, UINT32 decompflags)
LIBEXPORT bool ucisbidiprop (UNICODE c, UINT32 bidiflags)
LIBEXPORT UNICODE uctolower (UNICODE c)
LIBEXPORT UNICODE uctoupper (UNICODE c)
bool ucisalpha (UNICODE c)
bool ucisdigit2 (UNICODE c)
bool ucisalnum (UNICODE c)
bool uciscntrl (UNICODE c)
bool ucisspace (UNICODE c)
bool ucisblank (UNICODE c)
bool ucispunct (UNICODE c)
bool ucisupper (UNICODE c)
bool ucislower (UNICODE c)
bool ucistitle (UNICODE c)
bool ucisisocntrl (UNICODE c)
bool ucisfmtcntrl (UNICODE c)
bool ucissymbol (UNICODE c)
bool ucisnumber (UNICODE c)
bool ucisnonspacing (UNICODE c)
bool ucisopenpunct (UNICODE c)
bool ucisclosepunct (UNICODE c)
bool ucisinitialpunct (UNICODE c)
bool ucisfinalpunct (UNICODE c)
bool ucisrtl (UNICODE c)
bool ucisltr (UNICODE c)
bool ucisstrong (UNICODE c)
bool ucisweak (UNICODE c)
bool ucisneutral (UNICODE c)
bool ucismark (UNICODE c)
bool ucismodif (UNICODE c)
bool ucisconnect (UNICODE c)
bool ucisdash (UNICODE c)
bool ucismath (UNICODE c)
bool uciscurrency (UNICODE c)
bool ucismodifsymbol (UNICODE c)
bool ucisnsmark (UNICODE c)
bool ucisspmark (UNICODE c)
bool ucisenclosing (UNICODE c)
bool ucislsep (UNICODE c)
bool ucispsep (UNICODE c)
bool ucishan (UNICODE c)
bool ucishangul (UNICODE c)
LIBEXPORT UNICODEMtTextGetStringUC (const char *group, const char *key)
LIBEXPORT UNICODEMtTextGetStringExtUC (const char *group, const char *key, UINT32 flags)
LIBEXPORT UNICODEstrntouc (UNICODE *dest, const char *source, int len)
LIBEXPORT UNICODEstrtouc (UNICODE *dest, const char *source)
LIBEXPORT UNICODEstrtouccat (UNICODE *dest, const char *source)
LIBEXPORT UNICODEstrtoucdup (const char *)
bool ucisdigit (UNICODE digit)
LIBEXPORT UNICODEucstrcat (UNICODE *dest, const UNICODE *source)
LIBEXPORT UNICODEucstrchr (const UNICODE *p, UNICODE value)
LIBEXPORT int ucstrcmp (const UNICODE *p1, const UNICODE *p2)
LIBEXPORT UNICODEucstrcpy (UNICODE *dest, const UNICODE *source)
LIBEXPORT UNICODEucstrdup (const UNICODE *s)
LIBEXPORT size_t ucstrlen (const UNICODE *p)
LIBEXPORT int ucstricmp (const UNICODE *p1, const UNICODE *p2)
LIBEXPORT UNICODEucstrlwr (UNICODE *p)
LIBEXPORT UNICODEucstrncat (UNICODE *p1, const UNICODE *p2, int len)
LIBEXPORT int ucstrncmp (const UNICODE *p1, const UNICODE *p2, int len)
LIBEXPORT UNICODEucstrncpy (UNICODE *dest, const UNICODE *source, int len)
LIBEXPORT int ucstrnicmp (const UNICODE *p1, const UNICODE *p2, int len)
LIBEXPORT UNICODEucstrpbrk (UNICODE *s, UNICODE *accept)
LIBEXPORT UNICODEucstrrchr (UNICODE *s, UNICODE value)
LIBEXPORT size_t ucstrspn (const UNICODE *s, const UNICODE *accept)
LIBEXPORT UNICODEucstrstr (UNICODE *s, const UNICODE *p)
LIBEXPORT UNICODEucstrtok (UNICODE *s, UNICODE *delim)
LIBEXPORT UNICODEucstrupr (UNICODE *p)
LIBEXPORT char * uctostr (char *dest, const UNICODE *source)
LIBEXPORT char * ucntostr (char *dest, const UNICODE *source, int len)
LIBEXPORT char * uctostrdup (const UNICODE *)
LIBEXPORT int ucConvertSlashes (UNICODE *, int *)
LIBEXPORT UNICODEMucDecompose (const UNICODE *string)
LIBEXPORT UNICODEMucRecompose (const UNICODE *string)
LIBEXPORT int MucInitConversion (void **handle, const char *encoding, UINT32 flags)
LIBEXPORT void MucStopConversion (void *handle)
LIBEXPORT int MucCharsetToUnicode (int val, int charset)
LIBEXPORT int MucCharsetToUnicodeBuf (UNICODE *buf, int charset)
LIBEXPORT int MucConvertToUnicode (void *vcd, const void *vinbuf, UNICODE **outbuf)
LIBEXPORT int MucConvertToISO2022 (void *vcd, const void *vinbuf, char **outbuf)
LIBEXPORT int MucConvertFromISO2022 (void *vcd, const void *vinbuf, char **outbuf)
LIBEXPORT int MucConvertFromUnicode (void *vcd, const UNICODE *ucbuf, void **outbufp)
LIBEXPORT int MucConvertUnicodeGen (const UNICODE *inbuf, int(*NewCharsetFunc)(int NewCharset, int OldCharset, void *UserData), int(*AddCharsFunc)(UINT8 *chars, int len, void *UserData), void *UserData, UINT32 flags)
LIBEXPORT int MucConvertUnicodeToISO2022 (const UNICODE *inbuf, char **outbuf)
LIBEXPORT int MucConvertISO2022ToUnicode (const void *, UNICODE **)
LIBEXPORT int MucConvertISO2022aToUnicode (const void *, UNICODE **)
LIBEXPORT int MucConvertUTF8ToUnicode (const UINT8 *instr, UNICODE **outstr)
LIBEXPORT int MucConvertUnicodeToUTF8 (const UNICODE *instr, UINT8 **outstr)
LIBEXPORT UNICODEMucDoGlyphSubstitutions (const UNICODE *instr, bool(*CB_AllowSub)(const UCDATA *sub, void *cbdata), void *cbdata, UINT32 flags=0)
LIBEXPORT UNICODEMucFlipVisualAndLogicalOrder (const UNICODE *)
LIBEXPORT void MucFPrintfA (void *handle, const char *format,...)
LIBEXPORT void MucFPrintfAV (void *handle, const char *format, va_list)
LIBEXPORT void MucFPrintfClose (void *handle)
LIBEXPORT void MucFPrintfFlush (void *handle)
LIBEXPORT int MucFPrintfOpen (const UNICODE *filename, const char *filemode, const char *encoding, void **handle)
LIBEXPORT void MucFPrintfU (void *handle, const UNICODE *format,...)
LIBEXPORT void MucFPrintfUV (void *handle, const UNICODE *format, va_list)
LIBEXPORT int MucGetDefaultCharsets (int *charset1, int *charset2, int *charset3)
LIBEXPORT int MucGetGlyphDirection (const UNICODE *uc, int curdir, UINT8 *glyphflags)
LIBEXPORT int MucGetNumEncodings (ENCODELIST_FLAGS flags)
LIBEXPORT CHAR_ENCODING MucGetEncodingFromName (const char *name)
LIBEXPORT CHAR_ENCODING MucGetEncodingFromNum (int num, ENCODELIST_FLAGS flags)
LIBEXPORT int MucGetEncodingNum (CHAR_ENCODING encoding, ENCODELIST_FLAGS flags)
LIBEXPORT const char * MucGetName (CHAR_ENCODING encoding)
LIBEXPORT int MucGuessJapaneseEncoding (const UINT8 *in, char *encoding)
LIBEXPORT int MucHasRightToLeftTextUC (const UNICODE *in)
LIBEXPORT int MucHasRightToLeftTextISO2022 (const char *in)
LIBEXPORT char * MucNameToDesc (const char *name)
LIBEXPORT UNICODEMucNameToDescUC (const char *name)
LIBEXPORT int MucNameToNum (const char *name, ENCODELIST_FLAGS flags)
LIBEXPORT int MucNameToCharset (const char *name, ENCODELIST_FLAGS flags)
LIBEXPORT char * MucNumToDesc (int num, ENCODELIST_FLAGS flags)
LIBEXPORT UNICODEMucNumToDescUC (int num, ENCODELIST_FLAGS flags)
LIBEXPORT const char * MucNumToName (int num, ENCODELIST_FLAGS flags)
LIBEXPORT int MucQuickConvToUnicode (int encodetype, const void *in, UNICODE **ucp)
LIBEXPORT int MucQuickConvToISO2022 (int encodetype, const void *in, char **outp)
LIBEXPORT void MucReset (void *handle)
LIBEXPORT int MucStrLenISO2022 (const void *vinbuf)
LIBEXPORT UNICODEMucThaiShiftTonesAndVowels (const UNICODE *str, UINT32 fontencoding)
LIBEXPORT ERRVALUE MucIndicGlyphSubstitutions (const UNICODE *instr, UNICODE **outstr, SCRIPTTAG script=SCRIPTTAG_Default, INT32 len=-1, bool bApplyRephHack=false)
LIBEXPORT bool MucIsThaiTone (UNICODE ch)
LIBEXPORT bool MucIsThaiVowel (UNICODE ch)
LIBEXPORT bool MucIsThaiUpperVowel (UNICODE ch)
LIBEXPORT bool MucIsThaiLowerVowel (UNICODE ch)
LIBEXPORT int MucUnicodeToCharset (int val, int charset)


Detailed Description

Definitions for Unicode string functions and related text conversion.

Definition in file ucstring.h.


Define Documentation

#define CHARALG_EUC   0x00020000
 

Definition at line 132 of file ucstring.h.

#define CHARALG_GL2GR   0x00040000
 

Set high bits.

Definition at line 133 of file ucstring.h.

#define CHARALG_GR2GL   0x00080000
 

Strip high bits.

Definition at line 134 of file ucstring.h.

#define CHARALG_SJIS   0x00010000
 

Definition at line 131 of file ucstring.h.

#define CHARSET_ArabicUC   0x00000033
 

The Arabic range of Unicode.

Definition at line 187 of file ucstring.h.

#define CHARSET_ASCII   CHARSET_ISO_Latin_1
 

Definition at line 221 of file ucstring.h.

#define CHARSET_BigFive   0x00000007
 

Definition at line 143 of file ucstring.h.

#define CHARSET_CNS_11543_01   0x00000008
 

Definition at line 144 of file ucstring.h.

#define CHARSET_CNS_11543_02   0x00000009
 

Definition at line 145 of file ucstring.h.

#define CHARSET_CNS_11543_14   0x0000000A
 

Definition at line 146 of file ucstring.h.

#define CHARSET_DOSCP_437   0x00000022
 

DOS Codepage.

Definition at line 170 of file ucstring.h.

#define CHARSET_DOSCP_850   0x00000023
 

DOS Codepage.

Definition at line 171 of file ucstring.h.

#define CHARSET_DOSCP_852   0x00000024
 

DOS Codepage.

Definition at line 172 of file ucstring.h.

#define CHARSET_DOSCP_857   0x00000025
 

DOS Codepage.

Definition at line 173 of file ucstring.h.

#define CHARSET_DOSCP_861   0x00000026
 

DOS Codepage.

Definition at line 174 of file ucstring.h.

#define CHARSET_DOSCP_863   0x00000027
 

DOS Codepage.

Definition at line 175 of file ucstring.h.

#define CHARSET_DOSCP_865   0x00000028
 

DOS Codepage.

Definition at line 176 of file ucstring.h.

#define CHARSET_GB_12345   0x00000002
 

Definition at line 138 of file ucstring.h.

#define CHARSET_GB_2312   0x00000001
 

Definition at line 137 of file ucstring.h.

#define CHARSET_GB_7589   0x00000003
 

Definition at line 139 of file ucstring.h.

#define CHARSET_GB_7590   0x00000004
 

Definition at line 140 of file ucstring.h.

#define CHARSET_GB_8565   0x00000006
 

Definition at line 142 of file ucstring.h.

#define CHARSET_GB_Han   0x00000005
 

Definition at line 141 of file ucstring.h.

#define CHARSET_GB_ROMAN   0x00000019
 

From ISO 2022.

Definition at line 161 of file ucstring.h.

#define CHARSET_HW_KATAKANA   0x0000001B
 

From ISO 2022.

Definition at line 163 of file ucstring.h.

#define CHARSET_IBM_1046   0x00000044
 

IBM Arabic encoding.

Definition at line 204 of file ucstring.h.

#define CHARSET_IBMCP_1040   0x0000002C
 

IBM Codepage.

Definition at line 180 of file ucstring.h.

#define CHARSET_IBMCP_1041   0x0000002D
 

IBM Codepage.

Definition at line 181 of file ucstring.h.

#define CHARSET_IBMCP_1043   0x0000002E
 

IBM Codepage.

Definition at line 182 of file ucstring.h.

#define CHARSET_IBMCP_855   0x0000002A
 

IBM Codepage.

Definition at line 178 of file ucstring.h.

#define CHARSET_IBMCP_864   0x0000002B
 

IBM Codepage.

Definition at line 179 of file ucstring.h.

#define CHARSET_IBMCP_869   0x00000029
 

IBM Codepage.

Definition at line 177 of file ucstring.h.

#define CHARSET_ISCII_Bengali   0x00000048
 

Indic.

Definition at line 208 of file ucstring.h.

#define CHARSET_ISCII_Devanagari   0x00000047
 

Indic.

Definition at line 207 of file ucstring.h.

#define CHARSET_ISCII_Gujarati   0x0000004A
 

Indic.

Definition at line 210 of file ucstring.h.

#define CHARSET_ISCII_Gurmukhi   0x00000049
 

Indic.

Definition at line 209 of file ucstring.h.

#define CHARSET_ISCII_Kannada   0x0000004E
 

Indic.

Definition at line 214 of file ucstring.h.

#define CHARSET_ISCII_Malayalam   0x0000004F
 

Indic.

Definition at line 215 of file ucstring.h.

#define CHARSET_ISCII_Oriya   0x0000004B
 

Indic.

Definition at line 211 of file ucstring.h.

#define CHARSET_ISCII_Tamil   0x0000004C
 

Indic.

Definition at line 212 of file ucstring.h.

#define CHARSET_ISCII_Telugu   0x0000004D
 

Indic.

Definition at line 213 of file ucstring.h.

#define CHARSET_ISO_8859_1   0x0000000F
 

ASCII.

Definition at line 151 of file ucstring.h.

#define CHARSET_ISO_8859_2   0x00000010
 

Definition at line 152 of file ucstring.h.

#define CHARSET_ISO_8859_3   0x00000011
 

Definition at line 153 of file ucstring.h.

#define CHARSET_ISO_8859_4   0x00000012
 

Definition at line 154 of file ucstring.h.

#define CHARSET_ISO_8859_5   0x00000013
 

Definition at line 155 of file ucstring.h.

#define CHARSET_ISO_8859_6   0x00000014
 

Definition at line 156 of file ucstring.h.

#define CHARSET_ISO_8859_7   0x00000015
 

Definition at line 157 of file ucstring.h.

#define CHARSET_ISO_8859_8   0x00000016
 

Definition at line 158 of file ucstring.h.

#define CHARSET_ISO_8859_9   0x00000017
 

Definition at line 159 of file ucstring.h.

#define CHARSET_ISO_Latin_1   CHARSET_ISO_8859_1
 

Definition at line 220 of file ucstring.h.

#define CHARSET_JIS_0208   CHARSET_JIS_X_0208_1990
 

Definition at line 222 of file ucstring.h.

#define CHARSET_JIS_0212   CHARSET_JIS_X_0212_1990
 

Definition at line 223 of file ucstring.h.

#define CHARSET_JIS_C_6226   0x0000001A
 

From ISO 2022.

Definition at line 162 of file ucstring.h.

#define CHARSET_JIS_ROMAN   0x00000018
 

Definition at line 160 of file ucstring.h.

#define CHARSET_JIS_X_0208_1990   0x0000000B
 

Definition at line 147 of file ucstring.h.

#define CHARSET_JIS_X_0212_1990   0x0000000C
 

Definition at line 148 of file ucstring.h.

#define CHARSET_KOI8   0x00000050
 

Russian/Ukranian/Etc.

Definition at line 216 of file ucstring.h.

#define CHARSET_KS_C_5601_1987   0x0000000D
 

Wansung.

Definition at line 149 of file ucstring.h.

#define CHARSET_KS_C_5601_1992   0x00000046
 

Johab.

Definition at line 206 of file ucstring.h.

#define CHARSET_KS_C_5601_Unif   0x00000045
 

Unified Hangul (UHang).

Definition at line 205 of file ucstring.h.

#define CHARSET_KS_C_5657_1991   0x0000000E
 

Definition at line 150 of file ucstring.h.

#define CHARSET_MacArabic   0x00000034
 

Definition at line 188 of file ucstring.h.

#define CHARSET_MacCentEurope   0x00000038
 

Definition at li