Code Monkey home page Code Monkey logo

cffsubr's People

Contributors

anthrotype avatar ctrlcctrlv avatar dscorbett avatar josh-hadley avatar khaledhosny avatar medicalwei avatar simoncozens avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cffsubr's Issues

Add unit tests

Maybe we can add an additional GH action pipeline runs the unit tests on all supported python versions >= 3.6.
The current CI one only builds wheels on python 3.6, i.e. the minimum required python, since there is no point in rebuilding the same py3-none wheel for subsequent python versions (the c executable is independent from python).

cffsubr/tx crashes on macOS if env TMPDIR names a non-existent path

When tx is run (in my case via fontmake) and the TMPDIR environment variable is set to a path that does not exist, tx crashes.

Repro:

( TMPDIR=/does/not/exist ; \
  fontmake -u RSMSIntra-Condensed.ufo -o otf --output-path out.otf \
    --overlaps-backend pathops --production-names --optimize-cff 2 \
    --verbose DEBUG

Full log here: https://gist.github.com/rsms/e9946c7f28bb6e663b622e9c4b7f16f0

tx seem to write data and then read it back in again. I wonder if it can skip that disk write-and-read middle step?

Document the copyright holder(s) in LICENSE file

I apologize for my non-font-related issue.

I am going to package this into Debian as a dependency of fontmake, however I found no concrete copyright holder info inside this repo: This repo is in adobe-type-tools team but the author in setup.py is @anthrotype.

Could you indicate to me that who the copyright holder is for me to continue packaging? Thank you!

re-subroutinizing SourceSansPro-Regular.otf yields slightly bigger file

I tried downloading SourceSansPro-Regular.otf and run python -m cffsubr on it.
Comparing the resulting CFF table, I see that the original table is smaller than the one produced after running cffsubr.

I was wondering why this is the case?
Is SourceSansPro-Regular using some different library to do the subroutinization than the one used by tx tool? Or is it passing different options that I am not aware of?

How do you explain the diff?

Installing the package with pip fails on msys2 windows

Trying to install cffsubr with pip3 install cffsubr on msys64 python Windows 10. It fails after trying to build from source with cmake because of a long path.
I need to install this package on msys2 python and not the regular windows python, because I need the Unix environment of msys2 for other builds.
Tried to shorten the temp path with TMPDIR="/c/t" but it was unfortunately not enough

here is the log:

# TMPDIR="/c/t" python3 -m pip --cache-dir /c/tempCache install -v cffsubr
Using pip 24.0 from D:/dev/msys64/mingw64/lib/python3.11/site-packages/pip (python 3.11)
Collecting cffsubr
  Using cached cffsubr-0.3.0.tar.gz (17.8 MB)
  Running command pip subprocess to install build dependencies
  Collecting setuptools
    Using cached setuptools-69.0.3-py3-none-any.whl.metadata (6.3 kB)
  Collecting setuptools_scm
    Using cached setuptools_scm-8.0.4-py3-none-any.whl.metadata (6.4 kB)
  Collecting packaging>=20 (from setuptools_scm)
    Using cached packaging-23.2-py3-none-any.whl.metadata (3.2 kB)
  Collecting typing-extensions (from setuptools_scm)
    Using cached typing_extensions-4.9.0-py3-none-any.whl.metadata (3.0 kB)
  Using cached setuptools-69.0.3-py3-none-any.whl (819 kB)
  Using cached setuptools_scm-8.0.4-py3-none-any.whl (42 kB)
  Using cached packaging-23.2-py3-none-any.whl (53 kB)
  Using cached typing_extensions-4.9.0-py3-none-any.whl (32 kB)
  Installing collected packages: typing-extensions, setuptools, packaging, setuptools_scm
  Successfully installed packaging-23.2 setuptools-69.0.3 setuptools_scm-8.0.4 typing-extensions-4.9.0
  Installing build dependencies ... done
  Running command Getting requirements to build wheel
  running egg_info
  writing src/cffsubr.egg-info/PKG-INFO
  writing dependency_links to src/cffsubr.egg-info/dependency_links.txt
  writing entry points to src/cffsubr.egg-info/entry_points.txt
  writing requirements to src/cffsubr.egg-info/requires.txt
  writing top-level names to src/cffsubr.egg-info/top_level.txt
  ERROR setuptools_scm._file_finders.git listing git files failed - pretending there aren't any
  reading manifest file 'src/cffsubr.egg-info/SOURCES.txt'
  adding license file 'LICENSE'
  adding license file 'NOTICE'
  writing manifest file 'src/cffsubr.egg-info/SOURCES.txt'
  Getting requirements to build wheel ... done
  Running command pip subprocess to install backend dependencies
  Collecting wheel
    Using cached wheel-0.42.0-py3-none-any.whl.metadata (2.2 kB)
  Collecting cmake
    Using cached cmake-3.28.1-cp311-cp311-mingw_x86_64.whl
  Collecting scikit-build
    Using cached scikit_build-0.17.6-py3-none-any.whl.metadata (14 kB)
  Collecting ninja
    Using cached ninja-1.11.1.1-cp311-cp311-mingw_x86_64.whl
  Collecting distro (from scikit-build)
    Using cached distro-1.9.0-py3-none-any.whl.metadata (6.8 kB)
  Collecting packaging (from scikit-build)
    Using cached packaging-23.2-py3-none-any.whl.metadata (3.2 kB)
  Collecting setuptools>=42.0.0 (from scikit-build)
    Using cached setuptools-69.0.3-py3-none-any.whl.metadata (6.3 kB)
  Using cached wheel-0.42.0-py3-none-any.whl (65 kB)
  Using cached scikit_build-0.17.6-py3-none-any.whl (84 kB)
  Using cached setuptools-69.0.3-py3-none-any.whl (819 kB)
  Using cached distro-1.9.0-py3-none-any.whl (20 kB)
  Using cached packaging-23.2-py3-none-any.whl (53 kB)
  Installing collected packages: ninja, cmake, wheel, setuptools, packaging, distro, scikit-build
  Successfully installed cmake-3.28.1 distro-1.9.0 ninja-1.11.1.1 packaging-23.2 scikit-build-0.17.6 setuptools-69.0.3 wheel-0.42.0
  Installing backend dependencies ... done
  Running command Preparing metadata (pyproject.toml)
  running dist_info
  creating C:/t/pip-modern-metadata-wpjw5z_7/cffsubr.egg-info
  writing C:/t/pip-modern-metadata-wpjw5z_7/cffsubr.egg-info/PKG-INFO
  writing dependency_links to C:/t/pip-modern-metadata-wpjw5z_7/cffsubr.egg-info/dependency_links.txt
  writing entry points to C:/t/pip-modern-metadata-wpjw5z_7/cffsubr.egg-info/entry_points.txt
  writing requirements to C:/t/pip-modern-metadata-wpjw5z_7/cffsubr.egg-info/requires.txt
  writing top-level names to C:/t/pip-modern-metadata-wpjw5z_7/cffsubr.egg-info/top_level.txt
  writing manifest file 'C:/t/pip-modern-metadata-wpjw5z_7/cffsubr.egg-info/SOURCES.txt'
  ERROR setuptools_scm._file_finders.git listing git files failed - pretending there aren't any
  reading manifest file 'C:/t/pip-modern-metadata-wpjw5z_7/cffsubr.egg-info/SOURCES.txt'
  adding license file 'LICENSE'
  adding license file 'NOTICE'
  writing manifest file 'C:/t/pip-modern-metadata-wpjw5z_7/cffsubr.egg-info/SOURCES.txt'
  creating 'C:/t/pip-modern-metadata-wpjw5z_7/cffsubr-0.3.0.dist-info'
  Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: fontTools>=4.10.2 in d:/dev/msys64/mingw64/lib/python3.11/site-packages (from cffsubr) (4.47.2)
Building wheels for collected packages: cffsubr
  Running command Building wheel for cffsubr (pyproject.toml)
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.mingw_x86_64-cpython-311
  creating build/lib.mingw_x86_64-cpython-311/cffsubr
  copying src/cffsubr/_version.py -> build/lib.mingw_x86_64-cpython-311/cffsubr
  copying src/cffsubr/__init__.py -> build/lib.mingw_x86_64-cpython-311/cffsubr
  copying src/cffsubr/__main__.py -> build/lib.mingw_x86_64-cpython-311/cffsubr
  running build_ext
  C:/t/pip-install-wlnh8rh9/cffsubr_d5e88afbf6cd40cc99d4f6635ff93370/external/afdko/setup.py:7: DeprecationWarning: dep_util is Deprecated. Use functions from setuptools instead.
    from distutils.dep_util import newer
  WARNING setuptools_scm.pyproject_reading toml section missing 'pyproject.toml does not contain a tool.setuptools_scm section'
  WARNING setuptools_scm._integration.setuptools pyproject.toml does not contain a tool.setuptools_scm section
  C:/t/pip-build-env-u8f64d_2/normal/lib/python3.11/site-packages/skbuild/setuptools_wrap.py:617: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated.
  !!

          ********************************************************************************
          Requirements should be satisfied by a PEP 517 installer.
          If you are using pip, you can try `pip install --use-pep517`.
          ********************************************************************************

  !!
    dist.fetch_build_eggs(setup_requires)


  --------------------------------------------------------------------------------
  -- Trying 'Ninja (Visual Studio 17 2022 x64 v143)' generator
  --------------------------------
  ---------------------------
  ----------------------
  -----------------
  ------------
  -------
  --
  Not searching for unused variables given on the command line.
  CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
    Compatibility with CMake < 3.5 will be removed from a future version of
    CMake.

    Update the VERSION argument <min> value or use a ...<max> suffix to tell
    CMake that the project does not need compatibility with older versions.


  -- The C compiler identification is GNU 13.2.0
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  -- Check for working C compiler: D:/dev/msys64/mingw64/bin/cc.exe - skipped
  -- Detecting C compile features
  -- Detecting C compile features - done
  -- The CXX compiler identification is GNU 13.2.0
  -- Detecting CXX compiler ABI info
  -- Detecting CXX compiler ABI info - done
  -- Check for working CXX compiler: D:/dev/msys64/mingw64/bin/c++.exe - skipped
  -- Detecting CXX compile features
  -- Detecting CXX compile features - done
  CMake Error at CMakeLists.txt:9 (message):
    MSVC is required to pass this check.


  -- Configuring incomplete, errors occurred!
  --
  -------
  ------------
  -----------------
  ----------------------
  ---------------------------
  --------------------------------
  -- Trying 'Ninja (Visual Studio 17 2022 x64 v143)' generator - failure
  --------------------------------------------------------------------------------



  --------------------------------------------------------------------------------
  -- Trying 'Visual Studio 17 2022 x64 v143' generator
  --------------------------------
  ---------------------------
  ----------------------
  -----------------
  ------------
  -------
  --
  Not searching for unused variables given on the command line.
  CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
    Compatibility with CMake < 3.5 will be removed from a future version of
    CMake.

    Update the VERSION argument <min> value or use a ...<max> suffix to tell
    CMake that the project does not need compatibility with older versions.


  CMake Error at CMakeLists.txt:2 (PROJECT):
    Generator

      Visual Studio 17 2022

    could not find any instance of Visual Studio.



  -- Configuring incomplete, errors occurred!
  --
  -------
  ------------
  -----------------
  ----------------------
  ---------------------------
  --------------------------------
  -- Trying 'Visual Studio 17 2022 x64 v143' generator - failure
  --------------------------------------------------------------------------------



  --------------------------------------------------------------------------------
  -- Trying 'Ninja (Visual Studio 16 2019 x64 v142)' generator
  --------------------------------
  ---------------------------
  ----------------------
  -----------------
  ------------
  -------
  --
  Not searching for unused variables given on the command line.
  CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
    Compatibility with CMake < 3.5 will be removed from a future version of
    CMake.

    Update the VERSION argument <min> value or use a ...<max> suffix to tell
    CMake that the project does not need compatibility with older versions.


  -- The C compiler identification is MSVC 19.29.30148.0
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.29.30133/bin/Hostx86/x64/cl.exe - skipped
  -- Detecting C compile features
  -- Detecting C compile features - done
  -- The CXX compiler identification is MSVC 19.29.30148.0
  -- Detecting CXX compiler ABI info
  -- Detecting CXX compiler ABI info - done
  -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.29.30133/bin/Hostx86/x64/cl.exe - skipped
  -- Detecting CXX compile features
  -- Detecting CXX compile features - done
  -- Configuring done (9.6s)
  -- Generating done (0.0s)
  -- Build files have been written to: C:/t/pip-install-wlnh8rh9/cffsubr_d5e88afbf6cd40cc99d4f6635ff93370/external/afdko/_cmake_test_compile/build
  --
  -------
  ------------
  -----------------
  ----------------------
  ---------------------------
  --------------------------------
  -- Trying 'Ninja (Visual Studio 16 2019 x64 v142)' generator - success
  --------------------------------------------------------------------------------

  Configuring Project
    Working directory:
      C:/t/pip-install-wlnh8rh9/cffsubr_d5e88afbf6cd40cc99d4f6635ff93370/external/afdko/_skbuild/mingw_x86_64-3.11/cmake-build
    Command:
      C:/t/pip-build-env-u8f64d_2/normal/lib/python3.11/site-packages/cmake/data/bin/cmake C:/t/pip-install-wlnh8rh9/cffsubr_d5e88afbf6cd40cc99d4f6635ff93370/external/afdko -G Ninja -DCMAKE_MAKE_PROGRAM:FILEPATH=C:/t/pip-build-env-u8f64d_2/normal/lib/python3.11/site-packages/ninja/data/bin/ninja -D_SKBUILD_FORCE_MSVC=1920 --no-warn-unused-cli -DCMAKE_INSTALL_PREFIX:PATH=C:/t/pip-install-wlnh8rh9/cffsubr_d5e88afbf6cd40cc99d4f6635ff93370/external/afdko/_skbuild/mingw_x86_64-3.11/cmake-install -DPYTHON_VERSION_STRING:STRING=3.11.7 -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=C:/t/pip-build-env-u8f64d_2/normal/lib/python3.11/site-packages/skbuild/resources/cmake -DPYTHON_EXECUTABLE:PATH=D:/dev/msys64/mingw64/bin/python3.exe -DPYTHON_INCLUDE_DIR:PATH=D:/dev/msys64/mingw64/include/python3.11 -DPYTHON_LIBRARY:PATH=D:/dev/msys64/mingw64/lib/libpython3.11.dll.a -DPython_EXECUTABLE:PATH=D:/dev/msys64/mingw64/bin/python3.exe -DPython_ROOT_DIR:PATH=D:/dev/msys64/mingw64 -DPython_FIND_REGISTRY:STRING=NEVER -DPython_INCLUDE_DIR:PATH=D:/dev/msys64/mingw64/include/python3.11 -DPython3_EXECUTABLE:PATH=D:/dev/msys64/mingw64/bin/python3.exe -DPython3_ROOT_DIR:PATH=D:/dev/msys64/mingw64 -DPython3_FIND_REGISTRY:STRING=NEVER -DPython3_INCLUDE_DIR:PATH=D:/dev/msys64/mingw64/include/python3.11 -DCMAKE_MAKE_PROGRAM:FILEPATH=C:/t/pip-build-env-u8f64d_2/normal/lib/python3.11/site-packages/ninja/data/bin/ninja -DCMAKE_BUILD_TYPE:STRING=Release

  Not searching for unused variables given on the command line.
  -- The C compiler identification is MSVC 19.29.30148.0
  -- The CXX compiler identification is MSVC 19.29.30148.0
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.29.30133/bin/Hostx86/x64/cl.exe - skipped
  -- Detecting C compile features
  -- Detecting C compile features - done
  -- Detecting CXX compiler ABI info
  -- Detecting CXX compiler ABI info - done
  -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.29.30133/bin/Hostx86/x64/cl.exe - skipped
  -- Detecting CXX compile features
  -- Detecting CXX compile features - done
  -- Build type is Release
  CMake Warning (dev) at C:/t/pip-build-env-u8f64d_2/normal/lib/python3.11/site-packages/skbuild/resources/cmake/FindPythonExtensions.cmake:245 (find_package):
    Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules
    are removed.  Run "cmake --help-policy CMP0148" for policy details.  Use
    the cmake_policy command to set the policy and suppress this warning.

  Call Stack (most recent call first):
    CMakeLists.txt:25 (find_package)
  This warning is for project developers.  Use -Wno-dev to suppress it.

  -- Found PythonInterp: D:/dev/msys64/mingw64/bin/python3.exe (found version "3.11.7")
  CMake Warning (dev) at C:/t/pip-build-env-u8f64d_2/normal/lib/python3.11/site-packages/skbuild/resources/cmake/FindPythonExtensions.cmake:252 (find_package):
    Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules
    are removed.  Run "cmake --help-policy CMP0148" for policy details.  Use
    the cmake_policy command to set the policy and suppress this warning.

  Call Stack (most recent call first):
    CMakeLists.txt:25 (find_package)
  This warning is for project developers.  Use -Wno-dev to suppress it.

  -- Found PythonLibs: D:/dev/msys64/mingw64/lib/libpython3.11.dll.a (found version "3.11.7")
  -- Could NOT find LibXml2 (missing: LIBXML2_LIBRARY) (found version "2.12.5")
  -- LibXML2 not found or overridden -- will download and statically link
  -- Looking for floor in m
  -- Looking for floor in m - not found
  -- Found Python3: D:/dev/msys64/mingw64/bin/python3.exe (found version "3.11.7") found components: Interpreter
  -- Configuring done (10.0s)
  -- Generating done (1.2s)
  -- Build files have been written to: C:/t/pip-install-wlnh8rh9/cffsubr_d5e88afbf6cd40cc99d4f6635ff93370/external/afdko/_skbuild/mingw_x86_64-3.11/cmake-build
  [1/226] Creating directories for 'antlr4_runtime'
  [2/226] Creating directories for 'external.libxml2'
  [3/226] Building C object c\sfntdiff\source\CMakeFiles\sfntdiff.dir\Dda.c.obj
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\sfntdiff\source\Dda.c(25): warning C4312: 'type cast': conversion from 'unsigned long' to 'void *' of greater size
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\sfntdiff\source\Dda.c(38): warning C4311: 'type cast': pointer truncation from 'void *' to 'long'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\sfntdiff\source\Dda.c(39): warning C4311: 'type cast': pointer truncation from 'void *' to 'long'
  [4/226] Building C object c\sfntdiff\source\CMakeFiles\sfntdiff.dir\Ddesc.c.obj
  [5/226] Building C object c\sfntdiff\source\CMakeFiles\sfntdiff.dir\Dmain.c.obj
  [6/226] Building C object c\detype1\source\CMakeFiles\detype1.dir\detype1.c.obj
  [7/226] Building C object c\sfntdiff\source\CMakeFiles\sfntdiff.dir\Dfile.c.obj
  [8/226] Building C object c\sfntdiff\source\CMakeFiles\sfntdiff.dir\Dglobal.c.obj
  [9/226] Building C object c\sfntdiff\source\CMakeFiles\sfntdiff.dir\Dhead.c.obj
  [10/226] Building C object c\sfntdiff\source\CMakeFiles\sfntdiff.dir\Dname.c.obj
  [11/226] Building C object c\sfntdiff\source\CMakeFiles\sfntdiff.dir\Dopt.c.obj
  [12/226] Building C object c\sfntdiff\source\CMakeFiles\sfntdiff.dir\Dpriv.c.obj
  [13/226] Building C object c\sfntdiff\source\CMakeFiles\sfntdiff.dir\Dsfnt.c.obj
  [14/226] Building C object c\sfntdiff\source\CMakeFiles\sfntdiff.dir\Dtto.c.obj
  [15/226] Building C object c\sfntedit\source\CMakeFiles\sfntedit.dir\Eda.c.obj
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\sfntedit\source\Eda.c(23): warning C4312: 'type cast': conversion from 'unsigned long' to 'void *' of greater size
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\sfntedit\source\Eda.c(36): warning C4311: 'type cast': pointer truncation from 'void *' to 'long'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\sfntedit\source\Eda.c(37): warning C4311: 'type cast': pointer truncation from 'void *' to 'long'
  [16/226] Linking C executable bin\detype1.exe
  [17/226] Building C object c\sfntedit\source\CMakeFiles\sfntedit.dir\Efile.c.obj
  [18/226] Building C object c\sfntedit\source\CMakeFiles\sfntedit.dir\Eglobal.c.obj
  [19/226] Building C object c\sfntedit\source\CMakeFiles\sfntedit.dir\Emsgs.c.obj
  [20/226] Building C object c\sfntedit\source\CMakeFiles\sfntedit.dir\Esys.c.obj
  [21/226] Building C object c\sfntedit\source\CMakeFiles\sfntedit.dir\main.c.obj
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\sfntedit\source\otftableeditor.h(4): warning C4005: 'CDECL': macro redefinition
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\sfntedit\source\main.c: note: see previous definition of 'CDECL'
  [22/226] Building C object c\spot\source\CMakeFiles\spot.dir\main.c.obj
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(144): warning C4273: 'fclose': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(152): note: see previous definition of 'fclose'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(145): warning C4273: 'fflush': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(176): note: see previous definition of 'fflush'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(146): warning C4273: 'strtol': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(528): note: see previous definition of 'strtol'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(148): warning C4273: 'strtod': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(502): note: see previous definition of 'strtod'
  [23/226] Building C object c\spot\source\CMakeFiles\spot.dir\BASE.c.obj
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(144): warning C4273: 'fclose': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(152): note: see previous definition of 'fclose'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(145): warning C4273: 'fflush': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(176): note: see previous definition of 'fflush'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(146): warning C4273: 'strtol': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(528): note: see previous definition of 'strtol'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(148): warning C4273: 'strtod': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(502): note: see previous definition of 'strtod'
  [24/226] Building C object c\spot\source\CMakeFiles\spot.dir\BBOX.c.obj
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(144): warning C4273: 'fclose': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(152): note: see previous definition of 'fclose'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(145): warning C4273: 'fflush': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(176): note: see previous definition of 'fflush'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(146): warning C4273: 'strtol': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(528): note: see previous definition of 'strtol'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(148): warning C4273: 'strtod': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(502): note: see previous definition of 'strtod'
  [25/226] Linking C executable bin\sfntedit.exe
  [26/226] Building C object c\spot\source\CMakeFiles\spot.dir\BLND.c.obj
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(144): warning C4273: 'fclose': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(152): note: see previous definition of 'fclose'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(145): warning C4273: 'fflush': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(176): note: see previous definition of 'fflush'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(146): warning C4273: 'strtol': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(528): note: see previous definition of 'strtol'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(148): warning C4273: 'strtod': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(502): note: see previous definition of 'strtod'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\BLND.c(246): warning C4477: 'fprintf' : format string '%lu' requires an argument of type 'unsigned long', but variadic argument 1 has type 'size_t'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\BLND.c(246): note: consider using '%zu' in the format string
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\BLND.c(247): warning C4477: 'fprintf' : format string '%lu' requires an argument of type 'unsigned long', but variadic argument 1 has type 'size_t'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\BLND.c(247): note: consider using '%zu' in the format string
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\BLND.c(248): warning C4477: 'fprintf' : format string '%lu' requires an argument of type 'unsigned long', but variadic argument 1 has type 'size_t'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\BLND.c(248): note: consider using '%zu' in the format string
  [27/226] Building C object c\spot\source\CMakeFiles\spot.dir\CFF_.c.obj
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(144): warning C4273: 'fclose': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(152): note: see previous definition of 'fclose'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(145): warning C4273: 'fflush': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(176): note: see previous definition of 'fflush'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(146): warning C4273: 'strtol': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(528): note: see previous definition of 'strtol'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(148): warning C4273: 'strtod': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(502): note: see previous definition of 'strtod'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\CFF_.c(37): warning C4273: 'strftime': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\time.h(266): note: see previous definition of 'strftime'
  [28/226] Building C object c\spot\source\CMakeFiles\spot.dir\CID_.c.obj
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(144): warning C4273: 'fclose': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(152): note: see previous definition of 'fclose'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(145): warning C4273: 'fflush': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(176): note: see previous definition of 'fflush'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(146): warning C4273: 'strtol': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(528): note: see previous definition of 'strtol'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(148): warning C4273: 'strtod': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(502): note: see previous definition of 'strtod'
  [29/226] Building C object c\spot\source\CMakeFiles\spot.dir\da.c.obj
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\da.c(25): warning C4312: 'type cast': conversion from 'unsigned long' to 'void *' of greater size
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\da.c(38): warning C4311: 'type cast': pointer truncation from 'void *' to 'unsigned long'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\da.c(39): warning C4311: 'type cast': pointer truncation from 'void *' to 'unsigned long'
  [30/226] Building C object c\spot\source\CMakeFiles\spot.dir\cmap.c.obj
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(144): warning C4273: 'fclose': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(152): note: see previous definition of 'fclose'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(145): warning C4273: 'fflush': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(176): note: see previous definition of 'fflush'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(146): warning C4273: 'strtol': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(528): note: see previous definition of 'strtol'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(148): warning C4273: 'strtod': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(502): note: see previous definition of 'strtod'
  [31/226] Building C object c\spot\source\CMakeFiles\spot.dir\desc.c.obj
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(144): warning C4273: 'fclose': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(152): note: see previous definition of 'fclose'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(145): warning C4273: 'fflush': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(176): note: see previous definition of 'fflush'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(146): warning C4273: 'strtol': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(528): note: see previous definition of 'strtol'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(148): warning C4273: 'strtod': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(502): note: see previous definition of 'strtod'
  [32/226] Building C object c\spot\source\CMakeFiles\spot.dir\dump.c.obj
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(144): warning C4273: 'fclose': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(152): note: see previous definition of 'fclose'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(145): warning C4273: 'fflush': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(176): note: see previous definition of 'fflush'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(146): warning C4273: 'strtol': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(528): note: see previous definition of 'strtol'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(148): warning C4273: 'strtod': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(502): note: see previous definition of 'strtod'
  [33/226] Building C object c\spot\source\CMakeFiles\spot.dir\EBLC.c.obj
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(144): warning C4273: 'fclose': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(152): note: see previous definition of 'fclose'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(145): warning C4273: 'fflush': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(176): note: see previous definition of 'fflush'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(146): warning C4273: 'strtol': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(528): note: see previous definition of 'strtol'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(148): warning C4273: 'strtod': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(502): note: see previous definition of 'strtod'
  [34/226] Building C object c\spot\source\CMakeFiles\spot.dir\ENCO.c.obj
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(144): warning C4273: 'fclose': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(152): note: see previous definition of 'fclose'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(145): warning C4273: 'fflush': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(176): note: see previous definition of 'fflush'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(146): warning C4273: 'strtol': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(528): note: see previous definition of 'strtol'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(148): warning C4273: 'strtod': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(502): note: see previous definition of 'strtod'
  [35/226] Building C object c\spot\source\CMakeFiles\spot.dir\fdsc.c.obj
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(144): warning C4273: 'fclose': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(152): note: see previous definition of 'fclose'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(145): warning C4273: 'fflush': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(176): note: see previous definition of 'fflush'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(146): warning C4273: 'strtol': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(528): note: see previous definition of 'strtol'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(148): warning C4273: 'strtod': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(502): note: see previous definition of 'strtod'
  [36/226] Building C object c\spot\source\CMakeFiles\spot.dir\feat.c.obj
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(144): warning C4273: 'fclose': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(152): note: see previous definition of 'fclose'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(145): warning C4273: 'fflush': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(176): note: see previous definition of 'fflush'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(146): warning C4273: 'strtol': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(528): note: see previous definition of 'strtol'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(148): warning C4273: 'strtod': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(502): note: see previous definition of 'strtod'
  [37/226] Building C object c\spot\source\CMakeFiles\spot.dir\cffread.c.obj
  [38/226] Building C object c\spot\source\CMakeFiles\spot.dir\file.c.obj
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(144): warning C4273: 'fclose': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(152): note: see previous definition of 'fclose'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(145): warning C4273: 'fflush': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(176): note: see previous definition of 'fflush'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(146): warning C4273: 'strtol': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(528): note: see previous definition of 'strtol'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(148): warning C4273: 'strtod': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(502): note: see previous definition of 'strtod'
  [39/226] Building C object c\spot\source\CMakeFiles\spot.dir\fvar.c.obj
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(144): warning C4273: 'fclose': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(152): note: see previous definition of 'fclose'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(145): warning C4273: 'fflush': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(176): note: see previous definition of 'fflush'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(146): warning C4273: 'strtol': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(528): note: see previous definition of 'strtol'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(148): warning C4273: 'strtod': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(502): note: see previous definition of 'strtod'
  [40/226] Building C object c\spot\source\CMakeFiles\spot.dir\FNAM.c.obj
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(144): warning C4273: 'fclose': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(152): note: see previous definition of 'fclose'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(145): warning C4273: 'fflush': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(176): note: see previous definition of 'fflush'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(146): warning C4273: 'strtol': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(528): note: see previous definition of 'strtol'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(148): warning C4273: 'strtod': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(502): note: see previous definition of 'strtod'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\FNAM.c(89): warning C4477: 'fprintf' : format string '%lu' requires an argument of type 'unsigned long', but variadic argument 3 has type 'size_t'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\FNAM.c(89): note: consider using '%zu' in the format string
  [41/226] Building C object c\spot\source\CMakeFiles\spot.dir\gasp.c.obj
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(144): warning C4273: 'fclose': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(152): note: see previous definition of 'fclose'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(145): warning C4273: 'fflush': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(176): note: see previous definition of 'fflush'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(146): warning C4273: 'strtol': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(528): note: see previous definition of 'strtol'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(148): warning C4273: 'strtod': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(502): note: see previous definition of 'strtod'
  [42/226] Building C object c\spot\source\CMakeFiles\spot.dir\global.c.obj
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(144): warning C4273: 'fclose': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(152): note: see previous definition of 'fclose'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(145): warning C4273: 'fflush': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(176): note: see previous definition of 'fflush'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(146): warning C4273: 'strtol': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(528): note: see previous definition of 'strtol'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(148): warning C4273: 'strtod': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(502): note: see previous definition of 'strtod'
  [43/226] Building C object c\spot\source\CMakeFiles\spot.dir\GDEF.c.obj
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(144): warning C4273: 'fclose': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(152): note: see previous definition of 'fclose'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(145): warning C4273: 'fflush': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(176): note: see previous definition of 'fflush'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(146): warning C4273: 'strtol': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(528): note: see previous definition of 'strtol'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(148): warning C4273: 'strtod': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(502): note: see previous definition of 'strtod'
  [44/226] Building C object c\sfntdiff\source\CMakeFiles\sfntdiff.dir\Dsys.c.obj
  [45/226] Building C object c\spot\source\CMakeFiles\spot.dir\GLOB.c.obj
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(144): warning C4273: 'fclose': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(152): note: see previous definition of 'fclose'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(145): warning C4273: 'fflush': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(176): note: see previous definition of 'fflush'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(146): warning C4273: 'strtol': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(528): note: see previous definition of 'strtol'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(148): warning C4273: 'strtod': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(502): note: see previous definition of 'strtod'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\GLOB.c(141): warning C4477: 'fprintf' : format string '%lu' requires an argument of type 'unsigned long', but variadic argument 2 has type 'size_t'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\GLOB.c(141): note: consider using '%zu' in the format string
  [46/226] Building C object c\spot\source\CMakeFiles\spot.dir\glyf.c.obj
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(144): warning C4273: 'fclose': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(152): note: see previous definition of 'fclose'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(145): warning C4273: 'fflush': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(176): note: see previous definition of 'fflush'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(146): warning C4273: 'strtol': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(528): note: see previous definition of 'strtol'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(148): warning C4273: 'strtod': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(502): note: see previous definition of 'strtod'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\glyf.c(28): warning C4273: 'strftime': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\time.h(266): note: see previous definition of 'strftime'
  [47/226] Linking C executable bin\sfntdiff.exe
  [48/226] Building C object c\spot\source\CMakeFiles\spot.dir\hdmx.c.obj
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(144): warning C4273: 'fclose': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(152): note: see previous definition of 'fclose'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(145): warning C4273: 'fflush': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(176): note: see previous definition of 'fflush'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(146): warning C4273: 'strtol': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(528): note: see previous definition of 'strtol'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(148): warning C4273: 'strtod': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(502): note: see previous definition of 'strtod'
  [49/226] Building C object c\spot\source\CMakeFiles\spot.dir\GPOS.c.obj
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(144): warning C4273: 'fclose': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(152): note: see previous definition of 'fclose'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(145): warning C4273: 'fflush': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(176): note: see previous definition of 'fflush'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(146): warning C4273: 'strtol': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(528): note: see previous definition of 'strtol'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(148): warning C4273: 'strtod': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(502): note: see previous definition of 'strtod'
  [50/226] Building C object c\spot\source\CMakeFiles\spot.dir\head.c.obj
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(144): warning C4273: 'fclose': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(152): note: see previous definition of 'fclose'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(145): warning C4273: 'fflush': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(176): note: see previous definition of 'fflush'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(146): warning C4273: 'strtol': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(528): note: see previous definition of 'strtol'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(148): warning C4273: 'strtod': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(502): note: see previous definition of 'strtod'
  [51/226] Building C object c\spot\source\CMakeFiles\spot.dir\HFMX.c.obj
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(144): warning C4273: 'fclose': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(152): note: see previous definition of 'fclose'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(145): warning C4273: 'fflush': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(176): note: see previous definition of 'fflush'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(146): warning C4273: 'strtol': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(528): note: see previous definition of 'strtol'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(148): warning C4273: 'strtod': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(502): note: see previous definition of 'strtod'
  [52/226] Building C object c\spot\source\CMakeFiles\spot.dir\hhea.c.obj
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(144): warning C4273: 'fclose': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(152): note: see previous definition of 'fclose'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(145): warning C4273: 'fflush': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(176): note: see previous definition of 'fflush'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(146): warning C4273: 'strtol': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(528): note: see previous definition of 'strtol'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(148): warning C4273: 'strtod': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(502): note: see previous definition of 'strtod'
  [53/226] Building C object c\spot\source\CMakeFiles\spot.dir\hmtx.c.obj
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(144): warning C4273: 'fclose': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(152): note: see previous definition of 'fclose'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(145): warning C4273: 'fflush': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(176): note: see previous definition of 'fflush'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(146): warning C4273: 'strtol': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(528): note: see previous definition of 'strtol'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(148): warning C4273: 'strtod': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(502): note: see previous definition of 'strtod'
  [54/226] Building C object c\spot\source\CMakeFiles\spot.dir\GSUB.c.obj
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(144): warning C4273: 'fclose': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(152): note: see previous definition of 'fclose'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(145): warning C4273: 'fflush': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(176): note: see previous definition of 'fflush'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(146): warning C4273: 'strtol': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(528): note: see previous definition of 'strtol'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(148): warning C4273: 'strtod': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(502): note: see previous definition of 'strtod'
  [55/226] Building C object c\spot\source\CMakeFiles\spot.dir\kern.c.obj
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(144): warning C4273: 'fclose': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(152): note: see previous definition of 'fclose'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(145): warning C4273: 'fflush': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(176): note: see previous definition of 'fflush'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(146): warning C4273: 'strtol': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(528): note: see previous definition of 'strtol'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(148): warning C4273: 'strtod': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(502): note: see previous definition of 'strtod'
  [56/226] Building C object c\spot\source\CMakeFiles\spot.dir\loca.c.obj
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(144): warning C4273: 'fclose': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(152): note: see previous definition of 'fclose'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(145): warning C4273: 'fflush': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(176): note: see previous definition of 'fflush'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(146): warning C4273: 'strtol': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(528): note: see previous definition of 'strtol'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(148): warning C4273: 'strtod': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(502): note: see previous definition of 'strtod'
  [57/226] Building C object c\spot\source\CMakeFiles\spot.dir\LTSH.c.obj
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(144): warning C4273: 'fclose': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(152): note: see previous definition of 'fclose'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(145): warning C4273: 'fflush': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(176): note: see previous definition of 'fflush'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(146): warning C4273: 'strtol': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(528): note: see previous definition of 'strtol'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(148): warning C4273: 'strtod': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(502): note: see previous definition of 'strtod'
  [58/226] Building C object c\spot\source\CMakeFiles\spot.dir\map.c.obj
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(144): warning C4273: 'fclose': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(152): note: see previous definition of 'fclose'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(145): warning C4273: 'fflush': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(176): note: see previous definition of 'fflush'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(146): warning C4273: 'strtol': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(528): note: see previous definition of 'strtol'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(148): warning C4273: 'strtod': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(502): note: see previous definition of 'strtod'
  [59/226] Building C object c\spot\source\CMakeFiles\spot.dir\maxp.c.obj
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(144): warning C4273: 'fclose': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(152): note: see previous definition of 'fclose'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(145): warning C4273: 'fflush': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(176): note: see previous definition of 'fflush'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(146): warning C4273: 'strtol': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(528): note: see previous definition of 'strtol'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(148): warning C4273: 'strtod': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(502): note: see previous definition of 'strtod'
  [60/226] Building C object c\spot\source\CMakeFiles\spot.dir\META.c.obj
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(144): warning C4273: 'fclose': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(152): note: see previous definition of 'fclose'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(145): warning C4273: 'fflush': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(176): note: see previous definition of 'fflush'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(146): warning C4273: 'strtol': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(528): note: see previous definition of 'strtol'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(148): warning C4273: 'strtod': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(502): note: see previous definition of 'strtod'
  [61/226] Building C object c\spot\source\CMakeFiles\spot.dir\MMFX.c.obj
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(144): warning C4273: 'fclose': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(152): note: see previous definition of 'fclose'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(145): warning C4273: 'fflush': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(176): note: see previous definition of 'fflush'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(146): warning C4273: 'strtol': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(528): note: see previous definition of 'strtol'
  C:\t\pip-install-wlnh8rh9\cffsubr_d5e88afbf6cd40cc99d4f6635ff93370\external\afdko\c\spot\source\global.h(148): warning C4273: 'strtod': inconsistent dll linkage
  C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdlib.h(502): note: see previous definition of 'strtod'

create PyPI API token and encrypt "secret" for Github organization

I just finished setting up Github Actions so that it builds the wheels for mac, linux and windows using cibuildwheel. So far so good.

Now I tried to also set up automatic deployment to PyPI on tags, however I stumbled on a permissions obstacle and need help from one of the admins of the "adobe-type-tools" Github organization.

Basically, we need an authentication token for PyPI, and then we need to encrypt the latter using Github "secret variables". However, since this repository is not a normal user repository but is part of a Github organzation, these secrets are administered by the organization's admins, and I don't have access to those settings as an external collaborator.

So we need two things:

  1. create PyPI API token for the cffsubr project follow the instructions at https://pypi.org/help/ (search "use API tokens to authenticate with PyPI").

  2. encrypt the generated token as an organziation secret following instructions at https://help.github.com/en/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets#creating-encrypted-secrets-for-an-organization

You should name the encrypted secret pypi_password so that it will be automatically recognized by my GH actions setup:

password: ${{ secrets.pypi_password }}

Thank you!

-i option does not work

I always get:

Traceback (most recent call last):
  File "/python3.7/site-packages/cffsubr/__main__.py", line 64, in <module>
    main()
  File "/python3.7/site-packages/cffsubr/__main__.py", line 60, in main
    font.save(options.output_file)
  File "/python3.7/site-packages/fontTools/ttLib/ttFont.py", line 163, in save
    "Can't overwrite TTFont when 'lazy' attribute is True")
fontTools.ttLib.TTLibError: Can't overwrite TTFont when 'lazy' attribute is True

when converting CFF => CFF2, tx leaves redundant FontMatrix in FontDict

Take an OTF with CFF 1.0 and a non-standard UPEM (i.e. not 1000), and convert it to CFF2 using cffsubr (which uses tx).

You will see a warning upon compiling the OTF from fontTools.cffLib::L2409, saying that:

Some CFF FDArray/FontDict keys were ignored upon compile: FontMatrix

The CFF2 table that is generated by tx seem to contain an extra FontMatrix operator in the FDArray[0].FontDict which fonttools doesn't expect it to be there and removes it while issuing the warning. This is weird since FontMatrix is a TopDict operator, so it should not be there.

I suspect this could be a bug in tx code or some support library elsewhere in afdko which is responsible for the CFF1 to 2 conversion.

Note the warning only happens when FontMatrix is different form the default [0.001 0 0 0.001 0 0], which for CFF is quite rare given most fonts are drawn at 1000 UPEM.

To reproduce, take a UFO, change its unitsPerEm in fontinfo.plist to something different from 1000, compile the font to OTF with CFF 1.0 e.g. with fontmake or ufo2ft. Then pass it through python -m cffsubr --cff-version 2 to convert it to CFF, and you should see the above mentioned warning appear.

To be honest, I actually am not sure what FontMatrix is used for when CFF/CFF2 are embedded in an OpenType font..

Should this subroutinizer be run before or after hinting?

Not too long ago @khaledhosny passed on maintenance of the Libertinus font family to me. I've been working on automating the PR review and release process to work automatically through CI jobs. In messing with the build system I inadvertently changed the order of the build process from taking the built OTF file โ†’ hinting it with psautohint โ†’ running this subroutinizer and reversed the last two steps so that this subroutinizer was run, then the hinter.

The result was a wildly different font file by the numbers (diffing the TTX dumps took longer than building the font!). Everything seems to be in a different order internally and the filesize is a lot bigger overall, but oddly enough I am unable to tell the difference visually. I've typeset large chunks of data in both with zero overall difference in metrics, and done some image comparison of the rasterization it a couple apps and can't find any difference. It's entirely possible that's because I am not on a system where the kind of hinting differences that might show up would be evidenced, but at first blush at least the fonts appear the same.

Of course I can go back to the original order and almost certainly there is a good reason for it, but I can't find it documented anywhere. What, if any, is the reason for hinting before running this as opposed to hinting being the latter step?

Perhaps where in the build sequence to put this should also be part of #2.

tx 1.2.3 bug with three-byte integers

cffsubr uses tx 1.2.3, which has a bug: it seems to interpret three-byte integers as unsigned, whereas they should be signed. I noticed this with fontTools 4.41.0, which since fonttools/fonttools#3200 can produce three-byte integers.

To reproduce the problem, I created a minimal OTF based on the instructions in fontBuilder.py, except that before saving I ran fb.font['CFF '].cff[0].UnderlinePosition = -1315. cffsubr changes the underline position to 64221.

$ cffsubr -o test.subr.otf test.otf
$ ttx -q -t CFF test.subr.otf | grep UnderlinePosition 
      <UnderlinePosition value="64221"/>

tx 1.3.0 works. It would probably be best to upgrade to the latest version.

$ /opt/homebrew/bin/tx -v | grep tx
    tx        1.3.0
$ cp /opt/homebrew/bin/tx venv/lib/python3.11/site-packages/cffsubr/tx
$ cffsubr -o test.subr1.otf test.otf
$ ttx -q -t CFF test.subr1.otf | grep UnderlinePosition
      <UnderlinePosition value="-1315"/>

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.