From d3c5d798f3716f48e4e3298ab74b6ecd60f1707a Mon Sep 17 00:00:00 2001 From: Larry Gritz Date: Sat, 15 Jun 2024 11:11:11 -0700 Subject: [PATCH] build: Raise freetype minimum to 2.10.0 and allow auto-build (#4283) freetype 2.10.0 dates from 2019, so we're still supporting 5 years back. Previously, we enforced no minimum, so we're not sure how far back it would really work, but the earliest version we tested in CI was 2.8, which dated from 2018. Add a build_Freetype.bash for easy setup for CI (and other users). Add build_freetype.cmake to allow automatic local builds if it can't be found at build time. CI many cases need to build freetype, because the old CentOS 7 era freetype is now too old. Remove some reference output that was only needed for older freetype. --------- Signed-off-by: Larry Gritz --- .github/workflows/ci.yml | 10 +- CHANGES.md | 1 + INSTALL.md | 2 +- src/build-scripts/build_Freetype.bash | 56 ++++++++++ src/build-scripts/gh-installdeps.bash | 7 ++ src/cmake/build_Freetype.cmake | 40 +++++++ src/cmake/externalpackages.cmake | 3 +- src/fonts/CMakeLists.txt | 2 +- .../oiiotool-subimage/ref/out-oldfreetype.txt | 100 ------------------ .../ref/subimageB1-freetype2.6.5.exr | Bin 1746 -> 0 bytes .../ref/subimageB1-freetype2.7.exr | Bin 1795 -> 0 bytes .../ref/subimageB1-oldfreetype.exr | Bin 1824 -> 0 bytes .../oiiotool-subimage/ref/subimageB1.exr | Bin 1749 -> 1795 bytes .../ref/subimageD3-freetype2.7.exr | Bin 1709 -> 0 bytes .../ref/subimageD3-oldfreetype.exr | Bin 1756 -> 0 bytes .../oiiotool-subimage/ref/subimageD3.exr | Bin 1679 -> 1709 bytes .../ref/subimages-4-freetype2.6.5.exr | Bin 8130 -> 0 bytes .../ref/subimages-4-freetype2.7.exr | Bin 8202 -> 0 bytes .../ref/subimages-4-oldfreetype.exr | Bin 8318 -> 0 bytes .../oiiotool-subimage/ref/subimages-4.exr | Bin 8139 -> 8202 bytes .../texture-udim/ref/out-oldfreetype.tif | Bin 3571 -> 0 bytes .../texture-udim/ref/out2-oldfreetype.tif | Bin 3571 -> 0 bytes .../texture-udim2/ref/out-oldfreetype.tif | Bin 3472 -> 0 bytes .../texture-udim2/ref/out2-oldfreetype.tif | Bin 3472 -> 0 bytes .../texture-udim2/ref/out3-oldfreetype.tif | Bin 3472 -> 0 bytes .../texture-udim2/ref/out4-oldfreetype.tif | Bin 3472 -> 0 bytes .../texture-udim2/ref/out5-oldfreetype.tif | Bin 3472 -> 0 bytes 27 files changed, 117 insertions(+), 104 deletions(-) create mode 100755 src/build-scripts/build_Freetype.bash create mode 100644 src/cmake/build_Freetype.cmake delete mode 100644 testsuite/oiiotool-subimage/ref/out-oldfreetype.txt delete mode 100644 testsuite/oiiotool-subimage/ref/subimageB1-freetype2.6.5.exr delete mode 100644 testsuite/oiiotool-subimage/ref/subimageB1-freetype2.7.exr delete mode 100644 testsuite/oiiotool-subimage/ref/subimageB1-oldfreetype.exr delete mode 100644 testsuite/oiiotool-subimage/ref/subimageD3-freetype2.7.exr delete mode 100644 testsuite/oiiotool-subimage/ref/subimageD3-oldfreetype.exr delete mode 100644 testsuite/oiiotool-subimage/ref/subimages-4-freetype2.6.5.exr delete mode 100644 testsuite/oiiotool-subimage/ref/subimages-4-freetype2.7.exr delete mode 100644 testsuite/oiiotool-subimage/ref/subimages-4-oldfreetype.exr delete mode 100644 testsuite/texture-udim/ref/out-oldfreetype.tif delete mode 100644 testsuite/texture-udim/ref/out2-oldfreetype.tif delete mode 100644 testsuite/texture-udim2/ref/out-oldfreetype.tif delete mode 100644 testsuite/texture-udim2/ref/out2-oldfreetype.tif delete mode 100644 testsuite/texture-udim2/ref/out3-oldfreetype.tif delete mode 100644 testsuite/texture-udim2/ref/out4-oldfreetype.tif delete mode 100644 testsuite/texture-udim2/ref/out5-oldfreetype.tif diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 66a59375e4..2074c92a34 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -46,6 +46,7 @@ jobs: fmt_ver: 7.1.0 pybind11_ver: v2.7.0 setenvs: export PUGIXML_VERSION=v1.9 WEBP_VERSION=v1.1.0 USE_OPENVDB=0 + FREETYPE_VERSION=VER-2-10-0 - desc: clang10/C++17 avx2 exr3.1 ocio2.0 nametag: linux-clang10-cpp14 runner: ubuntu-latest @@ -60,6 +61,7 @@ jobs: simd: "avx2,f16c" fmt_ver: 8.1.1 setenvs: export USE_OPENVDB=0 + FREETYPE_VERSION=VER-2-11-0 - desc: gcc9/C++17 py39 exr3.1 ocio2.1 nametag: linux-vfx2022 runner: ubuntu-latest @@ -70,6 +72,7 @@ jobs: simd: "avx2,f16c" fmt_ver: 8.1.1 pybind11_ver: v2.9.0 + setenvs: export FREETYPE_VERSION=VER-2-12-0 - desc: clang13/C++17 py39 avx2 exr3.1 ocio2.1 nametag: linux-vfx2022-clang13 runner: ubuntu-latest @@ -82,6 +85,7 @@ jobs: simd: "avx2,f16c" fmt_ver: 9.1.0 pybind11_ver: v2.8.1 + setenvs: export FREETYPE_VERSION=VER-2-12-0 - desc: icc/C++17 py3.9 exr3.1 ocio2.1 qt5.15 nametag: linux-vfx2022-icc runner: ubuntu-latest @@ -95,6 +99,7 @@ jobs: pybind11_ver: v2.9.0 setenvs: export USE_ICC=1 USE_OPENVDB=0 OIIO_EXTRA_CPP_ARGS="-fp-model=precise" + FREETYPE_VERSION=VER-2-13-0 # For icc, use fp-model precise to eliminate needless LSB errors # that make test results differ from other platforms. - desc: icx/C++17 py3.9 exr3.1 ocio2.1 qt5.15 @@ -163,6 +168,7 @@ jobs: USE_JPEGTURBO=0 USE_OPENCOLORIO=0 USE_OPENCV=0 + FREETYPE_VERSION=VER-2-10-0 depcmds: sudo rm -rf /usr/local/include/OpenEXR # Test ABI stability. `abi_check` is the version or commit that we @@ -183,7 +189,7 @@ jobs: # abi_check: v2.6.2.0 abi_check: e83cd7c44916105034f2d539a5e55a6c6f178a7f setenvs: export OIIO_CMAKE_FLAGS="-DOIIO_BUILD_TOOLS=0 -DOIIO_BUILD_TESTS=0 -DUSE_PYTHON=0" - USE_OPENCV=0 USE_FFMPEG=0 USE_PYTHON=0 + USE_OPENCV=0 USE_FFMPEG=0 USE_PYTHON=0 USE_FREETYPE=0 CMAKE_BUILD_TYPE=RelWithDebInfo runs-on: ${{ matrix.runner }} @@ -294,6 +300,7 @@ jobs: PUGIXML_VERSION=v1.14 USE_OPENVDB=0 WEBP_VERSION=v1.3.0 + FREETYPE_VERSION=VER-2-13-2 # The installed OpenVDB has a TLS conflict with Python 3.8 - desc: bleeding edge gcc14 C++20 py3.12 OCIO/libtiff/exr-master avx2 nametag: linux-bleeding-edge @@ -320,6 +327,7 @@ jobs: PIP_INSTALLS="none" USE_OPENVDB=0 SKIP_APT_GET_UPDATE=1 + FREETYPE_VERSION=master # The installed OpenVDB has a TLS conflict with Python 3.8 # Disabling the `apt-get update` in gh-installdeps.bash # addresses a job killing problem in the GHA Ubuntu diff --git a/CHANGES.md b/CHANGES.md index 4e467e8628..1969d5beb9 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -8,6 +8,7 @@ Release 2.6 (Fall 2024) -- compared to 2.5 * *OpenVDB*: Raise OpenVDB minimum to 9.0 [#4218](https://github.com/AcademySoftwareFoundation/OpenImageIO/pull/4218) (2.6.2.0) * *LibRaw*: Raise minimum LibRaw to 0.20 (from 0.18) [#4217](https://github.com/AcademySoftwareFoundation/OpenImageIO/pull/4217) (2.6.2.0) * *Boost*: Is no longer a dependency! [#4191](https://github.com/AcademySoftwareFoundation/OpenImageIO/pull/4191) (by Christopher Kulla) [#4221](https://github.com/AcademySoftwareFoundation/OpenImageIO/pull/4221) (by Christopher Kulla) [#4222](https://github.com/AcademySoftwareFoundation/OpenImageIO/pull/4222) [#4233](https://github.com/AcademySoftwareFoundation/OpenImageIO/pull/4233) (2.6.2.0) +* *Freetype*: minimum raised to 2.10 (from no previously stated minimum, but we had been testing as far back as 2.8). ### ⛰️ New features and public API changes: diff --git a/INSTALL.md b/INSTALL.md index 5413a51f1e..12d96bbd89 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -71,7 +71,7 @@ NEW or CHANGED MINIMUM dependencies since the last major release are **bold**. * If you want support for Ptex: * Ptex >= 2.3.1 (probably works for older; tested through 2.4.2) * If you want to be able to do font rendering into images: - * Freetype (minimum unknown, tested 2.8 through 2.13) + * **Freetype >= 2.10.0** (tested through 2.13) * We use PugiXML for XML parsing. There is a version embedded in the OIIO tree, but if you want to use an external, system-installed version (as may be required by some software distributions with policies against diff --git a/src/build-scripts/build_Freetype.bash b/src/build-scripts/build_Freetype.bash new file mode 100755 index 0000000000..f14c351051 --- /dev/null +++ b/src/build-scripts/build_Freetype.bash @@ -0,0 +1,56 @@ +#!/usr/bin/env bash + +# Utility script to download and build Freetype +# +# Copyright Contributors to the OpenImageIO project. +# SPDX-License-Identifier: Apache-2.0 +# https://github.com/AcademySoftwareFoundation/OpenImageIO + +# Exit the whole script if any command fails. +set -ex + +# Repo and branch/tag/commit of Freetype to download if we don't have it yet +FREETYPE_REPO=${FREETYPE_REPO:=https://github.com/freetype/freetype.git} +FREETYPE_VERSION=${FREETYPE_VERSION:=VER-2-13-2} + +# Where to put Freetype repo source (default to the ext area) +LOCAL_DEPS_DIR=${LOCAL_DEPS_DIR:=${PWD}/ext} +FREETYPE_SRC_DIR=${FREETYPE_SRC_DIR:=${LOCAL_DEPS_DIR}/Freetype} +FREETYPE_BUILD_DIR=${FREETYPE_BUILD_DIR:=${FREETYPE_SRC_DIR}/build} +FREETYPE_INSTALL_DIR=${FREETYPE_INSTALL_DIR:=${LOCAL_DEPS_DIR}/dist} +FREETYPE_BUILD_TYPE=${FREETYPE_BUILD_TYPE:=Release} + +pwd +echo "Freetype install dir will be: ${FREETYPE_INSTALL_DIR}" + +mkdir -p ./ext +pushd ./ext + +# Clone Freetype project from GitHub and build +if [[ ! -e ${FREETYPE_SRC_DIR} ]] ; then + echo "git clone ${FREETYPE_REPO} ${FREETYPE_SRC_DIR}" + git clone ${FREETYPE_REPO} ${FREETYPE_SRC_DIR} +fi +cd ${FREETYPE_SRC_DIR} + +echo "git checkout ${FREETYPE_VERSION} --force" +git checkout ${FREETYPE_VERSION} --force + +if [[ -z $DEP_DOWNLOAD_ONLY ]]; then + time cmake -S . -B ${FREETYPE_BUILD_DIR} \ + -DCMAKE_BUILD_TYPE=${FREETYPE_BUILD_TYPE} \ + -DBUILD_SHARED_LIBS=${FREETYPE_BUILD_SHARED_LIBS:-ON} \ + -DCMAKE_INSTALL_PREFIX=${FREETYPE_INSTALL_DIR} \ + -DCMAKE_POSITION_INDEPENDENT_CODE=ON \ + ${FREETYPE_CONFIG_OPTS} + time cmake --build ${FREETYPE_BUILD_DIR} --config ${FREETYPE_BUILD_TYPE} --target install +fi + +# ls -R ${FREETYPE_INSTALL_DIR} +popd + + +# Set up paths. These will only affect the caller if this script is +# run with 'source' rather than in a separate shell. +export Freetype_ROOT=$FREETYPE_INSTALL_DIR + diff --git a/src/build-scripts/gh-installdeps.bash b/src/build-scripts/gh-installdeps.bash index 011320e123..2ac6d6bce4 100755 --- a/src/build-scripts/gh-installdeps.bash +++ b/src/build-scripts/gh-installdeps.bash @@ -24,6 +24,9 @@ if [[ "$ASWF_ORG" != "" ]] ; then if [[ "${USE_FFMPEG}" != "0" ]] ; then sudo yum install -y ffmpeg ffmpeg-devel && true fi + if [[ "${USE_FREETYPE:-1}" != "0" ]] ; then + sudo yum install -y freetype freetype-devel && true + fi if [[ "${EXTRA_DEP_PACKAGES}" != "" ]] ; then time sudo yum install -y ${EXTRA_DEP_PACKAGES} fi @@ -204,6 +207,10 @@ if [[ "$LIBJPEGTURBO_VERSION" != "" ]] ; then source src/build-scripts/build_libjpeg-turbo.bash fi +if [[ "$FREETYPE_VERSION" != "" ]] ; then + source src/build-scripts/build_Freetype.bash +fi + if [[ "$USE_ICC" != "" ]] ; then # We used gcc for the prior dependency builds, but use icc for OIIO itself echo "which icpc:" $(which icpc) diff --git a/src/cmake/build_Freetype.cmake b/src/cmake/build_Freetype.cmake new file mode 100644 index 0000000000..ff70e7f18f --- /dev/null +++ b/src/cmake/build_Freetype.cmake @@ -0,0 +1,40 @@ +# Copyright Contributors to the OpenImageIO project. +# SPDX-License-Identifier: Apache-2.0 +# https://github.com/AcademySoftwareFoundation/OpenImageIO + +###################################################################### +# Freetype by hand! +###################################################################### + +set_cache (Freetype_BUILD_VERSION 2.13.2 "Freetype version for local builds") +set (Freetype_GIT_REPOSITORY "https://github.com/freetype/freetype") +set (Freetype_GIT_TAG "VER-2-13-2") +set_cache (Freetype_BUILD_SHARED_LIBS OFF + DOC "Should a local Freetype build, if necessary, build shared libraries" ADVANCED) +# We would prefer to build a static Freetype, but haven't figured out how to make +# it all work with the static dependencies, it just makes things complicated +# downstream. + +string (MAKE_C_IDENTIFIER ${Freetype_BUILD_VERSION} Freetype_VERSION_IDENT) + +build_dependency_with_cmake(Freetype + VERSION ${Freetype_BUILD_VERSION} + GIT_REPOSITORY ${Freetype_GIT_REPOSITORY} + GIT_TAG ${Freetype_GIT_TAG} + CMAKE_ARGS + -D BUILD_SHARED_LIBS=${Freetype_BUILD_SHARED_LIBS} + -D CMAKE_POSITION_INDEPENDENT_CODE=ON + -D CMAKE_INSTALL_LIBDIR=lib + ) + +# Set some things up that we'll need for a subsequent find_package to work + +set (Freetype_ROOT ${Freetype_LOCAL_INSTALL_DIR}) + +# Signal to caller that we need to find again at the installed location +set (Freetype_REFIND TRUE) +set (Freetype_REFIND_ARGS CONFIG) + +if (Freetype_BUILD_SHARED_LIBS) + install_local_dependency_libs (Freetype Freetype) +endif () diff --git a/src/cmake/externalpackages.cmake b/src/cmake/externalpackages.cmake index f3bf25806b..d6b8a53294 100644 --- a/src/cmake/externalpackages.cmake +++ b/src/cmake/externalpackages.cmake @@ -122,7 +122,8 @@ if (NOT BZIP2_FOUND) endif () checked_find_package (Freetype - DEFINITIONS USE_FREETYPE=1 ) + VERSION_MIN 2.10.0 + DEFINITIONS USE_FREETYPE=1 ) checked_find_package (OpenColorIO VERSION_MIN 1.1 diff --git a/src/fonts/CMakeLists.txt b/src/fonts/CMakeLists.txt index e55c505e64..a74b47646c 100644 --- a/src/fonts/CMakeLists.txt +++ b/src/fonts/CMakeLists.txt @@ -4,7 +4,7 @@ file (GLOB public_fonts "*/*.ttf") -if (INSTALL_FONTS AND FREETYPE_FOUND) +if (INSTALL_FONTS AND (Freetype_FOUND OR FREETYPE_FOUND)) install (FILES ${public_fonts} DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/fonts/OpenImageIO COMPONENT fonts) diff --git a/testsuite/oiiotool-subimage/ref/out-oldfreetype.txt b/testsuite/oiiotool-subimage/ref/out-oldfreetype.txt deleted file mode 100644 index 01adc8434e..0000000000 --- a/testsuite/oiiotool-subimage/ref/out-oldfreetype.txt +++ /dev/null @@ -1,100 +0,0 @@ -Reading gpgr.exr -gpgr.exr : 64 x 64, 3 channel, half openexr - 4 subimages: 64x64 [h,h,h], 64x64 [h,h,h], 64x64 [h,h,h], 64x64 [h,h,h] - subimage 0: 64 x 64, 3 channel, half openexr - SHA-1: 0C27059220A256F197900FB4EB8C7CF63349A26B - channel list: R, G, B - Beatle: "John" - compression: "zip" - name: "layerA" - PixelAspectRatio: 1 - screenWindowCenter: 0, 0 - screenWindowWidth: 1 - oiio:ColorSpace: "Linear" - oiio:subimagename: "layerA" - oiio:subimages: 4 - openexr:chunkCount: 4 - subimage 1: 64 x 64, 3 channel, half openexr - SHA-1: 0E19BEFEF868E356A6A4C6450DA9A7B17DD11E12 - channel list: R, G, B - Beatle: "Paul" - compression: "zip" - name: "layerB" - PixelAspectRatio: 1 - screenWindowCenter: 0, 0 - screenWindowWidth: 1 - oiio:ColorSpace: "Linear" - oiio:subimagename: "layerB" - oiio:subimages: 4 - openexr:chunkCount: 4 - subimage 2: 64 x 64, 3 channel, half openexr - SHA-1: CFAF4AFC253320AC35B8E9014C6D750768354059 - channel list: R, G, B - Beatle: "George" - compression: "zip" - name: "layerC" - PixelAspectRatio: 1 - screenWindowCenter: 0, 0 - screenWindowWidth: 1 - oiio:ColorSpace: "Linear" - oiio:subimagename: "layerC" - oiio:subimages: 4 - openexr:chunkCount: 4 - subimage 3: 64 x 64, 3 channel, half openexr - SHA-1: 5FFA4616F46509627873D2C53744E47E2F492719 - channel list: R, G, B - Beatle: "Ringo" - compression: "zip" - name: "layerD" - PixelAspectRatio: 1 - screenWindowCenter: 0, 0 - screenWindowWidth: 1 - oiio:ColorSpace: "Linear" - oiio:subimagename: "layerD" - oiio:subimages: 4 - openexr:chunkCount: 4 -Reading mip4.tif -mip4.tif : 64 x 64, 4 channel, uint8 tiff - SHA-1: 36CE573A20E682720B020FC689E2067579DE5B37 - channel list: R, G, B, A - tile size: 64 x 64 - compression: "zip" - DocumentName: "g.tif" - fovcot: 1 - Orientation: 1 (normal) - PixelAspectRatio: 1 - planarconfig: "contig" - ResolutionUnit: "in" - wrapmodes: "black,black" - XResolution: 72 - YResolution: 72 - oiio:BitsPerSample: 8 - tiff:Compression: 8 - tiff:PhotometricInterpretation: 2 - tiff:PlanarConfiguration: 1 -../common/textures/grid.tx : 1024 x 1024, 4 channel, uint8 tiff (+mipmap) - SHA-1: 7DB3F1E464C5F38CAAECE8ABC8684EC66FC9FA68 -unmip.tif : 1024 x 1024, 4 channel, uint8 tiff - SHA-1: 7DB3F1E464C5F38CAAECE8ABC8684EC66FC9FA68 -Select nonexistent subimage -oiiotool ERROR: --subimage : Invalid -subimage (13): subimages-4.exr has 4 subimages -Full command line was: -> oiiotool -echo "Select nonexistent subimage" subimages-4.exr --subimage 13 -o subimage13.exr -Select nonexistent MIP level -oiiotool ERROR: --selectmip : Selecting MIP level 14 of subimage 0, which has only 11 MIP levels -Full command line was: -> oiiotool -echo "Select nonexistent MIP level" ../common/textures/grid.tx --selectmip 14 -o mip14.tif -Comparing "subimages-2.exr" and "ref/subimages-2.exr" -PASS -Comparing "subimages-4.exr" and "ref/subimages-4-freetype2.7.exr" -PASS -Comparing "subimage1.exr" and "ref/subimage1.exr" -PASS -Comparing "subimage2.exr" and "ref/subimage2.exr" -PASS -Comparing "subimageD3.exr" and "ref/subimageD3-freetype2.7.exr" -PASS -Comparing "subimageB1.exr" and "ref/subimageB1-freetype2.7.exr" -PASS -Comparing "mip4.tif" and "ref/mip4.tif" -PASS diff --git a/testsuite/oiiotool-subimage/ref/subimageB1-freetype2.6.5.exr b/testsuite/oiiotool-subimage/ref/subimageB1-freetype2.6.5.exr deleted file mode 100644 index 8a474da08f597199032abbb97d264e4c0a16a865..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1746 zcmb`Ge@ssHp3`-98*Tl$ZqofDJ10*t1HQVlETO3YNA3S&@)f46elhpw}D7ElaEcBZL)< zgAZ}haFPgFEXoQaDs~nNSXyV)Tat}>BQt5!2iC1QnB6_^HfWRHZ3Am!QR z(jr77i%baz1!fy35y8E&6d6U&#iq}PC4&27qv*L<=X_WqxHpz&`k&cm%!efcos1Z- zmlNHLAV8fP@{HhtIt*tkChN?4PL&ewcR+Kr6gpGy=~|Pb+yCJAg4BFxU9GPXj8H{o(@G=tEWK6NzjW&BqDl{4Gsl+$2JR^#n zAOn^cNVftTk);FDsL?@ZYA@flvhl7Jz~U0G#K|(k;=g4j!C`AQP^3&RNUgkrJ@25 zu{a{2=0z$eq{&{6RW>pT!oVY7X8JP#+Z{41ahy1vlamw4{|U-W9`G>PIXmu@#IQc&ISxV(jBjj>b>qG#pk7$a_Cl zpL}HRg`SZsfwLF39<;o>drNcBAuf7GIbKlT;^0@*cZ`?xt{>72_zn-hpC2xqFie&g zHwWXd;NIed<}=}^Dk82oY}w;A+ux43UTL$P>F^)QbUZumTbgGy{4{hmsWVjmReK{- z@z*AmZ2O`M?OD@vPV-vCugQr2zAAI7=~PXAxc>S(xGx$d_(z&_qsHH*)?Fg+ullYo zJlI~bw?+Hml=hp-$^pvQ5&3=GpTuKt$EoiQJQm(JTo+&eN%CjiHLH(7?XHu)!qd&= zkxy%DL$#sdo6iUP(}=(-`>vElFKP2sqhwUIV!&ab>L@nc_)#z)EZW9==cmwat*813q; zZXK)pnG#0=D_2Zi92?BfdOd`Xex4lut*r@y%aKrMwf5=$j1L?)_MOmP8`6M0f2;+P MGku_@Fg_^YA1&a9=Kufz diff --git a/testsuite/oiiotool-subimage/ref/subimageB1-freetype2.7.exr b/testsuite/oiiotool-subimage/ref/subimageB1-freetype2.7.exr deleted file mode 100644 index e80b9dbc59c67b9bf5f2c3637d36f12e07da1242..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1795 zcmb`Ge@qi+7{}iZv`p9_0fNKD9vNtyYiVgqN9*X?LWD+F6|oGLk?ZwJFO+-h-L;mC zQAgqo+myg$U^atu32`COPBt?~76{WVZipmiCd@Gt5@BZikX8n5`LXv3sKY6LxcBb4 z_sM(T_wzh?-sg2^$^_2<0P;PQO0OW0Er|My(~jyLW+VM zgpT_TCKfw!jw2ZwBOuLkIL)aE=zz>?Qi<{vsYJ>fmaXt)D=;|{bEJpEbeI_JVJHj6 z^VF=%Lh+GlypqHmcooSY!Q-(!GJ;--)vty{f+u4m=#^N*YFH$AJeJS&KeNqS4T}U~ zmcpG*lD6Uw2PU>+cHCjZ#1LDq7%NstNDs5_Ne8q-%R`syy;y5hlm|e)jOP_W8+Q`Xu@O?l|*SJ-IyBtpCc2vGY{wP2TnwRv!t?YwKPX9lVLK28u{`p z!j984>0kk2cc5+sDkReb)Toic&%AAaWM$7ID}aENPKIPz3ex}bc|epE=WsJcTj4=q zfu1Z1Bt!x%eza)f%}TLO)U>PW928BO7%Rzu2VNv)zU`MQy%qr@H$V?jz0pyq3A>A~ zFhCd00SZ|(67c4vJfuU%I!S`tgL4!FHV4EPe*TJX)5=5Ou3$;5(;+MPaMLY^h>_^HF+{ZKMK8rRWt zX0%eI8W|rR#4oI^4*K(pH$7WtY}=JEB@CS6e%+TzPRg%z4$qB$)3H(Km5S<;C;m#^ zm@z3YGziwicT(;N1MRV(shudS9y$k8lka^zJ97DadhXvFuI+P`^w$Ske=phkY2%FB z3wCja{$t_TyTQ*t41MoE;Jxs?@u)zj9iO=TMtJ{`^xT22>kWlE?ZCo~;ATWqC9%7E zP5z2IQ#m=+L*B}|4+gpd!nI}5b8iPd3vI@eH-~~Ref7m)gD<15J}gQ#9#7V3bG>b% zvoNu7ChqpOkU`t1f2*eEVrVMZu?c(K*pg)%HoI=dQ+Y4Q1M-<2C&D1>0-Z z>@D7ZdK+@gxkYcXwzzKnyM4sjS)ev*>T~>^{u812;PfX~^Db5OHsAU~^mEJBuGrQs zom%%?qe5fyj)gViT(fs@W=F&PpI-__WaZxC-vpNi%3f~Wa^8ES^jx5YT~IdpU_pb~~Bddk;Li_%DUPgSpL9)r_D S)qF~=R;a|Dwu_`s3-||`eU3T+ diff --git a/testsuite/oiiotool-subimage/ref/subimageB1-oldfreetype.exr b/testsuite/oiiotool-subimage/ref/subimageB1-oldfreetype.exr deleted file mode 100644 index 854c2a53b325dfbaf137f723f44e367bf2b4c21d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1824 zcmb`He@q)?7{^~&8Dp%1>7ooxI2N6{(9+fxMxEAD2m^)U7J?>*a7(-x;hh1U>Zt~QQ(&6OPOo?)k<%KK;H?7Ct0fvIVUwn!1DP{KGr&&F)ZLz_SWBcNllN0`ww_BCb#eN zCbEYQZ@DomeaG(;Z=>s_hHtFZlu+u@_S>HnUuc~y90!+6`fFW<>IzS9`_AcEZU4gu zhx@Xb$+9lTV8~DQsH*wcB6sBEn43ADlRcr#drx5>>FeJA<0u~3p`DxIrJnueMg7%= z{^Il{yy`PSy80vNic^{QYtLx<)J$5?ad-69h^@!o8ftsvhtU^W*f(b{ z{r+iN?QZA{A1y#2yK+3&^X-j_-E8Q*@~F2{BA!#vUPt4yl1~&@dB)DG#C%}?1f&edJ)*PLcgE^5VJwU@m;-B3QJ)pml*8ZdD(-5!|ns_MBgi`P-E zy1vxp-6e7Sv&XaL|03Y;5k1OzmTN6HjbvZ_gZ%%gzmaf!6HkV%uE&*Higz zgSKk3GRqTG-sF7TkI%m{^ji7HDT0xu@Lkmbp(Dj#&Ix$wY}290mu=OS62ZdAkxRwp zpwV7$J9FxR%EW{Y`?k!D$a(f}$bWvJ;e)SZ0+MD9H7*AClA8<|`rK!=c3;2<(viYBBNs0{#IBOtSL; diff --git a/testsuite/oiiotool-subimage/ref/subimageB1.exr b/testsuite/oiiotool-subimage/ref/subimageB1.exr index 814b5e3f3b2b344f9d7124099e7285421adbfa43..e80b9dbc59c67b9bf5f2c3637d36f12e07da1242 100644 GIT binary patch delta 576 zcmV-G0>Ay$4TBD_IRXJSlR5%x5H>n6IXW>hATcyLF*Z6gGPAV;b^!^21^@s60002O zlQaZOfBgXf0C=43mpe!UK@>#=I~zgJTC}j!#zIXO5Mv~TmG}WaSQt^T2qB4U=IxJw zAP8Crf?{DOVwbpRu<;W}C4x<`unwKX(0+G&@g! z?fW||K39L;_)L-h=&1qcF=u~O+5yDbUn-v|vVVtKuk)C5|238J4{+{3mCqFM=ZvWH z2Q+VfjdK6u%unSr_4nU@98^ zqBV+*YoP2uZV4oGvtN*_KWH70xb|(!K-mx0f2P`!T>W78FZ*|ApzH_gZ_DTMpv3(f zdYLD!8z}ohz{3A0CE6Qe-0o4NpA!4O2rZbGf9ULYid_A>*jvspJ^U#=Q1*k+jHwD@o9BwairbIub_TvF$Crc>spo%NV2czyESTN|_zo((0 zf4-rbfb=)i)#H#R=zaqB69ju|sv4SFnrm@bMA-dxbq$S;jrDcdr3t$q zzx@Qko@!4Zxue+?yEI|<*Mfq+sj(KjG-3DSx1S&w4(?yo)n4O?U79%eH#XtQ07SVT zkNpI}9uQGq?S(^{nEVUWPf`BGXFovzR?a`IO;z65rHReI OKKlXk6aOZYfd+zW)Cf`l diff --git a/testsuite/oiiotool-subimage/ref/subimageD3-freetype2.7.exr b/testsuite/oiiotool-subimage/ref/subimageD3-freetype2.7.exr deleted file mode 100644 index eb312e61525782747874feff5d32ca2bf0e1c390..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1709 zcmb`Ge@q)?7{}iN7MucGz+?+fZp3NkY-wp}T{Cm(%J|_znrv)fG6L7Tx9f%Lz1`il zbRkmNGDwXvSmz=g(GiAdFiX%F&CFJfKW4J%92=9>;z-;Q)}}ZU7+NU!UimR)Zu~Ld zyXW2~ci;E(Jb9kyJjGf?8USFYm$jR!oYVnW$%+yZ4gpaTSpEQrDF9Hbi}5WAbTMLC zBq78tJA_K*q9h3lJV7H~lqg;@(TGFBiyC$5^BT2AHo~Cy8uWw?izVol2s5F=X9U(p z$UKwiwy|<#o^nEhqYgm<3+|7Vkty^_?2gs2SnyzM3cV6*Sq+N?_s7ba{%5vjt6{M~ zC9;&u1$lu9r$#9`>aoD={!N_hkr|8h61&JKTJe1-W?% zu-G!NKsFcag`8P*L0Z~PNh|_(4p9rA0eF=ZX#qlhAtwvu@m~o%C3cX7PcE&0N@`g~ za;!iAtsDn0VR7FoCx;iexXb=FY~JqpkLE`K0W!?LZMabP-6w~~=ymqF^YJ?TvDq_A z7EULwkE2`5SMpaMsN4>may18W3B293WBnt&jrn64@wc#~E(X-Y5WC1fWsVpbINuD|Ja^IH0`QWkmO?>jBP)_u0 z1o{Ho<0ljSN7|ZBU+Pl~<#Hqwx$bjhc7@GTKL1y<&Ukv?dw}?*p(gFA{Ai(@gpDI# z_*$AQmRIUO&COvCPasYi%}fi_mv^@oMH;UDbS1n$?ynDKP5-Rd8w|sNm?ACVclpX6 z@8q^jfBjtbv6(hzk80D=8@HYvN?v&Xs;#!_)J#Dz7R&nZ>0RWT6KLexc>CU9-L$bZ zutAYAnHQVe_`~VCzKT(6*W9{5>%QtI!+$kbh+X79wrJGqxt%v;tw|0?hHBzR>x17X v1_s~wIPqA2t1X;6mF?bp?uAo+mb_x@JmJlXWrF>ifs??Ed#KK99v1L7>sw~a diff --git a/testsuite/oiiotool-subimage/ref/subimageD3-oldfreetype.exr b/testsuite/oiiotool-subimage/ref/subimageD3-oldfreetype.exr deleted file mode 100644 index a9247a0467b21f7334304c77b689100610c2c30f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1756 zcmb`GdrTZv6o)S?kJd*3*Tx4?MpLLU?0a?>*ES1fODQJhm4>BK+u7M!cIYs7of(#G zjVz@J5lJI`q*#}f0-DfB6DtKx4Z%iin}CRe zVxdLPEKy8h3~_+skl_AU5gA0U#%^5;iv$nG2GOgrscT`8;Qm-K(*KOsv=$Z#WIRnc z929FM7zUGBF+0K7Fd4*_GseqsIpyLWc~F5?X+`K#zQuyvWtlW0Di_*>Qi7wF%TJ)* z$V3qYTVqEirjqOBN-O2W4A}qYlq4J`LRj%BMLyL^mDZqA8&o<>g&T0KL8&F}1j|wk z4@f(MdKBo9Y%4(R864s)+V*>Pa_-pyBrJAt6wlL;{nuIqNUVfF%{x%5uBl^amdfO;6bJ6Ef+35|zMSL;1Pu1Q38GY^Di}z63A;ZPmaqb# zk%b|FXb##%F)6%*B8416pdqj^kXSqhpxnrl97VBPy(#Mf2EtN)dZycaxwT@HjIsHzOq4jf;3d^g=7eKRN)vpI@V;Ho3-Plq?{dvY{v`?=U>H{MPd9;i7RXe>)T{OzB= zj=UU^9>|_-+IcYMi@^2cx6X+(kx z`Bz$AIv?1yAUzfGT~vwNbm?YM#+0J_MvVsZHq00cv$vgezVGWMiz3sEUA`$}ZCb9S zv%ll`7~-4V+JOy8o;MOQUv2gub-g+9qfA}B_uVdIdHesBKJ zaDPEUFxop_rWX)8f$+eSM#N)N%dMkMWq9$hOyGJy(x}gnFw4_gB4X z`j&pv#mU^p&tDF3}hO6e4o!sC;jK9zdkhlVU^RZIpxbk_e$N_ z(Yo=5TmETTzS)zU8t9fYl3J^BX-kt$l`nyinf0=H14Xq83Aq49I005IK0vwS+O9O6UZIO#q18!k$k=|4TZeeYcF#%KqZeeYc zgaM!dHIpR*W)C(xFgZFgF(5HCIx#jnGn1ME+X@B%003-Zd1Z1$lY;|-88HL^00000 z0CEHX0000004oLn000000Bn;U1WbRi0RRAaoMUJh1*2dT-~{cJ4GsVAx6dY5ztg^k z28Z>h+y_d3d*w5S|1XL&W{_>aZ^e^)KdagXNPl}}OHD(A$AprN6tD{=9_ z=!dw!?IB+`CHBvdabp`8{Sfyz@EzPpiTw@k3X%h(AL@S7;2#v(f9utrfzf{tb-$~Y zAVu~+x^`k<^h4cmmiUq)`=dXY4vc<0DY5^Wl>4{SeV+~0p_2btPI^?!-M{B7+6rJn#G+h0@y z9u(>ybw6cb*t>swYePeQUA2D?4rzk!Z)^tY2Lh5^Mx1^k++Wtv)Y@F_iCvlq_t!Ku zHa69g>j47#iEw{L43KOo_roepl>32XQ!OEdjyvib|Beq!1W^$m4ZzBr_bX+P9Akehf2>jwZ_B>-(8lTQXf HlTHRfh(G}I delta 551 zcmV+?0@(en4UY|wAq3k2005Ia0vwS+OOcRM2Ow-=d1Z1!kw6@i3IQ;aJ^@pcl>wgt zFq1U`W)C$wF)}(ZIUq7IIx{jlG?S_V+YSl<0047!Vrgw*XJs%mlaB*}86^Y&00000 z0A>UL0000001XBJ0000008W!C1WbRQ0RRAaoMUJh1*2dT-~$=w=M`B}pua?;f8X>0 z)Bi=t(f-6D_mkx6-^D(IgKeVOrGe6a92E4Tm-j`HsXu5PkT|6kxO;%~gWccC{I;7C z`&Y=Au?>)Zu=^YMUUpJqe}lUT>j3G8xL@{gi=W z@BTdv4fPFmRlYc+3A(=pq`!Z@j%0@ssh_a>YpNQWTbio9uuBtme_dTeV`F1oJt2kU z=_l;|YEK}!qq*D`0*j0Yz#Hg*qUM5Rw3akcUZF1e>raW33QG zpn^3ZONDR{v?_}j7#E;gtH@GC3{sRWV8;mr121ph1Inl!b{*<>tHho_qiA zCf`55w|5l9hpIjq=IzPUMdqE@M>91az^@P*)4C9MF+fIc1HSTS*JJ2q61zn zi>>sZuGaZYvgiOK7L61YMP*P(bUJ860mDf25YPw$fBVK*Mi$1@IHngA!j2^|slVmy z0-7^-blOZlx4VO;#@5Cb6lx4;3ofMcwZ{9yQ%NR8Ig{A)nOp_{fEmHm%9dblYibUf z5p2zEY%K}oFcO17rLzEX7#;n&0@moTEdZMJnGK6r+4j30&)@Z+3ek)RCn%c1254we zM(1IL3`IsUsVo)^V!Tktbd@M1Hp!dDpg^%eFcfD-15kj>Z$z|)6$*_Nh5ne|IF3$Z zP~DjnDiioeZRV3;IQY%ci&4Q@GDOkhsB}kG6qU^OB(Z4_5JHDYv+D+cL?VmKq*58P z2X&${P%r^8W+8y;{PFEG2KpgpMdvh{q!$!Le{Ts}Ke)L`k8u6~0MSaUuekOcBfiXZ=&7F zE8%O7iEg)hY};;jS-@A7T3cGRcRf7vp13MIt6b0bZkIe=Q~7y~U#w2o-_f$`P)KL8 z?pWlHL;ca9>X6}}JS6IFin)R|6Uotxx&aNA{c1p2wo9f~i_c*?l&R{0{T!d0N{_ZM z0RuSoK2CiyM1LosAU(Z5dtaj`@3^LxBi6lfv)-OB6ab!`d^cth5G`-*Gs4@7%-mnT zN<>}RRaQG?JtS2E0P(S0IF7mJCinVtyFea@I^Gf!!5n`Btvu)W6}m$z(w&*7h3osz z%FleAbOt$eE2(Zt)`QmmVbRqGdrn$@bvU9xOk}9N$37d#6A;5z^J*p{uRGkub#hDZ z9r1^Qq$X3bp#@@f zyjB)lec?DMe$p!ro%WrOmcFsI1NRxygL78-f#WLYH>CK(yr*f<&6%T!2OOE>DLult zj6SrzgZpIB$qVsW0{k~}{KbTXPD~>ic|6gxJPeAeX=pjN6h3+{LxuP4rozUQ4V57N z>pE^wQ$Z|p;=lpf0olFj55#TCJtD<6k%xDNQ(nQ8+RyG<;vuy9)CRgyMI+SOrc zVP)0XMao?-=1fm4Q%)$iPwGz(@fNqG_5`ZGBP+e;i&Zm3oa7*z8tzW-gu{k0w7&bI zpHnv~X+7fDVRIauzdWa-Neg~z;z4wIro)Go6>O02t#&>P<7(w|TX9@WnJ2j*Xws;+ z$Q%;ZCY_OF+`$z4MFy+oy^=2f?Ym@9dC4aDm+$!?@CcE~HsJN!oU@7JN6+DZy^8~U zdz5DK3jQa|@k*Qis}4g^ImmHvm?SH_!C6-PD7vl3!)#qxo`9M6*t zO+>goaoBybcv~hXt-V{RocQotZR$kx$7?)bK145Z<<`js3LVHun>yZ2lDlC5(RYO_ zNA|zF@q=5!8#LP9AAw+4-e~Rk8f-3 z;B!n`tNJGG8TST7j+NCOy^e((x2985Dl5MRP?#zntcw>PLE%{4P+M4dsWZzWR$G9w zPA@-^0nsZAyI{ZWVL?QG{zz*yQ2|E1>mQirp2wTAW_MAqX`e|^M9C#;_c`Q!f;Saw zp>sgXV@oDy%b20ov@%BAZxi47L2~CFTp#h_#zNI0d^C|mxHXjabUGiu)j`cgMhoCD zhATdC2PrCxWCsO8U0uCBlgUBD4?2AV1G;Xt?_gMg1^k~Ulq!8damA;jpE{gL7t<31 ziGa~1<(YheXujS)>zD!GP6b8a%r=i~H2?&Z9e;WEy3e(<$-QLl5P9>c4>}|^W}1kX z%0z?E(EJWR-~z68KqMxD8Ib>i0hQhz7+A5(vq0!v#1%;t?jSBLx4F%0rCAszKTb)b zoxEF;)W+3cE;*Sib;&HlIB8R|q9!3xlF}pkVfuXj(kbtjZ>lwToT@3k$=xxY!Q7O3 zwGm(_ttK#LT=Oe2(autvu4pEAo<`ydsjM=ksN*L(nLXsj6- zSpsFAZZL4U$dL{yv}fRWe&wF(aUQ3*?eNhg(i6G8hQ_!?^v+8*#cFlJMa9BP>6A3> zGW1LwQLdZkmsj3U^~tgrZa{z&nM@9_H`w1lWGI%0yMwhwwfAuX3ly5kbVhi^`^7vv z*tw4TsMuG$;UJsqWL~@d&xxG1J))|!w>1P7)nkSqDXI<{cETU!1ys9b)bY*Wb??Cy zL-@95v90Z;Z9qj^ig3E3ES%1uRXn|B{HZ_O(eAJd-tR~Jd^Al~=f>4`9n<_B%*ADK diff --git a/testsuite/oiiotool-subimage/ref/subimages-4-freetype2.7.exr b/testsuite/oiiotool-subimage/ref/subimages-4-freetype2.7.exr deleted file mode 100644 index ef1e1ac69ba0b61cf7a51ff13018cf2525b8f102..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8202 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 G(cc03uXWr2 diff --git a/testsuite/oiiotool-subimage/ref/subimages-4-oldfreetype.exr b/testsuite/oiiotool-subimage/ref/subimages-4-oldfreetype.exr deleted file mode 100644 index 0dda779ea43a3704752bda599b2079a2ff8b3484..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8318 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 delta 2101 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 Wg`H}_A-)Pu_viQd9`5gTU$?8P8E6Fv1kwV5 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 MB*pOMioQScUsBU85&!@I diff --git a/testsuite/texture-udim2/ref/out2-oldfreetype.tif b/testsuite/texture-udim2/ref/out2-oldfreetype.tif deleted file mode 100644 index 606021e46c3c7ca1d092fbfe4bc14512aebc5d5e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3472 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 MB*pOMioQScUsBU85&!@I diff --git a/testsuite/texture-udim2/ref/out3-oldfreetype.tif b/testsuite/texture-udim2/ref/out3-oldfreetype.tif deleted file mode 100644 index 606021e46c3c7ca1d092fbfe4bc14512aebc5d5e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3472 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 MB*pOMioQScUsBU85&!@I diff --git a/testsuite/texture-udim2/ref/out4-oldfreetype.tif b/testsuite/texture-udim2/ref/out4-oldfreetype.tif deleted file mode 100644 index 606021e46c3c7ca1d092fbfe4bc14512aebc5d5e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3472 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 MB*pOMioQScUsBU85&!@I diff --git a/testsuite/texture-udim2/ref/out5-oldfreetype.tif b/testsuite/texture-udim2/ref/out5-oldfreetype.tif deleted file mode 100644 index 606021e46c3c7ca1d092fbfe4bc14512aebc5d5e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3472 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 MB*pOMioQScUsBU85&!@I