[Top][All Lists]
[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.
***********************************************************************************
- [ft-devel] Migrating layout table validation code to a new CVS module,
Turner, David <=