if (req_feature != 0xFFFF)
info->indices[i++] = req_feature;
for (j = 0; j < preordered; j++)
- {
- if ((err = (gsubp
- ? HB_GSUB_Select_Feature (font_info->gsub, features[j],
- script, langsys, &index)
- : HB_GPOS_Select_Feature (font_info->gpos, features[j],
- script, langsys, &index)))
- != HB_Err_Ok)
- return err;
+ if ((err = (gsubp
+ ? HB_GSUB_Select_Feature (font_info->gsub, features[j],
+ script, langsys, &index)
+ : HB_GPOS_Select_Feature (font_info->gpos, features[j],
+ script, langsys, &index)))
+ == HB_Err_Ok)
info->indices[i++] = index;
- }
if (feature_list)
for (j = 0; feature_list[j]; j++)
{
for (k = preordered + 1; k < count; k++)
if (feature_list[j] == features[k])
break;
- if (k == count)
- {
- if ((gsubp
+ if (k == count
+ && ((gsubp
? HB_GSUB_Select_Feature (font_info->gsub, feature_list[j],
script, langsys, &index)
: HB_GPOS_Select_Feature (font_info->gpos, feature_list[j],
script, langsys, &index))
- != FT_Err_Ok)
- return -1;
- info->indices[i++] = index;
- }
+ == FT_Err_Ok))
+ info->indices[i++] = index;
}
info->count = i;
return HB_Err_Ok;