[Fontconfig] Versioning scheme for fontconfig
plam at MIT.EDU
Sat Nov 19 14:02:48 PST 2005
Taj Morton wrote:
> 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);
FcNameUnparseEscaped (FcPattern *pat, FcBool escape);
I also added a few sentinel attributes for valist functions.
More information about the Fontconfig