platform/upstream/libHarfBuzzSharp.git
6 years agoConfigure automake to run the new subset tests.
Garret Rieger [Mon, 29 Jan 2018 21:30:02 +0000 (13:30 -0800)]
Configure automake to run the new subset tests.

6 years agoWIP test runner for subset tests.
Garret Rieger [Sat, 27 Jan 2018 00:57:42 +0000 (16:57 -0800)]
WIP test runner for subset tests.

6 years agoIn generate-expected-outputs read the test definition with utf8 encoding.
Garret Rieger [Fri, 26 Jan 2018 22:25:39 +0000 (14:25 -0800)]
In generate-expected-outputs read the test definition with utf8 encoding.

6 years agoAdd basic directory structure for subsetter integration tests. Plus a utility for...
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.

6 years agoStart to sketch APIs for subsetting
Rod Sheeter [Thu, 18 Jan 2018 06:09:07 +0000 (22:09 -0800)]
Start to sketch APIs for subsetting

6 years ago[configure] Fix wording
Behdad Esfahbod [Sun, 4 Feb 2018 17:38:18 +0000 (12:38 -0500)]
[configure] Fix wording

Fixes https://github.com/harfbuzz/harfbuzz/issues/741

6 years ago[aat] In ContextualSubtable, mark mark after substituting mark
Behdad Esfahbod [Fri, 2 Feb 2018 21:08:50 +0000 (16:08 -0500)]
[aat] In ContextualSubtable, mark mark after substituting mark

Fixes MORX-21.

6 years ago[aat] Fix ContextualSubtable sanitization
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.

6 years agoCorrectly show documentation build status
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

6 years agoEnable use of atexit() on macOS and related platforms.
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.

6 years agoUse nullptr, not NULL.
Bruce Mitchener [Sat, 3 Feb 2018 18:31:53 +0000 (01:31 +0700)]
Use nullptr, not NULL.

6 years ago[cmake] unistd typo fix (#747)
Ebrahim Byagowi [Sat, 3 Feb 2018 09:23:48 +0000 (12:53 +0330)]
[cmake] unistd typo fix (#747)

6 years agoLet VS1 follow U+1031 MYANMAR VOWEL SIGN E
David Corbett [Fri, 2 Feb 2018 17:04:04 +0000 (12:04 -0500)]
Let VS1 follow U+1031 MYANMAR VOWEL SIGN E

6 years agoAllow optional ZWJ in virama terminated cluster
punchcutter [Wed, 31 Jan 2018 22:09:04 +0000 (14:09 -0800)]
Allow optional ZWJ in virama terminated cluster

6 years agoUse nullptr instead of 0.
Bruce Mitchener [Wed, 31 Jan 2018 13:16:08 +0000 (20:16 +0700)]
Use nullptr instead of 0.

6 years agoFix typos.
Bruce Mitchener [Wed, 31 Jan 2018 13:44:45 +0000 (20:44 +0700)]
Fix typos.

6 years ago[ot-layout] Fix nullptr dereference.
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.

6 years ago[coretext] Fix memory leaks.
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.

6 years ago1.7.5
Behdad Esfahbod [Tue, 30 Jan 2018 19:16:51 +0000 (11:16 -0800)]
1.7.5

6 years agoFix distcheck
Behdad Esfahbod [Tue, 30 Jan 2018 19:51:56 +0000 (11:51 -0800)]
Fix distcheck

6 years ago[aat] Limit number of DontAdvance transitions
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

6 years ago[test/text-rendering-tests] Update from upstream
Behdad Esfahbod [Mon, 29 Jan 2018 18:07:05 +0000 (10:07 -0800)]
[test/text-rendering-tests] Update from upstream

6 years ago[cmake] Build src/ executables (#733)
Ebrahim Byagowi [Tue, 30 Jan 2018 06:31:46 +0000 (10:01 +0330)]
[cmake] Build src/ executables (#733)

6 years ago[test] Use 'otool -L' where ldd doesn't exist (macOS) (#732)
Ebrahim Byagowi [Mon, 29 Jan 2018 14:35:24 +0000 (18:05 +0330)]
[test] Use 'otool -L' where ldd doesn't exist (macOS) (#732)

6 years agoFix Travis build on macOS (#731)
David Corbett [Sun, 28 Jan 2018 22:48:28 +0000 (17:48 -0500)]
Fix Travis build on macOS (#731)

6 years agoMisc warning fixes
Behdad Esfahbod [Sat, 27 Jan 2018 02:14:05 +0000 (18:14 -0800)]
Misc warning fixes

Fixes https://github.com/harfbuzz/harfbuzz/issues/712

6 years agoUse KernSubTableFormat2::rightClassTable
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.

6 years ago[cmake] Use -fvisibility-inlines-hidden instead (#726)
Ebrahim Byagowi [Thu, 25 Jan 2018 06:23:32 +0000 (09:53 +0330)]
[cmake] Use -fvisibility-inlines-hidden instead (#726)

6 years ago[cmake] fix symbol exporting issue on newer gcc (#724)
Ebrahim Byagowi [Mon, 22 Jan 2018 17:53:19 +0000 (21:23 +0330)]
[cmake] fix symbol exporting issue on newer gcc (#724)

6 years ago[ci] minor, less hacks (#722)
Ebrahim Byagowi [Mon, 22 Jan 2018 15:07:26 +0000 (18:37 +0330)]
[ci] minor, less hacks (#722)

6 years ago[ci] minor (#721)
Ebrahim Byagowi [Mon, 22 Jan 2018 09:46:54 +0000 (13:16 +0330)]
[ci] minor (#721)

6 years ago[ci] unbreak bots with outdated freetype version (#718)
Ebrahim Byagowi [Mon, 22 Jan 2018 09:38:35 +0000 (13:08 +0330)]
[ci] unbreak bots with outdated freetype version (#718)

6 years agoFix typos.
Bruce Mitchener [Sun, 21 Jan 2018 13:40:34 +0000 (20:40 +0700)]
Fix typos.

6 years ago[aat] Fix Ligature matching
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...

6 years ago[aat] Add TODO
Behdad Esfahbod [Sat, 20 Jan 2018 02:24:00 +0000 (18:24 -0800)]
[aat] Add TODO

6 years ago[aat] Implement LigatureSubtable
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.

6 years ago[aat] Embed a sanitizer context in hb_aat_apply_context_t
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.

6 years ago[aat] Add hb_aat_apply_context_t
Behdad Esfahbod [Thu, 18 Jan 2018 00:59:55 +0000 (16:59 -0800)]
[aat] Add hb_aat_apply_context_t

6 years agoRename hb_apply_context_t to hb_ot_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

6 years agoWhitespace
Behdad Esfahbod [Wed, 17 Jan 2018 20:46:08 +0000 (12:46 -0800)]
Whitespace

6 years ago[cmake] Always put test/api/CMakeLists.txt on distributions
Ebrahim Byagowi [Fri, 19 Jan 2018 12:42:24 +0000 (16:12 +0330)]
[cmake] Always put test/api/CMakeLists.txt on distributions

6 years agohb-common.cc: Hatran script is right-to-left (#714)
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

6 years agoImprove avoiding C++ linkage, definition creation and cmake tests (#710)
Ebrahim Byagowi [Thu, 18 Jan 2018 21:42:31 +0000 (01:12 +0330)]
Improve avoiding C++ linkage, definition creation and cmake tests (#710)

6 years agoUpdate record-test.sh to the new directory layout (#716)
David Corbett [Thu, 18 Jan 2018 21:34:13 +0000 (16:34 -0500)]
Update record-test.sh to the new directory layout (#716)

6 years ago[aat] Allocate set dynamically
Behdad Esfahbod [Wed, 17 Jan 2018 18:02:48 +0000 (10:02 -0800)]
[aat] Allocate set dynamically

6 years agoTypo
Behdad Esfahbod [Wed, 17 Jan 2018 17:47:50 +0000 (09:47 -0800)]
Typo

Fixes https://github.com/harfbuzz/harfbuzz/issues/711

6 years ago[cmake] don't link to libstdc++ (#707)
Ebrahim Byagowi [Tue, 16 Jan 2018 18:30:21 +0000 (22:00 +0330)]
[cmake] don't link to libstdc++ (#707)

6 years ago[cmake] Fix for CMake 3.0 and below (#706)
rdb [Tue, 16 Jan 2018 16:04:33 +0000 (17:04 +0100)]
[cmake] Fix for CMake 3.0 and below (#706)

6 years ago[cmake] Fix symbols visibility and enable check-symbols.sh test (#705)
Ebrahim Byagowi [Tue, 16 Jan 2018 10:48:09 +0000 (14:18 +0330)]
[cmake] Fix symbols visibility and enable check-symbols.sh test (#705)

6 years agoDisable MORX-13/14
Behdad Esfahbod [Tue, 16 Jan 2018 01:46:58 +0000 (20:46 -0500)]
Disable MORX-13/14

Really, need better way to catch these :(.

6 years agoDisallow sanitize recursing into Extension subtables multiple times
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.

6 years agoWhitespace
Behdad Esfahbod [Tue, 16 Jan 2018 01:34:05 +0000 (20:34 -0500)]
Whitespace

6 years ago[aat] Sanitize classTable in StateTable
Behdad Esfahbod [Mon, 15 Jan 2018 20:41:51 +0000 (15:41 -0500)]
[aat] Sanitize classTable in StateTable

6 years ago[aat] Wire up table length to apply()
Behdad Esfahbod [Mon, 15 Jan 2018 20:37:55 +0000 (15:37 -0500)]
[aat] Wire up table length to apply()

6 years ago[aat] Towards implementing LigatureSubtable
Behdad Esfahbod [Sun, 14 Jan 2018 20:03:31 +0000 (15:03 -0500)]
[aat] Towards implementing LigatureSubtable

6 years agoFix set initializer
Behdad Esfahbod [Sat, 13 Jan 2018 17:05:12 +0000 (17:05 +0000)]
Fix set initializer

6 years ago[test/text-rendering-tests] Update from upstream
Behdad Esfahbod [Sat, 13 Jan 2018 14:44:39 +0000 (14:44 +0000)]
[test/text-rendering-tests] Update from upstream

6 years ago[aat] Fix some struct sizes
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...

6 years ago[aat] Flush rest of buffer if state machine failed
Behdad Esfahbod [Fri, 12 Jan 2018 10:42:25 +0000 (11:42 +0100)]
[aat] Flush rest of buffer if state machine failed

6 years agoMinor
Behdad Esfahbod [Fri, 12 Jan 2018 10:37:01 +0000 (11:37 +0100)]
Minor

6 years ago[aat] Fix symbol visibility
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...

6 years agoRevert accidental morx enablement
Behdad Esfahbod [Fri, 12 Jan 2018 10:28:09 +0000 (11:28 +0100)]
Revert accidental morx enablement

6 years agoFix docs
Behdad Esfahbod [Fri, 12 Jan 2018 10:27:51 +0000 (11:27 +0100)]
Fix docs

6 years ago[aat] Tweak previous commit
Behdad Esfahbod [Fri, 12 Jan 2018 10:12:20 +0000 (11:12 +0100)]
[aat] Tweak previous commit

6 years ago[aat] Detect infinite-loops in state machine
Behdad Esfahbod [Fri, 12 Jan 2018 10:09:21 +0000 (11:09 +0100)]
[aat] Detect infinite-loops in state machine

6 years ago[circleci] cat test logs on failure on autotools-based builds
Behdad Esfahbod [Fri, 12 Jan 2018 09:55:44 +0000 (10:55 +0100)]
[circleci] cat test logs on failure on autotools-based builds

6 years ago[travis] On test failure, cat all .log files
Behdad Esfahbod [Fri, 12 Jan 2018 09:53:52 +0000 (10:53 +0100)]
[travis] On test failure, cat all .log files

6 years ago[travis] Update cat'ing test-suite.log files
Behdad Esfahbod [Fri, 12 Jan 2018 09:51:51 +0000 (10:51 +0100)]
[travis] Update cat'ing test-suite.log files

6 years agoDisable C++11
Behdad Esfahbod [Fri, 12 Jan 2018 08:46:38 +0000 (09:46 +0100)]
Disable C++11

To better catch errors locally.

6 years ago[aat] Fix more builds
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...

6 years ago[aat] Fix builds
Behdad Esfahbod [Fri, 12 Jan 2018 08:38:55 +0000 (09:38 +0100)]
[aat] Fix builds

6 years agoUpdate _POSIX_C_SOURCE to the latest version
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.

6 years ago[aat] Port RearrangementSubtable to StateTableDriver
Behdad Esfahbod [Thu, 11 Jan 2018 23:08:22 +0000 (00:08 +0100)]
[aat] Port RearrangementSubtable to StateTableDriver

6 years ago[aat] Add StateTableDriver and convert ContextualSubtable to it
Behdad Esfahbod [Thu, 11 Jan 2018 23:01:36 +0000 (00:01 +0100)]
[aat] Add StateTableDriver and convert ContextualSubtable to it

6 years ago[test/text-rendering-tests] Update README
Behdad Esfahbod [Thu, 11 Jan 2018 21:47:08 +0000 (22:47 +0100)]
[test/text-rendering-tests] Update README

6 years ago[test] Disable MORX-12
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.

6 years ago[aat] Remove 'mort' support
Behdad Esfahbod [Thu, 11 Jan 2018 21:43:57 +0000 (22:43 +0100)]
[aat] Remove 'mort' support

It's dead, Jim!

6 years ago[aat] Allow DontAdvance
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.

6 years ago[test/text-rendering-tests] Update from upstream
Behdad Esfahbod [Thu, 11 Jan 2018 18:22:37 +0000 (19:22 +0100)]
[test/text-rendering-tests] Update from upstream

6 years ago[aat] Sanitize ContextualSubtable
Behdad Esfahbod [Thu, 11 Jan 2018 17:54:49 +0000 (18:54 +0100)]
[aat] Sanitize ContextualSubtable

6 years agoMore warning fixes
Behdad Esfahbod [Thu, 11 Jan 2018 17:19:42 +0000 (18:19 +0100)]
More warning fixes

6 years ago[aat] Sanitize StateTable
Behdad Esfahbod [Thu, 11 Jan 2018 17:15:53 +0000 (18:15 +0100)]
[aat] Sanitize StateTable

6 years ago[aat] Actually fix d887f931485b715775e922516a4b0de5bb92c34f
Behdad Esfahbod [Thu, 11 Jan 2018 17:01:10 +0000 (18:01 +0100)]
[aat] Actually fix d887f931485b715775e922516a4b0de5bb92c34f

6 years ago[test/text-rendering-tests] Actually disable MORX-11
Behdad Esfahbod [Thu, 11 Jan 2018 16:59:03 +0000 (17:59 +0100)]
[test/text-rendering-tests] Actually disable MORX-11

6 years ago[buffer] Fix compiler warnings
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
...

6 years ago[aat] Make bots happy
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);
                            ~~~^

6 years ago[aat] In NoncontextualSubtable, handle MarkLast with end-of-line transition
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.

6 years ago[test/text-rendering-tests] Update from upstream
Behdad Esfahbod [Thu, 11 Jan 2018 14:18:22 +0000 (15:18 +0100)]
[test/text-rendering-tests] Update from upstream

6 years ago[aat] Implement ContextualSubtable
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.

6 years ago[aat] Towards implementing ContextualSubtable
Behdad Esfahbod [Thu, 11 Jan 2018 13:50:47 +0000 (14:50 +0100)]
[aat] Towards implementing ContextualSubtable

6 years ago[aat] Implement end-of-text in state machine
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.

6 years ago[test/text-rendering-tests] Update from upstream
Behdad Esfahbod [Thu, 11 Jan 2018 10:55:29 +0000 (11:55 +0100)]
[test/text-rendering-tests] Update from upstream

6 years agoMinor
Behdad Esfahbod [Thu, 11 Jan 2018 10:55:10 +0000 (11:55 +0100)]
Minor

6 years ago[cmake] Update and unbreak (#700)
Ebrahim Byagowi [Thu, 11 Jan 2018 12:13:23 +0000 (15:43 +0330)]
[cmake] Update and unbreak (#700)

6 years ago[aat] Generate finegrained unsafe-to-break in state-machine!
Behdad Esfahbod [Thu, 11 Jan 2018 10:49:07 +0000 (11:49 +0100)]
[aat] Generate finegrained unsafe-to-break in state-machine!

Neato.

6 years ago[buffer] Fix crash
Behdad Esfahbod [Thu, 11 Jan 2018 10:37:12 +0000 (11:37 +0100)]
[buffer] Fix crash

6 years ago[test/text-rendering-tests] Add DISABLED list
Behdad Esfahbod [Thu, 11 Jan 2018 09:51:46 +0000 (10:51 +0100)]
[test/text-rendering-tests] Add DISABLED list

6 years ago[test/in-house] Add Makefile.sources
Behdad Esfahbod [Thu, 11 Jan 2018 09:48:42 +0000 (10:48 +0100)]
[test/in-house] Add Makefile.sources

6 years agoMinor
Behdad Esfahbod [Thu, 11 Jan 2018 09:47:31 +0000 (10:47 +0100)]
Minor

6 years ago[test/text-rendering-tests] Update from upstream
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.