41 E_unicode = E_utf16be,
49 INLINE
void set_encoding(Encoding encoding);
50 INLINE Encoding get_encoding()
const;
52 INLINE
static void set_default_encoding(Encoding encoding);
53 INLINE
static Encoding get_default_encoding();
54 MAKE_PROPERTY(default_encoding, get_default_encoding, set_default_encoding);
57 EXTEND
void set_text(PyObject *text);
58 EXTEND
void set_text(PyObject *text, Encoding encoding);
60 INLINE
void set_text(
const std::string &text);
61 INLINE
void set_text(
const std::string &text, Encoding encoding);
63 INLINE
void clear_text();
64 INLINE
bool has_text()
const;
70 EXTEND PyObject *get_text()
const;
71 EXTEND PyObject *get_text(Encoding encoding)
const;
72 EXTEND
void append_text(PyObject *text);
74 INLINE std::string get_text()
const;
75 INLINE std::string get_text(Encoding encoding)
const;
76 INLINE
void append_text(
const std::string &text);
78 INLINE
void append_unicode_char(char32_t character);
79 INLINE
size_t get_num_chars()
const;
80 INLINE
int get_unicode_char(
size_t index)
const;
81 INLINE
void set_unicode_char(
size_t index, char32_t character);
82 INLINE std::string get_encoded_char(
size_t index)
const;
83 INLINE std::string get_encoded_char(
size_t index, Encoding encoding)
const;
84 INLINE std::string get_text_as_ascii()
const;
86 INLINE
static std::string reencode_text(
const std::string &text, Encoding from, Encoding to);
88 INLINE
static bool unicode_isalpha(char32_t character);
89 INLINE
static bool unicode_isdigit(char32_t character);
90 INLINE
static bool unicode_ispunct(char32_t character);
91 INLINE
static bool unicode_islower(char32_t character);
92 INLINE
static bool unicode_isupper(char32_t character);
93 INLINE
static bool unicode_isspace(char32_t character);
94 INLINE
static int unicode_toupper(char32_t character);
95 INLINE
static int unicode_tolower(char32_t character);
97 INLINE
static std::string upper(
const std::string &source);
98 INLINE
static std::string upper(
const std::string &source, Encoding encoding);
99 INLINE
static std::string lower(
const std::string &source);
100 INLINE
static std::string lower(
const std::string &source, Encoding encoding);
104 INLINE
void set_wtext(
const std::wstring &wtext);
105 INLINE
const std::wstring &get_wtext()
const;
106 INLINE
void append_wtext(
const std::wstring &text);
107 std::wstring get_wtext_as_ascii()
const;
108 bool is_wtext()
const;
111 EXTEND
static PyObject *encode_wchar(char32_t ch, Encoding encoding);
112 EXTEND INLINE PyObject *encode_wtext(
const std::wstring &wtext)
const;
113 EXTEND
static PyObject *encode_wtext(
const std::wstring &wtext, Encoding encoding);
114 EXTEND INLINE PyObject *decode_text(PyObject *text)
const;
115 EXTEND
static PyObject *decode_text(PyObject *text, Encoding encoding);
117 static std::string encode_wchar(char32_t ch, Encoding encoding);
118 INLINE std::string encode_wtext(
const std::wstring &wtext)
const;
119 static std::string encode_wtext(
const std::wstring &wtext, Encoding encoding);
120 INLINE std::wstring decode_text(
const std::string &text)
const;
121 static std::wstring decode_text(
const std::string &text, Encoding encoding);
124 MAKE_PROPERTY(text, get_text, set_text);
127 virtual void text_changed();
132 F_got_wtext = 0x0002,
134 static std::wstring decode_text_impl(
StringDecoder &decoder);
141 static Encoding _default_encoding;
144 EXPCL_DTOOL_DTOOLUTIL std::ostream &
145 operator << (std::ostream &out, TextEncoder::Encoding encoding);
146 EXPCL_DTOOL_DTOOLUTIL std::istream &
147 operator >> (std::istream &in, TextEncoder::Encoding &encoding);
154 INLINE EXPCL_DTOOL_DTOOLUTIL std::ostream &
155 operator << (std::ostream &out,
const std::wstring &str);
This class can be used to convert text between multiple representations, e.g.
EXPCL_DTOOL_DTOOLUTIL std::ostream & operator<<(std::ostream &out, const std::wstring &str)
Uses the current default encoding to output the wstring.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
The base class to a family of classes that decode various kinds of encoded byte streams.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.