Minor fraction mask setting improvement
This commit is contained in:
parent
76fff252a9
commit
a7e8bbb080
|
@ -88,8 +88,6 @@ struct hb_ot_map_t
|
||||||
return map ? map->needs_fallback : false;
|
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 {
|
inline hb_mask_t get_1_mask (hb_tag_t feature_tag) const {
|
||||||
const feature_map_t *map = features.bsearch (&feature_tag);
|
const feature_map_t *map = features.bsearch (&feature_tag);
|
||||||
return map ? map->_1_mask : 0;
|
return map ? map->_1_mask : 0;
|
||||||
|
|
|
@ -346,9 +346,11 @@ hb_ot_shape_setup_masks_fraction (hb_ot_shape_context_t *c)
|
||||||
HB_UNICODE_GENERAL_CATEGORY_DECIMAL_NUMBER)
|
HB_UNICODE_GENERAL_CATEGORY_DECIMAL_NUMBER)
|
||||||
end++;
|
end++;
|
||||||
|
|
||||||
buffer->set_masks (frac_mask, frac_mask, start, end);
|
for (unsigned int j = start; j < i; j++)
|
||||||
buffer->set_masks (numr_mask, numr_mask, start, i);
|
info[j].mask |= numr_mask | frac_mask;
|
||||||
buffer->set_masks (dnom_mask, dnom_mask, i + 1, end);
|
info[i].mask |= frac_mask;
|
||||||
|
for (unsigned int j = i + 1; j < end; j++)
|
||||||
|
info[j].mask |= frac_mask | dnom_mask;
|
||||||
|
|
||||||
i = end - 1;
|
i = end - 1;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue