[cairo] cairo snapshot 1.15.10 now available

Christoph Reiter reiter.christoph at gmail.com
Fri Jan 5 20:06:20 UTC 2018

On Fri, Jan 5, 2018 at 1:56 AM, Bryce Harrington <bryce at osg.samsung.com> wrote:
> [Adding to CC]
> I'd like to see further discussion on Mikael's proposal.
> Does the change to the handling of the filename content actually qualify
> as an API break?  The previous implementation was underspecified as to
> the filename's format, although it would seem reasonable to assume it's
> an ordinary C string, so this does appear to at least qualify as a
> behavior change.

my 2 cents:

Moving to utf-8 on Windows is a good move, as it matches what glib and
glib based libraries use for filenames there. And with pycairo, for
example, it removes one difference between platforms by allowing all
filenames to be passed to cairo [0].

When glib switched from ANSI to utf-8 (a long time ago) they
introduced new Windows-only *_utf8 symbols and redefined the non-utf8
names with the preprocessor, so only newly compiled software links
against the new utf8 symbols by default and old software keeps using
the ANSI symbols.

But as you said, the old behavior was not really documented, and with
glib doing utf-8 my guess would be that many users already passed
utf-8 in. So not sure if trying to revert this is worth the effort.

I've adjusted pycairo to switch the encoding used based on the library
version for now [1]

[0] excluding those resulting in ill-formed utf-16, which would need
wtf-8 instead of utf-8
[1] https://github.com/pygobject/pycairo/commit/4e4bfe66e7008994cd839824d812279d27cf0527

More information about the cairo mailing list