@img/sharp-libvips-dev 1.3.0-rc.2 → 1.3.0-rc.3

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 (82) hide show
  1. package/include/archive.h +2 -2
  2. package/include/archive_entry.h +1 -1
  3. package/include/expat.h +2 -2
  4. package/include/expat_config.h +3 -6
  5. package/include/expat_external.h +2 -3
  6. package/include/freetype2/freetype/config/ftoption.h +7 -1
  7. package/include/freetype2/freetype/config/mac-support.h +2 -0
  8. package/include/freetype2/freetype/freetype.h +8 -17
  9. package/include/freetype2/freetype/ftbdf.h +9 -3
  10. package/include/freetype2/freetype/ftimage.h +1 -1
  11. package/include/freetype2/freetype/ftlcdfil.h +2 -8
  12. package/include/freetype2/freetype/ftparams.h +2 -5
  13. package/include/freetype2/freetype/t1tables.h +2 -2
  14. package/include/glib-2.0/gio/gfileattribute.h +1 -1
  15. package/include/glib-2.0/gio/gfileinfo.h +5 -0
  16. package/include/glib-2.0/gio/gicon.h +1 -1
  17. package/include/glib-2.0/gio/gio-autocleanups.h +0 -1
  18. package/include/glib-2.0/gio/gio.h +2 -0
  19. package/include/glib-2.0/gio/gioenums.h +61 -40
  20. package/include/glib-2.0/gio/gioenumtypes.h +2 -0
  21. package/include/glib-2.0/gio/giptosmessage.h +46 -0
  22. package/include/glib-2.0/gio/gipv6tclassmessage.h +46 -0
  23. package/include/glib-2.0/gio/gresolver.h +1 -1
  24. package/include/glib-2.0/gio/gsettings.h +1 -1
  25. package/include/glib-2.0/gio/gsocketcontrolmessage.h +2 -0
  26. package/include/glib-2.0/girepository/girepository.h +1 -1
  27. package/include/glib-2.0/girepository/girffi.h +2 -2
  28. package/include/glib-2.0/girepository/gitypes.h +3 -3
  29. package/include/glib-2.0/glib/gatomic.h +26 -2
  30. package/include/glib-2.0/glib/gfileutils.h +2 -2
  31. package/include/glib-2.0/glib/ghook.h +3 -1
  32. package/include/glib-2.0/glib/giochannel.h +1 -1
  33. package/include/glib-2.0/glib/gkeyfile.h +1 -1
  34. package/include/glib-2.0/glib/gmacros.h +32 -0
  35. package/include/glib-2.0/glib/gmain.h +4 -0
  36. package/include/glib-2.0/glib/gmarkup.h +8 -1
  37. package/include/glib-2.0/glib/gmessages.h +1 -1
  38. package/include/glib-2.0/glib/gnode.h +1 -1
  39. package/include/glib-2.0/glib/goption.h +1 -1
  40. package/include/glib-2.0/glib/gslice.h +12 -4
  41. package/include/glib-2.0/glib/gspawn.h +1 -1
  42. package/include/glib-2.0/glib/gstrfuncs.h +1 -1
  43. package/include/glib-2.0/glib/gtestutils.h +6 -3
  44. package/include/glib-2.0/glib/gtimer.h +1 -0
  45. package/include/glib-2.0/glib/guri.h +3 -3
  46. package/include/glib-2.0/glib/gutils.h +1 -1
  47. package/include/glib-2.0/gmodule.h +1 -1
  48. package/include/glib-2.0/gobject/gbinding.h +1 -1
  49. package/include/glib-2.0/gobject/gobject.h +1 -1
  50. package/include/glib-2.0/gobject/gparam.h +1 -1
  51. package/include/glib-2.0/gobject/gsignal.h +3 -3
  52. package/include/glib-2.0/gobject/gtype.h +3 -3
  53. package/include/harfbuzz/hb-buffer.h +11 -3
  54. package/include/harfbuzz/hb-cplusplus.hh +31 -27
  55. package/include/harfbuzz/hb-features.h +21 -0
  56. package/include/harfbuzz/hb-ot-color.h +14 -0
  57. package/include/harfbuzz/hb-ot-shape.h +15 -0
  58. package/include/harfbuzz/hb-paint.h +19 -18
  59. package/include/harfbuzz/hb-version.h +3 -3
  60. package/include/lcms2.h +3 -3
  61. package/include/lcms2_plugin.h +1 -1
  62. package/include/libheif/heif_sequences.h +1 -1
  63. package/include/libheif/heif_version.h +2 -2
  64. package/include/libpng16/png.h +636 -487
  65. package/include/libpng16/pngconf.h +2 -2
  66. package/include/libpng16/pnglibconf.h +2 -2
  67. package/include/librsvg-2.0/librsvg/rsvg-version.h +3 -3
  68. package/include/librsvg-2.0/librsvg/rsvg.h +4 -4
  69. package/include/libxml2/libxml/catalog.h +2 -0
  70. package/include/libxml2/libxml/relaxng.h +4 -0
  71. package/include/libxml2/libxml/xmlversion.h +4 -4
  72. package/include/png.h +636 -487
  73. package/include/pngconf.h +2 -2
  74. package/include/pnglibconf.h +2 -2
  75. package/include/vips/colour.h +2 -2
  76. package/include/vips/memory.h +1 -1
  77. package/include/vips/version.h +4 -4
  78. package/include/zlib.h +3 -3
  79. package/package.json +1 -1
  80. package/versions.json +14 -14
  81. package/include/harfbuzz/hb-subset-serialize.h +0 -83
  82. package/include/harfbuzz/hb-subset.h +0 -297
@@ -779,6 +779,38 @@
779
779
  #define GLIB_CANNOT_IGNORE_DEPRECATIONS
780
780
  #endif
781
781
 
782
+ /**
783
+ * G_GNUC_FLAG_ENUM:
784
+ *
785
+ * Expands to the GNU C `flag_enum` attribute if the compiler is gcc or clang.
786
+ * This attribute indicates that an enumerated type is used in bitwise
787
+ * operations.
788
+ * It is sometimes used in static analysis.
789
+ *
790
+ * See the
791
+ * [GNU C documentation](https://gcc.gnu.org/onlinedocs/gcc/Common-Type-Attributes.html#index-flag_005fenum-type-attribute)
792
+ * for details.
793
+ *
794
+ * |[<!-- language="C" -->
795
+ * typedef enum {
796
+ * G_KEY_FILE_NONE = 0,
797
+ * G_KEY_FILE_KEEP_COMMENTS = 1 << 0,
798
+ * G_KEY_FILE_KEEP_TRANSLATIONS = 1 << 1
799
+ * } G_GNUC_FLAG_ENUM GKeyFileFlags;
800
+ * ]|
801
+ *
802
+ * (The attribute can also be placed after `enum` and before the opening brace,
803
+ * but that may cause it to be misinterpreted as the name of the enum if the
804
+ * macro is not defined.)
805
+ *
806
+ * Since: 2.88
807
+ */
808
+ #if g_macro__has_attribute(flag_enum)
809
+ #define G_GNUC_FLAG_ENUM __attribute__((flag_enum))
810
+ #else
811
+ #define G_GNUC_FLAG_ENUM
812
+ #endif
813
+
782
814
  /**
783
815
  * G_GNUC_MAY_ALIAS:
784
816
  *
@@ -28,6 +28,8 @@
28
28
  #include <glib/gslist.h>
29
29
  #include <glib/gthread.h>
30
30
 
31
+ #include <stdint.h>
32
+
31
33
  G_BEGIN_DECLS
32
34
 
33
35
  typedef enum /*< flags >*/
@@ -830,6 +832,8 @@ G_GNUC_END_IGNORE_DEPRECATIONS
830
832
 
831
833
  GLIB_AVAILABLE_IN_ALL
832
834
  gint64 g_get_monotonic_time (void);
835
+ GLIB_AVAILABLE_IN_2_88
836
+ uint64_t g_get_monotonic_time_ns (void);
833
837
  GLIB_AVAILABLE_IN_ALL
834
838
  gint64 g_get_real_time (void);
835
839
 
@@ -102,7 +102,7 @@ typedef enum
102
102
  G_MARKUP_TREAT_CDATA_AS_TEXT = 1 << 1,
103
103
  G_MARKUP_PREFIX_ERROR_POSITION = 1 << 2,
104
104
  G_MARKUP_IGNORE_QUALIFIED = 1 << 3
105
- } GMarkupParseFlags;
105
+ } G_GNUC_FLAG_ENUM GMarkupParseFlags;
106
106
 
107
107
  /**
108
108
  * GMarkupParseContext:
@@ -229,6 +229,13 @@ void g_markup_parse_context_get_position (GMarkupParseContext *c
229
229
  gint *char_number);
230
230
  GLIB_AVAILABLE_IN_2_88
231
231
  gsize g_markup_parse_context_get_offset (GMarkupParseContext *context);
232
+
233
+ GLIB_AVAILABLE_IN_2_88
234
+ void g_markup_parse_context_get_tag_start (GMarkupParseContext *context,
235
+ gsize *line_number,
236
+ gsize *char_number,
237
+ gsize *offset);
238
+
232
239
  GLIB_AVAILABLE_IN_ALL
233
240
  gpointer g_markup_parse_context_get_user_data (GMarkupParseContext *context);
234
241
 
@@ -67,7 +67,7 @@ typedef enum
67
67
  G_LOG_LEVEL_DEBUG = 1 << 7,
68
68
 
69
69
  G_LOG_LEVEL_MASK = ~(G_LOG_FLAG_RECURSION | G_LOG_FLAG_FATAL)
70
- } GLogLevelFlags;
70
+ } G_GNUC_FLAG_ENUM GLogLevelFlags;
71
71
 
72
72
  /* GLib log levels that are considered fatal by default */
73
73
  #define G_LOG_FATAL_MASK (G_LOG_FLAG_RECURSION | G_LOG_LEVEL_ERROR)
@@ -46,7 +46,7 @@ typedef enum
46
46
  G_TRAVERSE_MASK = 0x03,
47
47
  G_TRAVERSE_LEAFS = G_TRAVERSE_LEAVES,
48
48
  G_TRAVERSE_NON_LEAFS = G_TRAVERSE_NON_LEAVES
49
- } GTraverseFlags;
49
+ } G_GNUC_FLAG_ENUM GTraverseFlags;
50
50
 
51
51
  /* Tree traverse orders */
52
52
  typedef enum
@@ -111,7 +111,7 @@ typedef enum
111
111
  G_OPTION_FLAG_OPTIONAL_ARG = 1 << 5,
112
112
  G_OPTION_FLAG_NOALIAS = 1 << 6,
113
113
  G_OPTION_FLAG_DEPRECATED GLIB_AVAILABLE_ENUMERATOR_IN_2_84 = 1 << 7
114
- } GOptionFlags;
114
+ } G_GNUC_FLAG_ENUM GOptionFlags;
115
115
 
116
116
  /**
117
117
  * GOptionArg:
@@ -45,21 +45,29 @@ GLIB_AVAILABLE_IN_ALL
45
45
  void g_slice_free_chain_with_offset (gsize block_size,
46
46
  gpointer mem_chain,
47
47
  gsize next_offset);
48
- #define g_slice_new(type) ((type*) g_slice_alloc (sizeof (type)))
48
+
49
+ #ifndef __GI_SCANNER__
50
+ /* Private helper to give the allocation size for a struct — we want to
51
+ * guarantee non-empty allocations, so it returns a minimum of 1B. This is
52
+ * necessary because some compilers do allow empty (zero size) structs. */
53
+ #define g_slice_alloc_size(type) (sizeof (type) > 0 ? sizeof (type) : 1)
54
+ #endif
55
+
56
+ #define g_slice_new(type) ((type*) g_slice_alloc (g_slice_alloc_size (type)))
49
57
 
50
58
  /* Allow the compiler to inline memset(). Since the size is a constant, this
51
59
  * can significantly improve performance. */
52
60
  #if defined (__GNUC__) && (__GNUC__ >= 2) && defined (__OPTIMIZE__)
53
61
  # define g_slice_new0(type) \
54
62
  (type *) (G_GNUC_EXTENSION ({ \
55
- gsize __s = sizeof (type); \
63
+ gsize __s = g_slice_alloc_size (type); \
56
64
  gpointer __p; \
57
65
  __p = g_slice_alloc (__s); \
58
66
  memset (__p, 0, __s); \
59
67
  __p; \
60
68
  }))
61
69
  #else
62
- # define g_slice_new0(type) ((type*) g_slice_alloc0 (sizeof (type)))
70
+ # define g_slice_new0(type) ((type*) g_slice_alloc0 (g_slice_alloc_size (type)))
63
71
  #endif
64
72
 
65
73
  /* MemoryBlockType *
@@ -76,7 +84,7 @@ void g_slice_free_chain_with_offset (gsize block_size,
76
84
 
77
85
  /* we go through extra hoops to ensure type safety */
78
86
  #define g_slice_dup(type, mem) \
79
- (1 ? (type*) g_slice_copy (sizeof (type), (mem)) \
87
+ (1 ? (type*) g_slice_copy (g_slice_alloc_size (type), (mem)) \
80
88
  : ((void) ((type*) 0 == (mem)), (type*) 0))
81
89
  #define g_slice_free(type, mem) \
82
90
  G_STMT_START { \
@@ -214,7 +214,7 @@ typedef enum
214
214
  * Since: 2.74
215
215
  */
216
216
  G_SPAWN_STDIN_FROM_DEV_NULL = 1 << 11
217
- } GSpawnFlags;
217
+ } G_GNUC_FLAG_ENUM GSpawnFlags;
218
218
 
219
219
  GLIB_AVAILABLE_IN_ALL
220
220
  GQuark g_spawn_error_quark (void);
@@ -54,7 +54,7 @@ typedef enum {
54
54
  G_ASCII_SPACE = 1 << 8,
55
55
  G_ASCII_UPPER = 1 << 9,
56
56
  G_ASCII_XDIGIT = 1 << 10
57
- } GAsciiType;
57
+ } G_GNUC_FLAG_ENUM GAsciiType;
58
58
 
59
59
  GLIB_VAR const guint16 * const g_ascii_table;
60
60
 
@@ -526,7 +526,7 @@ typedef enum {
526
526
  G_TEST_TRAP_SILENCE_STDOUT = 1 << 7,
527
527
  G_TEST_TRAP_SILENCE_STDERR = 1 << 8,
528
528
  G_TEST_TRAP_INHERIT_STDIN = 1 << 9
529
- } GTestTrapFlags GLIB_DEPRECATED_TYPE_IN_2_38_FOR(GTestSubprocessFlags);
529
+ } G_GNUC_FLAG_ENUM GTestTrapFlags GLIB_DEPRECATED_TYPE_IN_2_38_FOR(GTestSubprocessFlags);
530
530
 
531
531
  G_GNUC_BEGIN_IGNORE_DEPRECATIONS
532
532
 
@@ -540,8 +540,9 @@ typedef enum {
540
540
  G_TEST_SUBPROCESS_DEFAULT GLIB_AVAILABLE_ENUMERATOR_IN_2_74 = 0,
541
541
  G_TEST_SUBPROCESS_INHERIT_STDIN = 1 << 0,
542
542
  G_TEST_SUBPROCESS_INHERIT_STDOUT = 1 << 1,
543
- G_TEST_SUBPROCESS_INHERIT_STDERR = 1 << 2
544
- } GTestSubprocessFlags;
543
+ G_TEST_SUBPROCESS_INHERIT_STDERR = 1 << 2,
544
+ G_TEST_SUBPROCESS_INHERIT_DESCRIPTORS GLIB_AVAILABLE_ENUMERATOR_IN_2_88 = 1 << 3,
545
+ } G_GNUC_FLAG_ENUM GTestSubprocessFlags;
545
546
 
546
547
  GLIB_AVAILABLE_IN_2_38
547
548
  void g_test_trap_subprocess (const char *test_path,
@@ -555,6 +556,8 @@ void g_test_trap_subprocess_with_envp (const char *test_path,
555
556
 
556
557
  GLIB_AVAILABLE_IN_ALL
557
558
  gboolean g_test_trap_has_passed (void);
559
+ GLIB_AVAILABLE_IN_2_88
560
+ gboolean g_test_trap_has_skipped (void);
558
561
  GLIB_AVAILABLE_IN_ALL
559
562
  gboolean g_test_trap_reached_timeout (void);
560
563
  #define g_test_trap_assert_passed() g_test_trap_assertions (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, 0, 0)
@@ -42,6 +42,7 @@ G_BEGIN_DECLS
42
42
  typedef struct _GTimer GTimer;
43
43
 
44
44
  #define G_USEC_PER_SEC 1000000
45
+ #define G_NSEC_PER_SEC G_GUINT64_CONSTANT(1000000000) GLIB_AVAILABLE_MACRO_IN_2_88
45
46
 
46
47
  GLIB_AVAILABLE_IN_ALL
47
48
  GTimer* g_timer_new (void);
@@ -90,7 +90,7 @@ typedef enum {
90
90
  G_URI_FLAGS_ENCODED_PATH = 1 << 6,
91
91
  G_URI_FLAGS_ENCODED_FRAGMENT = 1 << 7,
92
92
  G_URI_FLAGS_SCHEME_NORMALIZE GLIB_AVAILABLE_ENUMERATOR_IN_2_68 = 1 << 8,
93
- } GUriFlags;
93
+ } G_GNUC_FLAG_ENUM GUriFlags;
94
94
 
95
95
  GLIB_AVAILABLE_IN_2_66
96
96
  gboolean g_uri_split (const gchar *uri_ref,
@@ -211,7 +211,7 @@ typedef enum {
211
211
  G_URI_HIDE_AUTH_PARAMS = 1 << 2,
212
212
  G_URI_HIDE_QUERY = 1 << 3,
213
213
  G_URI_HIDE_FRAGMENT = 1 << 4,
214
- } GUriHideFlags;
214
+ } G_GNUC_FLAG_ENUM GUriHideFlags;
215
215
 
216
216
  GLIB_AVAILABLE_IN_2_66
217
217
  char * g_uri_to_string (GUri *uri);
@@ -261,7 +261,7 @@ typedef enum {
261
261
  G_URI_PARAMS_CASE_INSENSITIVE = 1 << 0,
262
262
  G_URI_PARAMS_WWW_FORM = 1 << 1,
263
263
  G_URI_PARAMS_PARSE_RELAXED = 1 << 2,
264
- } GUriParamsFlags;
264
+ } G_GNUC_FLAG_ENUM GUriParamsFlags;
265
265
 
266
266
  GLIB_AVAILABLE_IN_2_66
267
267
  GHashTable *g_uri_parse_params (const gchar *params,
@@ -299,7 +299,7 @@ typedef enum
299
299
  G_FORMAT_SIZE_BITS = 1 << 2,
300
300
  G_FORMAT_SIZE_ONLY_VALUE GLIB_AVAILABLE_ENUMERATOR_IN_2_74 = 1 << 3,
301
301
  G_FORMAT_SIZE_ONLY_UNIT GLIB_AVAILABLE_ENUMERATOR_IN_2_74 = 1 << 4
302
- } GFormatSizeFlags;
302
+ } G_GNUC_FLAG_ENUM GFormatSizeFlags;
303
303
 
304
304
  GLIB_AVAILABLE_IN_2_30
305
305
  gchar *g_format_size_full (guint64 size,
@@ -65,7 +65,7 @@ typedef enum
65
65
  G_MODULE_BIND_LAZY = 1 << 0,
66
66
  G_MODULE_BIND_LOCAL = 1 << 1,
67
67
  G_MODULE_BIND_MASK = 0x03
68
- } GModuleFlags;
68
+ } G_GNUC_FLAG_ENUM GModuleFlags;
69
69
 
70
70
  typedef struct _GModule GModule;
71
71
  typedef const gchar* (*GModuleCheckInit) (GModule *module);
@@ -94,7 +94,7 @@ typedef enum { /*< prefix=G_BINDING >*/
94
94
  G_BINDING_BIDIRECTIONAL = 1 << 0,
95
95
  G_BINDING_SYNC_CREATE = 1 << 1,
96
96
  G_BINDING_INVERT_BOOLEAN = 1 << 2
97
- } GBindingFlags;
97
+ } G_GNUC_FLAG_ENUM GBindingFlags;
98
98
 
99
99
  GOBJECT_AVAILABLE_IN_ALL
100
100
  GType g_binding_flags_get_type (void) G_GNUC_CONST;
@@ -356,7 +356,7 @@ struct _GObjectClass
356
356
  /*< private >*/
357
357
  gsize flags;
358
358
 
359
- gsize n_construct_properties;
359
+ gsize n_construct_properties; /* functionally this is limited to UINT_MAX */
360
360
 
361
361
  gpointer pspecs;
362
362
  gsize n_pspecs;
@@ -169,7 +169,7 @@ typedef enum
169
169
  G_PARAM_EXPLICIT_NOTIFY = 1 << 30,
170
170
  /* Avoid warning with -Wpedantic for gcc6 */
171
171
  G_PARAM_DEPRECATED = (gint)(1u << 31)
172
- } GParamFlags;
172
+ } G_GNUC_FLAG_ENUM GParamFlags;
173
173
 
174
174
  /**
175
175
  * G_PARAM_STATIC_STRINGS:
@@ -140,7 +140,7 @@ typedef enum
140
140
  G_SIGNAL_DEPRECATED = 1 << 8,
141
141
  /* normal signal flags until 1 << 16 */
142
142
  G_SIGNAL_ACCUMULATOR_FIRST_RUN = 1 << 17,
143
- } GSignalFlags;
143
+ } G_GNUC_FLAG_ENUM GSignalFlags;
144
144
 
145
145
  /**
146
146
  * G_SIGNAL_MUST_COLLECT:
@@ -197,7 +197,7 @@ typedef enum
197
197
  G_CONNECT_DEFAULT GOBJECT_AVAILABLE_ENUMERATOR_IN_2_74 = 0,
198
198
  G_CONNECT_AFTER = 1 << 0,
199
199
  G_CONNECT_SWAPPED = 1 << 1
200
- } GConnectFlags;
200
+ } G_GNUC_FLAG_ENUM GConnectFlags;
201
201
  /**
202
202
  * GSignalMatchType:
203
203
  * @G_SIGNAL_MATCH_ID: The signal id must be equal.
@@ -219,7 +219,7 @@ typedef enum
219
219
  G_SIGNAL_MATCH_FUNC = 1 << 3,
220
220
  G_SIGNAL_MATCH_DATA = 1 << 4,
221
221
  G_SIGNAL_MATCH_UNBLOCKED = 1 << 5
222
- } GSignalMatchType;
222
+ } G_GNUC_FLAG_ENUM GSignalMatchType;
223
223
  /**
224
224
  * G_SIGNAL_MATCH_MASK:
225
225
  *
@@ -728,7 +728,7 @@ typedef enum /*< skip >*/
728
728
  G_TYPE_DEBUG_SIGNALS = 1 << 1,
729
729
  G_TYPE_DEBUG_INSTANCE_COUNT = 1 << 2,
730
730
  G_TYPE_DEBUG_MASK = 0x07
731
- } GTypeDebugFlags GOBJECT_DEPRECATED_TYPE_IN_2_36;
731
+ } G_GNUC_FLAG_ENUM GTypeDebugFlags GOBJECT_DEPRECATED_TYPE_IN_2_36;
732
732
 
733
733
 
734
734
  /* --- prototypes --- */
@@ -1067,7 +1067,7 @@ typedef enum /*< skip >*/
1067
1067
  G_TYPE_FLAG_INSTANTIATABLE = (1 << 1),
1068
1068
  G_TYPE_FLAG_DERIVABLE = (1 << 2),
1069
1069
  G_TYPE_FLAG_DEEP_DERIVABLE = (1 << 3)
1070
- } GTypeFundamentalFlags;
1070
+ } G_GNUC_FLAG_ENUM GTypeFundamentalFlags;
1071
1071
  /**
1072
1072
  * GTypeFlags:
1073
1073
  * @G_TYPE_FLAG_NONE: No special flags. Since: 2.74
@@ -1091,7 +1091,7 @@ typedef enum /*< skip >*/
1091
1091
  G_TYPE_FLAG_VALUE_ABSTRACT = (1 << 5),
1092
1092
  G_TYPE_FLAG_FINAL GOBJECT_AVAILABLE_ENUMERATOR_IN_2_70 = (1 << 6),
1093
1093
  G_TYPE_FLAG_DEPRECATED GOBJECT_AVAILABLE_ENUMERATOR_IN_2_76 = (1 << 7)
1094
- } GTypeFlags;
1094
+ } G_GNUC_FLAG_ENUM GTypeFlags;
1095
1095
  /**
1096
1096
  * GTypeInfo:
1097
1097
  * @class_size: Size of the class structure (required for interface, classed and instantiatable types)
@@ -495,7 +495,7 @@ typedef enum {
495
495
  (1u << HB_BUFFER_CLUSTER_LEVEL_GRAPHEMES))))
496
496
 
497
497
  /**
498
- * HB_BUFFER_CLUSTER_LEVEL_IS_CHARACTERS
498
+ * HB_BUFFER_CLUSTER_LEVEL_IS_CHARACTERS:
499
499
  * @level: #hb_buffer_cluster_level_t to test
500
500
  *
501
501
  * Tests whether a cluster level does not group cluster values by graphemes.
@@ -505,7 +505,7 @@ typedef enum {
505
505
  */
506
506
  #define HB_BUFFER_CLUSTER_LEVEL_IS_CHARACTERS(level) \
507
507
  ((bool) ((1u << (unsigned) (level)) & \
508
- ((1u << HB_BUFFER_CLUSTER_LEVEL_MONOTONE_CHARCATERS) | \
508
+ ((1u << HB_BUFFER_CLUSTER_LEVEL_MONOTONE_CHARACTERS) | \
509
509
  (1u << HB_BUFFER_CLUSTER_LEVEL_CHARACTERS))))
510
510
 
511
511
  HB_EXTERN void
@@ -672,7 +672,12 @@ hb_buffer_normalize_glyphs (hb_buffer_t *buffer);
672
672
  * @HB_BUFFER_SERIALIZE_FLAG_GLYPH_EXTENTS: serialize glyph extents.
673
673
  * @HB_BUFFER_SERIALIZE_FLAG_GLYPH_FLAGS: serialize glyph flags. Since: 1.5.0
674
674
  * @HB_BUFFER_SERIALIZE_FLAG_NO_ADVANCES: do not serialize glyph advances,
675
- * glyph offsets will reflect absolute glyph positions. Since: 1.8.0
675
+ * glyph offsets will reflect absolute glyph positions. Since: 1.8.0.
676
+ * Note: when this flag is used with a partial range of the buffer (i.e.
677
+ * @start is not 0), calculating the absolute positions has a cost
678
+ * proportional to @start. If the buffer is serialized in many small
679
+ * chunks, this can lead to quadratic behavior. It is recommended to
680
+ * use a larger @buf_size to minimize this cost.
676
681
  * @HB_BUFFER_SERIALIZE_FLAG_DEFINED: All currently defined flags. Since: 4.4.0
677
682
  *
678
683
  * Flags that control what glyph information are serialized in hb_buffer_serialize_glyphs().
@@ -865,6 +870,9 @@ hb_buffer_set_message_func (hb_buffer_t *buffer,
865
870
  hb_buffer_message_func_t func,
866
871
  void *user_data, hb_destroy_func_t destroy);
867
872
 
873
+ HB_EXTERN void
874
+ hb_buffer_changed (hb_buffer_t *buffer);
875
+
868
876
 
869
877
  HB_END_DECLS
870
878
 
@@ -138,52 +138,56 @@ struct vtable_t
138
138
  static constexpr auto get_user_data = _get_user_data;
139
139
  };
140
140
 
141
- #define HB_DEFINE_VTABLE(name) \
141
+ #define HB_DEFINE_VTABLE(name, empty) \
142
142
  template<> \
143
143
  struct vtable<hb_##name##_t> \
144
144
  : vtable_t<hb_##name##_t, \
145
- &hb_##name##_get_empty, \
145
+ empty, \
146
146
  &hb_##name##_reference, \
147
147
  &hb_##name##_destroy, \
148
148
  &hb_##name##_set_user_data, \
149
149
  &hb_##name##_get_user_data> {}
150
150
 
151
- HB_DEFINE_VTABLE (buffer);
152
- HB_DEFINE_VTABLE (blob);
153
- HB_DEFINE_VTABLE (face);
154
- HB_DEFINE_VTABLE (font);
155
- HB_DEFINE_VTABLE (font_funcs);
156
- HB_DEFINE_VTABLE (map);
157
- HB_DEFINE_VTABLE (set);
158
- HB_DEFINE_VTABLE (shape_plan);
159
- HB_DEFINE_VTABLE (unicode_funcs);
160
- HB_DEFINE_VTABLE (draw_funcs);
161
- HB_DEFINE_VTABLE (paint_funcs);
162
-
163
- #undef HB_DEFINE_VTABLE
151
+ HB_DEFINE_VTABLE (buffer, &hb_buffer_get_empty);
152
+ HB_DEFINE_VTABLE (blob, &hb_blob_get_empty);
153
+ HB_DEFINE_VTABLE (face, &hb_face_get_empty);
154
+ HB_DEFINE_VTABLE (font, &hb_font_get_empty);
155
+ HB_DEFINE_VTABLE (font_funcs, &hb_font_funcs_get_empty);
156
+ HB_DEFINE_VTABLE (map, &hb_map_get_empty);
157
+ HB_DEFINE_VTABLE (set, &hb_set_get_empty);
158
+ HB_DEFINE_VTABLE (shape_plan, &hb_shape_plan_get_empty);
159
+ HB_DEFINE_VTABLE (unicode_funcs, &hb_unicode_funcs_get_empty);
160
+ HB_DEFINE_VTABLE (draw_funcs, &hb_draw_funcs_get_empty);
161
+ HB_DEFINE_VTABLE (paint_funcs, &hb_paint_funcs_get_empty);
164
162
 
165
163
 
166
164
  #ifdef HB_SUBSET_H
167
165
 
168
- #define HB_DEFINE_VTABLE(name) \
169
- template<> \
170
- struct vtable<hb_##name##_t> \
171
- : vtable_t<hb_##name##_t, \
172
- nullptr, \
173
- &hb_##name##_reference, \
174
- &hb_##name##_destroy, \
175
- &hb_##name##_set_user_data, \
176
- &hb_##name##_get_user_data> {}
166
+ HB_DEFINE_VTABLE (subset_input, nullptr);
167
+ HB_DEFINE_VTABLE (subset_plan, nullptr);
177
168
 
169
+ #endif
178
170
 
179
- HB_DEFINE_VTABLE (subset_input);
180
- HB_DEFINE_VTABLE (subset_plan);
181
171
 
182
- #undef HB_DEFINE_VTABLE
172
+ #ifdef HB_RASTER_H
173
+
174
+ HB_DEFINE_VTABLE (raster_image, nullptr);
175
+ HB_DEFINE_VTABLE (raster_draw, nullptr);
176
+ HB_DEFINE_VTABLE (raster_paint, nullptr);
183
177
 
184
178
  #endif
185
179
 
186
180
 
181
+ #ifdef HB_VECTOR_H
182
+
183
+ HB_DEFINE_VTABLE (vector_draw, nullptr);
184
+ HB_DEFINE_VTABLE (vector_paint, nullptr);
185
+
186
+ #endif
187
+
188
+ #undef HB_DEFINE_VTABLE
189
+
190
+
187
191
  } // namespace hb
188
192
 
189
193
  /* Workaround for GCC < 7, see:
@@ -99,6 +99,20 @@ HB_BEGIN_DECLS
99
99
  */
100
100
  #undef HB_HAS_ICU
101
101
 
102
+ /**
103
+ * HB_HAS_RASTER:
104
+ *
105
+ * Defined if Harfbuzz has been built with the raster library.
106
+ */
107
+ #undef HB_HAS_RASTER
108
+
109
+ /**
110
+ * HB_HAS_SUBSET:
111
+ *
112
+ * Defined if Harfbuzz has been built with the subset library.
113
+ */
114
+ #undef HB_HAS_SUBSET
115
+
102
116
  /**
103
117
  * HB_HAS_UNISCRIBE:
104
118
  *
@@ -106,6 +120,13 @@ HB_BEGIN_DECLS
106
120
  */
107
121
  #undef HB_HAS_UNISCRIBE
108
122
 
123
+ /**
124
+ * HB_HAS_VECTOR:
125
+ *
126
+ * Defined if Harfbuzz has been built with the vector library.
127
+ */
128
+ #undef HB_HAS_VECTOR
129
+
109
130
  /**
110
131
  * HB_HAS_WASM:
111
132
  *
@@ -136,6 +136,20 @@ hb_ot_color_glyph_has_paint (hb_face_t *face,
136
136
  HB_EXTERN hb_bool_t
137
137
  hb_ot_color_has_svg (hb_face_t *face);
138
138
 
139
+ HB_EXTERN unsigned int
140
+ hb_ot_color_get_svg_document_count (hb_face_t *face);
141
+
142
+ HB_EXTERN hb_bool_t
143
+ hb_ot_color_glyph_get_svg_document_index (hb_face_t *face,
144
+ hb_codepoint_t glyph,
145
+ unsigned int *svg_document_index /* OUT */);
146
+
147
+ HB_EXTERN hb_bool_t
148
+ hb_ot_color_get_svg_document_glyph_range (hb_face_t *face,
149
+ unsigned int svg_document_index,
150
+ hb_codepoint_t *start_glyph_id, /* OUT */
151
+ hb_codepoint_t *end_glyph_id /* OUT */);
152
+
139
153
  HB_EXTERN hb_blob_t *
140
154
  hb_ot_color_glyph_reference_svg (hb_face_t *face, hb_codepoint_t glyph);
141
155
 
@@ -54,6 +54,21 @@ hb_ot_shape_plan_get_feature_tags (hb_shape_plan_t *shape_plan,
54
54
  unsigned int *tag_count, /* IN/OUT */
55
55
  hb_tag_t *tags /* OUT */);
56
56
 
57
+ /**
58
+ * HB_OT_SHAPE_BUFFER_FORMAT_SERIAL:
59
+ *
60
+ * The serial number of the current internal buffer format.
61
+ *
62
+ * The serial number will increase when internal #hb_glyph_info_t and
63
+ * #hb_glyph_position_t members change their format.
64
+ *
65
+ * Since: 13.2.0
66
+ */
67
+ #define HB_OT_SHAPE_BUFFER_FORMAT_SERIAL 1
68
+
69
+ HB_EXTERN unsigned int
70
+ hb_ot_shape_get_buffer_format_serial (void);
71
+
57
72
  HB_END_DECLS
58
73
 
59
74
  #endif /* HB_OT_SHAPE_H */
@@ -684,23 +684,24 @@ typedef void (*hb_paint_pop_group_func_t) (hb_paint_funcs_t *funcs,
684
684
 
685
685
  /**
686
686
  * hb_paint_custom_palette_color_func_t:
687
- * @funcs: paint functions object
688
- * @paint_data: The data accompanying the paint functions in hb_font_paint_glyph()
689
- * @color_index: the color index
690
- * @color: (out): fetched color
691
- * @user_data: User data pointer passed to hb_paint_funcs_set_pop_group_func()
687
+ * @funcs: paint functions object.
688
+ * @paint_data: data accompanying the paint functions in hb_font_paint_glyph().
689
+ * @color_index: color index to fetch.
690
+ * @color: (out): fetched color.
691
+ * @user_data: user data pointer passed to hb_paint_funcs_set_custom_palette_color_func().
692
692
  *
693
- * A virtual method for the #hb_paint_funcs_t to fetch a color from the custom
694
- * color palette.
693
+ * A virtual method for #hb_paint_funcs_t to fetch a custom palette override
694
+ * color for @color_index.
695
695
  *
696
- * Custom palette colors override the colors from the fonts selected color
697
- * palette. It is not necessary to override all palette entries; for entries
698
- * that should be taken from the font palette, return `false`.
696
+ * Custom palette colors override colors from the font's selected color palette.
697
+ * It is not necessary to override all palette entries; return `false` for
698
+ * entries that should be taken from the font palette.
699
699
  *
700
- * This function might get called multiple times, but the custom palette is
701
- * expected to remain unchanged for duration of a hb_font_paint_glyph() call.
700
+ * This function might be called multiple times, but the custom palette is
701
+ * expected to remain unchanged for the duration of one
702
+ * hb_font_paint_glyph() call.
702
703
  *
703
- * Return value: `true` if found, `false` otherwise
704
+ * Return value: `true` if a custom color is provided, `false` otherwise.
704
705
  *
705
706
  * Since: 7.0.0
706
707
  */
@@ -934,12 +935,12 @@ hb_paint_funcs_set_pop_group_func (hb_paint_funcs_t *funcs,
934
935
 
935
936
  /**
936
937
  * hb_paint_funcs_set_custom_palette_color_func:
937
- * @funcs: A paint functions struct
938
- * @func: (closure user_data) (destroy destroy) (scope notified): The custom-palette-color callback
939
- * @user_data: Data to pass to @func
940
- * @destroy: (nullable): Function to call when @user_data is no longer needed
938
+ * @funcs: a paint functions struct.
939
+ * @func: (closure user_data) (destroy destroy) (scope notified): custom-palette-color callback.
940
+ * @user_data: data to pass to @func.
941
+ * @destroy: (nullable): function to call when @user_data is no longer needed.
941
942
  *
942
- * Sets the custom-palette-color callback on the paint functions struct.
943
+ * Sets the custom-palette-color callback on @funcs.
943
944
  *
944
945
  * Since: 7.0.0
945
946
  */
@@ -41,13 +41,13 @@ 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 12
44
+ #define HB_VERSION_MAJOR 13
45
45
  /**
46
46
  * HB_VERSION_MINOR:
47
47
  *
48
48
  * The minor component of the library version available at compile-time.
49
49
  */
50
- #define HB_VERSION_MINOR 3
50
+ #define HB_VERSION_MINOR 2
51
51
  /**
52
52
  * HB_VERSION_MICRO:
53
53
  *
@@ -60,7 +60,7 @@ HB_BEGIN_DECLS
60
60
  *
61
61
  * A string literal containing the library version available at compile-time.
62
62
  */
63
- #define HB_VERSION_STRING "12.3.0"
63
+ #define HB_VERSION_STRING "13.2.0"
64
64
 
65
65
  /**
66
66
  * HB_VERSION_ATLEAST:
package/include/lcms2.h CHANGED
@@ -1,7 +1,7 @@
1
1
  //---------------------------------------------------------------------------------
2
2
  //
3
3
  // Little Color Management System
4
- // Copyright (c) 1998-2025 Marti Maria Saguer
4
+ // Copyright (c) 1998-2026 Marti Maria Saguer
5
5
  //
6
6
  // Permission is hereby granted, free of charge, to any person obtaining
7
7
  // a copy of this software and associated documentation files (the "Software"),
@@ -23,7 +23,7 @@
23
23
  //
24
24
  //---------------------------------------------------------------------------------
25
25
  //
26
- // Version 2.17
26
+ // Version 2.18
27
27
  //
28
28
 
29
29
  #ifndef _lcms2_H
@@ -87,7 +87,7 @@ extern "C" {
87
87
  #endif
88
88
 
89
89
  // Version/release
90
- #define LCMS_VERSION 2170
90
+ #define LCMS_VERSION 2180
91
91
 
92
92
  // I will give the chance of redefining basic types for compilers that are not fully C99 compliant
93
93
  #ifndef CMS_BASIC_TYPES_ALREADY_DEFINED