diff options
author | Akira Kakuto <kakuto@fuk.kindai.ac.jp> | 2017-07-18 21:30:24 +0000 |
---|---|---|
committer | Akira Kakuto <kakuto@fuk.kindai.ac.jp> | 2017-07-18 21:30:24 +0000 |
commit | 1259233aec698e07b7aedb390f151aec2f552a22 (patch) | |
tree | a2786914cdcbc0c3406ac8904add1cec02ae4e2e /Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-map.cc | |
parent | 82ea6625f41c38023b6d4fe3e712492b5ac53073 (diff) |
harfbuzz-1.4.7
git-svn-id: svn://tug.org/texlive/trunk@44840 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-map.cc')
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-map.cc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-map.cc b/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-map.cc index 9b331d5210f..014e4430a6c 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-map.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-map.cc @@ -85,6 +85,7 @@ hb_ot_map_builder_t::add_lookups (hb_ot_map_t &m, unsigned int feature_index, unsigned int variations_index, hb_mask_t mask, + bool auto_zwnj, bool auto_zwj) { unsigned int lookup_indices[32]; @@ -112,6 +113,7 @@ hb_ot_map_builder_t::add_lookups (hb_ot_map_t &m, return; lookup->mask = mask; lookup->index = lookup_indices[i]; + lookup->auto_zwnj = auto_zwnj; lookup->auto_zwj = auto_zwj; } @@ -243,6 +245,7 @@ hb_ot_map_builder_t::compile (hb_ot_map_t &m, map->index[1] = feature_index[1]; map->stage[0] = info->stage[0]; map->stage[1] = info->stage[1]; + map->auto_zwnj = !(info->flags & F_MANUAL_ZWNJ); map->auto_zwj = !(info->flags & F_MANUAL_ZWJ); if ((info->flags & F_GLOBAL) && info->max_value == 1) { /* Uses the global bit */ @@ -284,8 +287,7 @@ hb_ot_map_builder_t::compile (hb_ot_map_t &m, add_lookups (m, face, table_index, required_feature_index[table_index], variations_index, - 1 /* mask */, - true /* auto_zwj */); + 1 /* mask */); for (unsigned i = 0; i < m.features.len; i++) if (m.features[i].stage[table_index] == stage) @@ -293,6 +295,7 @@ hb_ot_map_builder_t::compile (hb_ot_map_t &m, m.features[i].index[table_index], variations_index, m.features[i].mask, + m.features[i].auto_zwnj, m.features[i].auto_zwj); /* Sort lookups and merge duplicates */ @@ -307,6 +310,7 @@ hb_ot_map_builder_t::compile (hb_ot_map_t &m, else { m.lookups[table_index][j].mask |= m.lookups[table_index][i].mask; + m.lookups[table_index][j].auto_zwnj &= m.lookups[table_index][i].auto_zwnj; m.lookups[table_index][j].auto_zwj &= m.lookups[table_index][i].auto_zwj; } m.lookups[table_index].shrink (j + 1); |