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.
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.
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()
Behdad Esfahbod [Wed, 22 Jul 2015 14:24:26 +0000 (15:24 +0100)]
[ot] Don't mirror character if font doesn't support mirrored character!
Behdad Esfahbod [Wed, 22 Jul 2015 13:28:25 +0000 (14:28 +0100)]
[graphite2] Fix bunch of stuff
Based on patch from Martin Hosken, with review from Jonathan and I.
Behdad Esfahbod [Wed, 22 Jul 2015 12:53:45 +0000 (13:53 +0100)]
[graphite2] Enlarge buffer for output glyphs!
Behdad Esfahbod [Wed, 22 Jul 2015 12:27:06 +0000 (13:27 +0100)]
[USE] Implement topographical features for non-Arabic-joining scripts
This works per-syllable as per the spec, but we think it should be per
spacing/base/??? glyph instead.
Behdad Esfahbod [Wed, 22 Jul 2015 11:02:09 +0000 (12:02 +0100)]
Use foreach_cluster in Indic shaper
Behdad Esfahbod [Wed, 22 Jul 2015 10:58:11 +0000 (11:58 +0100)]
Use foreach_syllable in Myanmar shaper
Behdad Esfahbod [Wed, 22 Jul 2015 10:54:02 +0000 (11:54 +0100)]
Add foreach_syllable
Use it in USE.
Behdad Esfahbod [Wed, 22 Jul 2015 10:16:01 +0000 (11:16 +0100)]
[USE] Do Arabic-like shaping
Behdad Esfahbod [Wed, 22 Jul 2015 09:32:30 +0000 (10:32 +0100)]
Add hb-ot-shape-complex-arabic-private.hh
Behdad Esfahbod [Tue, 21 Jul 2015 17:24:21 +0000 (18:24 +0100)]
[USE] Only reorder the first component of a split left mark
Behdad Esfahbod [Tue, 21 Jul 2015 17:09:40 +0000 (18:09 +0100)]
[USE] Don't compose split matras
Same logic as in Indic shaper.
Behdad Esfahbod [Tue, 21 Jul 2015 16:47:06 +0000 (17:47 +0100)]
Remove unused SEA shaper
Behdad Esfahbod [Tue, 21 Jul 2015 16:46:06 +0000 (17:46 +0100)]
Retire SEA shaper in favor of USE
Behdad Esfahbod [Tue, 21 Jul 2015 16:31:43 +0000 (17:31 +0100)]
[USE] Only use USE shaper if script system is not DFLT
Same logic as Indic and SEA.
Behdad Esfahbod [Tue, 21 Jul 2015 16:24:18 +0000 (17:24 +0100)]
Route misc untested scripts through USE shaper instead of Indic
These were never tested with Indic shaper, and indeed wouldn't work there
because they didn't have their viramas and other config defined. They are
all also supported by MS through USE, so route them there.
Behdad Esfahbod [Tue, 21 Jul 2015 16:14:54 +0000 (17:14 +0100)]
[USE] Implement dotted-circle
This makes USE feature-complete as far as the Indic-like features
are concerned.
Behdad Esfahbod [Tue, 21 Jul 2015 15:55:26 +0000 (16:55 +0100)]
[USE] Move pref
Behdad Esfahbod [Tue, 21 Jul 2015 15:46:37 +0000 (16:46 +0100)]
[USE] Fix-up variation selectors and word joiner in table
Behdad Esfahbod [Tue, 21 Jul 2015 15:43:27 +0000 (16:43 +0100)]
[USE] Use a couple warnings
Behdad Esfahbod [Tue, 21 Jul 2015 15:07:10 +0000 (16:07 +0100)]
[USE] Move rphf
Behdad Esfahbod [Tue, 21 Jul 2015 14:52:15 +0000 (15:52 +0100)]
Add FLAG_UNSAFE()
Unused right now.
Behdad Esfahbod [Tue, 21 Jul 2015 14:50:02 +0000 (15:50 +0100)]
Add FLAG_SAFE() for values known to be small-enough
And add check to FLAG()
Behdad Esfahbod [Tue, 21 Jul 2015 14:45:48 +0000 (15:45 +0100)]
Add note re ASSERT_STATIC_EXPR_ZERO()
Behdad Esfahbod [Tue, 21 Jul 2015 14:17:27 +0000 (15:17 +0100)]
Remove unused macro ASSERT_STATIC_EXPR()
Behdad Esfahbod [Tue, 21 Jul 2015 14:05:35 +0000 (15:05 +0100)]
Use unsigned in FLAG()
Behdad Esfahbod [Tue, 21 Jul 2015 13:51:45 +0000 (14:51 +0100)]
[USE] Use use_category() for rphf/pref memory
Behdad Esfahbod [Tue, 21 Jul 2015 13:15:35 +0000 (14:15 +0100)]
[USE] Hook of rphf and pref custom processing
Still no reordering.
Behdad Esfahbod [Tue, 21 Jul 2015 10:57:23 +0000 (11:57 +0100)]
[USE] Add CGJ to table
Behdad Esfahbod [Tue, 21 Jul 2015 09:24:32 +0000 (10:24 +0100)]
[USE] Set up features
Behdad Esfahbod [Tue, 21 Jul 2015 09:02:04 +0000 (10:02 +0100)]
[USE] Hook up new scripts to USE shaper
Don't reroute scripts that we were routing to other shapers
before (just yet).
Behdad Esfahbod [Tue, 21 Jul 2015 08:31:19 +0000 (09:31 +0100)]
[USE] Remove unused Unicode data enums from USE C++ side
Behdad Esfahbod [Mon, 20 Jul 2015 17:01:10 +0000 (18:01 +0100)]
[USE] Finish converting Unicode positional categories to USE
Even compiles.
Behdad Esfahbod [Mon, 20 Jul 2015 16:00:06 +0000 (17:00 +0100)]
[USE] Map from Unicode data to USE syllabic categories
Positional sub-categories not applied yet.
Behdad Esfahbod [Mon, 20 Jul 2015 14:56:19 +0000 (15:56 +0100)]
[USE] Start moving Unicode-to-USE mapping into Python code
Behdad Esfahbod [Mon, 20 Jul 2015 14:33:25 +0000 (15:33 +0100)]
[USE] Fix Number clusters
The spec wrongly has "H" where "HN" is meant.
Behdad Esfahbod [Mon, 20 Jul 2015 13:24:55 +0000 (14:24 +0100)]
[USE] Start putting together the shaper body
Behdad Esfahbod [Mon, 20 Jul 2015 12:30:51 +0000 (13:30 +0100)]
[USE] Put a Ragel machine together
Grammar from the spec!
Behdad Esfahbod [Mon, 20 Jul 2015 12:30:45 +0000 (13:30 +0100)]
Minor
Behdad Esfahbod [Mon, 20 Jul 2015 11:01:20 +0000 (12:01 +0100)]
[USE] Minor optimization of USE table
Behdad Esfahbod [Mon, 20 Jul 2015 10:57:44 +0000 (11:57 +0100)]
[USE] Add Kharoshti test data from Unicode proposal
Behdad Esfahbod [Mon, 20 Jul 2015 10:46:17 +0000 (11:46 +0100)]
[USE] Build Universal Shaping Engine data table from Unicode 8 files
Behdad Esfahbod [Mon, 20 Jul 2015 10:32:48 +0000 (11:32 +0100)]
[USE] Add Universal Shaping Engine to Makefile
Behdad Esfahbod [Wed, 15 Jul 2015 00:39:57 +0000 (01:39 +0100)]
Update Arabic shaping table for Unicode 8.0
Behdad Esfahbod [Wed, 15 Jul 2015 00:36:39 +0000 (01:36 +0100)]
Add Unicode 8.0 scripts
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1183209
Behdad Esfahbod [Sun, 5 Jul 2015 21:43:17 +0000 (22:43 +0100)]
Fix pragma usage
https://bugs.freedesktop.org/show_bug.cgi?id=91228
Commit
cdcdfe61b97a0a48ccf834b6d924d187da9609be changed two `#pragma
message` to `#pragma error` in hb-unicode.cc, however MSVC uses #error,
just like the #else branch. `#pragma error` is an unknown pragma so
MSVC does not fail the build because of it, which I believe was the
intention of that commit.
If it's meant to be an #error, then the #ifdef for _MSC_VER can be
removed entirely.