@img/sharp-libvips-dev 1.0.4 → 1.1.0-rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/cplusplus/VImage.cpp +2 -2
  2. package/cplusplus/vips-operators.cpp +79 -3
  3. package/include/aom/aom.h +1 -1
  4. package/include/aom/aom_codec.h +4 -4
  5. package/include/aom/aom_decoder.h +1 -1
  6. package/include/aom/aom_encoder.h +3 -1
  7. package/include/aom/aom_external_partition.h +1 -1
  8. package/include/aom/aom_frame_buffer.h +1 -1
  9. package/include/aom/aom_image.h +1 -1
  10. package/include/aom/aom_integer.h +1 -9
  11. package/include/aom/aomcx.h +47 -4
  12. package/include/aom/aomdx.h +1 -1
  13. package/include/archive.h +2 -2
  14. package/include/archive_entry.h +7 -1
  15. package/include/cairo/cairo-version.h +1 -1
  16. package/include/expat.h +1 -1
  17. package/include/expat_config.h +3 -6
  18. package/include/freetype2/freetype/config/ftconfig.h +1 -1
  19. package/include/freetype2/freetype/config/ftheader.h +1 -1
  20. package/include/freetype2/freetype/config/ftoption.h +17 -1
  21. package/include/freetype2/freetype/config/ftstdlib.h +1 -1
  22. package/include/freetype2/freetype/config/integer-types.h +1 -1
  23. package/include/freetype2/freetype/config/mac-support.h +1 -1
  24. package/include/freetype2/freetype/config/public-macros.h +1 -1
  25. package/include/freetype2/freetype/freetype.h +35 -83
  26. package/include/freetype2/freetype/ftadvanc.h +1 -1
  27. package/include/freetype2/freetype/ftbbox.h +1 -1
  28. package/include/freetype2/freetype/ftbdf.h +1 -1
  29. package/include/freetype2/freetype/ftbitmap.h +1 -1
  30. package/include/freetype2/freetype/ftbzip2.h +1 -1
  31. package/include/freetype2/freetype/ftcache.h +1 -1
  32. package/include/freetype2/freetype/ftcid.h +1 -1
  33. package/include/freetype2/freetype/ftcolor.h +1 -1
  34. package/include/freetype2/freetype/ftdriver.h +75 -1
  35. package/include/freetype2/freetype/fterrdef.h +1 -1
  36. package/include/freetype2/freetype/fterrors.h +1 -1
  37. package/include/freetype2/freetype/ftfntfmt.h +1 -1
  38. package/include/freetype2/freetype/ftgasp.h +1 -1
  39. package/include/freetype2/freetype/ftglyph.h +1 -1
  40. package/include/freetype2/freetype/ftgxval.h +1 -1
  41. package/include/freetype2/freetype/ftgzip.h +1 -1
  42. package/include/freetype2/freetype/ftimage.h +17 -12
  43. package/include/freetype2/freetype/ftincrem.h +1 -1
  44. package/include/freetype2/freetype/ftlcdfil.h +1 -1
  45. package/include/freetype2/freetype/ftlist.h +1 -1
  46. package/include/freetype2/freetype/ftlzw.h +1 -1
  47. package/include/freetype2/freetype/ftmac.h +1 -1
  48. package/include/freetype2/freetype/ftmm.h +31 -2
  49. package/include/freetype2/freetype/ftmodapi.h +1 -1
  50. package/include/freetype2/freetype/ftmoderr.h +1 -1
  51. package/include/freetype2/freetype/ftotval.h +1 -1
  52. package/include/freetype2/freetype/ftoutln.h +2 -2
  53. package/include/freetype2/freetype/ftparams.h +1 -1
  54. package/include/freetype2/freetype/ftpfr.h +1 -1
  55. package/include/freetype2/freetype/ftrender.h +1 -1
  56. package/include/freetype2/freetype/ftsizes.h +1 -1
  57. package/include/freetype2/freetype/ftsnames.h +1 -1
  58. package/include/freetype2/freetype/ftstroke.h +1 -1
  59. package/include/freetype2/freetype/ftsynth.h +1 -1
  60. package/include/freetype2/freetype/ftsystem.h +1 -1
  61. package/include/freetype2/freetype/fttrigon.h +1 -1
  62. package/include/freetype2/freetype/fttypes.h +1 -1
  63. package/include/freetype2/freetype/ftwinfnt.h +1 -1
  64. package/include/freetype2/freetype/otsvg.h +1 -1
  65. package/include/freetype2/freetype/t1tables.h +1 -59
  66. package/include/freetype2/freetype/ttnameid.h +1 -1
  67. package/include/freetype2/freetype/tttables.h +4 -3
  68. package/include/freetype2/freetype/tttags.h +1 -1
  69. package/include/freetype2/ft2build.h +1 -1
  70. package/include/fribidi/fribidi-config.h +2 -2
  71. package/include/fribidi/fribidi-unicode-version.h +3 -3
  72. package/include/gio-unix-2.0/gio/gunixmounts.h +11 -2
  73. package/include/glib-2.0/gio/gioenums.h +2 -2
  74. package/include/glib-2.0/glib/gmain.h +52 -47
  75. package/include/glib-2.0/glib/gstring.h +4 -0
  76. package/include/glib-2.0/gobject/gobjectnotifyqueue.c +2 -2
  77. package/include/harfbuzz/hb-buffer.h +7 -0
  78. package/include/harfbuzz/hb-common.h +18 -0
  79. package/include/harfbuzz/hb-face.h +28 -0
  80. package/include/harfbuzz/hb-version.h +3 -3
  81. package/include/libpng16/png.h +13 -13
  82. package/include/libpng16/pngconf.h +4 -4
  83. package/include/libpng16/pnglibconf.h +1 -1
  84. package/include/librsvg-2.0/librsvg/rsvg-version.h +3 -3
  85. package/include/librsvg-2.0/librsvg/rsvg.h +2 -0
  86. package/include/libxml2/libxml/xmlexports.h +2 -2
  87. package/include/libxml2/libxml/xmlversion.h +4 -4
  88. package/include/png.h +13 -13
  89. package/include/pngconf.h +4 -4
  90. package/include/pnglibconf.h +1 -1
  91. package/include/tiffio.h +11 -11
  92. package/include/tiffvers.h +4 -4
  93. package/include/vips/VImage8.h +166 -60
  94. package/include/vips/arithmetic.h +9 -0
  95. package/include/vips/basic.h +8 -4
  96. package/include/vips/buf.h +0 -2
  97. package/include/vips/connection.h +0 -2
  98. package/include/vips/conversion.h +0 -3
  99. package/include/vips/create.h +11 -0
  100. package/include/vips/enumtypes.h +3 -3
  101. package/include/vips/foreign.h +4 -18
  102. package/include/vips/header.h +7 -0
  103. package/include/vips/image.h +7 -2
  104. package/include/vips/interpolate.h +2 -3
  105. package/include/vips/memory.h +19 -1
  106. package/include/vips/operation.h +2 -7
  107. package/include/vips/private.h +7 -0
  108. package/include/vips/util.h +6 -15
  109. package/include/vips/version.h +8 -8
  110. package/include/vips/vips.h +2 -0
  111. package/include/vips/vips8 +19 -12
  112. package/include/zlib.h +3 -3
  113. package/package.json +1 -1
  114. package/versions.json +14 -14
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * FreeType size objects management (specification).
6
6
  *
7
- * Copyright (C) 1996-2023 by
7
+ * Copyright (C) 1996-2024 by
8
8
  * David Turner, Robert Wilhelm, and Werner Lemberg.
9
9
  *
10
10
  * This file is part of the FreeType project, and may only be used,
@@ -7,7 +7,7 @@
7
7
  *
8
8
  * This is _not_ used to retrieve glyph names!
9
9
  *
10
- * Copyright (C) 1996-2023 by
10
+ * Copyright (C) 1996-2024 by
11
11
  * David Turner, Robert Wilhelm, and Werner Lemberg.
12
12
  *
13
13
  * This file is part of the FreeType project, and may only be used,
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * FreeType path stroker (specification).
6
6
  *
7
- * Copyright (C) 2002-2023 by
7
+ * Copyright (C) 2002-2024 by
8
8
  * David Turner, Robert Wilhelm, and Werner Lemberg.
9
9
  *
10
10
  * This file is part of the FreeType project, and may only be used,
@@ -5,7 +5,7 @@
5
5
  * FreeType synthesizing code for emboldening and slanting
6
6
  * (specification).
7
7
  *
8
- * Copyright (C) 2000-2023 by
8
+ * Copyright (C) 2000-2024 by
9
9
  * David Turner, Robert Wilhelm, and Werner Lemberg.
10
10
  *
11
11
  * This file is part of the FreeType project, and may only be used,
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * FreeType low-level system interface definition (specification).
6
6
  *
7
- * Copyright (C) 1996-2023 by
7
+ * Copyright (C) 1996-2024 by
8
8
  * David Turner, Robert Wilhelm, and Werner Lemberg.
9
9
  *
10
10
  * This file is part of the FreeType project, and may only be used,
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * FreeType trigonometric functions (specification).
6
6
  *
7
- * Copyright (C) 2001-2023 by
7
+ * Copyright (C) 2001-2024 by
8
8
  * David Turner, Robert Wilhelm, and Werner Lemberg.
9
9
  *
10
10
  * This file is part of the FreeType project, and may only be used,
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * FreeType simple types definitions (specification only).
6
6
  *
7
- * Copyright (C) 1996-2023 by
7
+ * Copyright (C) 1996-2024 by
8
8
  * David Turner, Robert Wilhelm, and Werner Lemberg.
9
9
  *
10
10
  * This file is part of the FreeType project, and may only be used,
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * FreeType API for accessing Windows fnt-specific data.
6
6
  *
7
- * Copyright (C) 2003-2023 by
7
+ * Copyright (C) 2003-2024 by
8
8
  * David Turner, Robert Wilhelm, and Werner Lemberg.
9
9
  *
10
10
  * This file is part of the FreeType project, and may only be used,
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * Interface for OT-SVG support related things (specification).
6
6
  *
7
- * Copyright (C) 2022-2023 by
7
+ * Copyright (C) 2022-2024 by
8
8
  * David Turner, Robert Wilhelm, Werner Lemberg, and Moazin Khatti.
9
9
  *
10
10
  * This file is part of the FreeType project, and may only be used,
@@ -5,7 +5,7 @@
5
5
  * Basic Type 1/Type 2 tables definitions and interface (specification
6
6
  * only).
7
7
  *
8
- * Copyright (C) 1996-2023 by
8
+ * Copyright (C) 1996-2024 by
9
9
  * David Turner, Robert Wilhelm, and Werner Lemberg.
10
10
  *
11
11
  * This file is part of the FreeType project, and may only be used,
@@ -269,64 +269,6 @@ FT_BEGIN_HEADER
269
269
  /* */
270
270
 
271
271
 
272
- /* maximum number of Multiple Masters designs, as defined in the spec */
273
- #define T1_MAX_MM_DESIGNS 16
274
-
275
- /* maximum number of Multiple Masters axes, as defined in the spec */
276
- #define T1_MAX_MM_AXIS 4
277
-
278
- /* maximum number of elements in a design map */
279
- #define T1_MAX_MM_MAP_POINTS 20
280
-
281
-
282
- /* this structure is used to store the BlendDesignMap entry for an axis */
283
- typedef struct PS_DesignMap_
284
- {
285
- FT_Byte num_points;
286
- FT_Long* design_points;
287
- FT_Fixed* blend_points;
288
-
289
- } PS_DesignMapRec, *PS_DesignMap;
290
-
291
- /* backward compatible definition */
292
- typedef PS_DesignMapRec T1_DesignMap;
293
-
294
-
295
- typedef struct PS_BlendRec_
296
- {
297
- FT_UInt num_designs;
298
- FT_UInt num_axis;
299
-
300
- FT_String* axis_names[T1_MAX_MM_AXIS];
301
- FT_Fixed* design_pos[T1_MAX_MM_DESIGNS];
302
- PS_DesignMapRec design_map[T1_MAX_MM_AXIS];
303
-
304
- FT_Fixed* weight_vector;
305
- FT_Fixed* default_weight_vector;
306
-
307
- PS_FontInfo font_infos[T1_MAX_MM_DESIGNS + 1];
308
- PS_Private privates [T1_MAX_MM_DESIGNS + 1];
309
-
310
- FT_ULong blend_bitflags;
311
-
312
- FT_BBox* bboxes [T1_MAX_MM_DESIGNS + 1];
313
-
314
- /* since 2.3.0 */
315
-
316
- /* undocumented, optional: the default design instance; */
317
- /* corresponds to default_weight_vector -- */
318
- /* num_default_design_vector == 0 means it is not present */
319
- /* in the font and associated metrics files */
320
- FT_UInt default_design_vector[T1_MAX_MM_DESIGNS];
321
- FT_UInt num_default_design_vector;
322
-
323
- } PS_BlendRec, *PS_Blend;
324
-
325
-
326
- /* backward compatible definition */
327
- typedef PS_BlendRec T1_Blend;
328
-
329
-
330
272
  /**************************************************************************
331
273
  *
332
274
  * @struct:
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * TrueType name ID definitions (specification only).
6
6
  *
7
- * Copyright (C) 1996-2023 by
7
+ * Copyright (C) 1996-2024 by
8
8
  * David Turner, Robert Wilhelm, and Werner Lemberg.
9
9
  *
10
10
  * This file is part of the FreeType project, and may only be used,
@@ -5,7 +5,7 @@
5
5
  * Basic SFNT/TrueType tables definitions and interface
6
6
  * (specification only).
7
7
  *
8
- * Copyright (C) 1996-2023 by
8
+ * Copyright (C) 1996-2024 by
9
9
  * David Turner, Robert Wilhelm, and Werner Lemberg.
10
10
  *
11
11
  * This file is part of the FreeType project, and may only be used,
@@ -838,8 +838,9 @@ FT_BEGIN_HEADER
838
838
  * The target charmap.
839
839
  *
840
840
  * @return:
841
- * The format of `charmap`. If `charmap` doesn't belong to an SFNT face,
842
- * return -1.
841
+ * The format of `charmap`. If `charmap` doesn't belong to an SFNT face
842
+ * (including the synthetic Unicode charmap sometimes created by
843
+ * FreeType), return -1.
843
844
  */
844
845
  FT_EXPORT( FT_Long )
845
846
  FT_Get_CMap_Format( FT_CharMap charmap );
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * Tags for TrueType and OpenType tables (specification only).
6
6
  *
7
- * Copyright (C) 1996-2023 by
7
+ * Copyright (C) 1996-2024 by
8
8
  * David Turner, Robert Wilhelm, and Werner Lemberg.
9
9
  *
10
10
  * This file is part of the FreeType project, and may only be used,
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * FreeType 2 build and setup macros.
6
6
  *
7
- * Copyright (C) 1996-2023 by
7
+ * Copyright (C) 1996-2024 by
8
8
  * David Turner, Robert Wilhelm, and Werner Lemberg.
9
9
  *
10
10
  * This file is part of the FreeType project, and may only be used,
@@ -7,10 +7,10 @@
7
7
  #define FRIBIDI_NAME "GNU FriBidi"
8
8
  #define FRIBIDI_BUGREPORT "https://github.com/fribidi/fribidi/issues/new"
9
9
 
10
- #define FRIBIDI_VERSION "1.0.15"
10
+ #define FRIBIDI_VERSION "1.0.16"
11
11
  #define FRIBIDI_MAJOR_VERSION 1
12
12
  #define FRIBIDI_MINOR_VERSION 0
13
- #define FRIBIDI_MICRO_VERSION 15
13
+ #define FRIBIDI_MICRO_VERSION 16
14
14
  #define FRIBIDI_INTERFACE_VERSION 4
15
15
  #define FRIBIDI_INTERFACE_VERSION_STRING "4"
16
16
 
@@ -2,9 +2,9 @@
2
2
  * generated by gen-unicode-version (fribidi unknown)
3
3
  * from the file ReadMe.txt */
4
4
 
5
- #define FRIBIDI_UNICODE_VERSION "15.1.0"
6
- #define FRIBIDI_UNICODE_MAJOR_VERSION 15
7
- #define FRIBIDI_UNICODE_MINOR_VERSION 1
5
+ #define FRIBIDI_UNICODE_VERSION "16.0.0"
6
+ #define FRIBIDI_UNICODE_MAJOR_VERSION 16
7
+ #define FRIBIDI_UNICODE_MINOR_VERSION 0
8
8
  #define FRIBIDI_UNICODE_MICRO_VERSION 0
9
9
 
10
10
  /* End of generated fribidi-unicode-version.h */
@@ -24,13 +24,14 @@
24
24
  #define __G_UNIX_MOUNTS_H__
25
25
 
26
26
  #include <gio/gio.h>
27
+ #include <stdint.h>
27
28
 
28
29
  G_BEGIN_DECLS
29
30
 
30
31
  /**
31
32
  * GUnixMountEntry:
32
33
  *
33
- * Defines a Unix mount entry (e.g. <filename>/media/cdrom</filename>).
34
+ * Defines a Unix mount entry (e.g. `/media/cdrom`).
34
35
  * This corresponds roughly to a mtab entry.
35
36
  **/
36
37
  typedef struct _GUnixMountEntry GUnixMountEntry;
@@ -42,7 +43,7 @@ GType g_unix_mount_entry_get_type (void) G_GNUC_CONST;
42
43
  /**
43
44
  * GUnixMountPoint:
44
45
  *
45
- * Defines a Unix mount point (e.g. <filename>/dev</filename>).
46
+ * Defines a Unix mount point (e.g. `/dev`).
46
47
  * This corresponds roughly to a fstab entry.
47
48
  **/
48
49
  typedef struct _GUnixMountPoint GUnixMountPoint;
@@ -134,11 +135,19 @@ GIcon * g_unix_mount_point_guess_symbolic_icon (GUnixMountPoint *mount
134
135
 
135
136
  GIO_AVAILABLE_IN_ALL
136
137
  GList * g_unix_mount_points_get (guint64 *time_read);
138
+ GIO_AVAILABLE_IN_2_82
139
+ GUnixMountPoint **g_unix_mount_points_get_from_file (const char *table_path,
140
+ uint64_t *time_read_out,
141
+ size_t *n_points_out);
137
142
  GIO_AVAILABLE_IN_2_66
138
143
  GUnixMountPoint *g_unix_mount_point_at (const char *mount_path,
139
144
  guint64 *time_read);
140
145
  GIO_AVAILABLE_IN_ALL
141
146
  GList * g_unix_mounts_get (guint64 *time_read);
147
+ GIO_AVAILABLE_IN_2_82
148
+ GUnixMountEntry **g_unix_mounts_get_from_file (const char *table_path,
149
+ uint64_t *time_read_out,
150
+ size_t *n_entries_out);
142
151
  GIO_AVAILABLE_IN_ALL
143
152
  GUnixMountEntry *g_unix_mount_at (const char *mount_path,
144
153
  guint64 *time_read);
@@ -290,8 +290,8 @@ typedef enum /*< flags >*/ {
290
290
  * assemble/disassemble a virtual drive from several physical
291
291
  * drives.
292
292
  * @G_DRIVE_START_STOP_TYPE_PASSWORD: The start/stop methods will
293
- * unlock/lock the disk (for example using the ATA <quote>SECURITY
294
- * UNLOCK DEVICE</quote> command)
293
+ * unlock/lock the disk (for example using the ATA `SECURITY UNLOCK
294
+ * DEVICE` command)
295
295
  *
296
296
  * Enumeration describing how a drive can be started/stopped.
297
297
  *
@@ -48,8 +48,8 @@ typedef enum /*< flags >*/
48
48
  * `g_main_context_{prepare,query,check,dispatch}` to integrate GMainContext in
49
49
  * other event loops.
50
50
  *
51
- * Flags to pass to g_main_context_new_with_flags() which affect the behaviour
52
- * of a #GMainContext.
51
+ * Flags to pass to [ctor@GLib.MainContext.new_with_flags] which affect the
52
+ * behaviour of a [struct@GLib.MainContext].
53
53
  *
54
54
  * Since: 2.72
55
55
  */
@@ -121,15 +121,17 @@ typedef struct _GSourceCallbackFuncs GSourceCallbackFuncs;
121
121
  * %TRUE in either its @prepare or its @check function, or if a ready time
122
122
  * has been reached. The @dispatch function receives a callback function and
123
123
  * user data. The callback function may be %NULL if the source was never
124
- * connected to a callback using g_source_set_callback(). The @dispatch
125
- * function should call the callback function with @user_data and whatever
126
- * additional parameters are needed for this type of event source. The
127
- * return value of the @dispatch function should be %G_SOURCE_REMOVE if the
128
- * source should be removed or %G_SOURCE_CONTINUE to keep it.
124
+ * connected to a callback using [method@GLib.Source.set_callback]. The
125
+ * @dispatch function should call the callback function with @user_data and
126
+ * whatever additional parameters are needed for this type of event source.
127
+ * The return value of the @dispatch function should be
128
+ * [const@GLib.SOURCE_REMOVE] if the source should be removed or
129
+ * [const@GLib.SOURCE_CONTINUE] to keep it.
129
130
  * @finalize: Called when the source is finalized. At this point, the source
130
131
  * will have been destroyed, had its callback cleared, and have been removed
131
- * from its #GMainContext, but it will still have its final reference count,
132
- * so methods can be called on it from within this function.
132
+ * from its [struct@GLib.MainContext], but it will still have its final
133
+ * reference count, so methods can be called on it from within this
134
+ * function.
133
135
  *
134
136
  * The `GSourceFuncs` struct contains a table of
135
137
  * functions used to handle event sources in a generic manner.
@@ -182,15 +184,17 @@ typedef struct _GSourceFuncs GSourceFuncs;
182
184
  * @user_data: data passed to the function, set when the source was
183
185
  * created with one of the above functions
184
186
  *
185
- * Specifies the type of function passed to g_timeout_add(),
186
- * g_timeout_add_full(), g_idle_add(), and g_idle_add_full().
187
+ * Specifies the type of function passed to [func@GLib.timeout_add],
188
+ * [func@GLib.timeout_add_full], [func@GLib.idle_add], and
189
+ * [func@GLib.idle_add_full].
187
190
  *
188
- * When calling g_source_set_callback(), you may need to cast a function of a
189
- * different type to this type. Use G_SOURCE_FUNC() to avoid warnings about
190
- * incompatible function types.
191
+ * When calling [method@GLib.Source.set_callback], you may need to cast a
192
+ * function of a different type to this type. Use [func@GLib.SOURCE_FUNC] to
193
+ * avoid warnings about incompatible function types.
191
194
  *
192
- * Returns: %FALSE if the source should be removed. %G_SOURCE_CONTINUE and
193
- * %G_SOURCE_REMOVE are more memorable names for the return value.
195
+ * Returns: %FALSE if the source should be removed.
196
+ * [const@GLib.SOURCE_CONTINUE] and [const@GLib.SOURCE_REMOVE] are more
197
+ * memorable names for the return value.
194
198
  */
195
199
  typedef gboolean (*GSourceFunc) (gpointer user_data);
196
200
 
@@ -202,7 +206,7 @@ typedef gboolean (*GSourceFunc) (gpointer user_data);
202
206
  * A source function that is only called once before being removed from the main
203
207
  * context automatically.
204
208
  *
205
- * See: g_idle_add_once(), g_timeout_add_once()
209
+ * See: [func@GLib.idle_add_once], [func@GLib.timeout_add_once]
206
210
  *
207
211
  * Since: 2.74
208
212
  */
@@ -212,15 +216,16 @@ typedef void (* GSourceOnceFunc) (gpointer user_data);
212
216
  * G_SOURCE_FUNC:
213
217
  * @f: a function pointer.
214
218
  *
215
- * Cast a function pointer to a #GSourceFunc, suppressing warnings from GCC 8
216
- * onwards with `-Wextra` or `-Wcast-function-type` enabled about the function
217
- * types being incompatible.
219
+ * Cast a function pointer to a [callback@GLib.SourceFunc], suppressing
220
+ * warnings from GCC 8 onwards with `-Wextra` or `-Wcast-function-type` enabled
221
+ * about the function types being incompatible.
218
222
  *
219
223
  * For example, the correct type of callback for a source created by
220
- * g_child_watch_source_new() is #GChildWatchFunc, which accepts more arguments
221
- * than #GSourceFunc. Casting the function with `(GSourceFunc)` to call
222
- * g_source_set_callback() will trigger a warning, even though it will be cast
223
- * back to the correct type before it is called by the source.
224
+ * [func@GLib.child_watch_source_new] is #GChildWatchFunc, which accepts more
225
+ * arguments than [callback@GLib.SourceFunc]. Casting the function with
226
+ * `(GSourceFunc)` to call [method@GLib.Source.set_callback] will trigger a
227
+ * warning, even though it will be cast back to the correct type before it is
228
+ * called by the source.
224
229
  *
225
230
  * Since: 2.58
226
231
  */
@@ -231,13 +236,13 @@ typedef void (* GSourceOnceFunc) (gpointer user_data);
231
236
  * @pid: the process id of the child process
232
237
  * @wait_status: Status information about the child process, encoded
233
238
  * in a platform-specific manner
234
- * @user_data: user data passed to g_child_watch_add()
239
+ * @user_data: user data passed to [func@GLib.child_watch_add]
235
240
  *
236
241
  * Prototype of a #GChildWatchSource callback, called when a child
237
242
  * process has exited.
238
243
  *
239
- * To interpret @wait_status, see the documentation
240
- * for g_spawn_check_wait_status(). In particular,
244
+ * To interpret @wait_status, see the documentation for
245
+ * [func@GLib.spawn_check_wait_status]. In particular,
241
246
  * on Unix platforms, note that it is usually not equal
242
247
  * to the integer passed to `exit()` or returned from `main()`.
243
248
  */
@@ -250,8 +255,8 @@ typedef void (*GChildWatchFunc) (GPid pid,
250
255
  * GSourceDisposeFunc:
251
256
  * @source: #GSource that is currently being disposed
252
257
  *
253
- * Dispose function for @source. See g_source_set_dispose_function() for
254
- * details.
258
+ * Dispose function for @source. See [method@GLib.Source.set_dispose_function]
259
+ * for details.
255
260
  *
256
261
  * Since: 2.64
257
262
  */
@@ -420,7 +425,7 @@ struct _GSourceFuncs
420
425
  * Use this for default priority event sources.
421
426
  *
422
427
  * In GLib this priority is used when adding timeout functions
423
- * with g_timeout_add(). In GDK this priority is used for events
428
+ * with [func@GLib.timeout_add]. In GDK this priority is used for events
424
429
  * from the X server.
425
430
  */
426
431
  #define G_PRIORITY_DEFAULT 0
@@ -443,7 +448,7 @@ struct _GSourceFuncs
443
448
  * Use this for default priority idle functions.
444
449
  *
445
450
  * In GLib this priority is used when adding idle functions with
446
- * g_idle_add().
451
+ * [func@GLib.idle_add].
447
452
  */
448
453
  #define G_PRIORITY_DEFAULT_IDLE 200
449
454
 
@@ -459,8 +464,8 @@ struct _GSourceFuncs
459
464
  /**
460
465
  * G_SOURCE_REMOVE:
461
466
  *
462
- * Use this macro as the return value of a #GSourceFunc to remove
463
- * the #GSource from the main loop.
467
+ * Use this macro as the return value of a [callback@GLib.SourceFunc] to remove
468
+ * the [struct@GLib.Source] from the main loop.
464
469
  *
465
470
  * Since: 2.32
466
471
  */
@@ -469,8 +474,8 @@ struct _GSourceFuncs
469
474
  /**
470
475
  * G_SOURCE_CONTINUE:
471
476
  *
472
- * Use this macro as the return value of a #GSourceFunc to leave
473
- * the #GSource in the main loop.
477
+ * Use this macro as the return value of a [callback@GLib.SourceFunc] to leave
478
+ * the [struct@GLib.Source] in the main loop.
474
479
  *
475
480
  * Since: 2.32
476
481
  */
@@ -588,13 +593,13 @@ typedef void GMainContextPusher GLIB_AVAILABLE_TYPE_IN_2_64;
588
593
  * @main_context: (transfer none): a main context to push
589
594
  *
590
595
  * Push @main_context as the new thread-default main context for the current
591
- * thread, using g_main_context_push_thread_default(), and return a new
592
- * #GMainContextPusher. Pop with g_main_context_pusher_free(). Using
593
- * g_main_context_pop_thread_default() on @main_context while a
594
- * #GMainContextPusher exists for it can lead to undefined behaviour.
596
+ * thread, using [method@GLib.MainContext.push_thread_default], and return a
597
+ * new [alias@GLib.MainContextPusher]. Pop with g_main_context_pusher_free().
598
+ * Using [method@GLib.MainContext.pop_thread_default] on @main_context while a
599
+ * [alias@GLib.MainContextPusher] exists for it can lead to undefined behaviour.
595
600
  *
596
- * Using two #GMainContextPushers in the same scope is not allowed, as it leads
597
- * to an undefined pop order.
601
+ * Using two [alias@GLib.MainContextPusher]s in the same scope is not allowed,
602
+ * as it leads to an undefined pop order.
598
603
  *
599
604
  * This is intended to be used with g_autoptr(). Note that g_autoptr()
600
605
  * is only available when using GCC or clang, so the following example
@@ -645,8 +650,8 @@ G_GNUC_END_IGNORE_DEPRECATIONS
645
650
  * Pop @pusher’s main context as the thread default main context.
646
651
  * See g_main_context_pusher_new() for details.
647
652
  *
648
- * This will pop the #GMainContext as the current thread-default main context,
649
- * but will not call g_main_context_unref() on it.
653
+ * This will pop the [struct@GLib.MainContext] as the current thread-default
654
+ * main context, but will not call [method@GLib.MainContext.unref] on it.
650
655
  *
651
656
  * Since: 2.64
652
657
  */
@@ -833,10 +838,10 @@ gboolean g_source_remove_by_funcs_user_data (GSourceFuncs *funcs,
833
838
  * GClearHandleFunc:
834
839
  * @handle_id: the handle ID to clear
835
840
  *
836
- * Specifies the type of function passed to g_clear_handle_id().
837
- * The implementation is expected to free the resource identified
838
- * by @handle_id; for instance, if @handle_id is a #GSource ID,
839
- * g_source_remove() can be used.
841
+ * Specifies the type of function passed to [func@GLib.clear_handle_id] The
842
+ * implementation is expected to free the resource identified by @handle_id;
843
+ * for instance, if @handle_id is a [struct@GLib.Source] ID,
844
+ * [func@GLib.Source.remove] can be used.
840
845
  *
841
846
  * Since: 2.56
842
847
  */
@@ -66,6 +66,8 @@ gchar* g_string_free_and_steal (GString *string) G_GNUC_WARN_UN
66
66
 
67
67
  #if G_GNUC_CHECK_VERSION (2, 0) && (GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_76)
68
68
 
69
+ #if !defined(__cplusplus) || !G_GNUC_CHECK_VERSION (6, 1) || G_GNUC_CHECK_VERSION (7, 3)
70
+
69
71
  #define g_string_free(str, free_segment) \
70
72
  (__builtin_constant_p (free_segment) ? \
71
73
  ((free_segment) ? \
@@ -74,6 +76,8 @@ gchar* g_string_free_and_steal (GString *string) G_GNUC_WARN_UN
74
76
  : \
75
77
  (g_string_free) ((str), (free_segment)))
76
78
 
79
+ #endif /* !defined(__cplusplus) || !G_GNUC_CHECK_VERSION (6, 1) || G_GNUC_CHECK_VERSION (7, 3) */
80
+
77
81
  #endif /* G_GNUC_CHECK_VERSION (2, 0) && (GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_76) */
78
82
 
79
83
  GLIB_AVAILABLE_IN_2_34
@@ -140,7 +140,7 @@ g_object_notify_queue_thaw (GObject *object,
140
140
  }
141
141
 
142
142
  static inline void
143
- g_object_notify_queue_clear (GObject *object,
143
+ g_object_notify_queue_clear (GObject *object G_GNUC_UNUSED,
144
144
  GObjectNotifyQueue *nqueue)
145
145
  {
146
146
  g_return_if_fail (nqueue->freeze_count > 0);
@@ -155,7 +155,7 @@ g_object_notify_queue_clear (GObject *object,
155
155
  }
156
156
 
157
157
  static inline void
158
- g_object_notify_queue_add (GObject *object,
158
+ g_object_notify_queue_add (GObject *object G_GNUC_UNUSED,
159
159
  GObjectNotifyQueue *nqueue,
160
160
  GParamSpec *pspec)
161
161
  {
@@ -487,6 +487,13 @@ hb_buffer_set_not_found_glyph (hb_buffer_t *buffer,
487
487
  HB_EXTERN hb_codepoint_t
488
488
  hb_buffer_get_not_found_glyph (const hb_buffer_t *buffer);
489
489
 
490
+ HB_EXTERN void
491
+ hb_buffer_set_not_found_variation_selector_glyph (hb_buffer_t *buffer,
492
+ hb_codepoint_t not_found_variation_selector);
493
+
494
+ HB_EXTERN hb_codepoint_t
495
+ hb_buffer_get_not_found_variation_selector_glyph (const hb_buffer_t *buffer);
496
+
490
497
  HB_EXTERN void
491
498
  hb_buffer_set_random_state (hb_buffer_t *buffer,
492
499
  unsigned state);
@@ -504,6 +504,13 @@ hb_language_matches (hb_language_t language,
504
504
  * @HB_SCRIPT_MATH: `Zmth`, Since: 3.4.0
505
505
  * @HB_SCRIPT_KAWI: `Kawi`, Since: 5.2.0
506
506
  * @HB_SCRIPT_NAG_MUNDARI: `Nagm`, Since: 5.2.0
507
+ * @HB_SCRIPT_GARAY: `Gara`, Since: 10.0.0
508
+ * @HB_SCRIPT_GURUNG_KHEMA: `Gukh`, Since: 10.0.0
509
+ * @HB_SCRIPT_KIRAT_RAI: `Krai`, Since: 10.0.0
510
+ * @HB_SCRIPT_OL_ONAL: `Onao`, Since: 10.0.0
511
+ * @HB_SCRIPT_SUNUWAR: `Sunu`, Since: 10.0.0
512
+ * @HB_SCRIPT_TODHRI: `Todr`, Since: 10.0.0
513
+ * @HB_SCRIPT_TULU_TIGALARI: `Tutg`, Since: 10.0.0
507
514
  * @HB_SCRIPT_INVALID: No script set
508
515
  *
509
516
  * Data type for scripts. Each #hb_script_t's value is an #hb_tag_t corresponding
@@ -731,6 +738,17 @@ typedef enum
731
738
  HB_SCRIPT_KAWI = HB_TAG ('K','a','w','i'), /*15.0*/
732
739
  HB_SCRIPT_NAG_MUNDARI = HB_TAG ('N','a','g','m'), /*15.0*/
733
740
 
741
+ /*
742
+ * Since 10.0.0
743
+ */
744
+ HB_SCRIPT_GARAY = HB_TAG ('G','a','r','a'), /*16.0*/
745
+ HB_SCRIPT_GURUNG_KHEMA = HB_TAG ('G','u','k','h'), /*16.0*/
746
+ HB_SCRIPT_KIRAT_RAI = HB_TAG ('K','r','a','i'), /*16.0*/
747
+ HB_SCRIPT_OL_ONAL = HB_TAG ('O','n','a','o'), /*16.0*/
748
+ HB_SCRIPT_SUNUWAR = HB_TAG ('S','u','n','u'), /*16.0*/
749
+ HB_SCRIPT_TODHRI = HB_TAG ('T','o','d','r'), /*16.0*/
750
+ HB_SCRIPT_TULU_TIGALARI = HB_TAG ('T','u','t','g'), /*16.0*/
751
+
734
752
  /* No script set. */
735
753
  HB_SCRIPT_INVALID = HB_TAG_NONE,
736
754
 
@@ -135,6 +135,34 @@ hb_face_set_glyph_count (hb_face_t *face,
135
135
  HB_EXTERN unsigned int
136
136
  hb_face_get_glyph_count (const hb_face_t *face);
137
137
 
138
+
139
+ /**
140
+ * hb_get_table_tags_func_t:
141
+ * @face: A face object
142
+ * @start_offset: The index of first table tag to retrieve
143
+ * @table_count: (inout): Input = the maximum number of table tags to return;
144
+ * Output = the actual number of table tags returned (may be zero)
145
+ * @table_tags: (out) (array length=table_count): The array of table tags found
146
+ * @user_data: User data pointer passed by the caller
147
+ *
148
+ * Callback function for hb_face_get_table_tags().
149
+ *
150
+ * Return value: Total number of tables, or zero if it is not possible to list
151
+ *
152
+ * Since: 10.0.0
153
+ */
154
+ typedef unsigned int (*hb_get_table_tags_func_t) (const hb_face_t *face,
155
+ unsigned int start_offset,
156
+ unsigned int *table_count, /* IN/OUT */
157
+ hb_tag_t *table_tags /* OUT */,
158
+ void *user_data);
159
+
160
+ HB_EXTERN void
161
+ hb_face_set_get_table_tags_func (hb_face_t *face,
162
+ hb_get_table_tags_func_t func,
163
+ void *user_data,
164
+ hb_destroy_func_t destroy);
165
+
138
166
  HB_EXTERN unsigned int
139
167
  hb_face_get_table_tags (const hb_face_t *face,
140
168
  unsigned int start_offset,
@@ -41,7 +41,7 @@ HB_BEGIN_DECLS
41
41
  *
42
42
  * The major component of the library version available at compile-time.
43
43
  */
44
- #define HB_VERSION_MAJOR 9
44
+ #define HB_VERSION_MAJOR 10
45
45
  /**
46
46
  * HB_VERSION_MINOR:
47
47
  *
@@ -53,14 +53,14 @@ HB_BEGIN_DECLS
53
53
  *
54
54
  * The micro component of the library version available at compile-time.
55
55
  */
56
- #define HB_VERSION_MICRO 0
56
+ #define HB_VERSION_MICRO 1
57
57
 
58
58
  /**
59
59
  * HB_VERSION_STRING:
60
60
  *
61
61
  * A string literal containing the library version available at compile-time.
62
62
  */
63
- #define HB_VERSION_STRING "9.0.0"
63
+ #define HB_VERSION_STRING "10.0.1"
64
64
 
65
65
  /**
66
66
  * HB_VERSION_ATLEAST: