Menu

Home

t j

FAQ

See [Frequently Asked Questions].

Build system overview

The aim of this project is to make working builds of recent versions of FontForge based off its git repository. For the full build instructions, see [Using the build script]

This project compiles FontForge with mingw-w64, using the MSYS2 system. The build system was originally based on that by Matthew Petroff, but has since been completely rewritten.

Software packages used

These packages are whatever is the latest version offered by MSYS2.

  • zlib
  • libxml2
  • freetype
  • libpng
  • tiff
  • giflib
  • libffi
  • harfbuzz
  • pixman
  • fontconfig
  • libjpeg-turbo
  • libtool
  • python - python2 for 32-bit, python3 for 64-bit
  • ntldd (for automatic DLL dependency copying)

The following are compiled from source.

  • libspiro-git
  • libuninameslist-git
  • pango-1.36.1
  • cairo-1.14.0
  • libunicodenames-1.0.1 (Weird linking errors to rpl_malloc)

These were for collab, but collab doesn't work with latest zmq.

  • libsodium-0.4.5
  • czmq-git-3b8686
  • zeromq-4.0.3 (FF + ZMQ crashes)

X.Org libraries:

proto
  • x11proto-git (patched)
  • renderproto-git
  • kbproto-git
  • inputproto-git
  • xextproto-git
  • xf86bigfontproto-git
  • xcb-proto
lib
  • libXau-git
  • libXtrans-git (patched)
  • libxcb-git (patched)
  • libX11-git (patched)
  • libXRender-git
  • libXft-git (patched)
Precompiled binaries
  • potrace-1.12
  • 32-bit: VcXsrv-1.14.2 - Xming replacement. This is the last version with Windows XP support. Stripped down to the minimal components.
  • 64-bit: VcXsrv latest. For Windows Vista or greater (no Windows XP).

Note there is now a fully-fledged Pacman repository that contains precompiled versions of the X11 libraries. You don't have to compile these from source anymore. The repository is located here. The build script automatically adds this repository as needed. For more information, see [Precompiled mingw-w64 X11 libraries].

Status

Seems to work okay.

Patch descriptions

  • x11proto: ULL pointer defs for 64-bit and removal of Windows-specific xthreads implementation for MinGW (just use pthreads)
  • libxtrans: Fix includes and type usage
  • libxcb: Remove dependency on pthread-stubs and fix threading issues (patch mostly courtesy of VcXsrv)
  • libX11: Various 64-bit pointer casting and removal of Windows-specific xthreads implementation for MinGW
  • libXft: 64-bit pointer casting
  • cairo (WIP): Fix various things, mostly conflicts with the windows.h header, and also disable the building of the test and perf modules. cairo must be compiled with xlib-xcb support, as vanilla xlib uses ipc, which we don't have. Must also not be compiled with xcb-shm for the same reason.

Project Members:


Related

Wiki: Frequently Asked Questions
Wiki: Using the build script

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.