Behdad Esfahbod [Wed, 4 Oct 2017 11:06:51 +0000 (13:06 +0200)]
Revert "Treat HAMZA ABOVE similar to SHADD for sorting purposes"
This reverts commit
5a330575768f5a213072230b9ec8faabac9c5737.
Proper fix coming soon.
Behdad Esfahbod [Wed, 4 Oct 2017 09:33:47 +0000 (11:33 +0200)]
Shorthand format controls should not be ignored
Fixes https://github.com/behdad/harfbuzz/issues/503
Behdad Esfahbod [Wed, 4 Oct 2017 09:28:04 +0000 (11:28 +0200)]
Add Chinantec language tags
Fixes https://github.com/behdad/harfbuzz/issues/516
Behdad Esfahbod [Tue, 3 Oct 2017 15:22:43 +0000 (17:22 +0200)]
Fix GPOS v_origin ordering
This should affect mark attachment in vertical text. I have no font to test,
but this sounds the right order.
Noticed while debugging https://github.com/behdad/harfbuzz/issues/532
Behdad Esfahbod [Tue, 3 Oct 2017 14:00:18 +0000 (16:00 +0200)]
[indic] Fix shaping of U+0AFB GUJARATI SIGN SHADDA
Fixes https://github.com/behdad/harfbuzz/issues/552
Behdad Esfahbod [Tue, 3 Oct 2017 13:20:07 +0000 (15:20 +0200)]
[indic] Implement Consonent_With_Stacker
Fixes https://github.com/behdad/harfbuzz/issues/528
Behdad Esfahbod [Tue, 3 Oct 2017 12:57:14 +0000 (14:57 +0200)]
[use] Implement Consonant_With_Stacker
Related to https://github.com/behdad/harfbuzz/issues/528
David Corbett [Tue, 3 Oct 2017 12:07:02 +0000 (08:07 -0400)]
Test Consonant_With_Stacker in Kannada (#530)
Behdad Esfahbod [Tue, 3 Oct 2017 11:46:25 +0000 (13:46 +0200)]
Tweak mark-base attachment
Apparently a base glyph can also become an attached component of a
ligature if the ligature-forming lookup used IgnoreBase. This was
being confused with a non-first component of a MultipleSubst and
hence not matched for mark-attachment. Tweak test to fix.
Fixes https://github.com/behdad/harfbuzz/issues/543
Behdad Esfahbod [Tue, 3 Oct 2017 11:25:44 +0000 (13:25 +0200)]
Behdad Esfahbod [Tue, 3 Oct 2017 11:23:31 +0000 (13:23 +0200)]
Minor
Behdad Esfahbod [Tue, 3 Oct 2017 11:22:07 +0000 (13:22 +0200)]
Make bots happy
Fixes https://github.com/behdad/harfbuzz/issues/551
Behdad Esfahbod [Tue, 3 Oct 2017 11:14:17 +0000 (13:14 +0200)]
Tweak input matching some more
Followup to
8b2c94c43fd335b944d5e5487265706b8e0f9041
Allow matching sequences of marks attached to different ligatures,
as supposedly the base of the subsequent marks were already jumped
over.
Khaled Hosny [Mon, 2 Oct 2017 20:36:14 +0000 (22:36 +0200)]
Print test-suite.log when CI builds fail
Behdad Esfahbod [Mon, 2 Oct 2017 18:28:56 +0000 (20:28 +0200)]
Add test for U+0A51
New Indic numbers are:
BENGALI: 353725 out of 354188 tests passed. 463 failed (0.130722%)
DEVANAGARI: 707307 out of 707394 tests passed. 87 failed (0.0122987%)
GUJARATI: 366355 out of 366457 tests passed. 102 failed (0.0278341%)
GURMUKHI: 60729 out of 60747 tests passed. 18 failed (0.0296311%)
KANNADA: 951201 out of 951913 tests passed. 712 failed (0.0747968%)
KHMER: 299071 out of 299124 tests passed. 53 failed (0.0177184%)
MALAYALAM: 1048136 out of 1048334 tests passed. 198 failed (0.0188871%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271662 out of 271847 tests passed. 185 failed (0.068053%)
TAMIL: 1091754 out of 1091754 tests passed. 0 failed (0%)
TELUGU: 970555 out of 970573 tests passed. 18 failed (0.
00185457%)
Before
71c0a1429db7c7e7e32507be248c9457e1cbfc7d GURMUKHI used to be at 15,
because Uniscribe seems to allow this character standalone, but that looks
wrong.
Behdad Esfahbod [Mon, 2 Oct 2017 18:02:45 +0000 (20:02 +0200)]
Tweak ligature component matching for ligature formation
If two marks want to ligate and they belong to different components of the
same ligature glyph, and said ligature glyph is to be ignored according to
mark-filtering rules, then allow.
Example Burmese senquence:
U+1004,U+103A,U+1039,U+101B,U+103D,U+102D
Test font provided by Norbert Lindenberg.
Fixes https://github.com/behdad/harfbuzz/issues/545
Behdad Esfahbod [Mon, 2 Oct 2017 16:56:10 +0000 (18:56 +0200)]
[indic] Fix shaping of U+0A51
Mark it as matra below to allow the sequence U+0A15, U+0A51, U+0A47.
Oh well...
Fixes https://github.com/behdad/harfbuzz/issues/524
Behdad Esfahbod [Mon, 2 Oct 2017 16:30:05 +0000 (18:30 +0200)]
[ucdn] Oops!
Behdad Esfahbod [Mon, 2 Oct 2017 16:26:52 +0000 (18:26 +0200)]
Remove some really old cruft
Behdad Esfahbod [Mon, 2 Oct 2017 16:22:51 +0000 (18:22 +0200)]
[ucdn] Update README
Behdad Esfahbod [Mon, 2 Oct 2017 16:21:27 +0000 (18:21 +0200)]
[ot] Improve shaper selection heuristic
Behdad Esfahbod [Mon, 2 Oct 2017 16:20:51 +0000 (18:20 +0200)]
[use] Hack to fix shaping of U+1A7F
Fixes https://github.com/behdad/harfbuzz/issues/525
Behdad Esfahbod [Mon, 2 Oct 2017 15:15:46 +0000 (17:15 +0200)]
[ucdn] Update to Unicode 10
Update to commit
c000ebf79c095a7d58cf90090bde5715592c4834
plus this bug-fix: https://github.com/grigorig/ucdn/issues/18
Behdad Esfahbod [Mon, 2 Oct 2017 15:02:39 +0000 (17:02 +0200)]
[use] Update to Unicode 10
Behdad Esfahbod [Mon, 2 Oct 2017 14:36:21 +0000 (16:36 +0200)]
Minor
Behdad Esfahbod [Mon, 2 Oct 2017 14:12:18 +0000 (16:12 +0200)]
Add Unicode 10 scripts
Behdad Esfahbod [Mon, 2 Oct 2017 14:00:31 +0000 (10:00 -0400)]
[indic] Update table to Unicode 10
Behdad Esfahbod [Mon, 2 Oct 2017 13:19:15 +0000 (09:19 -0400)]
[indic] Add test for
1a0a356a0f2b2932581e4fd0437c01c058f4f6d1
https://github.com/behdad/harfbuzz/issues/538
Behdad Esfahbod [Mon, 2 Oct 2017 13:03:16 +0000 (09:03 -0400)]
[indic] Move manual code out of generated table
Behdad Esfahbod [Mon, 2 Oct 2017 12:57:06 +0000 (08:57 -0400)]
[arabic] Update table to Unicode 10 data
Behdad Esfahbod [Mon, 2 Oct 2017 12:49:23 +0000 (08:49 -0400)]
[indic] Categorize U+0980 BENGALI ANJI as placeholder
Fixes https://github.com/behdad/harfbuzz/issues/538
jfkthame [Mon, 2 Oct 2017 12:08:49 +0000 (13:08 +0100)]
[shape-plan] Don't look for a cached plan if variation coords are specified. Fixes #549. (#550)
This is a temporary hack just to avoid incorrect shaping results, pending proper support
for caching shape-plans with variation coordinates.
Behdad Esfahbod [Sun, 1 Oct 2017 16:06:00 +0000 (12:06 -0400)]
Add RELEASING.md to dist
ebraminio [Sun, 1 Oct 2017 16:05:24 +0000 (19:35 +0330)]
Add release checklist (#529)
mhosken [Tue, 26 Sep 2017 18:29:45 +0000 (01:29 +0700)]
Fix missing xscale in rtl graphite unpacking (#541)
* Fix missing xscale in rtl graphite unpacking
* Oops didn't need to mess with yscale
Behdad Esfahbod [Fri, 15 Sep 2017 00:50:35 +0000 (20:50 -0400)]
Use strtod_l() to correctly parse decimal numbers in French & other locales
Test with, eg.:
$ LC_ALL=fr_FR.utf-8 ./hb-view NotoSansArabic-VF.ttf بهداد --variations wght=1.2
Behdad Esfahbod [Sat, 9 Sep 2017 18:21:07 +0000 (11:21 -0700)]
[util] Add a few shorthand forms for commandline options
-o, -O, -u, -v, -V
Behdad Esfahbod [Tue, 5 Sep 2017 18:18:35 +0000 (11:18 -0700)]
1.5.1
Behdad Esfahbod [Tue, 5 Sep 2017 03:14:13 +0000 (20:14 -0700)]
Fix buffer_diff for empty buffers
If buffers are empty, content type should be ignored.
This fixes last of the failing tests: fuzzed.tests. Green again!
Behdad Esfahbod [Tue, 5 Sep 2017 03:04:59 +0000 (20:04 -0700)]
[unsafe-to-break] Fix unsafe-to-break for cluster-level=1
Fixes tests/shaping/tests/cluster.tests
Behdad Esfahbod [Tue, 5 Sep 2017 02:48:52 +0000 (19:48 -0700)]
Minor
Behdad Esfahbod [Sat, 2 Sep 2017 02:09:54 +0000 (19:09 -0700)]
[util] Add --unicodes to hb-view / hb-shape
Fixes https://github.com/behdad/harfbuzz/issues/154
Behdad Esfahbod [Sat, 2 Sep 2017 01:28:47 +0000 (18:28 -0700)]
Minor
Behdad Esfahbod [Fri, 1 Sep 2017 17:46:48 +0000 (10:46 -0700)]
Minor
Behdad Esfahbod [Fri, 1 Sep 2017 17:38:25 +0000 (10:38 -0700)]
Add test accidentally removed in previous commit
Behdad Esfahbod [Fri, 1 Sep 2017 17:34:21 +0000 (10:34 -0700)]
[indic] Treat Consonant_With_Stacker as consonant
Fixes https://github.com/behdad/harfbuzz/issues/528
"Kannada JIHVAMULIYA and UPADHMANIYA insert dotted circles"
Behdad Esfahbod [Thu, 31 Aug 2017 00:28:22 +0000 (17:28 -0700)]
[unsafe-to-break] Mark during fraction-slash formation
Fixes tests/automatic-fractions.tests
Behdad Esfahbod [Thu, 31 Aug 2017 00:25:10 +0000 (17:25 -0700)]
[util] Fix cluster sweeping during --verify
If *I* get this wrong in 2017, I have no idea how others get their head around
cluster math...
Fixes tests/arabic-fallback-shaping.tests
Behdad Esfahbod [Thu, 31 Aug 2017 00:07:29 +0000 (17:07 -0700)]
[util] When --verify fails, return reconstructed shape results
Behdad Esfahbod [Wed, 30 Aug 2017 23:45:06 +0000 (16:45 -0700)]
hb_buffer_diff() tweak
I like to have a mode where CONTAINS_NOTDEF and CONTAINS_DOTTEDCIRCLE are not
returned. Abused a value of -1 for that. hb-shape now uses it. Fixes two
of the six tests failing with --verify in test/shaping/run-tests.sh.
Behdad Esfahbod [Wed, 23 Aug 2017 22:00:45 +0000 (15:00 -0700)]
1.5.0
Behdad Esfahbod [Wed, 23 Aug 2017 21:41:48 +0000 (14:41 -0700)]
[docs] Minor
Behdad Esfahbod [Wed, 23 Aug 2017 21:35:58 +0000 (14:35 -0700)]
[test] Add --verify to hb-shape
Disabled for now. Will enable and fix failures after next release.
Behdad Esfahbod [Wed, 23 Aug 2017 20:12:54 +0000 (13:12 -0700)]
Add hb_glyph_info_get_glyph_flags()
New API.
Behdad Esfahbod [Wed, 23 Aug 2017 00:56:25 +0000 (17:56 -0700)]
Rename HB_BUFFER_DIFF_FLAG_MASK_MISMATCH to HB_BUFFER_DIFF_FLAG_GLYPH_FLAGS_MISMATCH
Behdad Esfahbod [Wed, 16 Aug 2017 00:30:18 +0000 (17:30 -0700)]
[util] Prefix trace lines with "trace:", and error lines with "error:"
Behdad Esfahbod [Wed, 16 Aug 2017 00:12:28 +0000 (17:12 -0700)]
[util] Respect eot/bot in safe-to-break test; hook up hb_buffer_diff()
Behdad Esfahbod [Wed, 16 Aug 2017 00:12:21 +0000 (17:12 -0700)]
Fix warning about "may be used uninitialized"
Emil A Eklund (eae) [Tue, 15 Aug 2017 23:25:18 +0000 (16:25 -0700)]
Fix signed/unsigned warning (#522)
Change hb_buffer_diff to explicitly cast result of abs to unsigned when
comparing with position_fuzz to avoid unsafe signed/unsigned comparions
warnings on windows.
Behdad Esfahbod [Mon, 14 Aug 2017 22:23:10 +0000 (15:23 -0700)]
Minor
Behdad Esfahbod [Mon, 14 Aug 2017 21:49:21 +0000 (14:49 -0700)]
[util] Fix leaks
Behdad Esfahbod [Mon, 14 Aug 2017 19:36:38 +0000 (12:36 -0700)]
Fix typo
Jonathan Kew [Sat, 19 Jul 2014 22:09:09 +0000 (23:09 +0100)]
Add function to compare two buffers
Based on patch from Jonathan Kew.
Needs more cleaning up and documentation.
New API:
hb_buffer_diff_flags_t
hb_buffer_diff()
Behdad Esfahbod [Sun, 13 Aug 2017 22:10:26 +0000 (15:10 -0700)]
[graphite2] Fix warning
Behdad Esfahbod [Sun, 13 Aug 2017 22:08:34 +0000 (15:08 -0700)]
[unsafe-to-break] Mark all positions as unsafe in alternative shapers
Behdad Esfahbod [Sat, 12 Aug 2017 02:51:06 +0000 (19:51 -0700)]
[unsafe-to-break] Towards verifying unsafe-to-break in --verify
We break and shape fragments and reconstruct shape result from them.
Remains to compare to original buffer. Going to add some buffer
comparison API and use here, instead of open-coding.
Behdad Esfahbod [Sat, 12 Aug 2017 02:31:05 +0000 (19:31 -0700)]
Fix hb_buffer_append()
Ouch!
Behdad Esfahbod [Sat, 12 Aug 2017 02:06:07 +0000 (19:06 -0700)]
[unsafe-to-break] Copy flag to all glyphs in a cluster
Makes consumption easier.
Behdad Esfahbod [Sat, 12 Aug 2017 01:24:27 +0000 (18:24 -0700)]
[unsafe-to-break] Mark unsafe is cluster merging is disabled
We were relying on cluster merges not requiring unsafe flagging because
they get merged. If cluster level requests no merging, then we flag
unsafe when merge would have happened.
Behdad Esfahbod [Fri, 11 Aug 2017 22:52:06 +0000 (15:52 -0700)]
New API: hb_buffer_append()
Behdad Esfahbod [Fri, 11 Aug 2017 22:12:25 +0000 (15:12 -0700)]
[util] Add --verify to hb-shape / hb-view that verifies shape results
Right now it checks for monotone cluster values. Other checks to be added.
Behdad Esfahbod [Fri, 11 Aug 2017 18:30:39 +0000 (11:30 -0700)]
[unsafe-to-break] Fix Use-of-uninitialized-value in unsafe_to_break_set_mask
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3011
Behdad Esfahbod [Fri, 11 Aug 2017 03:54:15 +0000 (20:54 -0700)]
[unsafe-to-break] Flag in Thai PUA shaping
Behdad Esfahbod [Fri, 11 Aug 2017 03:50:48 +0000 (20:50 -0700)]
[unsafe-to-break] Flag in Hangul shaper
Behdad Esfahbod [Fri, 11 Aug 2017 03:32:02 +0000 (20:32 -0700)]
[unsafe-to-break] Flag during mark attachment
Behdad Esfahbod [Fri, 11 Aug 2017 03:27:21 +0000 (20:27 -0700)]
Fix test
Behdad Esfahbod [Fri, 11 Aug 2017 03:23:17 +0000 (20:23 -0700)]
[unsafe-to-break] Flag during cursive positioning
Behdad Esfahbod [Fri, 11 Aug 2017 03:19:15 +0000 (20:19 -0700)]
[unsafe-to-break] Flag during kerning
Behdad Esfahbod [Fri, 11 Aug 2017 03:16:15 +0000 (20:16 -0700)]
[unsafe-to-break] Flag during fallback positioning
Behdad Esfahbod [Fri, 11 Aug 2017 03:10:12 +0000 (20:10 -0700)]
[unsafe-to-break] Be careful with flag propagation when merging clusters
Behdad Esfahbod [Fri, 11 Aug 2017 02:58:05 +0000 (19:58 -0700)]
Set mask to 0, instead of 1, by default
This shouldn't matter.
Behdad Esfahbod [Fri, 11 Aug 2017 01:45:33 +0000 (18:45 -0700)]
[unsafe-to-break] Mark Indic-like clusters as unsafe-to-break
Behdad Esfahbod [Thu, 10 Aug 2017 21:25:53 +0000 (14:25 -0700)]
[unsafe-to-break] Allocate public bits from 0
Behdad Esfahbod [Thu, 5 May 2016 15:13:03 +0000 (16:13 +0100)]
[safe-to-break] Fix logic when there is no out-buffer
Behdad Esfahbod [Wed, 4 May 2016 17:51:22 +0000 (19:51 +0200)]
[unsafe-to-break] Simplify logic
Always use the algorithm for non-monotone case. It's more robust.
Behdad Esfahbod [Mon, 2 May 2016 12:47:45 +0000 (14:47 +0200)]
[unsafe-to-break] Add UNSAFE_TO_BREAK flag
Not all shapers code is updated to set this properly.
GSUB and Arabic shaper are updated.
GPOS and other shapers are NOT.
Fixes https://github.com/behdad/harfbuzz/issues/224
Behdad Esfahbod [Thu, 10 Aug 2017 05:09:01 +0000 (22:09 -0700)]
[util] Fix two other Coverity warnings
Behdad Esfahbod [Thu, 10 Aug 2017 05:06:53 +0000 (22:06 -0700)]
[util] Fix warning
Behdad Esfahbod [Thu, 10 Aug 2017 05:05:08 +0000 (22:05 -0700)]
[ft] Fix theoretical leak
Behdad Esfahbod [Thu, 10 Aug 2017 00:23:28 +0000 (17:23 -0700)]
Treat HAMZA ABOVE similar to SHADD for sorting purposes
Part of https://github.com/behdad/harfbuzz/issues/509
Behdad Esfahbod [Thu, 10 Aug 2017 00:09:21 +0000 (17:09 -0700)]
Protect against div-by-zero in CBDT extent code
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1452#c5
CC https://github.com/behdad/harfbuzz/issues/139
Behdad Esfahbod [Wed, 9 Aug 2017 01:37:03 +0000 (18:37 -0700)]
Behdad Esfahbod [Tue, 8 Aug 2017 20:17:03 +0000 (13:17 -0700)]
1.4.8
Behdad Esfahbod [Tue, 8 Aug 2017 04:37:07 +0000 (21:37 -0700)]
Two fixes to avar mapping
1. Handle segment with two entries correctly,
2. Fix rounding math. Ouch!
Fixes https://github.com/behdad/harfbuzz/issues/521
Behdad Esfahbod [Thu, 3 Aug 2017 11:34:15 +0000 (12:34 +0100)]
[check-defs/symbols.sh] Drop empty-symbol lines
Fixes https://github.com/behdad/harfbuzz/issues/510
Behdad Esfahbod [Thu, 20 Jul 2017 00:20:55 +0000 (17:20 -0700)]
[hb-shape] Rename --show-messages to --trace
https://github.com/behdad/harfbuzz/issues/506
Behdad Esfahbod [Wed, 19 Jul 2017 02:14:19 +0000 (19:14 -0700)]
[hb-shape] Improve shaping-debug output
Before, that was printed using --debug (and in both hb-shape and hb-view).
Changed it, now hb-shape has a new command-line argument called --show-messages.
When invoked, it also respects other output formatting options. The messages
are better formatted and printed to te same place that hb-shape output is
directed to. Previously they were written to stderr.
Fixes https://github.com/behdad/harfbuzz/issues/506
Ebrahim Byagowi [Tue, 18 Jul 2017 22:12:53 +0000 (02:42 +0430)]
Unbreak arm-none-eabi build again (#514)
Behdad Esfahbod [Tue, 18 Jul 2017 18:24:42 +0000 (11:24 -0700)]
1.4.7
Behdad Esfahbod [Fri, 14 Jul 2017 16:34:47 +0000 (17:34 +0100)]
[arabic] Adjust feature order again
Fixes https://github.com/behdad/harfbuzz/issues/505