Ebrahim Byagowi [Thu, 1 Nov 2018 16:26:16 +0000 (19:56 +0330)]
[feat] Apply @behdad comments
Ebrahim Byagowi [Thu, 1 Nov 2018 15:50:20 +0000 (19:20 +0330)]
[feat] Apply @drott and @jfkthame comments
Ebrahim Byagowi [Thu, 1 Nov 2018 11:45:56 +0000 (15:15 +0330)]
[feat] Apply @jfkthame reviews
Ebrahim Byagowi [Thu, 1 Nov 2018 09:44:29 +0000 (13:14 +0330)]
[feat] Expose public API
* hb_aat_get_feature_settings
Behdad Esfahbod [Sun, 25 Nov 2018 05:30:08 +0000 (00:30 -0500)]
[test] Reorder test suites
aots is less interesting. Run text-rendering-tests before aots.
Behdad Esfahbod [Sun, 25 Nov 2018 05:27:23 +0000 (00:27 -0500)]
[kerx] Fix crash
Behdad Esfahbod [Sun, 25 Nov 2018 05:21:13 +0000 (00:21 -0500)]
Simplify sanitize set_object() / fix bots
Behdad Esfahbod [Sun, 25 Nov 2018 04:49:23 +0000 (23:49 -0500)]
[kerx] Port to hb_sanitize_with_object_t
Behdad Esfahbod [Sun, 25 Nov 2018 04:46:15 +0000 (23:46 -0500)]
[morx] Port to hb_sanitize_with_object_t
Behdad Esfahbod [Sun, 25 Nov 2018 04:38:06 +0000 (23:38 -0500)]
Add hb_sanitize_with_object_t
Context manager.
Behdad Esfahbod [Sun, 25 Nov 2018 04:34:34 +0000 (23:34 -0500)]
Simplify sanitize set_object()
Behdad Esfahbod [Sun, 25 Nov 2018 04:12:28 +0000 (23:12 -0500)]
[aat] Skip terminator in VarSizedBinSearchArray<>
Fixes shaping with Apple Chancery on 10.13 again. In that font,
there was a terminator segment, that was tripping off sanitize().
Behdad Esfahbod [Sun, 25 Nov 2018 03:48:34 +0000 (22:48 -0500)]
Minor
Behdad Esfahbod [Sun, 25 Nov 2018 03:32:17 +0000 (22:32 -0500)]
[debug] Print function in return_trace()
Behdad Esfahbod [Sun, 25 Nov 2018 03:16:59 +0000 (22:16 -0500)]
Revert "[aat.morx] Remove set_object() business"
This reverts commit
ae8ed58a6e53441d9ccbf67afd8a00b815cde99e.
Apparently this broke Apple Chancery from OS X 10.12 :(.
Investigating...
Behdad Esfahbod [Sun, 25 Nov 2018 03:16:53 +0000 (22:16 -0500)]
Revert "[aat.kerx] Remove kerx subtable boundary enforcement"
This reverts commit
15905a2a2998f7ddd964f920a4828602235d6b00.
Behdad Esfahbod [Sun, 25 Nov 2018 03:16:47 +0000 (22:16 -0500)]
Revert "[sanitize] Remove now-unused set_object() machinery"
This reverts commit
bbdb6edb3e1cea4c5b7076c4f6b3e6998ae36dae.
Behdad Esfahbod [Sun, 25 Nov 2018 03:01:06 +0000 (22:01 -0500)]
[tests] Minor
Behdad Esfahbod [Sun, 25 Nov 2018 02:36:57 +0000 (21:36 -0500)]
[arrays] Use hb_array_t<> in all places with sub_array()
Behdad Esfahbod [Sun, 25 Nov 2018 02:32:00 +0000 (21:32 -0500)]
[arrays] Merge ArrayOf's sub_array into hb_array_t's
Ebrahim Byagowi [Sat, 24 Nov 2018 22:42:40 +0000 (02:12 +0330)]
[test] Add the missed aots fonts
Ebrahim Byagowi [Sat, 24 Nov 2018 22:29:54 +0000 (01:59 +0330)]
[test] Merge 10.12.6 and 10.13.6 tests, update to Apple Chancery fix
Behdad Esfahbod [Sat, 24 Nov 2018 22:15:38 +0000 (17:15 -0500)]
[sanitize] Remove now-unused set_object() machinery
Behdad Esfahbod [Sat, 24 Nov 2018 22:14:39 +0000 (17:14 -0500)]
[aat.kerx] Remove kerx subtable boundary enforcement
Have not encountered fonts needing this, but same reasoning as
for morx (see previos commit.)
Behdad Esfahbod [Sat, 24 Nov 2018 22:11:09 +0000 (17:11 -0500)]
[aat.morx] Remove set_object() business
With OS X 10.13 Apple Chancery fails to ligate if we limit each morx
sub-chain to its declared length. Perhaps their newer compiler does
object-sharing across sub-chains. Anyway, since that's a valid, if
unspecified, way to compile tables, remove enforcement.
Probably do the same with kern/kerx.
Ebrahim Byagowi [Sat, 24 Nov 2018 22:09:00 +0000 (01:39 +0330)]
Add 10.13.6 aat fonts tests and bot (#1409)
Behdad Esfahbod [Sat, 24 Nov 2018 20:56:17 +0000 (15:56 -0500)]
[aat] Add test for recent regression
Behdad Esfahbod [Sat, 24 Nov 2018 20:49:33 +0000 (15:49 -0500)]
[tests] Redo test runner logging a bit
Behdad Esfahbod [Sat, 24 Nov 2018 20:42:11 +0000 (15:42 -0500)]
[tests] Minor
Behdad Esfahbod [Sat, 24 Nov 2018 20:37:01 +0000 (15:37 -0500)]
[tests/shaping] Allow comments in test files
Line should start with "# ".
Behdad Esfahbod [Sat, 24 Nov 2018 20:22:09 +0000 (15:22 -0500)]
[tests] Rename
Behdad Esfahbod [Sat, 24 Nov 2018 19:52:34 +0000 (14:52 -0500)]
[morx/kerx] Fix sanitize regression
Broke in
8dcc1913a1670ede7b124f7b5b775d7ab8791386
If sanitizer is left with another object, it wouldn't work.
Better fix coming soon.
Ebrahim Byagowi [Sat, 24 Nov 2018 17:19:21 +0000 (20:49 +0330)]
[test] Enable more of aots tests (#1408)
The ones commented out in this change should've be passed :/
a closer look is needed.
Ebrahim Byagowi [Sat, 24 Nov 2018 16:37:24 +0000 (20:07 +0330)]
Add Adobe AOTS tests (#1395)
Annotated OpenType Specification or aots, https://github.com/adobe-type-tools/aots
provides a set of tests for OpenType specification, this change add those tests in addition
to modified version of their HarfBuzz test runner for generating harfbuzz project specific tests.
Behdad Esfahbod [Sat, 24 Nov 2018 15:25:10 +0000 (10:25 -0500)]
[color] Use SortedUnsizedArrayOf<>
Behdad Esfahbod [Sat, 24 Nov 2018 15:17:59 +0000 (10:17 -0500)]
[trak] Coment
Behdad Esfahbod [Sat, 24 Nov 2018 15:09:17 +0000 (10:09 -0500)]
[arrays] Add not_found to reference bsearch as well
Behdad Esfahbod [Sat, 24 Nov 2018 15:06:13 +0000 (10:06 -0500)]
[arrays] Improve bfind() interface
Much more useful now. :)
Behdad Esfahbod [Sat, 24 Nov 2018 14:49:21 +0000 (09:49 -0500)]
[fuzzing] Add tests for previous commit
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11526
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11522
Behdad Esfahbod [Sat, 24 Nov 2018 14:47:45 +0000 (09:47 -0500)]
[kerx/morx] Make sure object length is sanitized before accessing it
Behdad Esfahbod [Sat, 24 Nov 2018 06:59:50 +0000 (01:59 -0500)]
[arrays] Port ArrayOf.qsort() and hb_vector_t.qsort() to hb_array_t
Behdad Esfahbod [Sat, 24 Nov 2018 06:48:48 +0000 (01:48 -0500)]
[arrays] Port ArrayOf.qsort() to hb_array_t's
Behdad Esfahbod [Sat, 24 Nov 2018 06:47:49 +0000 (01:47 -0500)]
[arrays] Add copy-constructor to hb_array_t and hb_sorted_array_t
Behdad Esfahbod [Sat, 24 Nov 2018 06:45:58 +0000 (01:45 -0500)]
[arrays] Port hb_vector_t.qsort() to hb_array_t's
Behdad Esfahbod [Sat, 24 Nov 2018 06:42:17 +0000 (01:42 -0500)]
[arrays] Remove one flavor of hb_vector_t.qsort()
Behdad Esfahbod [Sat, 24 Nov 2018 06:37:11 +0000 (01:37 -0500)]
[arrays] Add (unused) SortedUnsizedArrayOf<>
Behdad Esfahbod [Sat, 24 Nov 2018 06:31:00 +0000 (01:31 -0500)]
[arrays] Port SortedArrayOf.bsearch/bfind to hb_sorted_array_t's
Behdad Esfahbod [Sat, 24 Nov 2018 06:24:48 +0000 (01:24 -0500)]
[arrays] Port hb_vector_t.bsearch/bfind to (new) hb_sorted_array_t's
Behdad Esfahbod [Sat, 24 Nov 2018 06:11:12 +0000 (01:11 -0500)]
[arrays] Port (unused) ArrayOf.lsearch() to hb_array_t's
Behdad Esfahbod [Sat, 24 Nov 2018 06:09:28 +0000 (01:09 -0500)]
[arrays] Port hb_vector_t.lsearch() to hb_array_t's
Behdad Esfahbod [Sat, 24 Nov 2018 06:07:15 +0000 (01:07 -0500)]
[arrays] More
Behdad Esfahbod [Sat, 24 Nov 2018 05:58:44 +0000 (00:58 -0500)]
[arrays] Update ArrayOf.lsearch()
Currently unused apparently
Behdad Esfahbod [Sat, 24 Nov 2018 05:53:19 +0000 (00:53 -0500)]
[arrays] Change argument type of cmp called by hb_vector_t.bsearch()
Towards consolidating all array bsearch/...
Nathan Willis [Thu, 15 Nov 2018 23:40:21 +0000 (17:40 -0600)]
Usermanual: clusters chapter; add brief grapheme definition and clarify monotonous cluster handling.
Nathan Willis [Thu, 15 Nov 2018 21:47:03 +0000 (15:47 -0600)]
Usermanual: clusters chapter, minor updates.
Nathan Willis [Mon, 12 Nov 2018 18:17:06 +0000 (12:17 -0600)]
Usermanual: expand clusters chapter.
Behdad Esfahbod [Sat, 24 Nov 2018 05:35:31 +0000 (00:35 -0500)]
Change ArrayOf.bsearch() return semantics
Towards consolidating all array bsearch/...
Behdad Esfahbod [Sat, 24 Nov 2018 05:38:36 +0000 (00:38 -0500)]
Minor
Behdad Esfahbod [Sat, 24 Nov 2018 05:45:55 +0000 (00:45 -0500)]
Whitespace
Behdad Esfahbod [Sat, 24 Nov 2018 05:31:40 +0000 (00:31 -0500)]
Assert that item-type of arrays have static size
Behdad Esfahbod [Sat, 24 Nov 2018 05:29:22 +0000 (00:29 -0500)]
[vector] Rename
Behdad Esfahbod [Sat, 24 Nov 2018 05:27:57 +0000 (00:27 -0500)]
[aat] Minor
Behdad Esfahbod [Sat, 24 Nov 2018 05:25:40 +0000 (00:25 -0500)]
Add hb_static_size(T)
Behdad Esfahbod [Sat, 24 Nov 2018 05:22:21 +0000 (00:22 -0500)]
Add template-function convenience macros
Behdad Esfahbod [Sat, 24 Nov 2018 00:58:49 +0000 (19:58 -0500)]
Add null bytes for CmapSubtableLongGroup
Behdad Esfahbod [Fri, 23 Nov 2018 21:24:28 +0000 (16:24 -0500)]
Remove lsearch for small TableDirectorys
Behdad Esfahbod [Fri, 23 Nov 2018 21:07:43 +0000 (16:07 -0500)]
[arrays] Add as_array() to hb_vector_t<>
Behdad Esfahbod [Fri, 23 Nov 2018 21:04:56 +0000 (16:04 -0500)]
[arrays] Add as_array() to ArrayOf<>
Behdad Esfahbod [Fri, 23 Nov 2018 20:24:17 +0000 (15:24 -0500)]
[kern] Don't enforce length of last subtable
Behdad Esfahbod [Fri, 23 Nov 2018 18:49:34 +0000 (13:49 -0500)]
Merge pull request #1407 from harfbuzz/at-sign
Don't canonicalize '@' to '-' in language tags
David Corbett [Fri, 23 Nov 2018 18:21:22 +0000 (13:21 -0500)]
Don't canonicalize '@' to '-' in language tags
Fixes #1406.
Ebrahim Byagowi [Fri, 23 Nov 2018 16:28:56 +0000 (19:58 +0330)]
[aat] Update expectation
Behdad Esfahbod [Fri, 23 Nov 2018 16:10:17 +0000 (11:10 -0500)]
[aat] Disable mark advance zeroing if kern table has state-machines
Geeza Pro for example, relies on that for fancy mark positioning.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1405
Behdad Esfahbod [Fri, 23 Nov 2018 15:45:44 +0000 (10:45 -0500)]
Minor
Ebrahim Byagowi [Fri, 23 Nov 2018 12:10:05 +0000 (15:40 +0330)]
[aat] Add macOS specific tests (#1404)
Behdad Esfahbod [Fri, 23 Nov 2018 03:47:51 +0000 (22:47 -0500)]
[use] Minor clarification
Behdad Esfahbod [Fri, 23 Nov 2018 03:40:57 +0000 (22:40 -0500)]
Minor tweak to FLAG64
Behdad Esfahbod [Fri, 23 Nov 2018 03:39:12 +0000 (22:39 -0500)]
Merge pull request #1291 from harfbuzz/use-reordering
[use] Fix reordering
Behdad Esfahbod [Fri, 23 Nov 2018 03:17:49 +0000 (22:17 -0500)]
[cmap] Move code around
Behdad Esfahbod [Fri, 23 Nov 2018 03:16:12 +0000 (22:16 -0500)]
[morx/kerx] Limit range to subtable when sanitizing
Behdad Esfahbod [Fri, 23 Nov 2018 03:12:36 +0000 (22:12 -0500)]
[sanitizer] Add reset_object(), make set_object() do bounds-check
Affects morx/kerx run-time only currently. Will adjust their sanitize next.
Behdad Esfahbod [Fri, 23 Nov 2018 03:02:19 +0000 (22:02 -0500)]
[kerx] Make sure subtables are non-zero-length
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11400
Behdad Esfahbod [Fri, 23 Nov 2018 02:30:04 +0000 (21:30 -0500)]
[GSUB] Don't flush glyphset during recursion in closure()
See comment.
Supercedes https://github.com/harfbuzz/harfbuzz/pull/1401
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11366
Garret Rieger [Mon, 19 Nov 2018 21:00:24 +0000 (13:00 -0800)]
[subset] add fuzzer testcase.
Behdad Esfahbod [Fri, 23 Nov 2018 02:20:39 +0000 (21:20 -0500)]
[set] Rename
Behdad Esfahbod [Thu, 22 Nov 2018 23:07:59 +0000 (18:07 -0500)]
Enforce requiring null_size even if min_size is 0
This concludes null-size enforcement changes
Behdad Esfahbod [Thu, 22 Nov 2018 23:07:36 +0000 (18:07 -0500)]
Allow non-nullable OffsetTo<> to non-Null'able objects
Behdad Esfahbod [Thu, 22 Nov 2018 22:56:51 +0000 (17:56 -0500)]
[glyf] Don't mark structs UNBOUNDED
See comments.
Behdad Esfahbod [Thu, 22 Nov 2018 22:53:29 +0000 (17:53 -0500)]
Mark UnsizedArrayOf<> as UNBOUNDED
Since min_size is 0, Null() still accepts this type.
Behdad Esfahbod [Thu, 22 Nov 2018 22:31:07 +0000 (17:31 -0500)]
[ot-shape] Simplify logic
Behdad Esfahbod [Thu, 22 Nov 2018 21:21:49 +0000 (16:21 -0500)]
Move
Behdad Esfahbod [Thu, 22 Nov 2018 21:20:29 +0000 (16:20 -0500)]
[aat] Zero mark advances if decided so even if there's cross-kerning
Cross-kerning can only take care of positioning vertically. It doesn't
adjust mark advance...
Behdad Esfahbod [Thu, 22 Nov 2018 20:52:29 +0000 (15:52 -0500)]
[aat] Tweak fallback positioning logic when applying morx
Such that for Indic-like scripts (eg. Khmer), we don't do any fallback mark
advance-zeroing / positioning, but we do for Latin, etc. Reuses preferences
of our script-specific OpenType shapers for those.
Fixes regression: https://github.com/harfbuzz/harfbuzz/issues/1393
Which means, fixes again: https://github.com/harfbuzz/harfbuzz/issues/1264
While not regressing: https://github.com/harfbuzz/harfbuzz/issues/1357
Behdad Esfahbod [Thu, 22 Nov 2018 19:46:39 +0000 (14:46 -0500)]
[myanmar] Minor move
Behdad Esfahbod [Thu, 22 Nov 2018 19:45:46 +0000 (14:45 -0500)]
[myanmar] If there's no GSUB table, pick myanmar shaper
Needed for morx+kern mark-zeroing interaction. All other scripts
work this way.
Behdad Esfahbod [Thu, 22 Nov 2018 19:41:01 +0000 (14:41 -0500)]
[myanmar] Remove myanmar_old shaper
Over time it has become the same as default shaper. So, remove.
Behdad Esfahbod [Thu, 22 Nov 2018 06:53:36 +0000 (01:53 -0500)]
Fix spurious gcc warnings
../../src/hb-null.hh:53:39: warning: enum constant in boolean context [-Wint-in-bool-context]
Behdad Esfahbod [Thu, 22 Nov 2018 06:49:12 +0000 (01:49 -0500)]
More
This makes more of the gcc spurious warning:
../../src/hb-null.hh:53:39: warning: enum constant in boolean context [-Wint-in-bool-context]
But not going to let that defeat correct code. Type to switch to clang
as my main compiler...
Behdad Esfahbod [Thu, 22 Nov 2018 06:44:27 +0000 (01:44 -0500)]
Fix up recent change
Fixes https://github.com/harfbuzz/harfbuzz/issues/1300
Behdad Esfahbod [Thu, 22 Nov 2018 06:25:34 +0000 (01:25 -0500)]
Minor