|
|
|
@ -320,7 +320,7 @@ hb_ot_layout_table_find_script (hb_face_t *face, |
|
|
|
|
hb_tag_t script_tag, |
|
|
|
|
unsigned int *script_index) |
|
|
|
|
{ |
|
|
|
|
static_assert ((OT::Index::NOT_FOUND_INDEX == HB_OT_LAYOUT_NO_SCRIPT_INDEX), ""); |
|
|
|
|
static_assert ((OT::Index::NOT_FOUND_INDEX == HB_OT_LAYOUT_NO_SCRIPT_INDEX)); |
|
|
|
|
const OT::GSUBGPOS &g = get_gsubgpos_table (face, table_tag); |
|
|
|
|
|
|
|
|
|
if (g.find_script_index (script_tag, script_index)) |
|
|
|
@ -351,7 +351,7 @@ hb_ot_layout_table_choose_script (hb_face_t *face, |
|
|
|
|
unsigned int *script_index, |
|
|
|
|
hb_tag_t *chosen_script) |
|
|
|
|
{ |
|
|
|
|
static_assert ((OT::Index::NOT_FOUND_INDEX == HB_OT_LAYOUT_NO_SCRIPT_INDEX), ""); |
|
|
|
|
static_assert ((OT::Index::NOT_FOUND_INDEX == HB_OT_LAYOUT_NO_SCRIPT_INDEX)); |
|
|
|
|
const OT::GSUBGPOS &g = get_gsubgpos_table (face, table_tag); |
|
|
|
|
|
|
|
|
|
while (*script_tags) |
|
|
|
@ -410,7 +410,7 @@ hb_ot_layout_table_find_feature (hb_face_t *face, |
|
|
|
|
hb_tag_t feature_tag, |
|
|
|
|
unsigned int *feature_index) |
|
|
|
|
{ |
|
|
|
|
static_assert ((OT::Index::NOT_FOUND_INDEX == HB_OT_LAYOUT_NO_FEATURE_INDEX), ""); |
|
|
|
|
static_assert ((OT::Index::NOT_FOUND_INDEX == HB_OT_LAYOUT_NO_FEATURE_INDEX)); |
|
|
|
|
const OT::GSUBGPOS &g = get_gsubgpos_table (face, table_tag); |
|
|
|
|
|
|
|
|
|
unsigned int num_features = g.get_feature_count (); |
|
|
|
@ -447,7 +447,7 @@ hb_ot_layout_script_find_language (hb_face_t *face, |
|
|
|
|
hb_tag_t language_tag, |
|
|
|
|
unsigned int *language_index) |
|
|
|
|
{ |
|
|
|
|
static_assert ((OT::Index::NOT_FOUND_INDEX == HB_OT_LAYOUT_DEFAULT_LANGUAGE_INDEX), ""); |
|
|
|
|
static_assert ((OT::Index::NOT_FOUND_INDEX == HB_OT_LAYOUT_DEFAULT_LANGUAGE_INDEX)); |
|
|
|
|
const OT::Script &s = get_gsubgpos_table (face, table_tag).get_script (script_index); |
|
|
|
|
|
|
|
|
|
if (s.find_lang_sys_index (language_tag, language_index)) |
|
|
|
@ -539,7 +539,7 @@ hb_ot_layout_language_get_feature_tags (hb_face_t *face, |
|
|
|
|
const OT::GSUBGPOS &g = get_gsubgpos_table (face, table_tag); |
|
|
|
|
const OT::LangSys &l = g.get_script (script_index).get_lang_sys (language_index); |
|
|
|
|
|
|
|
|
|
static_assert ((sizeof (unsigned int) == sizeof (hb_tag_t)), ""); |
|
|
|
|
static_assert ((sizeof (unsigned int) == sizeof (hb_tag_t))); |
|
|
|
|
unsigned int ret = l.get_feature_indexes (start_offset, feature_count, (unsigned int *) feature_tags); |
|
|
|
|
|
|
|
|
|
if (feature_tags) { |
|
|
|
@ -560,7 +560,7 @@ hb_ot_layout_language_find_feature (hb_face_t *face, |
|
|
|
|
hb_tag_t feature_tag, |
|
|
|
|
unsigned int *feature_index) |
|
|
|
|
{ |
|
|
|
|
static_assert ((OT::Index::NOT_FOUND_INDEX == HB_OT_LAYOUT_NO_FEATURE_INDEX), ""); |
|
|
|
|
static_assert ((OT::Index::NOT_FOUND_INDEX == HB_OT_LAYOUT_NO_FEATURE_INDEX)); |
|
|
|
|
const OT::GSUBGPOS &g = get_gsubgpos_table (face, table_tag); |
|
|
|
|
const OT::LangSys &l = g.get_script (script_index).get_lang_sys (language_index); |
|
|
|
|
|
|
|
|
@ -869,7 +869,7 @@ hb_ot_layout_feature_with_variations_get_lookups (hb_face_t *face, |
|
|
|
|
unsigned int *lookup_count /* IN/OUT */, |
|
|
|
|
unsigned int *lookup_indexes /* OUT */) |
|
|
|
|
{ |
|
|
|
|
static_assert ((OT::FeatureVariations::NOT_FOUND_INDEX == HB_OT_LAYOUT_NO_VARIATIONS_INDEX), ""); |
|
|
|
|
static_assert ((OT::FeatureVariations::NOT_FOUND_INDEX == HB_OT_LAYOUT_NO_VARIATIONS_INDEX)); |
|
|
|
|
const OT::GSUBGPOS &g = get_gsubgpos_table (face, table_tag); |
|
|
|
|
|
|
|
|
|
const OT::Feature &f = g.get_feature_variation (feature_index, variations_index); |
|
|
|
|