Behdad Esfahbod
ca663bb23c
Move main shaper code into hb_ot_shape()
2010-05-21 14:34:23 +01:00
Behdad Esfahbod
7acd232d36
Fix test failing
2010-05-21 14:20:48 +01:00
Behdad Esfahbod
dd47924d88
Fix warnings
2010-05-21 14:18:08 +01:00
Behdad Esfahbod
305ba86715
Import Graphite shaping backend by Martin Hosken
2010-05-21 14:15:39 +01:00
Behdad Esfahbod
83f34677bc
Add hb_tag_from_string()
2010-05-21 13:43:49 +01:00
Behdad Esfahbod
4a9a5c0b06
Don't allocate bits for features not available
2010-05-21 13:33:46 +01:00
Behdad Esfahbod
e53d77142a
Speed up feature mask setting
...
Patch from Jonathan Kew.
2010-05-21 13:32:38 +01:00
Behdad Esfahbod
4fa67f34ec
Add Unicode 5.2 scripts
2010-05-21 13:29:12 +01:00
Behdad Esfahbod
ee1b322100
Fix feature mask setting
2010-05-21 12:55:57 +01:00
Behdad Esfahbod
b490fa3433
Add hb_ot_tag_to_script()
2010-05-21 11:15:07 +01:00
Behdad Esfahbod
280af1bddb
Let hb_face_get_table() return NULL if table not found
2010-05-20 18:33:35 +01:00
Behdad Esfahbod
1cdbfd944e
Fix alternate, again
2010-05-20 17:47:28 +01:00
Behdad Esfahbod
fdca3d5160
Fix alternate off-by-one
2010-05-20 17:46:20 +01:00
Behdad Esfahbod
b634beb39e
Fix delta scale, again...
2010-05-20 17:44:52 +01:00
Behdad Esfahbod
40335d4533
Remove unused operator
2010-05-20 17:35:14 +01:00
Behdad Esfahbod
f7acd8df51
Do alternate glyph selection!
...
Kinda hand-wavy right now. Not tested.
2010-05-20 17:26:35 +01:00
Behdad Esfahbod
750a229455
get_table() is allowed to return NULL. Use that to simplify code
2010-05-20 16:23:27 +01:00
Behdad Esfahbod
99d9ef785f
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.
2010-05-20 15:47:49 +01:00
Behdad Esfahbod
6774463883
Apply user features to ranges!
2010-05-20 15:41:20 +01:00
Behdad Esfahbod
9b60233385
Add _hb_bit_storage()
2010-05-20 15:31:12 +01:00
Behdad Esfahbod
6b1b957f6d
Add lookup_map
2010-05-20 15:14:44 +01:00
Behdad Esfahbod
60010a0c4d
Update always-apply mask from 0xFFFF to 1
...
We plan to use the first bit to be always on.
2010-05-20 14:05:02 +01:00
Behdad Esfahbod
009aad5678
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.
2010-05-20 14:00:57 +01:00
Behdad Esfahbod
7f411dbfd9
Apply user features
...
No ranges yet
2010-05-20 13:40:18 +01:00
Behdad Esfahbod
0db299ccad
Change hb_feature_t to keep tag/int instead of string
2010-05-20 13:30:09 +01:00
Behdad Esfahbod
0a4399ca22
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.
2010-05-19 15:45:06 -04:00
Behdad Esfahbod
cf5585cfa6
Add 'head' table
2010-05-19 12:03:35 -04:00
Behdad Esfahbod
e29caf3f94
Add LONGDATETIME
2010-05-19 11:47:17 -04:00
Behdad Esfahbod
f415755fdf
Minor
2010-05-17 15:14:14 -04:00
Behdad Esfahbod
73af7756dc
Indent
2010-05-14 23:38:08 -04:00
Behdad Esfahbod
3567b87cce
Add an inline version of hb_buffer_ensure()
2010-05-14 23:28:44 -04:00
Behdad Esfahbod
a6a79df5fe
Handle malloc failture in the buffer
2010-05-14 23:20:16 -04:00
Behdad Esfahbod
ca54a12658
Minor
2010-05-14 22:25:42 -04:00
Behdad Esfahbod
910a33fe84
Update buffer docs
2010-05-14 22:13:38 -04:00
Behdad Esfahbod
36b73c80df
Shortening buffer accessors: rename buffer->in_pos to buffer->i
2010-05-14 22:10:39 -04:00
Behdad Esfahbod
29427c5c51
Shortening buffer accessors: rename buffer->out_length to buffer->out_len
2010-05-14 22:08:22 -04:00
Behdad Esfahbod
6960350be9
Shortening buffer accessors: rename buffer->in_length to buffer->len
2010-05-14 22:07:46 -04:00
Behdad Esfahbod
1b621823f3
Shortening buffer accessors: rename buffer->positions to buffer->pos
2010-05-14 22:05:53 -04:00
Behdad Esfahbod
9d5e26df08
Shortening buffer accessors: rename buffer->out_string to buffer->out_info
2010-05-14 22:03:11 -04:00
Behdad Esfahbod
7e7007a1c9
Shortening buffer accessors: rename buffer->in_string to buffer->info
2010-05-14 22:02:37 -04:00
Behdad Esfahbod
8e6b6bb293
Merge buffer->out_pos and buffer->out_length
2010-05-14 21:58:22 -04:00
Behdad Esfahbod
22f668eb9a
Remove the unused BUFFER macro
2010-05-14 21:41:04 -04:00
Behdad Esfahbod
7e53ebe478
Remove the IN_CURGLYPH() macro
2010-05-14 21:38:46 -04:00
Behdad Esfahbod
d784da1923
Remove the IN_CURINFO() macro
2010-05-14 21:37:18 -04:00
Behdad Esfahbod
281f59b4fb
Remove IN_INFO() and IN_NEXTGLYPH() macros
2010-05-14 21:34:22 -04:00
Behdad Esfahbod
6e489cdf76
Remove the IN_GLYPH() macro
2010-05-14 21:07:35 -04:00
Behdad Esfahbod
01feb74c78
Remove the IN_CLUSTER() macro
2010-05-14 21:00:08 -04:00
Behdad Esfahbod
d63a1e089a
Remove the IN_MASK() macro
2010-05-14 20:30:07 -04:00
Behdad Esfahbod
89e2834dab
Remove the IN_LIGID() macro
2010-05-14 20:26:44 -04:00
Behdad Esfahbod
4a871041f4
Remove IN_COMPONENT() macro
2010-05-14 20:25:04 -04:00
Behdad Esfahbod
27da6dd89a
Remove OUT_GLYPH() and OUT_INFO() macros
2010-05-14 20:17:50 -04:00
Behdad Esfahbod
cc6ae7ff91
Fix lookahead matching. Oops!
2010-05-14 20:09:48 -04:00
Behdad Esfahbod
3109375b84
Remove POSITION() and CURPOSITION() macros
2010-05-14 19:55:27 -04:00
Behdad Esfahbod
d7cfb3b2d1
s/\<context\>/c/g
2010-05-13 14:18:49 -04:00
Behdad Esfahbod
f679635893
Don't use variable-length-arrays
2010-05-13 13:34:17 -04:00
Behdad Esfahbod
72071a8afa
Add a few more buffer convenience methods
2010-05-13 13:22:24 -04:00
Behdad Esfahbod
11a81612e5
Minor
2010-05-13 00:01:40 -04:00
Behdad Esfahbod
3f93518a63
Improve check for internal symbols
2010-05-12 23:48:40 -04:00
Behdad Esfahbod
357d0f29c4
Make HB_PRIVATE more useful
...
So we can apply it to class methods also. Not sure if that works!
2010-05-12 23:46:16 -04:00
Behdad Esfahbod
1d5e780136
Add a few other buffer methods
2010-05-12 23:43:00 -04:00
Behdad Esfahbod
d0316a81f5
Add buffer->swap()
2010-05-12 23:34:52 -04:00
Behdad Esfahbod
3b649a38b5
Add check for internal symbols
2010-05-12 23:28:38 -04:00
Behdad Esfahbod
eee8598d75
Hide internal symbols
2010-05-12 23:22:55 -04:00
Behdad Esfahbod
8951fc2c82
Add buffer->allocate_lig_id()
2010-05-12 23:13:39 -04:00
Behdad Esfahbod
1ce4dc95db
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.
2010-05-12 18:29:25 -04:00
Behdad Esfahbod
22da7fd94d
Rename a few files to be C++ sources
...
In anticipation for buffer revamp coming.
2010-05-12 18:23:21 -04:00
Behdad Esfahbod
c3df649f25
Fix comment
2010-05-11 13:54:12 -04:00
Behdad Esfahbod
281f08954a
Remove obsolete friend
2010-05-11 11:37:58 -04:00
Behdad Esfahbod
70c9bfd564
Simplify PairSet
2010-05-11 00:36:30 -04:00
Behdad Esfahbod
97e7f8f305
Add CONST_FUNC annotation
2010-05-11 00:11:36 -04:00
Behdad Esfahbod
494d28ad98
Simplify likely() implementation
...
Shrinks .text by 1%!
2010-05-10 23:50:07 -04:00
Behdad Esfahbod
75651b2087
Fix warnings
2010-05-10 23:44:51 -04:00
Behdad Esfahbod
4c20d8c057
Sprinkle a few strategic likely()'s
...
Shrinks the code size by some 2% even.
2010-05-10 23:27:54 -04:00
Behdad Esfahbod
69cb28bc13
Remove a few likely()'s
2010-05-10 23:13:08 -04:00
Behdad Esfahbod
24552ecf92
Remove excess sub_format sanitize
2010-05-10 23:08:41 -04:00
Behdad Esfahbod
f7adc5e9be
Shrink NullPool now that we have accurate size tracking
2010-05-10 22:41:50 -04:00
Behdad Esfahbod
3d44fb6f15
Fix warning
2010-05-10 22:22:54 -04:00
Behdad Esfahbod
b5db4f1e4e
Clean up NO_INDEX
2010-05-10 22:22:22 -04:00
Behdad Esfahbod
fe9bc070e1
Fix awful confusion between lookup format and subtable format
...
As reported by John Daggett.
2010-05-10 21:39:24 -04:00
Behdad Esfahbod
458ecbb60b
Fix tracing order
2010-05-10 21:11:35 -04:00
Behdad Esfahbod
48146e5612
Don't fail sanitize on NULL data
2010-05-10 20:07:56 -04:00
Behdad Esfahbod
d2c2ca8faf
Fix comment
2010-05-10 19:58:25 -04:00
Behdad Esfahbod
b435ab7e29
Fix accessing tables from NULL pointer
2010-05-10 19:51:57 -04:00
Behdad Esfahbod
dacebcadae
Simplify unions
2010-05-10 19:45:41 -04:00
Behdad Esfahbod
fd671e0243
Remove unused macro
2010-05-10 19:02:32 -04:00
Behdad Esfahbod
0eb9fc6e37
Change DEFINE_SIZE_VAR to DEFINE_SIZE_ARRAY
2010-05-10 19:01:17 -04:00
Behdad Esfahbod
596e471aa5
Cleanup DEFINE_SIZE_VAR2
2010-05-10 18:48:29 -04:00
Behdad Esfahbod
33afa4e2dc
Minor
2010-05-10 18:35:02 -04:00
Behdad Esfahbod
b961518b96
Simplify array access
2010-05-10 18:20:54 -04:00
Behdad Esfahbod
54842374c2
Fix check_struct to check min_size instead of sizeof
2010-05-10 18:13:32 -04:00
Behdad Esfahbod
ed07422c33
Further cleanup of sizeof
2010-05-10 18:08:46 -04:00
Behdad Esfahbod
a82ef7a893
Remove CastP completely
2010-05-10 17:55:03 -04:00
Behdad Esfahbod
40cbefe858
Remove unnecessary casts
2010-05-10 17:47:22 -04:00
Behdad Esfahbod
09766b1ec5
Make StructAtOffset take a pointer
...
Is safer.
2010-05-10 17:36:03 -04:00
Behdad Esfahbod
bea34c7cbb
Further cleanup of DEFINE_SIZE
2010-05-10 17:28:16 -04:00
Behdad Esfahbod
0abcc3b48c
Cleanup
2010-05-10 17:04:20 -04:00
Behdad Esfahbod
b3651231bf
Remove ASSERT_SIZE in favor of the safer DEFINE_SIZE_STATIC
2010-05-10 16:59:57 -04:00
Behdad Esfahbod
569da92bc6
Cleanup ASSERT_SIZE_VAR
2010-05-10 16:46:36 -04:00
Behdad Esfahbod
99bf03459f
Whitespace
2010-05-06 19:37:32 -04:00
Behdad Esfahbod
65f46b0033
Simplify DEFINE_NULL_DATA
...
Using ::min_size.
2010-05-06 19:35:19 -04:00