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

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

Issue 1408003004: Roll harfbuzz-ng to 1.0.5 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@2526
Patch Set: Created 5 years, 2 months 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
« no previous file with comments | « third_party/harfbuzz-ng/src/hb-set.h ('k') | third_party/harfbuzz-ng/src/hb-shape-plan.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 © 2012 Google, Inc. 3 * Copyright © 2012 Google, Inc.
4 * 4 *
5 * This is part of HarfBuzz, a text shaping library. 5 * This is part of HarfBuzz, a text shaping library.
6 * 6 *
7 * Permission is hereby granted, without written agreement and without 7 * Permission is hereby granted, without written agreement and without
8 * license or royalty fees, to use, copy, modify, and distribute this 8 * license or royalty fees, to use, copy, modify, and distribute this
9 * software and its documentation for any purpose, provided that the 9 * software and its documentation for any purpose, provided that the
10 * above copyright notice and the following two paragraphs appear in 10 * above copyright notice and the following two paragraphs appear in
(...skipping 353 matching lines...) Expand 10 before | Expand all | Expand 10 after
364 * 364 *
365 * Since: 0.9.2 365 * Since: 0.9.2
366 **/ 366 **/
367 hb_bool_t 367 hb_bool_t
368 hb_shape_full (hb_font_t *font, 368 hb_shape_full (hb_font_t *font,
369 hb_buffer_t *buffer, 369 hb_buffer_t *buffer,
370 const hb_feature_t *features, 370 const hb_feature_t *features,
371 unsigned int num_features, 371 unsigned int num_features,
372 const char * const *shaper_list) 372 const char * const *shaper_list)
373 { 373 {
374 if (unlikely (!buffer->len))
375 return true;
376
377 assert (buffer->content_type == HB_BUFFER_CONTENT_TYPE_UNICODE);
378
379 hb_shape_plan_t *shape_plan = hb_shape_plan_create_cached (font->face, &buffer ->props, features, num_features, shaper_list); 374 hb_shape_plan_t *shape_plan = hb_shape_plan_create_cached (font->face, &buffer ->props, features, num_features, shaper_list);
380 hb_bool_t res = hb_shape_plan_execute (shape_plan, font, buffer, features, num _features); 375 hb_bool_t res = hb_shape_plan_execute (shape_plan, font, buffer, features, num _features);
381 hb_shape_plan_destroy (shape_plan); 376 hb_shape_plan_destroy (shape_plan);
382 377
383 if (res) 378 if (res)
384 buffer->content_type = HB_BUFFER_CONTENT_TYPE_GLYPHS; 379 buffer->content_type = HB_BUFFER_CONTENT_TYPE_GLYPHS;
385 return res; 380 return res;
386 } 381 }
387 382
388 /** 383 /**
389 * hb_shape: 384 * hb_shape:
390 * @font: an #hb_font_t to use for shaping 385 * @font: an #hb_font_t to use for shaping
391 * @buffer: an #hb_buffer_t to shape 386 * @buffer: an #hb_buffer_t to shape
392 * @features: (array length=num_features) (allow-none): an array of user 387 * @features: (array length=num_features) (allow-none): an array of user
393 * specified #hb_feature_t or %NULL 388 * specified #hb_feature_t or %NULL
394 * @num_features: the length of @features array 389 * @num_features: the length of @features array
395 * 390 *
396 * Shapes @buffer using @font turning its Unicode characters content to 391 * Shapes @buffer using @font turning its Unicode characters content to
397 * positioned glyphs. If @features is not %NULL, it will be used to control the 392 * positioned glyphs. If @features is not %NULL, it will be used to control the
398 * features applied during shaping. 393 * features applied during shaping.
399 * 394 *
400 * Return value: %FALSE if all shapers failed, %TRUE otherwise 395 * Return value: %FALSE if all shapers failed, %TRUE otherwise
401 * 396 *
402 * Since: 1.0 397 * Since: 0.9.2
403 **/ 398 **/
404 void 399 void
405 hb_shape (hb_font_t *font, 400 hb_shape (hb_font_t *font,
406 hb_buffer_t *buffer, 401 hb_buffer_t *buffer,
407 const hb_feature_t *features, 402 const hb_feature_t *features,
408 unsigned int num_features) 403 unsigned int num_features)
409 { 404 {
410 hb_shape_full (font, buffer, features, num_features, NULL); 405 hb_shape_full (font, buffer, features, num_features, NULL);
411 } 406 }
OLDNEW
« no previous file with comments | « third_party/harfbuzz-ng/src/hb-set.h ('k') | third_party/harfbuzz-ng/src/hb-shape-plan.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698