#include "hb-face.hh"
#include "hb-blob.hh"
#include "hb-open-file.hh"
-#include "hb-ot-cmap-table.hh"
+#include "hb-ot-face.hh"
/**
* Character set.
*/
+
/**
* hb_face_collect_unicodes:
* @face: font face.
hb_face_collect_unicodes (hb_face_t *face,
hb_set_t *out)
{
- /* XXX Use saved accel. */
- hb_auto_t<OT::cmap::accelerator_t> cmap (face);
- cmap.collect_unicodes (out);
+ if (unlikely (!hb_ot_shaper_face_data_ensure (face))) return;
+ hb_ot_face_data (face)->table.cmap->collect_unicodes (out);
}
/**
hb_face_collect_variation_selectors (hb_face_t *face,
hb_set_t *out)
{
- /* XXX Use saved accel. */
- hb_auto_t<OT::cmap::accelerator_t> cmap (face);
- cmap.collect_variation_selectors (out);
+ if (unlikely (!hb_ot_shaper_face_data_ensure (face))) return;
+ hb_ot_face_data (face)->table.cmap->collect_variation_selectors (out);
}
/**
hb_codepoint_t variation_selector,
hb_set_t *out)
{
- /* XXX Use saved accel. */
- hb_auto_t<OT::cmap::accelerator_t> cmap (face);
- cmap.collect_variation_unicodes (variation_selector, out);
+ if (unlikely (!hb_ot_shaper_face_data_ensure (face))) return;
+ hb_ot_face_data (face)->table.cmap->collect_variation_unicodes (variation_selector, out);
}