Update mingw-w64-freetype2 to 2.11.0

This commit is contained in:
Martchus 2021-08-26 20:54:38 +02:00
parent fef0fb7add
commit cb49e66334
15 changed files with 209 additions and 41 deletions

View File

@ -8,10 +8,10 @@ Subject: [PATCH] Enable table validation modules
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/modules.cfg b/modules.cfg
index d6cdbe523..181f91541 100644
index 30f7fac45a..a9a4703989 100644
--- a/modules.cfg
+++ b/modules.cfg
@@ -111,26 +111,26 @@ AUX_MODULES += cache
@@ -114,26 +114,26 @@ AUX_MODULES += cache
# TrueType GX/AAT table validation. Needs `ftgxval.c' below.
#

View File

@ -8,10 +8,10 @@ Subject: [PATCH] Enable subpixel rendering
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/freetype/config/ftoption.h b/include/freetype/config/ftoption.h
index 097f19b8a..e5de62e35 100644
index 4227fd376e..32da3fa039 100644
--- a/include/freetype/config/ftoption.h
+++ b/include/freetype/config/ftoption.h
@@ -124,7 +124,7 @@ FT_BEGIN_HEADER
@@ -123,7 +123,7 @@ FT_BEGIN_HEADER
* When this macro is not defined, FreeType offers alternative LCD
* rendering technology that produces excellent output.
*/

View File

@ -8,10 +8,10 @@ Subject: [PATCH] Enable infinality subpixel hinting
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/include/freetype/config/ftoption.h b/include/freetype/config/ftoption.h
index e5de62e35..acb4d6d6a 100644
index 32da3fa039..0dd4021e24 100644
--- a/include/freetype/config/ftoption.h
+++ b/include/freetype/config/ftoption.h
@@ -672,8 +672,8 @@ FT_BEGIN_HEADER
@@ -688,8 +688,8 @@ FT_BEGIN_HEADER
* https://www.microsoft.com/typography/cleartype/truetypecleartype.aspx
*/
/* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING 1 */

View File

@ -8,10 +8,10 @@ Subject: [PATCH] Enable long PCF family names
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/freetype/config/ftoption.h b/include/freetype/config/ftoption.h
index acb4d6d6a..efa13b9c6 100644
index 0dd4021e24..8da3073b6d 100644
--- a/include/freetype/config/ftoption.h
+++ b/include/freetype/config/ftoption.h
@@ -861,7 +861,7 @@ FT_BEGIN_HEADER
@@ -877,7 +877,7 @@ FT_BEGIN_HEADER
* If this option is activated, it can be controlled with the
* `no-long-family-names` property of the 'pcf' driver module.
*/

View File

@ -0,0 +1,35 @@
From d7f649f283763af099256eb2d5e326df601c3e76 Mon Sep 17 00:00:00 2001
From: Anuj Verma <anujv@iitbhilai.ac.in>
Date: Mon, 16 Aug 2021 07:48:09 +0530
Subject: [PATCH] [sdf] Return `FT_Err_Ok` while trying to render bitmap.
* src/sdf/ftsdfrend.c (ft_bsdf_render): Return OK if the slot is
a bitmap and the render mode is anything other than `FT_RENDER_MODE_SDF`.
This is for compatibility reasons.
Fixes issue #1076
---
src/sdf/ftsdfrend.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/sdf/ftsdfrend.c b/src/sdf/ftsdfrend.c
index 30f2e62a4..5686c0bf5 100644
--- a/src/sdf/ftsdfrend.c
+++ b/src/sdf/ftsdfrend.c
@@ -502,8 +502,11 @@
/* check whether render mode is correct */
if ( mode != FT_RENDER_MODE_SDF )
{
- error = FT_THROW( Cannot_Render_Glyph );
- goto Exit;
+ FT_TRACE0(( "ft_bsdf_render: trying to render bitmap\n" ));
+
+ /* return OK since the slot is already a bitmap */
+ error = FT_Err_Ok;
+ return error;
}
if ( origin )
--
GitLab

View File

@ -0,0 +1,41 @@
From 6e9d8d314ff6ab23177b9162c0b96616460bb84e Mon Sep 17 00:00:00 2001
From: Alexei Podtelezhnikov <apodtele@gmail.com>
Date: Fri, 20 Aug 2021 16:01:32 -0400
Subject: [PATCH] [base] Restore quiet no-op rendering of bitmap glyphs.
Fixes #1076.
* src/base/ftobjs.c (FT_Render_Glyph_Internal): Discard an error when
rendering a bitmap glyph.
---
src/base/ftobjs.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/base/ftobjs.c b/src/base/ftobjs.c
index 342ac4a27..7b40c6421 100644
--- a/src/base/ftobjs.c
+++ b/src/base/ftobjs.c
@@ -4703,7 +4703,7 @@
else
renderer = FT_Lookup_Renderer( library, slot->format, &node );
- error = FT_ERR( Unimplemented_Feature );
+ error = FT_ERR( Cannot_Render_Glyph );
while ( renderer )
{
error = renderer->render( renderer, slot, render_mode, NULL );
@@ -4719,6 +4719,11 @@
/* format. */
renderer = FT_Lookup_Renderer( library, slot->format, &node );
}
+
+ /* it is not an error if we cannot render a bitmat glyph */
+ if ( FT_ERR_EQ( error, Cannot_Render_Glyph ) &&
+ slot->format == FT_GLYPH_FORMAT_BITMAP )
+ error = FT_Err_Ok;
}
}
--
GitLab

View File

@ -4,14 +4,14 @@
# you also find the URL of a binary repository.
pkgname=mingw-w64-freetype2-bootstrap
pkgver=2.10.4
pkgver=2.11.0
pkgrel=1
pkgdesc='Font rasterization library (mingw-w64)'
arch=('any')
url='https://www.freetype.org/'
license=('GPL')
depends=(mingw-w64-crt mingw-w64-zlib mingw-w64-bzip2)
makedepends=(mingw-w64-gcc mingw-w64-configure)
depends=(mingw-w64-crt mingw-w64-zlib mingw-w64-bzip2 mingw-w64-brotli)
makedepends=(mingw-w64-gcc mingw-w64-meson)
provides=(mingw-w64-freetype)
replaces=(mingw-w64-freetype)
conflicts=(mingw-w64-freetype)
@ -20,13 +20,17 @@ source=(https://download-mirror.savannah.gnu.org/releases/freetype/freetype-$pkg
0001-Enable-table-validation-modules.patch
0002-Enable-subpixel-rendering.patch
0003-Enable-infinality-subpixel-hinting.patch
0004-Enable-long-PCF-family-names.patch)
sha256sums=('86a854d8905b19698bbc8f23b860bc104246ce4854dcea8e3b0fb21284f75784'
0004-Enable-long-PCF-family-names.patch
0006-Return_FT_Err_Ok_while_trying_to_render_bitmap.patch
0007-Restore_quiet_no-op_rendering_of_bitmap_glyphs.patch)
sha256sums=('8bee39bd3968c4804b70614a0a3ad597299ad0e824bc8aad5ce8aaf48067bde7'
'SKIP'
'f41df4f336d5e82e58733c7a4594476c9216cfc85c096327745a7e1b559e17e1'
'dc77c1cfee4bf8e7e0690628c95d211df09e0d0750e4c8f075b78b5f105514f7'
'21a62bc12b848320c686d602d8d4e3bcd51294a9def4dc9c301736e077b59f3f'
'266384222f87a02fb02b2179828f6c26fe6d7b1fd09d1f7e3734e7fcb09cda2e')
'e606bdba5c0ee698902886140e4643551ffc8327b1b7d2b0c9129d1f93b1f36c'
'17ab1609cdbcaba3c5975f5cf1ffd078e067d560f906d5507390d41997e6c468'
'561d2f2503d180b796f868470612610f6d7fcb34efa0620ecab38fd39002e27a'
'9c068a984e7b9a27ff9e709839d522b66815ac4e8c7a5bd4ea0224335f7f2ef6'
'2b13b8cc9acc3e56be6b0f8102d648864227bf93637bc956d5052c77c8509782'
'21a2d243bc6b44d1cdb88ef29af2bd5ceda8d0faaf928bdc2c078a474ddc61f1')
validpgpkeys=(58E0C111E39F5408C5D3EC76C1A60EACE707FDA5) # Werner Lemberg <wl@gnu.org>
if [[ $pkgname = 'mingw-w64-freetype2-bootstrap' ]]; then
@ -50,23 +54,27 @@ prepare() {
patch -Np1 -i ../0002-Enable-subpixel-rendering.patch
patch -Np1 -i ../0003-Enable-infinality-subpixel-hinting.patch
patch -Np1 -i ../0004-Enable-long-PCF-family-names.patch
# https://gitlab.freedesktop.org/freetype/freetype/-/issues/1076
patch -Np1 -i ../0006-Return_FT_Err_Ok_while_trying_to_render_bitmap.patch
patch -Np1 -i ../0007-Restore_quiet_no-op_rendering_of_bitmap_glyphs.patch
}
build() {
for _arch in ${_architectures}; do
mkdir -p "${srcdir}/freetype-${pkgver}/build-${_arch}"
cd "${srcdir}/freetype-${pkgver}/build-${_arch}"
${_arch}-configure --with-zlib=/usr/${_arch} --without-png
make
${_arch}-meson --default-library both -D zlib=enabled -D bzip2=enabled -D png=disabled -D brotli=enabled
ninja
done
}
package() {
for _arch in ${_architectures}; do
cd "${srcdir}/freetype-${pkgver}/build-${_arch}"
make DESTDIR="${pkgdir}" install
DESTDIR="${pkgdir}" ninja install
rm -rf "${pkgdir}/usr/${_arch}/share/"
${_arch}-strip -g "${pkgdir}/usr/${_arch}/lib/"*.a
${_arch}-strip --strip-unneeded "$pkgdir"/usr/${_arch}/bin/*.dll
${_arch}-ranlib "${pkgdir}/usr/${_arch}/lib/"*.a
done
}

View File

@ -8,10 +8,10 @@ Subject: [PATCH] Enable table validation modules
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/modules.cfg b/modules.cfg
index d6cdbe523..181f91541 100644
index 30f7fac45a..a9a4703989 100644
--- a/modules.cfg
+++ b/modules.cfg
@@ -111,26 +111,26 @@ AUX_MODULES += cache
@@ -114,26 +114,26 @@ AUX_MODULES += cache
# TrueType GX/AAT table validation. Needs `ftgxval.c' below.
#

View File

@ -8,10 +8,10 @@ Subject: [PATCH] Enable subpixel rendering
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/freetype/config/ftoption.h b/include/freetype/config/ftoption.h
index 097f19b8a..e5de62e35 100644
index 4227fd376e..32da3fa039 100644
--- a/include/freetype/config/ftoption.h
+++ b/include/freetype/config/ftoption.h
@@ -124,7 +124,7 @@ FT_BEGIN_HEADER
@@ -123,7 +123,7 @@ FT_BEGIN_HEADER
* When this macro is not defined, FreeType offers alternative LCD
* rendering technology that produces excellent output.
*/

View File

@ -8,10 +8,10 @@ Subject: [PATCH] Enable infinality subpixel hinting
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/include/freetype/config/ftoption.h b/include/freetype/config/ftoption.h
index e5de62e35..acb4d6d6a 100644
index 32da3fa039..0dd4021e24 100644
--- a/include/freetype/config/ftoption.h
+++ b/include/freetype/config/ftoption.h
@@ -672,8 +672,8 @@ FT_BEGIN_HEADER
@@ -688,8 +688,8 @@ FT_BEGIN_HEADER
* https://www.microsoft.com/typography/cleartype/truetypecleartype.aspx
*/
/* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING 1 */

View File

@ -8,10 +8,10 @@ Subject: [PATCH] Enable long PCF family names
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/freetype/config/ftoption.h b/include/freetype/config/ftoption.h
index acb4d6d6a..efa13b9c6 100644
index 0dd4021e24..8da3073b6d 100644
--- a/include/freetype/config/ftoption.h
+++ b/include/freetype/config/ftoption.h
@@ -861,7 +861,7 @@ FT_BEGIN_HEADER
@@ -877,7 +877,7 @@ FT_BEGIN_HEADER
* If this option is activated, it can be controlled with the
* `no-long-family-names` property of the 'pcf' driver module.
*/

View File

@ -0,0 +1,35 @@
From d7f649f283763af099256eb2d5e326df601c3e76 Mon Sep 17 00:00:00 2001
From: Anuj Verma <anujv@iitbhilai.ac.in>
Date: Mon, 16 Aug 2021 07:48:09 +0530
Subject: [PATCH] [sdf] Return `FT_Err_Ok` while trying to render bitmap.
* src/sdf/ftsdfrend.c (ft_bsdf_render): Return OK if the slot is
a bitmap and the render mode is anything other than `FT_RENDER_MODE_SDF`.
This is for compatibility reasons.
Fixes issue #1076
---
src/sdf/ftsdfrend.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/sdf/ftsdfrend.c b/src/sdf/ftsdfrend.c
index 30f2e62a4..5686c0bf5 100644
--- a/src/sdf/ftsdfrend.c
+++ b/src/sdf/ftsdfrend.c
@@ -502,8 +502,11 @@
/* check whether render mode is correct */
if ( mode != FT_RENDER_MODE_SDF )
{
- error = FT_THROW( Cannot_Render_Glyph );
- goto Exit;
+ FT_TRACE0(( "ft_bsdf_render: trying to render bitmap\n" ));
+
+ /* return OK since the slot is already a bitmap */
+ error = FT_Err_Ok;
+ return error;
}
if ( origin )
--
GitLab

View File

@ -0,0 +1,41 @@
From 6e9d8d314ff6ab23177b9162c0b96616460bb84e Mon Sep 17 00:00:00 2001
From: Alexei Podtelezhnikov <apodtele@gmail.com>
Date: Fri, 20 Aug 2021 16:01:32 -0400
Subject: [PATCH] [base] Restore quiet no-op rendering of bitmap glyphs.
Fixes #1076.
* src/base/ftobjs.c (FT_Render_Glyph_Internal): Discard an error when
rendering a bitmap glyph.
---
src/base/ftobjs.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/base/ftobjs.c b/src/base/ftobjs.c
index 342ac4a27..7b40c6421 100644
--- a/src/base/ftobjs.c
+++ b/src/base/ftobjs.c
@@ -4703,7 +4703,7 @@
else
renderer = FT_Lookup_Renderer( library, slot->format, &node );
- error = FT_ERR( Unimplemented_Feature );
+ error = FT_ERR( Cannot_Render_Glyph );
while ( renderer )
{
error = renderer->render( renderer, slot, render_mode, NULL );
@@ -4719,6 +4719,11 @@
/* format. */
renderer = FT_Lookup_Renderer( library, slot->format, &node );
}
+
+ /* it is not an error if we cannot render a bitmat glyph */
+ if ( FT_ERR_EQ( error, Cannot_Render_Glyph ) &&
+ slot->format == FT_GLYPH_FORMAT_BITMAP )
+ error = FT_Err_Ok;
}
}
--
GitLab

View File

@ -4,14 +4,14 @@
# you also find the URL of a binary repository.
pkgname=mingw-w64-freetype2
pkgver=2.10.4
pkgver=2.11.0
pkgrel=1
pkgdesc='Font rasterization library (mingw-w64)'
arch=('any')
url='https://www.freetype.org/'
license=('GPL')
depends=(mingw-w64-crt mingw-w64-zlib mingw-w64-bzip2)
makedepends=(mingw-w64-gcc mingw-w64-configure)
depends=(mingw-w64-crt mingw-w64-zlib mingw-w64-bzip2 mingw-w64-brotli)
makedepends=(mingw-w64-gcc mingw-w64-meson)
provides=(mingw-w64-freetype)
replaces=(mingw-w64-freetype)
conflicts=(mingw-w64-freetype)
@ -20,13 +20,17 @@ source=(https://download-mirror.savannah.gnu.org/releases/freetype/freetype-$pkg
0001-Enable-table-validation-modules.patch
0002-Enable-subpixel-rendering.patch
0003-Enable-infinality-subpixel-hinting.patch
0004-Enable-long-PCF-family-names.patch)
sha256sums=('86a854d8905b19698bbc8f23b860bc104246ce4854dcea8e3b0fb21284f75784'
0004-Enable-long-PCF-family-names.patch
0006-Return_FT_Err_Ok_while_trying_to_render_bitmap.patch
0007-Restore_quiet_no-op_rendering_of_bitmap_glyphs.patch)
sha256sums=('8bee39bd3968c4804b70614a0a3ad597299ad0e824bc8aad5ce8aaf48067bde7'
'SKIP'
'f41df4f336d5e82e58733c7a4594476c9216cfc85c096327745a7e1b559e17e1'
'dc77c1cfee4bf8e7e0690628c95d211df09e0d0750e4c8f075b78b5f105514f7'
'21a62bc12b848320c686d602d8d4e3bcd51294a9def4dc9c301736e077b59f3f'
'266384222f87a02fb02b2179828f6c26fe6d7b1fd09d1f7e3734e7fcb09cda2e')
'e606bdba5c0ee698902886140e4643551ffc8327b1b7d2b0c9129d1f93b1f36c'
'17ab1609cdbcaba3c5975f5cf1ffd078e067d560f906d5507390d41997e6c468'
'561d2f2503d180b796f868470612610f6d7fcb34efa0620ecab38fd39002e27a'
'9c068a984e7b9a27ff9e709839d522b66815ac4e8c7a5bd4ea0224335f7f2ef6'
'2b13b8cc9acc3e56be6b0f8102d648864227bf93637bc956d5052c77c8509782'
'21a2d243bc6b44d1cdb88ef29af2bd5ceda8d0faaf928bdc2c078a474ddc61f1')
validpgpkeys=(58E0C111E39F5408C5D3EC76C1A60EACE707FDA5) # Werner Lemberg <wl@gnu.org>
if [[ $pkgname = 'mingw-w64-freetype2-bootstrap' ]]; then
@ -50,23 +54,27 @@ prepare() {
patch -Np1 -i ../0002-Enable-subpixel-rendering.patch
patch -Np1 -i ../0003-Enable-infinality-subpixel-hinting.patch
patch -Np1 -i ../0004-Enable-long-PCF-family-names.patch
# https://gitlab.freedesktop.org/freetype/freetype/-/issues/1076
patch -Np1 -i ../0006-Return_FT_Err_Ok_while_trying_to_render_bitmap.patch
patch -Np1 -i ../0007-Restore_quiet_no-op_rendering_of_bitmap_glyphs.patch
}
build() {
for _arch in ${_architectures}; do
mkdir -p "${srcdir}/freetype-${pkgver}/build-${_arch}"
cd "${srcdir}/freetype-${pkgver}/build-${_arch}"
${_arch}-configure --with-zlib=/usr/${_arch} --without-png
make
${_arch}-meson --default-library both -D zlib=enabled -D bzip2=enabled -D png=disabled -D brotli=enabled
ninja
done
}
package() {
for _arch in ${_architectures}; do
cd "${srcdir}/freetype-${pkgver}/build-${_arch}"
make DESTDIR="${pkgdir}" install
DESTDIR="${pkgdir}" ninja install
rm -rf "${pkgdir}/usr/${_arch}/share/"
${_arch}-strip -g "${pkgdir}/usr/${_arch}/lib/"*.a
${_arch}-strip --strip-unneeded "$pkgdir"/usr/${_arch}/bin/*.dll
${_arch}-ranlib "${pkgdir}/usr/${_arch}/lib/"*.a
done
}

View File

@ -15,7 +15,7 @@ elif [[ ! -d $master ]]; then
fi
for dir in *; do
if [[ $dir != $master ]] && [[ -d $dir ]]; then
if [[ $dir != $master ]] && [[ -d $dir ]] && [[ $dir =~ mingw-w64-.* ]]; then
rm "$dir/"* # clean first (files might have been remove in master)
cp "$master/"* "$dir"
sed -e '/pkgname=mingw-w64-freetype2/{c\pkgname=mingw-w64-freetype2'${dir#mingw-w64} -e ';d}' "$master/PKGBUILD" > "$dir/PKGBUILD"