diff options
author | Matthias Clasen <mclasen@redhat.com> | 2019-05-24 16:54:34 +0000 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2019-07-12 00:08:44 -0400 |
commit | 7501b4ecffb22e0d34c6663646f740725711a350 (patch) | |
tree | 1790bd53c37344e7ad03511c8b5cd7e5a1a656f0 /pango/pangofc-font.c | |
parent | 00233bd8b863a87cbf59344b1aed1feba04c66ca (diff) | |
download | pango-7501b4ecffb22e0d34c6663646f740725711a350.tar.gz |
fc: Make pango_fc_font_kern_glyphs empty
This function has long been deprecated;
and it is is using freetype. So drop the
implementation.
Diffstat (limited to 'pango/pangofc-font.c')
-rw-r--r-- | pango/pangofc-font.c | 62 |
1 files changed, 5 insertions, 57 deletions
diff --git a/pango/pangofc-font.c b/pango/pangofc-font.c index fb51b3c6..335cde42 100644 --- a/pango/pangofc-font.c +++ b/pango/pangofc-font.c @@ -843,8 +843,11 @@ _pango_fc_font_shutdown (PangoFcFont *font) * @font: a #PangoFcFont * @glyphs: a #PangoGlyphString * - * Adjust each adjacent pair of glyphs in @glyphs according to - * kerning information in @font. + * This function used to adjust each adjacent pair of glyphs + * in @glyphs according to kerning information in @font. + * + * Since 1.44, it does nothing. + * * * Since: 1.4 * Deprecated: 1.32 @@ -853,61 +856,6 @@ void pango_fc_font_kern_glyphs (PangoFcFont *font, PangoGlyphString *glyphs) { - FT_Face face; - FT_Error error; - FT_Vector kerning; - int i; - gboolean hinting = font->is_hinted; - gboolean scale = FALSE; - double xscale = 1; - PangoFcFontKey *key; - - g_return_if_fail (PANGO_IS_FC_FONT (font)); - g_return_if_fail (glyphs != NULL); - - face = PANGO_FC_FONT_LOCK_FACE (font); - if (G_UNLIKELY (!face)) - return; - - if (!FT_HAS_KERNING (face)) - { - PANGO_FC_FONT_UNLOCK_FACE (font); - return; - } - - key = _pango_fc_font_get_font_key (font); - if (key) { - const PangoMatrix *matrix = pango_fc_font_key_get_matrix (key); - PangoMatrix identity = PANGO_MATRIX_INIT; - if (G_UNLIKELY (matrix && 0 != memcmp (&identity, matrix, 2 * sizeof (double)))) - { - scale = TRUE; - pango_matrix_get_font_scale_factors (matrix, &xscale, NULL); - if (xscale) xscale = 1 / xscale; - } - } - - for (i = 1; i < glyphs->num_glyphs; ++i) - { - error = FT_Get_Kerning (face, - glyphs->glyphs[i-1].glyph, - glyphs->glyphs[i].glyph, - ft_kerning_default, - &kerning); - - if (error == FT_Err_Ok) { - int adjustment = PANGO_UNITS_26_6 (kerning.x); - - if (hinting) - adjustment = PANGO_UNITS_ROUND (adjustment); - if (G_UNLIKELY (scale)) - adjustment *= xscale; - - glyphs->glyphs[i-1].geometry.width += adjustment; - } - } - - PANGO_FC_FONT_UNLOCK_FACE (font); } /** |