platform/upstream/libHarfBuzzSharp.git
6 years agoRename HB_SUBSET_sources -> HB_SUBSET_CLI_sources to match what cmake is looking...
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.

6 years agoWrap unistd.h include in ifdef.
Garret Rieger [Mon, 5 Feb 2018 18:24:16 +0000 (10:24 -0800)]
Wrap unistd.h include in ifdef.

6 years agoAdd libharfbuzz-subset.la to linking when building api tests.
Garret Rieger [Mon, 5 Feb 2018 18:23:38 +0000 (10:23 -0800)]
Add libharfbuzz-subset.la to linking when building api tests.

6 years ago[subset] Build hb-subset into separate libharfbuzz-subset.so
Behdad Esfahbod [Mon, 5 Feb 2018 01:18:52 +0000 (20:18 -0500)]
[subset] Build hb-subset into separate libharfbuzz-subset.so

6 years ago[subset] Minor
Behdad Esfahbod [Mon, 5 Feb 2018 01:08:50 +0000 (20:08 -0500)]
[subset] Minor

6 years agoMerge pull request #745 from googlefonts/master
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.

6 years ago[test/text-rendering-tests] Update from upstream
Behdad Esfahbod [Sun, 4 Feb 2018 22:19:58 +0000 (17:19 -0500)]
[test/text-rendering-tests] Update from upstream

6 years ago[aat] Fix unsafe-to-break
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.

6 years agoActually call hb_subset
Rod Sheeter [Sun, 4 Feb 2018 20:31:24 +0000 (12:31 -0800)]
Actually call hb_subset

6 years agoAdd CMakeLists.txt to dist files for subset test.
Garret Rieger [Sat, 3 Feb 2018 01:54:11 +0000 (17:54 -0800)]
Add CMakeLists.txt to dist files for subset test.

6 years agoAdd CMake configuration for all of the new subsetting code.
Garret Rieger [Sat, 3 Feb 2018 01:50:45 +0000 (17:50 -0800)]
Add CMake configuration for all of the new subsetting code.

6 years agoAdd missing unistd header to hb-subset.
Garret Rieger [Sat, 3 Feb 2018 01:49:14 +0000 (17:49 -0800)]
Add missing unistd header to hb-subset.

6 years agoProperly include subset test data files.
Garret Rieger [Fri, 2 Feb 2018 02:36:15 +0000 (18:36 -0800)]
Properly include subset test data files.

6 years agoRe-write hb-subset utility to use main-font-text driver.
Garret Rieger [Fri, 2 Feb 2018 02:22:14 +0000 (18:22 -0800)]
Re-write hb-subset utility to use main-font-text driver.

6 years agoWhitespace
Garret Rieger [Fri, 2 Feb 2018 01:17:36 +0000 (17:17 -0800)]
Whitespace

6 years agoInclude subset test files in distribution.
Garret Rieger [Fri, 2 Feb 2018 01:14:51 +0000 (17:14 -0800)]
Include subset test files in distribution.

6 years agoWhitespace
Garret Rieger [Fri, 2 Feb 2018 00:50:18 +0000 (16:50 -0800)]
Whitespace

6 years agoGet test-subset to pass.
Garret Rieger [Wed, 31 Jan 2018 23:43:24 +0000 (15:43 -0800)]
Get test-subset to pass.

6 years agoAttach add a hb_face_t to hb_subset_face_t.
Garret Rieger [Wed, 31 Jan 2018 23:20:52 +0000 (15:20 -0800)]
Attach add a hb_face_t to hb_subset_face_t.

6 years agoWhitespace
Garret Rieger [Wed, 31 Jan 2018 22:53:28 +0000 (14:53 -0800)]
Whitespace

6 years agoAdd a basic implementation of hb-subset to enable compilation of test-subset.
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.

6 years agoMake the expected output for subsetting basics test be equal to the input file for...
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.

6 years agoAdd the beginning of a unit test for hb-subset
Garret Rieger [Wed, 31 Jan 2018 19:14:53 +0000 (11:14 -0800)]
Add the beginning of a unit test for hb-subset

6 years agotweak test failure output. write to a temp file not stdout. test still fails because...
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

6 years agoAdd hb-subset.h to hb.h
Garret Rieger [Wed, 31 Jan 2018 02:40:23 +0000 (18:40 -0800)]
Add hb-subset.h to hb.h

6 years agoFix typo in hb-subset.h
Garret Rieger [Wed, 31 Jan 2018 02:39:41 +0000 (18:39 -0800)]
Fix typo in hb-subset.h

6 years agoRemove basic subset test from XFAIL
Garret Rieger [Tue, 30 Jan 2018 22:03:16 +0000 (14:03 -0800)]
Remove basic subset test from XFAIL

6 years agoWhitespace
Garret Rieger [Mon, 29 Jan 2018 21:31:49 +0000 (13:31 -0800)]
Whitespace

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[aat] More adjustment to ContextualSubtable
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...

6 years ago[aat] In ContextualSubstitute, apply end-of-text action to last glyph
Behdad Esfahbod [Sun, 4 Feb 2018 19:40:17 +0000 (14:40 -0500)]
[aat] In ContextualSubstitute, apply end-of-text action to last glyph

6 years ago[aat] Remove unneeded check
Behdad Esfahbod [Sun, 4 Feb 2018 19:19:41 +0000 (14:19 -0500)]
[aat] Remove unneeded check

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.