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. FcBool FcDirCacheHasCurrentArch (const FcChar8 *dir); FcBool FcDirCacheUnlink (const FcChar8 *dir); FcChar8 * FcNameUnparseEscaped (FcPattern *pat, FcBool escape); I also added a few sentinel attributes for valist functions. pat