Behdad Esfahbod [Wed, 5 May 2010 05:30:48 +0000 (01:30 -0400)]
Port apply to use hb_trace_t
Behdad Esfahbod [Wed, 5 May 2010 05:23:44 +0000 (01:23 -0400)]
Move context_length into apply_context
Behdad Esfahbod [Wed, 5 May 2010 05:13:09 +0000 (01:13 -0400)]
Move buffer into apply_context
Behdad Esfahbod [Wed, 5 May 2010 05:01:05 +0000 (01:01 -0400)]
Move layout_context into apply_context
Behdad Esfahbod [Wed, 5 May 2010 04:32:21 +0000 (00:32 -0400)]
Minor
Behdad Esfahbod [Wed, 5 May 2010 04:26:16 +0000 (00:26 -0400)]
I keep changing my mind about this
Behdad Esfahbod [Wed, 5 May 2010 04:23:19 +0000 (00:23 -0400)]
Remove SANITIZE_ARG_DEF and SANITIZE_ARG
Behdad Esfahbod [Wed, 5 May 2010 04:20:16 +0000 (00:20 -0400)]
Remove trace from sanitize_shallow()
Behdad Esfahbod [Wed, 5 May 2010 04:19:46 +0000 (00:19 -0400)]
Add hb_trace_t
Behdad Esfahbod [Wed, 5 May 2010 03:21:57 +0000 (23:21 -0400)]
Make sanitize_depth variable automatic and not passed through function args
Behdad Esfahbod [Wed, 5 May 2010 02:46:21 +0000 (22:46 -0400)]
Use function template for pass-thru argument
Behdad Esfahbod [Wed, 5 May 2010 02:42:49 +0000 (22:42 -0400)]
Make _hb_sanitize_*() methods of the context object
Behdad Esfahbod [Tue, 4 May 2010 19:28:52 +0000 (15:28 -0400)]
Remove SANITIZE_THIS
Behdad Esfahbod [Tue, 4 May 2010 19:12:17 +0000 (15:12 -0400)]
Rename SANITIZE_BASE to SANITIZE_WITH_BASE
Behdad Esfahbod [Tue, 4 May 2010 19:01:45 +0000 (15:01 -0400)]
Remove SANITIZE_OBJ
Behdad Esfahbod [Tue, 4 May 2010 18:57:55 +0000 (14:57 -0400)]
Remove SANITIZE_THIS2
Behdad Esfahbod [Tue, 4 May 2010 18:49:45 +0000 (14:49 -0400)]
Cosmetic
Behdad Esfahbod [Tue, 4 May 2010 18:47:05 +0000 (14:47 -0400)]
Remove SANITIZE_THIS3
Behdad Esfahbod [Tue, 4 May 2010 18:42:10 +0000 (14:42 -0400)]
Remove SANITIZE_BASE2
Behdad Esfahbod [Tue, 4 May 2010 18:40:55 +0000 (14:40 -0400)]
Remove SANITIZE2
Behdad Esfahbod [Tue, 4 May 2010 18:38:08 +0000 (14:38 -0400)]
Remove the NEUTER macro, move code to a method
Behdad Esfahbod [Tue, 4 May 2010 18:28:18 +0000 (14:28 -0400)]
Make internal method private
Behdad Esfahbod [Tue, 4 May 2010 18:10:18 +0000 (14:10 -0400)]
[main] Recognize Apple SFNTs
Behdad Esfahbod [Tue, 4 May 2010 03:11:16 +0000 (23:11 -0400)]
Comment new SFNT tags
Behdad Esfahbod [Tue, 4 May 2010 02:51:19 +0000 (22:51 -0400)]
Cosmetic: Rename HB_LIKELY/HB_UNLIKELY to likely/unlikely
Behdad Esfahbod [Tue, 4 May 2010 02:47:22 +0000 (22:47 -0400)]
Mark a couple functions as inline
Behdad Esfahbod [Tue, 4 May 2010 02:46:52 +0000 (22:46 -0400)]
Merge remote branch 'jrmuizel/master'
Jeff Muizelaar [Tue, 4 May 2010 02:27:56 +0000 (22:27 -0400)]
HB_UNUSED is unneeded on static inline functions
Jeff Muizelaar [Mon, 3 May 2010 19:03:53 +0000 (15:03 -0400)]
Include the tags from the Apple specification for TrueType fonts
Behdad Esfahbod [Mon, 3 May 2010 01:14:21 +0000 (21:14 -0400)]
Remove unused method
Behdad Esfahbod [Sun, 2 May 2010 22:14:25 +0000 (18:14 -0400)]
Whitespace
Behdad Esfahbod [Thu, 29 Apr 2010 18:31:56 +0000 (14:31 -0400)]
[GPOS] Speedup apply_value()
Behdad Esfahbod [Thu, 29 Apr 2010 18:15:32 +0000 (14:15 -0400)]
[ft] Disallow getting the entire font data with tag=0
Behdad Esfahbod [Thu, 29 Apr 2010 17:56:44 +0000 (13:56 -0400)]
Rename HB_GNUC_UNUSED -> HB_UNUSED
Behdad Esfahbod [Thu, 29 Apr 2010 17:54:01 +0000 (13:54 -0400)]
Define HB_FUNC for portability to non-gcc
Behdad Esfahbod [Thu, 29 Apr 2010 17:48:26 +0000 (13:48 -0400)]
[sanitize] Make debug code always available to the compiler
Such that we don't break debug build all the time.
Behdad Esfahbod [Thu, 29 Apr 2010 08:41:41 +0000 (04:41 -0400)]
Convert to uppercase in hb_ot_tag_from_language()
Behdad Esfahbod [Thu, 29 Apr 2010 07:59:06 +0000 (03:59 -0400)]
More contour point use
Behdad Esfahbod [Thu, 29 Apr 2010 07:48:27 +0000 (03:48 -0400)]
[gdef] Fix delta scale
Behdad Esfahbod [Thu, 29 Apr 2010 07:48:11 +0000 (03:48 -0400)]
[gdef] Fix rounding
Behdad Esfahbod [Thu, 29 Apr 2010 07:47:00 +0000 (03:47 -0400)]
[gdef] Implement getting contour point
Behdad Esfahbod [Thu, 29 Apr 2010 07:39:39 +0000 (03:39 -0400)]
Make sure mirroring is done in original direction
Reported by Jonathan Kew.
Behdad Esfahbod [Thu, 29 Apr 2010 07:31:03 +0000 (03:31 -0400)]
Use BCP47 private-use tags for OpenType tag language string mapping
Behdad Esfahbod [Thu, 29 Apr 2010 07:11:32 +0000 (03:11 -0400)]
Minor
Behdad Esfahbod [Thu, 29 Apr 2010 06:58:38 +0000 (02:58 -0400)]
Fix bug in hb_language_from_string()
Reported by Jonathan Kew.
Behdad Esfahbod [Thu, 29 Apr 2010 06:28:54 +0000 (02:28 -0400)]
Use const_cast
Behdad Esfahbod [Thu, 29 Apr 2010 06:27:20 +0000 (02:27 -0400)]
Add const
Behdad Esfahbod [Thu, 29 Apr 2010 06:25:30 +0000 (02:25 -0400)]
Rename apply_context -> context
Behdad Esfahbod [Thu, 29 Apr 2010 06:24:25 +0000 (02:24 -0400)]
Rename
Behdad Esfahbod [Thu, 29 Apr 2010 06:19:21 +0000 (02:19 -0400)]
[apply] Use a context object to reduce number of parameters passed around
Behdad Esfahbod [Thu, 29 Apr 2010 05:47:30 +0000 (01:47 -0400)]
Further simplify tracing
Behdad Esfahbod [Thu, 29 Apr 2010 05:40:26 +0000 (01:40 -0400)]
Simplify trace code
Behdad Esfahbod [Thu, 29 Apr 2010 00:25:22 +0000 (20:25 -0400)]
[sanitize] Make debug code always available to the compiler
Such that we don't break debug build all the time.
Behdad Esfahbod [Wed, 28 Apr 2010 19:15:09 +0000 (15:15 -0400)]
[gsubgpos] Make debug code always available to the compiler
Such that we don't break debug build all the time.
Behdad Esfahbod [Wed, 28 Apr 2010 17:33:09 +0000 (13:33 -0400)]
Fix compiler warning about value unused
Behdad Esfahbod [Wed, 28 Apr 2010 17:29:55 +0000 (13:29 -0400)]
[object] Make debug code always available to the compiler
Such that we don't break debug build all the time.
Behdad Esfahbod [Wed, 28 Apr 2010 17:18:41 +0000 (13:18 -0400)]
Minor
Behdad Esfahbod [Wed, 28 Apr 2010 17:16:38 +0000 (13:16 -0400)]
[blob] Make debug code always available to the compiler
Such that we don't break debug build all the time.
Behdad Esfahbod [Wed, 28 Apr 2010 17:10:36 +0000 (13:10 -0400)]
Fix build. Ouch!
Behdad Esfahbod [Wed, 28 Apr 2010 17:09:40 +0000 (13:09 -0400)]
Fix debug build
Behdad Esfahbod [Wed, 28 Apr 2010 03:28:10 +0000 (23:28 -0400)]
[object] Actually handle malloc() failure
Caught by John Daggett.
Behdad Esfahbod [Mon, 26 Apr 2010 14:07:35 +0000 (10:07 -0400)]
Fix Device::get_size() calculation
Behdad Esfahbod [Mon, 26 Apr 2010 03:01:45 +0000 (23:01 -0400)]
Rename Var to Obj
Behdad Esfahbod [Mon, 26 Apr 2010 02:51:05 +0000 (22:51 -0400)]
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).
Behdad Esfahbod [Sat, 24 Apr 2010 00:49:18 +0000 (20:49 -0400)]
Cleanup hb_face_create_for_data()
Behdad Esfahbod [Fri, 23 Apr 2010 23:59:53 +0000 (19:59 -0400)]
Allow get_table() to return NULL
Behdad Esfahbod [Fri, 23 Apr 2010 23:43:40 +0000 (19:43 -0400)]
Typo
Behdad Esfahbod [Fri, 23 Apr 2010 21:53:32 +0000 (17:53 -0400)]
Remove lock_instance()
Behdad Esfahbod [Fri, 23 Apr 2010 20:35:01 +0000 (16:35 -0400)]
Add different casts from pointer and ref to avoid bugs
Behdad Esfahbod [Fri, 23 Apr 2010 20:22:54 +0000 (16:22 -0400)]
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.
Behdad Esfahbod [Fri, 23 Apr 2010 19:19:50 +0000 (15:19 -0400)]
Add TODO
Behdad Esfahbod [Fri, 23 Apr 2010 18:56:55 +0000 (14:56 -0400)]
Zero glyph metrics before calling user callback
Behdad Esfahbod [Fri, 23 Apr 2010 18:44:55 +0000 (14:44 -0400)]
More warning fixes
Behdad Esfahbod [Fri, 23 Apr 2010 18:40:36 +0000 (14:40 -0400)]
Remove unused parameter
Behdad Esfahbod [Fri, 23 Apr 2010 18:39:10 +0000 (14:39 -0400)]
Fix compile warnings (HB_GNUC_UNUSED)
Behdad Esfahbod [Fri, 23 Apr 2010 18:07:34 +0000 (14:07 -0400)]
No need to keep blob in sanitize context
Behdad Esfahbod [Fri, 23 Apr 2010 17:57:10 +0000 (13:57 -0400)]
When sanitizing, delay making writable
Before, as soon as we needed to make an edit, we tried to make the blob
writable inplace. That grows code unnecessarily though. We can simply
fail, make writable, then start again. That's indeed what the fallback
was doing anyway.
Behdad Esfahbod [Fri, 23 Apr 2010 17:48:06 +0000 (13:48 -0400)]
[blob] Fallback to copying if mprotect() fails
Behdad Esfahbod [Fri, 23 Apr 2010 17:32:03 +0000 (13:32 -0400)]
Cleanup OpenTypeFontFile
Behdad Esfahbod [Fri, 23 Apr 2010 16:33:02 +0000 (12:33 -0400)]
Properly define separate structs for TTCHeader and TTCHeaderVersion1
Behdad Esfahbod [Fri, 23 Apr 2010 00:15:11 +0000 (20:15 -0400)]
Cleanup Extension lookups
Two things:
1. Allow nested Extension lookups. The offset is always positive, so
it can't loop circularly.
2. Move the check for all Extension subtables having the same lookup
type to the correct place. Before it wasn't really working.
Behdad Esfahbod [Thu, 22 Apr 2010 22:47:03 +0000 (18:47 -0400)]
Add comment re bsearch effect on sanitize
Behdad Esfahbod [Thu, 22 Apr 2010 22:33:12 +0000 (18:33 -0400)]
Cosmetic
Behdad Esfahbod [Thu, 22 Apr 2010 22:29:09 +0000 (18:29 -0400)]
Convert the last set of cast macros to templates
Behdad Esfahbod [Thu, 22 Apr 2010 20:52:09 +0000 (16:52 -0400)]
Remove unused macro
Behdad Esfahbod [Thu, 22 Apr 2010 20:51:42 +0000 (16:51 -0400)]
Cleanup Extension sanitize()
Behdad Esfahbod [Thu, 22 Apr 2010 18:15:11 +0000 (14:15 -0400)]
Fail sanitize on major version mismatch
We handle major-version differences via get_for_data(), so sanitize
should never see a major version mismatch.
Behdad Esfahbod [Thu, 22 Apr 2010 18:11:33 +0000 (14:11 -0400)]
More sanitize cleanup
Behdad Esfahbod [Thu, 22 Apr 2010 17:59:39 +0000 (13:59 -0400)]
Minor cleanup of sanitize
Done with an audit of all sanitize()
Behdad Esfahbod [Thu, 22 Apr 2010 17:50:22 +0000 (13:50 -0400)]
Check for (impossible) overflow
Behdad Esfahbod [Thu, 22 Apr 2010 17:37:58 +0000 (13:37 -0400)]
Cleanup ContextFormat3 sanitize
Behdad Esfahbod [Thu, 22 Apr 2010 17:34:00 +0000 (13:34 -0400)]
Add comment
Behdad Esfahbod [Thu, 22 Apr 2010 17:26:21 +0000 (13:26 -0400)]
Minor
Behdad Esfahbod [Thu, 22 Apr 2010 17:22:41 +0000 (13:22 -0400)]
Remove integrity check in Tag sanitize
Serves no useful purpose.
Behdad Esfahbod [Thu, 22 Apr 2010 15:06:30 +0000 (11:06 -0400)]
Don't sanitize raw table data
That part is performed by individual table sanitize.
Behdad Esfahbod [Thu, 22 Apr 2010 15:15:46 +0000 (11:15 -0400)]
Add coment
Behdad Esfahbod [Thu, 22 Apr 2010 14:54:26 +0000 (10:54 -0400)]
Remove unnecessary casts
Behdad Esfahbod [Thu, 22 Apr 2010 14:47:12 +0000 (10:47 -0400)]
Avoid overflow in TableDirectory sanitize
Behdad Esfahbod [Thu, 22 Apr 2010 14:43:30 +0000 (10:43 -0400)]
Make casts more explicit
Behdad Esfahbod [Thu, 22 Apr 2010 14:26:35 +0000 (10:26 -0400)]
Make sure semicolon is expected after DEFINE_NULL_DATA()