WXDLLIMPEXP_DATA_BASE(extern wxMBConvUTF8) wxConvUTF8;
+// ----------------------------------------------------------------------------
+// wxMBConvUTF16LE (for conversion using UTF16 Little Endian encoding)
+// ----------------------------------------------------------------------------
+
+class WXDLLIMPEXP_BASE wxMBConvUTF16LE : public wxMBConv
+{
+public:
+ virtual size_t MB2WC(wchar_t *buf, const char *psz, size_t n) const;
+ virtual size_t WC2MB(char *buf, const wchar_t *psz, size_t n) const;
+};
+
+// ----------------------------------------------------------------------------
+// wxMBConvUTF16BE (for conversion using UTF16 Big Endian encoding)
+// ----------------------------------------------------------------------------
+
+class WXDLLIMPEXP_BASE wxMBConvUTF16BE : public wxMBConv
+{
+public:
+ virtual size_t MB2WC(wchar_t *buf, const char *psz, size_t n) const;
+ virtual size_t WC2MB(char *buf, const wchar_t *psz, size_t n) const;
+};
+
+// ----------------------------------------------------------------------------
+// wxMBConvUCS4LE (for conversion using UTF32 Little Endian encoding)
+// ----------------------------------------------------------------------------
+
+class WXDLLIMPEXP_BASE wxMBConvUTF32LE : public wxMBConv
+{
+public:
+ virtual size_t MB2WC(wchar_t *buf, const char *psz, size_t n) const;
+ virtual size_t WC2MB(char *buf, const wchar_t *psz, size_t n) const;
+};
+
+// ----------------------------------------------------------------------------
+// wxMBConvUCS4BE (for conversion using UTF32 Big Endian encoding)
+// ----------------------------------------------------------------------------
+
+class WXDLLIMPEXP_BASE wxMBConvUTF32BE : public wxMBConv
+{
+public:
+ virtual size_t MB2WC(wchar_t *buf, const char *psz, size_t n) const;
+ virtual size_t WC2MB(char *buf, const wchar_t *psz, size_t n) const;
+};
+
// ----------------------------------------------------------------------------
// wxCSConv (for conversion based on loadable char sets)
// ----------------------------------------------------------------------------
+#include "wx/fontenc.h"
+
class WXDLLIMPEXP_BASE wxCharacterSet;
class WXDLLIMPEXP_BASE wxCSConv : public wxMBConv
{
public:
wxCSConv(const wxChar *charset);
+ wxCSConv(wxFontEncoding encoding);
wxCSConv(const wxCSConv& conv);
virtual ~wxCSConv();
void Clear() ;
private:
+ // common part of all ctors
+ void Init();
+
void SetName(const wxChar *charset);
// note that we can't use wxString here because of compilation
// dependencies: we're included from wx/string.h
wxChar *m_name;
wxCharacterSet *m_cset;
+ wxFontEncoding m_encoding;
bool m_deferred;
};
const char* cWX2MB(const char *psz) const { return psz; }
};
-WXDLLIMPEXP_DATA_BASE(extern wxMBConv) wxConvLibc, wxConvFile, wxConvLocal, wxConvISO8859_1, wxConvUTF8;
+WXDLLIMPEXP_DATA_BASE(extern wxMBConv) wxConvLibc,
+ wxConvFile,
+ wxConvLocal,
+ wxConvISO8859_1,
+ wxConvUTF8;
WXDLLIMPEXP_DATA_BASE(extern wxMBConv *) wxConvCurrent;
#define wxFNCONV(name) name