@img/sharp-libvips-dev 1.0.3 → 1.0.6

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 (94) hide show
  1. package/include/aom/aom.h +1 -1
  2. package/include/aom/aom_codec.h +4 -4
  3. package/include/aom/aom_decoder.h +1 -1
  4. package/include/aom/aom_encoder.h +3 -1
  5. package/include/aom/aom_external_partition.h +1 -1
  6. package/include/aom/aom_frame_buffer.h +1 -1
  7. package/include/aom/aom_image.h +1 -1
  8. package/include/aom/aom_integer.h +1 -9
  9. package/include/aom/aomcx.h +47 -4
  10. package/include/aom/aomdx.h +1 -1
  11. package/include/archive.h +2 -2
  12. package/include/archive_entry.h +7 -1
  13. package/include/cairo/cairo-version.h +1 -1
  14. package/include/expat.h +1 -1
  15. package/include/expat_config.h +3 -6
  16. package/include/freetype2/freetype/config/ftconfig.h +1 -1
  17. package/include/freetype2/freetype/config/ftheader.h +1 -1
  18. package/include/freetype2/freetype/config/ftoption.h +17 -1
  19. package/include/freetype2/freetype/config/ftstdlib.h +1 -1
  20. package/include/freetype2/freetype/config/integer-types.h +1 -1
  21. package/include/freetype2/freetype/config/mac-support.h +1 -1
  22. package/include/freetype2/freetype/config/public-macros.h +1 -1
  23. package/include/freetype2/freetype/freetype.h +35 -83
  24. package/include/freetype2/freetype/ftadvanc.h +1 -1
  25. package/include/freetype2/freetype/ftbbox.h +1 -1
  26. package/include/freetype2/freetype/ftbdf.h +1 -1
  27. package/include/freetype2/freetype/ftbitmap.h +1 -1
  28. package/include/freetype2/freetype/ftbzip2.h +1 -1
  29. package/include/freetype2/freetype/ftcache.h +1 -1
  30. package/include/freetype2/freetype/ftcid.h +1 -1
  31. package/include/freetype2/freetype/ftcolor.h +1 -1
  32. package/include/freetype2/freetype/ftdriver.h +75 -1
  33. package/include/freetype2/freetype/fterrdef.h +1 -1
  34. package/include/freetype2/freetype/fterrors.h +1 -1
  35. package/include/freetype2/freetype/ftfntfmt.h +1 -1
  36. package/include/freetype2/freetype/ftgasp.h +1 -1
  37. package/include/freetype2/freetype/ftglyph.h +1 -1
  38. package/include/freetype2/freetype/ftgxval.h +1 -1
  39. package/include/freetype2/freetype/ftgzip.h +1 -1
  40. package/include/freetype2/freetype/ftimage.h +17 -12
  41. package/include/freetype2/freetype/ftincrem.h +1 -1
  42. package/include/freetype2/freetype/ftlcdfil.h +1 -1
  43. package/include/freetype2/freetype/ftlist.h +1 -1
  44. package/include/freetype2/freetype/ftlzw.h +1 -1
  45. package/include/freetype2/freetype/ftmac.h +1 -1
  46. package/include/freetype2/freetype/ftmm.h +31 -2
  47. package/include/freetype2/freetype/ftmodapi.h +1 -1
  48. package/include/freetype2/freetype/ftmoderr.h +1 -1
  49. package/include/freetype2/freetype/ftotval.h +1 -1
  50. package/include/freetype2/freetype/ftoutln.h +2 -2
  51. package/include/freetype2/freetype/ftparams.h +1 -1
  52. package/include/freetype2/freetype/ftpfr.h +1 -1
  53. package/include/freetype2/freetype/ftrender.h +1 -1
  54. package/include/freetype2/freetype/ftsizes.h +1 -1
  55. package/include/freetype2/freetype/ftsnames.h +1 -1
  56. package/include/freetype2/freetype/ftstroke.h +1 -1
  57. package/include/freetype2/freetype/ftsynth.h +1 -1
  58. package/include/freetype2/freetype/ftsystem.h +1 -1
  59. package/include/freetype2/freetype/fttrigon.h +1 -1
  60. package/include/freetype2/freetype/fttypes.h +1 -1
  61. package/include/freetype2/freetype/ftwinfnt.h +1 -1
  62. package/include/freetype2/freetype/otsvg.h +1 -1
  63. package/include/freetype2/freetype/t1tables.h +1 -59
  64. package/include/freetype2/freetype/ttnameid.h +1 -1
  65. package/include/freetype2/freetype/tttables.h +4 -3
  66. package/include/freetype2/freetype/tttags.h +1 -1
  67. package/include/freetype2/ft2build.h +1 -1
  68. package/include/fribidi/fribidi-config.h +2 -2
  69. package/include/fribidi/fribidi-unicode-version.h +3 -3
  70. package/include/gio-unix-2.0/gio/gunixmounts.h +11 -2
  71. package/include/glib-2.0/gio/gioenums.h +2 -2
  72. package/include/glib-2.0/glib/gmain.h +52 -47
  73. package/include/glib-2.0/glib/gstring.h +4 -0
  74. package/include/glib-2.0/gobject/gobjectnotifyqueue.c +2 -2
  75. package/include/harfbuzz/hb-buffer.h +7 -0
  76. package/include/harfbuzz/hb-common.h +18 -0
  77. package/include/harfbuzz/hb-face.h +28 -0
  78. package/include/harfbuzz/hb-version.h +3 -3
  79. package/include/libpng16/png.h +13 -13
  80. package/include/libpng16/pngconf.h +4 -4
  81. package/include/libpng16/pnglibconf.h +1 -1
  82. package/include/librsvg-2.0/librsvg/rsvg-version.h +3 -3
  83. package/include/librsvg-2.0/librsvg/rsvg.h +2 -0
  84. package/include/libxml2/libxml/xmlexports.h +2 -2
  85. package/include/libxml2/libxml/xmlversion.h +4 -4
  86. package/include/png.h +13 -13
  87. package/include/pngconf.h +4 -4
  88. package/include/pnglibconf.h +1 -1
  89. package/include/tiffio.h +11 -11
  90. package/include/tiffvers.h +4 -4
  91. package/include/vips/version.h +4 -4
  92. package/include/zlib.h +3 -3
  93. package/package.json +1 -1
  94. package/versions.json +14 -14
package/include/aom/aom.h CHANGED
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright (c) 2016, Alliance for Open Media. All rights reserved
2
+ * Copyright (c) 2016, Alliance for Open Media. All rights reserved.
3
3
  *
4
4
  * This source code is subject to the terms of the BSD 2 Clause License and
5
5
  * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright (c) 2016, Alliance for Open Media. All rights reserved
2
+ * Copyright (c) 2016, Alliance for Open Media. All rights reserved.
3
3
  *
4
4
  * This source code is subject to the terms of the BSD 2 Clause License and
5
5
  * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
@@ -102,7 +102,7 @@ extern "C" {
102
102
 
103
103
  /*!\brief Decorator indicating a function is deprecated */
104
104
  #ifndef AOM_DEPRECATED
105
- #if defined(__GNUC__) && __GNUC__
105
+ #if defined(__GNUC__)
106
106
  #define AOM_DEPRECATED __attribute__((deprecated))
107
107
  #elif defined(_MSC_VER)
108
108
  #define AOM_DEPRECATED
@@ -112,7 +112,7 @@ extern "C" {
112
112
  #endif /* AOM_DEPRECATED */
113
113
 
114
114
  #ifndef AOM_DECLSPEC_DEPRECATED
115
- #if defined(__GNUC__) && __GNUC__
115
+ #if defined(__GNUC__)
116
116
  #define AOM_DECLSPEC_DEPRECATED /**< \copydoc #AOM_DEPRECATED */
117
117
  #elif defined(_MSC_VER)
118
118
  /*!\brief \copydoc #AOM_DEPRECATED */
@@ -132,7 +132,7 @@ extern "C" {
132
132
 
133
133
  /*!\brief Decorator indicating that given struct/union/enum is packed */
134
134
  #ifndef ATTRIBUTE_PACKED
135
- #if defined(__GNUC__) && __GNUC__
135
+ #if defined(__GNUC__)
136
136
  #define ATTRIBUTE_PACKED __attribute__((packed))
137
137
  #elif defined(_MSC_VER)
138
138
  #define ATTRIBUTE_PACKED
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright (c) 2016, Alliance for Open Media. All rights reserved
2
+ * Copyright (c) 2016, Alliance for Open Media. All rights reserved.
3
3
  *
4
4
  * This source code is subject to the terms of the BSD 2 Clause License and
5
5
  * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright (c) 2016, Alliance for Open Media. All rights reserved
2
+ * Copyright (c) 2016, Alliance for Open Media. All rights reserved.
3
3
  *
4
4
  * This source code is subject to the terms of the BSD 2 Clause License and
5
5
  * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
@@ -802,6 +802,8 @@ typedef struct aom_codec_enc_cfg {
802
802
  * S-Frame.
803
803
  *
804
804
  * Otherwise: the considered frame will be made into an S-Frame.
805
+ *
806
+ * \attention Not implemented.
805
807
  */
806
808
  unsigned int sframe_mode;
807
809
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright (c) 2021, Alliance for Open Media. All rights reserved
2
+ * Copyright (c) 2021, Alliance for Open Media. All rights reserved.
3
3
  *
4
4
  * This source code is subject to the terms of the BSD 2 Clause License and
5
5
  * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright (c) 2016, Alliance for Open Media. All rights reserved
2
+ * Copyright (c) 2016, Alliance for Open Media. All rights reserved.
3
3
  *
4
4
  * This source code is subject to the terms of the BSD 2 Clause License and
5
5
  * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright (c) 2016, Alliance for Open Media. All rights reserved
2
+ * Copyright (c) 2016, Alliance for Open Media. All rights reserved.
3
3
  *
4
4
  * This source code is subject to the terms of the BSD 2 Clause License and
5
5
  * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright (c) 2016, Alliance for Open Media. All rights reserved
2
+ * Copyright (c) 2016, Alliance for Open Media. All rights reserved.
3
3
  *
4
4
  * This source code is subject to the terms of the BSD 2 Clause License and
5
5
  * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
@@ -14,14 +14,6 @@
14
14
  /* get ptrdiff_t, size_t, wchar_t, NULL */
15
15
  #include <stddef.h> // IWYU pragma: export
16
16
 
17
- #if defined(_MSC_VER)
18
- #define AOM_FORCE_INLINE __forceinline
19
- #define AOM_INLINE __inline
20
- #else
21
- #define AOM_FORCE_INLINE __inline__ __attribute__((always_inline))
22
- #define AOM_INLINE inline
23
- #endif
24
-
25
17
  /* Assume platforms have the C99 standard integer types. */
26
18
 
27
19
  #if defined(__cplusplus)
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright (c) 2016, Alliance for Open Media. All rights reserved
2
+ * Copyright (c) 2016, Alliance for Open Media. All rights reserved.
3
3
  *
4
4
  * This source code is subject to the terms of the BSD 2 Clause License and
5
5
  * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
@@ -1527,9 +1527,10 @@ enum aome_enc_control_id {
1527
1527
  */
1528
1528
  AV1E_SET_BITRATE_ONE_PASS_CBR = 163,
1529
1529
 
1530
- /*!\brief Codec control to set the maximum number of consecutive frame drops
1531
- * allowed for the frame dropper in 1 pass CBR mode, int parameter. Value of
1532
- * zero has no effect.
1530
+ /*!\brief Codec control to set the maximum number of consecutive frame drops,
1531
+ * in units of frames, allowed for the frame dropper in 1 pass
1532
+ * CBR mode, int parameter. Value of zero has no effect.
1533
+ * \deprecated Use the new control AV1E_SET_MAX_CONSEC_FRAME_DROP_MS_CBR.
1533
1534
  */
1534
1535
  AV1E_SET_MAX_CONSEC_FRAME_DROP_CBR = 164,
1535
1536
 
@@ -1539,6 +1540,36 @@ enum aome_enc_control_id {
1539
1540
  */
1540
1541
  AV1E_SET_SVC_FRAME_DROP_MODE = 165,
1541
1542
 
1543
+ /*!\brief Codec control to set auto tiling, unsigned int parameter.
1544
+ * Value of 1 means encoder will set number of tile_columns and tile_rows,
1545
+ * based on the number of threads and resolution. This will override any
1546
+ * settings set via SET_TILE_COLUMNS/ROWS. If the value is 0 no change is
1547
+ * done, the previous setting (if any) for tile_columns/rows is preserved.
1548
+ */
1549
+ AV1E_SET_AUTO_TILES = 166,
1550
+
1551
+ /*!\brief Codec control to get the high motion content flag, used for
1552
+ * screen content realtime (RTC) encoding, int * parameter.
1553
+ * Returns an integer.
1554
+ * 1 means high motion content flag is set to 1, 0 means set to 0.
1555
+ */
1556
+ AV1E_GET_HIGH_MOTION_CONTENT_SCREEN_RTC = 167,
1557
+
1558
+ /*!\brief Codec control to enable post encode frame drop for RTC encoding,
1559
+ * int parameter.
1560
+ *
1561
+ * Value of 1 means encoder will enable post encode drop. Default is 0 (not
1562
+ * enabled). Post encode drop is only allowed when frame dropping is enabled
1563
+ * (aom_codec_enc_cfg::rc_dropframe_thresh > 0).
1564
+ */
1565
+ AV1E_SET_POSTENCODE_DROP_RTC = 168,
1566
+
1567
+ /*!\brief Codec control to set the maximum number of consecutive frame drops,
1568
+ * in units of time (milliseconds), allowed for the frame dropper in 1 pass
1569
+ * CBR mode, int parameter. Value of zero has no effect.
1570
+ */
1571
+ AV1E_SET_MAX_CONSEC_FRAME_DROP_MS_CBR = 169,
1572
+
1542
1573
  // Any new encoder control IDs should be added above.
1543
1574
  // Maximum allowed encoder control ID is 229.
1544
1575
  // No encoder control ID should be added below.
@@ -2196,6 +2227,18 @@ AOM_CTRL_USE_TYPE(AV1E_SET_SVC_FRAME_DROP_MODE, unsigned int)
2196
2227
  AOM_CTRL_USE_TYPE(AV1E_SET_MAX_CONSEC_FRAME_DROP_CBR, int)
2197
2228
  #define AOM_CTRL_AV1E_SET_MAX_CONSEC_FRAME_DROP_CBR
2198
2229
 
2230
+ AOM_CTRL_USE_TYPE(AV1E_SET_AUTO_TILES, unsigned int)
2231
+ #define AOM_CTRL_AV1E_SET_AUTO_TILES
2232
+
2233
+ AOM_CTRL_USE_TYPE(AV1E_GET_HIGH_MOTION_CONTENT_SCREEN_RTC, int *)
2234
+ #define AOM_CTRL_AV1E_GET_HIGH_MOTION_CONTENT_SCREEN_RTC
2235
+
2236
+ AOM_CTRL_USE_TYPE(AV1E_SET_POSTENCODE_DROP_RTC, int)
2237
+ #define AOM_CTRL_AV1E_SET_POSTENCODE_DROP_RTC
2238
+
2239
+ AOM_CTRL_USE_TYPE(AV1E_SET_MAX_CONSEC_FRAME_DROP_MS_CBR, int)
2240
+ #define AOM_CTRL_AV1E_SET_MAX_CONSEC_FRAME_DROP_MS_CBR
2241
+
2199
2242
  /*!\endcond */
2200
2243
  /*! @} - end defgroup aom_encoder */
2201
2244
  #ifdef __cplusplus
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright (c) 2016, Alliance for Open Media. All rights reserved
2
+ * Copyright (c) 2016, Alliance for Open Media. All rights reserved.
3
3
  *
4
4
  * This source code is subject to the terms of the BSD 2 Clause License and
5
5
  * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
package/include/archive.h CHANGED
@@ -34,7 +34,7 @@
34
34
  * assert that ARCHIVE_VERSION_NUMBER >= 2012108.
35
35
  */
36
36
  /* Note: Compiler will complain if this does not match archive_entry.h! */
37
- #define ARCHIVE_VERSION_NUMBER 3007004
37
+ #define ARCHIVE_VERSION_NUMBER 3007006
38
38
 
39
39
  #include <sys/stat.h>
40
40
  #include <stddef.h> /* for wchar_t */
@@ -155,7 +155,7 @@ __LA_DECL int archive_version_number(void);
155
155
  /*
156
156
  * Textual name/version of the library, useful for version displays.
157
157
  */
158
- #define ARCHIVE_VERSION_ONLY_STRING "3.7.4"
158
+ #define ARCHIVE_VERSION_ONLY_STRING "3.7.6"
159
159
  #define ARCHIVE_VERSION_STRING "libarchive " ARCHIVE_VERSION_ONLY_STRING
160
160
  __LA_DECL const char * archive_version_string(void);
161
161
 
@@ -28,7 +28,7 @@
28
28
  #define ARCHIVE_ENTRY_H_INCLUDED
29
29
 
30
30
  /* Note: Compiler will complain if this does not match archive.h! */
31
- #define ARCHIVE_VERSION_NUMBER 3007004
31
+ #define ARCHIVE_VERSION_NUMBER 3007006
32
32
 
33
33
  /*
34
34
  * Note: archive_entry.h is for use outside of libarchive; the
@@ -259,9 +259,11 @@ __LA_DECL int archive_entry_gid_is_set(struct archive_entry *);
259
259
  __LA_DECL const char *archive_entry_gname(struct archive_entry *);
260
260
  __LA_DECL const char *archive_entry_gname_utf8(struct archive_entry *);
261
261
  __LA_DECL const wchar_t *archive_entry_gname_w(struct archive_entry *);
262
+ __LA_DECL void archive_entry_set_link_to_hardlink(struct archive_entry *);
262
263
  __LA_DECL const char *archive_entry_hardlink(struct archive_entry *);
263
264
  __LA_DECL const char *archive_entry_hardlink_utf8(struct archive_entry *);
264
265
  __LA_DECL const wchar_t *archive_entry_hardlink_w(struct archive_entry *);
266
+ __LA_DECL int archive_entry_hardlink_is_set(struct archive_entry *);
265
267
  __LA_DECL la_int64_t archive_entry_ino(struct archive_entry *);
266
268
  __LA_DECL la_int64_t archive_entry_ino64(struct archive_entry *);
267
269
  __LA_DECL int archive_entry_ino_is_set(struct archive_entry *);
@@ -275,6 +277,7 @@ __LA_DECL const char *archive_entry_pathname_utf8(struct archive_entry *);
275
277
  __LA_DECL const wchar_t *archive_entry_pathname_w(struct archive_entry *);
276
278
  __LA_DECL __LA_MODE_T archive_entry_perm(struct archive_entry *);
277
279
  __LA_DECL int archive_entry_perm_is_set(struct archive_entry *);
280
+ __LA_DECL int archive_entry_rdev_is_set(struct archive_entry *);
278
281
  __LA_DECL dev_t archive_entry_rdev(struct archive_entry *);
279
282
  __LA_DECL dev_t archive_entry_rdevmajor(struct archive_entry *);
280
283
  __LA_DECL dev_t archive_entry_rdevminor(struct archive_entry *);
@@ -283,6 +286,7 @@ __LA_DECL const wchar_t *archive_entry_sourcepath_w(struct archive_entry *);
283
286
  __LA_DECL la_int64_t archive_entry_size(struct archive_entry *);
284
287
  __LA_DECL int archive_entry_size_is_set(struct archive_entry *);
285
288
  __LA_DECL const char *archive_entry_strmode(struct archive_entry *);
289
+ __LA_DECL void archive_entry_set_link_to_symlink(struct archive_entry *);
286
290
  __LA_DECL const char *archive_entry_symlink(struct archive_entry *);
287
291
  __LA_DECL const char *archive_entry_symlink_utf8(struct archive_entry *);
288
292
  __LA_DECL int archive_entry_symlink_type(struct archive_entry *);
@@ -324,6 +328,8 @@ __LA_DECL void archive_entry_set_fflags(struct archive_entry *,
324
328
  /* Note that all recognized tokens are processed, regardless. */
325
329
  __LA_DECL const char *archive_entry_copy_fflags_text(struct archive_entry *,
326
330
  const char *);
331
+ __LA_DECL const char *archive_entry_copy_fflags_text_len(struct archive_entry *,
332
+ const char *, size_t);
327
333
  __LA_DECL const wchar_t *archive_entry_copy_fflags_text_w(struct archive_entry *,
328
334
  const wchar_t *);
329
335
  __LA_DECL void archive_entry_set_gid(struct archive_entry *, la_int64_t);
@@ -3,6 +3,6 @@
3
3
 
4
4
  #define CAIRO_VERSION_MAJOR 1
5
5
  #define CAIRO_VERSION_MINOR 18
6
- #define CAIRO_VERSION_MICRO 0
6
+ #define CAIRO_VERSION_MICRO 2
7
7
 
8
8
  #endif
package/include/expat.h CHANGED
@@ -1066,7 +1066,7 @@ XML_SetReparseDeferralEnabled(XML_Parser parser, XML_Bool enabled);
1066
1066
  */
1067
1067
  #define XML_MAJOR_VERSION 2
1068
1068
  #define XML_MINOR_VERSION 6
1069
- #define XML_MICRO_VERSION 2
1069
+ #define XML_MICRO_VERSION 3
1070
1070
 
1071
1071
  #ifdef __cplusplus
1072
1072
  }
@@ -83,7 +83,7 @@
83
83
  #define PACKAGE_NAME "expat"
84
84
 
85
85
  /* Define to the full name and version of this package. */
86
- #define PACKAGE_STRING "expat 2.6.2"
86
+ #define PACKAGE_STRING "expat 2.6.3"
87
87
 
88
88
  /* Define to the one symbol short name of this package. */
89
89
  #define PACKAGE_TARNAME "expat"
@@ -92,7 +92,7 @@
92
92
  #define PACKAGE_URL ""
93
93
 
94
94
  /* Define to the version of this package. */
95
- #define PACKAGE_VERSION "2.6.2"
95
+ #define PACKAGE_VERSION "2.6.3"
96
96
 
97
97
  /* Define to 1 if all of the C90 standard headers exist (not just the ones
98
98
  required in a freestanding environment). This macro is provided for
@@ -100,7 +100,7 @@
100
100
  #define STDC_HEADERS 1
101
101
 
102
102
  /* Version number of package */
103
- #define VERSION "2.6.2"
103
+ #define VERSION "2.6.3"
104
104
 
105
105
  /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
106
106
  significant byte first (like Motorola and SPARC, unlike Intel). */
@@ -140,7 +140,4 @@
140
140
  /* Define to `long int' if <sys/types.h> does not define. */
141
141
  /* #undef off_t */
142
142
 
143
- /* Define to `unsigned int' if <sys/types.h> does not define. */
144
- /* #undef size_t */
145
-
146
143
  #endif // ndef EXPAT_CONFIG_H
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * ANSI-specific configuration file (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
  * Build macros of the FreeType 2 library.
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
  * User-selectable configuration macros (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,
@@ -757,6 +757,22 @@ FT_BEGIN_HEADER
757
757
  #endif
758
758
 
759
759
 
760
+ /**************************************************************************
761
+ *
762
+ * Option `TT_CONFIG_OPTION_GPOS_KERNING` enables a basic GPOS kerning
763
+ * implementation (for TrueType fonts only). With this defined, FreeType
764
+ * is able to get kerning pair data from the GPOS 'kern' feature as well as
765
+ * legacy 'kern' tables; without this defined, FreeType will only be able
766
+ * to use legacy 'kern' tables.
767
+ *
768
+ * Note that FreeType does not support more advanced GPOS layout features;
769
+ * even the 'kern' feature implemented here doesn't handle more
770
+ * sophisticated kerning variants. Use a higher-level library like
771
+ * HarfBuzz instead for that.
772
+ */
773
+ /* #define TT_CONFIG_OPTION_GPOS_KERNING */
774
+
775
+
760
776
  /*************************************************************************/
761
777
  /*************************************************************************/
762
778
  /**** ****/
@@ -5,7 +5,7 @@
5
5
  * ANSI-specific library and header configuration file (specification
6
6
  * only).
7
7
  *
8
- * Copyright (C) 2002-2023 by
8
+ * Copyright (C) 2002-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 integer types definitions.
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
  * Mac/OS X support configuration header.
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
  * Define a set of compiler macros used in public FreeType headers.
6
6
  *
7
- * Copyright (C) 2020-2023 by
7
+ * Copyright (C) 2020-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 high-level API and common types (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,
@@ -1322,9 +1322,13 @@ FT_BEGIN_HEADER
1322
1322
  * FT_FACE_FLAG_KERNING ::
1323
1323
  * The face contains kerning information. If set, the kerning distance
1324
1324
  * can be retrieved using the function @FT_Get_Kerning. Otherwise the
1325
- * function always returns the vector (0,0). Note that FreeType
1326
- * doesn't handle kerning data from the SFNT 'GPOS' table (as present
1327
- * in many OpenType fonts).
1325
+ * function always returns the vector (0,0).
1326
+ *
1327
+ * Note that for TrueType fonts only, FreeType supports both the 'kern'
1328
+ * table and the basic, pair-wise kerning feature from the 'GPOS' table
1329
+ * (with `TT_CONFIG_OPTION_GPOS_KERNING` enabled), though FreeType does
1330
+ * not support the more advanced GPOS layout features; use a library
1331
+ * like HarfBuzz for those instead.
1328
1332
  *
1329
1333
  * FT_FACE_FLAG_FAST_GLYPHS ::
1330
1334
  * THIS FLAG IS DEPRECATED. DO NOT USE OR TEST IT.
@@ -3767,87 +3771,18 @@ FT_BEGIN_HEADER
3767
3771
  * pixels and use the @FT_PIXEL_MODE_LCD_V mode.
3768
3772
  *
3769
3773
  * FT_RENDER_MODE_SDF ::
3770
- * This mode corresponds to 8-bit, single-channel signed distance field
3771
- * (SDF) bitmaps. Each pixel in the SDF grid is the value from the
3772
- * pixel's position to the nearest glyph's outline. The distances are
3773
- * calculated from the center of the pixel and are positive if they are
3774
- * filled by the outline (i.e., inside the outline) and negative
3775
- * otherwise. Check the note below on how to convert the output values
3776
- * to usable data.
3774
+ * The positive (unsigned) 8-bit bitmap values can be converted to the
3775
+ * single-channel signed distance field (SDF) by subtracting 128, with
3776
+ * the positive and negative results corresponding to the inside and
3777
+ * the outside of a glyph contour, respectively. The distance units are
3778
+ * arbitrarily determined by an adjustable @spread property.
3777
3779
  *
3778
3780
  * @note:
3779
- * The selected render mode only affects vector glyphs of a font.
3781
+ * The selected render mode only affects scalable vector glyphs of a font.
3780
3782
  * Embedded bitmaps often have a different pixel mode like
3781
3783
  * @FT_PIXEL_MODE_MONO. You can use @FT_Bitmap_Convert to transform them
3782
3784
  * into 8-bit pixmaps.
3783
3785
  *
3784
- * For @FT_RENDER_MODE_SDF the output bitmap buffer contains normalized
3785
- * distances that are packed into unsigned 8-bit values. To get pixel
3786
- * values in floating point representation use the following pseudo-C
3787
- * code for the conversion.
3788
- *
3789
- * ```
3790
- * // Load glyph and render using FT_RENDER_MODE_SDF,
3791
- * // then use the output buffer as follows.
3792
- *
3793
- * ...
3794
- * FT_Byte buffer = glyph->bitmap->buffer;
3795
- *
3796
- *
3797
- * for pixel in buffer
3798
- * {
3799
- * // `sd` is the signed distance and `spread` is the current spread;
3800
- * // the default spread is 2 and can be changed.
3801
- *
3802
- * float sd = (float)pixel - 128.0f;
3803
- *
3804
- *
3805
- * // Convert to pixel values.
3806
- * sd = ( sd / 128.0f ) * spread;
3807
- *
3808
- * // Store `sd` in a buffer or use as required.
3809
- * }
3810
- *
3811
- * ```
3812
- *
3813
- * FreeType has two rasterizers for generating SDF, namely:
3814
- *
3815
- * 1. `sdf` for generating SDF directly from glyph's outline, and
3816
- *
3817
- * 2. `bsdf` for generating SDF from rasterized bitmaps.
3818
- *
3819
- * Depending on the glyph type (i.e., outline or bitmap), one of the two
3820
- * rasterizers is chosen at runtime and used for generating SDFs. To
3821
- * force the use of `bsdf` you should render the glyph with any of the
3822
- * FreeType's other rendering modes (e.g., `FT_RENDER_MODE_NORMAL`) and
3823
- * then re-render with `FT_RENDER_MODE_SDF`.
3824
- *
3825
- * There are some issues with stability and possible failures of the SDF
3826
- * renderers (specifically `sdf`).
3827
- *
3828
- * 1. The `sdf` rasterizer is sensitive to really small features (e.g.,
3829
- * sharp turns that are less than 1~pixel) and imperfections in the
3830
- * glyph's outline, causing artifacts in the final output.
3831
- *
3832
- * 2. The `sdf` rasterizer has limited support for handling intersecting
3833
- * contours and *cannot* handle self-intersecting contours whatsoever.
3834
- * Self-intersection happens when a single connected contour
3835
- * intersects itself at some point; having these in your font
3836
- * definitely poses a problem to the rasterizer and cause artifacts,
3837
- * too.
3838
- *
3839
- * 3. Generating SDF for really small glyphs may result in undesirable
3840
- * output; the pixel grid (which stores distance information) becomes
3841
- * too coarse.
3842
- *
3843
- * 4. Since the output buffer is normalized, precision at smaller spreads
3844
- * is greater than precision at larger spread values because the
3845
- * output range of [0..255] gets mapped to a smaller SDF range. A
3846
- * spread of~2 should be sufficient in most cases.
3847
- *
3848
- * Points (1) and (2) can be avoided by using the `bsdf` rasterizer,
3849
- * which is more stable than the `sdf` rasterizer in general.
3850
- *
3851
3786
  */
3852
3787
  typedef enum FT_Render_Mode_
3853
3788
  {
@@ -4058,9 +3993,26 @@ FT_BEGIN_HEADER
4058
3993
  * out of the scope of this API function -- they can be implemented
4059
3994
  * through format-specific interfaces.
4060
3995
  *
4061
- * Kerning for OpenType fonts implemented in a 'GPOS' table is not
4062
- * supported; use @FT_HAS_KERNING to find out whether a font has data
4063
- * that can be extracted with `FT_Get_Kerning`.
3996
+ * Note that, for TrueType fonts only, this can extract data from both
3997
+ * the 'kern' table and the basic, pair-wise kerning feature from the
3998
+ * GPOS table (with `TT_CONFIG_OPTION_GPOS_KERNING` enabled), though
3999
+ * FreeType does not support the more advanced GPOS layout features; use
4000
+ * a library like HarfBuzz for those instead. If a font has both a
4001
+ * 'kern' table and kern features of a GPOS table, the 'kern' table will
4002
+ * be used.
4003
+ *
4004
+ * Also note for right-to-left scripts, the functionality may differ for
4005
+ * fonts with GPOS tables vs. 'kern' tables. For GPOS, right-to-left
4006
+ * fonts typically use both a placement offset and an advance for pair
4007
+ * positioning, which this API does not support, so it would output
4008
+ * kerning values of zero; though if the right-to-left font used only
4009
+ * advances in GPOS pair positioning, then this API could output kerning
4010
+ * values for it, but it would use `left_glyph` to mean the first glyph
4011
+ * for that case. Whereas 'kern' tables are always advance-only and
4012
+ * always store the left glyph first.
4013
+ *
4014
+ * Use @FT_HAS_KERNING to find out whether a font has data that can be
4015
+ * extracted with `FT_Get_Kerning`.
4064
4016
  */
4065
4017
  FT_EXPORT( FT_Error )
4066
4018
  FT_Get_Kerning( FT_Face face,
@@ -5222,7 +5174,7 @@ FT_BEGIN_HEADER
5222
5174
  */
5223
5175
  #define FREETYPE_MAJOR 2
5224
5176
  #define FREETYPE_MINOR 13
5225
- #define FREETYPE_PATCH 2
5177
+ #define FREETYPE_PATCH 3
5226
5178
 
5227
5179
 
5228
5180
  /**************************************************************************
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * Quick computation of advance widths (specification only).
6
6
  *
7
- * Copyright (C) 2008-2023 by
7
+ * Copyright (C) 2008-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 exact bbox computation (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 API for accessing BDF-specific strings (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,
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * FreeType utility functions for bitmaps (specification).
6
6
  *
7
- * Copyright (C) 2004-2023 by
7
+ * Copyright (C) 2004-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
  * Bzip2-compressed stream support.
6
6
  *
7
- * Copyright (C) 2010-2023 by
7
+ * Copyright (C) 2010-2024 by
8
8
  * Joel Klinghed.
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 Cache subsystem (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 API for accessing CID font information (specification).
6
6
  *
7
- * Copyright (C) 2007-2023 by
7
+ * Copyright (C) 2007-2024 by
8
8
  * Dereg Clegg and Michael Toftdal.
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's glyph color management (specification).
6
6
  *
7
- * Copyright (C) 2018-2023 by
7
+ * Copyright (C) 2018-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,