Ebrahim Byagowi [Wed, 28 Nov 2018 16:58:42 +0000 (20:28 +0330)]
[test][aat] Add a test and make macOS runners faster (#1422)
Behdad Esfahbod [Tue, 27 Nov 2018 22:40:32 +0000 (17:40 -0500)]
Merge pull request #1398 from Adenilson/bigInt01
Optimize harfbuzz big integer conversions
Behdad Esfahbod [Tue, 27 Nov 2018 22:40:09 +0000 (17:40 -0500)]
Comment
Adenilson Cavalcanti [Tue, 20 Nov 2018 22:41:19 +0000 (14:41 -0800)]
Optimize harfbuzz big integer conversions
Profiling showed that type conversions were adding considerable cycles in time
spent doing text shaping.
The idea is to optimize it using native processor instructions to help Blink
layout performance.
Doing further investigation revelead that compilers may not use the
proper instruction on ARM 32bits builds (i.e. REV16).
One way to insure that the generated ASM was ideal for both gcc/clang
was using __builtin_bswap16.
Added bonus is that we no longer need to test for CPU architecture.
Ebrahim Byagowi [Mon, 26 Nov 2018 15:28:39 +0000 (18:58 +0330)]
[ci] Add .codecov.yml
Similar to https://github.com/GoogleChrome/lighthouse/blob/master/.codecov.yml
No strong preference on commenting, feel free to enable it again
Ebrahim Byagowi [Mon, 26 Nov 2018 13:28:58 +0000 (16:58 +0330)]
[test][aat] Enable Tamil MN test (#1414)
Behdad Esfahbod [Sun, 25 Nov 2018 21:51:22 +0000 (16:51 -0500)]
[aat] Ignore GSUB table of Muthu Foundry if they have morx table
Fixes https://github.com/harfbuzz/harfbuzz/issues/1410
Behdad Esfahbod [Sun, 25 Nov 2018 21:38:36 +0000 (16:38 -0500)]
[GDEF] Move more code
Behdad Esfahbod [Sun, 25 Nov 2018 20:59:18 +0000 (15:59 -0500)]
[GDEF] Move code around
Behdad Esfahbod [Sun, 25 Nov 2018 20:51:01 +0000 (15:51 -0500)]
[GDEF] Minor
Ebrahim Byagowi [Sun, 25 Nov 2018 10:07:23 +0000 (13:37 +0330)]
[test][aat] fix 10.13.6 Helvetica expectation
Ebrahim Byagowi [Sun, 25 Nov 2018 09:20:30 +0000 (12:50 +0330)]
[aat] Add m grave test (#1412)
Ebrahim Byagowi [Sun, 25 Nov 2018 07:55:17 +0000 (11:25 +0330)]
[aat] Fix macos expectation
Behdad Esfahbod [Sun, 25 Nov 2018 06:14:40 +0000 (01:14 -0500)]
[aat.feat] Rework API and implementation
Fixes https://github.com/harfbuzz/harfbuzz/pull/1346
Behdad Esfahbod [Sat, 24 Nov 2018 17:08:36 +0000 (12:08 -0500)]
[aat.feat] Add _MAX_VALUE to enums
Behdad Esfahbod [Sat, 24 Nov 2018 16:02:04 +0000 (11:02 -0500)]
[aat.feat] Minor
Behdad Esfahbod [Sat, 24 Nov 2018 16:00:42 +0000 (11:00 -0500)]
[aat.feat] Whitespace
Behdad Esfahbod [Sat, 24 Nov 2018 15:54:40 +0000 (10:54 -0500)]
[aat.feat] Port to SortedUnsizedArrayOf.bsearch()
Behdad Esfahbod [Sat, 24 Nov 2018 15:46:56 +0000 (10:46 -0500)]
[AAT.feat] Use lsearch for looking up SettingName's
They are not sorted.
Behdad Esfahbod [Sat, 24 Nov 2018 15:30:35 +0000 (10:30 -0500)]
[aat] Fix include issues
Behdad Esfahbod [Fri, 23 Nov 2018 19:05:11 +0000 (14:05 -0500)]
[aat] Move contents of hb-aat.h to hb-aat-layout.h
Since it was pages and pages...
Behdad Esfahbod [Fri, 23 Nov 2018 17:23:35 +0000 (12:23 -0500)]
[aat.feat] Fix enum namespace
Behdad Esfahbod [Fri, 23 Nov 2018 17:21:02 +0000 (12:21 -0500)]
Minor
Behdad Esfahbod [Fri, 23 Nov 2018 16:57:42 +0000 (11:57 -0500)]
[aat] Rename feat API a bit more
Ebrahim Byagowi [Fri, 23 Nov 2018 08:35:06 +0000 (12:05 +0330)]
[feat] Rename API uses of setting to selector
Ebrahim Byagowi [Fri, 23 Nov 2018 08:14:53 +0000 (11:44 +0330)]
[feat] Apply renamings and add documentation
Ebrahim Byagowi [Sat, 17 Nov 2018 10:53:11 +0000 (14:23 +0330)]
[feat] Use bsearch
Ebrahim Byagowi [Sat, 17 Nov 2018 08:00:50 +0000 (11:30 +0330)]
[feat] Address Behdad comments
Ebrahim Byagowi [Fri, 16 Nov 2018 21:37:09 +0000 (01:07 +0330)]
[feat] Address @behdad comments
Ebrahim Byagowi [Thu, 8 Nov 2018 21:20:10 +0000 (00:50 +0330)]
[feat] Complete feature types list
Ebrahim Byagowi [Thu, 1 Nov 2018 18:54:42 +0000 (22:24 +0330)]
[feat] Add feature iteration API
Ebrahim Byagowi [Thu, 1 Nov 2018 18:08:54 +0000 (21:38 +0330)]
[feat] Turn AAT feature id into enum
Ebrahim Byagowi [Thu, 1 Nov 2018 16:32:57 +0000 (20:02 +0330)]
[feat] Rename records to selectors as @drott
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<>