Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(45)

Side by Side Diff: third_party/harfbuzz-ng/src/hb-unicode.cc

Issue 70193010: Update harfbuzz-ng to 0.9.24 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « third_party/harfbuzz-ng/src/hb-unicode.h ('k') | third_party/harfbuzz-ng/src/hb-uniscribe.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright © 2009 Red Hat, Inc. 2 * Copyright © 2009 Red Hat, Inc.
3 * Copyright © 2011 Codethink Limited 3 * Copyright © 2011 Codethink Limited
4 * Copyright © 2010,2011,2012 Google, Inc. 4 * Copyright © 2010,2011,2012 Google, Inc.
5 * 5 *
6 * This is part of HarfBuzz, a text shaping library. 6 * This is part of HarfBuzz, a text shaping library.
7 * 7 *
8 * Permission is hereby granted, without written agreement and without 8 * Permission is hereby granted, without written agreement and without
9 * license or royalty fees, to use, copy, modify, and distribute this 9 * license or royalty fees, to use, copy, modify, and distribute this
10 * software and its documentation for any purpose, provided that the 10 * software and its documentation for any purpose, provided that the
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
143 #endif 143 #endif
144 144
145 #undef HB_UNICODE_FUNCS_IMPLEMENT 145 #undef HB_UNICODE_FUNCS_IMPLEMENT
146 } 146 }
147 147
148 #if !defined(HB_NO_UNICODE_FUNCS) && defined(HB_UNICODE_FUNCS_NIL) 148 #if !defined(HB_NO_UNICODE_FUNCS) && defined(HB_UNICODE_FUNCS_NIL)
149 #pragma message("Could not find any Unicode functions implementation, you have t o provide your own.") 149 #pragma message("Could not find any Unicode functions implementation, you have t o provide your own.")
150 #pragma message("To suppress this warnings, define HB_NO_UNICODE_FUNCS.") 150 #pragma message("To suppress this warnings, define HB_NO_UNICODE_FUNCS.")
151 #endif 151 #endif
152 152
153 /**
154 * hb_unicode_funcs_create: (Xconstructor)
155 * @parent: (allow-none):
156 *
157 *
158 *
159 * Return value: (transfer full):
160 *
161 * Since: 1.0
162 **/
153 hb_unicode_funcs_t * 163 hb_unicode_funcs_t *
154 hb_unicode_funcs_create (hb_unicode_funcs_t *parent) 164 hb_unicode_funcs_create (hb_unicode_funcs_t *parent)
155 { 165 {
156 hb_unicode_funcs_t *ufuncs; 166 hb_unicode_funcs_t *ufuncs;
157 167
158 if (!(ufuncs = hb_object_create<hb_unicode_funcs_t> ())) 168 if (!(ufuncs = hb_object_create<hb_unicode_funcs_t> ()))
159 return hb_unicode_funcs_get_empty (); 169 return hb_unicode_funcs_get_empty ();
160 170
161 if (!parent) 171 if (!parent)
162 parent = hb_unicode_funcs_get_empty (); 172 parent = hb_unicode_funcs_get_empty ();
(...skipping 17 matching lines...) Expand all
180 190
181 NULL, /* parent */ 191 NULL, /* parent */
182 true, /* immutable */ 192 true, /* immutable */
183 { 193 {
184 #define HB_UNICODE_FUNC_IMPLEMENT(name) hb_unicode_##name##_nil, 194 #define HB_UNICODE_FUNC_IMPLEMENT(name) hb_unicode_##name##_nil,
185 HB_UNICODE_FUNCS_IMPLEMENT_CALLBACKS 195 HB_UNICODE_FUNCS_IMPLEMENT_CALLBACKS
186 #undef HB_UNICODE_FUNC_IMPLEMENT 196 #undef HB_UNICODE_FUNC_IMPLEMENT
187 } 197 }
188 }; 198 };
189 199
200 /**
201 * hb_unicode_funcs_get_empty:
202 *
203 *
204 *
205 * Return value: (transfer full):
206 *
207 * Since: 1.0
208 **/
190 hb_unicode_funcs_t * 209 hb_unicode_funcs_t *
191 hb_unicode_funcs_get_empty (void) 210 hb_unicode_funcs_get_empty (void)
192 { 211 {
193 return const_cast<hb_unicode_funcs_t *> (&_hb_unicode_funcs_nil); 212 return const_cast<hb_unicode_funcs_t *> (&_hb_unicode_funcs_nil);
194 } 213 }
195 214
215 /**
216 * hb_unicode_funcs_reference: (skip)
217 * @ufuncs: Unicode functions.
218 *
219 *
220 *
221 * Return value: (transfer full):
222 *
223 * Since: 1.0
224 **/
196 hb_unicode_funcs_t * 225 hb_unicode_funcs_t *
197 hb_unicode_funcs_reference (hb_unicode_funcs_t *ufuncs) 226 hb_unicode_funcs_reference (hb_unicode_funcs_t *ufuncs)
198 { 227 {
199 return hb_object_reference (ufuncs); 228 return hb_object_reference (ufuncs);
200 } 229 }
201 230
231 /**
232 * hb_unicode_funcs_destroy: (skip)
233 * @ufuncs: Unicode functions.
234 *
235 *
236 *
237 * Since: 1.0
238 **/
202 void 239 void
203 hb_unicode_funcs_destroy (hb_unicode_funcs_t *ufuncs) 240 hb_unicode_funcs_destroy (hb_unicode_funcs_t *ufuncs)
204 { 241 {
205 if (!hb_object_destroy (ufuncs)) return; 242 if (!hb_object_destroy (ufuncs)) return;
206 243
207 #define HB_UNICODE_FUNC_IMPLEMENT(name) \ 244 #define HB_UNICODE_FUNC_IMPLEMENT(name) \
208 if (ufuncs->destroy.name) ufuncs->destroy.name (ufuncs->user_data.name); 245 if (ufuncs->destroy.name) ufuncs->destroy.name (ufuncs->user_data.name);
209 HB_UNICODE_FUNCS_IMPLEMENT_CALLBACKS 246 HB_UNICODE_FUNCS_IMPLEMENT_CALLBACKS
210 #undef HB_UNICODE_FUNC_IMPLEMENT 247 #undef HB_UNICODE_FUNC_IMPLEMENT
211 248
212 hb_unicode_funcs_destroy (ufuncs->parent); 249 hb_unicode_funcs_destroy (ufuncs->parent);
213 250
214 free (ufuncs); 251 free (ufuncs);
215 } 252 }
216 253
254 /**
255 * hb_unicode_funcs_set_user_data: (skip)
256 * @ufuncs: Unicode functions.
257 * @key:
258 * @data:
259 * @destroy:
260 * @replace:
261 *
262 *
263 *
264 * Return value:
265 *
266 * Since: 1.0
267 **/
217 hb_bool_t 268 hb_bool_t
218 hb_unicode_funcs_set_user_data (hb_unicode_funcs_t *ufuncs, 269 hb_unicode_funcs_set_user_data (hb_unicode_funcs_t *ufuncs,
219 hb_user_data_key_t *key, 270 hb_user_data_key_t *key,
220 void * data, 271 void * data,
221 hb_destroy_func_t destroy, 272 hb_destroy_func_t destroy,
222 hb_bool_t replace) 273 hb_bool_t replace)
223 { 274 {
224 return hb_object_set_user_data (ufuncs, key, data, destroy, replace); 275 return hb_object_set_user_data (ufuncs, key, data, destroy, replace);
225 } 276 }
226 277
278 /**
279 * hb_unicode_funcs_get_user_data: (skip)
280 * @ufuncs: Unicode functions.
281 * @key:
282 *
283 *
284 *
285 * Return value: (transfer none):
286 *
287 * Since: 1.0
288 **/
227 void * 289 void *
228 hb_unicode_funcs_get_user_data (hb_unicode_funcs_t *ufuncs, 290 hb_unicode_funcs_get_user_data (hb_unicode_funcs_t *ufuncs,
229 hb_user_data_key_t *key) 291 hb_user_data_key_t *key)
230 { 292 {
231 return hb_object_get_user_data (ufuncs, key); 293 return hb_object_get_user_data (ufuncs, key);
232 } 294 }
233 295
234 296
297 /**
298 * hb_unicode_funcs_make_immutable:
299 * @ufuncs: Unicode functions.
300 *
301 *
302 *
303 * Since: 1.0
304 **/
235 void 305 void
236 hb_unicode_funcs_make_immutable (hb_unicode_funcs_t *ufuncs) 306 hb_unicode_funcs_make_immutable (hb_unicode_funcs_t *ufuncs)
237 { 307 {
238 if (hb_object_is_inert (ufuncs)) 308 if (hb_object_is_inert (ufuncs))
239 return; 309 return;
240 310
241 ufuncs->immutable = true; 311 ufuncs->immutable = true;
242 } 312 }
243 313
314 /**
315 * hb_unicode_funcs_is_immutable:
316 * @ufuncs: Unicode functions.
317 *
318 *
319 *
320 * Return value:
321 *
322 * Since: 1.0
323 **/
244 hb_bool_t 324 hb_bool_t
245 hb_unicode_funcs_is_immutable (hb_unicode_funcs_t *ufuncs) 325 hb_unicode_funcs_is_immutable (hb_unicode_funcs_t *ufuncs)
246 { 326 {
247 return ufuncs->immutable; 327 return ufuncs->immutable;
248 } 328 }
249 329
330 /**
331 * hb_unicode_funcs_get_parent:
332 * @ufuncs: Unicode functions.
333 *
334 *
335 *
336 * Return value:
337 *
338 * Since: 1.0
339 **/
250 hb_unicode_funcs_t * 340 hb_unicode_funcs_t *
251 hb_unicode_funcs_get_parent (hb_unicode_funcs_t *ufuncs) 341 hb_unicode_funcs_get_parent (hb_unicode_funcs_t *ufuncs)
252 { 342 {
253 return ufuncs->parent ? ufuncs->parent : hb_unicode_funcs_get_empty (); 343 return ufuncs->parent ? ufuncs->parent : hb_unicode_funcs_get_empty ();
254 } 344 }
255 345
256 346
257 #define HB_UNICODE_FUNC_IMPLEMENT(name) \ 347 #define HB_UNICODE_FUNC_IMPLEMENT(name) \
258 \ 348 \
259 void \ 349 void \
(...skipping 27 matching lines...) Expand all
287 \ 377 \
288 return_type \ 378 return_type \
289 hb_unicode_##name (hb_unicode_funcs_t *ufuncs, \ 379 hb_unicode_##name (hb_unicode_funcs_t *ufuncs, \
290 hb_codepoint_t unicode) \ 380 hb_codepoint_t unicode) \
291 { \ 381 { \
292 return ufuncs->name (unicode); \ 382 return ufuncs->name (unicode); \
293 } 383 }
294 HB_UNICODE_FUNCS_IMPLEMENT_CALLBACKS_SIMPLE 384 HB_UNICODE_FUNCS_IMPLEMENT_CALLBACKS_SIMPLE
295 #undef HB_UNICODE_FUNC_IMPLEMENT 385 #undef HB_UNICODE_FUNC_IMPLEMENT
296 386
387 /**
388 * hb_unicode_compose:
389 * @ufuncs: Unicode functions.
390 * @a:
391 * @b:
392 * @ab: (out):
393 *
394 *
395 *
396 * Return value:
397 *
398 * Since: 1.0
399 **/
297 hb_bool_t 400 hb_bool_t
298 hb_unicode_compose (hb_unicode_funcs_t *ufuncs, 401 hb_unicode_compose (hb_unicode_funcs_t *ufuncs,
299 hb_codepoint_t a, 402 hb_codepoint_t a,
300 hb_codepoint_t b, 403 hb_codepoint_t b,
301 hb_codepoint_t *ab) 404 hb_codepoint_t *ab)
302 { 405 {
303 return ufuncs->compose (a, b, ab); 406 return ufuncs->compose (a, b, ab);
304 } 407 }
305 408
409 /**
410 * hb_unicode_decompose:
411 * @ufuncs: Unicode functions.
412 * @ab:
413 * @a: (out):
414 * @b: (out):
415 *
416 *
417 *
418 * Return value:
419 *
420 * Since: 1.0
421 **/
306 hb_bool_t 422 hb_bool_t
307 hb_unicode_decompose (hb_unicode_funcs_t *ufuncs, 423 hb_unicode_decompose (hb_unicode_funcs_t *ufuncs,
308 hb_codepoint_t ab, 424 hb_codepoint_t ab,
309 hb_codepoint_t *a, 425 hb_codepoint_t *a,
310 hb_codepoint_t *b) 426 hb_codepoint_t *b)
311 { 427 {
312 return ufuncs->decompose (ab, a, b); 428 return ufuncs->decompose (ab, a, b);
313 } 429 }
314 430
431 /**
432 * hb_unicode_decompose_compatibility:
433 * @ufuncs: Unicode functions.
434 * @u:
435 * @decomposed: (out):
436 *
437 *
438 *
439 * Return value:
440 *
441 * Since: 1.0
442 **/
315 unsigned int 443 unsigned int
316 hb_unicode_decompose_compatibility (hb_unicode_funcs_t *ufuncs, 444 hb_unicode_decompose_compatibility (hb_unicode_funcs_t *ufuncs,
317 hb_codepoint_t u, 445 hb_codepoint_t u,
318 hb_codepoint_t *decomposed) 446 hb_codepoint_t *decomposed)
319 { 447 {
320 return ufuncs->decompose_compatibility (u, decomposed); 448 return ufuncs->decompose_compatibility (u, decomposed);
321 } 449 }
322 450
323 451
324 /* See hb-unicode-private.hh for details. */ 452 /* See hb-unicode-private.hh for details. */
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
426 230, /* HB_UNICODE_COMBINING_CLASS_ABOVE */ 554 230, /* HB_UNICODE_COMBINING_CLASS_ABOVE */
427 231, 555 231,
428 232, /* HB_UNICODE_COMBINING_CLASS_ABOVE_RIGHT */ 556 232, /* HB_UNICODE_COMBINING_CLASS_ABOVE_RIGHT */
429 233, /* HB_UNICODE_COMBINING_CLASS_DOUBLE_BELOW */ 557 233, /* HB_UNICODE_COMBINING_CLASS_DOUBLE_BELOW */
430 234, /* HB_UNICODE_COMBINING_CLASS_DOUBLE_ABOVE */ 558 234, /* HB_UNICODE_COMBINING_CLASS_DOUBLE_ABOVE */
431 235, 236, 237, 238, 239, 559 235, 236, 237, 238, 239,
432 240, /* HB_UNICODE_COMBINING_CLASS_IOTA_SUBSCRIPT */ 560 240, /* HB_UNICODE_COMBINING_CLASS_IOTA_SUBSCRIPT */
433 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 561 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
434 255, /* HB_UNICODE_COMBINING_CLASS_INVALID */ 562 255, /* HB_UNICODE_COMBINING_CLASS_INVALID */
435 }; 563 };
OLDNEW
« no previous file with comments | « third_party/harfbuzz-ng/src/hb-unicode.h ('k') | third_party/harfbuzz-ng/src/hb-uniscribe.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698