Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package freetype2 for openSUSE:Factory 
checked in at 2023-10-13 23:13:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/freetype2 (Old)
 and      /work/SRC/openSUSE:Factory/.freetype2.new.20540 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "freetype2"

Fri Oct 13 23:13:40 2023 rev:106 rq:1116998 version:2.13.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/freetype2/freetype2.changes      2023-07-17 
19:22:57.557623727 +0200
+++ /work/SRC/openSUSE:Factory/.freetype2.new.20540/freetype2.changes   
2023-10-13 23:13:42.956936715 +0200
@@ -1,0 +2,9 @@
+Wed Oct 11 12:15:54 UTC 2023 - Dominique Leuenberger <dims...@opensuse.org>
+
+- Update to version 2.13.2:
+  - Better support for CFF2 variation fonts.
+  - TrueType interpreter  version 38 (also known  as 'Infinality')
+    has been removed.
+  - Improved OpenVMS support.
+
+-------------------------------------------------------------------
ft2demos.changes: same change

Old:
----
  freetype-2.13.1.tar.xz
  freetype-2.13.1.tar.xz.sig
  freetype-doc-2.13.1.tar.xz
  freetype-doc-2.13.1.tar.xz.sig
  ft2demos-2.13.1.tar.xz
  ft2demos-2.13.1.tar.xz.sig

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

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

Other differences:
------------------
++++++ freetype2.spec ++++++
--- /var/tmp/diff_new_pack.SngbAm/_old  2023-10-13 23:13:44.304985609 +0200
+++ /var/tmp/diff_new_pack.SngbAm/_new  2023-10-13 23:13:44.308985755 +0200
@@ -16,9 +16,9 @@
 #
 
 
-%define doc_version 2.13.1
+%define doc_version 2.13.2
 Name:           freetype2
-Version:        2.13.1
+Version:        2.13.2
 Release:        0
 Summary:        A TrueType Font Library
 License:        FTL AND GPL-2.0-only

++++++ ft2demos.spec ++++++
--- /var/tmp/diff_new_pack.SngbAm/_old  2023-10-13 23:13:44.332986625 +0200
+++ /var/tmp/diff_new_pack.SngbAm/_new  2023-10-13 23:13:44.332986625 +0200
@@ -16,9 +16,9 @@
 #
 
 
-%global freetype_version 2.13.1
+%global freetype_version 2.13.2
 Name:           ft2demos
-Version:        2.13.1
+Version:        2.13.2
 Release:        0
 Summary:        Freetype2 Utilities and Demo Programs
 License:        GPL-2.0-or-later






++++++ freetype-2.13.1.tar.xz -> freetype-2.13.2.tar.xz ++++++
++++ 9375 lines of diff (skipped)

++++++ freetype-doc-2.13.1.tar.xz -> freetype-doc-2.13.2.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/freetype-2.13.1/README.freetype-doc 
new/freetype-2.13.2/README.freetype-doc
--- old/freetype-2.13.1/README.freetype-doc     2023-06-24 08:28:12.000000000 
+0200
+++ new/freetype-2.13.2/README.freetype-doc     2023-08-25 20:02:01.000000000 
+0200
@@ -7,10 +7,10 @@
 
   mkdir src
   cd src
-  tar xzvf freetype-2.13.1.tar.gz
-  tar xzvf freetype-doc-2.13.1.tar.gz
+  tar xzvf freetype-2.13.2.tar.gz
+  tar xzvf freetype-doc-2.13.2.tar.gz
 
-Now you can move the `docs' subdirectory of `freetype-2.13.1' to any place
+Now you can move the `docs' subdirectory of `freetype-2.13.2' to any place
 you want.
 
 The entry point for the documentation is


++++++ ft2demos-2.13.1.tar.xz -> ft2demos-2.13.2.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ft2demos-2.13.1/ChangeLog 
new/ft2demos-2.13.2/ChangeLog
--- old/ft2demos-2.13.1/ChangeLog       2023-06-24 07:40:51.000000000 +0200
+++ new/ft2demos-2.13.2/ChangeLog       2023-08-25 20:01:11.000000000 +0200
@@ -1,3 +1,140 @@
+2023-08-25  Werner Lemberg  <w...@gnu.org>
+
+       * Version 2.13.2 released.
+       ==========================
+
+       Tag sources with 'VER-2-13-2'.
+
+       * README: Updated.
+       * meson.build: Updated.
+       * man/*.1: Updated.
+
+2023-08-25  Werner Lemberg  <w...@gnu.org>
+
+       Fix clang warnings.
+
+       * graph/gblblit.c (gblender_glyph_upgray), src/ftmulti.c (Render_All): 
Add
+         cast.
+       * src/ftdump.c (get_english_name_entry): Initialize `name`.
+
+2023-08-24  Werner Lemberg  <w...@gnu.org>
+
+       * subprojects/*.wrap: Updated.
+
+2023-08-17  Hugh McMaster  <hugh.mcmas...@outlook.com>
+
+       ftlint.1: Instruct man(1) to run the groff `tbl` preprocessor
+
+       The latest version of groff (1.23.0) emits a warning when it detects the
+       use of table macros (.TS, .TE) with no .TW (table width) macro defined:
+
+         tbl preprocessor failed, or it or soelim was not run; table(s) likely
+         not rendered (TE macro called with TW register undefined).
+
+       The warning occurs because the `tbl` preprocessor was not invoked by
+       the `man` command. To fix the issue, we need to instruct man(1) to
+       run the `tbl` preprocessor before rendering the source as text.
+
+       This issue was detected by Debian's Lintian tool.
+
+2023-08-13  Hugh McMaster  <h...@debian.org>
+
+       * src/ftmulti.c: Miscellaneous spelling and readability fixes.
+
+        * Update comments.
+        * Fix a typo: dimentions -> dimensions.
+
+2023-08-06  Charlie Jiang  <w...@chariri.moe>
+
+       [ftinspect] Fix default named instance handling.
+
+       Now the named instance selector no longer doubles the default named 
instance.
+       `FT_Get_Default_Named_Instance` is used to get the default NI index.
+       The default one is labeled as " (default)".
+
+       * src/ftinspect/widgets/tripletselector.cpp: Properly handle the new 
1-based
+         named instance indices. Label the default NI correctly.
+
+       * src/ftinspect/engine/engine.cpp, src/ftinspect/engine/engine.hpp:
+         Add `Engine::defualtNamedInstanceIndex`.
+
+       * src/ftinspect/engine/mmgx.cpp: Change comments.
+
+2023-08-06  Charlie Jiang  <w...@chariri.moe>
+
+       [ftinspect] Fix named instances switching.
+
+       * src/ftinspect/engine/mmgx.cpp, src/ftinspect/engine/mmgx.hpp:
+         Load the default values of MMGX axes from the named instance instead 
of
+         the global default one.
+
+       * src/ftinspect/engine/engine.cpp, src/ftinspect/engine/engine.hpp:
+         Switch the named instance using `FT_Set_Named_Instance` when loading
+         fonts.
+
+2023-07-28  Alexei Podtelezhnikov  <apodt...@gmail.com>
+
+       * src/ftbench.c (usage): Document the `-a` option.
+
+2023-07-26  Charlie Jiang  <w...@chariri.moe>
+
+       [ftinspect] Fix the glyph index selector layout when the window resizes.
+
+       Fixes #26. When the window resizes, the invisible tabs don't get 
notified.
+       Therefore, when the active tab changes, we need to trigger a manual
+       relayouting of invisible tabs.
+
+       * src/ftinspect/widgets/glyphindexselector.hpp,
+         src/ftinspect/widgets/glyphindexselector.cpp:
+         Extract public method `relayoutNavigation` from `resizeEvent`.
+
+       * src/ftinspect/panels/abstracttab.hpp: Add `relayout` virtual method.
+
+       * src/ftinspect/maingui.cpp: Call `AbstractTab::relayout` on the new tab
+         when the active tab changes.
+
+       * src/ftinspect/panels/singular.cpp, src/ftinspect/panels/singular.hpp,
+         src/ftinspect/panels/continuous.cpp, 
src/ftinspect/panels/continuous.hpp:
+         Implement `relayout` method and call `relayoutNavigation` of the glyph
+         index selector in `relayout`.
+
+2023-07-26  Alexei Podtelezhnikov  <apodt...@gmail.com>
+
+       * src/ftdump.c (Print_MM_Info): Fix signedness mismatch.
+
+2023-07-21  Jouk Jansen  <jo...@hrem.nano.tudelft.nl>
+
+       * vms_make.com: Synchronize with similar changes in the FreeType 
library.
+
+2023-07-16  Hin-Tak Leung  <ht...@users.sourceforge.net>
+
+       src/rsvg-port.c: Correct usage of `FT_Bool` vs `gboolean` comparison.
+
+       `TRUE` in this context is from glib headers (`glib-2.0/glib/gmacros.h`),
+       imported indirectly from rsvg headers.  It should not be used for 
comparison
+       with `FT_Bool` types.  Other usages of `TRUE/FALSE` in this file is 
okay.
+
+2023-07-08  Hin-Tak Leung  <ht...@users.sourceforge.net>
+
+       rsvg-port.c: Simplify usage of `rsvg_handle_render_*`.
+
+       * src/rsvg-port.c (rsvg_port_preset_slot): Remove usage of
+       `rsvg_handle_render_document` (and `rsvg_handle_render_cairo`).  They 
are
+       functionally the same as `rsvg_handle_render_layer` (and
+       `rsvg_handle_render_cairo_sub`) with argument id set to NULL.
+
+2023-07-08  Hin-Tak Leung  <ht...@users.sourceforge.net>
+
+       * src/ttdebug.c (RunIns): Signature fix.
+
+       A somewhat similar change to what happened in the FreeType library:
+
+         commit 95d635eab1b08a0051de07b6c33067d2c1984848
+         Author: Werner Lemberg <w...@gnu.org>
+         Date:   Sun May 7 08:34:32 2023 +0200
+
+             [truetype] Signature fixes.
+
 2023-06-24  Werner Lemberg  <w...@gnu.org>
 
        * Version 2.13.1 released.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ft2demos-2.13.1/README new/ft2demos-2.13.2/README
--- old/ft2demos-2.13.1/README  2023-06-24 07:12:48.000000000 +0200
+++ new/ft2demos-2.13.2/README  2023-08-25 19:57:46.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.13.1 freetype       on Unix
-    rename freetype-2.13.1 freetype   on Windows
+    mv freetype-2.13.2 freetype       on Unix
+    rename freetype-2.13.2 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.13.1/graph/gblblit.c 
new/ft2demos-2.13.2/graph/gblblit.c
--- old/ft2demos-2.13.1/graph/gblblit.c 2023-03-02 15:56:46.000000000 +0100
+++ new/ft2demos-2.13.2/graph/gblblit.c 2023-08-25 18:23:13.000000000 +0200
@@ -250,7 +250,7 @@
 {
   int        i, size = abs( glyph->pitch ) * glyph->rows;
   uint32_t*  buf = (uint32_t*)glyph->buffer;
-  uint32_t   scale = 255U / ( glyph->grays - 1 );
+  uint32_t   scale = 255U / (uint32_t)( glyph->grays - 1 );
 
 
   /* four bytes at a time */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ft2demos-2.13.1/man/ftbench.1 
new/ft2demos-2.13.2/man/ftbench.1
--- old/ft2demos-2.13.1/man/ftbench.1   2023-06-24 07:12:48.000000000 +0200
+++ new/ft2demos-2.13.2/man/ftbench.1   2023-08-25 19:57:46.000000000 +0200
@@ -1,5 +1,5 @@
 '\" t
-.TH FTBENCH 1 "June 2023" "FreeType 2.13.1"
+.TH FTBENCH 1 "August 2023" "FreeType 2.13.2"
 .
 .
 .SH NAME
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ft2demos-2.13.1/man/ftdiff.1 
new/ft2demos-2.13.2/man/ftdiff.1
--- old/ft2demos-2.13.1/man/ftdiff.1    2023-06-24 07:12:49.000000000 +0200
+++ new/ft2demos-2.13.2/man/ftdiff.1    2023-08-25 19:57:46.000000000 +0200
@@ -1,4 +1,4 @@
-.TH FTDIFF 1 "June 2023" "FreeType 2.13.1"
+.TH FTDIFF 1 "August 2023" "FreeType 2.13.2"
 .
 .
 .SH NAME
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ft2demos-2.13.1/man/ftdump.1 
new/ft2demos-2.13.2/man/ftdump.1
--- old/ft2demos-2.13.1/man/ftdump.1    2023-06-24 07:12:49.000000000 +0200
+++ new/ft2demos-2.13.2/man/ftdump.1    2023-08-25 19:57:46.000000000 +0200
@@ -1,4 +1,4 @@
-.TH FTDUMP 1 "June 2023" "FreeType 2.13.1"
+.TH FTDUMP 1 "August 2023" "FreeType 2.13.2"
 .
 .
 .SH NAME
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ft2demos-2.13.1/man/ftgamma.1 
new/ft2demos-2.13.2/man/ftgamma.1
--- old/ft2demos-2.13.1/man/ftgamma.1   2023-06-24 07:12:49.000000000 +0200
+++ new/ft2demos-2.13.2/man/ftgamma.1   2023-08-25 19:57:46.000000000 +0200
@@ -1,4 +1,4 @@
-.TH FTGAMMA 1 "June 2023" "FreeType 2.13.1"
+.TH FTGAMMA 1 "August 2023" "FreeType 2.13.2"
 .
 .
 .SH NAME
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ft2demos-2.13.1/man/ftgrid.1 
new/ft2demos-2.13.2/man/ftgrid.1
--- old/ft2demos-2.13.1/man/ftgrid.1    2023-06-24 07:12:49.000000000 +0200
+++ new/ft2demos-2.13.2/man/ftgrid.1    2023-08-25 19:57:46.000000000 +0200
@@ -1,4 +1,4 @@
-.TH FTGRID 1 "June 2023" "FreeType 2.13.1"
+.TH FTGRID 1 "August 2023" "FreeType 2.13.2"
 .
 .
 .SH NAME
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ft2demos-2.13.1/man/ftlint.1 
new/ft2demos-2.13.2/man/ftlint.1
--- old/ft2demos-2.13.1/man/ftlint.1    2023-06-24 07:12:49.000000000 +0200
+++ new/ft2demos-2.13.2/man/ftlint.1    2023-08-25 19:57:46.000000000 +0200
@@ -1,4 +1,5 @@
-.TH FTLINT 1 "June 2023" "FreeType 2.13.1"
+'\" t
+.TH FTLINT 1 "August 2023" "FreeType 2.13.2"
 .
 .
 .SH NAME
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ft2demos-2.13.1/man/ftmulti.1 
new/ft2demos-2.13.2/man/ftmulti.1
--- old/ft2demos-2.13.1/man/ftmulti.1   2023-06-24 07:12:49.000000000 +0200
+++ new/ft2demos-2.13.2/man/ftmulti.1   2023-08-25 19:57:46.000000000 +0200
@@ -1,4 +1,4 @@
-.TH FTMULTI 1 "June 2023" "FreeType 2.13.1"
+.TH FTMULTI 1 "August 2023" "FreeType 2.13.2"
 .
 .
 .SH NAME
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ft2demos-2.13.1/man/ftsdf.1 
new/ft2demos-2.13.2/man/ftsdf.1
--- old/ft2demos-2.13.1/man/ftsdf.1     2023-06-24 07:12:49.000000000 +0200
+++ new/ft2demos-2.13.2/man/ftsdf.1     2023-08-25 19:57:46.000000000 +0200
@@ -1,4 +1,4 @@
-.TH FTSDF 1 "June 2023" "FreeType 2.13.1"
+.TH FTSDF 1 "August 2023" "FreeType 2.13.2"
 .
 .
 .SH NAME
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ft2demos-2.13.1/man/ftstring.1 
new/ft2demos-2.13.2/man/ftstring.1
--- old/ft2demos-2.13.1/man/ftstring.1  2023-06-24 07:12:49.000000000 +0200
+++ new/ft2demos-2.13.2/man/ftstring.1  2023-08-25 19:57:46.000000000 +0200
@@ -1,4 +1,4 @@
-.TH FTSTRING 1 "June 2023" "FreeType 2.13.1"
+.TH FTSTRING 1 "August 2023" "FreeType 2.13.2"
 .
 .
 .SH NAME
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ft2demos-2.13.1/man/ftvalid.1 
new/ft2demos-2.13.2/man/ftvalid.1
--- old/ft2demos-2.13.1/man/ftvalid.1   2023-06-24 07:12:49.000000000 +0200
+++ new/ft2demos-2.13.2/man/ftvalid.1   2023-08-25 19:57:46.000000000 +0200
@@ -1,4 +1,4 @@
-.TH FTVALID 1 "June 2023" "FreeType 2.13.1"
+.TH FTVALID 1 "August 2023" "FreeType 2.13.2"
 .
 .
 .SH NAME
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ft2demos-2.13.1/man/ftview.1 
new/ft2demos-2.13.2/man/ftview.1
--- old/ft2demos-2.13.1/man/ftview.1    2023-06-24 07:12:49.000000000 +0200
+++ new/ft2demos-2.13.2/man/ftview.1    2023-08-25 19:57:46.000000000 +0200
@@ -1,4 +1,4 @@
-.TH FTVIEW 1 "June 2023" "FreeType 2.13.1"
+.TH FTVIEW 1 "August 2023" "FreeType 2.13.2"
 .
 .
 .SH NAME
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ft2demos-2.13.1/man/ttdebug.1 
new/ft2demos-2.13.2/man/ttdebug.1
--- old/ft2demos-2.13.1/man/ttdebug.1   2023-06-24 07:12:49.000000000 +0200
+++ new/ft2demos-2.13.2/man/ttdebug.1   2023-08-25 19:57:46.000000000 +0200
@@ -1,4 +1,4 @@
-.TH TTDEBUG 1 "June 2023" "FreeType 2.13.1"
+.TH TTDEBUG 1 "August 2023" "FreeType 2.13.2"
 .
 .
 .SH NAME
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ft2demos-2.13.1/meson.build 
new/ft2demos-2.13.2/meson.build
--- old/ft2demos-2.13.1/meson.build     2023-06-24 07:12:49.000000000 +0200
+++ new/ft2demos-2.13.2/meson.build     2023-08-25 19:57:46.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.13.1')
+  version: '2.13.2')
 
 
 # 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.13.1/src/ftbench.c 
new/ft2demos-2.13.2/src/ftbench.c
--- old/ft2demos-2.13.1/src/ftbench.c   2023-05-19 07:13:46.000000000 +0200
+++ new/ft2demos-2.13.2/src/ftbench.c   2023-08-08 11:10:02.000000000 +0200
@@ -1018,6 +1018,9 @@
       "\n"
       "Usage: ftbench [options] fontname\n"
       "\n"
+      "  -a \"axis1 axis2 ...\"\n"
+      "            Specify the design coordinates for each, if any,\n"
+      "            Multiple Master axis at start-up.\n"
       "  -C        Compare with cached version (if available).\n"
       "  -c N      Use at most N iterations for each test\n"
       "            (0 means time limited).\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ft2demos-2.13.1/src/ftdump.c 
new/ft2demos-2.13.2/src/ftdump.c
--- old/ft2demos-2.13.1/src/ftdump.c    2023-05-08 06:54:17.000000000 +0200
+++ new/ft2demos-2.13.2/src/ftdump.c    2023-08-25 18:20:54.000000000 +0200
@@ -845,7 +845,7 @@
     FT_UInt  num_names = FT_Get_Sfnt_Name_Count( face );
     FT_UInt  i;
 
-    FT_SfntName  name;
+    FT_SfntName  name = { 0, 0, 0, 0, NULL, 0 };
 
 
     for ( i = 0; i < num_names; i++ )
@@ -925,7 +925,7 @@
       FT_Fixed*    coords;
       const char*  ps_name;
 
-      FT_Long              instance_count;
+      FT_UInt              instance_count;
       FT_UInt              default_named_instance;
       FT_Var_Named_Style*  named_styles;
 
@@ -957,14 +957,14 @@
 
       /* Show named instances. */
 
-      instance_count = face->style_flags >> 16;
+      instance_count = (FT_UInt)face->style_flags >> 16;
       named_styles   = mm->namedstyle;
 
       FT_Get_Default_Named_Instance( face, &default_named_instance );
       default_named_instance--;   /* `named_styles` is a zero-based array */
 
       printf( "\n" );
-      printf( "  named instances (%lu)\n", instance_count );
+      printf( "  named instances (%u)\n", instance_count );
 
       for ( i = 0; i < instance_count; i++ )
       {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ft2demos-2.13.1/src/ftinspect/engine/engine.cpp 
new/ft2demos-2.13.2/src/ftinspect/engine/engine.cpp
--- old/ft2demos-2.13.1/src/ftinspect/engine/engine.cpp 2023-02-27 
06:39:48.000000000 +0100
+++ new/ft2demos-2.13.2/src/ftinspect/engine/engine.cpp 2023-08-08 
11:10:02.000000000 +0200
@@ -71,6 +71,7 @@
 // font, face, and named instance indices.  Getting a key from a value is
 // slow, but this must be done only once, since `faceRequester` is only
 // called if the font is not yet in the cache.
+// Note: Instance indices start from 1, and 0 is used to indicate no MM/GX 
handling.
 
 FT_Error
 faceRequester(FTC_FaceID ftcFaceID,
@@ -101,8 +102,7 @@
   QString font = engine->fontFileManager_[faceID.fontIndex].filePath();
   long faceIndex = faceID.faceIndex;
 
-  if (faceID.namedInstanceIndex > 0)
-    faceIndex += faceID.namedInstanceIndex << 16;
+  faceIndex += (faceID.namedInstanceIndex) << 16;
 
   *faceP = NULL;
   return FT_New_Face(library,
@@ -227,8 +227,8 @@
 Engine::numberOfNamedInstances(int fontIndex,
                                long faceIndex)
 {
-  // We return `n` named instances plus one;
-  // instance index 0 represents a face without a named instance selected.
+  // With the new `FT_Get_Default_Named_Instance` func, we no longer to return
+  // one more entries.
   int numNamedInstances = -1;
   if (fontIndex < 0)
     return -1;
@@ -237,7 +237,7 @@
            [&](FT_Face face)
            {
              numNamedInstances
-               = static_cast<int>((face->style_flags >> 16) + 1);
+               = static_cast<int>((face->style_flags >> 16));
            });
 
   return numNamedInstances;
@@ -264,6 +264,25 @@
 }
 
 
+unsigned
+Engine::defaultNamedInstanceIndex(int fontIndex,
+                                  int faceIndex)
+{
+  if (fontIndex < 0)
+    return 0;
+  unsigned ret = 0;
+  withFace(FaceID(fontIndex, faceIndex, 0),
+           [&](FT_Face face)
+           {
+             if (FT_Get_Default_Named_Instance(face, &ret) != 0)
+             {
+               // XXX error handling?
+             }
+           });
+  return ret;
+}
+
+
 bool
 Engine::currentFontTricky()
 {
@@ -359,6 +378,8 @@
     else
       fontType_ = FontType_Other;
 
+    switchNamedInstance(namedInstanceIndex);
+
     curCharMaps_.clear();
     curCharMaps_.reserve(ftFallbackFace_->num_charmaps);
     for (int i = 0; i < ftFallbackFace_->num_charmaps; i++)
@@ -366,7 +387,8 @@
 
     SFNTName::get(this, curSFNTNames_);
     loadPaletteInfos();
-    curMMGXState_ = MMGXAxisInfo::get(this, curMMGXAxes_);
+    curMMGXState_ = MMGXAxisInfo::get(
+        this, static_cast<unsigned>(namedInstanceIndex), curMMGXAxes_);
   }
 
   curNumGlyphs_ = numGlyphs;
@@ -1035,4 +1057,25 @@
 }
 
 
+void
+Engine::switchNamedInstance(int index)
+{
+  if (!ftFallbackFace_ || !FT_HAS_MULTIPLE_MASTERS(ftFallbackFace_))
+    return;
+  auto err = FT_Set_Named_Instance(ftFallbackFace_, index);
+  if (err)
+  {
+    // XXX error handling
+  }
+  if (ftSize_)
+  {
+    err = FT_Set_Named_Instance(ftSize_->face, index);
+    if (err)
+    {
+      // XXX error handling
+    }
+  }
+}
+
+
 // end of engine.cpp
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ft2demos-2.13.1/src/ftinspect/engine/engine.hpp 
new/ft2demos-2.13.2/src/ftinspect/engine/engine.hpp
--- old/ft2demos-2.13.1/src/ftinspect/engine/engine.hpp 2023-02-27 
06:39:48.000000000 +0100
+++ new/ft2demos-2.13.2/src/ftinspect/engine/engine.hpp 2023-08-08 
11:10:02.000000000 +0200
@@ -145,6 +145,8 @@
   QString namedInstanceName(int fontIndex,
                             long faceIndex,
                             int index);
+  unsigned defaultNamedInstanceIndex(int fontIndex,
+                                int faceIndex);
 
   bool currentFontTricky();
   bool currentFontBitmapOnly();
@@ -286,6 +288,7 @@
 
   void queryEngine();
   void loadPaletteInfos();
+  void switchNamedInstance(int index);
 
   // It is safe to put the implementation into the corresponding cpp file.
   template <class Func>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ft2demos-2.13.1/src/ftinspect/engine/mmgx.cpp 
new/ft2demos-2.13.2/src/ftinspect/engine/mmgx.cpp
--- old/ft2demos-2.13.1/src/ftinspect/engine/mmgx.cpp   2023-02-27 
06:39:48.000000000 +0100
+++ new/ft2demos-2.13.2/src/ftinspect/engine/mmgx.cpp   2023-08-08 
11:10:02.000000000 +0200
@@ -10,7 +10,8 @@
 
 
 MMGXState
-MMGXAxisInfo::get(Engine* engine,
+MMGXAxisInfo::get(Engine* engine, 
+                  unsigned namedInstanceIndex,
                   std::vector<MMGXAxisInfo>& infos)
 {
   auto face = engine->currentFallbackFtFace();
@@ -37,6 +38,12 @@
     return state;
   }
 
+  FT_Var_Named_Style* namedInstance = nullptr;
+  // named instance index starts from 1, but we need to reference using a
+  // 0-based index.
+  if (namedInstanceIndex > 0 && namedInstanceIndex <= mm->num_namedstyles)
+    namedInstance = &mm->namedstyle[namedInstanceIndex - 1];
+
   infos.resize(mm->num_axis);
 
   auto& sfnt = engine->currentFontSFNTNames();
@@ -54,6 +61,9 @@
     FT_Get_Var_Axis_Flags(mm, i, &flags);
     info.hidden = (flags & FT_VAR_AXIS_FLAG_HIDDEN) != 0;
 
+    if (namedInstance)
+      info.def = namedInstance->coords[i] / 65536.0;
+
     auto nameSet = false;
     if (state == MMGXState::GX_OVF)
     {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ft2demos-2.13.1/src/ftinspect/engine/mmgx.hpp 
new/ft2demos-2.13.2/src/ftinspect/engine/mmgx.hpp
--- old/ft2demos-2.13.1/src/ftinspect/engine/mmgx.hpp   2023-02-27 
06:39:48.000000000 +0100
+++ new/ft2demos-2.13.2/src/ftinspect/engine/mmgx.hpp   2023-08-08 
11:10:02.000000000 +0200
@@ -33,6 +33,7 @@
   bool isMM;
 
   static MMGXState get(Engine* engine,
+                       unsigned namedInstanceIndex,
                        std::vector<MMGXAxisInfo>& infos);
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ft2demos-2.13.1/src/ftinspect/maingui.cpp 
new/ft2demos-2.13.2/src/ftinspect/maingui.cpp
--- old/ft2demos-2.13.1/src/ftinspect/maingui.cpp       2023-02-27 
06:39:48.000000000 +0100
+++ new/ft2demos-2.13.2/src/ftinspect/maingui.cpp       2023-08-08 
11:10:02.000000000 +0200
@@ -198,6 +198,8 @@
   else
     leftWidget_->setVisible(!isComparator);
 
+  tabs_[tabWidget_->currentIndex()]->relayout();
+
   reloadCurrentTabFont();
 
   if (current == continuousTab_
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ft2demos-2.13.1/src/ftinspect/panels/abstracttab.hpp 
new/ft2demos-2.13.2/src/ftinspect/panels/abstracttab.hpp
--- old/ft2demos-2.13.1/src/ftinspect/panels/abstracttab.hpp    2023-02-27 
06:39:48.000000000 +0100
+++ new/ft2demos-2.13.2/src/ftinspect/panels/abstracttab.hpp    2023-08-08 
11:10:02.000000000 +0200
@@ -16,6 +16,7 @@
 
   virtual void repaintGlyph() = 0;
   virtual void reloadFont() = 0;
+  virtual void relayout() {}
 };
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ft2demos-2.13.1/src/ftinspect/panels/continuous.cpp 
new/ft2demos-2.13.2/src/ftinspect/panels/continuous.cpp
--- old/ft2demos-2.13.1/src/ftinspect/panels/continuous.cpp     2023-02-27 
06:39:48.000000000 +0100
+++ new/ft2demos-2.13.2/src/ftinspect/panels/continuous.cpp     2023-08-08 
11:10:02.000000000 +0200
@@ -66,6 +66,13 @@
 
 
 void
+ContinuousTab::relayout()
+{
+  indexSelector_->relayoutNavigation();
+}
+
+
+void
 ContinuousTab::applySettings()
 {
   auto mode
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ft2demos-2.13.1/src/ftinspect/panels/continuous.hpp 
new/ft2demos-2.13.2/src/ftinspect/panels/continuous.hpp
--- old/ft2demos-2.13.1/src/ftinspect/panels/continuous.hpp     2023-02-27 
06:39:48.000000000 +0100
+++ new/ft2demos-2.13.2/src/ftinspect/panels/continuous.hpp     2023-08-08 
11:10:02.000000000 +0200
@@ -46,6 +46,7 @@
 
   void repaintGlyph() override;
   void reloadFont() override;
+  void relayout() override;
   void highlightGlyph(int index);
   void applySettings();
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ft2demos-2.13.1/src/ftinspect/panels/singular.cpp 
new/ft2demos-2.13.2/src/ftinspect/panels/singular.cpp
--- old/ft2demos-2.13.1/src/ftinspect/panels/singular.cpp       2023-02-27 
06:39:48.000000000 +0100
+++ new/ft2demos-2.13.2/src/ftinspect/panels/singular.cpp       2023-08-08 
11:10:02.000000000 +0200
@@ -460,6 +460,13 @@
 
 
 void
+SingularTab::relayout()
+{
+  indexSelector_->relayoutNavigation();
+}
+
+
+void
 SingularTab::setCurrentGlyphAndSize(int glyphIndex,
                                     double sizePoint)
 {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ft2demos-2.13.1/src/ftinspect/panels/singular.hpp 
new/ft2demos-2.13.2/src/ftinspect/panels/singular.hpp
--- old/ft2demos-2.13.1/src/ftinspect/panels/singular.hpp       2023-02-27 
06:39:48.000000000 +0100
+++ new/ft2demos-2.13.2/src/ftinspect/panels/singular.hpp       2023-08-08 
11:10:02.000000000 +0200
@@ -46,6 +46,7 @@
 
   void repaintGlyph() override;
   void reloadFont() override;
+  void relayout() override;
   // The size remains unchanged if `sizePoint` <= 0.
   void setCurrentGlyphAndSize(int glyphIndex,
                               double sizePoint);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ft2demos-2.13.1/src/ftinspect/widgets/glyphindexselector.cpp 
new/ft2demos-2.13.2/src/ftinspect/widgets/glyphindexselector.cpp
--- old/ft2demos-2.13.1/src/ftinspect/widgets/glyphindexselector.cpp    
2023-02-27 06:39:48.000000000 +0100
+++ new/ft2demos-2.13.2/src/ftinspect/widgets/glyphindexselector.cpp    
2023-08-08 11:10:02.000000000 +0200
@@ -21,6 +21,20 @@
 
 
 void
+GlyphIndexSelector::relayoutNavigation()
+{
+  auto minimumWidth = minimumSizeHint().width();
+  if (toEndButton_->isVisible())
+  {
+    if (width() < minimumWidth)
+      navigationWidget_->setVisible(false);
+  }
+  else if (navigationWidget_->minimumSizeHint().width() + minimumWidth <= 
width())
+    navigationWidget_->setVisible(true);
+}
+
+
+void
 GlyphIndexSelector::setMinMax(int min,
                               int max)
 {
@@ -87,15 +101,7 @@
 GlyphIndexSelector::resizeEvent(QResizeEvent* event)
 {
   QWidget::resizeEvent(event);
-  auto minimumWidth = minimumSizeHint().width();
-  if (toEndButton_->isVisible())
-  {
-    if (width() < minimumWidth)
-      navigationWidget_->setVisible(false);
-  }
-  else if (navigationWidget_->minimumSizeHint().width() + minimumWidth
-           <= width())
-    navigationWidget_->setVisible(true);
+  relayoutNavigation();
 }
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ft2demos-2.13.1/src/ftinspect/widgets/glyphindexselector.hpp 
new/ft2demos-2.13.2/src/ftinspect/widgets/glyphindexselector.hpp
--- old/ft2demos-2.13.1/src/ftinspect/widgets/glyphindexselector.hpp    
2023-02-27 06:39:48.000000000 +0100
+++ new/ft2demos-2.13.2/src/ftinspect/widgets/glyphindexselector.hpp    
2023-08-08 11:10:02.000000000 +0200
@@ -24,6 +24,8 @@
   GlyphIndexSelector(QWidget* parent);
   ~GlyphIndexSelector() override = default;
 
+  void relayoutNavigation();
+
   // Never triggers repaint!
   void setMinMax(int min,
                  int max);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ft2demos-2.13.1/src/ftinspect/widgets/tripletselector.cpp 
new/ft2demos-2.13.2/src/ftinspect/widgets/tripletselector.cpp
--- old/ft2demos-2.13.1/src/ftinspect/widgets/tripletselector.cpp       
2023-02-27 06:39:48.000000000 +0100
+++ new/ft2demos-2.13.2/src/ftinspect/widgets/tripletselector.cpp       
2023-08-08 11:10:02.000000000 +0200
@@ -162,7 +162,7 @@
   newFaces.reserve(newSize);
   for (long i = 0; i < newSize; i++)
   {
-    newFaces.emplace_back(engine_->namedInstanceName(fontIndex, faceIndex, i));
+    newFaces.emplace_back(engine_->namedInstanceName(fontIndex, faceIndex, i + 
1));
     if (!needToRecreate && newFaces[i] != niComboBox_->itemData(i))
       needToRecreate = true;
   }
@@ -181,16 +181,19 @@
     QSignalBlocker blk3(niComboBox_);
     niComboBox_->clear();
 
-    for (long i = 0; i < newSize; i++)
+    // Returned index starts from 1, therefore minus 1.
+    auto defaultId = engine_->defaultNamedInstanceIndex(fontIndex, faceIndex) 
- 1;
+    for (unsigned i = 0; i < static_cast<unsigned>(newSize); i++)
     {
       auto& name = newFaces[i];
-      auto displayName = QString("%1: %2").arg(i).arg(name);
-      if (i == 0)
-        displayName = "* " + displayName;
+      auto displayName = QString("%1: %2").arg(i + 1).arg(name);
+      if (i == defaultId)
+        displayName = displayName + " (default)";
       niComboBox_->addItem(displayName, name);
     }
 
-    niComboBox_->setCurrentIndex(0);
+    if (defaultId >= 0 && newSize > 0)
+      niComboBox_->setCurrentIndex(static_cast<int>(defaultId));
     // Note: no signal is emitted from any combobox until this block ends.
   }
 
@@ -460,10 +463,9 @@
 
   if (faceIndex < 0)
     faceIndex = 0;
-  if (instanceIndex < 0)
-    instanceIndex = 0;
-
-  engine_->loadFont(fontIndex, faceIndex, instanceIndex);
+  if (instanceIndex < 0 || niComboBox_->count() == 0)
+    instanceIndex = -1; // No instance available.
+  engine_->loadFont(fontIndex, faceIndex, instanceIndex + 1);
 
   // TODO: This may mess up with bitmap-only fonts.
   if (!engine_->fontValid())
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ft2demos-2.13.1/src/ftmulti.c 
new/ft2demos-2.13.2/src/ftmulti.c
--- old/ft2demos-2.13.1/src/ftmulti.c   2023-05-19 07:14:19.000000000 +0200
+++ new/ft2demos-2.13.2/src/ftmulti.c   2023-08-25 18:28:58.000000000 +0200
@@ -198,18 +198,18 @@
 
 
       /*
-       * `ftmulti' is a diagnostic tool that should be able to handle
-       * pathological situations also; for this reason the looping code
-       * below is a bit more complicated in comparison to normal
+       * `ftmulti' is a diagnostic tool that should also be able to
+       * handle pathological situations; for this reason the looping
+       * code below is a bit more complicated in comparison to normal
        * applications.
        *
        * In particular, the loop handles the following cases gracefully,
        * avoiding grouping.
        *
-       * . multiple non-hidden axes have the same tag
+       * . multiple non-hidden axes that have the same tag
        *
-       * . multiple hidden axes have the same tag without a corresponding
-       *   non-hidden axis
+       * . multiple hidden axes that have the same tag without a
+       *   corresponding non-hidden axis.
        */
 
       idx = -1;
@@ -234,7 +234,7 @@
         }
         else
         {
-          /* otherwise check whether we have already assigned this axis */
+          /* otherwise, check whether we have already assigned this axis */
           for ( j = 0; j <= idx; j++ )
             if ( shown_axes[j] == i )
             {
@@ -399,7 +399,7 @@
 
     while ( i < num_glyphs )
     {
-      if ( !( error = LoadChar( i, hinted ) ) )
+      if ( !( error = LoadChar( (unsigned int)i, hinted ) ) )
       {
 #ifdef DEBUG
         if ( i <= first_glyph + 6 )
@@ -880,7 +880,7 @@
       "  font         The font file(s) to display.\n"
       "\n" );
     fprintf( stderr,
-      "  -d WxH       Set window dimentions (default: %ux%u).\n",
+      "  -d WxH       Set window dimensions (default: %ux%u).\n",
              DIM_X, DIM_Y );
     fprintf( stderr,
       "  -e encoding  Specify encoding tag (default: no encoding).\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ft2demos-2.13.1/src/rsvg-port.c 
new/ft2demos-2.13.2/src/rsvg-port.c
--- old/ft2demos-2.13.1/src/rsvg-port.c 2023-06-24 06:54:15.000000000 +0200
+++ new/ft2demos-2.13.2/src/rsvg-port.c 2023-07-16 07:56:53.000000000 +0200
@@ -194,6 +194,9 @@
     float vertBearingX, vertBearingY;
     float tmpf;
 
+    char  *id;
+    char  str[32];
+
 
     /* If `cache` is `TRUE` we store calculations in the actual port */
     /* state variable, otherwise we just create a dummy variable and */
@@ -320,69 +323,43 @@
     /* If the document contains only one glyph, `start_glyph_id` and */
     /* `end_glyph_id` have the same value.  Otherwise `end_glyph_id` */
     /* is larger.                                                    */
-    if ( start_glyph_id == end_glyph_id )
+    if ( start_glyph_id < end_glyph_id )
     {
-      /* Render the whole document to the recording surface. */
-#if LIBRSVG_CHECK_VERSION( 2, 52, 0 )
-      {
-        RsvgRectangle  viewport =
-        {
-          .x = 0,
-          .y = 0,
-          .width  = (double)dimension_svg.width,
-          .height = (double)dimension_svg.height,
-        };
-
-
-        ret = rsvg_handle_render_document( handle,
-                                           rec_cr,
-                                           &viewport,
-                                           NULL );
-      }
-#else
-      ret = rsvg_handle_render_cairo( handle, rec_cr );
-#endif
-
-      if ( ret == FALSE )
-      {
-        error = FT_Err_Invalid_SVG_Document;
-        goto CleanCairo;
-      }
+      /* Render only the element with its ID equal to `glyph<ID>`. */
+      sprintf( str, "#glyph%u", slot->glyph_index );
+      id = str;
     }
-    else if ( start_glyph_id < end_glyph_id )
+    else
     {
-      char  str[32] = "#glyph";
-
-
-      /* Render only the element with its ID equal to `glyph<ID>`. */
-      sprintf( str + 6, "%u", slot->glyph_index );
+      /* NULL = Render the whole document */
+      id = NULL;
+    }
 
 #if LIBRSVG_CHECK_VERSION( 2, 52, 0 )
+    {
+      RsvgRectangle  viewport =
       {
-        RsvgRectangle  viewport =
-        {
-          .x = 0,
-          .y = 0,
-          .width  = (double)dimension_svg.width,
-          .height = (double)dimension_svg.height,
-        };
+        .x = 0,
+        .y = 0,
+        .width  = (double)dimension_svg.width,
+        .height = (double)dimension_svg.height,
+      };
 
 
-        ret = rsvg_handle_render_layer( handle,
-                                        rec_cr,
-                                        str,
-                                        &viewport,
-                                        NULL );
-      }
+      ret = rsvg_handle_render_layer( handle,
+                                      rec_cr,
+                                      id,
+                                      &viewport,
+                                      NULL );
+    }
 #else
-      ret = rsvg_handle_render_cairo_sub( handle, rec_cr, str );
+    ret = rsvg_handle_render_cairo_sub( handle, rec_cr, id );
 #endif
 
-      if ( ret == FALSE )
-      {
-        error = FT_Err_Invalid_SVG_Document;
-        goto CleanCairo;
-      }
+    if ( ret == FALSE )
+    {
+      error = FT_Err_Invalid_SVG_Document;
+      goto CleanCairo;
     }
 
     /* Get the bounding box of the drawing. */
@@ -438,7 +415,7 @@
     /* If a render call is to follow, just destroy the context for the */
     /* recording surface since no more drawing will be done on it.     */
     /* However, keep the surface itself for use by the render hook.    */
-    if ( cache == TRUE )
+    if ( cache )
     {
       cairo_destroy( rec_cr );
       goto CleanLibrsvg;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ft2demos-2.13.1/src/ttdebug.c 
new/ft2demos-2.13.2/src/ttdebug.c
--- old/ft2demos-2.13.1/src/ttdebug.c   2023-02-27 06:39:48.000000000 +0100
+++ new/ft2demos-2.13.2/src/ttdebug.c   2023-07-08 05:43:48.000000000 +0200
@@ -1978,8 +1978,10 @@
 
 
   static FT_Error
-  RunIns( TT_ExecContext  exc )
+  RunIns( void*  exec )
   {
+    TT_ExecContext  exc = (TT_ExecContext)exec;
+
     FT_Int  key;
 
     FT_Bool  really_leave;
@@ -3049,7 +3051,7 @@
 
     FT_Set_Debug_Hook( library,
                        FT_DEBUG_HOOK_TRUETYPE,
-                       (FT_DebugHook_Func)RunIns );
+                       RunIns );
 
     printf( "%s\n"
             "press key `h' or `?' for help\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ft2demos-2.13.1/subprojects/libpng.wrap 
new/ft2demos-2.13.2/subprojects/libpng.wrap
--- old/ft2demos-2.13.1/subprojects/libpng.wrap 2023-05-10 07:32:27.000000000 
+0200
+++ new/ft2demos-2.13.2/subprojects/libpng.wrap 2023-08-24 20:44:38.000000000 
+0200
@@ -1,13 +1,13 @@
 [wrap-file]
-directory = libpng-1.6.39
-source_url = https://github.com/glennrp/libpng/archive/v1.6.39.tar.gz
-source_filename = libpng-1.6.39.tar.gz
-source_hash = a00e9d2f2f664186e4202db9299397f851aea71b36a35e74910b8820e380d441
-patch_filename = libpng_1.6.39-3_patch.zip
-patch_url = https://wrapdb.mesonbuild.com/v2/libpng_1.6.39-3/get_patch
-patch_hash = 6af2a8d464e3f1d2e2832580896323ac7b0b786806c75f0eff0c8ec82dd603ec
-source_fallback_url = 
https://github.com/mesonbuild/wrapdb/releases/download/libpng_1.6.39-3/libpng-1.6.39.tar.gz
-wrapdb_version = 1.6.39-3
+directory = libpng-1.6.40
+source_url = https://github.com/glennrp/libpng/archive/v1.6.40.tar.gz
+source_filename = libpng-1.6.40.tar.gz
+source_hash = 62d25af25e636454b005c93cae51ddcd5383c40fa14aa3dae8f6576feb5692c2
+patch_filename = libpng_1.6.40-1_patch.zip
+patch_url = https://wrapdb.mesonbuild.com/v2/libpng_1.6.40-1/get_patch
+patch_hash = bad558070e0a82faa5c0ae553bcd12d49021fc4b628f232a8e58c3fbd281aae1
+source_fallback_url = 
https://github.com/mesonbuild/wrapdb/releases/download/libpng_1.6.40-1/libpng-1.6.40.tar.gz
+wrapdb_version = 1.6.40-1
 
 [provide]
 libpng = libpng_dep
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ft2demos-2.13.1/subprojects/zlib.wrap 
new/ft2demos-2.13.2/subprojects/zlib.wrap
--- old/ft2demos-2.13.1/subprojects/zlib.wrap   2023-06-24 06:30:06.000000000 
+0200
+++ new/ft2demos-2.13.2/subprojects/zlib.wrap   2023-08-24 20:44:38.000000000 
+0200
@@ -1,13 +1,13 @@
 [wrap-file]
-directory = zlib-1.2.13
-source_url = http://zlib.net/fossils/zlib-1.2.13.tar.gz
-source_fallback_url = 
https://github.com/mesonbuild/wrapdb/releases/download/zlib_1.2.13-4/zlib-1.2.13.tar.gz
-source_filename = zlib-1.2.13.tar.gz
-source_hash = b3a24de97a8fdbc835b9833169501030b8977031bcb54b3b3ac13740f846ab30
-patch_filename = zlib_1.2.13-4_patch.zip
-patch_url = https://wrapdb.mesonbuild.com/v2/zlib_1.2.13-4/get_patch
-patch_hash = 19636b7807e679b92240bc7a99aed85d1be908a45430b12c7687a825cb499d5e
-wrapdb_version = 1.2.13-4
+directory = zlib-1.3
+source_url = http://zlib.net/fossils/zlib-1.3.tar.gz
+source_fallback_url = 
https://github.com/mesonbuild/wrapdb/releases/download/zlib_1.3-1/zlib-1.3.tar.gz
+source_filename = zlib-1.3.tar.gz
+source_hash = ff0ba4c292013dbc27530b3a81e1f9a813cd39de01ca5e0f8bf355702efa593e
+patch_filename = zlib_1.3-1_patch.zip
+patch_url = https://wrapdb.mesonbuild.com/v2/zlib_1.3-1/get_patch
+patch_hash = ab9d6b8167bb34a7c52b60b0cd6138aa4e0c2d31f997343a5f506f3b97b32008
+wrapdb_version = 1.3-1
 
 [provide]
 zlib = zlib_dep
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ft2demos-2.13.1/vms_make.com 
new/ft2demos-2.13.2/vms_make.com
--- old/ft2demos-2.13.1/vms_make.com    2023-05-09 06:57:54.000000000 +0200
+++ new/ft2demos-2.13.2/vms_make.com    2023-07-21 21:42:56.000000000 +0200
@@ -9,6 +9,12 @@
 $!
 $ on error then goto err_exit
 $!
+$! Get platform
+$ vax      = f$getsyi("ARCH_NAME").eqs. "VAX"
+$ axp      = f$getsyi("ARCH_NAME").eqs. "Alpha"
+$ ia64     = f$getsyi("ARCH_NAME").eqs. "IA64"
+$ x86_64   = f$getsyi("ARCH_NAME").eqs. "x86_64"
+$!
 $! Just some general constants
 $!
 $ Make   = ""
@@ -34,16 +40,25 @@
 $! Create option file
 $!
 $ open/write optf 'optfile'
-$ If f$getsyi("HW_MODEL") .gt. 1024
+$ If .not. vax
 $ Then
 $  write optf "[-.freetype2.lib]freetype2shr.exe/share"
 $ else
 $   write optf "[-.freetype2.lib]freetype.olb/lib"
 $ endif
 $ gosub check_create_vmslib
-$ write optf "sys$library:libbz2.olb/lib"
-$ write optf "sys$library:libpng.olb/lib"
-$ write optf "sys$library:libz.olb/lib"
+$!
+$!
+$! Check external libraries
+$!
+$ have_png = f$search("sys$library:libpng.olb") .nes. ""
+$ have_bz2 = f$search("sys$library:libbz2.olb") .nes. ""
+$ have_z = f$search("sys$library:libz.olb") .nes. ""
+$ have_harfbuzz = f$search("sys$library:libharfbuzz.olb") .nes. ""
+$ if ( have_harfbuzz ) then write optf "sys$library:libharfbuzz.olb/lib"
+$ if ( have_bz2 ) then write optf "sys$library:libbz2.olb/lib"
+$ if ( have_png ) then write optf "sys$library:libpng.olb/lib"
+$ if ( have_z ) then write optf "sys$library:libz.olb/lib"
 $ write optf "sys$share:decw$xlibshr.exe/share"
 $ close optf
 $!
@@ -122,7 +137,7 @@
 
 # C flags
 CFLAGS = $(CCOPT)$(INCLUDES)/obj=$(OBJDIR)/define=("FT2_BUILD_LIBRARY=1")\
-       /warn=disable=("MACROREDEF","MAYLOSEDATA3")
+       /warn=(noinfo,disable=("MACROREDEF","MAYLOSEDATA3"))
 
 .c.obj :
        cc$(CFLAGS)/point=32/list=$(MMS$TARGET_NAME).lis/show=all $(MMS$SOURCE)
@@ -286,20 +301,20 @@
 $(OBJDIR)gblblit.obj   : $(GRAPHSRC)gblblit.c
 $(OBJDIR)grinit.obj    : $(GRAPHSRC)grinit.c
         set def $(GRAPHSRC)
-        $(CC)$(CCOPT)/include=([.x11],[])/point=32/list/show=all\
+        $(CC)$(CCOPT)/warn=noinfo/include=([.x11],[])/point=32/list/show=all\
        /define=(DEVICE_X11,"FT2_BUILD_LIBRARY=1")/obj=[-.objs] grinit.c
        pipe link/map/full/exec=nl: [-.objs]grinit.obj | copy sys$input nl:
        mc sys$library:vms_auto64 grinit.map grinit.lis
-       $(CC)$(CCOPT)/include=([.x11],[])/point=64/obj=[-.objs] grinit_64.c
+       $(CC)$(CCOPT)/warn=noinfo/include=([.x11],[])/point=64/obj=[-.objs] 
grinit_64.c
        delete grinit_64.c;*
         set def [-]
 $(OBJDIR)grx11.obj     : $(GRX11SRC)grx11.c
         set def $(GRX11SRC)
-        $(CC)$(CCOPT)/include=([-])/point=32/list/show=all\
+        $(CC)$(CCOPT)/warn=noinfo/include=([-])/point=32/list/show=all\
        /define=(DEVICE_X11,"FT2_BUILD_LIBRARY=1")/obj=[--.objs] grx11.c
        pipe link/map/full/exec=nl: [--.objs]grx11.obj | copy sys$input nl:
        mc sys$library:vms_auto64 grx11.map grx11.lis
-       $(CC)$(CCOPT)/include=([-])/point=64/obj=[--.objs] grx11_64.c
+       $(CC)$(CCOPT)/warn=noinfo/include=([-])/point=64/obj=[--.objs] 
grx11_64.c
        delete grx11_64.c;*
         set def [--]
 $(OBJDIR)grdevice.obj  : $(GRAPHSRC)grdevice.c

Reply via email to