Behdad Esfahbod [Sat, 29 May 2010 00:41:20 +0000 (20:41 -0400)]
Fix global feature handling
Behdad Esfahbod [Sat, 29 May 2010 00:37:06 +0000 (20:37 -0400)]
Simplify mask allocation
Behdad Esfahbod [Sat, 29 May 2010 00:21:47 +0000 (20:21 -0400)]
Towards a mask allocator
Behdad Esfahbod [Fri, 28 May 2010 22:31:16 +0000 (18:31 -0400)]
Allow disabling default features
Patch from Jonathan Kew
Behdad Esfahbod [Thu, 27 May 2010 18:04:15 +0000 (14:04 -0400)]
Add note about UTF-8 decoder
Behdad Esfahbod [Thu, 27 May 2010 15:42:34 +0000 (11:42 -0400)]
Fix loop
Martin Hosken [Thu, 27 May 2010 09:09:04 +0000 (10:09 +0100)]
Fixes to Python and Graphite from Martin
Behdad Esfahbod [Thu, 27 May 2010 15:39:19 +0000 (11:39 -0400)]
Disable Graphite as it crashes all over the place...
Behdad Esfahbod [Wed, 26 May 2010 20:22:00 +0000 (16:22 -0400)]
Cypriot is RTL
Behdad Esfahbod [Wed, 26 May 2010 14:48:10 +0000 (10:48 -0400)]
Revert "Merge remote branch 'martin/master'"
This reverts commit
80af2812fb3b231ddcb4608ec13c6038a681c818, reversing
changes made to
c442672ec2fb83ed41f3994b3aa4f92a097664ab.
Behdad Esfahbod [Mon, 24 May 2010 17:14:24 +0000 (18:14 +0100)]
Merge remote branch 'martin/master'
Behdad Esfahbod [Mon, 24 May 2010 17:02:32 +0000 (18:02 +0100)]
Fix struct initializers
Behdad Esfahbod [Mon, 24 May 2010 17:01:09 +0000 (18:01 +0100)]
Minor
Behdad Esfahbod [Mon, 24 May 2010 16:50:19 +0000 (17:50 +0100)]
Make sure we initialize all callbacks upon creation
Also fixes issue with unicode callbacks never being set really.
Behdad Esfahbod [Mon, 24 May 2010 16:46:21 +0000 (17:46 +0100)]
Move all callback functions in a vtable structs
Martin Hosken [Mon, 24 May 2010 12:25:37 +0000 (13:25 +0100)]
hb-graphite now no longer has -ve advances within clusters. Fix infinite loop in tag_to_script(). python fixed to use tag_to_script and allow hbtestfont to be passed font files, where fontconfig knows about them.
Martin Hosken [Sat, 22 May 2010 19:19:00 +0000 (20:19 +0100)]
Tidy up hbtestfont and add README
Martin Hosken [Sat, 22 May 2010 18:58:00 +0000 (19:58 +0100)]
Add fontconfig to hbtestfont
Martin Hosken [Sat, 22 May 2010 08:38:02 +0000 (09:38 +0100)]
Merge branch 'master' of git://git.freedesktop.org/~behdad/harfbuzz-ng
Martin Hosken [Fri, 21 May 2010 23:56:40 +0000 (00:56 +0100)]
Add graphical output to hbtestfont
Behdad Esfahbod [Fri, 21 May 2010 17:24:34 +0000 (18:24 +0100)]
Move mirroring around a bit
Behdad Esfahbod [Fri, 21 May 2010 17:06:35 +0000 (18:06 +0100)]
Add a few more standard features
Behdad Esfahbod [Fri, 21 May 2010 16:59:04 +0000 (17:59 +0100)]
Add note
Behdad Esfahbod [Fri, 21 May 2010 16:58:20 +0000 (17:58 +0100)]
Add rtlm
Behdad Esfahbod [Fri, 21 May 2010 16:53:10 +0000 (17:53 +0100)]
Add ltra, ltrm, and rtla features
Behdad Esfahbod [Fri, 21 May 2010 16:31:45 +0000 (17:31 +0100)]
Cleanup bitmask allocation
Behdad Esfahbod [Fri, 21 May 2010 15:43:17 +0000 (16:43 +0100)]
Add note
Martin Hosken [Fri, 21 May 2010 14:16:43 +0000 (15:16 +0100)]
Rename Grxxx to HbGrxxx
Martin Hosken [Fri, 21 May 2010 14:01:37 +0000 (15:01 +0100)]
Rename classes from Grxxx to HbGrxxx
Behdad Esfahbod [Fri, 21 May 2010 14:12:52 +0000 (15:12 +0100)]
Add hb-ot-shape.h, oops.
Behdad Esfahbod [Fri, 21 May 2010 13:42:11 +0000 (14:42 +0100)]
Fix Makefile to install hb-ot-shape.h
Behdad Esfahbod [Fri, 21 May 2010 13:37:47 +0000 (14:37 +0100)]
Simple renames
Behdad Esfahbod [Fri, 21 May 2010 13:37:28 +0000 (14:37 +0100)]
Graphite also forces us to link to libstdc++ currently
Behdad Esfahbod [Fri, 21 May 2010 13:34:23 +0000 (14:34 +0100)]
Move main shaper code into hb_ot_shape()
Behdad Esfahbod [Fri, 21 May 2010 13:20:48 +0000 (14:20 +0100)]
Fix test failing
Behdad Esfahbod [Fri, 21 May 2010 13:18:08 +0000 (14:18 +0100)]
Fix warnings
Behdad Esfahbod [Fri, 21 May 2010 13:02:20 +0000 (14:02 +0100)]
Import Graphite shaping backend by Martin Hosken
Behdad Esfahbod [Fri, 21 May 2010 12:51:29 +0000 (13:51 +0100)]
Update the Python module
Behdad Esfahbod [Fri, 21 May 2010 12:43:49 +0000 (13:43 +0100)]
Add hb_tag_from_string()
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.