To all extensions developers:

Unlike the rest of the engine, the extension scheme will change for the final
release.  Extension components will remain structured the same, with the
following exceptions:

- client applications will have to register themselves the extensions
  they want to use.  This registration will be a call to one additional
  function defined in your component, which will itself call the engine
  to "register" itself.

- You will need to call a special function to get a pointer to your
  own root data within the extension block (currently, you need to
  place your own field, like 'kerning', in the extension record of
  ttextend, then access it through face->extension->kerning, this
  will be replaced by 'kerning = Extension_Get( face, extension_id)"
  or something of the like.

All in all, you'll keep the same structure (constructors, destructors,
and high-level API extensions) with only a few additional things.

This should make the development and mix of several concurrent extensions
easier.


See you

- David Turner
