Re: Continued support for Mac OS X v10.4 Tiger (was: Cairo 1.14 error on OS X 10.10.3 Yosemite)

Ryan Schmidt <[email protected]>
Newsgroups gmane.comp.lib.cairo
Message-ID <[email protected]>
On May 8, 2015, at 5:58 PM, Daven Quinn wrote:
> 
> I recently upgraded to Cairo 1.14.2 (installed via Homebrew) on my Mac OS X (latest) system. I am using it via CairoSVG to create PDF graphics. The upgrade broke the glyph rendering of CairoSVG, resulting in grossly too-large font glyphs (with the same baseline/spacing as prior, leading to compressed text). I have tried building from source and relinking. An example of the output is shown below. 
> 
> Downgrading to cairo 1.12.16 fixes the issue (see attached), although the following warning is raised (which does not appear in 1.14):
> 
> May  4 18:37:47 Daven-Quinn python2.7[993] <Error>: The function ‘CGFontGetGlyphPaths’ is obsolete and will be removed in an upcoming update. Unfortunately, this application, or a library it uses, is using this obsolete function, and is thereby contributing to an overall degradation of system performance.
> 
> Any insights on a possible fix?

I do not have insight on your issue. I only want to explain that it is true that cairo 1.14.0 and earlier used CGFontGetGlyphPaths and other related now-obsolete functions, because these are the only available functions for implementing Quartz support on Mac OS X v10.4 Tiger. In cairo 1.14.2 more modern replacement functions were used instead, at the expense of Tiger support; cairo 1.14.2 with Quartz now requires Mac OS X v10.5 Leopard or newer. Whether this change in cairo is permanent or might yet be reversed is, as far as I know, still up for discussion. Homebrew probably doesn't care, as they have themselves required Leopard or newer for some time already, but I represent MacPorts, which still runs on Tiger and newer, so I still care about cairo supporting Tiger. Apple sold a lot of PowerPC machines that can run Tiger that cannot run Leopard.

I understand that Apple wants developers to move to the most modern APIs available, but I do not understand how the use of this old API could be "contributing to an overall degradation of system performance". As a user, I would not worry about this message. As a developer, I would look for a way to use the new function when available, and otherwise continue to use the old function.


-- 
cairo mailing list
[email protected]
http://lists.cairographics.org/mailman/listinfo/cairo
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.