Behdad Esfahbod [Mon, 5 Feb 2018 01:22:07 +0000 (20:22 -0500)]
[subset] Minor
Garret Rieger [Mon, 5 Feb 2018 23:35:13 +0000 (15:35 -0800)]
Merge pull request #754 from googlefonts/master
Fix build for subsetting code.
Garret Rieger [Mon, 5 Feb 2018 23:10:01 +0000 (15:10 -0800)]
ssize_t -> size_t
Garret Rieger [Mon, 5 Feb 2018 22:35:32 +0000 (14:35 -0800)]
Switch to fopen() instead of open() in subset test. open wasn't compiling on windows.
Garret Rieger [Mon, 5 Feb 2018 19:12:33 +0000 (11:12 -0800)]
Rename HB_SUBSET_sources -> HB_SUBSET_CLI_sources to match what cmake is looking for.
Garret Rieger [Mon, 5 Feb 2018 18:24:16 +0000 (10:24 -0800)]
Wrap unistd.h include in ifdef.
Garret Rieger [Mon, 5 Feb 2018 18:23:38 +0000 (10:23 -0800)]
Add libharfbuzz-subset.la to linking when building api tests.
Behdad Esfahbod [Mon, 5 Feb 2018 01:18:52 +0000 (20:18 -0500)]
[subset] Build hb-subset into separate libharfbuzz-subset.so
Behdad Esfahbod [Mon, 5 Feb 2018 01:08:50 +0000 (20:08 -0500)]
[subset] Minor
Behdad Esfahbod [Mon, 5 Feb 2018 01:01:35 +0000 (20:01 -0500)]
Merge pull request #745 from googlefonts/master
Interface for hb_subset, skeleton for the hb-subset cli, and basic testing rigging.
Behdad Esfahbod [Sun, 4 Feb 2018 22:19:58 +0000 (17:19 -0500)]
[test/text-rendering-tests] Update from upstream
Behdad Esfahbod [Sun, 4 Feb 2018 19:58:02 +0000 (14:58 -0500)]
[aat] Fix unsafe-to-break
At any position, if state is not zero, mark unsafe-to-break before,
unless we can reason it safe.
At any position, if there's an action entry for end-of-text, mark
unsafe to break.
Also changes buffer diff impl to allow for flag differences as long
as the buffer glyph flags are superset of reference glyph flags.
With this, all MORX tests pass.
Rod Sheeter [Sun, 4 Feb 2018 20:31:24 +0000 (12:31 -0800)]
Actually call hb_subset
Garret Rieger [Sat, 3 Feb 2018 01:54:11 +0000 (17:54 -0800)]
Add CMakeLists.txt to dist files for subset test.
Garret Rieger [Sat, 3 Feb 2018 01:50:45 +0000 (17:50 -0800)]
Add CMake configuration for all of the new subsetting code.
Garret Rieger [Sat, 3 Feb 2018 01:49:14 +0000 (17:49 -0800)]
Add missing unistd header to hb-subset.
Garret Rieger [Fri, 2 Feb 2018 02:36:15 +0000 (18:36 -0800)]
Properly include subset test data files.
Garret Rieger [Fri, 2 Feb 2018 02:22:14 +0000 (18:22 -0800)]
Re-write hb-subset utility to use main-font-text driver.
Garret Rieger [Fri, 2 Feb 2018 01:17:36 +0000 (17:17 -0800)]
Whitespace
Garret Rieger [Fri, 2 Feb 2018 01:14:51 +0000 (17:14 -0800)]
Include subset test files in distribution.
Garret Rieger [Fri, 2 Feb 2018 00:50:18 +0000 (16:50 -0800)]
Whitespace
Garret Rieger [Wed, 31 Jan 2018 23:43:24 +0000 (15:43 -0800)]
Get test-subset to pass.
Garret Rieger [Wed, 31 Jan 2018 23:20:52 +0000 (15:20 -0800)]
Attach add a hb_face_t to hb_subset_face_t.
Garret Rieger [Wed, 31 Jan 2018 22:53:28 +0000 (14:53 -0800)]
Whitespace
Garret Rieger [Wed, 31 Jan 2018 22:53:09 +0000 (14:53 -0800)]
Add a basic implementation of hb-subset to enable compilation of test-subset.
Garret Rieger [Wed, 31 Jan 2018 19:32:23 +0000 (11:32 -0800)]
Make the expected output for subsetting basics test be equal to the input file for now.
Garret Rieger [Wed, 31 Jan 2018 19:14:53 +0000 (11:14 -0800)]
Add the beginning of a unit test for hb-subset
Rod Sheeter [Wed, 31 Jan 2018 03:27:11 +0000 (19:27 -0800)]
tweak test failure output. write to a temp file not stdout. test still fails because expected is not just an identical copy of input
Garret Rieger [Wed, 31 Jan 2018 02:40:23 +0000 (18:40 -0800)]
Add hb-subset.h to hb.h
Garret Rieger [Wed, 31 Jan 2018 02:39:41 +0000 (18:39 -0800)]
Fix typo in hb-subset.h
Garret Rieger [Tue, 30 Jan 2018 22:03:16 +0000 (14:03 -0800)]
Remove basic subset test from XFAIL
Garret Rieger [Mon, 29 Jan 2018 21:31:49 +0000 (13:31 -0800)]
Whitespace
Garret Rieger [Mon, 29 Jan 2018 21:30:02 +0000 (13:30 -0800)]
Configure automake to run the new subset tests.
Garret Rieger [Sat, 27 Jan 2018 00:57:42 +0000 (16:57 -0800)]
WIP test runner for subset tests.
Garret Rieger [Fri, 26 Jan 2018 22:25:39 +0000 (14:25 -0800)]
In generate-expected-outputs read the test definition with utf8 encoding.
Garret Rieger [Fri, 26 Jan 2018 21:57:48 +0000 (13:57 -0800)]
Add basic directory structure for subsetter integration tests. Plus a utility for generating expected output files.
Rod Sheeter [Thu, 18 Jan 2018 06:09:07 +0000 (22:09 -0800)]
Start to sketch APIs for subsetting
Behdad Esfahbod [Sun, 4 Feb 2018 19:45:02 +0000 (14:45 -0500)]
[aat] More adjustment to ContextualSubtable
See comment.
With this, MORX-20 passes if I turn --verify off. Our unsafe-to-break
logic is currently broken in presence of end-of-text actions. That's,
ugh, extra work to fix. Let me try...
Behdad Esfahbod [Sun, 4 Feb 2018 19:40:17 +0000 (14:40 -0500)]
[aat] In ContextualSubstitute, apply end-of-text action to last glyph
Behdad Esfahbod [Sun, 4 Feb 2018 19:19:41 +0000 (14:19 -0500)]
[aat] Remove unneeded check
Behdad Esfahbod [Sun, 4 Feb 2018 17:38:18 +0000 (12:38 -0500)]
[configure] Fix wording
Fixes https://github.com/harfbuzz/harfbuzz/issues/741
Behdad Esfahbod [Fri, 2 Feb 2018 21:08:50 +0000 (16:08 -0500)]
[aat] In ContextualSubtable, mark mark after substituting mark
Fixes MORX-21.
Behdad Esfahbod [Fri, 2 Feb 2018 20:53:25 +0000 (15:53 -0500)]
[aat] Fix ContextualSubtable sanitization
Fixes MORX-18, MORX-19, and MORX-22.
Khaled Hosny [Sun, 4 Feb 2018 10:05:12 +0000 (12:05 +0200)]
Correctly show documentation build status
Correctly show if building documentation is enabled or not in configure
summary.
Fixes https://github.com/harfbuzz/harfbuzz/issues/741
Bruce Mitchener [Sat, 3 Feb 2018 18:26:57 +0000 (01:26 +0700)]
Enable use of atexit() on macOS and related platforms.
The atexit() man page indicates that this is expected to behave
in the expected way on unloading of shared libraries.
Bruce Mitchener [Sat, 3 Feb 2018 18:31:53 +0000 (01:31 +0700)]
Use nullptr, not NULL.
Ebrahim Byagowi [Sat, 3 Feb 2018 09:23:48 +0000 (12:53 +0330)]
[cmake] unistd typo fix (#747)
David Corbett [Fri, 2 Feb 2018 17:04:04 +0000 (12:04 -0500)]
Let VS1 follow U+1031 MYANMAR VOWEL SIGN E
punchcutter [Wed, 31 Jan 2018 22:09:04 +0000 (14:09 -0800)]
Allow optional ZWJ in virama terminated cluster
Bruce Mitchener [Wed, 31 Jan 2018 13:16:08 +0000 (20:16 +0700)]
Use nullptr instead of 0.
Bruce Mitchener [Wed, 31 Jan 2018 13:44:45 +0000 (20:44 +0700)]
Fix typos.
Bruce Mitchener [Wed, 31 Jan 2018 15:24:51 +0000 (22:24 +0700)]
[ot-layout] Fix nullptr dereference.
If the `calloc` for `gsub_accels` or `gpos_accels` fails, then the
unlikely branch afterwards can be taken, which frees up the
`hb_ot_layout_t`, but since those fields can now be `nullptr`, then
we don't want to dereference them.
Bruce Mitchener [Wed, 31 Jan 2018 13:24:27 +0000 (20:24 +0700)]
[coretext] Fix memory leaks.
In `reference_table`, if the data is empty and we return early,
we still need to release the data object.
In `hb_coretext_shape`, there two edge cases where an early
return should release the attributed string.
Behdad Esfahbod [Tue, 30 Jan 2018 19:16:51 +0000 (11:16 -0800)]
1.7.5
Behdad Esfahbod [Tue, 30 Jan 2018 19:51:56 +0000 (11:51 -0800)]
Fix distcheck
Behdad Esfahbod [Tue, 30 Jan 2018 18:58:44 +0000 (10:58 -0800)]
[aat] Limit number of DontAdvance transitions
Remove the faulty loop-detection logic. Use max-ops for breaking
out of infinite loops or heavy work.
https://twitter.com/behdadesfahbod/status/
958065026262183936
Behdad Esfahbod [Mon, 29 Jan 2018 18:07:05 +0000 (10:07 -0800)]
[test/text-rendering-tests] Update from upstream
Ebrahim Byagowi [Tue, 30 Jan 2018 06:31:46 +0000 (10:01 +0330)]
[cmake] Build src/ executables (#733)
Ebrahim Byagowi [Mon, 29 Jan 2018 14:35:24 +0000 (18:05 +0330)]
[test] Use 'otool -L' where ldd doesn't exist (macOS) (#732)
David Corbett [Sun, 28 Jan 2018 22:48:28 +0000 (17:48 -0500)]
Fix Travis build on macOS (#731)
Behdad Esfahbod [Sat, 27 Jan 2018 02:14:05 +0000 (18:14 -0800)]
Misc warning fixes
Fixes https://github.com/harfbuzz/harfbuzz/issues/712
bungeman [Fri, 26 Jan 2018 18:38:06 +0000 (13:38 -0500)]
Use KernSubTableFormat2::rightClassTable
Issue originally reported at http://cppfiles.com/chromium.txt .
This fixes what appears to be a copy - paste issue which causes both
KernSubTableFormat2::rightClassTable and the 'right' argument to
KernSubTableFormat2::get_kerning to go unused.
Ebrahim Byagowi [Thu, 25 Jan 2018 06:23:32 +0000 (09:53 +0330)]
[cmake] Use -fvisibility-inlines-hidden instead (#726)
Ebrahim Byagowi [Mon, 22 Jan 2018 17:53:19 +0000 (21:23 +0330)]
[cmake] fix symbol exporting issue on newer gcc (#724)
Ebrahim Byagowi [Mon, 22 Jan 2018 15:07:26 +0000 (18:37 +0330)]
[ci] minor, less hacks (#722)
Ebrahim Byagowi [Mon, 22 Jan 2018 09:46:54 +0000 (13:16 +0330)]
[ci] minor (#721)
Ebrahim Byagowi [Mon, 22 Jan 2018 09:38:35 +0000 (13:08 +0330)]
[ci] unbreak bots with outdated freetype version (#718)
Bruce Mitchener [Sun, 21 Jan 2018 13:40:34 +0000 (20:40 +0700)]
Fix typos.
Behdad Esfahbod [Sat, 20 Jan 2018 02:36:39 +0000 (18:36 -0800)]
[aat] Fix Ligature matching
I hope... Makes "ffi" work with Zapfino. I'm not sure if doing it correctly though...
Behdad Esfahbod [Sat, 20 Jan 2018 02:24:00 +0000 (18:24 -0800)]
[aat] Add TODO
Behdad Esfahbod [Sat, 20 Jan 2018 02:08:56 +0000 (18:08 -0800)]
[aat] Implement LigatureSubtable
We form the Zapfino ligature now. Yay! No further testing done.
Behdad Esfahbod [Sat, 20 Jan 2018 00:52:01 +0000 (16:52 -0800)]
[aat] Embed a sanitizer context in hb_aat_apply_context_t
For run-time checking.
Behdad Esfahbod [Thu, 18 Jan 2018 00:59:55 +0000 (16:59 -0800)]
[aat] Add hb_aat_apply_context_t
Behdad Esfahbod [Thu, 18 Jan 2018 00:46:51 +0000 (16:46 -0800)]
Rename hb_apply_context_t to hb_ot_apply_context_t
Behdad Esfahbod [Wed, 17 Jan 2018 20:46:08 +0000 (12:46 -0800)]
Whitespace
Ebrahim Byagowi [Fri, 19 Jan 2018 12:42:24 +0000 (16:12 +0330)]
[cmake] Always put test/api/CMakeLists.txt on distributions
Cosimo Lupo [Thu, 18 Jan 2018 21:49:40 +0000 (22:49 +0100)]
hb-common.cc: Hatran script is right-to-left (#714)
"Hatran is written from right to left horizontally"
http://www.unicode.org/L2/L2012/12312-n4324-hatran.pdf
This ancient script was added with Unicode 8.0.
Also this spreadsheet (referenced in an inline comment in the
source code) has it as RTL: http://goo.gl/x9ilM
Ebrahim Byagowi [Thu, 18 Jan 2018 21:42:31 +0000 (01:12 +0330)]
Improve avoiding C++ linkage, definition creation and cmake tests (#710)
David Corbett [Thu, 18 Jan 2018 21:34:13 +0000 (16:34 -0500)]
Update record-test.sh to the new directory layout (#716)
Behdad Esfahbod [Wed, 17 Jan 2018 18:02:48 +0000 (10:02 -0800)]
[aat] Allocate set dynamically
Behdad Esfahbod [Wed, 17 Jan 2018 17:47:50 +0000 (09:47 -0800)]
Typo
Fixes https://github.com/harfbuzz/harfbuzz/issues/711
Ebrahim Byagowi [Tue, 16 Jan 2018 18:30:21 +0000 (22:00 +0330)]
[cmake] don't link to libstdc++ (#707)
rdb [Tue, 16 Jan 2018 16:04:33 +0000 (17:04 +0100)]
[cmake] Fix for CMake 3.0 and below (#706)
Ebrahim Byagowi [Tue, 16 Jan 2018 10:48:09 +0000 (14:18 +0330)]
[cmake] Fix symbols visibility and enable check-symbols.sh test (#705)
Behdad Esfahbod [Tue, 16 Jan 2018 01:46:58 +0000 (20:46 -0500)]
Disable MORX-13/14
Really, need better way to catch these :(.
Behdad Esfahbod [Tue, 16 Jan 2018 01:44:10 +0000 (20:44 -0500)]
Disallow sanitize recursing into Extension subtables multiple times
Fixes https://oss-fuzz.com/v2/testcase-detail/
5216838347653120
which is a stack overflow, not by way of infinite recursion, just
being deep. That's disallowed anyway, so catch it as it happens,
not afterwards.
Behdad Esfahbod [Tue, 16 Jan 2018 01:34:05 +0000 (20:34 -0500)]
Whitespace
Behdad Esfahbod [Mon, 15 Jan 2018 20:41:51 +0000 (15:41 -0500)]
[aat] Sanitize classTable in StateTable
Behdad Esfahbod [Mon, 15 Jan 2018 20:37:55 +0000 (15:37 -0500)]
[aat] Wire up table length to apply()
Behdad Esfahbod [Sun, 14 Jan 2018 20:03:31 +0000 (15:03 -0500)]
[aat] Towards implementing LigatureSubtable
Behdad Esfahbod [Sat, 13 Jan 2018 17:05:12 +0000 (17:05 +0000)]
Fix set initializer
Behdad Esfahbod [Sat, 13 Jan 2018 14:44:39 +0000 (14:44 +0000)]
[test/text-rendering-tests] Update from upstream
Behdad Esfahbod [Fri, 12 Jan 2018 11:04:53 +0000 (12:04 +0100)]
[aat] Fix some struct sizes
I hate it that with my compiler at least, it doesn't catch totally uncompilable
statements in templates if they are not used...
Behdad Esfahbod [Fri, 12 Jan 2018 10:42:25 +0000 (11:42 +0100)]
[aat] Flush rest of buffer if state machine failed
Behdad Esfahbod [Fri, 12 Jan 2018 10:37:01 +0000 (11:37 +0100)]
Minor
Behdad Esfahbod [Fri, 12 Jan 2018 10:31:20 +0000 (11:31 +0100)]
[aat] Fix symbol visibility
Not sure why only one of the bots sees this as visible...
Behdad Esfahbod [Fri, 12 Jan 2018 10:28:09 +0000 (11:28 +0100)]
Revert accidental morx enablement
Behdad Esfahbod [Fri, 12 Jan 2018 10:27:51 +0000 (11:27 +0100)]
Fix docs
Behdad Esfahbod [Fri, 12 Jan 2018 10:12:20 +0000 (11:12 +0100)]
[aat] Tweak previous commit
Behdad Esfahbod [Fri, 12 Jan 2018 10:09:21 +0000 (11:09 +0100)]
[aat] Detect infinite-loops in state machine