[Fontconfig] Porting, binary files, and releases

Patrick Lam plam at MIT.EDU
Thu Feb 9 07:39:42 PST 2006

Doodle wrote:
> Hi all,
> I've tried to port the latest unstable release (v2.3.93) to OS/2, with
> 99% success. However, I see that it's not a very recent release, so I'd
> like to offer patches after a next release, for that one. So, my first
> question is if I can expect a new unstable (or maybe stable) release in
> the near future, anytime soon?

Unfortunately, fontconfig isn't quite stable enough for a stable release
yet.  However, once things settle down a bit I'm hoping to make another
unstable release.  In the meantime, there are significant changes
between 2.3.93 and current CVS; you might want to use the CVS version.

> Then some general stuffs I met while I was porting:
> The code uses fopen() at some places, and uses open() at some other.
> Shouldn't this be unified? Anyway, the open flag O_BINARY is missing
> from the open() of the cache file handling routines, which caused
> problems with the font-cache on OS/2 GCC (where the default is text file).

Current CVS doesn't use fopen in the core library, only open.  fopen is
used in some of the utilities (e.g. doc/edit-sgml.c, fc-case/fc-case.c,
fc-glyphname/fc-glyphname.c, fc-lang/fc-lang.c).  That should be
harmless.  I'll add O_BINARY flags shortly.

> There are memory mapped files used. It's not yet supported in the OS/2
> version of libc, so I've made a kind of emulation of them in a separate
> file. Right now I include its header file conditionally with #ifdef
> __OS2__. Should it be left this way, or is it better to have a config.h
> define for this, like for example #define FC_USE_MMAP_EMU ?

There's also a problem with Windows, which has a slightly different mmap
semantics.  It might be better to have general mmap emulation (which is,
I guess, no worse than 2.3) for platforms where mmap doesn't work yet.


More information about the Fontconfig mailing list