Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package freetype2 for openSUSE:Factory 
checked in at 2026-10-18 19:22:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/freetype2 (Old)
 and      /work/SRC/openSUSE:Factory/.freetype2.new.3698736 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "freetype2"

Sun Oct 18 19:22:34 2026 rev:115 rq:1385543 version:2.15.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/freetype2/freetype2.changes      2026-07-12 
16:20:25.930514711 +0200
+++ /work/SRC/openSUSE:Factory/.freetype2.new.3698736/freetype2.changes 
2026-10-18 19:22:50.437557380 +0200
@@ -1,0 +2,19 @@
+Sat Oct 17 15:30:52 UTC 2026 - Martin Pluskal <[email protected]>
+
+- Update to 2.15.0
+- Important changes
+  * Support for the ISO Open Font Format, Edition 5, including
+    the new 'VARC' table and mixed cubic and conic outline segments
+  * OpenType fonts with more than 65536 glyphs can now be handled
+  * The anti-aliased rasterizer now uses dynamic heap memory for
+    large glyphs, improving performance at sizes above 40 ppem
+  * TrueType version 40 interpreter ClearType rendering improvements
+- Important security fixes
+  * CVE-2026-27171, bsc#1258392: apply the upstream zlib security
+    fix to the internal gzip code (upstream issue #1468)
+  * More bugs with potential security implications were found and
+    fixed, all users should update
+- Dropped patches (fixed upstream)
+  * freetype-CVE-2026-50811.patch
+
+-------------------------------------------------------------------
--- /work/SRC/openSUSE:Factory/freetype2/ft2demos.changes       2026-07-12 
16:20:26.134521689 +0200
+++ /work/SRC/openSUSE:Factory/.freetype2.new.3698736/ft2demos.changes  
2026-10-18 19:22:50.597564005 +0200
@@ -1,0 +2,7 @@
+Sat Oct 17 15:30:52 UTC 2026 - Martin Pluskal <[email protected]>
+
+- Update to 2.15.0
+  * ftdump: improve glyph counting and report errors to stderr
+  * Windows/MSVC build fixes
+
+-------------------------------------------------------------------

Old:
----
  freetype-2.14.3.tar.xz
  freetype-2.14.3.tar.xz.sig
  freetype-CVE-2026-50811.patch
  freetype-doc-2.14.3.tar.xz
  freetype-doc-2.14.3.tar.xz.sig
  ft2demos-2.14.3.tar.xz
  ft2demos-2.14.3.tar.xz.sig

New:
----
  freetype-2.15.0.tar.xz
  freetype-2.15.0.tar.xz.sig
  freetype-doc-2.15.0.tar.xz
  freetype-doc-2.15.0.tar.xz.sig
  ft2demos-2.15.0.tar.xz
  ft2demos-2.15.0.tar.xz.sig

----------(Old B)----------
  Old:/work/SRC/openSUSE:Factory/.freetype2.new.3698736/freetype2.changes-- 
Dropped patches (fixed upstream)
/work/SRC/openSUSE:Factory/.freetype2.new.3698736/freetype2.changes:  * 
freetype-CVE-2026-50811.patch
/work/SRC/openSUSE:Factory/.freetype2.new.3698736/freetype2.changes-
----------(Old E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ freetype2.spec ++++++
--- /var/tmp/diff_new_pack.lMxoAv/_old  2026-10-18 19:22:51.954620201 +0200
+++ /var/tmp/diff_new_pack.lMxoAv/_new  2026-10-18 19:22:51.955620242 +0200
@@ -16,9 +16,9 @@
 #
 
 
-%define doc_version 2.14.3
+%define doc_version 2.15.0
 Name:           freetype2
-Version:        2.14.3
+Version:        2.15.0
 Release:        0
 Summary:        A TrueType Font Library
 License:        FTL AND GPL-2.0-only
@@ -38,7 +38,6 @@
 Patch1:         don-t-mark-libpng-as-required-library.patch
 Patch2:         enable-long-family-names-by-default.patch
 Patch3:         enable-subpixel-rendering.patch
-Patch4:         freetype-CVE-2026-50811.patch
 BuildRequires:  gawk
 BuildRequires:  libbz2-devel
 BuildRequires:  libpng-devel

++++++ ft2demos.spec ++++++
--- /var/tmp/diff_new_pack.lMxoAv/_old  2026-10-18 19:22:51.985621485 +0200
+++ /var/tmp/diff_new_pack.lMxoAv/_new  2026-10-18 19:22:51.986621526 +0200
@@ -16,14 +16,14 @@
 #
 
 
-%global freetype_version 2.14.3
+%global freetype_version 2.15.0
 %if 0%{?suse_version} < 1600
 %global qt_version 5
 %else
 %global qt_version 6
 %endif
 Name:           ft2demos
-Version:        2.14.3
+Version:        2.15.0
 Release:        0
 Summary:        Freetype2 Utilities and Demo Programs
 License:        GPL-2.0-or-later






++++++ don-t-mark-libpng-as-required-library.patch ++++++
--- /var/tmp/diff_new_pack.lMxoAv/_old  2026-10-18 19:22:52.079625377 +0200
+++ /var/tmp/diff_new_pack.lMxoAv/_new  2026-10-18 19:22:52.082625502 +0200
@@ -1,41 +1,41 @@
-Index: freetype-2.13.1/builds/unix/configure
+Index: freetype-2.15.0/builds/unix/configure
 ===================================================================
---- freetype-2.13.1.orig/builds/unix/configure
-+++ freetype-2.13.1/builds/unix/configure
-@@ -16389,7 +16389,6 @@ fi
+--- freetype-2.15.0.orig/builds/unix/configure
++++ freetype-2.15.0/builds/unix/configure
+@@ -17994,7 +17994,6 @@ fi
  # entries in Requires.private are separated by commas
  PKGCONFIG_REQUIRES_PRIVATE="$zlib_reqpriv,     \
                              $bzip2_reqpriv,    \
 -                            $libpng_reqpriv,   \
                              $harfbuzz_reqpriv, \
-                             $brotli_reqpriv"
- # beautify
-@@ -16417,7 +16416,6 @@ PKGCONFIG_LIBS_PRIVATE=`echo "$PKGCONFIG
+                             $brotli_reqpriv,   \
+                             $hvf_reqpriv"
+@@ -18023,7 +18022,6 @@ PKGCONFIG_LIBS_PRIVATE=`echo "$PKGCONFIG
  LIBSSTATIC_CONFIG="-lfreetype               \
                     $zlib_libsstaticconf     \
                     $bzip2_libsstaticconf    \
 -                   $libpng_libsstaticconf   \
                     $harfbuzz_libsstaticconf \
                     $brotli_libsstaticconf   \
-                    $ft2_extra_libs"
-Index: freetype-2.13.1/builds/unix/configure.raw
+                    $hvf_libsstaticconf      \
+Index: freetype-2.15.0/builds/unix/configure.raw
 ===================================================================
---- freetype-2.13.1.orig/builds/unix/configure.raw
-+++ freetype-2.13.1/builds/unix/configure.raw
-@@ -992,7 +992,6 @@ fi
+--- freetype-2.15.0.orig/builds/unix/configure.raw
++++ freetype-2.15.0/builds/unix/configure.raw
+@@ -1075,7 +1075,6 @@ fi
  # entries in Requires.private are separated by commas
  PKGCONFIG_REQUIRES_PRIVATE="$zlib_reqpriv,     \
                              $bzip2_reqpriv,    \
 -                            $libpng_reqpriv,   \
                              $harfbuzz_reqpriv, \
-                             $brotli_reqpriv"
- # beautify
-@@ -1020,7 +1019,6 @@ PKGCONFIG_LIBS_PRIVATE=`echo "$PKGCONFIG
+                             $brotli_reqpriv,   \
+                             $hvf_reqpriv"
+@@ -1104,7 +1103,6 @@ PKGCONFIG_LIBS_PRIVATE=`echo "$PKGCONFIG
  LIBSSTATIC_CONFIG="-lfreetype               \
                     $zlib_libsstaticconf     \
                     $bzip2_libsstaticconf    \
 -                   $libpng_libsstaticconf   \
                     $harfbuzz_libsstaticconf \
                     $brotli_libsstaticconf   \
-                    $ft2_extra_libs"
+                    $hvf_libsstaticconf      \
 

++++++ freetype-2.14.3.tar.xz -> freetype-2.15.0.tar.xz ++++++
++++ 142839 lines of diff (skipped)

++++++ freetype-doc-2.14.3.tar.xz -> freetype-doc-2.15.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/freetype-2.14.3/README.freetype-doc 
new/freetype-2.15.0/README.freetype-doc
--- old/freetype-2.14.3/README.freetype-doc     2026-03-22 16:15:18.000000000 
+0100
+++ new/freetype-2.15.0/README.freetype-doc     2026-10-11 22:53:02.000000000 
+0200
@@ -7,10 +7,10 @@
 
   mkdir src
   cd src
-  tar xzvf freetype-2.14.3.tar.gz
-  tar xzvf freetype-doc-2.14.3.tar.gz
+  tar xzvf freetype-2.15.0.tar.gz
+  tar xzvf freetype-doc-2.15.0.tar.gz
 
-Now you can move the `docs' subdirectory of `freetype-2.14.3' to any place
+Now you can move the `docs' subdirectory of `freetype-2.15.0' to any place
 you want.
 
 The entry point for the documentation is


++++++ ft2demos-2.14.3.tar.xz -> ft2demos-2.15.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ft2demos-2.14.3/ChangeLog 
new/ft2demos-2.15.0/ChangeLog
--- old/ft2demos-2.14.3/ChangeLog       2026-03-22 16:11:54.000000000 +0100
+++ new/ft2demos-2.15.0/ChangeLog       2026-10-11 22:50:39.000000000 +0200
@@ -1,3 +1,32 @@
+2026-10-11  Werner Lemberg  <[email protected]>
+
+       * Version 2.15.0 released.
+       ==========================
+
+       Tag sources with 'VER-2-15-0'.
+
+       * README: Updated.
+       * meson.build: Updated.
+       * man/*.1: Updated.
+
+2026-10-11  Werner Lemberg  <[email protected]>
+
+       * src/output.h: Use C linkage.
+
+       This fixes C++ compilation.
+
+2026-05-09  Alexei Podtelezhnikov  <[email protected]>
+
+       * builds/windows/msvc/ft2demos.props: Define DLL_IMPORT.
+
+2026-04-24  Alexei Podtelezhnikov  <[email protected]>
+
+       * src/ftdump.c (Print_Programs, Print_Glyfs): Use stderr.
+
+2026-04-10  Alexei Podtelezhnikov  <[email protected]>
+
+       * src/ftdump.c (Print_Programs, Print_Glyfs): Improve glyph counting.
+
 2026-03-22  Werner Lemberg  <[email protected]>
 
        * Version 2.14.3 released.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ft2demos-2.14.3/README new/ft2demos-2.15.0/README
--- old/ft2demos-2.14.3/README  2026-03-22 15:58:27.000000000 +0100
+++ new/ft2demos-2.15.0/README  2026-10-11 08:43:36.000000000 +0200
@@ -11,8 +11,8 @@
   of the stable  FreeType 2 source packages from our  server, you most
   probably have to rename its directory, for example:
 
-    mv freetype-2.14.3 freetype       on Unix
-    rename freetype-2.14.3 freetype   on Windows
+    mv freetype-2.15.0 freetype       on Unix
+    rename freetype-2.15.0 freetype   on Windows
 
 WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ft2demos-2.14.3/builds/windows/msvc/ft2demos.props 
new/ft2demos-2.15.0/builds/windows/msvc/ft2demos.props
--- old/ft2demos-2.14.3/builds/windows/msvc/ft2demos.props      2026-03-11 
17:31:53.000000000 +0100
+++ new/ft2demos-2.15.0/builds/windows/msvc/ft2demos.props      2026-06-22 
17:10:20.000000000 +0200
@@ -18,7 +18,7 @@
   </PropertyGroup>
   <ItemDefinitionGroup 
Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
-      
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      
<PreprocessorDefinitions>DLL_IMPORT;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <WarningLevel>Level3</WarningLevel>
       <DisableSpecificWarnings>4244</DisableSpecificWarnings>
       <Optimization>MaxSpeed</Optimization>
@@ -39,7 +39,7 @@
   </ItemDefinitionGroup>
   <ItemDefinitionGroup 
Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <ClCompile>
-      
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      
<PreprocessorDefinitions>DLL_IMPORT;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <WarningLevel>Level3</WarningLevel>
       <DisableSpecificWarnings>4244;4267</DisableSpecificWarnings>
       <Optimization>MaxSpeed</Optimization>
@@ -60,7 +60,7 @@
   </ItemDefinitionGroup>
   <ItemDefinitionGroup 
Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <ClCompile>
-      
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      
<PreprocessorDefinitions>DLL_IMPORT;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <WarningLevel>Level3</WarningLevel>
       <Optimization>Disabled</Optimization>
       <SDLCheck>true</SDLCheck>
@@ -76,7 +76,7 @@
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <ClCompile>
-      
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      
<PreprocessorDefinitions>DLL_IMPORT;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <WarningLevel>Level3</WarningLevel>
       <Optimization>Disabled</Optimization>
       <SDLCheck>true</SDLCheck>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ft2demos-2.14.3/man/ftbench.1 
new/ft2demos-2.15.0/man/ftbench.1
--- old/ft2demos-2.14.3/man/ftbench.1   2026-03-22 15:58:27.000000000 +0100
+++ new/ft2demos-2.15.0/man/ftbench.1   2026-10-11 08:43:36.000000000 +0200
@@ -1,5 +1,5 @@
 '\" t
-.TH FTBENCH 1 "March 2026" "FreeType 2.14.3"
+.TH FTBENCH 1 "October 2026" "FreeType 2.15.0"
 .
 .
 .SH NAME
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ft2demos-2.14.3/man/ftdiff.1 
new/ft2demos-2.15.0/man/ftdiff.1
--- old/ft2demos-2.14.3/man/ftdiff.1    2026-03-22 15:58:27.000000000 +0100
+++ new/ft2demos-2.15.0/man/ftdiff.1    2026-10-11 08:43:36.000000000 +0200
@@ -1,4 +1,4 @@
-.TH FTDIFF 1 "March 2026" "FreeType 2.14.3"
+.TH FTDIFF 1 "October 2026" "FreeType 2.15.0"
 .
 .
 .SH NAME
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ft2demos-2.14.3/man/ftdump.1 
new/ft2demos-2.15.0/man/ftdump.1
--- old/ft2demos-2.14.3/man/ftdump.1    2026-03-22 15:58:27.000000000 +0100
+++ new/ft2demos-2.15.0/man/ftdump.1    2026-10-11 08:43:36.000000000 +0200
@@ -1,4 +1,4 @@
-.TH FTDUMP 1 "March 2026" "FreeType 2.14.3"
+.TH FTDUMP 1 "October 2026" "FreeType 2.15.0"
 .
 .
 .SH NAME
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ft2demos-2.14.3/man/ftgamma.1 
new/ft2demos-2.15.0/man/ftgamma.1
--- old/ft2demos-2.14.3/man/ftgamma.1   2026-03-22 15:58:27.000000000 +0100
+++ new/ft2demos-2.15.0/man/ftgamma.1   2026-10-11 08:43:36.000000000 +0200
@@ -1,4 +1,4 @@
-.TH FTGAMMA 1 "March 2026" "FreeType 2.14.3"
+.TH FTGAMMA 1 "October 2026" "FreeType 2.15.0"
 .
 .
 .SH NAME
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ft2demos-2.14.3/man/ftgrid.1 
new/ft2demos-2.15.0/man/ftgrid.1
--- old/ft2demos-2.14.3/man/ftgrid.1    2026-03-22 15:58:27.000000000 +0100
+++ new/ft2demos-2.15.0/man/ftgrid.1    2026-10-11 08:43:36.000000000 +0200
@@ -1,4 +1,4 @@
-.TH FTGRID 1 "March 2026" "FreeType 2.14.3"
+.TH FTGRID 1 "October 2026" "FreeType 2.15.0"
 .
 .
 .SH NAME
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ft2demos-2.14.3/man/ftlint.1 
new/ft2demos-2.15.0/man/ftlint.1
--- old/ft2demos-2.14.3/man/ftlint.1    2026-03-22 15:58:27.000000000 +0100
+++ new/ft2demos-2.15.0/man/ftlint.1    2026-10-11 08:43:37.000000000 +0200
@@ -1,5 +1,5 @@
 '\" t
-.TH FTLINT 1 "March 2026" "FreeType 2.14.3"
+.TH FTLINT 1 "October 2026" "FreeType 2.15.0"
 .
 .
 .SH NAME
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ft2demos-2.14.3/man/ftmulti.1 
new/ft2demos-2.15.0/man/ftmulti.1
--- old/ft2demos-2.14.3/man/ftmulti.1   2026-03-22 15:58:27.000000000 +0100
+++ new/ft2demos-2.15.0/man/ftmulti.1   2026-10-11 08:43:37.000000000 +0200
@@ -1,4 +1,4 @@
-.TH FTMULTI 1 "March 2026" "FreeType 2.14.3"
+.TH FTMULTI 1 "October 2026" "FreeType 2.15.0"
 .
 .
 .SH NAME
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ft2demos-2.14.3/man/ftsdf.1 
new/ft2demos-2.15.0/man/ftsdf.1
--- old/ft2demos-2.14.3/man/ftsdf.1     2026-03-22 15:58:27.000000000 +0100
+++ new/ft2demos-2.15.0/man/ftsdf.1     2026-10-11 08:43:37.000000000 +0200
@@ -1,4 +1,4 @@
-.TH FTSDF 1 "March 2026" "FreeType 2.14.3"
+.TH FTSDF 1 "October 2026" "FreeType 2.15.0"
 .
 .
 .SH NAME
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ft2demos-2.14.3/man/ftstring.1 
new/ft2demos-2.15.0/man/ftstring.1
--- old/ft2demos-2.14.3/man/ftstring.1  2026-03-22 15:58:27.000000000 +0100
+++ new/ft2demos-2.15.0/man/ftstring.1  2026-10-11 08:43:37.000000000 +0200
@@ -1,4 +1,4 @@
-.TH FTSTRING 1 "March 2026" "FreeType 2.14.3"
+.TH FTSTRING 1 "October 2026" "FreeType 2.15.0"
 .
 .
 .SH NAME
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ft2demos-2.14.3/man/ftvalid.1 
new/ft2demos-2.15.0/man/ftvalid.1
--- old/ft2demos-2.14.3/man/ftvalid.1   2026-03-22 15:58:27.000000000 +0100
+++ new/ft2demos-2.15.0/man/ftvalid.1   2026-10-11 08:43:37.000000000 +0200
@@ -1,4 +1,4 @@
-.TH FTVALID 1 "March 2026" "FreeType 2.14.3"
+.TH FTVALID 1 "October 2026" "FreeType 2.15.0"
 .
 .
 .SH NAME
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ft2demos-2.14.3/man/ftview.1 
new/ft2demos-2.15.0/man/ftview.1
--- old/ft2demos-2.14.3/man/ftview.1    2026-03-22 15:58:27.000000000 +0100
+++ new/ft2demos-2.15.0/man/ftview.1    2026-10-11 08:43:37.000000000 +0200
@@ -1,4 +1,4 @@
-.TH FTVIEW 1 "March 2026" "FreeType 2.14.3"
+.TH FTVIEW 1 "October 2026" "FreeType 2.15.0"
 .
 .
 .SH NAME
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ft2demos-2.14.3/man/ttdebug.1 
new/ft2demos-2.15.0/man/ttdebug.1
--- old/ft2demos-2.14.3/man/ttdebug.1   2026-03-22 15:58:27.000000000 +0100
+++ new/ft2demos-2.15.0/man/ttdebug.1   2026-10-11 08:43:37.000000000 +0200
@@ -1,4 +1,4 @@
-.TH TTDEBUG 1 "March 2026" "FreeType 2.14.3"
+.TH TTDEBUG 1 "October 2026" "FreeType 2.15.0"
 .
 .
 .SH NAME
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ft2demos-2.14.3/meson.build 
new/ft2demos-2.15.0/meson.build
--- old/ft2demos-2.14.3/meson.build     2026-03-22 15:58:27.000000000 +0100
+++ new/ft2demos-2.15.0/meson.build     2026-10-11 08:43:37.000000000 +0200
@@ -17,7 +17,7 @@
 # possible since the subproject might not be cloned yet, so we have to
 # hard-code the string.
 project('freetype-demos', 'c', 'cpp',
-  version: '2.14.3')
+  version: '2.15.0')
 
 
 # Access to the FreeType 2 source tree is required, since some of the demo
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ft2demos-2.14.3/src/ftdump.c 
new/ft2demos-2.15.0/src/ftdump.c
--- old/ft2demos-2.14.3/src/ftdump.c    2026-03-11 17:31:53.000000000 +0100
+++ new/ft2demos-2.15.0/src/ftdump.c    2026-06-22 17:10:20.000000000 +0200
@@ -1076,16 +1076,15 @@
   static void
   Print_Programs( FT_Face  face )
   {
-    FT_ULong    fpgm_length = 0;
-    FT_ULong    prep_length = 0;
-    FT_ULong    loca_length;
-    FT_ULong    glyf_length = 0;
-    FT_UShort   i;
-    FT_Byte*    buffer = NULL;
-    FT_Byte*    offset = NULL;
+    FT_Int    i, num_glyphs = (FT_UInt)face->num_glyphs;
+    FT_ULong  fpgm_length = 0;
+    FT_ULong  prep_length = 0;
+    FT_ULong  loca_length;
+    FT_ULong  glyf_length = 0;
+    FT_Byte*  buffer = NULL;
+    FT_Byte*  offset = NULL;
 
-    TT_Header*      head;
-    TT_MaxProfile*  maxp;
+    TT_Header*  head;
 
 
     error = FT_Load_Sfnt_Table( face, TTAG_fpgm, 0, NULL, &fpgm_length );
@@ -1121,13 +1120,10 @@
 
   Glyf:
     head =     (TT_Header*)FT_Get_Sfnt_Table( face, FT_SFNT_HEAD );
-    maxp = (TT_MaxProfile*)FT_Get_Sfnt_Table( face, FT_SFNT_MAXP );
-
-    if ( head == NULL || maxp == NULL )
+    if ( head == NULL )
       goto Exit;
 
-    loca_length = head->Index_To_Loc_Format ? 4 * maxp->numGlyphs + 4
-                                            : 2 * maxp->numGlyphs + 2;
+    loca_length = ( head->Index_To_Loc_Format ? 4 : 2 ) * ( num_glyphs + 1 );
 
     offset = (FT_Byte*)malloc( loca_length );
     if ( offset == NULL )
@@ -1149,7 +1145,7 @@
     if ( error )
       goto Exit;
 
-    for ( i = 0; i < maxp->numGlyphs; i++ )
+    for ( i = 0; i < num_glyphs; i++ )
     {
       FT_UInt32  loc, end;
       FT_UInt16  len;
@@ -1183,7 +1179,7 @@
 
       if ( loc + 1 >= end )
       {
-        printf( "\nglyph %hd: invalid offset (%d)\n", i, loc );
+        fprintf( stderr, "glyph %d: invalid offset (%d)\n", i, loc );
         continue;
       }
 
@@ -1199,7 +1195,7 @@
         {
           if ( loc + 1 >= end )
           {
-            printf( "\nglyph %hd: invalid offset (%d)\n", i, loc );
+            fprintf( stderr, "glyph %d: invalid offset (%d)\n", i, loc );
             goto Continue;
           }
 
@@ -1224,7 +1220,7 @@
       {
         /* zero-contour glyphs can have no data */
         if ( len )
-          printf( "\nglyph %hd: invalid offset (%d)\n", i, loc );
+          fprintf( stderr, "glyph %d: invalid offset (%d)\n", i, loc );
         continue;
       }
 
@@ -1237,12 +1233,12 @@
 
       if ( loc + len > end )
       {
-        printf( "\nglyph %hd: invalid size (%d)\n", i, len );
+        fprintf( stderr, "glyph %d: invalid size (%d)\n", i, len );
         continue;
       }
 
       snprintf( tag, sizeof ( tag ), "%04hx", i );
-      printf( "\nglyph %hd (%.4s)", i, tag );
+      printf( "\nglyph %d (%.4s)", i, tag );
       Print_Bytecode( buffer + loc, len, tag );
 
     Continue:
@@ -1258,30 +1254,26 @@
   static void
   Print_Glyfs( FT_Face  face )
   {
-    FT_ULong    loca_length;
-    FT_ULong    glyf_length = 0;
-    FT_UShort   i;
-    FT_Byte*    buffer = NULL;
-    FT_Byte*    offset = NULL;
-
-    FT_Int      simple            = 0;
-    FT_Int      simple_overlap    = 0;
-    FT_Int      composite         = 0;
-    FT_Int      composite_overlap = 0;
-    FT_Int      empty             = 0;
-
-    TT_Header*      head;
-    TT_MaxProfile*  maxp;
+    FT_Int    i, num_glyphs = (FT_Int)face->num_glyphs;
+    FT_ULong  loca_length;
+    FT_ULong  glyf_length = 0;
+    FT_Byte*  buffer = NULL;
+    FT_Byte*  offset = NULL;
+
+    FT_Int    simple            = 0;
+    FT_Int    simple_overlap    = 0;
+    FT_Int    composite         = 0;
+    FT_Int    composite_overlap = 0;
+    FT_Int    empty             = 0;
 
+    TT_Header*  head;
 
-    head =     (TT_Header*)FT_Get_Sfnt_Table( face, FT_SFNT_HEAD );
-    maxp = (TT_MaxProfile*)FT_Get_Sfnt_Table( face, FT_SFNT_MAXP );
 
-    if ( head == NULL || maxp == NULL )
+    head = (TT_Header*)FT_Get_Sfnt_Table( face, FT_SFNT_HEAD );
+    if ( head == NULL )
       return;
 
-    loca_length = head->Index_To_Loc_Format ? 4 * maxp->numGlyphs + 4
-                                            : 2 * maxp->numGlyphs + 2;
+    loca_length = ( head->Index_To_Loc_Format ? 4 : 2 ) * ( num_glyphs + 1 );
 
     offset = (FT_Byte*)malloc( loca_length );
     if ( offset == NULL )
@@ -1303,7 +1295,7 @@
     if ( error )
       goto Exit;
 
-    for ( i = 0; i < maxp->numGlyphs; i++ )
+    for ( i = 0; i < num_glyphs; i++ )
     {
       FT_UInt32  loc, end;
       FT_UInt16  len;
@@ -1340,7 +1332,7 @@
 
       if ( end == 0 || loc >= end - 1 )
       {
-        printf( "\nglyph %hd: invalid offset (%u)\n", i, loc );
+        fprintf( stderr, "glyph %d: invalid offset (%u)\n", i, loc );
         continue;
       }
 
@@ -1353,12 +1345,11 @@
 
         if ( loc + 1 >= end )
         {
-          printf( "\nglyph %hd: invalid offset (%u)\n", i, loc );
+          fprintf( stderr, "glyph %d: invalid offset (%u)\n", i, loc );
           continue;
         }
 
         flags = (FT_UInt16)( buffer[loc] << 8 | buffer[loc + 1] );
-
         composite_overlap += ( flags & 0x400 ) >> 10;
 
         continue;
@@ -1372,7 +1363,7 @@
       {
         /* zero-contour glyphs can have no data */
         if ( len )
-          printf( "\nglyph %hd: invalid offset (%d)\n", i, loc );
+          fprintf( stderr, "glyph %d: invalid offset (%d)\n", i, loc );
         continue;
       }
 
@@ -1382,7 +1373,7 @@
 
       if ( loc >= end )
       {
-        printf( "\nglyph %hd: invalid offset (%d)\n", i, loc );
+        fprintf( stderr, "glyph %d: invalid offset (%d)\n", i, loc );
         continue;
       }
 
@@ -1404,6 +1395,11 @@
     if ( empty )
       printf( "%s%d\n", Name_Field( "   empty" ), empty );
 
+    num_glyphs -= simple + composite + empty;
+    if ( num_glyphs )
+      printf( "%s%d\n", Name_Field( "   invalid" ), num_glyphs );
+
+
   Exit:
     free( buffer );
     free( offset );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ft2demos-2.14.3/src/output.h 
new/ft2demos-2.15.0/src/output.h
--- old/ft2demos-2.14.3/src/output.h    2026-03-11 17:31:53.000000000 +0100
+++ new/ft2demos-2.15.0/src/output.h    2026-10-11 08:16:05.000000000 +0200
@@ -18,6 +18,10 @@
 #include <ft2build.h>
 #include <freetype/freetype.h>
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 
   void
   put_ascii_string( char*     out,
@@ -56,6 +60,10 @@
                     FT_Int    as_utf8 );
 
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* OUTPUT_H_ */
 
 /* End */

Reply via email to