diff --git a/thirdparty/README.md b/thirdparty/README.md
index ee6a8558f9..91297d82bc 100644
--- a/thirdparty/README.md
+++ b/thirdparty/README.md
@@ -61,7 +61,7 @@
## FreeType
- Upstream: https://www.freetype.org/
-- Version: 2.11.1
+- Version: 2.12.0
- License: BSD-style (The FreeType Project)
## Glad
diff --git a/thirdparty/freetype/CMakeLists.txt b/thirdparty/freetype/CMakeLists.txt
index 4335d66dc3..7168cc14d2 100644
--- a/thirdparty/freetype/CMakeLists.txt
+++ b/thirdparty/freetype/CMakeLists.txt
@@ -1,6 +1,6 @@
# CMakeLists.txt
#
-# Copyright (C) 2013-2021 by
+# Copyright (C) 2013-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# Written originally by John Cary
@@ -106,10 +106,9 @@
# (this is compatible with the same CMake variables in zlib's CMake
# support).
-# FreeType explicitly marks the API to be exported and relies on the compiler
-# to hide all other symbols. CMake supports a C_VISBILITY_PRESET property
-# starting with 2.8.12.
-cmake_minimum_required(VERSION 2.8.12)
+# To minimize the number of cmake_policy() workarounds,
+# CMake >= 3 is requested.
+cmake_minimum_required(VERSION 3.0)
if (NOT CMAKE_VERSION VERSION_LESS 3.3)
# Allow symbol visibility settings also on static libraries. CMake < 3.3
@@ -122,6 +121,7 @@ endif ()
include(CheckIncludeFile)
include(CMakeDependentOption)
+include(FindPkgConfig)
# CMAKE_TOOLCHAIN_FILE must be set before `project' is called, which
# configures the base build environment and references the toolchain file
@@ -162,8 +162,8 @@ endif ()
project(freetype C)
set(VERSION_MAJOR "2")
-set(VERSION_MINOR "11")
-set(VERSION_PATCH "1")
+set(VERSION_MINOR "12")
+set(VERSION_PATCH "0")
# Generate LIBRARY_VERSION and LIBRARY_SOVERSION.
set(LIBTOOL_REGEX "version_info='([0-9]+):([0-9]+):([0-9]+)'")
@@ -239,7 +239,7 @@ if (BUILD_FRAMEWORK)
message(FATAL_ERROR
"You should use Xcode generator with BUILD_FRAMEWORK enabled")
endif ()
- set(CMAKE_OSX_ARCHITECTURES "$(ARCHS_STANDARD_32_64_BIT)")
+ set(CMAKE_OSX_ARCHITECTURES "$(ARCHS_STANDARD)")
set(BUILD_SHARED_LIBS ON)
endif ()
@@ -271,11 +271,16 @@ if (NOT FT_DISABLE_ZLIB)
endif ()
if (NOT FT_DISABLE_BZIP2)
+ # Genuine BZip2 does not provide bzip2.pc, but some platforms have it.
+ # For better dependency in freetype2.pc, bzip2.pc is searched
+ # regardless of the availability of libbz2. If bzip2.pc is found,
+ # Requires.private is used instead of Libs.private.
if (FT_REQUIRE_BZIP2)
find_package(BZip2 REQUIRED)
else ()
find_package(BZip2)
endif ()
+ pkg_check_modules(PC_BZIP2 bzip2)
endif ()
if (NOT FT_DISABLE_BROTLI)
@@ -400,6 +405,7 @@ set(BASE_SRCS
src/sdf/sdf.c
src/sfnt/sfnt.c
src/smooth/smooth.c
+ src/svg/svg.c
src/truetype/truetype.c
src/type1/type1.c
src/type42/type42.c
@@ -503,7 +509,11 @@ endif ()
if (BZIP2_FOUND)
target_link_libraries(freetype PRIVATE ${BZIP2_LIBRARIES})
target_include_directories(freetype PRIVATE ${BZIP2_INCLUDE_DIR}) # not BZIP2_INCLUDE_DIRS
- list(APPEND PKG_CONFIG_LIBS_PRIVATE "-lbz2")
+ if (PC_BZIP2_FOUND)
+ list(APPEND PKG_CONFIG_REQUIRED_PRIVATE "bzip2")
+ else ()
+ list(APPEND PKG_CONFIG_LIBS_PRIVATE "-lbz2")
+ endif ()
endif ()
if (PNG_FOUND)
target_link_libraries(freetype PRIVATE ${PNG_LIBRARIES})
diff --git a/thirdparty/freetype/README b/thirdparty/freetype/README
index 6a320df90f..a33cb11aab 100644
--- a/thirdparty/freetype/README
+++ b/thirdparty/freetype/README
@@ -1,4 +1,4 @@
-FreeType 2.11.1
+FreeType 2.12.0
===============
Homepage: https://www.freetype.org
@@ -30,9 +30,9 @@ sites. Go to
and download one of the following files.
- freetype-doc-2.11.1.tar.xz
- freetype-doc-2.11.1.tar.gz
- ftdoc2111.zip
+ freetype-doc-2.12.0.tar.xz
+ freetype-doc-2.12.0.tar.gz
+ ftdoc2120.zip
To view the documentation online, go to
@@ -92,7 +92,7 @@ Enjoy!
----------------------------------------------------------------------
-Copyright (C) 2006-2021 by
+Copyright (C) 2006-2022 by
David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used,
diff --git a/thirdparty/freetype/README.git b/thirdparty/freetype/README.git
index ad3c74cad9..258de14b72 100644
--- a/thirdparty/freetype/README.git
+++ b/thirdparty/freetype/README.git
@@ -89,7 +89,7 @@ address:
----------------------------------------------------------------------
-Copyright (C) 2005-2021 by
+Copyright (C) 2005-2022 by
David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used,
diff --git a/thirdparty/freetype/builds/amiga/README b/thirdparty/freetype/builds/amiga/README
index 4ec8770ba5..e77435527a 100644
--- a/thirdparty/freetype/builds/amiga/README
+++ b/thirdparty/freetype/builds/amiga/README
@@ -1,7 +1,7 @@
README for the builds/amiga subdirectory.
-Copyright (C) 2005-2021 by
+Copyright (C) 2005-2022 by
Werner Lemberg and Detlef Würkner.
This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/amiga/include/config/ftconfig.h b/thirdparty/freetype/builds/amiga/include/config/ftconfig.h
index 6deea6b7e1..211f170e92 100644
--- a/thirdparty/freetype/builds/amiga/include/config/ftconfig.h
+++ b/thirdparty/freetype/builds/amiga/include/config/ftconfig.h
@@ -4,7 +4,7 @@
/* */
/* Amiga-specific configuration file (specification only). */
/* */
-/* Copyright (C) 2005-2021 by */
+/* Copyright (C) 2005-2022 by */
/* Werner Lemberg and Detlef Würkner. */
/* */
/* This file is part of the FreeType project, and may only be used, */
diff --git a/thirdparty/freetype/builds/amiga/include/config/ftmodule.h b/thirdparty/freetype/builds/amiga/include/config/ftmodule.h
index 873537cab6..73e86d5b62 100644
--- a/thirdparty/freetype/builds/amiga/include/config/ftmodule.h
+++ b/thirdparty/freetype/builds/amiga/include/config/ftmodule.h
@@ -4,7 +4,7 @@
/* */
/* Amiga-specific FreeType module selection. */
/* */
-/* Copyright (C) 2005-2021 by */
+/* Copyright (C) 2005-2022 by */
/* Werner Lemberg and Detlef Würkner. */
/* */
/* This file is part of the FreeType project, and may only be used, */
diff --git a/thirdparty/freetype/builds/amiga/makefile.os4 b/thirdparty/freetype/builds/amiga/makefile.os4
index 58c89208b6..02742ea464 100644
--- a/thirdparty/freetype/builds/amiga/makefile.os4
+++ b/thirdparty/freetype/builds/amiga/makefile.os4
@@ -4,7 +4,7 @@
#
-# Copyright (C) 2005-2021 by
+# Copyright (C) 2005-2022 by
# Werner Lemberg and Detlef Würkner.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/amiga/smakefile b/thirdparty/freetype/builds/amiga/smakefile
index aaddd1995f..311375d0ea 100644
--- a/thirdparty/freetype/builds/amiga/smakefile
+++ b/thirdparty/freetype/builds/amiga/smakefile
@@ -3,7 +3,7 @@
#
-# Copyright (C) 2005-2021 by
+# Copyright (C) 2005-2022 by
# Werner Lemberg and Detlef Würkner.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/amiga/src/base/ftdebug.c b/thirdparty/freetype/builds/amiga/src/base/ftdebug.c
index dc7e968db9..84e2c8bac7 100644
--- a/thirdparty/freetype/builds/amiga/src/base/ftdebug.c
+++ b/thirdparty/freetype/builds/amiga/src/base/ftdebug.c
@@ -4,7 +4,7 @@
*
* Debugging and logging component for amiga (body).
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2022 by
* David Turner, Robert Wilhelm, Werner Lemberg, and Detlef Wuerkner.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/thirdparty/freetype/builds/amiga/src/base/ftsystem.c b/thirdparty/freetype/builds/amiga/src/base/ftsystem.c
index 5c69e3ac9f..ed34a779ff 100644
--- a/thirdparty/freetype/builds/amiga/src/base/ftsystem.c
+++ b/thirdparty/freetype/builds/amiga/src/base/ftsystem.c
@@ -4,7 +4,7 @@
/* */
/* Amiga-specific FreeType low-level system interface (body). */
/* */
-/* Copyright (C) 1996-2021 by */
+/* Copyright (C) 1996-2022 by */
/* David Turner, Robert Wilhelm, Werner Lemberg and Detlef Würkner. */
/* */
/* This file is part of the FreeType project, and may only be used, */
diff --git a/thirdparty/freetype/builds/ansi/ansi-def.mk b/thirdparty/freetype/builds/ansi/ansi-def.mk
index 218d5c0d15..d91894c069 100644
--- a/thirdparty/freetype/builds/ansi/ansi-def.mk
+++ b/thirdparty/freetype/builds/ansi/ansi-def.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2021 by
+# Copyright (C) 1996-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/ansi/ansi.mk b/thirdparty/freetype/builds/ansi/ansi.mk
index b36c64e2f9..96c1576d04 100644
--- a/thirdparty/freetype/builds/ansi/ansi.mk
+++ b/thirdparty/freetype/builds/ansi/ansi.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2021 by
+# Copyright (C) 1996-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/beos/beos-def.mk b/thirdparty/freetype/builds/beos/beos-def.mk
index d7d63b37c6..0b3ef60991 100644
--- a/thirdparty/freetype/builds/beos/beos-def.mk
+++ b/thirdparty/freetype/builds/beos/beos-def.mk
@@ -5,7 +5,7 @@
#
-# Copyright (C) 1996-2021 by
+# Copyright (C) 1996-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/beos/beos.mk b/thirdparty/freetype/builds/beos/beos.mk
index f3e3fbbe91..a5e6a82c00 100644
--- a/thirdparty/freetype/builds/beos/beos.mk
+++ b/thirdparty/freetype/builds/beos/beos.mk
@@ -2,7 +2,7 @@
# FreeType 2 configuration rules for a BeOS system
#
-# Copyright (C) 1996-2021 by
+# Copyright (C) 1996-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/beos/detect.mk b/thirdparty/freetype/builds/beos/detect.mk
index 521ecae98f..7b27ff9f93 100644
--- a/thirdparty/freetype/builds/beos/detect.mk
+++ b/thirdparty/freetype/builds/beos/detect.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2021 by
+# Copyright (C) 1996-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/cmake/FindBrotliDec.cmake b/thirdparty/freetype/builds/cmake/FindBrotliDec.cmake
index 46356b1fd4..0a3d899268 100644
--- a/thirdparty/freetype/builds/cmake/FindBrotliDec.cmake
+++ b/thirdparty/freetype/builds/cmake/FindBrotliDec.cmake
@@ -1,6 +1,6 @@
# FindBrotliDec.cmake
#
-# Copyright (C) 2019-2021 by
+# Copyright (C) 2019-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# Written by Werner Lemberg
diff --git a/thirdparty/freetype/builds/cmake/iOS.cmake b/thirdparty/freetype/builds/cmake/iOS.cmake
index 258654d4cb..011e7ef025 100644
--- a/thirdparty/freetype/builds/cmake/iOS.cmake
+++ b/thirdparty/freetype/builds/cmake/iOS.cmake
@@ -1,6 +1,6 @@
# iOS.cmake
#
-# Copyright (C) 2014-2021 by
+# Copyright (C) 2014-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# Written by David Wimsey
diff --git a/thirdparty/freetype/builds/cmake/testbuild.sh b/thirdparty/freetype/builds/cmake/testbuild.sh
index c6c637206a..312b47697a 100755
--- a/thirdparty/freetype/builds/cmake/testbuild.sh
+++ b/thirdparty/freetype/builds/cmake/testbuild.sh
@@ -1,6 +1,6 @@
#!/bin/sh -e
-# Copyright (C) 2015-2021 by
+# Copyright (C) 2015-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/compiler/ansi-cc.mk b/thirdparty/freetype/builds/compiler/ansi-cc.mk
index e73e6fca30..98cb05776e 100644
--- a/thirdparty/freetype/builds/compiler/ansi-cc.mk
+++ b/thirdparty/freetype/builds/compiler/ansi-cc.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2021 by
+# Copyright (C) 1996-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/compiler/bcc-dev.mk b/thirdparty/freetype/builds/compiler/bcc-dev.mk
index 71804529b3..83ed28cf19 100644
--- a/thirdparty/freetype/builds/compiler/bcc-dev.mk
+++ b/thirdparty/freetype/builds/compiler/bcc-dev.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2021 by
+# Copyright (C) 1996-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/compiler/bcc.mk b/thirdparty/freetype/builds/compiler/bcc.mk
index 321db10897..76b5dc2124 100644
--- a/thirdparty/freetype/builds/compiler/bcc.mk
+++ b/thirdparty/freetype/builds/compiler/bcc.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2021 by
+# Copyright (C) 1996-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/compiler/emx.mk b/thirdparty/freetype/builds/compiler/emx.mk
index b3b6047e5e..f791836233 100644
--- a/thirdparty/freetype/builds/compiler/emx.mk
+++ b/thirdparty/freetype/builds/compiler/emx.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 2003-2021 by
+# Copyright (C) 2003-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/compiler/gcc-dev.mk b/thirdparty/freetype/builds/compiler/gcc-dev.mk
index f01192f7ed..0d1b0da711 100644
--- a/thirdparty/freetype/builds/compiler/gcc-dev.mk
+++ b/thirdparty/freetype/builds/compiler/gcc-dev.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2021 by
+# Copyright (C) 1996-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/compiler/gcc.mk b/thirdparty/freetype/builds/compiler/gcc.mk
index ede20b2fc6..fbb12cc5bf 100644
--- a/thirdparty/freetype/builds/compiler/gcc.mk
+++ b/thirdparty/freetype/builds/compiler/gcc.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2021 by
+# Copyright (C) 1996-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/compiler/intelc.mk b/thirdparty/freetype/builds/compiler/intelc.mk
index e5dcf90b3f..b1fdbe729d 100644
--- a/thirdparty/freetype/builds/compiler/intelc.mk
+++ b/thirdparty/freetype/builds/compiler/intelc.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2021 by
+# Copyright (C) 1996-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/compiler/unix-lcc.mk b/thirdparty/freetype/builds/compiler/unix-lcc.mk
index 40322b4be3..09da86f4fb 100644
--- a/thirdparty/freetype/builds/compiler/unix-lcc.mk
+++ b/thirdparty/freetype/builds/compiler/unix-lcc.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2021 by
+# Copyright (C) 1996-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/compiler/visualage.mk b/thirdparty/freetype/builds/compiler/visualage.mk
index ebc3e48cf8..8c14d6f041 100644
--- a/thirdparty/freetype/builds/compiler/visualage.mk
+++ b/thirdparty/freetype/builds/compiler/visualage.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2021 by
+# Copyright (C) 1996-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/compiler/visualc.mk b/thirdparty/freetype/builds/compiler/visualc.mk
index dc6998ad1d..2635a9fec5 100644
--- a/thirdparty/freetype/builds/compiler/visualc.mk
+++ b/thirdparty/freetype/builds/compiler/visualc.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2021 by
+# Copyright (C) 1996-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/compiler/watcom.mk b/thirdparty/freetype/builds/compiler/watcom.mk
index c1d1b66519..6484d4180a 100644
--- a/thirdparty/freetype/builds/compiler/watcom.mk
+++ b/thirdparty/freetype/builds/compiler/watcom.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2021 by
+# Copyright (C) 1996-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/compiler/win-lcc.mk b/thirdparty/freetype/builds/compiler/win-lcc.mk
index 27fbc30343..1faad49400 100644
--- a/thirdparty/freetype/builds/compiler/win-lcc.mk
+++ b/thirdparty/freetype/builds/compiler/win-lcc.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2021 by
+# Copyright (C) 1996-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/detect.mk b/thirdparty/freetype/builds/detect.mk
index 78e9e750ec..4068ca2a65 100644
--- a/thirdparty/freetype/builds/detect.mk
+++ b/thirdparty/freetype/builds/detect.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2021 by
+# Copyright (C) 1996-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/dos/detect.mk b/thirdparty/freetype/builds/dos/detect.mk
index d95a2caa52..46f9a630c4 100644
--- a/thirdparty/freetype/builds/dos/detect.mk
+++ b/thirdparty/freetype/builds/dos/detect.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2021 by
+# Copyright (C) 1996-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/dos/dos-def.mk b/thirdparty/freetype/builds/dos/dos-def.mk
index f7fbc4d656..307047da5b 100644
--- a/thirdparty/freetype/builds/dos/dos-def.mk
+++ b/thirdparty/freetype/builds/dos/dos-def.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2021 by
+# Copyright (C) 1996-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/dos/dos-emx.mk b/thirdparty/freetype/builds/dos/dos-emx.mk
index dd9947962c..4ab7b6c7ed 100644
--- a/thirdparty/freetype/builds/dos/dos-emx.mk
+++ b/thirdparty/freetype/builds/dos/dos-emx.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 2003-2021 by
+# Copyright (C) 2003-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/dos/dos-gcc.mk b/thirdparty/freetype/builds/dos/dos-gcc.mk
index 9abdabea12..24d14a9b27 100644
--- a/thirdparty/freetype/builds/dos/dos-gcc.mk
+++ b/thirdparty/freetype/builds/dos/dos-gcc.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2021 by
+# Copyright (C) 1996-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/dos/dos-wat.mk b/thirdparty/freetype/builds/dos/dos-wat.mk
index 7ab82afeb0..07d54e8967 100644
--- a/thirdparty/freetype/builds/dos/dos-wat.mk
+++ b/thirdparty/freetype/builds/dos/dos-wat.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 2003-2021 by
+# Copyright (C) 2003-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/exports.mk b/thirdparty/freetype/builds/exports.mk
index 67c7c99356..a3342ecb98 100644
--- a/thirdparty/freetype/builds/exports.mk
+++ b/thirdparty/freetype/builds/exports.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 2005-2021 by
+# Copyright (C) 2005-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/freetype.mk b/thirdparty/freetype/builds/freetype.mk
index bae8145564..7b30c79d61 100644
--- a/thirdparty/freetype/builds/freetype.mk
+++ b/thirdparty/freetype/builds/freetype.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2021 by
+# Copyright (C) 1996-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/link_dos.mk b/thirdparty/freetype/builds/link_dos.mk
index 8716be51be..dd97fbe7c0 100644
--- a/thirdparty/freetype/builds/link_dos.mk
+++ b/thirdparty/freetype/builds/link_dos.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2021 by
+# Copyright (C) 1996-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/link_std.mk b/thirdparty/freetype/builds/link_std.mk
index 03f77721ff..d94e06d01c 100644
--- a/thirdparty/freetype/builds/link_std.mk
+++ b/thirdparty/freetype/builds/link_std.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2021 by
+# Copyright (C) 1996-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/mac/freetype-Info.plist b/thirdparty/freetype/builds/mac/freetype-Info.plist
index 4b5d79b815..344e5ac0b3 100644
--- a/thirdparty/freetype/builds/mac/freetype-Info.plist
+++ b/thirdparty/freetype/builds/mac/freetype-Info.plist
@@ -9,7 +9,7 @@
English
CFBundleExecutable
- FreeType
+ freetype
CFBundleGetInfoString
FreeType ${PROJECT_VERSION}
diff --git a/thirdparty/freetype/builds/mac/ftmac.c b/thirdparty/freetype/builds/mac/ftmac.c
index cd3f4844b4..f30ffc7d17 100644
--- a/thirdparty/freetype/builds/mac/ftmac.c
+++ b/thirdparty/freetype/builds/mac/ftmac.c
@@ -5,7 +5,7 @@
/* Mac FOND support. Written by just@letterror.com. */
/* Heavily Fixed by mpsuzuki, George Williams and Sean McBride */
/* */
-/* Copyright (C) 1996-2021 by */
+/* Copyright (C) 1996-2022 by */
/* Just van Rossum, David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -97,7 +97,7 @@
#define FT_DEPRECATED_ATTRIBUTE
-#include FT_MAC_H
+#include
/* undefine blocking-macros in ftmac.h */
#undef FT_GetFile_From_Mac_Name
diff --git a/thirdparty/freetype/builds/meson/extract_freetype_version.py b/thirdparty/freetype/builds/meson/extract_freetype_version.py
index ab79fdb3b4..66b5bc8558 100644
--- a/thirdparty/freetype/builds/meson/extract_freetype_version.py
+++ b/thirdparty/freetype/builds/meson/extract_freetype_version.py
@@ -1,6 +1,6 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
#
-# Copyright (C) 2020-2021 by
+# Copyright (C) 2020-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/meson/extract_libtool_version.py b/thirdparty/freetype/builds/meson/extract_libtool_version.py
index 4527f11b21..580f645c1c 100644
--- a/thirdparty/freetype/builds/meson/extract_libtool_version.py
+++ b/thirdparty/freetype/builds/meson/extract_libtool_version.py
@@ -1,6 +1,6 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
#
-# Copyright (C) 2020-2021 by
+# Copyright (C) 2020-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/meson/generate_reference_docs.py b/thirdparty/freetype/builds/meson/generate_reference_docs.py
index 15d9b06600..eb44806336 100644
--- a/thirdparty/freetype/builds/meson/generate_reference_docs.py
+++ b/thirdparty/freetype/builds/meson/generate_reference_docs.py
@@ -1,6 +1,6 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
#
-# Copyright (C) 2020-2021 by
+# Copyright (C) 2020-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/meson/parse_modules_cfg.py b/thirdparty/freetype/builds/meson/parse_modules_cfg.py
index aa6e9e1763..f68110cf0c 100644
--- a/thirdparty/freetype/builds/meson/parse_modules_cfg.py
+++ b/thirdparty/freetype/builds/meson/parse_modules_cfg.py
@@ -1,6 +1,6 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
#
-# Copyright (C) 2020-2021 by
+# Copyright (C) 2020-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@@ -87,6 +87,7 @@ def generate_ftmodule(lists):
name = {
"raster": "ft_raster1",
"smooth": "ft_smooth",
+ "svg": "ft_svg",
}.get(module)
result += (
"FT_USE_MODULE( FT_Renderer_Class, %s_renderer_class )\n" % name
diff --git a/thirdparty/freetype/builds/meson/process_ftoption_h.py b/thirdparty/freetype/builds/meson/process_ftoption_h.py
index fe60887858..d3f8bb9ae4 100644
--- a/thirdparty/freetype/builds/meson/process_ftoption_h.py
+++ b/thirdparty/freetype/builds/meson/process_ftoption_h.py
@@ -1,6 +1,6 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
#
-# Copyright (C) 2020-2021 by
+# Copyright (C) 2020-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/modules.mk b/thirdparty/freetype/builds/modules.mk
index 33fccdf96e..abbb0ef9e8 100644
--- a/thirdparty/freetype/builds/modules.mk
+++ b/thirdparty/freetype/builds/modules.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2021 by
+# Copyright (C) 1996-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/os2/detect.mk b/thirdparty/freetype/builds/os2/detect.mk
index 7b8962b197..0bb557680b 100644
--- a/thirdparty/freetype/builds/os2/detect.mk
+++ b/thirdparty/freetype/builds/os2/detect.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2021 by
+# Copyright (C) 1996-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/os2/os2-def.mk b/thirdparty/freetype/builds/os2/os2-def.mk
index 08aab9573c..4f508bb365 100644
--- a/thirdparty/freetype/builds/os2/os2-def.mk
+++ b/thirdparty/freetype/builds/os2/os2-def.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2021 by
+# Copyright (C) 1996-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/os2/os2-dev.mk b/thirdparty/freetype/builds/os2/os2-dev.mk
index 40591ffe38..7c35c1c46c 100644
--- a/thirdparty/freetype/builds/os2/os2-dev.mk
+++ b/thirdparty/freetype/builds/os2/os2-dev.mk
@@ -5,7 +5,7 @@
#
-# Copyright (C) 1996-2021 by
+# Copyright (C) 1996-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/os2/os2-gcc.mk b/thirdparty/freetype/builds/os2/os2-gcc.mk
index 854c46df85..62003f82c4 100644
--- a/thirdparty/freetype/builds/os2/os2-gcc.mk
+++ b/thirdparty/freetype/builds/os2/os2-gcc.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2021 by
+# Copyright (C) 1996-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/symbian/bld.inf b/thirdparty/freetype/builds/symbian/bld.inf
index b9d000b1a2..6d20af917e 100644
--- a/thirdparty/freetype/builds/symbian/bld.inf
+++ b/thirdparty/freetype/builds/symbian/bld.inf
@@ -2,7 +2,7 @@
// FreeType 2 project for the symbian platform
//
-// Copyright (C) 2008-2021 by
+// Copyright (C) 2008-2022 by
// David Turner, Robert Wilhelm, and Werner Lemberg.
//
// This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/symbian/freetype.mmp b/thirdparty/freetype/builds/symbian/freetype.mmp
index fa49157abf..ef3a96f150 100644
--- a/thirdparty/freetype/builds/symbian/freetype.mmp
+++ b/thirdparty/freetype/builds/symbian/freetype.mmp
@@ -2,7 +2,7 @@
// FreeType 2 makefile for the symbian platform
//
-// Copyright (C) 2008-2021 by
+// Copyright (C) 2008-2022 by
// David Turner, Robert Wilhelm, and Werner Lemberg.
//
// This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/toplevel.mk b/thirdparty/freetype/builds/toplevel.mk
index 53b6d6fc13..fb0838e980 100644
--- a/thirdparty/freetype/builds/toplevel.mk
+++ b/thirdparty/freetype/builds/toplevel.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2021 by
+# Copyright (C) 1996-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@@ -304,13 +304,12 @@ do-dist: distclean refdoc
cp $(CONFIG_GUESS) builds/unix
cp $(CONFIG_SUB) builds/unix
- @# Generate `ChangeLog' file with commits since previous release.
+ @# Generate `ChangeLog' file with commits since release 2.11.0
+ @# (when we stopped creating this file manually).
$(CHANGELOG_SCRIPT) \
--format='%B%n' \
--no-cluster \
- -- `git describe --tags \
- --abbrev=0 \
- $(version_tag)^`..$(version_tag) \
+ -- VER-2-11-0..$(version_tag) \
> ChangeLog
@# Remove intermediate files created by the `refdoc' target.
diff --git a/thirdparty/freetype/builds/unix/config.guess b/thirdparty/freetype/builds/unix/config.guess
index e81d3ae7c2..7f76b6228f 100644
--- a/thirdparty/freetype/builds/unix/config.guess
+++ b/thirdparty/freetype/builds/unix/config.guess
@@ -1,14 +1,14 @@
#! /bin/sh
# Attempt to guess a canonical system name.
-# Copyright 1992-2021 Free Software Foundation, Inc.
+# Copyright 1992-2022 Free Software Foundation, Inc.
# shellcheck disable=SC2006,SC2268 # see below for rationale
-timestamp='2021-06-03'
+timestamp='2022-01-09'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or
+# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
@@ -60,7 +60,7 @@ version="\
GNU config.guess ($timestamp)
Originally written by Per Bothner.
-Copyright 1992-2021 Free Software Foundation, Inc.
+Copyright 1992-2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -437,7 +437,7 @@ case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in
# This test works for both compilers.
if test "$CC_FOR_BUILD" != no_compiler_found; then
if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
- (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
+ (CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \
grep IS_64BIT_ARCH >/dev/null
then
SUN_ARCH=x86_64
@@ -929,6 +929,9 @@ EOF
i*:PW*:*)
GUESS=$UNAME_MACHINE-pc-pw32
;;
+ *:SerenityOS:*:*)
+ GUESS=$UNAME_MACHINE-pc-serenity
+ ;;
*:Interix*:*)
case $UNAME_MACHINE in
x86)
@@ -1522,6 +1525,9 @@ EOF
i*86:rdos:*:*)
GUESS=$UNAME_MACHINE-pc-rdos
;;
+ i*86:Fiwix:*:*)
+ GUESS=$UNAME_MACHINE-pc-fiwix
+ ;;
*:AROS:*:*)
GUESS=$UNAME_MACHINE-unknown-aros
;;
diff --git a/thirdparty/freetype/builds/unix/config.sub b/thirdparty/freetype/builds/unix/config.sub
index d74fb6deac..dba16e84c7 100644
--- a/thirdparty/freetype/builds/unix/config.sub
+++ b/thirdparty/freetype/builds/unix/config.sub
@@ -1,14 +1,14 @@
#! /bin/sh
# Configuration validation subroutine script.
-# Copyright 1992-2021 Free Software Foundation, Inc.
+# Copyright 1992-2022 Free Software Foundation, Inc.
# shellcheck disable=SC2006,SC2268 # see below for rationale
-timestamp='2021-08-14'
+timestamp='2022-01-03'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or
+# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
@@ -76,7 +76,7 @@ Report bugs and patches to ."
version="\
GNU config.sub ($timestamp)
-Copyright 1992-2021 Free Software Foundation, Inc.
+Copyright 1992-2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -1020,6 +1020,11 @@ case $cpu-$vendor in
;;
# Here we normalize CPU types with a missing or matching vendor
+ armh-unknown | armh-alt)
+ cpu=armv7l
+ vendor=alt
+ basic_os=${basic_os:-linux-gnueabihf}
+ ;;
dpx20-unknown | dpx20-bull)
cpu=rs6000
vendor=bull
@@ -1121,7 +1126,7 @@ case $cpu-$vendor in
xscale-* | xscalee[bl]-*)
cpu=`echo "$cpu" | sed 's/^xscale/arm/'`
;;
- arm64-*)
+ arm64-* | aarch64le-*)
cpu=aarch64
;;
@@ -1304,7 +1309,7 @@ esac
if test x$basic_os != x
then
-# First recognize some ad-hoc caes, or perhaps split kernel-os, or else just
+# First recognize some ad-hoc cases, or perhaps split kernel-os, or else just
# set os.
case $basic_os in
gnu/linux*)
@@ -1748,7 +1753,8 @@ case $os in
| skyos* | haiku* | rdos* | toppers* | drops* | es* \
| onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
| midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \
- | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr*)
+ | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \
+ | fiwix* )
;;
# This one is extra strict with allowed versions
sco3.2v2 | sco3.2v[4-9]* | sco5v6*)
diff --git a/thirdparty/freetype/builds/unix/configure b/thirdparty/freetype/builds/unix/configure
index bf1b1cb23b..28bad74ab7 100644
--- a/thirdparty/freetype/builds/unix/configure
+++ b/thirdparty/freetype/builds/unix/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71 for FreeType 2.11.1.
+# Generated by GNU Autoconf 2.71 for FreeType 2.12.
#
# Report bugs to .
#
@@ -621,8 +621,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='FreeType'
PACKAGE_TARNAME='freetype'
-PACKAGE_VERSION='2.11.1'
-PACKAGE_STRING='FreeType 2.11.1'
+PACKAGE_VERSION='2.12'
+PACKAGE_STRING='FreeType 2.12'
PACKAGE_BUGREPORT='freetype@nongnu.org'
PACKAGE_URL=''
@@ -666,8 +666,10 @@ build_libtool_libs
wl
hardcode_libdir_flag_spec
LIBSSTATIC_CONFIG
-LIBS_PRIVATE
-REQUIRES_PRIVATE
+PKGCONFIG_LIBS_PRIVATE
+PKGCONFIG_REQUIRES_PRIVATE
+PKGCONFIG_LIBS
+PKGCONFIG_REQUIRES
ftmac_c
PYTHON_VERSION
PYTHON
@@ -680,7 +682,10 @@ target_os
target_vendor
target_cpu
target
-LIB_CLOCK_GETTIME
+FT_DEMO_LDFLAGS
+FT_DEMO_CFLAGS
+LIBRSVG_LIBS
+LIBRSVG_CFLAGS
BROTLI_LIBS
BROTLI_CFLAGS
HARFBUZZ_LIBS
@@ -689,6 +694,7 @@ LIBPNG_LIBS
LIBPNG_CFLAGS
BZIP2_LIBS
BZIP2_CFLAGS
+SYSTEM_ZLIB
ZLIB_LIBS
ZLIB_CFLAGS
XX_ANSIFLAGS
@@ -835,7 +841,9 @@ LIBPNG_LIBS
HARFBUZZ_CFLAGS
HARFBUZZ_LIBS
BROTLI_CFLAGS
-BROTLI_LIBS'
+BROTLI_LIBS
+LIBRSVG_CFLAGS
+LIBRSVG_LIBS'
# Initialize some variables set by options.
@@ -1384,7 +1392,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures FreeType 2.11.1 to adapt to many kinds of systems.
+\`configure' configures FreeType 2.12 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1451,7 +1459,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of FreeType 2.11.1:";;
+ short | recursive ) echo "Configuration of FreeType 2.12:";;
esac
cat <<\_ACEOF
@@ -1537,6 +1545,10 @@ Some influential environment variables:
BROTLI_CFLAGS
C compiler flags for BROTLI, overriding pkg-config
BROTLI_LIBS linker flags for BROTLI, overriding pkg-config
+ LIBRSVG_CFLAGS
+ C compiler flags for LIBRSVG, overriding pkg-config
+ LIBRSVG_LIBS
+ linker flags for LIBRSVG, overriding pkg-config
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
@@ -1605,7 +1617,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-FreeType configure 2.11.1
+FreeType configure 2.12
generated by GNU Autoconf 2.71
Copyright (C) 2021 Free Software Foundation, Inc.
@@ -1956,7 +1968,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by FreeType $as_me 2.11.1, which was
+It was created by FreeType $as_me 2.12, which was
generated by GNU Autoconf 2.71. Invocation command line was
$ $0$ac_configure_args_raw
@@ -2718,7 +2730,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# Don't forget to update `docs/VERSIONS.TXT'!
-version_info='24:1:18'
+version_info='24:2:18'
ft_version=`echo $version_info | tr : .`
@@ -13937,6 +13949,12 @@ if test x"$with_zlib" = xyes -a "$have_zlib" = no; then
as_fn_error $? "external zlib support requested but library not found" "$LINENO" 5
fi
+SYSTEM_ZLIB=
+if test "$have_zlib" != no; then
+ SYSTEM_ZLIB=yes
+fi
+
+
# check for system libbz2
@@ -14496,13 +14514,16 @@ if test x"$with_brotli" = xyes -a "$have_brotli" = no; then
fi
-# check for librt
+# Checks for the demo programs.
#
-# We need `clock_gettime' for the `ftbench' demo program.
-#
-# The code is modeled after gnulib's file `clock_time.m4', ignoring
-# very old Solaris systems.
+# FreeType doesn't need this. However, since the demo program repository
+# doesn't come with a `configure` script of its own, we integrate the tests
+# here for simplicity.
+# We need `clock_gettime` from 'librt' for the `ftbench` demo program.
+#
+# The code is modeled after gnulib's file `clock_time.m4`, ignoring
+# very old Solaris systems.
LIB_CLOCK_GETTIME=
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing clock_gettime" >&5
printf %s "checking for library containing clock_gettime... " >&6; }
@@ -14565,6 +14586,89 @@ then :
fi
+# 'librsvg' is needed to demonstrate SVG support.
+
+pkg_failed=no
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for LIBRSVG" >&5
+printf %s "checking for LIBRSVG... " >&6; }
+
+if test -n "$LIBRSVG_CFLAGS"; then
+ pkg_cv_LIBRSVG_CFLAGS="$LIBRSVG_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"librsvg-2.0 >= 2.46.0\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "librsvg-2.0 >= 2.46.0") 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_LIBRSVG_CFLAGS=`$PKG_CONFIG --cflags "librsvg-2.0 >= 2.46.0" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+if test -n "$LIBRSVG_LIBS"; then
+ pkg_cv_LIBRSVG_LIBS="$LIBRSVG_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"librsvg-2.0 >= 2.46.0\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "librsvg-2.0 >= 2.46.0") 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_LIBRSVG_LIBS=`$PKG_CONFIG --libs "librsvg-2.0 >= 2.46.0" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi
+ if test $_pkg_short_errors_supported = yes; then
+ LIBRSVG_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "librsvg-2.0 >= 2.46.0" 2>&1`
+ else
+ LIBRSVG_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "librsvg-2.0 >= 2.46.0" 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$LIBRSVG_PKG_ERRORS" >&5
+
+ have_librsvg=no
+elif test $pkg_failed = untried; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+ have_librsvg=no
+else
+ LIBRSVG_CFLAGS=$pkg_cv_LIBRSVG_CFLAGS
+ LIBRSVG_LIBS=$pkg_cv_LIBRSVG_LIBS
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
+ have_librsvg="yes (pkg-config)"
+fi
+
+FT_DEMO_CFLAGS=""
+FT_DEMO_LDFLAGS="$LIB_CLOCK_GETTIME"
+
+if test "$have_librsvg" != no; then
+ FT_DEMO_CFLAGS="$FT_DEMO_CFLAGS $LIBRSVG_CFLAGS -DHAVE_LIBRSVG"
+ FT_DEMO_LDFLAGS="$FT_DEMO_LDFLAGS $LIBRSVG_LIBS"
+fi
+
+
+
# Some options handling SDKs/archs in CFLAGS should be copied
@@ -16108,32 +16212,32 @@ fi
# entries in Requires.private are separated by commas
-REQUIRES_PRIVATE="$zlib_reqpriv, \
- $bzip2_reqpriv, \
- $libpng_reqpriv, \
- $harfbuzz_reqpriv, \
- $brotli_reqpriv"
+PKGCONFIG_REQUIRES_PRIVATE="$zlib_reqpriv, \
+ $bzip2_reqpriv, \
+ $libpng_reqpriv, \
+ $harfbuzz_reqpriv, \
+ $brotli_reqpriv"
# beautify
-REQUIRES_PRIVATE=`echo "$REQUIRES_PRIVATE" \
- | sed -e 's/^ *//' \
- -e 's/ *$//' \
- -e 's/, */,/g' \
- -e 's/,,*/,/g' \
- -e 's/^,*//' \
- -e 's/,*$//' \
- -e 's/,/, /g'`
+PKGCONFIG_REQUIRES_PRIVATE=`echo "$PKGCONFIG_REQUIRES_PRIVATE" \
+ | sed -e 's/^ *//' \
+ -e 's/ *$//' \
+ -e 's/, */,/g' \
+ -e 's/,,*/,/g' \
+ -e 's/^,*//' \
+ -e 's/,*$//' \
+ -e 's/,/, /g'`
-LIBS_PRIVATE="$zlib_libspriv \
- $bzip2_libspriv \
- $libpng_libspriv \
- $harfbuzz_libspriv \
- $brotli_libspriv \
- $ft2_extra_libs"
+PKGCONFIG_LIBS_PRIVATE="$zlib_libspriv \
+ $bzip2_libspriv \
+ $libpng_libspriv \
+ $harfbuzz_libspriv \
+ $brotli_libspriv \
+ $ft2_extra_libs"
# beautify
-LIBS_PRIVATE=`echo "$LIBS_PRIVATE" \
- | sed -e 's/^ *//' \
- -e 's/ *$//' \
- -e 's/ */ /g'`
+PKGCONFIG_LIBS_PRIVATE=`echo "$PKGCONFIG_LIBS_PRIVATE" \
+ | sed -e 's/^ *//' \
+ -e 's/ *$//' \
+ -e 's/ */ /g'`
LIBSSTATIC_CONFIG="-lfreetype \
$zlib_libsstaticconf \
@@ -16151,6 +16255,24 @@ LIBSSTATIC_CONFIG=`echo "$LIBSSTATIC_CONFIG" \
-e 's/ *$//' \
-e 's/ */ /g'`
+# If FreeType gets installed with `--disable-shared', don't use
+# 'private' fields. `pkg-config' only looks into `.pc' files and is
+# completely agnostic to whether shared libraries are actually present
+# or not. As a consequence, the user had to specify `--static' while
+# calling `pkg-config', which configure scripts are normally not
+# prepared for.
+
+PKGCONFIG_REQUIRES=
+PKGCONFIG_LIBS='-L${libdir} -lfreetype'
+
+if test $enable_shared = "no"; then
+ PKGCONFIG_REQUIRES="$PKGCONFIG_REQUIRES $PKGCONFIG_REQUIRES_PRIVATE"
+ PKGCONFIG_REQUIRES_PRIVATE=
+ PKGCONFIG_LIBS="$PKGCONFIG_LIBS $PKGCONFIG_LIBS_PRIVATE"
+ PKGCONFIG_LIBS_PRIVATE=
+fi
+
+
@@ -16739,7 +16861,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by FreeType $as_me 2.11.1, which was
+This file was extended by FreeType $as_me 2.12, which was
generated by GNU Autoconf 2.71. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -16807,7 +16929,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
-FreeType config.status 2.11.1
+FreeType config.status 2.12
configured by $0, generated by GNU Autoconf 2.71,
with options \\"\$ac_cs_config\\"
diff --git a/thirdparty/freetype/builds/unix/configure.ac b/thirdparty/freetype/builds/unix/configure.ac
index d1b7f1a78c..28f65b9a48 100644
--- a/thirdparty/freetype/builds/unix/configure.ac
+++ b/thirdparty/freetype/builds/unix/configure.ac
@@ -2,7 +2,7 @@
#
# Process this file with autoconf to produce a configure script.
#
-# Copyright (C) 2001-2021 by
+# Copyright (C) 2001-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@@ -11,13 +11,13 @@
# indicate that you have read the license and understand and accept it
# fully.
-AC_INIT([FreeType], [2.11.1], [freetype@nongnu.org], [freetype])
+AC_INIT([FreeType], [2.12], [freetype@nongnu.org], [freetype])
AC_CONFIG_SRCDIR([ftconfig.h.in])
# Don't forget to update `docs/VERSIONS.TXT'!
-version_info='24:1:18'
+version_info='24:2:18'
AC_SUBST([version_info])
ft_version=`echo $version_info | tr : .`
AC_SUBST([ft_version])
@@ -317,6 +317,12 @@ if test x"$with_zlib" = xyes -a "$have_zlib" = no; then
AC_MSG_ERROR([external zlib support requested but library not found])
fi
+SYSTEM_ZLIB=
+if test "$have_zlib" != no; then
+ SYSTEM_ZLIB=yes
+fi
+AC_SUBST([SYSTEM_ZLIB])
+
# check for system libbz2
@@ -508,19 +514,36 @@ if test x"$with_brotli" = xyes -a "$have_brotli" = no; then
fi
-# check for librt
+# Checks for the demo programs.
#
-# We need `clock_gettime' for the `ftbench' demo program.
-#
-# The code is modeled after gnulib's file `clock_time.m4', ignoring
-# very old Solaris systems.
+# FreeType doesn't need this. However, since the demo program repository
+# doesn't come with a `configure` script of its own, we integrate the tests
+# here for simplicity.
+# We need `clock_gettime` from 'librt' for the `ftbench` demo program.
+#
+# The code is modeled after gnulib's file `clock_time.m4`, ignoring
+# very old Solaris systems.
LIB_CLOCK_GETTIME=
AC_SEARCH_LIBS([clock_gettime],
[rt],
[test "$ac_cv_search_clock_gettime" = "none required" \
|| LIB_CLOCK_GETTIME=$ac_cv_search_clock_gettime])
-AC_SUBST([LIB_CLOCK_GETTIME])
+
+# 'librsvg' is needed to demonstrate SVG support.
+PKG_CHECK_MODULES([LIBRSVG], [librsvg-2.0 >= 2.46.0],
+ [have_librsvg="yes (pkg-config)"], [have_librsvg=no])
+
+FT_DEMO_CFLAGS=""
+FT_DEMO_LDFLAGS="$LIB_CLOCK_GETTIME"
+
+if test "$have_librsvg" != no; then
+ FT_DEMO_CFLAGS="$FT_DEMO_CFLAGS $LIBRSVG_CFLAGS -DHAVE_LIBRSVG"
+ FT_DEMO_LDFLAGS="$FT_DEMO_LDFLAGS $LIBRSVG_LIBS"
+fi
+
+AC_SUBST([FT_DEMO_CFLAGS])
+AC_SUBST([FT_DEMO_LDFLAGS])
# Some options handling SDKs/archs in CFLAGS should be copied
@@ -962,32 +985,32 @@ fi
# entries in Requires.private are separated by commas
-REQUIRES_PRIVATE="$zlib_reqpriv, \
- $bzip2_reqpriv, \
- $libpng_reqpriv, \
- $harfbuzz_reqpriv, \
- $brotli_reqpriv"
+PKGCONFIG_REQUIRES_PRIVATE="$zlib_reqpriv, \
+ $bzip2_reqpriv, \
+ $libpng_reqpriv, \
+ $harfbuzz_reqpriv, \
+ $brotli_reqpriv"
# beautify
-REQUIRES_PRIVATE=`echo "$REQUIRES_PRIVATE" \
- | sed -e 's/^ *//' \
- -e 's/ *$//' \
- -e 's/, */,/g' \
- -e 's/,,*/,/g' \
- -e 's/^,*//' \
- -e 's/,*$//' \
- -e 's/,/, /g'`
+PKGCONFIG_REQUIRES_PRIVATE=`echo "$PKGCONFIG_REQUIRES_PRIVATE" \
+ | sed -e 's/^ *//' \
+ -e 's/ *$//' \
+ -e 's/, */,/g' \
+ -e 's/,,*/,/g' \
+ -e 's/^,*//' \
+ -e 's/,*$//' \
+ -e 's/,/, /g'`
-LIBS_PRIVATE="$zlib_libspriv \
- $bzip2_libspriv \
- $libpng_libspriv \
- $harfbuzz_libspriv \
- $brotli_libspriv \
- $ft2_extra_libs"
+PKGCONFIG_LIBS_PRIVATE="$zlib_libspriv \
+ $bzip2_libspriv \
+ $libpng_libspriv \
+ $harfbuzz_libspriv \
+ $brotli_libspriv \
+ $ft2_extra_libs"
# beautify
-LIBS_PRIVATE=`echo "$LIBS_PRIVATE" \
- | sed -e 's/^ *//' \
- -e 's/ *$//' \
- -e 's/ */ /g'`
+PKGCONFIG_LIBS_PRIVATE=`echo "$PKGCONFIG_LIBS_PRIVATE" \
+ | sed -e 's/^ *//' \
+ -e 's/ *$//' \
+ -e 's/ */ /g'`
LIBSSTATIC_CONFIG="-lfreetype \
$zlib_libsstaticconf \
@@ -1005,10 +1028,28 @@ LIBSSTATIC_CONFIG=`echo "$LIBSSTATIC_CONFIG" \
-e 's/ *$//' \
-e 's/ */ /g'`
+# If FreeType gets installed with `--disable-shared', don't use
+# 'private' fields. `pkg-config' only looks into `.pc' files and is
+# completely agnostic to whether shared libraries are actually present
+# or not. As a consequence, the user had to specify `--static' while
+# calling `pkg-config', which configure scripts are normally not
+# prepared for.
+
+PKGCONFIG_REQUIRES=
+PKGCONFIG_LIBS='-L${libdir} -lfreetype'
+
+if test $enable_shared = "no"; then
+ PKGCONFIG_REQUIRES="$PKGCONFIG_REQUIRES $PKGCONFIG_REQUIRES_PRIVATE"
+ PKGCONFIG_REQUIRES_PRIVATE=
+ PKGCONFIG_LIBS="$PKGCONFIG_LIBS $PKGCONFIG_LIBS_PRIVATE"
+ PKGCONFIG_LIBS_PRIVATE=
+fi
AC_SUBST([ftmac_c])
-AC_SUBST([REQUIRES_PRIVATE])
-AC_SUBST([LIBS_PRIVATE])
+AC_SUBST([PKGCONFIG_REQUIRES])
+AC_SUBST([PKGCONFIG_LIBS])
+AC_SUBST([PKGCONFIG_REQUIRES_PRIVATE])
+AC_SUBST([PKGCONFIG_LIBS_PRIVATE])
AC_SUBST([LIBSSTATIC_CONFIG])
AC_SUBST([hardcode_libdir_flag_spec])
diff --git a/thirdparty/freetype/builds/unix/configure.raw b/thirdparty/freetype/builds/unix/configure.raw
index f326872cbd..cfb073efab 100644
--- a/thirdparty/freetype/builds/unix/configure.raw
+++ b/thirdparty/freetype/builds/unix/configure.raw
@@ -2,7 +2,7 @@
#
# Process this file with autoconf to produce a configure script.
#
-# Copyright (C) 2001-2021 by
+# Copyright (C) 2001-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@@ -17,7 +17,7 @@ AC_CONFIG_SRCDIR([ftconfig.h.in])
# Don't forget to update `docs/VERSIONS.TXT'!
-version_info='24:1:18'
+version_info='24:2:18'
AC_SUBST([version_info])
ft_version=`echo $version_info | tr : .`
AC_SUBST([ft_version])
@@ -317,6 +317,12 @@ if test x"$with_zlib" = xyes -a "$have_zlib" = no; then
AC_MSG_ERROR([external zlib support requested but library not found])
fi
+SYSTEM_ZLIB=
+if test "$have_zlib" != no; then
+ SYSTEM_ZLIB=yes
+fi
+AC_SUBST([SYSTEM_ZLIB])
+
# check for system libbz2
@@ -508,19 +514,36 @@ if test x"$with_brotli" = xyes -a "$have_brotli" = no; then
fi
-# check for librt
+# Checks for the demo programs.
#
-# We need `clock_gettime' for the `ftbench' demo program.
-#
-# The code is modeled after gnulib's file `clock_time.m4', ignoring
-# very old Solaris systems.
+# FreeType doesn't need this. However, since the demo program repository
+# doesn't come with a `configure` script of its own, we integrate the tests
+# here for simplicity.
+# We need `clock_gettime` from 'librt' for the `ftbench` demo program.
+#
+# The code is modeled after gnulib's file `clock_time.m4`, ignoring
+# very old Solaris systems.
LIB_CLOCK_GETTIME=
AC_SEARCH_LIBS([clock_gettime],
[rt],
[test "$ac_cv_search_clock_gettime" = "none required" \
|| LIB_CLOCK_GETTIME=$ac_cv_search_clock_gettime])
-AC_SUBST([LIB_CLOCK_GETTIME])
+
+# 'librsvg' is needed to demonstrate SVG support.
+PKG_CHECK_MODULES([LIBRSVG], [librsvg-2.0 >= 2.46.0],
+ [have_librsvg="yes (pkg-config)"], [have_librsvg=no])
+
+FT_DEMO_CFLAGS=""
+FT_DEMO_LDFLAGS="$LIB_CLOCK_GETTIME"
+
+if test "$have_librsvg" != no; then
+ FT_DEMO_CFLAGS="$FT_DEMO_CFLAGS $LIBRSVG_CFLAGS -DHAVE_LIBRSVG"
+ FT_DEMO_LDFLAGS="$FT_DEMO_LDFLAGS $LIBRSVG_LIBS"
+fi
+
+AC_SUBST([FT_DEMO_CFLAGS])
+AC_SUBST([FT_DEMO_LDFLAGS])
# Some options handling SDKs/archs in CFLAGS should be copied
@@ -962,32 +985,32 @@ fi
# entries in Requires.private are separated by commas
-REQUIRES_PRIVATE="$zlib_reqpriv, \
- $bzip2_reqpriv, \
- $libpng_reqpriv, \
- $harfbuzz_reqpriv, \
- $brotli_reqpriv"
+PKGCONFIG_REQUIRES_PRIVATE="$zlib_reqpriv, \
+ $bzip2_reqpriv, \
+ $libpng_reqpriv, \
+ $harfbuzz_reqpriv, \
+ $brotli_reqpriv"
# beautify
-REQUIRES_PRIVATE=`echo "$REQUIRES_PRIVATE" \
- | sed -e 's/^ *//' \
- -e 's/ *$//' \
- -e 's/, */,/g' \
- -e 's/,,*/,/g' \
- -e 's/^,*//' \
- -e 's/,*$//' \
- -e 's/,/, /g'`
+PKGCONFIG_REQUIRES_PRIVATE=`echo "$PKGCONFIG_REQUIRES_PRIVATE" \
+ | sed -e 's/^ *//' \
+ -e 's/ *$//' \
+ -e 's/, */,/g' \
+ -e 's/,,*/,/g' \
+ -e 's/^,*//' \
+ -e 's/,*$//' \
+ -e 's/,/, /g'`
-LIBS_PRIVATE="$zlib_libspriv \
- $bzip2_libspriv \
- $libpng_libspriv \
- $harfbuzz_libspriv \
- $brotli_libspriv \
- $ft2_extra_libs"
+PKGCONFIG_LIBS_PRIVATE="$zlib_libspriv \
+ $bzip2_libspriv \
+ $libpng_libspriv \
+ $harfbuzz_libspriv \
+ $brotli_libspriv \
+ $ft2_extra_libs"
# beautify
-LIBS_PRIVATE=`echo "$LIBS_PRIVATE" \
- | sed -e 's/^ *//' \
- -e 's/ *$//' \
- -e 's/ */ /g'`
+PKGCONFIG_LIBS_PRIVATE=`echo "$PKGCONFIG_LIBS_PRIVATE" \
+ | sed -e 's/^ *//' \
+ -e 's/ *$//' \
+ -e 's/ */ /g'`
LIBSSTATIC_CONFIG="-lfreetype \
$zlib_libsstaticconf \
@@ -1005,10 +1028,28 @@ LIBSSTATIC_CONFIG=`echo "$LIBSSTATIC_CONFIG" \
-e 's/ *$//' \
-e 's/ */ /g'`
+# If FreeType gets installed with `--disable-shared', don't use
+# 'private' fields. `pkg-config' only looks into `.pc' files and is
+# completely agnostic to whether shared libraries are actually present
+# or not. As a consequence, the user had to specify `--static' while
+# calling `pkg-config', which configure scripts are normally not
+# prepared for.
+
+PKGCONFIG_REQUIRES=
+PKGCONFIG_LIBS='-L${libdir} -lfreetype'
+
+if test $enable_shared = "no"; then
+ PKGCONFIG_REQUIRES="$PKGCONFIG_REQUIRES $PKGCONFIG_REQUIRES_PRIVATE"
+ PKGCONFIG_REQUIRES_PRIVATE=
+ PKGCONFIG_LIBS="$PKGCONFIG_LIBS $PKGCONFIG_LIBS_PRIVATE"
+ PKGCONFIG_LIBS_PRIVATE=
+fi
AC_SUBST([ftmac_c])
-AC_SUBST([REQUIRES_PRIVATE])
-AC_SUBST([LIBS_PRIVATE])
+AC_SUBST([PKGCONFIG_REQUIRES])
+AC_SUBST([PKGCONFIG_LIBS])
+AC_SUBST([PKGCONFIG_REQUIRES_PRIVATE])
+AC_SUBST([PKGCONFIG_LIBS_PRIVATE])
AC_SUBST([LIBSSTATIC_CONFIG])
AC_SUBST([hardcode_libdir_flag_spec])
diff --git a/thirdparty/freetype/builds/unix/detect.mk b/thirdparty/freetype/builds/unix/detect.mk
index 862b43219c..7ed58ff745 100644
--- a/thirdparty/freetype/builds/unix/detect.mk
+++ b/thirdparty/freetype/builds/unix/detect.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2021 by
+# Copyright (C) 1996-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/unix/freetype-config.in b/thirdparty/freetype/builds/unix/freetype-config.in
index 4edb092d09..c076bc1f82 100644
--- a/thirdparty/freetype/builds/unix/freetype-config.in
+++ b/thirdparty/freetype/builds/unix/freetype-config.in
@@ -1,6 +1,6 @@
#! /bin/sh
#
-# Copyright (C) 2000-2021 by
+# Copyright (C) 2000-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/unix/freetype2.in b/thirdparty/freetype/builds/unix/freetype2.in
index 2d759ecf8b..fe389f4b6f 100644
--- a/thirdparty/freetype/builds/unix/freetype2.in
+++ b/thirdparty/freetype/builds/unix/freetype2.in
@@ -7,8 +7,8 @@ Name: FreeType 2
URL: https://freetype.org
Description: A free, high-quality, and portable font engine.
Version: %ft_version%
-Requires:
-Requires.private: %REQUIRES_PRIVATE%
-Libs: -L${libdir} -lfreetype
-Libs.private: %LIBS_PRIVATE%
+Requires: %PKGCONFIG_REQUIRES%
+Requires.private: %PKGCONFIG_REQUIRES_PRIVATE%
+Libs: %PKGCONFIG_LIBS%
+Libs.private: %PKGCONFIG_LIBS_PRIVATE%
Cflags: -I${includedir}/freetype2
diff --git a/thirdparty/freetype/builds/unix/freetype2.m4 b/thirdparty/freetype/builds/unix/freetype2.m4
index 478a422105..0cafc8e8cd 100644
--- a/thirdparty/freetype/builds/unix/freetype2.m4
+++ b/thirdparty/freetype/builds/unix/freetype2.m4
@@ -1,7 +1,7 @@
# Configure paths for FreeType2
# Marcelo Magallon 2001-10-26, based on `gtk.m4` by Owen Taylor
#
-# Copyright (C) 2001-2021 by
+# Copyright (C) 2001-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/unix/ft-munmap.m4 b/thirdparty/freetype/builds/unix/ft-munmap.m4
index 275481ba11..c536febb23 100644
--- a/thirdparty/freetype/builds/unix/ft-munmap.m4
+++ b/thirdparty/freetype/builds/unix/ft-munmap.m4
@@ -1,6 +1,6 @@
## FreeType specific autoconf tests
#
-# Copyright (C) 2002-2021 by
+# Copyright (C) 2002-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/unix/ftconfig.h.in b/thirdparty/freetype/builds/unix/ftconfig.h.in
index b42fe42f9b..67474dcef1 100644
--- a/thirdparty/freetype/builds/unix/ftconfig.h.in
+++ b/thirdparty/freetype/builds/unix/ftconfig.h.in
@@ -4,7 +4,7 @@
*
* UNIX-specific configuration file (specification only).
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2022 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/thirdparty/freetype/builds/unix/ftsystem.c b/thirdparty/freetype/builds/unix/ftsystem.c
index 81ed928584..4d2870b596 100644
--- a/thirdparty/freetype/builds/unix/ftsystem.c
+++ b/thirdparty/freetype/builds/unix/ftsystem.c
@@ -4,7 +4,7 @@
*
* Unix-specific FreeType low-level system interface (body).
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2022 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/thirdparty/freetype/builds/unix/install.mk b/thirdparty/freetype/builds/unix/install.mk
index 45b761d535..0758d6e1a5 100644
--- a/thirdparty/freetype/builds/unix/install.mk
+++ b/thirdparty/freetype/builds/unix/install.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2021 by
+# Copyright (C) 1996-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/unix/unix-cc.in b/thirdparty/freetype/builds/unix/unix-cc.in
index 89be450167..d5ae467452 100644
--- a/thirdparty/freetype/builds/unix/unix-cc.in
+++ b/thirdparty/freetype/builds/unix/unix-cc.in
@@ -2,7 +2,7 @@
# FreeType 2 template for Unix-specific compiler definitions
#
-# Copyright (C) 1996-2021 by
+# Copyright (C) 1996-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@@ -106,9 +106,7 @@ endif
# Linker flags.
#
-LDFLAGS := @LDFLAGS@
-LIB_CLOCK_GETTIME := @LIB_CLOCK_GETTIME@ # for ftbench
-
+LDFLAGS := @LDFLAGS@
# export symbols
#
@@ -118,11 +116,15 @@ EXPORTS_LIST := $(OBJ_DIR)/ftexport.sym
CCexe := $(CCraw_build) # used to compile `apinames' only
-# Library linking
+# Library linking.
#
LINK_LIBRARY = $(LIBTOOL) --mode=link $(CCraw) -o $@ $(OBJECTS_LIST) \
-rpath $(libdir) -version-info $(version_info) \
$(LDFLAGS) -no-undefined \
-export-symbols $(EXPORTS_LIST)
+# For the demo programs.
+FT_DEMO_CFLAGS := @FT_DEMO_CFLAGS@
+FT_DEMO_LDFLAGS := @FT_DEMO_LDFLAGS@
+
# EOF
diff --git a/thirdparty/freetype/builds/unix/unix-def.in b/thirdparty/freetype/builds/unix/unix-def.in
index d0c758d03f..8e298ac591 100644
--- a/thirdparty/freetype/builds/unix/unix-def.in
+++ b/thirdparty/freetype/builds/unix/unix-def.in
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2021 by
+# Copyright (C) 1996-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@@ -68,12 +68,14 @@ version_info := @version_info@
# Variables needed for `freetype-config' and `freetype.pc'.
#
-PKG_CONFIG := @PKG_CONFIG@
-REQUIRES_PRIVATE := @REQUIRES_PRIVATE@
-LIBS_PRIVATE := @LIBS_PRIVATE@
-LIBSSTATIC_CONFIG := @LIBSSTATIC_CONFIG@
-build_libtool_libs := @build_libtool_libs@
-ft_version := @ft_version@
+PKG_CONFIG := @PKG_CONFIG@
+PKGCONFIG_REQUIRES := @PKGCONFIG_REQUIRES@
+PKGCONFIG_REQUIRES_PRIVATE := @PKGCONFIG_REQUIRES_PRIVATE@
+PKGCONFIG_LIBS := @PKGCONFIG_LIBS@
+PKGCONFIG_LIBS_PRIVATE := @PKGCONFIG_LIBS_PRIVATE@
+LIBSSTATIC_CONFIG := @LIBSSTATIC_CONFIG@
+build_libtool_libs := @build_libtool_libs@
+ft_version := @ft_version@
# The directory where all library files are placed.
#
@@ -137,15 +139,17 @@ prefix_x := $(subst $(space),\\$(space),$(prefix))
$(OBJ_BUILD)/freetype2.pc: $(TOP_DIR)/builds/unix/freetype2.in
rm -f $@ $@.tmp
- sed -e 's|%REQUIRES_PRIVATE%|$(REQUIRES_PRIVATE)|' \
- -e 's|%LIBS_PRIVATE%|$(LIBS_PRIVATE)|' \
- -e 's|%build_libtool_libs%|$(build_libtool_libs)|' \
- -e 's|%exec_prefix%|$(exec_prefix_x)|' \
- -e 's|%ft_version%|$(ft_version)|' \
- -e 's|%includedir%|$(includedir_x)|' \
- -e 's|%libdir%|$(libdir_x)|' \
- -e 's|%prefix%|$(prefix_x)|' \
- $< \
+ sed -e 's|%PKGCONFIG_REQUIRES%|$(PKGCONFIG_REQUIRES)|' \
+ -e 's|%PKGCONFIG_REQUIRES_PRIVATE%|$(PKGCONFIG_REQUIRES_PRIVATE)|' \
+ -e 's|%PKGCONFIG_LIBS%|$(PKGCONFIG_LIBS)|' \
+ -e 's|%PKGCONFIG_LIBS_PRIVATE%|$(PKGCONFIG_LIBS_PRIVATE)|' \
+ -e 's|%build_libtool_libs%|$(build_libtool_libs)|' \
+ -e 's|%exec_prefix%|$(exec_prefix_x)|' \
+ -e 's|%ft_version%|$(ft_version)|' \
+ -e 's|%includedir%|$(includedir_x)|' \
+ -e 's|%libdir%|$(libdir_x)|' \
+ -e 's|%prefix%|$(prefix_x)|' \
+ $< \
> $@.tmp
chmod a-w $@.tmp
mv $@.tmp $@
diff --git a/thirdparty/freetype/builds/unix/unix-dev.mk b/thirdparty/freetype/builds/unix/unix-dev.mk
index 0b572a034b..37543895b2 100644
--- a/thirdparty/freetype/builds/unix/unix-dev.mk
+++ b/thirdparty/freetype/builds/unix/unix-dev.mk
@@ -6,7 +6,7 @@
#
-# Copyright (C) 1996-2021 by
+# Copyright (C) 1996-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/unix/unix-lcc.mk b/thirdparty/freetype/builds/unix/unix-lcc.mk
index db57835a0c..0198adfd87 100644
--- a/thirdparty/freetype/builds/unix/unix-lcc.mk
+++ b/thirdparty/freetype/builds/unix/unix-lcc.mk
@@ -6,7 +6,7 @@
#
-# Copyright (C) 1996-2021 by
+# Copyright (C) 1996-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/unix/unix.mk b/thirdparty/freetype/builds/unix/unix.mk
index 262fafb748..e660fafa9d 100644
--- a/thirdparty/freetype/builds/unix/unix.mk
+++ b/thirdparty/freetype/builds/unix/unix.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2021 by
+# Copyright (C) 1996-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/unix/unixddef.mk b/thirdparty/freetype/builds/unix/unixddef.mk
index 77c2a0df5c..923773e091 100644
--- a/thirdparty/freetype/builds/unix/unixddef.mk
+++ b/thirdparty/freetype/builds/unix/unixddef.mk
@@ -4,7 +4,7 @@
#
-# Copyright (C) 1996-2021 by
+# Copyright (C) 1996-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/vms/ftconfig.h b/thirdparty/freetype/builds/vms/ftconfig.h
index 2445b7d792..8f5ca96713 100644
--- a/thirdparty/freetype/builds/vms/ftconfig.h
+++ b/thirdparty/freetype/builds/vms/ftconfig.h
@@ -4,7 +4,7 @@
*
* VMS-specific configuration file (specification only).
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2022 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/thirdparty/freetype/builds/vms/ftsystem.c b/thirdparty/freetype/builds/vms/ftsystem.c
index 31b08708f7..e700eac5c8 100644
--- a/thirdparty/freetype/builds/vms/ftsystem.c
+++ b/thirdparty/freetype/builds/vms/ftsystem.c
@@ -4,7 +4,7 @@
/* */
/* VMS-specific FreeType low-level system interface (body). */
/* */
-/* Copyright (C) 1996-2021 by */
+/* Copyright (C) 1996-2022 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
diff --git a/thirdparty/freetype/builds/wince/ftdebug.c b/thirdparty/freetype/builds/wince/ftdebug.c
index 9e17776615..7a4fac5d21 100644
--- a/thirdparty/freetype/builds/wince/ftdebug.c
+++ b/thirdparty/freetype/builds/wince/ftdebug.c
@@ -4,7 +4,7 @@
*
* Debugging and logging component for WinCE (body).
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2022 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/thirdparty/freetype/builds/wince/vc2005-ce/index.html b/thirdparty/freetype/builds/wince/vc2005-ce/index.html
index 3e42cf9925..2289c76b80 100644
--- a/thirdparty/freetype/builds/wince/vc2005-ce/index.html
+++ b/thirdparty/freetype/builds/wince/vc2005-ce/index.html
@@ -21,7 +21,7 @@ the following targets:
PPC/SP WM6 (Windows Mobile 6)
-It compiles the following libraries from the FreeType 2.11.1 sources:
+It compiles the following libraries from the FreeType 2.12.0 sources:
diff --git a/thirdparty/freetype/builds/wince/vc2008-ce/index.html b/thirdparty/freetype/builds/wince/vc2008-ce/index.html
index 645675c721..de0f340581 100644
--- a/thirdparty/freetype/builds/wince/vc2008-ce/index.html
+++ b/thirdparty/freetype/builds/wince/vc2008-ce/index.html
@@ -21,7 +21,7 @@ the following targets:
PPC/SP WM6 (Windows Mobile 6)
-It compiles the following libraries from the FreeType 2.11.1 sources:
+It compiles the following libraries from the FreeType 2.12.0 sources:
diff --git a/thirdparty/freetype/builds/windows/detect.mk b/thirdparty/freetype/builds/windows/detect.mk
index 3eef47aaa9..759a2e640a 100644
--- a/thirdparty/freetype/builds/windows/detect.mk
+++ b/thirdparty/freetype/builds/windows/detect.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2021 by
+# Copyright (C) 1996-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/windows/ftdebug.c b/thirdparty/freetype/builds/windows/ftdebug.c
index 94c22da752..a65f544694 100644
--- a/thirdparty/freetype/builds/windows/ftdebug.c
+++ b/thirdparty/freetype/builds/windows/ftdebug.c
@@ -4,7 +4,7 @@
*
* Debugging and logging component for Win32 (body).
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2022 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
@@ -136,6 +136,8 @@
va_start( ap, fmt );
vfprintf( stderr, fmt, ap );
+#if ( defined( _WIN32_WINNT ) && _WIN32_WINNT >= 0x0400 ) || \
+ ( defined( _WIN32_WCE ) && _WIN32_WCE >= 0x0600 )
if ( IsDebuggerPresent() )
{
static char buf[1024];
@@ -144,6 +146,7 @@
vsnprintf( buf, sizeof buf, fmt, ap );
OutputDebugStringA( buf );
}
+#endif
va_end( ap );
}
@@ -159,6 +162,8 @@
va_start( ap, fmt );
vfprintf( stderr, fmt, ap );
+#if ( defined( _WIN32_WINNT ) && _WIN32_WINNT >= 0x0400 ) || \
+ ( defined( _WIN32_WCE ) && _WIN32_WCE >= 0x0600 )
if ( IsDebuggerPresent() )
{
static char buf[1024];
@@ -167,6 +172,7 @@
vsnprintf( buf, sizeof buf, fmt, ap );
OutputDebugStringA( buf );
}
+#endif
va_end( ap );
exit( EXIT_FAILURE );
diff --git a/thirdparty/freetype/builds/windows/ftsystem.c b/thirdparty/freetype/builds/windows/ftsystem.c
index 1ebadd49ff..4f4ac15f33 100644
--- a/thirdparty/freetype/builds/windows/ftsystem.c
+++ b/thirdparty/freetype/builds/windows/ftsystem.c
@@ -4,7 +4,7 @@
*
* Windows-specific FreeType low-level system interface (body).
*
- * Copyright (C) 2021 by
+ * Copyright (C) 2021-2022 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
@@ -196,19 +196,78 @@
}
-#ifdef _WIN32_WCE
+ /* non-desktop Universal Windows Platform */
+#if defined( WINAPI_FAMILY_PARTITION ) && \
+ !WINAPI_FAMILY_PARTITION( WINAPI_PARTITION_DESKTOP )
+
+#define PACK_DWORD64( hi, lo ) ( ( (DWORD64)(hi) << 32 ) | (DWORD)(lo) )
+
+#define CreateFileMapping( a, b, c, d, e, f ) \
+ CreateFileMappingFromApp( a, b, c, PACK_DWORD64( d, e ), f )
+#define MapViewOfFile( a, b, c, d, e ) \
+ MapViewOfFileFromApp( a, b, PACK_DWORD64( c, d ), e )
FT_LOCAL_DEF( HANDLE )
- CreateFileA( LPCSTR lpFileName,
- DWORD dwDesiredAccess,
- DWORD dwShareMode,
- LPSECURITY_ATTRIBUTES lpSecurityAttributes,
- DWORD dwCreationDisposition,
- DWORD dwFlagsAndAttributes,
- HANDLE hTemplateFile )
+ CreateFileA( LPCSTR lpFileName,
+ DWORD dwDesiredAccess,
+ DWORD dwShareMode,
+ LPSECURITY_ATTRIBUTES lpSecurityAttributes,
+ DWORD dwCreationDisposition,
+ DWORD dwFlagsAndAttributes,
+ HANDLE hTemplateFile )
{
- int len;
- LPWSTR lpFileNameW;
+ int len;
+ LPWSTR lpFileNameW;
+
+ CREATEFILE2_EXTENDED_PARAMETERS createExParams = {
+ sizeof ( CREATEFILE2_EXTENDED_PARAMETERS ),
+ dwFlagsAndAttributes & 0x0000FFFF,
+ dwFlagsAndAttributes & 0xFFF00000,
+ dwFlagsAndAttributes & 0x000F0000,
+ lpSecurityAttributes,
+ hTemplateFile };
+
+
+ /* allocate memory space for converted path name */
+ len = MultiByteToWideChar( CP_ACP, MB_ERR_INVALID_CHARS,
+ lpFileName, -1, NULL, 0 );
+
+ lpFileNameW = (LPWSTR)_alloca( len * sizeof ( WCHAR ) );
+
+ if ( !len || !lpFileNameW )
+ {
+ FT_ERROR(( "FT_Stream_Open: cannot convert file name to LPWSTR\n" ));
+ return INVALID_HANDLE_VALUE;
+ }
+
+ /* now it is safe to do the translation */
+ MultiByteToWideChar( CP_ACP, MB_ERR_INVALID_CHARS,
+ lpFileName, -1, lpFileNameW, len );
+
+ /* open the file */
+ return CreateFile2( lpFileNameW, dwDesiredAccess, dwShareMode,
+ dwCreationDisposition, &createExParams );
+ }
+
+#endif
+
+
+#if defined( _WIN32_WCE )
+
+ /* malloc.h provides implementation of alloca()/_alloca() */
+ #include
+
+ FT_LOCAL_DEF( HANDLE )
+ CreateFileA( LPCSTR lpFileName,
+ DWORD dwDesiredAccess,
+ DWORD dwShareMode,
+ LPSECURITY_ATTRIBUTES lpSecurityAttributes,
+ DWORD dwCreationDisposition,
+ DWORD dwFlagsAndAttributes,
+ HANDLE hTemplateFile )
+ {
+ int len;
+ LPWSTR lpFileNameW;
/* allocate memory space for converted path name */
@@ -233,10 +292,15 @@
dwFlagsAndAttributes, hTemplateFile );
}
+#endif
+
+
+#if defined( _WIN32_WCE ) || defined ( _WIN32_WINDOWS ) || \
+ !defined( _WIN32_WINNT ) || _WIN32_WINNT <= 0x0400
FT_LOCAL_DEF( BOOL )
- GetFileSizeEx( HANDLE hFile,
- PLARGE_INTEGER lpFileSize )
+ GetFileSizeEx( HANDLE hFile,
+ PLARGE_INTEGER lpFileSize )
{
lpFileSize->u.LowPart = GetFileSize( hFile,
(DWORD *)&lpFileSize->u.HighPart );
@@ -248,7 +312,7 @@
return TRUE;
}
-#endif /* _WIN32_WCE */
+#endif
/* documentation is in ftobjs.h */
diff --git a/thirdparty/freetype/builds/windows/vc2010/freetype.vcxproj b/thirdparty/freetype/builds/windows/vc2010/freetype.vcxproj
index def89540a9..7ac4c2b3de 100644
--- a/thirdparty/freetype/builds/windows/vc2010/freetype.vcxproj
+++ b/thirdparty/freetype/builds/windows/vc2010/freetype.vcxproj
@@ -485,6 +485,7 @@
+
diff --git a/thirdparty/freetype/builds/windows/vc2010/freetype.vcxproj.filters b/thirdparty/freetype/builds/windows/vc2010/freetype.vcxproj.filters
index fb27a3637e..0bb4107682 100644
--- a/thirdparty/freetype/builds/windows/vc2010/freetype.vcxproj.filters
+++ b/thirdparty/freetype/builds/windows/vc2010/freetype.vcxproj.filters
@@ -68,6 +68,9 @@
Source Files
+
+ Source Files
+
Source Files
@@ -143,4 +146,4 @@
Source Files
-
\ No newline at end of file
+
diff --git a/thirdparty/freetype/builds/windows/vc2010/index.html b/thirdparty/freetype/builds/windows/vc2010/index.html
index dcb1944b82..02b9c1b30d 100644
--- a/thirdparty/freetype/builds/windows/vc2010/index.html
+++ b/thirdparty/freetype/builds/windows/vc2010/index.html
@@ -12,7 +12,7 @@
This directory contains solution and project files for
Visual C++ 2010 or newer, named freetype.sln,
and freetype.vcxproj. It compiles the following libraries
-from the FreeType 2.11.1 sources:
+from the FreeType 2.12.0 sources:
- freetype.dll using 'Release' or 'Debug' configurations
diff --git a/thirdparty/freetype/builds/windows/visualc/freetype.vcproj b/thirdparty/freetype/builds/windows/visualc/freetype.vcproj
index 129dc29222..3fafcd4f09 100644
--- a/thirdparty/freetype/builds/windows/visualc/freetype.vcproj
+++ b/thirdparty/freetype/builds/windows/visualc/freetype.vcproj
@@ -434,10 +434,18 @@
/>
+
+
+
+
diff --git a/thirdparty/freetype/builds/windows/visualc/index.html b/thirdparty/freetype/builds/windows/visualc/index.html
index d0c8f2f947..0dabfe2b9f 100644
--- a/thirdparty/freetype/builds/windows/visualc/index.html
+++ b/thirdparty/freetype/builds/windows/visualc/index.html
@@ -12,7 +12,7 @@
This directory contains project files freetype.dsp for
Visual C++ 6.0, and freetype.vcproj for Visual C++ 2002
through 2008, which you might need to upgrade automatically.
-It compiles the following libraries from the FreeType 2.11.1 sources:
+It compiles the following libraries from the FreeType 2.12.0 sources:
- freetype.dll using 'Release' or 'Debug' configurations
diff --git a/thirdparty/freetype/builds/windows/visualce/index.html b/thirdparty/freetype/builds/windows/visualce/index.html
index b50ef79b06..d11978e37c 100644
--- a/thirdparty/freetype/builds/windows/visualce/index.html
+++ b/thirdparty/freetype/builds/windows/visualce/index.html
@@ -21,7 +21,7 @@ the following targets:
- PPC/SP WM6 (Windows Mobile 6)
-It compiles the following libraries from the FreeType 2.11.1 sources:
+It compiles the following libraries from the FreeType 2.12.0 sources:
diff --git a/thirdparty/freetype/builds/windows/w32-bcc.mk b/thirdparty/freetype/builds/windows/w32-bcc.mk
index d497dd15dc..b88dbac6ed 100644
--- a/thirdparty/freetype/builds/windows/w32-bcc.mk
+++ b/thirdparty/freetype/builds/windows/w32-bcc.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2021 by
+# Copyright (C) 1996-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/windows/w32-bccd.mk b/thirdparty/freetype/builds/windows/w32-bccd.mk
index 701b83d25c..2be492cef1 100644
--- a/thirdparty/freetype/builds/windows/w32-bccd.mk
+++ b/thirdparty/freetype/builds/windows/w32-bccd.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2021 by
+# Copyright (C) 1996-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/windows/w32-dev.mk b/thirdparty/freetype/builds/windows/w32-dev.mk
index a2f464479e..a58f8247d2 100644
--- a/thirdparty/freetype/builds/windows/w32-dev.mk
+++ b/thirdparty/freetype/builds/windows/w32-dev.mk
@@ -5,7 +5,7 @@
#
-# Copyright (C) 1996-2021 by
+# Copyright (C) 1996-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/windows/w32-gcc.mk b/thirdparty/freetype/builds/windows/w32-gcc.mk
index 4117453ec3..52b893339f 100644
--- a/thirdparty/freetype/builds/windows/w32-gcc.mk
+++ b/thirdparty/freetype/builds/windows/w32-gcc.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2021 by
+# Copyright (C) 1996-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/windows/w32-icc.mk b/thirdparty/freetype/builds/windows/w32-icc.mk
index ebab45ef2c..a05a3a7896 100644
--- a/thirdparty/freetype/builds/windows/w32-icc.mk
+++ b/thirdparty/freetype/builds/windows/w32-icc.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2021 by
+# Copyright (C) 1996-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/windows/w32-intl.mk b/thirdparty/freetype/builds/windows/w32-intl.mk
index 0fef8d7245..fb5c96090f 100644
--- a/thirdparty/freetype/builds/windows/w32-intl.mk
+++ b/thirdparty/freetype/builds/windows/w32-intl.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2021 by
+# Copyright (C) 1996-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/windows/w32-lcc.mk b/thirdparty/freetype/builds/windows/w32-lcc.mk
index 7aed5b5177..66de0aa564 100644
--- a/thirdparty/freetype/builds/windows/w32-lcc.mk
+++ b/thirdparty/freetype/builds/windows/w32-lcc.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2021 by
+# Copyright (C) 1996-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/windows/w32-mingw32.mk b/thirdparty/freetype/builds/windows/w32-mingw32.mk
index 6731778855..e3b89697a6 100644
--- a/thirdparty/freetype/builds/windows/w32-mingw32.mk
+++ b/thirdparty/freetype/builds/windows/w32-mingw32.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2021 by
+# Copyright (C) 1996-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/windows/w32-vcc.mk b/thirdparty/freetype/builds/windows/w32-vcc.mk
index 278624f375..4a48407a27 100644
--- a/thirdparty/freetype/builds/windows/w32-vcc.mk
+++ b/thirdparty/freetype/builds/windows/w32-vcc.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2021 by
+# Copyright (C) 1996-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/windows/w32-wat.mk b/thirdparty/freetype/builds/windows/w32-wat.mk
index df2ece3656..4458b23418 100644
--- a/thirdparty/freetype/builds/windows/w32-wat.mk
+++ b/thirdparty/freetype/builds/windows/w32-wat.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2021 by
+# Copyright (C) 1996-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/builds/windows/win32-def.mk b/thirdparty/freetype/builds/windows/win32-def.mk
index 15bfd0cfd1..eb96181ddc 100644
--- a/thirdparty/freetype/builds/windows/win32-def.mk
+++ b/thirdparty/freetype/builds/windows/win32-def.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2021 by
+# Copyright (C) 1996-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/configure b/thirdparty/freetype/configure
index 584e6ec380..404f13ce2d 100755
--- a/thirdparty/freetype/configure
+++ b/thirdparty/freetype/configure
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2002-2021 by
+# Copyright (C) 2002-2022 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/thirdparty/freetype/devel/ft2build.h b/thirdparty/freetype/devel/ft2build.h
index 117532ba49..92bc9e01a1 100644
--- a/thirdparty/freetype/devel/ft2build.h
+++ b/thirdparty/freetype/devel/ft2build.h
@@ -4,7 +4,7 @@
*
* FreeType 2 build and setup macros (development version).
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2022 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/thirdparty/freetype/devel/ftoption.h b/thirdparty/freetype/devel/ftoption.h
index f92b4167aa..b2363d74c1 100644
--- a/thirdparty/freetype/devel/ftoption.h
+++ b/thirdparty/freetype/devel/ftoption.h
@@ -4,7 +4,7 @@
*
* User-selectable configuration macros (specification only).
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2022 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
@@ -219,6 +219,10 @@ FT_BEGIN_HEADER
* If you use a build system like cmake or the `configure` script,
* options set by those programs have precedence, overwriting the value
* here with the configured one.
+ *
+ * If you use the GNU make build system directly (that is, without the
+ * `configure` script) and you define this macro, you also have to pass
+ * `SYSTEM_ZLIB=yes` as an argument to make.
*/
/* #define FT_CONFIG_OPTION_SYSTEM_ZLIB */
@@ -521,6 +525,20 @@ FT_BEGIN_HEADER
#undef FT_CONFIG_OPTION_USE_MODULE_ERRORS
+ /**************************************************************************
+ *
+ * OpenType SVG Glyph Support
+ *
+ * Setting this macro enables support for OpenType SVG glyphs. By
+ * default, FreeType can only fetch SVG documents. However, it can also
+ * render them if external rendering hook functions are plugged in at
+ * runtime.
+ *
+ * More details on the hooks can be found in file `otsvg.h`.
+ */
+#define FT_CONFIG_OPTION_SVG
+
+
/**************************************************************************
*
* Error Strings
@@ -1000,8 +1018,8 @@ FT_BEGIN_HEADER
#error "Invalid CFF darkening parameters!"
#endif
-FT_END_HEADER
+FT_END_HEADER
#endif /* FTOPTION_H_ */
diff --git a/thirdparty/freetype/include/freetype/config/ftconfig.h b/thirdparty/freetype/include/freetype/config/ftconfig.h
index 65effcbe63..c696e900a6 100644
--- a/thirdparty/freetype/include/freetype/config/ftconfig.h
+++ b/thirdparty/freetype/include/freetype/config/ftconfig.h
@@ -4,7 +4,7 @@
*
* ANSI-specific configuration file (specification only).
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2022 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/thirdparty/freetype/include/freetype/config/ftheader.h b/thirdparty/freetype/include/freetype/config/ftheader.h
index e46d314e33..a8c6833df7 100644
--- a/thirdparty/freetype/include/freetype/config/ftheader.h
+++ b/thirdparty/freetype/include/freetype/config/ftheader.h
@@ -4,7 +4,7 @@
*
* Build macros of the FreeType 2 library.
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2022 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
@@ -777,6 +777,18 @@
#define FT_COLOR_H
+ /**************************************************************************
+ *
+ * @macro:
+ * FT_OTSVG_H
+ *
+ * @description:
+ * A macro used in `#include` statements to name the file containing the
+ * FreeType~2 API which handles the OpenType 'SVG~' glyphs.
+ */
+#define FT_OTSVG_H
+
+
/* */
/* These header files don't need to be included by the user. */
diff --git a/thirdparty/freetype/include/freetype/config/ftmodule.h b/thirdparty/freetype/include/freetype/config/ftmodule.h
index d4ba3f784d..b315baba8a 100644
--- a/thirdparty/freetype/include/freetype/config/ftmodule.h
+++ b/thirdparty/freetype/include/freetype/config/ftmodule.h
@@ -28,5 +28,6 @@ FT_USE_MODULE( FT_Renderer_Class, ft_smooth_renderer_class )
FT_USE_MODULE( FT_Renderer_Class, ft_raster1_renderer_class )
FT_USE_MODULE( FT_Renderer_Class, ft_sdf_renderer_class )
FT_USE_MODULE( FT_Renderer_Class, ft_bitmap_sdf_renderer_class )
+FT_USE_MODULE( FT_Renderer_Class, ft_svg_renderer_class )
/* EOF */
diff --git a/thirdparty/freetype/include/freetype/config/ftoption.h b/thirdparty/freetype/include/freetype/config/ftoption.h
index 4227fd376e..c5bde243b1 100644
--- a/thirdparty/freetype/include/freetype/config/ftoption.h
+++ b/thirdparty/freetype/include/freetype/config/ftoption.h
@@ -4,7 +4,7 @@
*
* User-selectable configuration macros (specification only).
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2022 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
@@ -219,6 +219,10 @@ FT_BEGIN_HEADER
* If you use a build system like cmake or the `configure` script,
* options set by those programs have precedence, overwriting the value
* here with the configured one.
+ *
+ * If you use the GNU make build system directly (that is, without the
+ * `configure` script) and you define this macro, you also have to pass
+ * `SYSTEM_ZLIB=yes` as an argument to make.
*/
/* #define FT_CONFIG_OPTION_SYSTEM_ZLIB */
@@ -523,6 +527,20 @@ FT_BEGIN_HEADER
#undef FT_CONFIG_OPTION_USE_MODULE_ERRORS
+ /**************************************************************************
+ *
+ * OpenType SVG Glyph Support
+ *
+ * Setting this macro enables support for OpenType SVG glyphs. By
+ * default, FreeType can only fetch SVG documents. However, it can also
+ * render them if external rendering hook functions are plugged in at
+ * runtime.
+ *
+ * More details on the hooks can be found in file `otsvg.h`.
+ */
+#define FT_CONFIG_OPTION_SVG
+
+
/**************************************************************************
*
* Error Strings
@@ -1002,8 +1020,8 @@ FT_BEGIN_HEADER
#error "Invalid CFF darkening parameters!"
#endif
-FT_END_HEADER
+FT_END_HEADER
#endif /* FTOPTION_H_ */
diff --git a/thirdparty/freetype/include/freetype/config/ftstdlib.h b/thirdparty/freetype/include/freetype/config/ftstdlib.h
index 6ee412a074..7958c2a5f7 100644
--- a/thirdparty/freetype/include/freetype/config/ftstdlib.h
+++ b/thirdparty/freetype/include/freetype/config/ftstdlib.h
@@ -5,7 +5,7 @@
* ANSI-specific library and header configuration file (specification
* only).
*
- * Copyright (C) 2002-2021 by
+ * Copyright (C) 2002-2022 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/thirdparty/freetype/include/freetype/config/integer-types.h b/thirdparty/freetype/include/freetype/config/integer-types.h
index 5ef09f1978..d9d2638d1e 100644
--- a/thirdparty/freetype/include/freetype/config/integer-types.h
+++ b/thirdparty/freetype/include/freetype/config/integer-types.h
@@ -4,7 +4,7 @@
*
* FreeType integer types definitions.
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2022 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
@@ -221,9 +221,10 @@
#define FT_INT64 __int64
#define FT_UINT64 unsigned __int64
-#elif defined( __WATCOMC__ ) /* Watcom C++ */
+#elif defined( __WATCOMC__ ) && __WATCOMC__ >= 1100 /* Watcom C++ */
- /* Watcom doesn't provide 64-bit data types */
+#define FT_INT64 long long int
+#define FT_UINT64 unsigned long long int
#elif defined( __MWERKS__ ) /* Metrowerks CodeWarrior */
diff --git a/thirdparty/freetype/include/freetype/config/mac-support.h b/thirdparty/freetype/include/freetype/config/mac-support.h
index ef58d8b3f0..e42c9fe410 100644
--- a/thirdparty/freetype/include/freetype/config/mac-support.h
+++ b/thirdparty/freetype/include/freetype/config/mac-support.h
@@ -4,7 +4,7 @@
*
* Mac/OS X support configuration header.
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2022 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/thirdparty/freetype/include/freetype/config/public-macros.h b/thirdparty/freetype/include/freetype/config/public-macros.h
index 9fbb3274a0..0074134f1d 100644
--- a/thirdparty/freetype/include/freetype/config/public-macros.h
+++ b/thirdparty/freetype/include/freetype/config/public-macros.h
@@ -4,7 +4,7 @@
*
* Define a set of compiler macros used in public FreeType headers.
*
- * Copyright (C) 2020-2021 by
+ * Copyright (C) 2020-2022 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
diff --git a/thirdparty/freetype/include/freetype/freetype.h b/thirdparty/freetype/include/freetype/freetype.h
index f6c66b94ae..0ecd15a35b 100644
--- a/thirdparty/freetype/include/freetype/freetype.h
+++ b/thirdparty/freetype/include/freetype/freetype.h
@@ -4,7 +4,7 @@
*
* FreeType high-level API and common types (specification only).
*
- * Copyright (C) 1996-2021 by
+ * Copyright (C) 1996-2022 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
@@ -153,6 +153,9 @@ FT_BEGIN_HEADER
* FT_FACE_FLAG_GLYPH_NAMES
* FT_FACE_FLAG_EXTERNAL_STREAM
* FT_FACE_FLAG_HINTER
+ * FT_FACE_FLAG_SVG
+ * FT_FACE_FLAG_SBIX
+ * FT_FACE_FLAG_SBIX_OVERLAY
*
* FT_HAS_HORIZONTAL
* FT_HAS_VERTICAL
@@ -161,6 +164,9 @@ FT_BEGIN_HEADER
* FT_HAS_GLYPH_NAMES
* FT_HAS_COLOR
* FT_HAS_MULTIPLE_MASTERS
+ * FT_HAS_SVG
+ * FT_HAS_SBIX
+ * FT_HAS_SBIX_OVERLAY
*
* FT_IS_SFNT
* FT_IS_SCALABLE
@@ -225,6 +231,7 @@ FT_BEGIN_HEADER
* FT_LOAD_NO_SCALE
* FT_LOAD_NO_HINTING
* FT_LOAD_NO_BITMAP
+ * FT_LOAD_SBITS_ONLY
* FT_LOAD_NO_AUTOHINT
* FT_LOAD_COLOR
*
@@ -522,13 +529,15 @@ FT_BEGIN_HEADER
* size.
*
* @note:
- * An @FT_Face has one _active_ @FT_Size object that is used by functions
- * like @FT_Load_Glyph to determine the scaling transformation that in
- * turn is used to load and hint glyphs and metrics.
+ * An @FT_Face has one _active_ `FT_Size` object that is used by
+ * functions like @FT_Load_Glyph to determine the scaling transformation
+ * that in turn is used to load and hint glyphs and metrics.
*
- * You can use @FT_Set_Char_Size, @FT_Set_Pixel_Sizes, @FT_Request_Size
+ * A newly created `FT_Size` object contains only meaningless zero values.
+ * You must use @FT_Set_Char_Size, @FT_Set_Pixel_Sizes, @FT_Request_Size
* or even @FT_Select_Size to change the content (i.e., the scaling
- * values) of the active @FT_Size.
+ * values) of the active `FT_Size`. Otherwise, the scaling and hinting
+ * will not be performed.
*
* You can use @FT_New_Size to create additional size objects for a given
* @FT_Face, but they won't be used by other functions until you activate
@@ -1228,6 +1237,19 @@ FT_BEGIN_HEADER
* altered with @FT_Set_MM_Design_Coordinates,
* @FT_Set_Var_Design_Coordinates, or @FT_Set_Var_Blend_Coordinates.
* This flag is unset by a call to @FT_Set_Named_Instance.
+ *
+ * FT_FACE_FLAG_SVG ::
+ * [Since 2.12] The face has an 'SVG~' OpenType table.
+ *
+ * FT_FACE_FLAG_SBIX ::
+ * [Since 2.12] The face has an 'sbix' OpenType table *and* outlines.
+ * For such fonts, @FT_FACE_FLAG_SCALABLE is not set by default to
+ * retain backward compatibility.
+ *
+ * FT_FACE_FLAG_SBIX_OVERLAY ::
+ * [Since 2.12] The face has an 'sbix' OpenType table where outlines
+ * should be drawn on top of bitmap strikes.
+ *
*/
#define FT_FACE_FLAG_SCALABLE ( 1L << 0 )
#define FT_FACE_FLAG_FIXED_SIZES ( 1L << 1 )
@@ -1245,6 +1267,9 @@ FT_BEGIN_HEADER
#define FT_FACE_FLAG_TRICKY ( 1L << 13 )
#define FT_FACE_FLAG_COLOR ( 1L << 14 )
#define FT_FACE_FLAG_VARIATION ( 1L << 15 )
+#define FT_FACE_FLAG_SVG ( 1L << 16 )
+#define FT_FACE_FLAG_SBIX ( 1L << 17 )
+#define FT_FACE_FLAG_SBIX_OVERLAY ( 1L << 18 )
/**************************************************************************
@@ -1485,6 +1510,124 @@ FT_BEGIN_HEADER
( !!( (face)->face_flags & FT_FACE_FLAG_COLOR ) )
+ /**************************************************************************
+ *
+ * @macro:
+ * FT_HAS_SVG
+ *
+ * @description:
+ * A macro that returns true whenever a face object contains an 'SVG~'
+ * OpenType table.
+ *
+ * @since:
+ * 2.12
+ */
+#define FT_HAS_SVG( face ) \
+ ( !!( (face)->face_flags & FT_FACE_FLAG_SVG ) )
+
+
+ /**************************************************************************
+ *
+ * @macro:
+ * FT_HAS_SBIX
+ *
+ * @description:
+ * A macro that returns true whenever a face object contains an 'sbix'
+ * OpenType table *and* outline glyphs.
+ *
+ * Currently, FreeType only supports bitmap glyphs in PNG format for this
+ * table (i.e., JPEG and TIFF formats are unsupported, as are
+ * Apple-specific formats not part of the OpenType specification).
+ *
+ * @note:
+ * For backward compatibility, a font with an 'sbix' table is treated as
+ * a bitmap-only face. Using @FT_Open_Face with
+ * @FT_PARAM_TAG_IGNORE_SBIX, an application can switch off 'sbix'
+ * handling so that the face is treated as an ordinary outline font with
+ * scalable outlines.
+ *
+ * Here is some pseudo code that roughly illustrates how to implement
+ * 'sbix' handling according to the OpenType specification.
+ *
+ * ```
+ * if ( FT_HAS_SBIX( face ) )
+ * {
+ * // open font as a scalable one without sbix handling
+ * FT_Face face2;
+ * FT_Parameter param = { FT_PARAM_TAG_IGNORE_SBIX, NULL };
+ * FT_Open_Args args = { FT_OPEN_PARAMS | ...,
+ * ...,
+ * 1, ¶m };
+ *
+ *
+ * FT_Open_Face( library, &args, 0, &face2 );
+ *
+ * available_size` as necessary into
+ * `preferred_sizes`[*]>
+ *
+ * for ( i = 0; i < face->num_fixed_sizes; i++ )
+ * {
+ * size = preferred_sizes[i].size;
+ *
+ * error = FT_Set_Pixel_Sizes( face, size, size );
+ *
+ *
+ * // check whether we have a glyph in a bitmap strike
+ * error = FT_Load_Glyph( face,
+ * glyph_index,
+ * FT_LOAD_SBITS_ONLY |
+ * FT_LOAD_BITMAP_METRICS_ONLY );
+ * if ( error == FT_Err_Invalid_Argument )
+ * continue;
+ * else if ( error )
+ *
+ * else
+ * break;
+ * }
+ *
+ * if ( i != face->num_fixed_sizes )
+ *
+ *
+ * if ( i == face->num_fixed_sizes ||
+ * FT_HAS_SBIX_OVERLAY( face ) )
+ *