freetype-devel
[Top][All Lists]
Advanced

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

Status report on FreeType 2


From: David Turner
Subject: Status report on FreeType 2
Date: Wed, 03 May 2000 12:18:21 +0200

Hello,

  As usual, I'm sorry for having been silent these last weeks, I've
  been busy hacking many things related to FreeType 2, even if most
  of them will not appear immediately in the CVS repository.

  Anyway, here's a short status report. I maintain a release date
  around the end of May, by the way.. :o)


  I. WHAT HAS BEEN DONE LATELY ON FREETYPE 2:
  -------------------------------------------

   - the smooth renderer has been moved to "src/base/ftgrays.c" and
     is now part of the core library. see also "include/ftgrays.h"

   - it is now possible to access some TrueType tables like
     "head", "OS/2", "maxp", "hhea", etc... See "include/tttables.h"
     to see how to do it

   - some important internal changes that will be used in order to
     support additional font drivers and features (e.g. multiple master
     fonts)

   - a first draft API for the auto-hinting module. I'm still looking
     for something more general however, that could allow us to plug
     other auto-hinters later, like one inspired by the John Hobby
     paper..

   - added a configuration macro named FT_CONFIG_OPTION_OLD_CALCS to
     perform exactly the same computations than FT 1.x for TrueType
     bytecode interpretation. This was needed to get rid of rendering
     differences at small size on some glyphs.. 

   - researched a serious bug in the monochrome renderer "ftraster".
     The bug was found, and a solution is in the way. Note that
     "ftraster" is being rewritten in order to only support monochrome
     rendering and 5-gray-levels anti-aliasing (backwards compatibility).
     The "standard anti-aliaser", with all its artefacts, is dropped.

   - some fixes to the build system (e.g. "ftglyph.o" was not correctly
     added to the library file)

   - completion of the auto-hinter outline optimisation phase :o)

   - there is some experimental Autoconf/Automake support in the build
     system that was added recently. It isn't invoked by the build system
     directly for now, but will be later used to compile/link the engine
     for the 2.0 release.

   - note that the Tutorial is now obsolete. However, I won't update
     it before having a completely stable API.



  II. PLANNED WORK FOR THE NEXT TWO WEEKS:
  ----------------------------------------

  * The Auto-Hinter:

    I now consider the auto-hinter basically finished. Even though
    there are still more tweaks to perform to improve the quality
    of glyphs (especially asian ones), its design and architecture
    seem valid.

    There is a draft API for a auto-hinting module that could be used
    by font drivers, however, I'm still looking for something a bit more
    generic in order to plug other auto-hinters (like one based on the
    John D. Hobby paper, that seem to sacrifice performance for quality).


  * Scan-line converters:  

    "src/base/ftraster.c" will be replaced shortly by a new version that
    only supports monochrome rendering and 5-gray-levels anti-aliasing.
    This is important for backwards compatibility. This new version will
    most probably support direct rendering though.

    Advanded anti-aliasing is already possible through the smooth renderer
    found in "src/base/ftgrays.c"


  * Additional Font Drivers:

   I have started on implementing seriously support for the following font
   formats:

   - Multiple Master Type 1 fonts
   - CID Type 1 fonts
   - CFF/Type2 fonts

   Note that CID fonts will be supported through a stand-alone driver, whose
   code will be based on the current "type1z" (it will also support reading
   CMaps). Meanwhile, MM T1 fonts will be supported through an updated
   version of "type1z". This, in order to reduce the complexity of both
   drivers.

   The CFF/Type2 driver will probably only support OpenType fonts. I have
   no example of a standalone CFF font, so don't expect a driver for them.


  * OpenType Layout:

   I don't think that the "OpenType Layout" module will make it for the
   FreeType 2 release, due to lack of time. However, it will be added as
   soon as possible after this release.


  * Extras:   

   I have some experimental code for the following features, however they
   are not to be completely debugged (sometimes crash), and I'm unsure they'll
   be part of the release. These are:

    - BDF + PCF font drivers
    - simple glyph cache
    - outlining + emboldening algorithms
      (well a bare approximation that works most of the time)

   I also have some old code for a "Text Service" on top of FreeType 2, but
   it hasn't been updated from months. I'll probably update it after the
   release.

   Hopefully, there will be a few more important goodies in a month.
   Unfortunately, I cannot officialy tell about them.. In the meantime,
   I appreciate any comment before the FreeType 2 API is frozen :-)


It's now time for me to answer some of those e-mails I've received lately ;-)

Best regards,

- David



reply via email to

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