Behdad Esfahbod [Fri, 21 May 2010 12:33:46 +0000 (13:33 +0100)]
Don't allocate bits for features not available
Behdad Esfahbod [Fri, 21 May 2010 12:32:38 +0000 (13:32 +0100)]
Speed up feature mask setting
Patch from Jonathan Kew.
Behdad Esfahbod [Fri, 21 May 2010 12:29:12 +0000 (13:29 +0100)]
Add Unicode 5.2 scripts
Behdad Esfahbod [Fri, 21 May 2010 11:55:57 +0000 (12:55 +0100)]
Fix feature mask setting
Behdad Esfahbod [Fri, 21 May 2010 10:15:07 +0000 (11:15 +0100)]
Add hb_ot_tag_to_script()
Behdad Esfahbod [Fri, 21 May 2010 09:33:23 +0000 (10:33 +0100)]
Add Python wrapper from Martin Hosken
Behdad Esfahbod [Thu, 20 May 2010 17:33:35 +0000 (18:33 +0100)]
Let hb_face_get_table() return NULL if table not found
Behdad Esfahbod [Thu, 20 May 2010 16:47:28 +0000 (17:47 +0100)]
Fix alternate, again
Behdad Esfahbod [Thu, 20 May 2010 16:46:20 +0000 (17:46 +0100)]
Fix alternate off-by-one
Behdad Esfahbod [Thu, 20 May 2010 16:44:52 +0000 (17:44 +0100)]
Fix delta scale, again...
Behdad Esfahbod [Thu, 20 May 2010 16:35:14 +0000 (17:35 +0100)]
Remove unused operator
Behdad Esfahbod [Thu, 20 May 2010 16:26:35 +0000 (17:26 +0100)]
Do alternate glyph selection!
Kinda hand-wavy right now. Not tested.
Behdad Esfahbod [Thu, 20 May 2010 15:23:27 +0000 (16:23 +0100)]
get_table() is allowed to return NULL. Use that to simplify code
Behdad Esfahbod [Thu, 20 May 2010 14:47:49 +0000 (15:47 +0100)]
Write hb_face_create_for_data() in terms of hb_face_create_for_tables()
Fixes lack of head_table initialization in create_for_tables() also.
Behdad Esfahbod [Thu, 20 May 2010 14:40:12 +0000 (15:40 +0100)]
Apply user features to ranges!
Behdad Esfahbod [Thu, 20 May 2010 14:31:12 +0000 (15:31 +0100)]
Add _hb_bit_storage()
Behdad Esfahbod [Thu, 20 May 2010 14:14:44 +0000 (15:14 +0100)]
Add lookup_map
Behdad Esfahbod [Thu, 20 May 2010 13:05:02 +0000 (14:05 +0100)]
Update always-apply mask from 0xFFFF to 1
We plan to use the first bit to be always on.
Behdad Esfahbod [Thu, 20 May 2010 13:00:57 +0000 (14:00 +0100)]
Invert the mask logic
Before, the mask in the buffer was inverted. That is, a 0 bit meant
feature should be applied and 1 meant not applied, whereas in the
lookups, the logic was positive.
Now both are in sync. When calling hb_buffer_add_glyph() manually,
the mask should be 1 instead of 0.
Behdad Esfahbod [Thu, 20 May 2010 12:40:18 +0000 (13:40 +0100)]
Apply user features
No ranges yet
Behdad Esfahbod [Thu, 20 May 2010 12:30:09 +0000 (13:30 +0100)]
Change hb_feature_t to keep tag/int instead of string
Behdad Esfahbod [Wed, 19 May 2010 19:45:06 +0000 (15:45 -0400)]
Fix scale issues
hb_font_set_scale() now sets the value to be used to represent a unit
pixel. For example, if rendering a 10px font with a 26.6 representation,
you would set scale to (10 << 6). For 10px in 16.16 you would set it to
(10 << 16). This space should be the same space that the get_glyph_metrics
and get_kerning callbacks work in.
Behdad Esfahbod [Wed, 19 May 2010 16:03:35 +0000 (12:03 -0400)]
Add 'head' table
Behdad Esfahbod [Wed, 19 May 2010 15:47:17 +0000 (11:47 -0400)]
Add LONGDATETIME
Behdad Esfahbod [Mon, 17 May 2010 19:14:14 +0000 (15:14 -0400)]
Minor
Behdad Esfahbod [Sat, 15 May 2010 03:38:08 +0000 (23:38 -0400)]
Indent
Behdad Esfahbod [Sat, 15 May 2010 03:28:44 +0000 (23:28 -0400)]
Add an inline version of hb_buffer_ensure()
Behdad Esfahbod [Sat, 15 May 2010 03:20:16 +0000 (23:20 -0400)]
Handle malloc failture in the buffer
Behdad Esfahbod [Sat, 15 May 2010 02:25:42 +0000 (22:25 -0400)]
Minor
Behdad Esfahbod [Sat, 15 May 2010 02:13:38 +0000 (22:13 -0400)]
Update buffer docs
Behdad Esfahbod [Sat, 15 May 2010 02:10:39 +0000 (22:10 -0400)]
Shortening buffer accessors: rename buffer->in_pos to buffer->i
Behdad Esfahbod [Sat, 15 May 2010 02:08:22 +0000 (22:08 -0400)]
Shortening buffer accessors: rename buffer->out_length to buffer->out_len
Behdad Esfahbod [Sat, 15 May 2010 02:07:46 +0000 (22:07 -0400)]
Shortening buffer accessors: rename buffer->in_length to buffer->len
Behdad Esfahbod [Sat, 15 May 2010 02:05:53 +0000 (22:05 -0400)]
Shortening buffer accessors: rename buffer->positions to buffer->pos
Behdad Esfahbod [Sat, 15 May 2010 02:03:11 +0000 (22:03 -0400)]
Shortening buffer accessors: rename buffer->out_string to buffer->out_info
Behdad Esfahbod [Sat, 15 May 2010 02:02:37 +0000 (22:02 -0400)]
Shortening buffer accessors: rename buffer->in_string to buffer->info
Behdad Esfahbod [Sat, 15 May 2010 01:58:22 +0000 (21:58 -0400)]
Merge buffer->out_pos and buffer->out_length
Behdad Esfahbod [Sat, 15 May 2010 01:41:04 +0000 (21:41 -0400)]
Remove the unused BUFFER macro
Behdad Esfahbod [Sat, 15 May 2010 01:38:13 +0000 (21:38 -0400)]
Remove the IN_CURGLYPH() macro
Behdad Esfahbod [Sat, 15 May 2010 01:37:18 +0000 (21:37 -0400)]
Remove the IN_CURINFO() macro
Behdad Esfahbod [Sat, 15 May 2010 01:34:22 +0000 (21:34 -0400)]
Remove IN_INFO() and IN_NEXTGLYPH() macros
Behdad Esfahbod [Sat, 15 May 2010 01:07:35 +0000 (21:07 -0400)]
Remove the IN_GLYPH() macro
Behdad Esfahbod [Sat, 15 May 2010 01:00:08 +0000 (21:00 -0400)]
Remove the IN_CLUSTER() macro
Behdad Esfahbod [Sat, 15 May 2010 00:30:07 +0000 (20:30 -0400)]
Remove the IN_MASK() macro
Behdad Esfahbod [Sat, 15 May 2010 00:25:55 +0000 (20:25 -0400)]
Remove the IN_LIGID() macro
Behdad Esfahbod [Sat, 15 May 2010 00:25:04 +0000 (20:25 -0400)]
Remove IN_COMPONENT() macro
Behdad Esfahbod [Sat, 15 May 2010 00:17:50 +0000 (20:17 -0400)]
Remove OUT_GLYPH() and OUT_INFO() macros
Behdad Esfahbod [Sat, 15 May 2010 00:09:48 +0000 (20:09 -0400)]
Fix lookahead matching. Oops!
Behdad Esfahbod [Fri, 14 May 2010 23:55:27 +0000 (19:55 -0400)]
Remove POSITION() and CURPOSITION() macros
Behdad Esfahbod [Thu, 13 May 2010 18:18:49 +0000 (14:18 -0400)]
s/\<context\>/c/g
Behdad Esfahbod [Thu, 13 May 2010 17:34:17 +0000 (13:34 -0400)]
Don't use variable-length-arrays
Behdad Esfahbod [Thu, 13 May 2010 17:22:24 +0000 (13:22 -0400)]
Add a few more buffer convenience methods
Behdad Esfahbod [Thu, 13 May 2010 04:01:40 +0000 (00:01 -0400)]
Minor
Behdad Esfahbod [Thu, 13 May 2010 03:48:40 +0000 (23:48 -0400)]
Improve check for internal symbols
Behdad Esfahbod [Thu, 13 May 2010 03:46:16 +0000 (23:46 -0400)]
Make HB_PRIVATE more useful
So we can apply it to class methods also. Not sure if that works!
Behdad Esfahbod [Thu, 13 May 2010 03:43:00 +0000 (23:43 -0400)]
Add a few other buffer methods
Behdad Esfahbod [Thu, 13 May 2010 03:34:52 +0000 (23:34 -0400)]
Add buffer->swap()
Behdad Esfahbod [Thu, 13 May 2010 03:28:38 +0000 (23:28 -0400)]
Add check for internal symbols
Behdad Esfahbod [Thu, 13 May 2010 03:22:55 +0000 (23:22 -0400)]
Hide internal symbols
Behdad Esfahbod [Thu, 13 May 2010 03:13:39 +0000 (23:13 -0400)]
Add buffer->allocate_lig_id()
Behdad Esfahbod [Wed, 12 May 2010 22:29:25 +0000 (18:29 -0400)]
Use bit tricks for HB_DIRECTION_IS_*
We already depend on the exact values of the direction enum
in HB_DIRECTION_REVERSE(), so we may as well use that.
Behdad Esfahbod [Wed, 12 May 2010 22:23:21 +0000 (18:23 -0400)]
Rename a few files to be C++ sources
In anticipation for buffer revamp coming.
Behdad Esfahbod [Tue, 11 May 2010 17:54:12 +0000 (13:54 -0400)]
Fix comment
Behdad Esfahbod [Tue, 11 May 2010 15:37:58 +0000 (11:37 -0400)]
Remove obsolete friend
Behdad Esfahbod [Tue, 11 May 2010 04:23:50 +0000 (00:23 -0400)]
Simplify PairSet
Behdad Esfahbod [Tue, 11 May 2010 04:11:36 +0000 (00:11 -0400)]
Add CONST_FUNC annotation
Behdad Esfahbod [Tue, 11 May 2010 03:50:07 +0000 (23:50 -0400)]
Simplify likely() implementation
Shrinks .text by 1%!
Behdad Esfahbod [Tue, 11 May 2010 03:44:51 +0000 (23:44 -0400)]
Fix warnings
Behdad Esfahbod [Tue, 11 May 2010 03:27:54 +0000 (23:27 -0400)]
Sprinkle a few strategic likely()'s
Shrinks the code size by some 2% even.
Behdad Esfahbod [Tue, 11 May 2010 03:13:08 +0000 (23:13 -0400)]
Remove a few likely()'s
Behdad Esfahbod [Tue, 11 May 2010 03:08:41 +0000 (23:08 -0400)]
Remove excess sub_format sanitize
Behdad Esfahbod [Tue, 11 May 2010 02:41:50 +0000 (22:41 -0400)]
Shrink NullPool now that we have accurate size tracking
Behdad Esfahbod [Tue, 11 May 2010 02:22:54 +0000 (22:22 -0400)]
Fix warning
Behdad Esfahbod [Tue, 11 May 2010 02:22:22 +0000 (22:22 -0400)]
Clean up NO_INDEX
Behdad Esfahbod [Tue, 11 May 2010 01:39:24 +0000 (21:39 -0400)]
Fix awful confusion between lookup format and subtable format
As reported by John Daggett.
Behdad Esfahbod [Tue, 11 May 2010 01:11:35 +0000 (21:11 -0400)]
Fix tracing order
Behdad Esfahbod [Tue, 11 May 2010 00:07:56 +0000 (20:07 -0400)]
Don't fail sanitize on NULL data
Behdad Esfahbod [Mon, 10 May 2010 23:58:25 +0000 (19:58 -0400)]
Fix comment
Behdad Esfahbod [Mon, 10 May 2010 23:51:57 +0000 (19:51 -0400)]
Fix accessing tables from NULL pointer
Behdad Esfahbod [Mon, 10 May 2010 23:45:41 +0000 (19:45 -0400)]
Simplify unions
Behdad Esfahbod [Mon, 10 May 2010 23:02:32 +0000 (19:02 -0400)]
Remove unused macro
Behdad Esfahbod [Mon, 10 May 2010 23:01:17 +0000 (19:01 -0400)]
Change DEFINE_SIZE_VAR to DEFINE_SIZE_ARRAY
Behdad Esfahbod [Mon, 10 May 2010 22:47:48 +0000 (18:47 -0400)]
Cleanup DEFINE_SIZE_VAR2
Behdad Esfahbod [Mon, 10 May 2010 22:35:02 +0000 (18:35 -0400)]
Minor
Behdad Esfahbod [Mon, 10 May 2010 22:20:54 +0000 (18:20 -0400)]
Simplify array access
Behdad Esfahbod [Mon, 10 May 2010 22:13:32 +0000 (18:13 -0400)]
Fix check_struct to check min_size instead of sizeof
Behdad Esfahbod [Mon, 10 May 2010 22:08:46 +0000 (18:08 -0400)]
Further cleanup of sizeof
Behdad Esfahbod [Mon, 10 May 2010 21:55:03 +0000 (17:55 -0400)]
Remove CastP completely
Behdad Esfahbod [Mon, 10 May 2010 21:47:22 +0000 (17:47 -0400)]
Remove unnecessary casts
Behdad Esfahbod [Mon, 10 May 2010 21:36:03 +0000 (17:36 -0400)]
Make StructAtOffset take a pointer
Is safer.
Behdad Esfahbod [Mon, 10 May 2010 21:28:16 +0000 (17:28 -0400)]
Further cleanup of DEFINE_SIZE
Behdad Esfahbod [Mon, 10 May 2010 21:04:20 +0000 (17:04 -0400)]
Cleanup
Behdad Esfahbod [Mon, 10 May 2010 20:57:29 +0000 (16:57 -0400)]
Remove ASSERT_SIZE in favor of the safer DEFINE_SIZE_STATIC
Behdad Esfahbod [Mon, 10 May 2010 20:38:32 +0000 (16:38 -0400)]
Cleanup ASSERT_SIZE_VAR
Behdad Esfahbod [Thu, 6 May 2010 23:37:32 +0000 (19:37 -0400)]
Whitespace
Behdad Esfahbod [Thu, 6 May 2010 23:35:19 +0000 (19:35 -0400)]
Simplify DEFINE_NULL_DATA
Using ::min_size.
Behdad Esfahbod [Thu, 6 May 2010 23:33:31 +0000 (19:33 -0400)]
Start cleaning up get_size()
So we know when the size is static and when dynamic.
Behdad Esfahbod [Thu, 6 May 2010 18:48:27 +0000 (14:48 -0400)]
Remove the last of SANITIZE macros: SANITIZE_SELF
Behdad Esfahbod [Thu, 6 May 2010 17:30:23 +0000 (13:30 -0400)]
Remove SANITIZE macro
Behdad Esfahbod [Thu, 6 May 2010 17:06:15 +0000 (13:06 -0400)]
Cleanup Value casts