[Fontconfig] Versioning scheme for fontconfig

Patrick Lam plam at MIT.EDU
Sat Nov 19 14:02:48 PST 2005

Taj Morton wrote:
> Hello,
> I am a developer from the Autopackage <autopackage.org> project. I am
> writing a skeleton to detect what interface and software version of
> fontconfig is installed.
> What is the difference between libfontconfig.so.1.0 and
> libfontconfig.so.1.0.4. Have any functions been added? Why was the
> software version bumped to 2.0, but the interface version kept the
> same major and minor? Is there a table somewhere that maps interface
> versions to software versions?

I've been poking around in historical fontconfig releases.  Keith, feel
free to correct me if I'm wrong.  I think that version 2 is from it
coming out with xft2.

I just looked at fontconfig 2.2.0, which was the first standalone
package of fontconfig (2003-3-1).  It was also libfontconfig.so.1.0.4.
The 2.1.90 release produced libfontconfig.so.1.0.3.  Before that,
fontconfig was released with Xft, Xft1 and Xrender; there were two such
releases, fcpackage.2_1.tar.gz and fcpackage.2_0.tar.gz.  These releases
all produced libfontconfig.so.1.0 (which is labelled 1.0.1 internally).
 The change between fcpackage 2.1 and fontconfig 2.1.90 looks like a
bunch of added const tags on parameters.  Then the library version 1.0.4
seems to have these new functions:

FcChar8 * FcConfigHome (void);
FcBool FcConfigEnableHome (FcBool enable);
FcBool FcLangSetContains (const FcLangSet *lsa, const FcLangSet *lsb);

In the branch, I've also added the following functions (for internal
use, really, but they need to be published as they're used from
fc-cache).  This probably calls for a soname update.

FcDirCacheHasCurrentArch (const FcChar8 *dir);

FcDirCacheUnlink (const FcChar8 *dir);

FcChar8 *
FcNameUnparseEscaped (FcPattern *pat, FcBool escape);

I also added a few sentinel attributes for valist functions.


More information about the Fontconfig mailing list