diff options
author | Konstantin Ritt <ritt.ks@gmail.com> | 2014-07-18 03:13:19 +0300 |
---|---|---|
committer | Konstantin Ritt <ritt.ks@gmail.com> | 2014-07-20 01:12:24 +0200 |
commit | 461c2b20044359b80df8217a7565c7b8a60a1f0b (patch) | |
tree | a95666c97d87f0a9f3c02bee1fd08bcf47bcc748 /src/3rdparty/harfbuzz-ng/src/hb-ot-layout.cc | |
parent | 0078013693c96ad2d0fe7d50d4eb733df2c041ab (diff) |
Update bundled HarfBuzz-NG copy to 0.9.32
- Unicode 7.0 support
- New shapers
- Multiple improvements in Arabic, Indic, and Hebrew shapers
- Build fixes, optimizations, etc.
Change-Id: I0ba14b619c3e6fb35cddd9d65e694af41197d6ae
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Diffstat (limited to 'src/3rdparty/harfbuzz-ng/src/hb-ot-layout.cc')
-rw-r--r-- | src/3rdparty/harfbuzz-ng/src/hb-ot-layout.cc | 34 |
1 files changed, 27 insertions, 7 deletions
diff --git a/src/3rdparty/harfbuzz-ng/src/hb-ot-layout.cc b/src/3rdparty/harfbuzz-ng/src/hb-ot-layout.cc index 183726e63c..661d90ea0d 100644 --- a/src/3rdparty/harfbuzz-ng/src/hb-ot-layout.cc +++ b/src/3rdparty/harfbuzz-ng/src/hb-ot-layout.cc @@ -327,9 +327,28 @@ hb_ot_layout_language_get_required_feature_index (hb_face_t *face, unsigned int language_index, unsigned int *feature_index) { - const OT::LangSys &l = get_gsubgpos_table (face, table_tag).get_script (script_index).get_lang_sys (language_index); + return hb_ot_layout_language_get_required_feature (face, + table_tag, + script_index, + language_index, + feature_index, + NULL); +} + +hb_bool_t +hb_ot_layout_language_get_required_feature (hb_face_t *face, + hb_tag_t table_tag, + unsigned int script_index, + unsigned int language_index, + unsigned int *feature_index, + hb_tag_t *feature_tag) +{ + const OT::GSUBGPOS &g = get_gsubgpos_table (face, table_tag); + const OT::LangSys &l = g.get_script (script_index).get_lang_sys (language_index); - if (feature_index) *feature_index = l.get_required_feature_index (); + unsigned int index = l.get_required_feature_index (); + if (feature_index) *feature_index = index; + if (feature_tag) *feature_tag = g.get_feature_tag (index); return l.has_required_feature (); } @@ -468,11 +487,12 @@ _hb_ot_layout_collect_lookups_features (hb_face_t *face, if (!features) { unsigned int required_feature_index; - if (hb_ot_layout_language_get_required_feature_index (face, - table_tag, - script_index, - language_index, - &required_feature_index)) + if (hb_ot_layout_language_get_required_feature (face, + table_tag, + script_index, + language_index, + &required_feature_index, + NULL)) _hb_ot_layout_collect_lookups_lookups (face, table_tag, required_feature_index, |