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
Behdad Esfahbod [Fri, 12 Jan 2018 09:55:44 +0000 (10:55 +0100)]
[circleci] cat test logs on failure on autotools-based builds
Behdad Esfahbod [Fri, 12 Jan 2018 09:53:52 +0000 (10:53 +0100)]
[travis] On test failure, cat all .log files
Behdad Esfahbod [Fri, 12 Jan 2018 09:51:51 +0000 (10:51 +0100)]
[travis] Update cat'ing test-suite.log files
Behdad Esfahbod [Fri, 12 Jan 2018 08:46:38 +0000 (09:46 +0100)]
Disable C++11
To better catch errors locally.
Behdad Esfahbod [Fri, 12 Jan 2018 08:45:42 +0000 (09:45 +0100)]
[aat] Fix more builds
Maybe I should disable C++11 detection such that my compiler also catches
these. Doesn't look like we can switch to it for a while anyway...
Behdad Esfahbod [Fri, 12 Jan 2018 08:38:55 +0000 (09:38 +0100)]
[aat] Fix builds
Ting-Wei Lan [Fri, 12 Jan 2018 07:33:16 +0000 (15:33 +0800)]
Update _POSIX_C_SOURCE to the latest version
Defining _POSIX_C_SOURCE to an old version on FreeBSD can cause C99 to
be disabled in libc.
Behdad Esfahbod [Thu, 11 Jan 2018 23:08:22 +0000 (00:08 +0100)]
[aat] Port RearrangementSubtable to StateTableDriver
Behdad Esfahbod [Thu, 11 Jan 2018 23:01:36 +0000 (00:01 +0100)]
[aat] Add StateTableDriver and convert ContextualSubtable to it
Behdad Esfahbod [Thu, 11 Jan 2018 21:47:08 +0000 (22:47 +0100)]
[test/text-rendering-tests] Update README
Behdad Esfahbod [Thu, 11 Jan 2018 21:46:19 +0000 (22:46 +0100)]
[test] Disable MORX-12
Ouch. I need a better workflow for this.
Behdad Esfahbod [Thu, 11 Jan 2018 21:43:57 +0000 (22:43 +0100)]
[aat] Remove 'mort' support
It's dead, Jim!
Behdad Esfahbod [Thu, 11 Jan 2018 18:25:21 +0000 (19:25 +0100)]
[aat] Allow DontAdvance
Apparently CoreText does allow these. To be done: detect infinite
loops.
Fixes MORX-12 test.
Behdad Esfahbod [Thu, 11 Jan 2018 18:22:37 +0000 (19:22 +0100)]
[test/text-rendering-tests] Update from upstream
Behdad Esfahbod [Thu, 11 Jan 2018 17:54:49 +0000 (18:54 +0100)]
[aat] Sanitize ContextualSubtable
Behdad Esfahbod [Thu, 11 Jan 2018 17:19:42 +0000 (18:19 +0100)]
More warning fixes
Behdad Esfahbod [Thu, 11 Jan 2018 17:15:53 +0000 (18:15 +0100)]
[aat] Sanitize StateTable
Behdad Esfahbod [Thu, 11 Jan 2018 17:01:10 +0000 (18:01 +0100)]
Behdad Esfahbod [Thu, 11 Jan 2018 16:59:03 +0000 (17:59 +0100)]
[test/text-rendering-tests] Actually disable MORX-11
Behdad Esfahbod [Thu, 11 Jan 2018 16:57:46 +0000 (17:57 +0100)]
[buffer] Fix compiler warnings
line 323: Warning: info hides hb_buffer_t::info
...
Behdad Esfahbod [Thu, 11 Jan 2018 16:41:34 +0000 (17:41 +0100)]
[aat] Make bots happy
Don't know why this is not caught by my compiler. Looks like clang catches it
while gcc doesn't.
In file included from ../src/hb-aat-layout-morx-table.hh:31:
../src/hb-aat-layout-common-private.hh:523:30: error: no member named 'static_size' in 'AAT::ContextualSubtable<AAT::MorxTypes>::EntryData'
DEFINE_SIZE_STATIC (4 + T::static_size);
~~~^
Behdad Esfahbod [Thu, 11 Jan 2018 14:23:24 +0000 (15:23 +0100)]
[aat] In NoncontextualSubtable, handle MarkLast with end-of-line transition
Fixes MORX-11 test.
Behdad Esfahbod [Thu, 11 Jan 2018 14:18:22 +0000 (15:18 +0100)]
[test/text-rendering-tests] Update from upstream
Behdad Esfahbod [Thu, 11 Jan 2018 14:15:07 +0000 (15:15 +0100)]
[aat] Implement ContextualSubtable
Tested with Zapfino and text "2nd". Sascha will create tests later.
Behdad Esfahbod [Thu, 11 Jan 2018 13:50:47 +0000 (14:50 +0100)]
[aat] Towards implementing ContextualSubtable
Behdad Esfahbod [Thu, 11 Jan 2018 11:00:28 +0000 (12:00 +0100)]
[aat] Implement end-of-text in state machine
Passes MORX-10 test now.
Behdad Esfahbod [Thu, 11 Jan 2018 10:55:29 +0000 (11:55 +0100)]
[test/text-rendering-tests] Update from upstream
Behdad Esfahbod [Thu, 11 Jan 2018 10:55:10 +0000 (11:55 +0100)]
Minor
Ebrahim Byagowi [Thu, 11 Jan 2018 12:13:23 +0000 (15:43 +0330)]
[cmake] Update and unbreak (#700)
Behdad Esfahbod [Thu, 11 Jan 2018 10:49:07 +0000 (11:49 +0100)]
[aat] Generate finegrained unsafe-to-break in state-machine!
Neato.
Behdad Esfahbod [Thu, 11 Jan 2018 10:37:12 +0000 (11:37 +0100)]
[buffer] Fix crash
Behdad Esfahbod [Thu, 11 Jan 2018 09:51:46 +0000 (10:51 +0100)]
[test/text-rendering-tests] Add DISABLED list
Behdad Esfahbod [Thu, 11 Jan 2018 09:48:42 +0000 (10:48 +0100)]
[test/in-house] Add Makefile.sources
Behdad Esfahbod [Thu, 11 Jan 2018 09:47:31 +0000 (10:47 +0100)]
Minor
Behdad Esfahbod [Thu, 11 Jan 2018 09:30:22 +0000 (10:30 +0100)]
[test/text-rendering-tests] Update from upstream
Also adds an update.sh script that does this automatically.
Behdad Esfahbod [Thu, 11 Jan 2018 09:11:01 +0000 (10:11 +0100)]
[test/text-rendering-tests] Add README and COPYING
Behdad Esfahbod [Thu, 11 Jan 2018 09:08:25 +0000 (10:08 +0100)]
[aat] Fix RearrangementSubtable action