4
* depends on gerror.inc, gtypes.inc
12
Pgunichar2 = ^gunichar2;
15
{ These are the possible character classifications.
16
See http://www.unicode.org/Public/UNIDATA/UnicodeData.html
19
PGUnicodeType = ^TGUnicodeType;
20
TGUnicodeType = (G_UNICODE_CONTROL,
23
G_UNICODE_PRIVATE_USE,
25
G_UNICODE_LOWERCASE_LETTER,
26
G_UNICODE_MODIFIER_LETTER,
27
G_UNICODE_OTHER_LETTER,
28
G_UNICODE_TITLECASE_LETTER,
29
G_UNICODE_UPPERCASE_LETTER,
30
G_UNICODE_COMBINING_MARK,
31
G_UNICODE_ENCLOSING_MARK,
32
G_UNICODE_NON_SPACING_MARK,
33
G_UNICODE_DECIMAL_NUMBER,
34
G_UNICODE_LETTER_NUMBER,
35
G_UNICODE_OTHER_NUMBER,
36
G_UNICODE_CONNECT_PUNCTUATION,
37
G_UNICODE_DASH_PUNCTUATION,
38
G_UNICODE_CLOSE_PUNCTUATION,
39
G_UNICODE_FINAL_PUNCTUATION,
40
G_UNICODE_INITIAL_PUNCTUATION,
41
G_UNICODE_OTHER_PUNCTUATION,
42
G_UNICODE_OPEN_PUNCTUATION,
43
G_UNICODE_CURRENCY_SYMBOL,
44
G_UNICODE_MODIFIER_SYMBOL,
45
G_UNICODE_MATH_SYMBOL,
46
G_UNICODE_OTHER_SYMBOL,
47
G_UNICODE_LINE_SEPARATOR,
48
G_UNICODE_PARAGRAPH_SEPARATOR,
49
G_UNICODE_SPACE_SEPARATOR);
51
{ These are the possible line break classifications.
52
See http://www.unicode.org/unicode/reports/tr14/
55
PGUnicodeBreakType = ^TGUnicodeBreakType;
56
TGUnicodeBreakType = (G_UNICODE_BREAK_MANDATORY,
57
G_UNICODE_BREAK_CARRIAGE_RETURN,
58
G_UNICODE_BREAK_LINE_FEED,
59
G_UNICODE_BREAK_COMBINING_MARK,
60
G_UNICODE_BREAK_SURROGATE,
61
G_UNICODE_BREAK_ZERO_WIDTH_SPACE,
62
G_UNICODE_BREAK_INSEPARABLE,
63
G_UNICODE_BREAK_NON_BREAKING_GLUE,
64
G_UNICODE_BREAK_CONTINGENT,
65
G_UNICODE_BREAK_SPACE,
66
G_UNICODE_BREAK_AFTER,
67
G_UNICODE_BREAK_BEFORE,
68
G_UNICODE_BREAK_BEFORE_AND_AFTER,
69
G_UNICODE_BREAK_HYPHEN,
70
G_UNICODE_BREAK_NON_STARTER,
71
G_UNICODE_BREAK_OPEN_PUNCTUATION,
72
G_UNICODE_BREAK_CLOSE_PUNCTUATION,
73
G_UNICODE_BREAK_QUOTATION,
74
G_UNICODE_BREAK_EXCLAMATION,
75
G_UNICODE_BREAK_IDEOGRAPHIC,
76
G_UNICODE_BREAK_NUMERIC,
77
G_UNICODE_BREAK_INFIX_SEPARATOR,
78
G_UNICODE_BREAK_SYMBOL,
79
G_UNICODE_BREAK_ALPHABETIC,
80
G_UNICODE_BREAK_PREFIX,
81
G_UNICODE_BREAK_POSTFIX,
82
G_UNICODE_BREAK_COMPLEX_CONTEXT,
83
G_UNICODE_BREAK_AMBIGUOUS,
84
G_UNICODE_BREAK_UNKNOWN);
86
{ Returns TRUE if current locale uses UTF-8 charset. If CHARSET is
87
not null, sets CHARSET to the name of the current locale's
88
charset. This value is statically allocated, and should be copied
89
in case the locale's charset will be changed later using setlocale()
92
function g_get_charset(charset:PPchar):gboolean;cdecl;external gliblib name 'g_get_charset';
94
{ These are all analogs of the <ctype.h> functions.
96
function g_unichar_isalnum(c:gunichar):gboolean;cdecl;external gliblib name 'g_unichar_isalnum';
98
function g_unichar_isalpha(c:gunichar):gboolean;cdecl;external gliblib name 'g_unichar_isalpha';
100
function g_unichar_iscntrl(c:gunichar):gboolean;cdecl;external gliblib name 'g_unichar_iscntrl';
102
function g_unichar_isdigit(c:gunichar):gboolean;cdecl;external gliblib name 'g_unichar_isdigit';
104
function g_unichar_isgraph(c:gunichar):gboolean;cdecl;external gliblib name 'g_unichar_isgraph';
106
function g_unichar_islower(c:gunichar):gboolean;cdecl;external gliblib name 'g_unichar_islower';
108
function g_unichar_isprint(c:gunichar):gboolean;cdecl;external gliblib name 'g_unichar_isprint';
110
function g_unichar_ispunct(c:gunichar):gboolean;cdecl;external gliblib name 'g_unichar_ispunct';
112
function g_unichar_isspace(c:gunichar):gboolean;cdecl;external gliblib name 'g_unichar_isspace';
114
function g_unichar_isupper(c:gunichar):gboolean;cdecl;external gliblib name 'g_unichar_isupper';
116
function g_unichar_isxdigit(c:gunichar):gboolean;cdecl;external gliblib name 'g_unichar_isxdigit';
118
function g_unichar_istitle(c:gunichar):gboolean;cdecl;external gliblib name 'g_unichar_istitle';
120
function g_unichar_isdefined(c:gunichar):gboolean;cdecl;external gliblib name 'g_unichar_isdefined';
122
function g_unichar_iswide(c:gunichar):gboolean;cdecl;external gliblib name 'g_unichar_iswide';
124
{ More <ctype.h> functions. These convert between the three cases.
125
See the Unicode book to understand title case. }
126
function g_unichar_toupper(c:gunichar):gunichar;cdecl;external gliblib name 'g_unichar_toupper';
128
function g_unichar_tolower(c:gunichar):gunichar;cdecl;external gliblib name 'g_unichar_tolower';
130
function g_unichar_totitle(c:gunichar):gunichar;cdecl;external gliblib name 'g_unichar_totitle';
132
{ If C is a digit (according to `g_unichar_isdigit'), then return its
133
numeric value. Otherwise return -1. }
134
function g_unichar_digit_value(c:gunichar):gint;cdecl;external gliblib name 'g_unichar_digit_value';
136
function g_unichar_xdigit_value(c:gunichar):gint;cdecl;external gliblib name 'g_unichar_xdigit_value';
138
{ Return the Unicode character type of a given character. }
139
function g_unichar_type(c:gunichar):TGUnicodeType;cdecl;external gliblib name 'g_unichar_type';
141
{ Return the line break property for a given character }
142
function g_unichar_break_type(c:gunichar):TGUnicodeBreakType;cdecl;external gliblib name 'g_unichar_break_type';
144
{ Compute canonical ordering of a string in-place. This rearranges
145
decomposed characters in the string according to their combining
146
classes. See the Unicode manual for more information. }
147
procedure g_unicode_canonical_ordering(_string:Pgunichar; len:gsize);cdecl;external gliblib name 'g_unicode_canonical_ordering';
149
{ Compute canonical decomposition of a character. Returns g_malloc()d
150
string of Unicode characters. RESULT_LEN is set to the resulting
151
length of the string. }
152
function g_unicode_canonical_decomposition(ch:gunichar; result_len:Pgsize):Pgunichar;cdecl;external gliblib name 'g_unicode_canonical_decomposition';
155
{ Array of skip-bytes-per-initial character.
158
g_utf8_skip : pgchar; external gliblib name 'g_utf8_skip';
161
function g_utf8_next_char (p: pguchar):pguchar;
164
function g_utf8_get_char(p:Pgchar):gunichar;cdecl;external gliblib name 'g_utf8_get_char';
166
function g_utf8_get_char_validated(p:Pgchar; max_len:gssize):gunichar;cdecl;external gliblib name 'g_utf8_get_char_validated';
168
function g_utf8_offset_to_pointer(str:Pgchar; offset:glong):Pgchar;cdecl;external gliblib name 'g_utf8_offset_to_pointer';
170
function g_utf8_pointer_to_offset(str:Pgchar; pos:Pgchar):glong;cdecl;external gliblib name 'g_utf8_pointer_to_offset';
172
function g_utf8_prev_char(p:Pgchar):Pgchar;cdecl;external gliblib name 'g_utf8_prev_char';
174
function g_utf8_find_next_char(p:Pgchar; _end:Pgchar):Pgchar;cdecl;external gliblib name 'g_utf8_find_next_char';
176
function g_utf8_find_prev_char(str:Pgchar; p:Pgchar):Pgchar;cdecl;external gliblib name 'g_utf8_find_prev_char';
178
function g_utf8_strlen(p:Pgchar; max:gssize):glong;cdecl;external gliblib name 'g_utf8_strlen';
180
{ Copies n characters from src to dest }
181
function g_utf8_strncpy(dest:Pgchar; src:Pgchar; n:gsize):Pgchar;cdecl;external gliblib name 'g_utf8_strncpy';
183
{ Find the UTF-8 character corresponding to ch, in string p. These
184
functions are equivalants to strchr and strrchr }
185
function g_utf8_strchr(p:Pgchar; len:gssize; c:gunichar):Pgchar;cdecl;external gliblib name 'g_utf8_strchr';
187
function g_utf8_strrchr(p:Pgchar; len:gssize; c:gunichar):Pgchar;cdecl;external gliblib name 'g_utf8_strrchr';
189
function g_utf8_to_utf16(str:Pgchar; len:glong; items_read:Pglong; items_written:Pglong; error:PPGError):Pgunichar2;cdecl;external gliblib name 'g_utf8_to_utf16';
191
function g_utf8_to_ucs4(str:Pgchar; len:glong; items_read:Pglong; items_written:Pglong; error:PPGError):Pgunichar;cdecl;external gliblib name 'g_utf8_to_ucs4';
193
function g_utf8_to_ucs4_fast(str:Pgchar; len:glong; items_written:Pglong):Pgunichar;cdecl;external gliblib name 'g_utf8_to_ucs4_fast';
195
function g_utf16_to_ucs4(str:Pgunichar2; len:glong; items_read:Pglong; items_written:Pglong; error:PPGError):Pgunichar;cdecl;external gliblib name 'g_utf16_to_ucs4';
197
function g_utf16_to_utf8(str:Pgunichar2; len:glong; items_read:Pglong; items_written:Pglong; error:PPGError):Pgchar;cdecl;external gliblib name 'g_utf16_to_utf8';
199
function g_ucs4_to_utf16(str:Pgunichar; len:glong; items_read:Pglong; items_written:Pglong; error:PPGError):Pgunichar2;cdecl;external gliblib name 'g_ucs4_to_utf16';
201
function g_ucs4_to_utf8(str:Pgunichar; len:glong; items_read:Pglong; items_written:Pglong; error:PPGError):Pgchar;cdecl;external gliblib name 'g_ucs4_to_utf8';
203
{ Convert a single character into UTF-8. outbuf must have at
204
least 6 bytes of space. Returns the number of bytes in the
207
function g_unichar_to_utf8(c:gunichar; outbuf:Pgchar):gint;cdecl;external gliblib name 'g_unichar_to_utf8';
209
{ Validate a UTF8 string, return TRUE if valid, put pointer to
210
first invalid char in end
212
function g_utf8_validate(str:Pgchar; max_len:gssize; _end:PPgchar):gboolean;cdecl;external gliblib name 'g_utf8_validate';
214
{ Validate a Unicode character }
215
function g_unichar_validate(ch:gunichar):gboolean;cdecl;external gliblib name 'g_unichar_validate';
217
function g_utf8_strup(str:Pgchar; len:gssize):Pgchar;cdecl;external gliblib name 'g_utf8_strup';
219
function g_utf8_strdown(str:Pgchar; len:gssize):Pgchar;cdecl;external gliblib name 'g_utf8_strdown';
221
function g_utf8_casefold(str:Pgchar; len:gssize):Pgchar;cdecl;external gliblib name 'g_utf8_casefold';
226
PGNormalizeMode = ^TGNormalizeMode;
227
TGNormalizeMode = gint;
228
const G_NORMALIZE_DEFAULT = 0;
229
G_NORMALIZE_NFD = G_NORMALIZE_DEFAULT;
230
G_NORMALIZE_DEFAULT_COMPOSE = 1;
231
G_NORMALIZE_NFC = G_NORMALIZE_DEFAULT_COMPOSE;
233
G_NORMALIZE_NFKD = G_NORMALIZE_ALL;
234
G_NORMALIZE_ALL_COMPOSE = 3;
235
G_NORMALIZE_NFKC = G_NORMALIZE_ALL_COMPOSE;
237
function g_utf8_normalize(str:Pgchar; len:gssize; mode:TGNormalizeMode):Pgchar;cdecl;external gliblib name 'g_utf8_normalize';
239
function g_utf8_collate(str1:Pgchar; str2:Pgchar):gint;cdecl;external gliblib name 'g_utf8_collate';
241
function g_utf8_collate_key(str:Pgchar; len:gssize):Pgchar;cdecl;external gliblib name 'g_utf8_collate_key';