Behdad Esfahbod [Wed, 25 May 2011 20:08:06 +0000 (16:08 -0400)]
Release 0.6.0. First official tarball release!
There are no API guarantees just yet, but I *expect* that no
incompatible API changes to happen before 1.0.0.
Update NEWS.
Behdad Esfahbod [Fri, 27 May 2011 07:38:46 +0000 (03:38 -0400)]
[test-common] Test hb_direction_to_string()
Caught by "make check-symbols".
Behdad Esfahbod [Fri, 27 May 2011 07:38:30 +0000 (03:38 -0400)]
[test] Rename test-symbols to check-symbols
Shows undocumented symbols.
Behdad Esfahbod [Fri, 27 May 2011 07:35:58 +0000 (03:35 -0400)]
Hide internal symbols
Behdad Esfahbod [Fri, 27 May 2011 06:46:28 +0000 (02:46 -0400)]
[test/unicode] Fix double-free
Caught by "make check-valgrind".
Behdad Esfahbod [Fri, 27 May 2011 06:44:29 +0000 (02:44 -0400)]
[test] Switch to automake-based test-runner
Adds check-valgrind among other modes. We do not run under gtester by
default anymore.
Behdad Esfahbod [Fri, 27 May 2011 05:33:18 +0000 (01:33 -0400)]
[test] Add test-symbols that checks API symbol text coverage
We're not at 100% coverage yet, so do not enable the test by default.
Behdad Esfahbod [Fri, 27 May 2011 05:00:55 +0000 (01:00 -0400)]
[test/version] Test hb-version.h
Behdad Esfahbod [Wed, 25 May 2011 20:07:07 +0000 (16:07 -0400)]
Add libtool versioning
The versioning is automatic. For now, soname-major is 0. With
the 1.0.0 release it will jump to 1 and stay there forever.
Behdad Esfahbod [Wed, 25 May 2011 18:49:35 +0000 (14:49 -0400)]
Update README, etc
Behdad Esfahbod [Wed, 25 May 2011 18:43:10 +0000 (14:43 -0400)]
[TODO] Add item
Behdad Esfahbod [Wed, 25 May 2011 15:27:33 +0000 (11:27 -0400)]
[API] One last font-funcs API change
Now that vertical text works correctly, I'm doing a last round
modification of the font-funcs API to simplify. Expect no more
changes around here.
Behdad Esfahbod [Wed, 25 May 2011 15:01:32 +0000 (11:01 -0400)]
[test] Update to API changes
Behdad Esfahbod [Wed, 25 May 2011 01:04:15 +0000 (21:04 -0400)]
[Vertical] fix vertical gpos
Wow, it took me a few days to find the right fix!
We now set the advance for attached marks to zero, but we
do this in the _finish() state of gpos, so it shouldn't
regress with fonts like DejaVuSansMono that explicitly
decrease the mark advance width to set it to zero.
Behdad Esfahbod [Wed, 25 May 2011 13:56:06 +0000 (09:56 -0400)]
[TODO] Update
Behdad Esfahbod [Fri, 20 May 2011 19:59:59 +0000 (15:59 -0400)]
[Vertical] GPOS x/y advance adjustments only apply in hori/vert respectively
Behdad Esfahbod [Thu, 19 May 2011 23:19:50 +0000 (19:19 -0400)]
[Vertical] Fix GPOS y-advance direction
Behdad Esfahbod [Thu, 19 May 2011 23:08:57 +0000 (19:08 -0400)]
[Vertical] Do fallback origin calculation
Behdad Esfahbod [Thu, 19 May 2011 22:46:15 +0000 (18:46 -0400)]
[Vertical] GPOS is always done with horizontal origin
Behdad Esfahbod [Thu, 19 May 2011 17:08:00 +0000 (13:08 -0400)]
More vertical
Starting to get there, but not without yet another round of changes.
I think I know wheere to go now.
Behdad Esfahbod [Wed, 18 May 2011 14:17:02 +0000 (10:17 -0400)]
[hb-view] Add --annotate
Currently it only marks glyph origins.
Behdad Esfahbod [Wed, 18 May 2011 03:31:00 +0000 (23:31 -0400)]
Vertical: Adjust origin in glyph_extents() and glyph_contour_point()
The base for vertical is almost ready now.
Behdad Esfahbod [Wed, 18 May 2011 03:27:22 +0000 (23:27 -0400)]
Cosmetic
Behdad Esfahbod [Wed, 18 May 2011 03:23:27 +0000 (23:23 -0400)]
Minor
Behdad Esfahbod [Tue, 17 May 2011 21:55:03 +0000 (17:55 -0400)]
[API] Vertical support, take 2
I like this API *much* better. Implementation still incomplete, but
horizontal works.
Behdad Esfahbod [Mon, 16 May 2011 22:15:37 +0000 (18:15 -0400)]
[API] Add support for vertical text
Design not final yet, and in fact I'm going to change it immediately,
but this is an standalone change for itself.
Behdad Esfahbod [Tue, 17 May 2011 21:08:36 +0000 (17:08 -0400)]
Minor
Behdad Esfahbod [Tue, 17 May 2011 19:05:34 +0000 (15:05 -0400)]
Check for mmap()
Apparently there exist systems with mprotect(), but not mmap()?
Behdad Esfahbod [Mon, 16 May 2011 20:20:48 +0000 (16:20 -0400)]
Cosmetic
Behdad Esfahbod [Mon, 16 May 2011 20:01:58 +0000 (16:01 -0400)]
Remove unnecessary TODO item
Behdad Esfahbod [Mon, 16 May 2011 19:18:16 +0000 (15:18 -0400)]
[hb-view] Start work on vertical support
Behdad Esfahbod [Mon, 16 May 2011 19:08:31 +0000 (15:08 -0400)]
[hb-view] No need to allocate an extra glyph item at the end
Behdad Esfahbod [Mon, 16 May 2011 19:07:48 +0000 (15:07 -0400)]
Minor
Behdad Esfahbod [Mon, 16 May 2011 16:24:56 +0000 (12:24 -0400)]
[test/buffer] Add more tests for nil buffer
Behdad Esfahbod [Sat, 14 May 2011 03:04:46 +0000 (23:04 -0400)]
[test/ot-tag] More tests
Behdad Esfahbod [Sat, 14 May 2011 02:55:32 +0000 (22:55 -0400)]
[API] Add HB_LANGUAGE_INVALID
Behdad Esfahbod [Sat, 14 May 2011 02:46:36 +0000 (22:46 -0400)]
[test/test-ot-tag] Test hb-ot-tag.h, fix many bugs
I'm in awe with how many bugs this test revealed. All fixed.
Behdad Esfahbod [Sat, 14 May 2011 00:25:38 +0000 (20:25 -0400)]
[TODO] Add items
Behdad Esfahbod [Thu, 12 May 2011 21:48:20 +0000 (17:48 -0400)]
[API] Add hb_face_make/is_immutable()
Behdad Esfahbod [Thu, 12 May 2011 19:19:33 +0000 (15:19 -0400)]
Finish off previous change
Behdad Esfahbod [Thu, 12 May 2011 19:14:13 +0000 (15:14 -0400)]
[API] Make get_glyph() callback return a boolean
We need to know whether the glyph exists, so we can fallback to
composing / decomposing. Assuming that glyph==0 means "doesn't exist"
wouldn't work for applications like Pango that want to use different
"doesn't exist" glyph codes for different characters. An explicit
return value fixes that.
Behdad Esfahbod [Thu, 12 May 2011 18:27:44 +0000 (14:27 -0400)]
[test/shape] Check shape output
Behdad Esfahbod [Thu, 12 May 2011 16:39:40 +0000 (12:39 -0400)]
Rename get_kernings() arguments from first/second_glyph to left/right_glyph
Makes it clear that kerning is in visual order.
Behdad Esfahbod [Thu, 12 May 2011 14:53:57 +0000 (10:53 -0400)]
[test] Add test-shape.c. Oops
Behdad Esfahbod [Thu, 12 May 2011 14:49:30 +0000 (10:49 -0400)]
[test/blob] Use MAP_ANON instead of MAP_ANONYMOUS
More portable.
Behdad Esfahbod [Thu, 12 May 2011 05:39:17 +0000 (01:39 -0400)]
[test/shape] Add simplest test for hb_shape()
Behdad Esfahbod [Thu, 12 May 2011 05:19:39 +0000 (01:19 -0400)]
[object] Make object inert during destruction
Such that user_data and other finalizers cannot resurrect object
Behdad Esfahbod [Thu, 12 May 2011 05:02:03 +0000 (01:02 -0400)]
[TODO] Update
Behdad Esfahbod [Thu, 12 May 2011 04:46:57 +0000 (00:46 -0400)]
Fix font subclass chainup
Test passing now.
Behdad Esfahbod [Thu, 12 May 2011 04:35:12 +0000 (00:35 -0400)]
[test/font] Test font_funcs subclassing
Behdad Esfahbod [Thu, 12 May 2011 04:18:28 +0000 (00:18 -0400)]
[test/font] Test empty funcs
Behdad Esfahbod [Thu, 12 May 2011 03:57:36 +0000 (23:57 -0400)]
[test/font] Test more
Behdad Esfahbod [Thu, 12 May 2011 03:31:15 +0000 (23:31 -0400)]
[API] Pass face to get_table()
Behdad Esfahbod [Thu, 12 May 2011 03:25:28 +0000 (23:25 -0400)]
[API] Remove const from font user_data
Behdad Esfahbod [Thu, 12 May 2011 03:22:55 +0000 (23:22 -0400)]
[test/font] More tests
Behdad Esfahbod [Thu, 12 May 2011 03:12:58 +0000 (23:12 -0400)]
[test/font] More tests
Behdad Esfahbod [Thu, 12 May 2011 03:07:47 +0000 (23:07 -0400)]
[test/font] More get_empty() tests
Behdad Esfahbod [Thu, 12 May 2011 03:06:02 +0000 (23:06 -0400)]
[test/font] Test get_face() / get_parent()
Behdad Esfahbod [Thu, 12 May 2011 03:05:02 +0000 (23:05 -0400)]
[test/font] Add test_font_properties()
Behdad Esfahbod [Thu, 12 May 2011 02:52:35 +0000 (22:52 -0400)]
[test/font] Start adding tests for hb-font.h
Behdad Esfahbod [Thu, 12 May 2011 02:49:29 +0000 (22:49 -0400)]
[API] Rename hb_face_create_for_data() to hb_face_create()
Behdad Esfahbod [Thu, 12 May 2011 02:33:13 +0000 (22:33 -0400)]
[API] Add hb_ot_layout_substitute_start/finish()
Behdad Esfahbod [Thu, 12 May 2011 02:23:15 +0000 (22:23 -0400)]
Remove unused hb_set_t
Behdad Esfahbod [Thu, 12 May 2011 02:21:38 +0000 (22:21 -0400)]
Remove hb_static_threadsafe_set_t
Behdad Esfahbod [Thu, 12 May 2011 02:18:31 +0000 (22:18 -0400)]
Use constructor/destructor for hb_ot_shape_plan_t
Behdad Esfahbod [Thu, 12 May 2011 02:00:56 +0000 (22:00 -0400)]
Minor
Behdad Esfahbod [Thu, 12 May 2011 01:31:25 +0000 (21:31 -0400)]
Fix compile with no mutex available
Behdad Esfahbod [Thu, 12 May 2011 01:28:01 +0000 (21:28 -0400)]
Free static mutex'es
Behdad Esfahbod [Thu, 12 May 2011 01:27:52 +0000 (21:27 -0400)]
Streamline mutex stuff
Behdad Esfahbod [Thu, 12 May 2011 01:14:34 +0000 (21:14 -0400)]
Remove unused hb_mutex_trylock()
Behdad Esfahbod [Thu, 12 May 2011 01:12:44 +0000 (21:12 -0400)]
[test] Add tests for _get_empty() funcs
Behdad Esfahbod [Thu, 12 May 2011 01:08:31 +0000 (21:08 -0400)]
[TODO] Update
Behdad Esfahbod [Wed, 11 May 2011 22:14:44 +0000 (18:14 -0400)]
[API] Add hb_*_get_empty() for all objects
Behdad Esfahbod [Wed, 11 May 2011 22:06:12 +0000 (18:06 -0400)]
[API] Add HB_UNTAG()
Useful in C API only.
Behdad Esfahbod [Wed, 11 May 2011 22:02:48 +0000 (18:02 -0400)]
Minor
Behdad Esfahbod [Wed, 11 May 2011 18:30:56 +0000 (14:30 -0400)]
Plug more leaks
All good now.
Behdad Esfahbod [Wed, 11 May 2011 18:19:18 +0000 (14:19 -0400)]
Plug leaks
Behdad Esfahbod [Wed, 11 May 2011 15:55:11 +0000 (11:55 -0400)]
[unicode] Simplify method setting
Behdad Esfahbod [Wed, 11 May 2011 15:48:28 +0000 (11:48 -0400)]
Minor
Behdad Esfahbod [Wed, 11 May 2011 14:31:33 +0000 (10:31 -0400)]
Add maxp table
Not used for anything right now. Will use to get num_glyphs in the future.
Behdad Esfahbod [Wed, 11 May 2011 12:58:21 +0000 (08:58 -0400)]
Minor
Behdad Esfahbod [Wed, 11 May 2011 04:24:34 +0000 (00:24 -0400)]
[API] Change signature of get_contour_point and get_kerning ffuncs
get_contour_point now takes glyph id before point_index.
get_kerning now takes a vector to fill-in.
Behdad Esfahbod [Wed, 11 May 2011 04:15:37 +0000 (00:15 -0400)]
[font] Do user-space conversion when chaining up to parent font
Behdad Esfahbod [Wed, 11 May 2011 04:04:15 +0000 (00:04 -0400)]
Minor
Behdad Esfahbod [Wed, 11 May 2011 04:02:02 +0000 (00:02 -0400)]
Remove hb_ot_layout_context_t, simplify code
Behdad Esfahbod [Wed, 11 May 2011 00:49:02 +0000 (20:49 -0400)]
Make default font-funcs chain-up to the parent
Behdad Esfahbod [Wed, 11 May 2011 00:41:13 +0000 (20:41 -0400)]
[API] Pass down closure user_data to font funcs
Behdad Esfahbod [Wed, 11 May 2011 00:14:44 +0000 (20:14 -0400)]
Whitespace
Behdad Esfahbod [Wed, 11 May 2011 00:04:26 +0000 (20:04 -0400)]
[API] Remove font_funcs func getter functions
Behdad Esfahbod [Wed, 11 May 2011 00:02:49 +0000 (20:02 -0400)]
[API] Add hb_font_create_sub_font() and hb_font_get_parent()
Not quite useful just yet.
Behdad Esfahbod [Tue, 10 May 2011 23:57:00 +0000 (19:57 -0400)]
[font] Fix internal sign of x/y_scale
Should have been done as part of
da975419884a535281745f30f4b32fee0bc8a7a1
Behdad Esfahbod [Tue, 10 May 2011 23:40:44 +0000 (19:40 -0400)]
[API] Remove broken-by-design hb_font_unset_funcs()
Behdad Esfahbod [Tue, 10 May 2011 23:39:32 +0000 (19:39 -0400)]
Add hb_font_make/is_immutable()
Behdad Esfahbod [Tue, 10 May 2011 23:21:07 +0000 (19:21 -0400)]
Fix build without mutex
Behdad Esfahbod [Tue, 10 May 2011 23:18:12 +0000 (19:18 -0400)]
Remove duplicate atomic_int implementation
Behdad Esfahbod [Tue, 10 May 2011 23:12:49 +0000 (19:12 -0400)]
Fix set implementation to be truly threadsafe even with destroy() callbacks
The test/object test is passing again, instead of deadlocking.
Behdad Esfahbod [Tue, 10 May 2011 23:11:27 +0000 (19:11 -0400)]
[test] Always initialize gthread such that our mutex() stuff is tested
Now the test/object test deadlocks as expected. Fix coming.
Behdad Esfahbod [Tue, 10 May 2011 23:00:07 +0000 (19:00 -0400)]
[test/object] Test user_data with destroy() callback that calls user_data
Exposes the non-atomicity of user_data opertaions at this time because
we call finish() while still locked and modifying the object. In fact,
I'm surprised that it doesn't deadlock. It should.
Behdad Esfahbod [Tue, 10 May 2011 21:55:40 +0000 (17:55 -0400)]
Add DOAP file
Behdad Esfahbod [Tue, 10 May 2011 21:48:34 +0000 (17:48 -0400)]
[test/blob] Fix bug in test