[pango/pango2-cleanups: 35/70] Drop deprecated pangoft2 api




commit 536fbc944d0298ec447114db3ba701a3e9e82af3
Author: Matthias Clasen <mclasen redhat com>
Date:   Mon Jan 10 12:58:04 2022 -0500

    Drop deprecated pangoft2 api

 pango/pangoft2-fontmap.c | 144 +----------------------------------------------
 pango/pangoft2-render.c  |   4 +-
 pango/pangoft2.c         | 107 +----------------------------------
 pango/pangoft2.h         |  36 ------------
 4 files changed, 5 insertions(+), 286 deletions(-)
---
diff --git a/pango/pangoft2-fontmap.c b/pango/pangoft2-fontmap.c
index ca09a2ad..94a69925 100644
--- a/pango/pangoft2-fontmap.c
+++ b/pango/pangoft2-fontmap.c
@@ -68,8 +68,6 @@ static double        pango_ft2_font_map_get_resolution      (PangoFcFontMap
 static guint         pango_ft2_font_map_get_serial          (PangoFontMap         *fontmap);
 static void          pango_ft2_font_map_changed             (PangoFontMap         *fontmap);
 
-static PangoFT2FontMap *pango_ft2_global_fontmap = NULL; /* MT-safe */
-
 G_DEFINE_TYPE (PangoFT2FontMap, pango_ft2_font_map, PANGO_TYPE_FC_FONT_MAP)
 
 static void
@@ -154,58 +152,6 @@ pango_ft2_font_map_changed (PangoFontMap *fontmap)
     ft2fontmap->serial++;
 }
 
-/**
- * pango_ft2_font_map_set_default_substitute:
- * @fontmap: a `PangoFT2FontMap`
- * @func: function to call to to do final config tweaking
- *        on #FcPattern objects.
- * @data: data to pass to @func
- * @notify: function to call when @data is no longer used.
- *
- * Sets a function that will be called to do final configuration
- * substitution on a `FcPattern` before it is used to load
- * the font.
- *
- * This function can be used to do things like set
- * hinting and antialiasing options.
- *
- * Deprecated: 1.46: Use [method@PangoFc.FontMap.set_default_substitute]
- * instead.
- *
- * Since: 1.2
- **/
-void
-pango_ft2_font_map_set_default_substitute (PangoFT2FontMap        *fontmap,
-                                          PangoFT2SubstituteFunc  func,
-                                          gpointer                data,
-                                          GDestroyNotify          notify)
-{
-  PangoFcFontMap *fcfontmap = PANGO_FC_FONT_MAP (fontmap);
-  pango_fc_font_map_set_default_substitute(fcfontmap, func, data, notify);
-}
-
-/**
- * pango_ft2_font_map_substitute_changed:
- * @fontmap: a `PangoFT2FontMap`
- *
- * Call this function any time the results of the
- * default substitution function set with
- * pango_ft2_font_map_set_default_substitute() change.
- *
- * That is, if your substitution function will return different
- * results for the same input pattern, you must call this function.
- *
- * Deprecated: 1.46: Use [method@PangoFc.FontMap.substitute_changed]
- * instead.
- *
- * Since: 1.2
- **/
-void
-pango_ft2_font_map_substitute_changed (PangoFT2FontMap *fontmap)
-{
-  pango_fc_font_map_substitute_changed(PANGO_FC_FONT_MAP (fontmap));
-}
-
 /**
  * pango_ft2_font_map_set_resolution:
  * @fontmap: a `PangoFT2FontMap`
@@ -226,95 +172,7 @@ pango_ft2_font_map_set_resolution (PangoFT2FontMap *fontmap,
   fontmap->dpi_x = dpi_x;
   fontmap->dpi_y = dpi_y;
 
-  pango_ft2_font_map_substitute_changed (fontmap);
-}
-
-/**
- * pango_ft2_font_map_create_context: (skip)
- * @fontmap: a `PangoFT2FontMap`
- *
- * Create a `PangoContext` for the given fontmap.
- *
- * Return value: (transfer full): the newly created context; free with
- *     g_object_unref().
- *
- * Since: 1.2
- *
- * Deprecated: 1.22: Use [method@Pango.FontMap.create_context] instead.
- **/
-PangoContext *
-pango_ft2_font_map_create_context (PangoFT2FontMap *fontmap)
-{
-  g_return_val_if_fail (PANGO_FT2_IS_FONT_MAP (fontmap), NULL);
-
-  return pango_font_map_create_context (PANGO_FONT_MAP (fontmap));
-}
-
-/**
- * pango_ft2_get_context: (skip)
- * @dpi_x:  the horizontal DPI of the target device
- * @dpi_y:  the vertical DPI of the target device
- *
- * Retrieves a `PangoContext` for the default PangoFT2 fontmap
- * (see pango_ft2_font_map_for_display()) and sets the resolution
- * for the default fontmap to @dpi_x by @dpi_y.
- *
- * Return value: (transfer full): the new `PangoContext`
- *
- * Deprecated: 1.22: Use [method@Pango.FontMap.create_context] instead.
- **/
-G_GNUC_BEGIN_IGNORE_DEPRECATIONS
-PangoContext *
-pango_ft2_get_context (double dpi_x, double dpi_y)
-{
-  PangoFontMap *fontmap;
-
-  fontmap = pango_ft2_font_map_for_display ();
-  pango_ft2_font_map_set_resolution (PANGO_FT2_FONT_MAP (fontmap), dpi_x, dpi_y);
-
-  return pango_font_map_create_context (fontmap);
-}
-G_GNUC_END_IGNORE_DEPRECATIONS
-
-/**
- * pango_ft2_font_map_for_display: (skip)
- *
- * Returns a `PangoFT2FontMap`.
- *
- * This font map is cached and should
- * not be freed. If the font map is no longer needed, it can
- * be released with pango_ft2_shutdown_display(). Use of the
- * global PangoFT2 fontmap is deprecated; use pango_ft2_font_map_new()
- * instead.
- *
- * Return value: (transfer none): a `PangoFT2FontMap`.
- **/
-PangoFontMap *
-pango_ft2_font_map_for_display (void)
-{
-  if (g_once_init_enter (&pango_ft2_global_fontmap))
-    g_once_init_leave (&pango_ft2_global_fontmap, PANGO_FT2_FONT_MAP (pango_ft2_font_map_new ()));
-
-  return PANGO_FONT_MAP (pango_ft2_global_fontmap);
-}
-
-/**
- * pango_ft2_shutdown_display:
- *
- * Free the global fontmap. (See pango_ft2_font_map_for_display())
- * Use of the global PangoFT2 fontmap is deprecated.
- **/
-void
-pango_ft2_shutdown_display (void)
-{
-  if (pango_ft2_global_fontmap)
-    {
-      pango_fc_font_map_cache_clear (PANGO_FC_FONT_MAP (pango_ft2_global_fontmap));
-
-      g_object_unref (pango_ft2_global_fontmap);
-
-      pango_ft2_global_fontmap = NULL;
-    }
+  pango_fc_font_map_substitute_changed (PANGO_FC_FONT_MAP (fontmap));
 }
 
 FT_Library
diff --git a/pango/pangoft2-render.c b/pango/pangoft2-render.c
index f2da8e7f..ebe0e0e3 100644
--- a/pango/pangoft2-render.c
+++ b/pango/pangoft2-render.c
@@ -212,7 +212,7 @@ pango_ft2_font_render_glyph (PangoFont *font,
       return box;
     }
 
-  face = pango_ft2_font_get_face (font);
+  face = pango_fc_font_lock_face (PANGO_FC_FONT (font));
 
   if (face)
     {
@@ -233,6 +233,8 @@ pango_ft2_font_render_glyph (PangoFont *font,
       rendered->bitmap_left = face->glyph->bitmap_left;
       rendered->bitmap_top = face->glyph->bitmap_top;
 
+      pango_fc_font_unlock_face (PANGO_FC_FONT (font));
+
       if (G_UNLIKELY (!rendered->bitmap.buffer)) {
         g_slice_free (PangoFT2RenderedGlyph, rendered);
        return NULL;
diff --git a/pango/pangoft2.c b/pango/pangoft2.c
index f330ef7c..d768fcd8 100644
--- a/pango/pangoft2.c
+++ b/pango/pangoft2.c
@@ -150,24 +150,7 @@ set_transform (PangoFT2Font *ft2font)
     }
 }
 
-/**
- * pango_ft2_font_get_face: (skip)
- * @font: a `PangoFont`
- *
- * Returns the native FreeType2 `FT_Face` structure
- * used for this `PangoFont`.
- *
- * This may be useful if you want to use FreeType2
- * functions directly.
- *
- * Use [method PangoFc Font.lock_face] instead; when you are
- * done with a face from [method PangoFc Font.lock_face], you
- * must call [method PangoFc Font.unlock_face].
- *
- * Return value: (nullable): a pointer to a `FT_Face` structure,
- *   with the size set correctly
- */
-FT_Face
+static FT_Face
 pango_ft2_font_get_face (PangoFont *font)
 {
   PangoFT2Font *ft2font = (PangoFT2Font *)font;
@@ -379,51 +362,6 @@ pango_ft2_font_get_glyph_extents (PangoFont      *font,
     }
 }
 
-/**
- * pango_ft2_font_get_kerning:
- * @font: a `PangoFont`
- * @left: the left `PangoGlyph`
- * @right: the right `PangoGlyph`
- *
- * Retrieves kerning information for a combination of two glyphs.
- *
- * Use pango_fc_font_kern_glyphs() instead.
- *
- * Return value: The amount of kerning (in Pango units) to
- *   apply for the given combination of glyphs.
- */
-int
-pango_ft2_font_get_kerning (PangoFont *font,
-                           PangoGlyph left,
-                           PangoGlyph right)
-{
-  PangoFcFont *fc_font = PANGO_FC_FONT (font);
-
-  FT_Face face;
-  FT_Error error;
-  FT_Vector kerning;
-
-  face = pango_fc_font_lock_face (fc_font);
-  if (!face)
-    return 0;
-
-  if (!FT_HAS_KERNING (face))
-    {
-      pango_fc_font_unlock_face (fc_font);
-      return 0;
-    }
-
-  error = FT_Get_Kerning (face, left, right, ft_kerning_default, &kerning);
-  if (error != FT_Err_Ok)
-    {
-      pango_fc_font_unlock_face (fc_font);
-      return 0;
-    }
-
-  pango_fc_font_unlock_face (fc_font);
-  return PANGO_UNITS_26_6 (kerning.x);
-}
-
 static FT_Face
 pango_ft2_font_real_lock_face (PangoFcFont *font)
 {
@@ -468,51 +406,8 @@ pango_ft2_font_finalize (GObject *object)
   G_OBJECT_CLASS (pango_ft2_font_parent_class)->finalize (object);
 }
 
-/**
- * pango_ft2_font_get_coverage:
- * @font: a Pango FT2 font
- * @language: a language tag.
- *
- * Gets the `PangoCoverage` for a `PangoFT2Font`.
- *
- * Use [method Pango Font.get_coverage] instead.
- *
- * Return value: (transfer full): a `PangoCoverage`
- */
-PangoCoverage *
-pango_ft2_font_get_coverage (PangoFont     *font,
-                            PangoLanguage *language)
-{
-  return pango_font_get_coverage (font, language);
-}
-
 /* Utility functions */
 
-/**
- * pango_ft2_get_unknown_glyph:
- * @font: a `PangoFont`
- *
- * Return the index of a glyph suitable for drawing unknown
- * characters with @font, or %PANGO_GLYPH_EMPTY if no suitable
- * glyph found.
- *
- * If you want to draw an unknown-box for a character that
- * is not covered by the font, use PANGO_GET_UNKNOWN_GLYPH()
- * instead.
- *
- * Return value: a glyph index into @font, or %PANGO_GLYPH_EMPTY
- */
-PangoGlyph
-pango_ft2_get_unknown_glyph (PangoFont *font)
-{
-  FT_Face face = pango_ft2_font_get_face (font);
-  if (face && FT_IS_SFNT (face))
-    /* TrueType fonts have an 'unknown glyph' box on glyph index 0 */
-    return 0;
-  else
-    return PANGO_GLYPH_EMPTY;
-}
-
 void *
 _pango_ft2_font_get_cache_glyph_data (PangoFont *font,
                                     int        glyph_index)
diff --git a/pango/pangoft2.h b/pango/pangoft2.h
index 86cb84c9..b3367816 100644
--- a/pango/pangoft2.h
+++ b/pango/pangoft2.h
@@ -102,42 +102,6 @@ PANGO_AVAILABLE_IN_1_2
 void          pango_ft2_font_map_set_resolution         (PangoFT2FontMap        *fontmap,
                                                         double                  dpi_x,
                                                         double                  dpi_y);
-#ifndef PANGO_DISABLE_DEPRECATED
-PANGO_DEPRECATED_IN_1_48_FOR(pango_fc_font_map_set_default_substitute)
-void          pango_ft2_font_map_set_default_substitute (PangoFT2FontMap        *fontmap,
-                                                        PangoFT2SubstituteFunc  func,
-                                                        gpointer                data,
-                                                        GDestroyNotify          notify);
-PANGO_DEPRECATED_IN_1_48_FOR(pango_fc_font_map_substitute_changed)
-void          pango_ft2_font_map_substitute_changed     (PangoFT2FontMap         *fontmap);
-PANGO_DEPRECATED_IN_1_22_FOR(pango_font_map_create_context)
-PangoContext *pango_ft2_font_map_create_context         (PangoFT2FontMap         *fontmap);
-#endif
-
-
-/* API for rendering modules
- */
-#ifndef PANGO_DISABLE_DEPRECATED
-PANGO_DEPRECATED_FOR(pango_font_map_create_context)
-PangoContext      *pango_ft2_get_context          (double dpi_x,
-                                                  double dpi_y);
-PANGO_DEPRECATED_FOR(pango_ft2_font_map_new)
-PangoFontMap      *pango_ft2_font_map_for_display (void);
-PANGO_DEPRECATED
-void               pango_ft2_shutdown_display     (void);
-
-PANGO_DEPRECATED_FOR(PANGO_GET_UNKNOWN_GLYPH)
-PangoGlyph     pango_ft2_get_unknown_glyph (PangoFont       *font);
-PANGO_DEPRECATED_FOR(pango_fc_font_kern_glyphs)
-int            pango_ft2_font_get_kerning  (PangoFont       *font,
-                                           PangoGlyph       left,
-                                           PangoGlyph       right);
-PANGO_DEPRECATED_FOR(pango_fc_font_lock_face)
-FT_Face        pango_ft2_font_get_face     (PangoFont       *font);
-PANGO_DEPRECATED_FOR(pango_font_get_coverage)
-PangoCoverage *pango_ft2_font_get_coverage (PangoFont       *font,
-                                           PangoLanguage   *language);
-#endif /* PANGO_DISABLE_DEPRECATED */
 
 G_END_DECLS
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]