Minor fraction mask setting improvement

This commit is contained in:
Behdad Esfahbod 2013-12-22 19:33:35 -05:00
parent 76fff252a9
commit a7e8bbb080
2 changed files with 5 additions and 5 deletions

View File

@ -88,8 +88,6 @@ struct hb_ot_map_t
return map ? map->needs_fallback : false;
}
/* XXX get_1_mask is actually unsafe if feature has more than
* one bit. */
inline hb_mask_t get_1_mask (hb_tag_t feature_tag) const {
const feature_map_t *map = features.bsearch (&feature_tag);
return map ? map->_1_mask : 0;

View File

@ -346,9 +346,11 @@ hb_ot_shape_setup_masks_fraction (hb_ot_shape_context_t *c)
HB_UNICODE_GENERAL_CATEGORY_DECIMAL_NUMBER)
end++;
buffer->set_masks (frac_mask, frac_mask, start, end);
buffer->set_masks (numr_mask, numr_mask, start, i);
buffer->set_masks (dnom_mask, dnom_mask, i + 1, end);
for (unsigned int j = start; j < i; j++)
info[j].mask |= numr_mask | frac_mask;
info[i].mask |= frac_mask;
for (unsigned int j = i + 1; j < end; j++)
info[j].mask |= frac_mask | dnom_mask;
i = end - 1;
}