fontforge - port installation

Ryan Schmidt ryandesign at
Tue Nov 5 11:39:55 PST 2013

On Nov 5, 2013, at 06:03, ugajin at wrote:

> It is unclear where to get more detailed and specific info for the variants, so I guess I will go with the default.

> fontforge has the variants:
>    freetype_bytecode: Enable support for bytecode interpreter

fontforge uses the freetype library. The freetype library has a feature called the bytecode interpreter which lets it display glyphs more accurately, but the method it uses to do so was covered by an Apple Inc patent, so the freetype project was not legally allowed to use that method. The freetype port had variant allowing users (in regions of the world not covered by that patent) to use the feature anyway. The patent expired in 2010 so everybody may now legally use it. The freetype port now always uses the bytecode interpreter; the variant has been deleted.

The fontforge port has not had a maintainer since 2006 (r18094) so I guess nobody has noticed that fontforge still has this variant. Perhaps we should remove the variant from fontforge and always enable the feature there too. It’s also possible that the changes in freetype to always enable this feature will make fontforge unable to use this feature. The developers of fontforge appear not to have noticed the expiration of this patent either, since the latest code in their repository still refers users to Apple to get a license for the expired patent. I will attempt to report that problem to the developers of fontforge.

If you’re interested, this page shows the difference using the bytecode interpreter makes:

>    python26: Enable Python support (Python 2.6)
>      * conflicts with python27
>    python27: Enable Python support (Python 2.7)
>      * conflicts with python26

Select one of these variants if you want python support in fontforge. I don’t know what that entails. In fact the port seems to be somewhat confused: it looks like the port actually includes python27 support, even if you don’t select either of these variants. This is a bug in the port that should be fixed.

>    universal: Build for multiple architectures

Instead of building for only your machine’s normal architecture, the universal variant builds a port for multiple architectures. Most ports have universal variants, but most users don’t usually need it.

It’s needed if you want to build a port on one computer and then run it on a second computer that has a different processor. Perhaps you want to build a standalone installer package for this port that you can distribute to other users.

MacPorts will automatically select the universal variant if it’s needed. For example, if you are using a 64-bit Mac, and the port you’re trying to install is only available 32-bit, but has dependencies on other ports that can be built 64-bit, then MacPorts will install those dependencies with the universal variant in order to build them for both 32-bit and 64-bit.

>    with_freetype_bytecode: Legacy compatibility variant
>      * requires freetype_bytecode

Legacy compatibility variants are not of interest to new users. We keep these around for a year or so to help users who already installed a previous version of the port upgrade to a new version. Since this variant had already been around for 2 years, I have now deleted it.

> Will it matter if I fail to uninstall any of the dependencies for the the current (non-working) pkg version of fontforge?

I don’t know where your previous non-MacPorts fontforge installed its files. If, for example, it installed files, especially libraries, into /usr/local, then yes, that could be a problem. You should uninstall it, but most Mac software packages do not come with an uninstallation program, so you’ll have to check the web site where you got that installer package to see if they have any uninstallation instructions. Or you can re-download their installer, open it, don’t install it, but instead use the Show Files command in the Installer's File menu to see what it would install, then manually find those files on your drive and delete them.

Ease of uninstallation is one of the reasons why installing software with MacPorts is so much more convenient…

More information about the macports-users mailing list