diff options
author | Konstantin Ritt <ritt.ks@gmail.com> | 2015-11-02 08:26:39 +0400 |
---|---|---|
committer | Konstantin Ritt <ritt.ks@gmail.com> | 2015-11-03 16:20:57 +0000 |
commit | 4f8c75acbd7598ee5664b558293fb542817e0091 (patch) | |
tree | 62a978ea497f6f3da731043cee6f0db1d5b1d4d2 /src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-hangul.cc | |
parent | dbb013d98429f9eed399392da979e42759875db3 (diff) |
Update bundled HarfBuzz-NG to 1.0.6
- Unicode 8.0 support
- Universal Shaping Engine
- Various fixes, improvements, optimizations, etc.
Change-Id: Ib6f8c92fa275c2a6575b9ae09068c92aecac7b4e
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
Diffstat (limited to 'src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-hangul.cc')
-rw-r--r-- | src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-hangul.cc | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-hangul.cc b/src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-hangul.cc index 6ac18b08bf..1fa79ce6d4 100644 --- a/src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-hangul.cc +++ b/src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-hangul.cc @@ -205,17 +205,12 @@ preprocess_text_hangul (const hb_ot_shape_plan_t *plan, buffer->next_glyph (); if (!is_zero_width_char (font, u)) { + buffer->merge_out_clusters (start, end + 1); hb_glyph_info_t *info = buffer->out_info; hb_glyph_info_t tone = info[end]; memmove (&info[start + 1], &info[start], (end - start) * sizeof (hb_glyph_info_t)); info[start] = tone; } - /* Merge clusters across the (possibly reordered) syllable+tone. - * We want to merge even in the zero-width tone mark case here, - * so that clustering behavior isn't dependent on how the tone mark - * is handled by the font. - */ - buffer->merge_out_clusters (start, end + 1); } else { @@ -296,7 +291,8 @@ preprocess_text_hangul (const hb_ot_shape_plan_t *plan, } else end = start + 2; - buffer->merge_out_clusters (start, end); + if (buffer->cluster_level == HB_BUFFER_CLUSTER_LEVEL_MONOTONE_GRAPHEMES) + buffer->merge_out_clusters (start, end); continue; } } @@ -368,7 +364,8 @@ preprocess_text_hangul (const hb_ot_shape_plan_t *plan, info[i++].hangul_shaping_feature() = VJMO; if (i < end) info[i++].hangul_shaping_feature() = TJMO; - buffer->merge_out_clusters (start, end); + if (buffer->cluster_level == HB_BUFFER_CLUSTER_LEVEL_MONOTONE_GRAPHEMES) + buffer->merge_out_clusters (start, end); continue; } } |