Commit Graph

39 Commits

Author SHA1 Message Date
Behdad Esfahbod
710500a93e Comment new SFNT tags 2010-05-03 23:11:16 -04:00
Behdad Esfahbod
64d3fc8d0d Cosmetic: Rename HB_LIKELY/HB_UNLIKELY to likely/unlikely 2010-05-03 22:51:19 -04:00
Behdad Esfahbod
6b84198f9d Merge remote branch 'jrmuizel/master' 2010-05-03 22:46:52 -04:00
Jeff Muizelaar
4ce578ed36 Include the tags from the Apple specification for TrueType fonts 2010-05-03 15:03:53 -04:00
Behdad Esfahbod
631d10b728 Remove unused method 2010-05-02 21:14:21 -04:00
Behdad Esfahbod
690b919461 Remove use of flexible arrays
Also remove wrong ASSERT_SIZE that would trigger only when not using
flexible arrays (which was the case on win32, but not with gcc).
2010-04-25 22:52:22 -04:00
Behdad Esfahbod
efb324a46f Remove GET_FOR_DATA macros
The major-version check is now handled by sanitize.  If major
doesn't match, we reject and fall back to the Null object.
2010-04-23 16:28:27 -04:00
Behdad Esfahbod
f1aaa2a436 Add TODO 2010-04-23 15:19:50 -04:00
Behdad Esfahbod
ef66ebeabc Remove unused parameter 2010-04-23 14:40:36 -04:00
Behdad Esfahbod
1aa4666b91 Cleanup OpenTypeFontFile 2010-04-23 13:32:03 -04:00
Behdad Esfahbod
ae4190cafe Properly define separate structs for TTCHeader and TTCHeaderVersion1 2010-04-23 12:33:02 -04:00
Behdad Esfahbod
a0bb49c583 Add comment re bsearch effect on sanitize 2010-04-22 18:47:03 -04:00
Behdad Esfahbod
a3263aa773 Convert the last set of cast macros to templates 2010-04-22 18:42:01 -04:00
Behdad Esfahbod
1856184b93 Fail sanitize on major version mismatch
We handle major-version differences via get_for_data(), so sanitize
should never see a major version mismatch.
2010-04-22 14:21:17 -04:00
Behdad Esfahbod
df3f505dcf More sanitize cleanup 2010-04-22 14:11:33 -04:00
Behdad Esfahbod
8015a8c762 Don't sanitize raw table data
That part is performed by individual table sanitize.
2010-04-22 13:21:12 -04:00
Behdad Esfahbod
079dc40112 Avoid overflow in TableDirectory sanitize 2010-04-22 10:47:12 -04:00
Behdad Esfahbod
c755cb3e3a Change header comment 2010-04-22 00:11:43 -04:00
Behdad Esfahbod
0dfcc13a46 Rename ConstCharP to CharP (overloaded now) 2010-04-21 23:41:26 -04:00
Behdad Esfahbod
62c0fd7573 Cleanup de-const-casting during sanitize 2010-04-21 23:30:48 -04:00
Behdad Esfahbod
198facdc55 Use templates for const char * casts 2010-04-21 13:35:36 -04:00
Behdad Esfahbod
ffd321afd9 Simplify Tag struct 2010-04-21 01:55:09 -04:00
Behdad Esfahbod
4b8487d83e Fix the mystery bug!
A couple bugs joined forces to exhibit the mystery behavior of
crashes / infinite loops on OS X / wrong kerning / invalid memory
access.  Pooh!

The bugs were involved:

  - Wrong pointer math with ValueRecord in PairPosFormat1

  - Fallout from avoiding flex arrays, code not correctly updated
    to remove sizeof() usage.

We strictly never use sizeof() directly now.  And the PairPos code
is cleaned up.  Should fix them all.  Bugs are:

  Bug 605655 - Pango 1.26.2 introduces kerning bug
  Bug 611229 - Pango reads from uninitialized memory
  Bug 593240 - (pangoosx) Crash / infinite loop with Mac OS X

We were also doing wrong math converting Device adjustments to
hb_position_t.  Fallout from FreeType days.  Should shift 16, not
6.  Fixed that too.

There's still another bug: we don't sanitize Device records
referenced from value records.  Fixing that also.
2010-04-21 01:41:29 -04:00
Behdad Esfahbod
636f017e38 Remove obsolete TODO item 2009-11-10 12:56:35 -05:00
Behdad Esfahbod
d3480ba37f Don't use zero-sized arrays
It's not part of the standard and MSVC doesn't like it.  It makes the code
a lot less elegant than it used to be, but I think it should work now.
2009-11-03 10:47:29 -05:00
Behdad Esfahbod
3e2401f6c5 [HB] Rename DEBUG to TRACE where appropriate 2009-11-02 14:40:48 -05:00
Behdad Esfahbod
20b035dad4 [HB] Put C++ inline's back
Apparetly in C++, inline means a totally different thing.
2009-11-02 14:40:36 -05:00
Behdad Esfahbod
bff3c0fde5 [HB] Remove clumsy macros and improve API 2009-11-02 14:40:34 -05:00
Behdad Esfahbod
e605c367c5 [HB] Rebrand XXX as TODO 2009-11-02 14:40:33 -05:00
Behdad Esfahbod
71a8344a5e [HB] Remove a few 'inline's, though the compiler mostly ignores them 2009-11-02 14:40:32 -05:00
Behdad Esfahbod
2870ac5e5d [HB] Add missing sanitize 2009-11-02 14:40:30 -05:00
Behdad Esfahbod
b28815c1f6 [HB] Add sanitize debugging facilities 2009-11-02 14:40:30 -05:00
Behdad Esfahbod
7edb430f91 [HB] Rename open-types to open-type; beauty 2009-11-02 14:40:30 -05:00
Behdad Esfahbod
9bd629ccd0 [HB] Fix warnings 2009-11-02 14:40:30 -05:00
Behdad Esfahbod
2765d333e5 [HB] Add XXX 2009-11-02 14:40:30 -05:00
Behdad Esfahbod
b508e5ccd5 [HB] open-file sanitize() 2009-11-02 14:40:29 -05:00
Behdad Esfahbod
196598bbcc [Hb] Use reinterpret casts instead of direct casts to char * 2009-11-02 14:40:28 -05:00
Behdad Esfahbod
cd3827ee56 [HB] More sanitize() 2009-11-02 14:40:28 -05:00
Behdad Esfahbod
5f5b24f99f [OT] Rename C++ header files from *.h to *.hh 2009-11-02 14:40:27 -05:00