Behdad Esfahbod [Fri, 9 Oct 2015 18:23:15 +0000 (14:23 -0400)]
Fix another sanitize bug
Also discovered by "libFuzzer".
Behdad Esfahbod [Fri, 9 Oct 2015 16:34:02 +0000 (12:34 -0400)]
Add test for previous fix
Behdad Esfahbod [Fri, 9 Oct 2015 16:25:55 +0000 (12:25 -0400)]
Fix return value of sanitize when subformat is not readable
This is a fix on top of the previous issue fixed in
c917965b9e6fe2b21ed6c51559673288fa3af4b7.
This was caught by "libFuzzer" testing.
Behdad Esfahbod [Fri, 9 Oct 2015 16:20:58 +0000 (12:20 -0400)]
Add hb_dispatch_context_t
Behdad Esfahbod [Thu, 8 Oct 2015 16:51:02 +0000 (12:51 -0400)]
Add hb_font_set_parent()
No reason to not have it. Makes life easier later.
We (hb-ft, hb-ot-font, etc) can use this API to inject new
parent into a font...
Behdad Esfahbod [Thu, 8 Oct 2015 16:47:15 +0000 (12:47 -0400)]
[ft] Add version for new API
Behdad Esfahbod [Wed, 7 Oct 2015 21:33:20 +0000 (17:33 -0400)]
[ft] API: Add hb_font_[sg]et_load_flags() API
This changes the default load_flags of fonts created using
hb_ft_font_create() from NO_HINTING to DEFAULT. Hope that doesn't
break too much client code.
Code calling hb_ft_font_set_funcs() is unaffected.
Behdad Esfahbod [Wed, 7 Oct 2015 21:33:02 +0000 (17:33 -0400)]
Minor
Behdad Esfahbod [Sat, 3 Oct 2015 12:20:55 +0000 (13:20 +0100)]
Allow compiling with custom allocators
User can define hb_malloc_impl, etc, to name of custom allocator functions
that have the same signature as malloc.
Behdad Esfahbod [Fri, 2 Oct 2015 13:38:20 +0000 (14:38 +0100)]
Default font scale to face upem
Makes for a better default and avoids nasty inheritance issues.
See mailing list thread "Default hb_font_t scale".
Behdad Esfahbod [Fri, 2 Oct 2015 13:21:29 +0000 (14:21 +0100)]
Make hb_font_create_sub_font() NOT make parent immutable
We don't rely on that. However, whenever hb_font_make_immutable()
is called, it makes its parenting chain immutable.
Behdad Esfahbod [Fri, 2 Oct 2015 07:21:12 +0000 (08:21 +0100)]
Fix hb-ot-shape-normalize with empty buffer
Part of https://github.com/behdad/harfbuzz/issues/136
Behdad Esfahbod [Fri, 2 Oct 2015 07:02:29 +0000 (08:02 +0100)]
Replace a couple of malloc()s with calloc()
Behdad Esfahbod [Fri, 2 Oct 2015 06:25:52 +0000 (07:25 +0100)]
Fix segfault with empty buffer in hb_shape_plan_execute()
Move the empty-buffer check from hb_shape_full() to hb_shape_plan_execute().
Reported by Simon Cozens.
Behdad Esfahbod [Wed, 30 Sep 2015 21:51:16 +0000 (22:51 +0100)]
1.0.4
Behdad Esfahbod [Tue, 29 Sep 2015 13:57:02 +0000 (14:57 +0100)]
Define return_trace()
Not functional change (expected!).
Behdad Esfahbod [Tue, 29 Sep 2015 13:45:35 +0000 (14:45 +0100)]
Add missing returns
Fixes possible invalid read of two bytes.
Reported by Behzad Najjarpour Jabbari, Secunia Research.
Behdad Esfahbod [Tue, 29 Sep 2015 13:34:56 +0000 (14:34 +0100)]
Micro-optimize hb_language_from_string()
As measured / improved by Benson Limketkai.
Sascha Brawer [Sun, 28 Jun 2015 01:29:47 +0000 (03:29 +0200)]
Handle language tags that indicate phonetic IPA transcription
The BCP-47 registry defines a variant subtag "fonipa" that can be used
in combination with arbitrary other language tags. For example,
"rm-CH-fonipa-sursilv" indicates the Sursilvan dialect of Romansh
as used in Switzerland, transcribed used the International Phonetic
Alphabet.
http://www.iana.org/assignments/language-subtag-registry/language-subtag-registry
Behdad Esfahbod [Thu, 3 Sep 2015 11:23:22 +0000 (15:53 +0430)]
Fix Since tags
Fixes https://github.com/behdad/harfbuzz/issues/103
Behdad Esfahbod [Thu, 3 Sep 2015 10:25:59 +0000 (14:55 +0430)]
Fix Since: version tags on font and face APIs
A while back we marked every API as version:1.0. We should fix them all
to reflect real version they were introduced. This is a start.
Patch from Nikolay Sivov.
Behdad Esfahbod [Tue, 1 Sep 2015 16:03:50 +0000 (17:03 +0100)]
1.0.3
Behdad Esfahbod [Tue, 1 Sep 2015 15:26:35 +0000 (16:26 +0100)]
[indic] Add comments to merge_clusters calls
Behdad Esfahbod [Tue, 1 Sep 2015 15:24:54 +0000 (16:24 +0100)]
[thai] Respect cluster-level > 0
Behdad Esfahbod [Tue, 1 Sep 2015 15:24:34 +0000 (16:24 +0100)]
[use] Merge /before/ reordering
Behdad Esfahbod [Tue, 1 Sep 2015 15:24:13 +0000 (16:24 +0100)]
[hangul] Merge /before/ reordering
Behdad Esfahbod [Tue, 1 Sep 2015 15:23:40 +0000 (16:23 +0100)]
[OT] Merge /before/ reordering
Behdad Esfahbod [Tue, 1 Sep 2015 15:15:25 +0000 (16:15 +0100)]
[myanmar] Use buffer->sort() to sort cluster
This can possibly produce more granular clusters.
Behdad Esfahbod [Tue, 1 Sep 2015 15:13:32 +0000 (16:13 +0100)]
[OT] Merge clusters when reordering marks for normalization
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=541608
and cluster test.
Behdad Esfahbod [Tue, 1 Sep 2015 15:12:44 +0000 (16:12 +0100)]
[tests] Add Hebrew test for normalization under cluster-level=1
Currently fails.
https://bugzilla.gnome.org/show_bug.cgi?id=541608
Behdad Esfahbod [Tue, 1 Sep 2015 15:11:27 +0000 (16:11 +0100)]
Minor
Behdad Esfahbod [Tue, 1 Sep 2015 14:07:52 +0000 (15:07 +0100)]
Use insertion-sort instead of bubble-sort
Needed for upcoming merge-clusters fix.
Behdad Esfahbod [Tue, 1 Sep 2015 13:45:46 +0000 (14:45 +0100)]
Minor
Behdad Esfahbod [Mon, 31 Aug 2015 18:41:01 +0000 (19:41 +0100)]
Update git.mk from upstream
Behdad Esfahbod [Mon, 31 Aug 2015 18:18:10 +0000 (19:18 +0100)]
[docs] Move docs/reference/ contents into docs/
Behdad Esfahbod [Mon, 31 Aug 2015 18:16:41 +0000 (19:16 +0100)]
[docs] Fix out-of-tree build
Behdad Esfahbod [Mon, 31 Aug 2015 09:46:01 +0000 (10:46 +0100)]
Merge pull request #131 from simoncozens/docs
Use gtk-doc to build user's manual as well as reference
Simon Cozens [Mon, 31 Aug 2015 09:40:17 +0000 (10:40 +0100)]
Combine user / reference information into gtk-doc generated manual.
Simon Cozens [Mon, 31 Aug 2015 09:39:10 +0000 (10:39 +0100)]
Correct tag hierarchy, to allow for table-of-contents entries.
Simon Cozens [Mon, 31 Aug 2015 09:31:09 +0000 (10:31 +0100)]
Missing tag (oops).
Behdad Esfahbod [Mon, 31 Aug 2015 09:12:05 +0000 (10:12 +0100)]
[docs] Fix typo
Behdad Esfahbod [Mon, 31 Aug 2015 08:53:16 +0000 (09:53 +0100)]
Merge pull request #129 from simoncozens/docs
First two chapters. More to follow.
Behdad Esfahbod [Sun, 30 Aug 2015 16:33:04 +0000 (17:33 +0100)]
[test] Fix test-object
See previous commit.
Behdad Esfahbod [Sun, 30 Aug 2015 16:29:21 +0000 (17:29 +0100)]
Poison freed objects such that double-free is detected
Previously we were setting refcount of freed objects to the inert value, which
was harmful because it caused further destroy()s of the freed object to NOT
call free() and hence hide the bug. Indeed, after
eb0bf3ae6688b7 test-object
was double-free'ing objects and this was never caught on Linux. It only was
caught as crashing on Mac.
Now we poison refcount upon freeing and check that it's valid whenever reading
it. Makes test-object fail now.
Simon Cozens [Sat, 29 Aug 2015 07:21:18 +0000 (08:21 +0100)]
Current state and skeleton outline
Behdad Esfahbod [Tue, 25 Aug 2015 19:24:59 +0000 (20:24 +0100)]
[GPOS] Fix cursive connection with mix of RTL and non-RTL lookups
See thread "Issue with cursive attachment" started by Khaled.
Turned out fixing this wasn't as bad as I had assumed. I like the
new code better; we now have a theoretical model of cursive
connections that is easier to reason about.
Behdad Esfahbod [Tue, 25 Aug 2015 19:28:39 +0000 (20:28 +0100)]
[test] Add test for cursive-positioning with mixed directions
Fails now. Fix coming. See thread "Issue with cursive attachment"
started by Khaled. Test fonts were made by modifying test font
from Khaled to add more anchors.
Simon Cozens [Tue, 25 Aug 2015 18:57:15 +0000 (19:57 +0100)]
First two chapters. More to follow.
Behdad Esfahbod [Tue, 25 Aug 2015 17:55:34 +0000 (18:55 +0100)]
[GPOS] Rewrite cursive attachment slightly differently
In anticipation for upcoming fix for bug reported by
Khaled in thread "Issue with cursive attachment".
Behdad Esfahbod [Mon, 24 Aug 2015 12:49:55 +0000 (13:49 +0100)]
Add API/cmdline to show glyph extents when serializing buffer
New API: HB_BUFFER_SERIALIZE_FLAG_GLYPH_EXTENTS
hb-shape now accepts --show-extents.
Patch from Simon Cozens.
Behdad Esfahbod [Mon, 24 Aug 2015 12:45:12 +0000 (13:45 +0100)]
[ot-font] Fix short-offset calculation
Behdad Esfahbod [Sun, 23 Aug 2015 13:42:20 +0000 (14:42 +0100)]
[ot-font] Implement glyph_extents() for TrueType fonts
This brings ot-fonts into almost-complete shape and mostly in par with
ft font.
Behdad Esfahbod [Fri, 21 Aug 2015 11:44:36 +0000 (12:44 +0100)]
Make BYTE a real type
Behdad Esfahbod [Thu, 20 Aug 2015 14:39:53 +0000 (15:39 +0100)]
[coretext] Use i32 instead of u32 as well
Shouldn't cause *any* functional changes, but is more correct.
Behdad Esfahbod [Thu, 20 Aug 2015 14:39:06 +0000 (15:39 +0100)]
[uniscribe] Fix negative offsets
Ouch!
Behdad Esfahbod [Wed, 19 Aug 2015 12:39:57 +0000 (13:39 +0100)]
1.0.2
Behdad Esfahbod [Wed, 19 Aug 2015 12:22:12 +0000 (13:22 +0100)]
[coretext] Add TODO item
Behdad Esfahbod [Wed, 19 Aug 2015 12:20:31 +0000 (13:20 +0100)]
[uniscribe] Fix font scale handling
By default shape at upem (or ppem), and scale results.
Similar to work done in CoreText backend, but using upem as default.
Behdad Esfahbod [Tue, 18 Aug 2015 17:55:03 +0000 (18:55 +0100)]
Commented-out code to print buffer before each lookup
To be turned into a useful HB_DEBUG_SHAPE infrastructure...
Behdad Esfahbod [Tue, 18 Aug 2015 17:47:02 +0000 (18:47 +0100)]
Allow serializing buffer with output-buffer being used
Ie, don't call get_positions() if positions are not
requested for serialization.
Behdad Esfahbod [Tue, 18 Aug 2015 17:42:47 +0000 (18:42 +0100)]
[ot] Change buffer content type right after we map to glyphs
Needed for upcoming debug output changes.
Behdad Esfahbod [Tue, 18 Aug 2015 16:33:34 +0000 (17:33 +0100)]
[Android.mk] Update for SEA removal and USE addition
Behdad Esfahbod [Tue, 18 Aug 2015 14:55:09 +0000 (15:55 +0100)]
Don't declare dependency on freetype in harfbuzz.pc
See comments.
Behdad Esfahbod [Tue, 18 Aug 2015 13:36:43 +0000 (14:36 +0100)]
[debug] Print lookup index in debug-apply output
Behdad Esfahbod [Tue, 18 Aug 2015 09:22:16 +0000 (10:22 +0100)]
[coretext] Remove assert that kicks in on Mac OS 10.6
http://crbug.com/419769
Behdad Esfahbod [Mon, 17 Aug 2015 14:03:28 +0000 (16:03 +0200)]
Remove unused function
Behdad Esfahbod [Tue, 11 Aug 2015 10:58:49 +0000 (12:58 +0200)]
Add Libs.private and Requires.private to harfbuzz.pc
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=64501
jfkthame [Fri, 7 Aug 2015 16:55:03 +0000 (17:55 +0100)]
Don't rely on .cluster in _hb_ot_shape_normalize()
Fixes https://github.com/behdad/harfbuzz/pull/124
jfkthame [Fri, 7 Aug 2015 16:51:28 +0000 (17:51 +0100)]
Don't rely on .cluster field in fallback_position
Fixes tests/cluster.
Fixes https://github.com/behdad/harfbuzz/pull/123
Behdad Esfahbod [Sat, 8 Aug 2015 16:02:18 +0000 (18:02 +0200)]
[tests] Add test for fallback positioning with cluster_level > 0
For https://github.com/behdad/harfbuzz/pull/123
Currently fails. Fix coming.
Behdad Esfahbod [Fri, 7 Aug 2015 09:13:27 +0000 (11:13 +0200)]
Bug 91559 - HarfBuzz 1.0.1: Inconsistent DLL files specified/created...
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=91559
Behdad Esfahbod [Mon, 3 Aug 2015 19:47:18 +0000 (22:47 +0300)]
Merge pull request #122 from RomainNaour/static-fix
fix static linking with icu-uc
Romain Naour [Wed, 22 Jul 2015 21:26:23 +0000 (23:26 +0200)]
fix static linking with icu-uc
When linking test-unicode statically it needs $(ICU_LIBS)
which contains all required flags.
Especially -lstdc++.
Fixes:
http://autobuild.buildroot.net/results/210/
2107f9dfb39eeb6559fb4271c7af8b39aef521ca/
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Behdad Esfahbod [Mon, 27 Jul 2015 10:17:54 +0000 (12:17 +0200)]
1.0.1
Behdad Esfahbod [Mon, 27 Jul 2015 10:16:02 +0000 (12:16 +0200)]
[USE] Fix out-of-bounds static array access
Behdad Esfahbod [Sun, 26 Jul 2015 21:39:10 +0000 (23:39 +0200)]
1.0.0
Behdad Esfahbod [Sun, 26 Jul 2015 17:40:55 +0000 (19:40 +0200)]
Merge branch 'use'
Behdad Esfahbod [Sun, 26 Jul 2015 17:29:53 +0000 (19:29 +0200)]
0.9.42
Behdad Esfahbod [Sat, 25 Jul 2015 15:36:46 +0000 (17:36 +0200)]
Fix broken sentence
Grigori Goronzy [Wed, 8 Jul 2015 21:28:11 +0000 (23:28 +0200)]
Update UCDN to upstream commit
8af93f30
This adds support for Unicode 8.0 and fixes a bug with wrong properties
for ranges of codepoints.
Behdad Esfahbod [Thu, 23 Jul 2015 12:04:34 +0000 (13:04 +0100)]
[test] Encode Kharoshti text
Ouch!
Behdad Esfahbod [Thu, 23 Jul 2015 12:01:55 +0000 (13:01 +0100)]
[test] Add Batak and Buginese test texts
Behdad Esfahbod [Thu, 23 Jul 2015 11:59:17 +0000 (12:59 +0100)]
[test] Remove shaper-sea texts under shaper-use
Behdad Esfahbod [Thu, 23 Jul 2015 11:58:21 +0000 (12:58 +0100)]
[test] Remove New Tai Lue texts
New Tai Lue changed encoding to visual, boring, model.
Behdad Esfahbod [Thu, 23 Jul 2015 11:50:48 +0000 (12:50 +0100)]
[test] Add tests for improved 'vert' feature
Behdad Esfahbod [Thu, 23 Jul 2015 11:49:09 +0000 (12:49 +0100)]
[test] Add recently added test
Ouch.
Behdad Esfahbod [Thu, 23 Jul 2015 11:14:03 +0000 (12:14 +0100)]
[test] Support additional options to hb-shape in micro-test suite
Behdad Esfahbod [Thu, 23 Jul 2015 10:52:11 +0000 (11:52 +0100)]
[ot] Search globally for 'vert' feature if not found in specified script/lang
Fixes https://github.com/behdad/harfbuzz/issues/63
Behdad Esfahbod [Thu, 23 Jul 2015 10:32:59 +0000 (11:32 +0100)]
[ot] Minor
Behdad Esfahbod [Thu, 23 Jul 2015 09:11:35 +0000 (10:11 +0100)]
Minor debug output fix
Behdad Esfahbod [Thu, 23 Jul 2015 09:08:48 +0000 (10:08 +0100)]
Add missing TRACE_RETURN
Behdad Esfahbod [Thu, 23 Jul 2015 09:07:21 +0000 (10:07 +0100)]
[ot] Add missing return!
Behdad Esfahbod [Wed, 22 Jul 2015 17:44:59 +0000 (18:44 +0100)]
Add test case for deleting default ignorables with positioning
Behdad Esfahbod [Wed, 22 Jul 2015 17:41:10 +0000 (18:41 +0100)]
Fix hide-default-ignorables after
f0010dfd01ef4a927b0bdc175dd4e343a8637174
We can't delete things before hb_ot_layout_position_finish(). So,
just zero the advance before it, and remove later.
Behdad Esfahbod [Wed, 22 Jul 2015 17:28:39 +0000 (18:28 +0100)]
Fix hide-ignorables if font doesn't have space glyph
Was broken by
82b521aeb7cc73879b44ca4278d6fa8b4347527f, as we have
positioning data by then and can't use the output buffer. Ouch!
Behdad Esfahbod [Wed, 22 Jul 2015 16:41:31 +0000 (17:41 +0100)]
Refactor _hb_glyph_info_is_default_ignorable()
Behdad Esfahbod [Wed, 22 Jul 2015 16:36:23 +0000 (17:36 +0100)]
[ot] Hide default-ignorables before finishing off positioning
For example, fixes the following sequence with Arial XP:
628 25cc 651 25cc 64e 3a 20 628 651 34f 64e
628 25cc 64e 25cc 651 3a 20 628 64e 34f 651
Discovered as part of:
https://bugs.freedesktop.org/show_bug.cgi?id=85873
Behdad Esfahbod [Wed, 22 Jul 2015 15:51:12 +0000 (16:51 +0100)]
Implement more granular cluster-merging
TODO: Documentation.
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=71445
Behdad Esfahbod [Wed, 22 Jul 2015 14:49:08 +0000 (15:49 +0100)]
[ot] Don't rely on cluster numbers for ensure_native_direction()
Behdad Esfahbod [Wed, 22 Jul 2015 14:42:20 +0000 (15:42 +0100)]
[ot] Simplify form_clusters()