Lines Matching refs:ot_font
445 hb_ot_font_t *ot_font = (hb_ot_font_t *) calloc (1, sizeof (hb_ot_font_t)); in _hb_ot_font_create() local
447 if (unlikely (!ot_font)) in _hb_ot_font_create()
450 ot_font->cmap.init (face); in _hb_ot_font_create()
451 ot_font->h_metrics.init (face, HB_OT_TAG_hhea, HB_OT_TAG_hmtx, HB_OT_TAG_HVAR, HB_OT_TAG_os2); in _hb_ot_font_create()
452 ot_font->v_metrics.init (face, HB_OT_TAG_vhea, HB_OT_TAG_vmtx, HB_OT_TAG_VVAR, HB_TAG_NONE, in _hb_ot_font_create()
453 ot_font->h_metrics.ascender - ot_font->h_metrics.descender); /* TODO Can we do this lazily? */ in _hb_ot_font_create()
454 ot_font->glyf.init (face); in _hb_ot_font_create()
455 ot_font->cbdt.init (face); in _hb_ot_font_create()
457 return ot_font; in _hb_ot_font_create()
461 _hb_ot_font_destroy (hb_ot_font_t *ot_font) in _hb_ot_font_destroy() argument
463 ot_font->cmap.fini (); in _hb_ot_font_destroy()
464 ot_font->h_metrics.fini (); in _hb_ot_font_destroy()
465 ot_font->v_metrics.fini (); in _hb_ot_font_destroy()
466 ot_font->glyf.fini (); in _hb_ot_font_destroy()
467 ot_font->cbdt.fini (); in _hb_ot_font_destroy()
469 free (ot_font); in _hb_ot_font_destroy()
481 const hb_ot_font_t *ot_font = (const hb_ot_font_t *) font_data; in hb_ot_get_nominal_glyph() local
482 return ot_font->cmap.get_nominal_glyph (unicode, glyph); in hb_ot_get_nominal_glyph()
493 const hb_ot_font_t *ot_font = (const hb_ot_font_t *) font_data; in hb_ot_get_variation_glyph() local
494 return ot_font->cmap.get_variation_glyph (unicode, variation_selector, glyph); in hb_ot_get_variation_glyph()
503 const hb_ot_font_t *ot_font = (const hb_ot_font_t *) font_data; in hb_ot_get_glyph_h_advance() local
504 return font->em_scale_x (ot_font->h_metrics.get_advance (glyph, font)); in hb_ot_get_glyph_h_advance()
513 const hb_ot_font_t *ot_font = (const hb_ot_font_t *) font_data; in hb_ot_get_glyph_v_advance() local
514 return font->em_scale_y (-(int) ot_font->v_metrics.get_advance (glyph, font)); in hb_ot_get_glyph_v_advance()
524 const hb_ot_font_t *ot_font = (const hb_ot_font_t *) font_data; in hb_ot_get_glyph_extents() local
525 bool ret = ot_font->glyf->get_extents (glyph, extents); in hb_ot_get_glyph_extents()
527 ret = ot_font->cbdt->get_extents (glyph, extents); in hb_ot_get_glyph_extents()
542 const hb_ot_font_t *ot_font = (const hb_ot_font_t *) font_data; in hb_ot_get_font_h_extents() local
543 metrics->ascender = font->em_scale_y (ot_font->h_metrics.ascender); in hb_ot_get_font_h_extents()
544 metrics->descender = font->em_scale_y (ot_font->h_metrics.descender); in hb_ot_get_font_h_extents()
545 metrics->line_gap = font->em_scale_y (ot_font->h_metrics.line_gap); in hb_ot_get_font_h_extents()
547 return ot_font->h_metrics.has_font_extents; in hb_ot_get_font_h_extents()
556 const hb_ot_font_t *ot_font = (const hb_ot_font_t *) font_data; in hb_ot_get_font_v_extents() local
557 metrics->ascender = font->em_scale_x (ot_font->v_metrics.ascender); in hb_ot_get_font_v_extents()
558 metrics->descender = font->em_scale_x (ot_font->v_metrics.descender); in hb_ot_get_font_v_extents()
559 metrics->line_gap = font->em_scale_x (ot_font->v_metrics.line_gap); in hb_ot_get_font_v_extents()
561 return ot_font->v_metrics.has_font_extents; in hb_ot_get_font_v_extents()
623 hb_ot_font_t *ot_font = _hb_ot_font_create (font->face); in hb_ot_font_set_funcs() local
624 if (unlikely (!ot_font)) in hb_ot_font_set_funcs()
629 ot_font, in hb_ot_font_set_funcs()