diff options
author | Matthias Clasen <mclasen@redhat.com> | 2021-10-29 19:01:50 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2022-01-28 09:03:03 -0500 |
commit | 0896a20eea58575a03a09ff43701684a3ba2395a (patch) | |
tree | 2765a34686f8222fc8526724d91d5eff1db6fa56 /pango | |
parent | 580cbd593d42d2152441d264d333f3dbdd424a9a (diff) | |
download | pango-0896a20eea58575a03a09ff43701684a3ba2395a.tar.gz |
coverage: Add a constructor from hb_face_t
Add private API to create a PangoCoverage object
from a hb_face_t. This will be used in future commits.
Diffstat (limited to 'pango')
-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` |