From 256adf476aeb2532cbc7d3092d6968fdd8a38ce7 Mon Sep 17 00:00:00 2001 From: Sandro Mani Date: Tue, 26 Apr 2022 07:57:50 +0200 Subject: [PATCH] Update to 2.12.0 --- .gitignore | 1 + freetype-2.10.0-internal-outline.patch | 608 ++++++++++++++++++++++++- freetype-2.2.1-enable-valid.patch | 267 ++++++++++- freetype-2.3.0-enable-spr.patch | 6 +- mingw-freetype.spec | 13 +- sources | 2 +- 6 files changed, 875 insertions(+), 22 deletions(-) diff --git a/.gitignore b/.gitignore index b83c35e..67d1a0e 100644 --- a/.gitignore +++ b/.gitignore @@ -27,3 +27,4 @@ freetype-doc-2.3.11.tar.gz /freetype-2.10.4.tar.xz /freetype-2.11.0.tar.xz /freetype-2.11.1.tar.xz +/freetype-2.12.0.tar.xz diff --git a/freetype-2.10.0-internal-outline.patch b/freetype-2.10.0-internal-outline.patch index 8812dcc..d684670 100644 --- a/freetype-2.10.0-internal-outline.patch +++ b/freetype-2.10.0-internal-outline.patch @@ -1,7 +1,7 @@ -diff -rupN --no-dereference freetype-2.11.1/include/freetype/ftoutln.h freetype-2.11.1-new/include/freetype/ftoutln.h ---- freetype-2.11.1/include/freetype/ftoutln.h 2021-02-13 09:16:54.000000000 +0100 -+++ freetype-2.11.1-new/include/freetype/ftoutln.h 2021-12-15 20:32:32.202013506 +0100 -@@ -164,6 +164,15 @@ FT_BEGIN_HEADER +diff -rupN --no-dereference freetype-2.12.0/include/freetype/ftoutln.h freetype-2.12.0-new/include/freetype/ftoutln.h +--- freetype-2.12.0/include/freetype/ftoutln.h 2022-01-27 21:51:06.000000000 +0100 ++++ freetype-2.12.0-new/include/freetype/ftoutln.h 2022-04-26 07:57:14.183392122 +0200 +@@ -166,6 +166,15 @@ FT_BEGIN_HEADER FT_Int numContours, FT_Outline *anoutline ); @@ -17,7 +17,7 @@ diff -rupN --no-dereference freetype-2.11.1/include/freetype/ftoutln.h freetype- /************************************************************************** * -@@ -191,6 +200,13 @@ FT_BEGIN_HEADER +@@ -193,6 +202,13 @@ FT_BEGIN_HEADER FT_Outline_Done( FT_Library library, FT_Outline* outline ); @@ -31,9 +31,601 @@ diff -rupN --no-dereference freetype-2.11.1/include/freetype/ftoutln.h freetype- /************************************************************************** * -diff -rupN --no-dereference freetype-2.11.1/src/base/ftoutln.c freetype-2.11.1-new/src/base/ftoutln.c ---- freetype-2.11.1/src/base/ftoutln.c 2021-02-13 09:16:54.000000000 +0100 -+++ freetype-2.11.1-new/src/base/ftoutln.c 2021-12-15 20:32:32.203013479 +0100 +diff -rupN --no-dereference freetype-2.12.0/include/freetype/ftoutln.h.orig freetype-2.12.0-new/include/freetype/ftoutln.h.orig +--- freetype-2.12.0/include/freetype/ftoutln.h.orig 1970-01-01 01:00:00.000000000 +0100 ++++ freetype-2.12.0-new/include/freetype/ftoutln.h.orig 2022-01-27 21:51:06.000000000 +0100 +@@ -0,0 +1,588 @@ ++/**************************************************************************** ++ * ++ * ftoutln.h ++ * ++ * Support for the FT_Outline type used to store glyph shapes of ++ * most scalable font formats (specification). ++ * ++ * Copyright (C) 1996-2022 by ++ * David Turner, Robert Wilhelm, and Werner Lemberg. ++ * ++ * This file is part of the FreeType project, and may only be used, ++ * modified, and distributed under the terms of the FreeType project ++ * license, LICENSE.TXT. By continuing to use, modify, or distribute ++ * this file you indicate that you have read the license and ++ * understand and accept it fully. ++ * ++ */ ++ ++ ++#ifndef FTOUTLN_H_ ++#define FTOUTLN_H_ ++ ++ ++#include ++ ++#ifdef FREETYPE_H ++#error "freetype.h of FreeType 1 has been loaded!" ++#error "Please fix the directory search order for header files" ++#error "so that freetype.h of FreeType 2 is found first." ++#endif ++ ++ ++FT_BEGIN_HEADER ++ ++ ++ /************************************************************************** ++ * ++ * @section: ++ * outline_processing ++ * ++ * @title: ++ * Outline Processing ++ * ++ * @abstract: ++ * Functions to create, transform, and render vectorial glyph images. ++ * ++ * @description: ++ * This section contains routines used to create and destroy scalable ++ * glyph images known as 'outlines'. These can also be measured, ++ * transformed, and converted into bitmaps and pixmaps. ++ * ++ * @order: ++ * FT_Outline ++ * FT_Outline_New ++ * FT_Outline_Done ++ * FT_Outline_Copy ++ * FT_Outline_Translate ++ * FT_Outline_Transform ++ * FT_Outline_Embolden ++ * FT_Outline_EmboldenXY ++ * FT_Outline_Reverse ++ * FT_Outline_Check ++ * ++ * FT_Outline_Get_CBox ++ * FT_Outline_Get_BBox ++ * ++ * FT_Outline_Get_Bitmap ++ * FT_Outline_Render ++ * FT_Outline_Decompose ++ * FT_Outline_Funcs ++ * FT_Outline_MoveToFunc ++ * FT_Outline_LineToFunc ++ * FT_Outline_ConicToFunc ++ * FT_Outline_CubicToFunc ++ * ++ * FT_Orientation ++ * FT_Outline_Get_Orientation ++ * ++ * FT_OUTLINE_XXX ++ * ++ */ ++ ++ ++ /************************************************************************** ++ * ++ * @function: ++ * FT_Outline_Decompose ++ * ++ * @description: ++ * Walk over an outline's structure to decompose it into individual ++ * segments and Bezier arcs. This function also emits 'move to' ++ * operations to indicate the start of new contours in the outline. ++ * ++ * @input: ++ * outline :: ++ * A pointer to the source target. ++ * ++ * func_interface :: ++ * A table of 'emitters', i.e., function pointers called during ++ * decomposition to indicate path operations. ++ * ++ * @inout: ++ * user :: ++ * A typeless pointer that is passed to each emitter during the ++ * decomposition. It can be used to store the state during the ++ * decomposition. ++ * ++ * @return: ++ * FreeType error code. 0~means success. ++ * ++ * @note: ++ * Degenerate contours, segments, and Bezier arcs may be reported. In ++ * most cases, it is best to filter these out before using the outline ++ * for stroking or other path modification purposes (which may cause ++ * degenerate segments to become non-degenrate and visible, like when ++ * stroke caps are used or the path is otherwise outset). Some glyph ++ * outlines may contain deliberate degenerate single points for mark ++ * attachement. ++ * ++ * Similarly, the function returns success for an empty outline also ++ * (doing nothing, this is, not calling any emitter); if necessary, you ++ * should filter this out, too. ++ */ ++ FT_EXPORT( FT_Error ) ++ FT_Outline_Decompose( FT_Outline* outline, ++ const FT_Outline_Funcs* func_interface, ++ void* user ); ++ ++ ++ /************************************************************************** ++ * ++ * @function: ++ * FT_Outline_New ++ * ++ * @description: ++ * Create a new outline of a given size. ++ * ++ * @input: ++ * library :: ++ * A handle to the library object from where the outline is allocated. ++ * Note however that the new outline will **not** necessarily be ++ * **freed**, when destroying the library, by @FT_Done_FreeType. ++ * ++ * numPoints :: ++ * The maximum number of points within the outline. Must be smaller ++ * than or equal to 0xFFFF (65535). ++ * ++ * numContours :: ++ * The maximum number of contours within the outline. This value must ++ * be in the range 0 to `numPoints`. ++ * ++ * @output: ++ * anoutline :: ++ * A handle to the new outline. ++ * ++ * @return: ++ * FreeType error code. 0~means success. ++ * ++ * @note: ++ * The reason why this function takes a `library` parameter is simply to ++ * use the library's memory allocator. ++ */ ++ FT_EXPORT( FT_Error ) ++ FT_Outline_New( FT_Library library, ++ FT_UInt numPoints, ++ FT_Int numContours, ++ FT_Outline *anoutline ); ++ ++ ++ /************************************************************************** ++ * ++ * @function: ++ * FT_Outline_Done ++ * ++ * @description: ++ * Destroy an outline created with @FT_Outline_New. ++ * ++ * @input: ++ * library :: ++ * A handle of the library object used to allocate the outline. ++ * ++ * outline :: ++ * A pointer to the outline object to be discarded. ++ * ++ * @return: ++ * FreeType error code. 0~means success. ++ * ++ * @note: ++ * If the outline's 'owner' field is not set, only the outline descriptor ++ * will be released. ++ */ ++ FT_EXPORT( FT_Error ) ++ FT_Outline_Done( FT_Library library, ++ FT_Outline* outline ); ++ ++ ++ /************************************************************************** ++ * ++ * @function: ++ * FT_Outline_Check ++ * ++ * @description: ++ * Check the contents of an outline descriptor. ++ * ++ * @input: ++ * outline :: ++ * A handle to a source outline. ++ * ++ * @return: ++ * FreeType error code. 0~means success. ++ * ++ * @note: ++ * An empty outline, or an outline with a single point only is also ++ * valid. ++ */ ++ FT_EXPORT( FT_Error ) ++ FT_Outline_Check( FT_Outline* outline ); ++ ++ ++ /************************************************************************** ++ * ++ * @function: ++ * FT_Outline_Get_CBox ++ * ++ * @description: ++ * Return an outline's 'control box'. The control box encloses all the ++ * outline's points, including Bezier control points. Though it ++ * coincides with the exact bounding box for most glyphs, it can be ++ * slightly larger in some situations (like when rotating an outline that ++ * contains Bezier outside arcs). ++ * ++ * Computing the control box is very fast, while getting the bounding box ++ * can take much more time as it needs to walk over all segments and arcs ++ * in the outline. To get the latter, you can use the 'ftbbox' ++ * component, which is dedicated to this single task. ++ * ++ * @input: ++ * outline :: ++ * A pointer to the source outline descriptor. ++ * ++ * @output: ++ * acbox :: ++ * The outline's control box. ++ * ++ * @note: ++ * See @FT_Glyph_Get_CBox for a discussion of tricky fonts. ++ */ ++ FT_EXPORT( void ) ++ FT_Outline_Get_CBox( const FT_Outline* outline, ++ FT_BBox *acbox ); ++ ++ ++ /************************************************************************** ++ * ++ * @function: ++ * FT_Outline_Translate ++ * ++ * @description: ++ * Apply a simple translation to the points of an outline. ++ * ++ * @inout: ++ * outline :: ++ * A pointer to the target outline descriptor. ++ * ++ * @input: ++ * xOffset :: ++ * The horizontal offset. ++ * ++ * yOffset :: ++ * The vertical offset. ++ */ ++ FT_EXPORT( void ) ++ FT_Outline_Translate( const FT_Outline* outline, ++ FT_Pos xOffset, ++ FT_Pos yOffset ); ++ ++ ++ /************************************************************************** ++ * ++ * @function: ++ * FT_Outline_Copy ++ * ++ * @description: ++ * Copy an outline into another one. Both objects must have the same ++ * sizes (number of points & number of contours) when this function is ++ * called. ++ * ++ * @input: ++ * source :: ++ * A handle to the source outline. ++ * ++ * @output: ++ * target :: ++ * A handle to the target outline. ++ * ++ * @return: ++ * FreeType error code. 0~means success. ++ */ ++ FT_EXPORT( FT_Error ) ++ FT_Outline_Copy( const FT_Outline* source, ++ FT_Outline *target ); ++ ++ ++ /************************************************************************** ++ * ++ * @function: ++ * FT_Outline_Transform ++ * ++ * @description: ++ * Apply a simple 2x2 matrix to all of an outline's points. Useful for ++ * applying rotations, slanting, flipping, etc. ++ * ++ * @inout: ++ * outline :: ++ * A pointer to the target outline descriptor. ++ * ++ * @input: ++ * matrix :: ++ * A pointer to the transformation matrix. ++ * ++ * @note: ++ * You can use @FT_Outline_Translate if you need to translate the ++ * outline's points. ++ */ ++ FT_EXPORT( void ) ++ FT_Outline_Transform( const FT_Outline* outline, ++ const FT_Matrix* matrix ); ++ ++ ++ /************************************************************************** ++ * ++ * @function: ++ * FT_Outline_Embolden ++ * ++ * @description: ++ * Embolden an outline. The new outline will be at most 4~times ++ * `strength` pixels wider and higher. You may think of the left and ++ * bottom borders as unchanged. ++ * ++ * Negative `strength` values to reduce the outline thickness are ++ * possible also. ++ * ++ * @inout: ++ * outline :: ++ * A handle to the target outline. ++ * ++ * @input: ++ * strength :: ++ * How strong the glyph is emboldened. Expressed in 26.6 pixel format. ++ * ++ * @return: ++ * FreeType error code. 0~means success. ++ * ++ * @note: ++ * The used algorithm to increase or decrease the thickness of the glyph ++ * doesn't change the number of points; this means that certain ++ * situations like acute angles or intersections are sometimes handled ++ * incorrectly. ++ * ++ * If you need 'better' metrics values you should call ++ * @FT_Outline_Get_CBox or @FT_Outline_Get_BBox. ++ * ++ * To get meaningful results, font scaling values must be set with ++ * functions like @FT_Set_Char_Size before calling FT_Render_Glyph. ++ * ++ * @example: ++ * ``` ++ * FT_Load_Glyph( face, index, FT_LOAD_DEFAULT ); ++ * ++ * if ( face->glyph->format == FT_GLYPH_FORMAT_OUTLINE ) ++ * FT_Outline_Embolden( &face->glyph->outline, strength ); ++ * ``` ++ * ++ */ ++ FT_EXPORT( FT_Error ) ++ FT_Outline_Embolden( FT_Outline* outline, ++ FT_Pos strength ); ++ ++ ++ /************************************************************************** ++ * ++ * @function: ++ * FT_Outline_EmboldenXY ++ * ++ * @description: ++ * Embolden an outline. The new outline will be `xstrength` pixels wider ++ * and `ystrength` pixels higher. Otherwise, it is similar to ++ * @FT_Outline_Embolden, which uses the same strength in both directions. ++ * ++ * @since: ++ * 2.4.10 ++ */ ++ FT_EXPORT( FT_Error ) ++ FT_Outline_EmboldenXY( FT_Outline* outline, ++ FT_Pos xstrength, ++ FT_Pos ystrength ); ++ ++ ++ /************************************************************************** ++ * ++ * @function: ++ * FT_Outline_Reverse ++ * ++ * @description: ++ * Reverse the drawing direction of an outline. This is used to ensure ++ * consistent fill conventions for mirrored glyphs. ++ * ++ * @inout: ++ * outline :: ++ * A pointer to the target outline descriptor. ++ * ++ * @note: ++ * This function toggles the bit flag @FT_OUTLINE_REVERSE_FILL in the ++ * outline's `flags` field. ++ * ++ * It shouldn't be used by a normal client application, unless it knows ++ * what it is doing. ++ */ ++ FT_EXPORT( void ) ++ FT_Outline_Reverse( FT_Outline* outline ); ++ ++ ++ /************************************************************************** ++ * ++ * @function: ++ * FT_Outline_Get_Bitmap ++ * ++ * @description: ++ * Render an outline within a bitmap. The outline's image is simply ++ * OR-ed to the target bitmap. ++ * ++ * @input: ++ * library :: ++ * A handle to a FreeType library object. ++ * ++ * outline :: ++ * A pointer to the source outline descriptor. ++ * ++ * @inout: ++ * abitmap :: ++ * A pointer to the target bitmap descriptor. ++ * ++ * @return: ++ * FreeType error code. 0~means success. ++ * ++ * @note: ++ * This function does **not create** the bitmap, it only renders an ++ * outline image within the one you pass to it! Consequently, the ++ * various fields in `abitmap` should be set accordingly. ++ * ++ * It will use the raster corresponding to the default glyph format. ++ * ++ * The value of the `num_grays` field in `abitmap` is ignored. If you ++ * select the gray-level rasterizer, and you want less than 256 gray ++ * levels, you have to use @FT_Outline_Render directly. ++ */ ++ FT_EXPORT( FT_Error ) ++ FT_Outline_Get_Bitmap( FT_Library library, ++ FT_Outline* outline, ++ const FT_Bitmap *abitmap ); ++ ++ ++ /************************************************************************** ++ * ++ * @function: ++ * FT_Outline_Render ++ * ++ * @description: ++ * Render an outline within a bitmap using the current scan-convert. ++ * ++ * @input: ++ * library :: ++ * A handle to a FreeType library object. ++ * ++ * outline :: ++ * A pointer to the source outline descriptor. ++ * ++ * @inout: ++ * params :: ++ * A pointer to an @FT_Raster_Params structure used to describe the ++ * rendering operation. ++ * ++ * @return: ++ * FreeType error code. 0~means success. ++ * ++ * @note: ++ * This advanced function uses @FT_Raster_Params as an argument. ++ * The field `params.source` will be set to `outline` before the scan ++ * converter is called, which means that the value you give to it is ++ * actually ignored. Either `params.target` must point to preallocated ++ * bitmap, or @FT_RASTER_FLAG_DIRECT must be set in `params.flags` ++ * allowing FreeType rasterizer to be used for direct composition, ++ * translucency, etc. See @FT_Raster_Params for more details. ++ */ ++ FT_EXPORT( FT_Error ) ++ FT_Outline_Render( FT_Library library, ++ FT_Outline* outline, ++ FT_Raster_Params* params ); ++ ++ ++ /************************************************************************** ++ * ++ * @enum: ++ * FT_Orientation ++ * ++ * @description: ++ * A list of values used to describe an outline's contour orientation. ++ * ++ * The TrueType and PostScript specifications use different conventions ++ * to determine whether outline contours should be filled or unfilled. ++ * ++ * @values: ++ * FT_ORIENTATION_TRUETYPE :: ++ * According to the TrueType specification, clockwise contours must be ++ * filled, and counter-clockwise ones must be unfilled. ++ * ++ * FT_ORIENTATION_POSTSCRIPT :: ++ * According to the PostScript specification, counter-clockwise ++ * contours must be filled, and clockwise ones must be unfilled. ++ * ++ * FT_ORIENTATION_FILL_RIGHT :: ++ * This is identical to @FT_ORIENTATION_TRUETYPE, but is used to ++ * remember that in TrueType, everything that is to the right of the ++ * drawing direction of a contour must be filled. ++ * ++ * FT_ORIENTATION_FILL_LEFT :: ++ * This is identical to @FT_ORIENTATION_POSTSCRIPT, but is used to ++ * remember that in PostScript, everything that is to the left of the ++ * drawing direction of a contour must be filled. ++ * ++ * FT_ORIENTATION_NONE :: ++ * The orientation cannot be determined. That is, different parts of ++ * the glyph have different orientation. ++ * ++ */ ++ typedef enum FT_Orientation_ ++ { ++ FT_ORIENTATION_TRUETYPE = 0, ++ FT_ORIENTATION_POSTSCRIPT = 1, ++ FT_ORIENTATION_FILL_RIGHT = FT_ORIENTATION_TRUETYPE, ++ FT_ORIENTATION_FILL_LEFT = FT_ORIENTATION_POSTSCRIPT, ++ FT_ORIENTATION_NONE ++ ++ } FT_Orientation; ++ ++ ++ /************************************************************************** ++ * ++ * @function: ++ * FT_Outline_Get_Orientation ++ * ++ * @description: ++ * This function analyzes a glyph outline and tries to compute its fill ++ * orientation (see @FT_Orientation). This is done by integrating the ++ * total area covered by the outline. The positive integral corresponds ++ * to the clockwise orientation and @FT_ORIENTATION_POSTSCRIPT is ++ * returned. The negative integral corresponds to the counter-clockwise ++ * orientation and @FT_ORIENTATION_TRUETYPE is returned. ++ * ++ * Note that this will return @FT_ORIENTATION_TRUETYPE for empty ++ * outlines. ++ * ++ * @input: ++ * outline :: ++ * A handle to the source outline. ++ * ++ * @return: ++ * The orientation. ++ * ++ */ ++ FT_EXPORT( FT_Orientation ) ++ FT_Outline_Get_Orientation( FT_Outline* outline ); ++ ++ ++ /* */ ++ ++ ++FT_END_HEADER ++ ++#endif /* FTOUTLN_H_ */ ++ ++ ++/* END */ ++ ++ ++/* Local Variables: */ ++/* coding: utf-8 */ ++/* End: */ +diff -rupN --no-dereference freetype-2.12.0/src/base/ftoutln.c freetype-2.12.0-new/src/base/ftoutln.c +--- freetype-2.12.0/src/base/ftoutln.c 2022-01-27 08:43:19.000000000 +0100 ++++ freetype-2.12.0-new/src/base/ftoutln.c 2022-04-26 07:57:14.184392118 +0200 @@ -289,6 +289,19 @@ /* documentation is in ftoutln.h */ diff --git a/freetype-2.2.1-enable-valid.patch b/freetype-2.2.1-enable-valid.patch index 39080cc..4211f79 100644 --- a/freetype-2.2.1-enable-valid.patch +++ b/freetype-2.2.1-enable-valid.patch @@ -1,7 +1,7 @@ -diff -rupN --no-dereference freetype-2.11.1/modules.cfg freetype-2.11.1-new/modules.cfg ---- freetype-2.11.1/modules.cfg 2021-05-19 07:43:30.000000000 +0200 -+++ freetype-2.11.1-new/modules.cfg 2021-12-15 20:32:32.073017008 +0100 -@@ -114,7 +114,7 @@ AUX_MODULES += cache +diff -rupN --no-dereference freetype-2.12.0/modules.cfg freetype-2.12.0-new/modules.cfg +--- freetype-2.12.0/modules.cfg 2022-01-27 08:43:19.000000000 +0100 ++++ freetype-2.12.0-new/modules.cfg 2022-04-26 07:57:14.061392695 +0200 +@@ -117,7 +117,7 @@ AUX_MODULES += cache # TrueType GX/AAT table validation. Needs `ftgxval.c' below. # @@ -10,7 +10,7 @@ diff -rupN --no-dereference freetype-2.11.1/modules.cfg freetype-2.11.1-new/modu # Support for streams compressed with gzip (files with suffix .gz). # -@@ -133,7 +133,7 @@ AUX_MODULES += bzip2 +@@ -136,7 +136,7 @@ AUX_MODULES += bzip2 # OpenType table validation. Needs `ftotval.c' below. # @@ -19,3 +19,260 @@ diff -rupN --no-dereference freetype-2.11.1/modules.cfg freetype-2.11.1-new/modu # Auxiliary PostScript driver component to share common code. # +diff -rupN --no-dereference freetype-2.12.0/modules.cfg.orig freetype-2.12.0-new/modules.cfg.orig +--- freetype-2.12.0/modules.cfg.orig 1970-01-01 01:00:00.000000000 +0100 ++++ freetype-2.12.0-new/modules.cfg.orig 2022-01-27 08:43:19.000000000 +0100 +@@ -0,0 +1,253 @@ ++# modules.cfg ++# ++# Copyright (C) 2005-2022 by ++# David Turner, Robert Wilhelm, and Werner Lemberg. ++# ++# This file is part of the FreeType project, and may only be used, modified, ++# and distributed under the terms of the FreeType project license, ++# LICENSE.TXT. By continuing to use, modify, or distribute this file you ++# indicate that you have read the license and understand and accept it ++# fully. ++# ++# ++# In case you compile the FreeType library with GNU make or makepp, this ++# file controls which components are built into the library. Otherwise, ++# please read this file for information on the various modules and its ++# dependencies, then follow the instructions in the file `docs/INSTALL.ANY'. ++# ++# To deactivate a module, simply comment out the corresponding line. To ++# activate a module, remove the comment character. ++# ++# Note that many modules and components are further controlled with macros ++# in the file `include/freetype/config/ftoption.h'. ++ ++ ++#### ++#### font modules -- at least one is required ++#### ++#### The order given here (from top to down) is the order used for testing ++#### font formats in the compiled library. ++#### ++ ++# TrueType font driver. ++# ++# This driver needs the `sfnt' module. ++FONT_MODULES += truetype ++ ++# PostScript Type 1 font driver. ++# ++# This driver needs the `psaux', `pshinter', and `psnames' modules. ++FONT_MODULES += type1 ++ ++# CFF/OpenType font driver. ++# ++# This driver needs the `sfnt', `psaux', `pshinter', and `psnames' modules. ++FONT_MODULES += cff ++ ++# Type 1 CID-keyed font driver. ++# ++# This driver needs the `psaux', `pshinter', and `psnames' modules. ++FONT_MODULES += cid ++ ++# PFR/TrueDoc font driver. See optional extension ftpfr.c below also. ++FONT_MODULES += pfr ++ ++# PostScript Type 42 font driver. ++# ++# This driver needs the `truetype' and `psaux' modules. ++FONT_MODULES += type42 ++ ++# Windows FONT/FNT font driver. See optional extension ftwinfnt.c below ++# also. ++FONT_MODULES += winfonts ++ ++# PCF font driver. If debugging and tracing is enabled, needs `ftbitmap.c'. ++FONT_MODULES += pcf ++ ++# BDF font driver. See optional extension ftbdf.c below also. ++FONT_MODULES += bdf ++ ++# SFNT files support. If used without `truetype' or `cff', it supports ++# bitmap-only fonts within an SFNT wrapper. ++# ++# This driver needs the `psnames' module. ++FONT_MODULES += sfnt ++ ++ ++#### ++#### hinting modules ++#### ++ ++# FreeType's auto hinter. ++HINTING_MODULES += autofit ++ ++# PostScript hinter. ++HINTING_MODULES += pshinter ++ ++# The TrueType hinting engine doesn't have a module of its own but is ++# controlled in file include/freetype/config/ftoption.h ++# (TT_CONFIG_OPTION_BYTECODE_INTERPRETER and friends). ++ ++ ++#### ++#### raster modules -- at least one is required for vector font formats ++#### ++ ++# Anti-aliasing rasterizer. ++RASTER_MODULES += smooth ++ ++# Monochrome rasterizer. ++RASTER_MODULES += raster ++ ++# OT-SVG. ++RASTER_MODULES += svg ++ ++# Signed distance field rasterizer. ++RASTER_MODULES += sdf ++ ++ ++#### ++#### auxiliary modules ++#### ++ ++# FreeType's cache sub-system (quite stable but still in beta -- this means ++# that its public API is subject to change if necessary). See ++# include/freetype/ftcache.h. Needs `ftglyph.c'. ++AUX_MODULES += cache ++ ++# TrueType GX/AAT table validation. Needs `ftgxval.c' below. ++# ++# AUX_MODULES += gxvalid ++ ++# Support for streams compressed with gzip (files with suffix .gz). ++# ++# See include/freetype/ftgzip.h for the API. ++AUX_MODULES += gzip ++ ++# Support for streams compressed with LZW (files with suffix .Z). ++# ++# See include/freetype/ftlzw.h for the API. ++AUX_MODULES += lzw ++ ++# Support for streams compressed with bzip2 (files with suffix .bz2). ++# ++# See include/freetype/ftbzip2.h for the API. ++AUX_MODULES += bzip2 ++ ++# OpenType table validation. Needs `ftotval.c' below. ++# ++# AUX_MODULES += otvalid ++ ++# Auxiliary PostScript driver component to share common code. ++# ++# This module depends on `psnames'. ++AUX_MODULES += psaux ++ ++# Support for PostScript glyph names. ++# ++# This module can be controlled in ftconfig.h ++# (FT_CONFIG_OPTION_POSTSCRIPT_NAMES). ++AUX_MODULES += psnames ++ ++ ++#### ++#### base module extensions ++#### ++ ++# Exact bounding box calculation. ++# ++# See include/freetype/ftbbox.h for the API. ++BASE_EXTENSIONS += ftbbox.c ++ ++# Access BDF-specific strings. Needs BDF font driver. ++# ++# See include/freetype/ftbdf.h for the API. ++BASE_EXTENSIONS += ftbdf.c ++ ++# Utility functions for converting 1bpp, 2bpp, 4bpp, and 8bpp bitmaps into ++# 8bpp format, and for emboldening of bitmap glyphs. ++# ++# See include/freetype/ftbitmap.h for the API. ++BASE_EXTENSIONS += ftbitmap.c ++ ++# Access CID font information. ++# ++# See include/freetype/ftcid.h for the API. ++BASE_EXTENSIONS += ftcid.c ++ ++# Access FSType information. Needs `fttype1.c'. ++# ++# See include/freetype/freetype.h for the API. ++BASE_EXTENSIONS += ftfstype.c ++ ++# Support for GASP table queries. ++# ++# See include/freetype/ftgasp.h for the API. ++BASE_EXTENSIONS += ftgasp.c ++ ++# Convenience functions to handle glyphs. Needs `ftbitmap.c'. ++# ++# See include/freetype/ftglyph.h for the API. ++BASE_EXTENSIONS += ftglyph.c ++ ++# Interface for gxvalid module. ++# ++# See include/freetype/ftgxval.h for the API. ++BASE_EXTENSIONS += ftgxval.c ++ ++# Multiple Master font interface. ++# ++# See include/freetype/ftmm.h for the API. ++BASE_EXTENSIONS += ftmm.c ++ ++# Interface for otvalid module. ++# ++# See include/freetype/ftotval.h for the API. ++BASE_EXTENSIONS += ftotval.c ++ ++# Support for FT_Face_CheckTrueTypePatents. ++# ++# See include/freetype/freetype.h for the API. ++BASE_EXTENSIONS += ftpatent.c ++ ++# Interface for accessing PFR-specific data. Needs PFR font driver. ++# ++# See include/freetype/ftpfr.h for the API. ++BASE_EXTENSIONS += ftpfr.c ++ ++# Path stroker. Needs `ftglyph.c'. ++# ++# See include/freetype/ftstroke.h for the API. ++BASE_EXTENSIONS += ftstroke.c ++ ++# Support for synthetic emboldening and slanting of fonts. Needs ++# `ftbitmap.c'. ++# ++# See include/freetype/ftsynth.h for the API. ++BASE_EXTENSIONS += ftsynth.c ++ ++# Interface to access data specific to PostScript Type 1 and Type 2 (CFF) ++# fonts. ++# ++# See include/freetype/t1tables.h for the API. ++BASE_EXTENSIONS += fttype1.c ++ ++# Interface for accessing data specific to Windows FNT files. Needs winfnt ++# driver. ++# ++# See include/freetype/ftwinfnt.h for the API. ++BASE_EXTENSIONS += ftwinfnt.c ++ ++#### ++#### The components `ftsystem.c' (for memory allocation and stream I/O ++#### management) and `ftdebug.c' (for emitting debug messages to the user) ++#### are controlled with the following variables. ++#### ++#### ftsystem.c: $(FTSYS_SRC) ++#### ftdebug.c: $(FTDEBUG_SRC) ++#### ++#### Please refer to docs/CUSTOMIZE for details. ++#### ++ ++ ++# EOF diff --git a/freetype-2.3.0-enable-spr.patch b/freetype-2.3.0-enable-spr.patch index 1796c51..1741ae7 100644 --- a/freetype-2.3.0-enable-spr.patch +++ b/freetype-2.3.0-enable-spr.patch @@ -1,6 +1,6 @@ -diff -rupN --no-dereference freetype-2.11.1/include/freetype/config/ftoption.h freetype-2.11.1-new/include/freetype/config/ftoption.h ---- freetype-2.11.1/include/freetype/config/ftoption.h 2021-07-15 12:09:04.000000000 +0200 -+++ freetype-2.11.1-new/include/freetype/config/ftoption.h 2021-12-15 20:32:31.942020565 +0100 +diff -rupN --no-dereference freetype-2.12.0/include/freetype/config/ftoption.h freetype-2.12.0-new/include/freetype/config/ftoption.h +--- freetype-2.12.0/include/freetype/config/ftoption.h 2022-01-27 08:43:19.000000000 +0100 ++++ freetype-2.12.0-new/include/freetype/config/ftoption.h 2022-04-26 07:57:13.939393267 +0200 @@ -123,7 +123,7 @@ FT_BEGIN_HEADER * When this macro is not defined, FreeType offers alternative LCD * rendering technology that produces excellent output. diff --git a/mingw-freetype.spec b/mingw-freetype.spec index f4c3404..a12f523 100644 --- a/mingw-freetype.spec +++ b/mingw-freetype.spec @@ -2,8 +2,8 @@ Name: mingw-freetype # NOTE See comment for Patch2 below -Version: 2.11.1 -Release: 3%{?dist} +Version: 2.12.0 +Release: 1%{?dist} Summary: Free and portable font rendering engine License: FTL or GPLv2+ @@ -21,7 +21,9 @@ Patch2: freetype-2.10.0-internal-outline.patch BuildArch: noarch -BuildRequires: make +BuildRequires: gcc +BuildRequires: make + BuildRequires: mingw32-filesystem >= 95 BuildRequires: mingw32-gcc BuildRequires: mingw32-binutils @@ -36,8 +38,6 @@ BuildRequires: mingw64-zlib BuildRequires: mingw64-bzip2 BuildRequires: mingw64-libpng -BuildRequires: gcc - %description MinGW Windows Freetype library. @@ -133,6 +133,9 @@ rm -rf %{buildroot}%{mingw32_mandir} %{buildroot}%{mingw64_mandir} %changelog +* Tue Apr 26 2022 Sandro Mani - 2.12.0-1 +- Update to 2.12.0 + * Fri Mar 25 2022 Sandro Mani - 2.11.1-3 - Rebuild with mingw-gcc-12 diff --git a/sources b/sources index 573172e..88ce809 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (freetype-2.11.1.tar.xz) = 0848678482fbe20603a866f02da82c91122014d6f815ba4f1d9c03601c32e3ceb781f721c2b4427b6117d7c9742018af8dbb26566faf018595c70b50f8db3f08 +SHA512 (freetype-2.12.0.tar.xz) = d2426b46ef56268f5030951840a73be9a626129c6fc6ad2ab06e572c9325d0192f47b007798c2ffa3608fe50e296ad129ac41312b1fd3f8864d7e55e8c237c54