~ubuntu-branches/ubuntu/lucid/fpc/lucid-proposed

« back to all changes in this revision

Viewing changes to fpcsrc/packages/gtk2/src/glib/gunicode.inc

  • Committer: Bazaar Package Importer
  • Author(s): Mazen Neifer, Torsten Werner, Mazen Neifer
  • Date: 2008-10-09 23:29:00 UTC
  • mfrom: (4.1.1 sid)
  • Revision ID: james.westby@ubuntu.com-20081009232900-553f61m37jkp6upv
Tags: 2.2.2-4
[ Torsten Werner ]
* Update ABI version in fpc-depends automatically.
* Remove empty directories from binary package fpc-source.

[ Mazen Neifer ]
* Removed leading path when calling update-alternatives to remove a Linitian
  error.
* Fixed clean target.
* Improved description of packages. (Closes: #498882)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
{*
 
2
 * gunicode.inc
 
3
 *
 
4
 * depends on gerror.inc, gtypes.inc
 
5
 *}
 
6
 
 
7
 
 
8
    type
 
9
       Pgunichar  = ^gunichar;
 
10
       gunichar   = guint32;
 
11
 
 
12
       Pgunichar2 = ^gunichar2;
 
13
       gunichar2 = guint16;
 
14
 
 
15
    { These are the possible character classifications.
 
16
       See http://www.unicode.org/Public/UNIDATA/UnicodeData.html
 
17
      }
 
18
 
 
19
       PGUnicodeType = ^TGUnicodeType;
 
20
       TGUnicodeType = (G_UNICODE_CONTROL,
 
21
                        G_UNICODE_FORMAT,
 
22
                        G_UNICODE_UNASSIGNED,
 
23
                        G_UNICODE_PRIVATE_USE,
 
24
                        G_UNICODE_SURROGATE,
 
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);
 
50
 
 
51
    { These are the possible line break classifications.
 
52
       See http://www.unicode.org/unicode/reports/tr14/
 
53
      }
 
54
 
 
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);
 
85
 
 
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()
 
90
       or in some other way.
 
91
      }
 
92
    function g_get_charset(charset:PPchar):gboolean;cdecl;external gliblib name 'g_get_charset';
 
93
 
 
94
    { These are all analogs of the <ctype.h> functions.
 
95
      }
 
96
    function g_unichar_isalnum(c:gunichar):gboolean;cdecl;external gliblib name 'g_unichar_isalnum';
 
97
 
 
98
    function g_unichar_isalpha(c:gunichar):gboolean;cdecl;external gliblib name 'g_unichar_isalpha';
 
99
 
 
100
    function g_unichar_iscntrl(c:gunichar):gboolean;cdecl;external gliblib name 'g_unichar_iscntrl';
 
101
 
 
102
    function g_unichar_isdigit(c:gunichar):gboolean;cdecl;external gliblib name 'g_unichar_isdigit';
 
103
 
 
104
    function g_unichar_isgraph(c:gunichar):gboolean;cdecl;external gliblib name 'g_unichar_isgraph';
 
105
 
 
106
    function g_unichar_islower(c:gunichar):gboolean;cdecl;external gliblib name 'g_unichar_islower';
 
107
 
 
108
    function g_unichar_isprint(c:gunichar):gboolean;cdecl;external gliblib name 'g_unichar_isprint';
 
109
 
 
110
    function g_unichar_ispunct(c:gunichar):gboolean;cdecl;external gliblib name 'g_unichar_ispunct';
 
111
 
 
112
    function g_unichar_isspace(c:gunichar):gboolean;cdecl;external gliblib name 'g_unichar_isspace';
 
113
 
 
114
    function g_unichar_isupper(c:gunichar):gboolean;cdecl;external gliblib name 'g_unichar_isupper';
 
115
 
 
116
    function g_unichar_isxdigit(c:gunichar):gboolean;cdecl;external gliblib name 'g_unichar_isxdigit';
 
117
 
 
118
    function g_unichar_istitle(c:gunichar):gboolean;cdecl;external gliblib name 'g_unichar_istitle';
 
119
 
 
120
    function g_unichar_isdefined(c:gunichar):gboolean;cdecl;external gliblib name 'g_unichar_isdefined';
 
121
 
 
122
    function g_unichar_iswide(c:gunichar):gboolean;cdecl;external gliblib name 'g_unichar_iswide';
 
123
 
 
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';
 
127
 
 
128
    function g_unichar_tolower(c:gunichar):gunichar;cdecl;external gliblib name 'g_unichar_tolower';
 
129
 
 
130
    function g_unichar_totitle(c:gunichar):gunichar;cdecl;external gliblib name 'g_unichar_totitle';
 
131
 
 
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';
 
135
 
 
136
    function g_unichar_xdigit_value(c:gunichar):gint;cdecl;external gliblib name 'g_unichar_xdigit_value';
 
137
 
 
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';
 
140
 
 
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';
 
143
 
 
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';
 
148
 
 
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';
 
153
 
 
154
{$IFNDEF KYLIX}
 
155
    { Array of skip-bytes-per-initial character.
 
156
      }
 
157
    var
 
158
       g_utf8_skip : pgchar; external gliblib name 'g_utf8_skip';
 
159
{$ENDIF}
 
160
 
 
161
    function g_utf8_next_char (p: pguchar):pguchar;
 
162
 
 
163
 
 
164
    function g_utf8_get_char(p:Pgchar):gunichar;cdecl;external gliblib name 'g_utf8_get_char';
 
165
 
 
166
    function g_utf8_get_char_validated(p:Pgchar; max_len:gssize):gunichar;cdecl;external gliblib name 'g_utf8_get_char_validated';
 
167
 
 
168
    function g_utf8_offset_to_pointer(str:Pgchar; offset:glong):Pgchar;cdecl;external gliblib name 'g_utf8_offset_to_pointer';
 
169
 
 
170
    function g_utf8_pointer_to_offset(str:Pgchar; pos:Pgchar):glong;cdecl;external gliblib name 'g_utf8_pointer_to_offset';
 
171
 
 
172
    function g_utf8_prev_char(p:Pgchar):Pgchar;cdecl;external gliblib name 'g_utf8_prev_char';
 
173
 
 
174
    function g_utf8_find_next_char(p:Pgchar; _end:Pgchar):Pgchar;cdecl;external gliblib name 'g_utf8_find_next_char';
 
175
 
 
176
    function g_utf8_find_prev_char(str:Pgchar; p:Pgchar):Pgchar;cdecl;external gliblib name 'g_utf8_find_prev_char';
 
177
 
 
178
    function g_utf8_strlen(p:Pgchar; max:gssize):glong;cdecl;external gliblib name 'g_utf8_strlen';
 
179
 
 
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';
 
182
 
 
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';
 
186
 
 
187
    function g_utf8_strrchr(p:Pgchar; len:gssize; c:gunichar):Pgchar;cdecl;external gliblib name 'g_utf8_strrchr';
 
188
 
 
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';
 
190
 
 
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';
 
192
 
 
193
    function g_utf8_to_ucs4_fast(str:Pgchar; len:glong; items_written:Pglong):Pgunichar;cdecl;external gliblib name 'g_utf8_to_ucs4_fast';
 
194
 
 
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';
 
196
 
 
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';
 
198
 
 
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';
 
200
 
 
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';
 
202
 
 
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
 
205
       result.
 
206
      }
 
207
    function g_unichar_to_utf8(c:gunichar; outbuf:Pgchar):gint;cdecl;external gliblib name 'g_unichar_to_utf8';
 
208
 
 
209
    { Validate a UTF8 string, return TRUE if valid, put pointer to
 
210
       first invalid char in   end
 
211
      }
 
212
    function g_utf8_validate(str:Pgchar; max_len:gssize; _end:PPgchar):gboolean;cdecl;external gliblib name 'g_utf8_validate';
 
213
 
 
214
    { Validate a Unicode character  }
 
215
    function g_unichar_validate(ch:gunichar):gboolean;cdecl;external gliblib name 'g_unichar_validate';
 
216
 
 
217
    function g_utf8_strup(str:Pgchar; len:gssize):Pgchar;cdecl;external gliblib name 'g_utf8_strup';
 
218
 
 
219
    function g_utf8_strdown(str:Pgchar; len:gssize):Pgchar;cdecl;external gliblib name 'g_utf8_strdown';
 
220
 
 
221
    function g_utf8_casefold(str:Pgchar; len:gssize):Pgchar;cdecl;external gliblib name 'g_utf8_casefold';
 
222
 
 
223
 
 
224
    type
 
225
 
 
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;
 
232
          G_NORMALIZE_ALL             = 2;
 
233
          G_NORMALIZE_NFKD            = G_NORMALIZE_ALL;
 
234
          G_NORMALIZE_ALL_COMPOSE     = 3;
 
235
          G_NORMALIZE_NFKC            = G_NORMALIZE_ALL_COMPOSE;
 
236
 
 
237
    function g_utf8_normalize(str:Pgchar; len:gssize; mode:TGNormalizeMode):Pgchar;cdecl;external gliblib name 'g_utf8_normalize';
 
238
 
 
239
    function g_utf8_collate(str1:Pgchar; str2:Pgchar):gint;cdecl;external gliblib name 'g_utf8_collate';
 
240
 
 
241
    function g_utf8_collate_key(str:Pgchar; len:gssize):Pgchar;cdecl;external gliblib name 'g_utf8_collate_key';