Accepting request 574633 from M17N

Define PCF_CONFIG_OPTION_LONG_FAMILY_NAMES to achieve 2.7.1 behaviour

OBS-URL: https://build.opensuse.org/request/show/574633
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/freetype2?expand=0&rev=79
This commit is contained in:
Dominique Leuenberger 2018-02-10 16:56:05 +00:00 committed by Git OBS Bridge
commit 473fcddd29
16 changed files with 282 additions and 43 deletions

View File

@ -0,0 +1,21 @@
--- a/src/truetype/ttinterp.c
+++ b/src/truetype/ttinterp.c
@@ -7532,8 +7532,16 @@
return;
}
- for ( i = 0; i < num_axes; i++ )
- args[i] = coords[i] >> 2; /* convert 16.16 to 2.14 format */
+ if ( coords )
+ {
+ for ( i = 0; i < num_axes; i++ )
+ args[i] = coords[i] >> 2; /* convert 16.16 to 2.14 format */
+ }
+ else
+ {
+ for ( i = 0; i < num_axes; i++ )
+ args[i] = 0;
+ }
}

View File

@ -0,0 +1,14 @@
--- a/src/truetype/ttgxvar.c
+++ b/src/truetype/ttgxvar.c
@@ -2821,8 +2821,9 @@
}
}
- /* return value -1 indicates `no change' */
- if ( !have_diff )
+ /* return value -1 indicates `no change'; */
+ /* we can exit early if `normalizedcoords' is already computed */
+ if ( blend->normalizedcoords && !have_diff )
return -1;
if ( FT_NEW_ARRAY( normalized, mmvar->num_axis ) )

View File

@ -2,11 +2,11 @@
src/base/ftobjs.c | 5 +++++
1 file changed, 5 insertions(+)
Index: freetype-2.6.1/src/base/ftobjs.c
Index: freetype-2.9/src/base/ftobjs.c
===================================================================
--- freetype-2.6.1.orig/src/base/ftobjs.c
+++ freetype-2.6.1/src/base/ftobjs.c
@@ -2267,6 +2267,11 @@
--- freetype-2.9.orig/src/base/ftobjs.c
+++ freetype-2.9/src/base/ftobjs.c
@@ -2540,6 +2540,11 @@
if ( FT_IS_SCALABLE( face ) )
{

View File

@ -1,8 +1,8 @@
Index: freetype-2.6.1/builds/unix/configure
Index: freetype-2.9/builds/unix/configure
===================================================================
--- freetype-2.6.1.orig/builds/unix/configure
+++ freetype-2.6.1/builds/unix/configure
@@ -14096,7 +14096,6 @@ esac
--- freetype-2.9.orig/builds/unix/configure
+++ freetype-2.9/builds/unix/configure
@@ -14487,7 +14487,6 @@ esac
# entries in Requires.private are separated by commas;
REQUIRES_PRIVATE="$zlib_reqpriv, \
$bzip2_reqpriv, \
@ -10,7 +10,7 @@ Index: freetype-2.6.1/builds/unix/configure
$harfbuzz_reqpriv"
# beautify
REQUIRES_PRIVATE=`echo "$REQUIRES_PRIVATE" \
@@ -14110,7 +14109,6 @@ REQUIRES_PRIVATE=`echo "$REQUIRES_PRIVAT
@@ -14501,7 +14500,6 @@ REQUIRES_PRIVATE=`echo "$REQUIRES_PRIVAT
LIBS_PRIVATE="$zlib_libspriv \
$bzip2_libspriv \
@ -18,7 +18,7 @@ Index: freetype-2.6.1/builds/unix/configure
$harfbuzz_libspriv \
$ft2_extra_libs"
# beautify
@@ -14122,7 +14120,6 @@ LIBS_PRIVATE=`echo "$LIBS_PRIVATE" \
@@ -14513,7 +14511,6 @@ LIBS_PRIVATE=`echo "$LIBS_PRIVATE" \
LIBSSTATIC_CONFIG="-lfreetype \
$zlib_libsstaticconf \
$bzip2_libsstaticconf \
@ -26,11 +26,11 @@ Index: freetype-2.6.1/builds/unix/configure
$harfbuzz_libsstaticconf \
$ft2_extra_libs"
# remove -L/usr/lib and -L/usr/lib64 since `freetype-config' adds them later
Index: freetype-2.6.1/builds/unix/configure.raw
Index: freetype-2.9/builds/unix/configure.raw
===================================================================
--- freetype-2.6.1.orig/builds/unix/configure.raw
+++ freetype-2.6.1/builds/unix/configure.raw
@@ -918,7 +918,6 @@ esac
--- freetype-2.9.orig/builds/unix/configure.raw
+++ freetype-2.9/builds/unix/configure.raw
@@ -938,7 +938,6 @@ esac
# entries in Requires.private are separated by commas;
REQUIRES_PRIVATE="$zlib_reqpriv, \
$bzip2_reqpriv, \
@ -38,7 +38,7 @@ Index: freetype-2.6.1/builds/unix/configure.raw
$harfbuzz_reqpriv"
# beautify
REQUIRES_PRIVATE=`echo "$REQUIRES_PRIVATE" \
@@ -932,7 +931,6 @@ REQUIRES_PRIVATE=`echo "$REQUIRES_PRIVAT
@@ -952,7 +951,6 @@ REQUIRES_PRIVATE=`echo "$REQUIRES_PRIVAT
LIBS_PRIVATE="$zlib_libspriv \
$bzip2_libspriv \
@ -46,7 +46,7 @@ Index: freetype-2.6.1/builds/unix/configure.raw
$harfbuzz_libspriv \
$ft2_extra_libs"
# beautify
@@ -944,7 +942,6 @@ LIBS_PRIVATE=`echo "$LIBS_PRIVATE" \
@@ -964,7 +962,6 @@ LIBS_PRIVATE=`echo "$LIBS_PRIVATE" \
LIBSSTATIC_CONFIG="-lfreetype \
$zlib_libsstaticconf \
$bzip2_libsstaticconf \

View File

@ -0,0 +1,11 @@
--- a/include/freetype/config/ftoption.h
+++ b/include/freetype/config/ftoption.h
@@ -856,7 +856,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. */
/* */
-/* #define PCF_CONFIG_OPTION_LONG_FAMILY_NAMES */
+#define PCF_CONFIG_OPTION_LONG_FAMILY_NAMES
/*************************************************************************/

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3a3bb2c4e15ffb433f2032f50a5b5a92558206822e22bfe8cbe339af4aa82f88
size 1825107

3
freetype-2.9.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e6ffba3c8cef93f557d1f767d7bc3dee860ac7a3aaff588a521e081bc36f4c8a
size 1915013

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8e09cf22d1c98006fe3af160b7c3b7c847e4a3743963d6d89314d350b859dfb0
size 2127460

3
freetype-doc-2.9.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7bbc3b067a465ae62484ba097c6d468ab0724c30b3d6329c77324c8901d03d78
size 2128135

View File

@ -1,3 +1,118 @@
-------------------------------------------------------------------
Fri Feb 9 11:11:36 UTC 2018 - fstrba@suse.com
- Added patch:
* enable-long-family-names-by-default.patch
+ Define PCF_CONFIG_OPTION_LONG_FAMILY_NAMES to obtain 2.7.1
behaviour
-------------------------------------------------------------------
Wed Feb 7 09:17:10 UTC 2018 - fstrba@suse.com
- Added patches:
* 0001-src-truetype-ttinterp.c-Ins_GETVARIATION-Avoid-NULL-.patch
+ Upstream fix for bsc#1079603: Avoid NULL reference in
src/truetype/ttinterp.c
* 0001-truetype-Better-protection-against-invalid-VF-data.patch
+ Upstream fix for bsc#1079601: Protection against invalid VF
data
-------------------------------------------------------------------
Wed Jan 10 10:32:25 UTC 2018 - idonmez@suse.com
- Add psaux-flex.patch to fix a regression in Type1 rendering
-------------------------------------------------------------------
Tue Jan 9 11:34:51 UTC 2018 - idonmez@suse.com
- Update to version 2.9
* Advance width values of variation fonts were often wrong.
* More fixes for variation font support; you should update to
this version if you want to support them.
* As a GSoC project, Ewald Hew extended the new (Adobe) CFF
engine to handle Type 1 fonts also, thus greatly improving
the rendering of this format. This is the new default.
* A new function, `FT_Set_Named_Instance', can be used to set
or change the current named instance.
* Starting with this FreeType version, resetting variation
coordinates will return to the currently selected named
instance. Previously, FreeType returned to the base font
(i.e., no instance set).
* Some fuzzer fixes to better reject malformed fonts.
-------------------------------------------------------------------
Mon Sep 18 09:15:41 UTC 2017 - idonmez@suse.com
- Update to version 2.8.1
* B/W hinting of TrueType fonts didn't work properly if
interpreter version 38 or 40 was selected.
* Some severe problems within the handling of TrueType Variation
Fonts were found and fixed.
* Function `FT_Set_Var_Design_Coordinates' didn't correctly handle
the case with less input coordinates than axes.
* By default, FreeType now offers high quality LCD-optimized
output without resorting to ClearType techniques of resolution
tripling and filtering. In this method, called Harmony, each
color channel is generated separately after shifting the glyph
outline, capitalizing on the fact that the color grids on LCD
panels are shifted by a third of a pixel. This output is
indistinguishable from ClearType with a light 3-tap filter.
* Using the new function `FT_Get_Var_Axis_Flags', an application
can access the `flags' field of a variation axis (introduced in
OpenType version 1.8.2)
* FreeType now synthesizes a missing Unicode cmap for (older)
TrueType fonts also if glyph names are available.
* The warping option has moved from `light' to `normal' hinting
where it replaces the original hinting algorithm. The `light'
mode is now always void of any hinting in x-direction.
-------------------------------------------------------------------
Mon May 15 10:36:18 UTC 2017 - idoenmez@suse.de
- Update to version 2.8
* Support for OpenType Variation Fonts is now complete. The last
missing part was handling the `VVAR' and `MVAR' tables, which is
available with this release.
* A new function `FT_Face_Properties' allows the control of some
module and library properties per font. Currently, the
following properties can be handled: stem darkening, LCD filter
weights, and the random seed for the `random' CFF operator.
* The PCF change to show more `colourful' family names (introduced
in version 2.7.1) was too radical; it can now be configured with
PCF_CONFIG_OPTION_LONG_FAMILY_NAMES at compile time. If
activated, it can be switched off at run time with the new pcf
property `no-long-family-names'. If the `FREETYPE_PROPERTIES'
environment variable is available, you can say
FREETYPE_PROPERTIES=pcf:no-long-family-names=1
* Support for the following scripts has been added to the
auto-hinter.
Adlam, Avestan, Bamum, Buhid, Carian, Chakma, Coptic, Cypriot,
Deseret, Glagolitic, Gothic, Kayah, Lisu, N'Ko, Ol Chiki, Old
Turkic, Osage, Osmanya, Saurashtra, Shavian, Sundanese, Tai
Viet, Tifinagh, Unified Canadian Syllabics, Vai
* `Light' auto-hinting mode no longer uses TrueType metrics for
TrueType fonts. This bug was introduced in version 2.4.6,
causing horizontal scaling also. Almost all GNU/Linux
distributions (with Fedora as a notable exception) disabled the
corresponding patch for good reasons; chances are thus high that
you won't notice a difference.
* If a TrueType font gets loaded with FT_LOAD_NO_HINTING, FreeType
now scales the font linearly again (bug introduced in version
2.4.6).
* Fixed CVE-2017-8105, CVE-2017-8287: Older FreeType versions
have out-of-bounds writes caused by heap-based buffer overflows
related to Type 1 fonts. (boo#1035807, boo#1036457)
- See https://sourceforge.net/projects/freetype/files/freetype2/2.8/ for
the complete changelog.
-------------------------------------------------------------------
Sun Jan 1 11:58:27 UTC 2017 - idonmez@suse.com

View File

@ -1,7 +1,7 @@
#
# spec file for package freetype2
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -17,20 +17,25 @@
#
%define doc_version 2.7.1
%define doc_version 2.9
Name: freetype2
Version: 2.7.1
Version: 2.9
Release: 0
Summary: A TrueType Font Library
License: SUSE-Freetype or GPL-2.0+
Group: System/Libraries
Url: http://www.freetype.org
Source0: http://download.savannah.gnu.org/releases/freetype/freetype-%{version}.tar.bz2
Source1: http://download.savannah.gnu.org/releases/freetype/freetype-doc-%{doc_version}.tar.bz2
Url: https://www.freetype.org
Source0: https://download.savannah.gnu.org/releases/freetype/freetype-%{version}.tar.bz2
Source1: https://download.savannah.gnu.org/releases/freetype/freetype-doc-%{doc_version}.tar.bz2
Source3: baselibs.conf
Patch0: bugzilla-308961-cmex-workaround.patch
# PATCH-FIX-OPENSUSE don-t-mark-libpng-as-required-library.patch -- it is private in .pc
Patch202: don-t-mark-libpng-as-required-library.patch
Patch308961: bugzilla-308961-cmex-workaround.patch
Patch1: don-t-mark-libpng-as-required-library.patch
# PATCH-FIX-UPSTREAM psaux-flex.patch -- Upstream commit cc2f3cdecff5a351e7e8961b9f2e389ab740231a
Patch2: psaux-flex.patch
Patch3: 0001-src-truetype-ttinterp.c-Ins_GETVARIATION-Avoid-NULL-.patch
Patch4: 0001-truetype-Better-protection-against-invalid-VF-data.patch
Patch5: enable-long-family-names-by-default.patch
BuildRequires: gawk
BuildRequires: libbz2-devel
BuildRequires: libpng-devel
@ -80,8 +85,12 @@ It also contains a small tutorial for using that library.
%prep
%setup -q -n freetype-%{version} -a 1
%patch308961 -p 1
%patch202 -p1
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%build
export CFLAGS="%{optflags} -std=gnu99 -D_GNU_SOURCE $(getconf LFS_CFLAGS)"

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d3f8a0d5a3f0d58701133458a8c1d3f97f658869f3c904b1fda447ed3b290ecd
size 222288

3
ft2demos-2.9.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:874b20b6ebe514ba6acf9f6d1d63df21723206996179198121a68fd1f86cdee7
size 230926

View File

@ -1,3 +1,36 @@
-------------------------------------------------------------------
Tue Jan 9 11:36:27 UTC 2018 - idonmez@suse.com
- Update to version 2.9
* The `ftbench' demo program has a new test for opening a new
face and loading some glyphs.
* The `ftbench' demo program has a new option `-j' to specify
the last glyph index to be used in the tests.
* The `ftgrid' demo program has a new option `-n' to suppress
display of named instances of variation fonts.
* The `ttdebug' demo program can now show a stack trace (key `K')
and switch between hexadecimal and decimal display of integers
(key `I').
-------------------------------------------------------------------
Mon Sep 18 09:17:19 UTC 2017 - idonmez@suse.com
- Update to version 2.8.1
* The ftgrid demo program can now toggle the display of grid lines
with the G key.
* The ftgrid demo program can toggle a different set of colors
(suitable to color-blind people) with the C key.
* The ftgrid demo program now supports the -e command line option
to select a cmap.
* The ftdump demo program has a new command line option -t to
output the SFNT table list.
-------------------------------------------------------------------
Mon May 15 10:41:10 UTC 2017 - idonmez@suse.com
- A mode to display light auto-hinting with sub-pixel positioning
has been added to `ftdiff'.
-------------------------------------------------------------------
Mon Apr 3 16:08:34 UTC 2017 - fstrba@suse.com

View File

@ -1,7 +1,7 @@
#
# spec file for package ft2demos
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -16,16 +16,16 @@
#
%define freetype_version 2.7.1
%define freetype_version 2.9
Name: ft2demos
Version: 2.7.1
Version: 2.9
Release: 0
Summary: Freetype2 Utilities and Demo Programs
License: GPL-2.0+
Group: Productivity/Publishing/Other
Url: http://www.freetype.org
Source0: http://savannah.nongnu.org/download/freetype/freetype-%{freetype_version}.tar.bz2
Source1: http://savannah.nongnu.org/download/freetype/ft2demos-%{version}.tar.bz2
Url: https://www.freetype.org
Source0: https://savannah.nongnu.org/download/freetype/freetype-%{freetype_version}.tar.bz2
Source1: https://savannah.nongnu.org/download/freetype/ft2demos-%{version}.tar.bz2
Source1000: bnc628213_test.otf
Source1004: bnc629447_sigsegv31.ttf
Source1013: bnc633938_badbdf.0
@ -183,7 +183,7 @@ pushd ..
cd ft2demos-%{version}
make %{?_smp_mflags}
cd src
cd src/ftinspect
qmake-qt5 ftinspect.pro
make
popd
@ -192,7 +192,7 @@ popd
mkdir -p %{buildroot}%{_bindir}
pushd ../ft2demos-%{version}/bin/.libs
install -m 755 ft* %{buildroot}%{_bindir}
install -m 755 ../../src/ftinspect %{buildroot}%{_bindir}
install -m 755 ../../src/ftinspect/ftinspect %{buildroot}%{_bindir}
popd
%check

36
psaux-flex.patch Normal file
View File

@ -0,0 +1,36 @@
From cc2f3cdecff5a351e7e8961b9f2e389ab740231a Mon Sep 17 00:00:00 2001
From: Ewald Hew <ewaldhew@gmail.com>
Date: Wed, 10 Jan 2018 13:24:56 +0800
Subject: [psaux] Correctly handle Flex features (#52846).
* src/psaux/psintrp.c (cf2_interpT2CharString) <cf2_cmdVMOVETO,
cf2_cmdHMOVETO>: Do not move if doing Flex.
---
ChangeLog | 7 +++++++
src/psaux/psintrp.c | 6 ++++--
2 files changed, 11 insertions(+), 2 deletions(-)
Index: freetype-2.9/src/psaux/psintrp.c
===================================================================
--- freetype-2.9.orig/src/psaux/psintrp.c
+++ freetype-2.9/src/psaux/psintrp.c
@@ -852,7 +852,8 @@
curY = ADD_INT32( curY, cf2_stack_popFixed( opStack ) );
- cf2_glyphpath_moveTo( &glyphPath, curX, curY );
+ if ( !decoder->flex_state )
+ cf2_glyphpath_moveTo( &glyphPath, curX, curY );
break;
@@ -2674,7 +2675,8 @@
curX = ADD_INT32( curX, cf2_stack_popFixed( opStack ) );
- cf2_glyphpath_moveTo( &glyphPath, curX, curY );
+ if ( !decoder->flex_state )
+ cf2_glyphpath_moveTo( &glyphPath, curX, curY );
break;