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

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

Issue 205003003: Update harfbuzz-ng to 0.9.27 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: w/missing files Created 6 years, 9 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
OLDNEW
1 /* 1 /*
2 * Copyright © 2011,2012 Google, Inc. 2 * Copyright © 2011,2012 Google, Inc.
3 * 3 *
4 * This is part of HarfBuzz, a text shaping library. 4 * This is part of HarfBuzz, a text shaping library.
5 * 5 *
6 * Permission is hereby granted, without written agreement and without 6 * Permission is hereby granted, without written agreement and without
7 * license or royalty fees, to use, copy, modify, and distribute this 7 * license or royalty fees, to use, copy, modify, and distribute this
8 * software and its documentation for any purpose, provided that the 8 * software and its documentation for any purpose, provided that the
9 * above copyright notice and the following two paragraphs appear in 9 * above copyright notice and the following two paragraphs appear in
10 * all copies of this software. 10 * all copies of this software.
(...skipping 412 matching lines...) Expand 10 before | Expand all | Expand 10 after
423 position_cluster (plan, font, buffer, start, count); 423 position_cluster (plan, font, buffer, start, count);
424 } 424 }
425 425
426 426
427 /* Performs old-style TrueType kerning. */ 427 /* Performs old-style TrueType kerning. */
428 void 428 void
429 _hb_ot_shape_fallback_kern (const hb_ot_shape_plan_t *plan, 429 _hb_ot_shape_fallback_kern (const hb_ot_shape_plan_t *plan,
430 hb_font_t *font, 430 hb_font_t *font,
431 hb_buffer_t *buffer) 431 hb_buffer_t *buffer)
432 { 432 {
433 hb_mask_t kern_mask = plan->map.get_1_mask (HB_DIRECTION_IS_HORIZONTAL (buffer ->props.direction) ? 433 if (!plan->has_kern) return;
434 » » » » » HB_TAG ('k','e','r','n') : HB_TAG ('v','k','r','n'));
435 if (!kern_mask) return;
436 434
437 unsigned int count = buffer->len; 435 unsigned int count = buffer->len;
438 436
439 OT::hb_apply_context_t c (1, font, buffer); 437 OT::hb_apply_context_t c (1, font, buffer);
440 c.set_lookup_mask (kern_mask); 438 c.set_lookup_mask (plan->kern_mask);
441 c.set_lookup_props (OT::LookupFlag::IgnoreMarks); 439 c.set_lookup_props (OT::LookupFlag::IgnoreMarks);
442 440
443 hb_glyph_info_t *info = buffer->info; 441 hb_glyph_info_t *info = buffer->info;
444 hb_glyph_position_t *pos = buffer->pos; 442 hb_glyph_position_t *pos = buffer->pos;
445 443
446 for (unsigned int idx = 0; idx < count;) 444 for (unsigned int idx = 0; idx < count;)
447 { 445 {
448 OT::hb_apply_context_t::skipping_forward_iterator_t skippy_iter (&c, idx, 1) ; 446 OT::hb_apply_context_t::skipping_forward_iterator_t skippy_iter (&c, idx, 1) ;
449 if (!skippy_iter.next ()) 447 if (!skippy_iter.next ())
450 { 448 {
(...skipping 21 matching lines...) Expand all
472 hb_position_t kern1 = y_kern >> 1; 470 hb_position_t kern1 = y_kern >> 1;
473 hb_position_t kern2 = y_kern - kern1; 471 hb_position_t kern2 = y_kern - kern1;
474 pos[idx].y_advance += kern1; 472 pos[idx].y_advance += kern1;
475 pos[skippy_iter.idx].y_advance += kern2; 473 pos[skippy_iter.idx].y_advance += kern2;
476 pos[skippy_iter.idx].y_offset += kern2; 474 pos[skippy_iter.idx].y_offset += kern2;
477 } 475 }
478 476
479 idx = skippy_iter.idx; 477 idx = skippy_iter.idx;
480 } 478 }
481 } 479 }
OLDNEW
« no previous file with comments | « third_party/harfbuzz-ng/src/hb-ot-shape-complex-tibetan.cc ('k') | third_party/harfbuzz-ng/src/hb-ot-shape-normalize.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698