freetype
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [ft] ftmac.c


From: Ryan Schmidt
Subject: Re: [ft] ftmac.c
Date: Mon, 19 Jan 2009 18:35:53 -0600

On Jan 19, 2009, at 09:07, address@hidden wrote:

I want to remove modern src/base/ftmac.c for Mac OS X, and
I want to keep legacy builds/mac/ftmac.c for pre-Mac OS X.
The QuickDraw API on pre-Mac OS X won't be changed anymore,
so the future changes of builds/mac/ftmac.c would be only
bug fix. On the other hand, if we keep src/base/ftmac.c
synchronized to Mac OS X, there are too many issues:

* Since Mac OS X 10.5, CoreFoundation is announced to be
  danger in Unix-like programs which can fork. So Carbon-free
  implementation is expected. This is the most serious
  motivation to obsolete src/base/ftmac.c.
  http://lists.nongnu.org/archive/html/freetype/2007-11/msg00000.html

Agreed, this is a problem. In MacPorts we had been using --with-old- mac-fonts at a user's request, but we've had to remove that option on Leopard and up to work around this problem.

http://trac.macports.org/ticket/15909


* As I've shown my experiment with "partial stream", it
  is possible to reduce the memory allocation & maximum
  footprint to handle resource-fork font by POSIX API only.

* At present, FT2 has some interfaces to ATS font management.
  it was originally introduced by me to provide a migration
  from obsolete QuickDraw font management to modern one, but
  it is completely wrong decision. Now it should be replaced
  by CGFont for newer Mac OS X, the introduction of ATS to
  FT2 was wrong decision. Also as you posted 64-bit issue of
  cairo/pango universal binary, it is difficult to select
  popular API which are available on all architechtures of
  Mac OS X.

It does sound difficult. The Mac OS X font APIs seem to be changing often. Hopefully CGFont will be the one that sticks. But that's only on Leopard and newer, right? Will you keep ATS for Tiger and earlier then?


Thus, I want to remove src/base/ftmac.c. I want to provide
Carbon-free implementation which keeps user-visibile behaviour
of FT_New_Face in ftmac.c, but I want to remove all APIs
using Mac OS specific data types in their arguments, like,
FT_New_Face_From_{FSSpec|FSRef|FOND} etc.

How do you think of?

I don't write compiled software so I think you're more qualified than I to make these decisions. :)






reply via email to

[Prev in Thread] Current Thread [Next in Thread]