Commit Graph

879 Commits

Author SHA1 Message Date
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