[pango/kill-ft-face] fixup! Reimplement PangoCoverage on top of hb_set_t
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [pango/kill-ft-face] fixup! Reimplement PangoCoverage on top of hb_set_t
- Date: Fri, 12 Jul 2019 00:03:34 +0000 (UTC)
commit ba78cfa4d153079e5926d15dc57d560e5631a742
Author: Matthias Clasen <mclasen redhat com>
Date: Thu Jul 11 20:02:43 2019 -0400
fixup! Reimplement PangoCoverage on top of hb_set_t
Keep using FcCharSet for now, to avoid opening fonts.
pango/pangofc-fontmap.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
---
diff --git a/pango/pangofc-fontmap.c b/pango/pangofc-fontmap.c
index 44317987..f6c9dae2 100644
--- a/pango/pangofc-fontmap.c
+++ b/pango/pangofc-fontmap.c
@@ -1939,6 +1939,7 @@ _pango_fc_font_map_get_coverage (PangoFcFontMap *fcfontmap,
PangoFcFont *fcfont)
{
PangoFcFontFaceData *data;
+ FcCharSet *charset;
data = pango_fc_font_map_get_font_face_data (fcfontmap, fcfont->font_pattern);
if (G_UNLIKELY (!data))
@@ -1946,15 +1947,14 @@ _pango_fc_font_map_get_coverage (PangoFcFontMap *fcfontmap,
if (G_UNLIKELY (data->coverage == NULL))
{
- hb_face_t *hb_face;
- hb_set_t *chars = hb_set_create ();
-
- hb_face = pango_fc_font_map_get_hb_face (fcfontmap, fcfont);
- hb_face_collect_unicodes (hb_face, chars);
-
- data->coverage = pango_coverage_new_with_chars (chars);
+ /*
+ * Pull the coverage out of the pattern, this
+ * doesn't require loading the font
+ */
+ if (FcPatternGetCharSet (fcfont->font_pattern, FC_CHARSET, 0, &charset) != FcResultMatch)
+ return NULL;
- hb_set_destroy (chars);
+ data->coverage = _pango_fc_font_map_fc_to_coverage (charset);
}
return pango_coverage_ref (data->coverage);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]