diff options
-rw-r--r-- | pango/pango-coverage-private.h | 2 | ||||
-rw-r--r-- | pango/pango-coverage.c | 21 |
2 files changed, 23 insertions, 0 deletions
diff --git a/pango/pango-coverage-private.h b/pango/pango-coverage-private.h index af86ab00..4f7e79ea 100644 --- a/pango/pango-coverage-private.h +++ b/pango/pango-coverage-private.h @@ -56,6 +56,8 @@ struct _PangoCoverageClass PangoCoverage * (* copy) (PangoCoverage *coverage); }; +PangoCoverage *pango_coverage_new_for_hb_face (hb_face_t *hb_face); + G_END_DECLS #endif /* __PANGO_COVERAGE_PRIVATE_H__ */ diff --git a/pango/pango-coverage.c b/pango/pango-coverage.c index f616305d..281407a2 100644 --- a/pango/pango-coverage.c +++ b/pango/pango-coverage.c @@ -119,6 +119,27 @@ pango_coverage_new (void) return g_object_new (PANGO_TYPE_COVERAGE, NULL); } +/*< private> + * pango_coverage_new_for_hb_face: + * @hb_face: a `hb_face_t` + * + * Creates a new `PangoCoverage` for the given @hb_face. + * + * Returns: the newly allocated `PangoCoverage` + */ +PangoCoverage * +pango_coverage_new_for_hb_face (hb_face_t *hb_face) +{ + PangoCoverage *coverage; + + coverage = g_object_new (PANGO_TYPE_COVERAGE, NULL); + + coverage->chars = hb_set_create (); + hb_face_collect_unicodes (hb_face, coverage->chars); + + return coverage; +} + /** * pango_coverage_copy: * @coverage: a `PangoCoverage` |