Can Multiple Versions of FontForge Coexist?

Yes, multiple versions of FontForge can coexist on the same computer across Windows, macOS, and Linux. While standard installers typically overwrite previous installations by default, you can isolate distinct releases using portable builds, custom installation directories, or containerized package formats like AppImages. This approach allows type designers to test new features or troubleshoot bugs in newer builds while preserving a stable release for active production work.

Running Multiple Versions on Windows

On Windows, standard executable installers default to C:\Program Files (x86)\FontForgeBuilds or C:\Program Files\FontForge. To run multiple versions simultaneously:

  • Custom Directories: When running the installer for a second version, choose a custom installation path (such as C:\FontForge_Legacy or C:\FontForge_Beta) rather than accepting the default folder.
  • Portable Builds: FontForge offers "portable" zip archives for various releases. Extracting different zip archives into separate folders allows you to launch specific versions via their respective .exe files without triggering system-wide installation conflicts.
  • File Associations: Note that .sfd font files will default to opening with whichever version was installed most recently, but you can always open files manually from within either application.

Running Multiple Versions on macOS

macOS makes running multiple versions straightforward through application bundle renaming:

  • Download the respective .dmg files for the versions you need.
  • Before dragging the FontForge icon into the /Applications folder, rename the application bundle to indicate its release date or version number (for example, FontForge-2020.app and FontForge-2023.app).
  • Both apps can be placed in /Applications and launched independently.

Running Multiple Versions on Linux

Linux offers the greatest flexibility for managing concurrent software versions:

  • AppImages: The easiest method is downloading FontForge AppImages. Because AppImages bundle all dependencies into a single executable file, you can keep multiple AppImage files (e.g., FontForge-2020-03-14.AppImage and FontForge-2023-01-01.AppImage) in the same folder and run them side-by-side simply by making them executable (chmod +x).
  • Source Builds: If compiling from source, configure distinct target prefixes (e.g., ./configure --prefix=/opt/fontforge-test) so that libraries and binaries do not overwrite existing system packages located in /usr or /usr/local.
  • Flatpak or Snap: You can run a sandboxed Flatpak or Snap package alongside a natively installed repository version without file collisions.

Managing Shared Preferences

While application binaries can run independently, different versions generally share the same user preferences directory (~/.config/fontforge on Linux/macOS or %APPDATA%\FontForge on Windows). If you switch between significantly older and newer releases, preference syntax discrepancies can occasionally cause reset settings or interface glitches. If configuration conflicts occur, you can run FontForge from the command line with custom environment variables pointing to separate preference paths to ensure total isolation.