From 95808bad2c17a9ef41c58c04faf1b4706fb7d72e Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Fri, 3 Feb 2017 10:39:40 -0800 Subject: [PATCH] Add new API hb_font_set_face() For completeness. --- src/hb-font.cc | 29 +++++++++++++++++++++++++++++ src/hb-font.h | 4 ++++ 2 files changed, 33 insertions(+) diff --git a/src/hb-font.cc b/src/hb-font.cc index 826d3e1be..db3ffcce7 100644 --- a/src/hb-font.cc +++ b/src/hb-font.cc @@ -1371,6 +1371,35 @@ hb_font_get_parent (hb_font_t *font) return font->parent; } +/** + * hb_font_set_face: + * @font: a font. + * @face: new face. + * + * Sets font-face of @font. + * + * Since: 1.4.3 + **/ +void +hb_font_set_face (hb_font_t *font, + hb_face_t *face) +{ + if (font->immutable) + return; + + if (unlikely (!face)) + face = hb_face_get_empty (); + + if (font->face == face) + return; + + hb_face_t *old = font->face; + + font->face = hb_face_reference (face); + + hb_face_destroy (old); +} + /** * hb_font_get_face: * @font: a font. diff --git a/src/hb-font.h b/src/hb-font.h index e2e59796f..85fb56d5b 100644 --- a/src/hb-font.h +++ b/src/hb-font.h @@ -563,6 +563,10 @@ hb_font_set_parent (hb_font_t *font, HB_EXTERN hb_font_t * hb_font_get_parent (hb_font_t *font); +HB_EXTERN void +hb_font_set_face (hb_font_t *font, + hb_face_t *face); + HB_EXTERN hb_face_t * hb_font_get_face (hb_font_t *font);