{
hb_face_t *face = (hb_face_t *) user_data;
- const OpenTypeFontFile &ot_file = Sanitizer<OpenTypeFontFile>::lock_instance (face->blob);
+ const OpenTypeFontFile &ot_file = *CastP<OpenTypeFontFile> (hb_blob_lock (face->blob));
const OpenTypeFontFace &ot_face = ot_file.get_face (face->index);
const OpenTypeTable &table = ot_face.get_table_by_tag (tag);
memset (layout, 0, sizeof (*layout));
layout->gdef_blob = Sanitizer<GDEF>::sanitize (hb_face_get_table (face, HB_OT_TAG_GDEF));
- layout->gdef = &Sanitizer<GDEF>::lock_instance (layout->gdef_blob);
+ layout->gdef = CastP<GDEF> (hb_blob_lock (layout->gdef_blob));
layout->gsub_blob = Sanitizer<GSUB>::sanitize (hb_face_get_table (face, HB_OT_TAG_GSUB));
- layout->gsub = &Sanitizer<GSUB>::lock_instance (layout->gsub_blob);
+ layout->gsub = CastP<GSUB> (hb_blob_lock (layout->gsub_blob));
layout->gpos_blob = Sanitizer<GPOS>::sanitize (hb_face_get_table (face, HB_OT_TAG_GPOS));
- layout->gpos = &Sanitizer<GPOS>::lock_instance (layout->gpos_blob);
+ layout->gpos = CastP<GPOS> (hb_blob_lock (layout->gpos_blob));
}
void