@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.
- package/cplusplus/VImage.cpp +2 -2
- package/cplusplus/vips-operators.cpp +79 -3
- package/include/aom/aom.h +1 -1
- package/include/aom/aom_codec.h +4 -4
- package/include/aom/aom_decoder.h +1 -1
- package/include/aom/aom_encoder.h +3 -1
- package/include/aom/aom_external_partition.h +1 -1
- package/include/aom/aom_frame_buffer.h +1 -1
- package/include/aom/aom_image.h +1 -1
- package/include/aom/aom_integer.h +1 -9
- package/include/aom/aomcx.h +47 -4
- package/include/aom/aomdx.h +1 -1
- package/include/archive.h +2 -2
- package/include/archive_entry.h +7 -1
- package/include/cairo/cairo-version.h +1 -1
- package/include/expat.h +1 -1
- package/include/expat_config.h +3 -6
- package/include/freetype2/freetype/config/ftconfig.h +1 -1
- package/include/freetype2/freetype/config/ftheader.h +1 -1
- package/include/freetype2/freetype/config/ftoption.h +17 -1
- package/include/freetype2/freetype/config/ftstdlib.h +1 -1
- package/include/freetype2/freetype/config/integer-types.h +1 -1
- package/include/freetype2/freetype/config/mac-support.h +1 -1
- package/include/freetype2/freetype/config/public-macros.h +1 -1
- package/include/freetype2/freetype/freetype.h +35 -83
- package/include/freetype2/freetype/ftadvanc.h +1 -1
- package/include/freetype2/freetype/ftbbox.h +1 -1
- package/include/freetype2/freetype/ftbdf.h +1 -1
- package/include/freetype2/freetype/ftbitmap.h +1 -1
- package/include/freetype2/freetype/ftbzip2.h +1 -1
- package/include/freetype2/freetype/ftcache.h +1 -1
- package/include/freetype2/freetype/ftcid.h +1 -1
- package/include/freetype2/freetype/ftcolor.h +1 -1
- package/include/freetype2/freetype/ftdriver.h +75 -1
- package/include/freetype2/freetype/fterrdef.h +1 -1
- package/include/freetype2/freetype/fterrors.h +1 -1
- package/include/freetype2/freetype/ftfntfmt.h +1 -1
- package/include/freetype2/freetype/ftgasp.h +1 -1
- package/include/freetype2/freetype/ftglyph.h +1 -1
- package/include/freetype2/freetype/ftgxval.h +1 -1
- package/include/freetype2/freetype/ftgzip.h +1 -1
- package/include/freetype2/freetype/ftimage.h +17 -12
- package/include/freetype2/freetype/ftincrem.h +1 -1
- package/include/freetype2/freetype/ftlcdfil.h +1 -1
- package/include/freetype2/freetype/ftlist.h +1 -1
- package/include/freetype2/freetype/ftlzw.h +1 -1
- package/include/freetype2/freetype/ftmac.h +1 -1
- package/include/freetype2/freetype/ftmm.h +31 -2
- package/include/freetype2/freetype/ftmodapi.h +1 -1
- package/include/freetype2/freetype/ftmoderr.h +1 -1
- package/include/freetype2/freetype/ftotval.h +1 -1
- package/include/freetype2/freetype/ftoutln.h +2 -2
- package/include/freetype2/freetype/ftparams.h +1 -1
- package/include/freetype2/freetype/ftpfr.h +1 -1
- package/include/freetype2/freetype/ftrender.h +1 -1
- package/include/freetype2/freetype/ftsizes.h +1 -1
- package/include/freetype2/freetype/ftsnames.h +1 -1
- package/include/freetype2/freetype/ftstroke.h +1 -1
- package/include/freetype2/freetype/ftsynth.h +1 -1
- package/include/freetype2/freetype/ftsystem.h +1 -1
- package/include/freetype2/freetype/fttrigon.h +1 -1
- package/include/freetype2/freetype/fttypes.h +1 -1
- package/include/freetype2/freetype/ftwinfnt.h +1 -1
- package/include/freetype2/freetype/otsvg.h +1 -1
- package/include/freetype2/freetype/t1tables.h +1 -59
- package/include/freetype2/freetype/ttnameid.h +1 -1
- package/include/freetype2/freetype/tttables.h +4 -3
- package/include/freetype2/freetype/tttags.h +1 -1
- package/include/freetype2/ft2build.h +1 -1
- package/include/fribidi/fribidi-config.h +2 -2
- package/include/fribidi/fribidi-unicode-version.h +3 -3
- package/include/gio-unix-2.0/gio/gunixmounts.h +11 -2
- package/include/glib-2.0/gio/gioenums.h +2 -2
- package/include/glib-2.0/glib/gmain.h +52 -47
- package/include/glib-2.0/glib/gstring.h +4 -0
- package/include/glib-2.0/gobject/gobjectnotifyqueue.c +2 -2
- package/include/harfbuzz/hb-buffer.h +7 -0
- package/include/harfbuzz/hb-common.h +18 -0
- package/include/harfbuzz/hb-face.h +28 -0
- package/include/harfbuzz/hb-version.h +3 -3
- package/include/libpng16/png.h +13 -13
- package/include/libpng16/pngconf.h +4 -4
- package/include/libpng16/pnglibconf.h +1 -1
- package/include/librsvg-2.0/librsvg/rsvg-version.h +3 -3
- package/include/librsvg-2.0/librsvg/rsvg.h +2 -0
- package/include/libxml2/libxml/xmlexports.h +2 -2
- package/include/libxml2/libxml/xmlversion.h +4 -4
- package/include/png.h +13 -13
- package/include/pngconf.h +4 -4
- package/include/pnglibconf.h +1 -1
- package/include/tiffio.h +11 -11
- package/include/tiffvers.h +4 -4
- package/include/vips/VImage8.h +166 -60
- package/include/vips/arithmetic.h +9 -0
- package/include/vips/basic.h +8 -4
- package/include/vips/buf.h +0 -2
- package/include/vips/connection.h +0 -2
- package/include/vips/conversion.h +0 -3
- package/include/vips/create.h +11 -0
- package/include/vips/enumtypes.h +3 -3
- package/include/vips/foreign.h +4 -18
- package/include/vips/header.h +7 -0
- package/include/vips/image.h +7 -2
- package/include/vips/interpolate.h +2 -3
- package/include/vips/memory.h +19 -1
- package/include/vips/operation.h +2 -7
- package/include/vips/private.h +7 -0
- package/include/vips/util.h +6 -15
- package/include/vips/version.h +8 -8
- package/include/vips/vips.h +2 -0
- package/include/vips/vips8 +19 -12
- package/include/zlib.h +3 -3
- package/package.json +1 -1
- package/versions.json +14 -14
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*
|
|
5
5
|
* FreeType high-level API and common types (specification only).
|
|
6
6
|
*
|
|
7
|
-
* Copyright (C) 1996-
|
|
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).
|
|
1326
|
-
*
|
|
1327
|
-
*
|
|
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
|
-
*
|
|
3771
|
-
*
|
|
3772
|
-
*
|
|
3773
|
-
*
|
|
3774
|
-
*
|
|
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
|
-
*
|
|
4062
|
-
*
|
|
4063
|
-
*
|
|
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
|
|
5177
|
+
#define FREETYPE_PATCH 3
|
|
5226
5178
|
|
|
5227
5179
|
|
|
5228
5180
|
/**************************************************************************
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*
|
|
5
5
|
* FreeType API for controlling driver modules (specification only).
|
|
6
6
|
*
|
|
7
|
-
* Copyright (C) 2017-
|
|
7
|
+
* Copyright (C) 2017-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,
|
|
@@ -817,6 +817,80 @@ FT_BEGIN_HEADER
|
|
|
817
817
|
* 2.5
|
|
818
818
|
*/
|
|
819
819
|
|
|
820
|
+
|
|
821
|
+
/**************************************************************************
|
|
822
|
+
*
|
|
823
|
+
* @property:
|
|
824
|
+
* spread
|
|
825
|
+
*
|
|
826
|
+
* @description:
|
|
827
|
+
* This property of the 'sdf' and 'bsdf' renderers defines how the signed
|
|
828
|
+
* distance field (SDF) is represented in the output bitmap. The output
|
|
829
|
+
* values are calculated as follows, '128 * ( SDF / spread + 1 )', with
|
|
830
|
+
* the result clamped to the 8-bit range [0..255]. Therefore, 'spread'
|
|
831
|
+
* is also the maximum euclidean distance from the edge after which the
|
|
832
|
+
* values are clamped. The spread is specified in pixels with the
|
|
833
|
+
* default value of 8. For accurate SDF texture mapping (interpolation),
|
|
834
|
+
* the spread should be large enough to accommodate the target grid unit.
|
|
835
|
+
*
|
|
836
|
+
* @example:
|
|
837
|
+
* The following example code demonstrates how to set the SDF spread
|
|
838
|
+
* (omitting the error handling).
|
|
839
|
+
*
|
|
840
|
+
* ```
|
|
841
|
+
* FT_Library library;
|
|
842
|
+
* FT_Int spread = 2;
|
|
843
|
+
*
|
|
844
|
+
*
|
|
845
|
+
* FT_Init_FreeType( &library );
|
|
846
|
+
*
|
|
847
|
+
* FT_Property_Set( library, "sdf", "spread", &spread );
|
|
848
|
+
* ```
|
|
849
|
+
*
|
|
850
|
+
* @note:
|
|
851
|
+
* FreeType has two rasterizers for generating SDF, namely:
|
|
852
|
+
*
|
|
853
|
+
* 1. `sdf` for generating SDF directly from glyph's outline, and
|
|
854
|
+
*
|
|
855
|
+
* 2. `bsdf` for generating SDF from rasterized bitmaps.
|
|
856
|
+
*
|
|
857
|
+
* Depending on the glyph type (i.e., outline or bitmap), one of the two
|
|
858
|
+
* rasterizers is chosen at runtime and used for generating SDFs. To
|
|
859
|
+
* force the use of `bsdf` you should render the glyph with any of the
|
|
860
|
+
* FreeType's other rendering modes (e.g., `FT_RENDER_MODE_NORMAL`) and
|
|
861
|
+
* then re-render with `FT_RENDER_MODE_SDF`.
|
|
862
|
+
*
|
|
863
|
+
* There are some issues with stability and possible failures of the SDF
|
|
864
|
+
* renderers (specifically `sdf`).
|
|
865
|
+
*
|
|
866
|
+
* 1. The `sdf` rasterizer is sensitive to really small features (e.g.,
|
|
867
|
+
* sharp turns that are less than 1~pixel) and imperfections in the
|
|
868
|
+
* glyph's outline, causing artifacts in the final output.
|
|
869
|
+
*
|
|
870
|
+
* 2. The `sdf` rasterizer has limited support for handling intersecting
|
|
871
|
+
* contours and *cannot* handle self-intersecting contours whatsoever.
|
|
872
|
+
* Self-intersection happens when a single connected contour
|
|
873
|
+
* intersects itself at some point; having these in your font
|
|
874
|
+
* definitely poses a problem to the rasterizer and cause artifacts,
|
|
875
|
+
* too.
|
|
876
|
+
*
|
|
877
|
+
* 3. Generating SDF for really small glyphs may result in undesirable
|
|
878
|
+
* output; the pixel grid (which stores distance information) becomes
|
|
879
|
+
* too coarse.
|
|
880
|
+
*
|
|
881
|
+
* 4. Since the output buffer is normalized, precision at smaller spreads
|
|
882
|
+
* is greater than precision at larger spread values because the
|
|
883
|
+
* output range of [0..255] gets mapped to a smaller SDF range. A
|
|
884
|
+
* spread of~2 should be sufficient in most cases.
|
|
885
|
+
*
|
|
886
|
+
* Points (1) and (2) can be avoided by using the `bsdf` rasterizer,
|
|
887
|
+
* which is more stable than the `sdf` rasterizer in general.
|
|
888
|
+
*
|
|
889
|
+
* @since:
|
|
890
|
+
* 2.11
|
|
891
|
+
*/
|
|
892
|
+
|
|
893
|
+
|
|
820
894
|
/**************************************************************************
|
|
821
895
|
*
|
|
822
896
|
* @property:
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* FreeType glyph image formats and default raster interface
|
|
6
6
|
* (specification).
|
|
7
7
|
*
|
|
8
|
-
* Copyright (C) 1996-
|
|
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,
|
|
@@ -21,6 +21,11 @@
|
|
|
21
21
|
* Note: A 'raster' is simply a scan-line converter, used to render
|
|
22
22
|
* `FT_Outline`s into `FT_Bitmap`s.
|
|
23
23
|
*
|
|
24
|
+
* Note: This file can be used for `STANDALONE_` compilation of raster
|
|
25
|
+
* (B/W) and smooth (anti-aliased) renderers. Therefore, it must
|
|
26
|
+
* rely on standard variable types only instead of aliases in
|
|
27
|
+
* `fttypes.h`.
|
|
28
|
+
*
|
|
24
29
|
*/
|
|
25
30
|
|
|
26
31
|
|
|
@@ -318,7 +323,7 @@ FT_BEGIN_HEADER
|
|
|
318
323
|
*
|
|
319
324
|
* If bit~2 is set, bits 5-7 contain the drop-out mode (as defined in
|
|
320
325
|
* the OpenType specification; the value is the same as the argument to
|
|
321
|
-
* the '
|
|
326
|
+
* the 'SCANTYPE' instruction).
|
|
322
327
|
*
|
|
323
328
|
* Bits 3 and~4 are reserved for internal purposes.
|
|
324
329
|
*
|
|
@@ -341,14 +346,14 @@ FT_BEGIN_HEADER
|
|
|
341
346
|
*/
|
|
342
347
|
typedef struct FT_Outline_
|
|
343
348
|
{
|
|
344
|
-
short
|
|
345
|
-
short
|
|
349
|
+
unsigned short n_contours; /* number of contours in glyph */
|
|
350
|
+
unsigned short n_points; /* number of points in the glyph */
|
|
346
351
|
|
|
347
|
-
FT_Vector*
|
|
348
|
-
char*
|
|
349
|
-
short*
|
|
352
|
+
FT_Vector* points; /* the outline's points */
|
|
353
|
+
unsigned char* tags; /* the points flags */
|
|
354
|
+
unsigned short* contours; /* the contour end points */
|
|
350
355
|
|
|
351
|
-
int
|
|
356
|
+
int flags; /* outline masks */
|
|
352
357
|
|
|
353
358
|
} FT_Outline;
|
|
354
359
|
|
|
@@ -356,8 +361,8 @@ FT_BEGIN_HEADER
|
|
|
356
361
|
|
|
357
362
|
/* Following limits must be consistent with */
|
|
358
363
|
/* FT_Outline.{n_contours,n_points} */
|
|
359
|
-
#define FT_OUTLINE_CONTOURS_MAX
|
|
360
|
-
#define FT_OUTLINE_POINTS_MAX
|
|
364
|
+
#define FT_OUTLINE_CONTOURS_MAX USHRT_MAX
|
|
365
|
+
#define FT_OUTLINE_POINTS_MAX USHRT_MAX
|
|
361
366
|
|
|
362
367
|
|
|
363
368
|
/**************************************************************************
|
|
@@ -434,8 +439,8 @@ FT_BEGIN_HEADER
|
|
|
434
439
|
* rasterizer; see the `tags` field in @FT_Outline.
|
|
435
440
|
*
|
|
436
441
|
* Please refer to the description of the 'SCANTYPE' instruction in the
|
|
437
|
-
* OpenType specification
|
|
438
|
-
* smart drop-outs, and stubs are defined.
|
|
442
|
+
* [OpenType specification](https://learn.microsoft.com/en-us/typography/opentype/spec/tt_instructions#scantype)
|
|
443
|
+
* how simple drop-outs, smart drop-outs, and stubs are defined.
|
|
439
444
|
*/
|
|
440
445
|
#define FT_OUTLINE_NONE 0x0
|
|
441
446
|
#define FT_OUTLINE_OWNER 0x1
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* FreeType API for color filtering of subpixel bitmap glyphs
|
|
6
6
|
* (specification).
|
|
7
7
|
*
|
|
8
|
-
* Copyright (C) 2006-
|
|
8
|
+
* Copyright (C) 2006-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 Multiple Master font interface (specification).
|
|
6
6
|
*
|
|
7
|
-
* Copyright (C) 1996-
|
|
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,
|
|
@@ -19,8 +19,13 @@
|
|
|
19
19
|
#ifndef FTMM_H_
|
|
20
20
|
#define FTMM_H_
|
|
21
21
|
|
|
22
|
+
#include <freetype/freetype.h>
|
|
22
23
|
|
|
23
|
-
#
|
|
24
|
+
#ifdef FREETYPE_H
|
|
25
|
+
#error "freetype.h of FreeType 1 has been loaded!"
|
|
26
|
+
#error "Please fix the directory search order for header files"
|
|
27
|
+
#error "so that freetype.h of FreeType 2 is found first."
|
|
28
|
+
#endif
|
|
24
29
|
|
|
25
30
|
|
|
26
31
|
FT_BEGIN_HEADER
|
|
@@ -53,6 +58,30 @@ FT_BEGIN_HEADER
|
|
|
53
58
|
*/
|
|
54
59
|
|
|
55
60
|
|
|
61
|
+
/**************************************************************************
|
|
62
|
+
*
|
|
63
|
+
* @enum:
|
|
64
|
+
* T1_MAX_MM_XXX
|
|
65
|
+
*
|
|
66
|
+
* @description:
|
|
67
|
+
* Multiple Masters limits as defined in their specifications.
|
|
68
|
+
*
|
|
69
|
+
* @values:
|
|
70
|
+
* T1_MAX_MM_AXIS ::
|
|
71
|
+
* The maximum number of Multiple Masters axes.
|
|
72
|
+
*
|
|
73
|
+
* T1_MAX_MM_DESIGNS ::
|
|
74
|
+
* The maximum number of Multiple Masters designs.
|
|
75
|
+
*
|
|
76
|
+
* T1_MAX_MM_MAP_POINTS ::
|
|
77
|
+
* The maximum number of elements in a design map.
|
|
78
|
+
*
|
|
79
|
+
*/
|
|
80
|
+
#define T1_MAX_MM_AXIS 4
|
|
81
|
+
#define T1_MAX_MM_DESIGNS 16
|
|
82
|
+
#define T1_MAX_MM_MAP_POINTS 20
|
|
83
|
+
|
|
84
|
+
|
|
56
85
|
/**************************************************************************
|
|
57
86
|
*
|
|
58
87
|
* @struct:
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Support for the FT_Outline type used to store glyph shapes of
|
|
6
6
|
* most scalable font formats (specification).
|
|
7
7
|
*
|
|
8
|
-
* Copyright (C) 1996-
|
|
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,
|
|
@@ -112,7 +112,7 @@ FT_BEGIN_HEADER
|
|
|
112
112
|
* Degenerate contours, segments, and Bezier arcs may be reported. In
|
|
113
113
|
* most cases, it is best to filter these out before using the outline
|
|
114
114
|
* for stroking or other path modification purposes (which may cause
|
|
115
|
-
* degenerate segments to become non-
|
|
115
|
+
* degenerate segments to become non-degenerate and visible, like when
|
|
116
116
|
* stroke caps are used or the path is otherwise outset). Some glyph
|
|
117
117
|
* outlines may contain deliberate degenerate single points for mark
|
|
118
118
|
* attachement.
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*
|
|
5
5
|
* FreeType API for possible FT_Parameter tags (specification only).
|
|
6
6
|
*
|
|
7
|
-
* Copyright (C) 2017-
|
|
7
|
+
* Copyright (C) 2017-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 PFR-specific data (specification only).
|
|
6
6
|
*
|
|
7
|
-
* Copyright (C) 2002-
|
|
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,
|