freetype-devel
[Top][All Lists]
Advanced

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

[ft-devel] Migrating layout table validation code to a new CVS module


From: Turner, David
Subject: [ft-devel] Migrating layout table validation code to a new CVS module
Date: Fri, 18 Nov 2005 11:05:44 +0100

Hello,

I don't know if some of you won't hate me for this, but
I've commited this morning a new module in the CVS named
"ftvalid"

It contains a library and test program that duplicate the OpenType
and GX table validation features that are currently found in the
'otvalid' and 'gxvalid' FT2 modules.

Actually, the sources of these modules have been imported into
"ftvalid" with nearly no changes, and some hideous pre-processor
glue is used to compile the sources as if they were part of the
original FT2 source directory. This is explained in details
in the README file.

I've done it to avoid confusion the original developers, and
allow them to merge outstanding patches, if they have some,
to the sources (since I believe that the GX part is still
being worked on actively)

I have also migrated the "ftvalid" test program, which is now
compiled by default with the library.

The "free" functions that were added recently are part of
it (I implemented them myself yesterday night, by coincidence
they're exactly the same than the one provided by mpsuzuki).

IMPORTANT: Note that, at the moment, you'll need "Jam" to
compile the library and test program. I had no time to write
portable Makefiles for this project.

There is also no "configure", and then no "jam install".
Feel free to add Make and Autoconf support to the module.


My goal, has explained previously, is to remove the layout
validation code from the font engine for the following
reasons:

  - the code is very large (> 50Kb when compiled with -O2) and
    will not be used by 99% of users of the font engine.

  - it is very complex, probably unstable, and still has
    quite some bugs (I found some, search for "XXX" in
    comments).

  - I don't want to force a FT2 release because of
    serious bugs, or big updates in the validation
    routines

  - finally, I wonder if the code is that useful. For
    example, it doesn't check that all alignment
    constraints are respected by offsets. What this means
    is that even a table that was succesfully "validated"
    might crash a library like ICU Layout on Sparc
    processors.

I guess that we will not remove the public APIs defined
so far from FreeType 2, but their implementation will
simply return FT_Err_Unimplemented instead.

By the way, can anyone tell me who is really using the
existing validation code in real projects ?


Regards,

- David Turner
- The FreeType Project  (www.freetype.org)
***********************************************************************************
Information contained in this email message is confidential and may be 
privileged, and is intended only for use of the individual or entity named 
above. If the reader of this message is not the intended recipient, or the 
employee or agent responsible to deliver it to the intended recipient, you are 
hereby notified that any dissemination, distribution or copying of this 
communication is strictly prohibited. If you have received this communication 
in error, please immediately notify the address@hidden and destroy the original 
message.
***********************************************************************************





reply via email to

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