platform/upstream/libHarfBuzzSharp.git
6 years ago[util] Replace setlinebuf
Behdad Esfahbod [Wed, 10 Jan 2018 15:47:47 +0000 (16:47 +0100)]
[util] Replace setlinebuf

6 years ago[util] Set stdio files to line buffering
Behdad Esfahbod [Wed, 10 Jan 2018 12:54:36 +0000 (13:54 +0100)]
[util] Set stdio files to line buffering

So we can stream lines to hb-shape and read output.

6 years ago[aat] Add Class subtable thingy
Behdad Esfahbod [Wed, 10 Jan 2018 10:09:53 +0000 (11:09 +0100)]
[aat] Add Class subtable thingy

From old 'mort' table.

6 years ago[cmake] Add header existence tests (#685)
Ebrahim Byagowi [Wed, 10 Jan 2018 12:15:12 +0000 (15:45 +0330)]
[cmake] Add header existence tests (#685)

6 years ago[cmake] Fix tests against latest changes (#690)
Ebrahim Byagowi [Wed, 10 Jan 2018 08:43:28 +0000 (12:13 +0330)]
[cmake] Fix tests against latest changes (#690)

6 years agoImprove HB_BUFFER_SERIALIZE_FLAG_NO_ADVANCES docs
Khaled Hosny [Wed, 10 Jan 2018 05:12:07 +0000 (07:12 +0200)]
Improve HB_BUFFER_SERIALIZE_FLAG_NO_ADVANCES docs

Add the note about absolute glyph positions from the commit message.

6 years ago[test] Move test handling to sundirectories
Behdad Esfahbod [Wed, 10 Jan 2018 04:40:43 +0000 (05:40 +0100)]
[test] Move test handling to sundirectories

6 years ago[test] Whitelist one more passing test
Behdad Esfahbod [Wed, 10 Jan 2018 04:26:55 +0000 (05:26 +0100)]
[test] Whitelist one more passing test

6 years agoCalculate anchor positions in float, then round
Behdad Esfahbod [Wed, 10 Jan 2018 04:13:47 +0000 (05:13 +0100)]
Calculate anchor positions in float, then round

Hoping to reduce rounding error, to make tests happier...
No luck.

6 years ago[test] Whitelist one more passing test
Behdad Esfahbod [Wed, 10 Jan 2018 04:02:42 +0000 (05:02 +0100)]
[test] Whitelist one more passing test

6 years agoRound, instead of floor, when applying variations
Behdad Esfahbod [Wed, 10 Jan 2018 03:33:08 +0000 (04:33 +0100)]
Round, instead of floor, when applying variations

Hoping this would fix remaining text-rendering-tests failures,
but so far no luck.

6 years ago[test] Whitelist one passing test
Behdad Esfahbod [Wed, 10 Jan 2018 03:12:35 +0000 (04:12 +0100)]
[test] Whitelist one passing test

6 years agoMinor
Behdad Esfahbod [Wed, 10 Jan 2018 02:56:43 +0000 (03:56 +0100)]
Minor

6 years agoMinor
Behdad Esfahbod [Wed, 10 Jan 2018 02:51:09 +0000 (03:51 +0100)]
Minor

6 years ago[test] Another try
Behdad Esfahbod [Wed, 10 Jan 2018 02:49:32 +0000 (03:49 +0100)]
[test] Another try

Making cmake happy this time.

6 years ago[test] Fix text disabling
Behdad Esfahbod [Wed, 10 Jan 2018 02:48:09 +0000 (03:48 +0100)]
[test] Fix text disabling

Ouch, make!

6 years ago[test/text-rendering-tests] Disable failing tests
Behdad Esfahbod [Wed, 10 Jan 2018 02:41:55 +0000 (03:41 +0100)]
[test/text-rendering-tests] Disable failing tests

6 years ago[test/text-rendering-tests] Disable failing tests
Behdad Esfahbod [Wed, 10 Jan 2018 02:38:52 +0000 (03:38 +0100)]
[test/text-rendering-tests] Disable failing tests

6 years agoAdd HB_BUFFER_FLAG_REMOVE_DEFAULT_IGNORABLES
Behdad Esfahbod [Wed, 10 Jan 2018 02:35:20 +0000 (03:35 +0100)]
Add HB_BUFFER_FLAG_REMOVE_DEFAULT_IGNORABLES

New API:
HB_BUFFER_FLAG_REMOVE_DEFAULT_IGNORABLES
hb-shape / hb-view --remove-default-ignorables

One more text-rendering-tests test passing.  Eleven failing.

6 years ago[test/text-rendering-tests] Hook up font variations
Behdad Esfahbod [Wed, 10 Jan 2018 02:22:08 +0000 (03:22 +0100)]
[test/text-rendering-tests] Hook up font variations

Six more passing. Twelve failing now.

6 years ago[test] Add tests from text-rendering-tests repo
Behdad Esfahbod [Wed, 10 Jan 2018 02:16:56 +0000 (03:16 +0100)]
[test] Add tests from text-rendering-tests repo

https://github.com/unicode-org/text-rendering-tests

6 years agoPrefix int types with HB
Behdad Esfahbod [Wed, 10 Jan 2018 02:07:30 +0000 (03:07 +0100)]
Prefix int types with HB

Such a headache that Windows defines UINT8, ...; Just prefix it.

6 years ago[aat] Try fixing VC bots
Behdad Esfahbod [Wed, 10 Jan 2018 01:56:29 +0000 (02:56 +0100)]
[aat] Try fixing VC bots

c:\projects\harfbuzz\src\hb-aat-layout-common-private.hh(51): error C2872: 'UINT16': ambiguous symbol [C:\projects\harfbuzz\build\harfbuzz.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.14393.0\shared\basetsd.h(80): note: could be 'unsigned short UINT16'
c:\projects\harfbuzz\src\hb-open-type-private.hh(648): note: or       'OT::UINT16'

6 years agoDisable processing of morx table in ot shaper
Behdad Esfahbod [Wed, 10 Jan 2018 01:49:36 +0000 (02:49 +0100)]
Disable processing of morx table in ot shaper

So I can merge this to master...

6 years ago[util] Add hb-shape --ned
Behdad Esfahbod [Wed, 10 Jan 2018 01:48:04 +0000 (02:48 +0100)]
[util] Add hb-shape --ned

For not displaying extra data: no clusters, no advance. Just data pertaining
to where glyphs end up on the screen.

6 years ago[test] Minor
Behdad Esfahbod [Wed, 10 Jan 2018 01:37:39 +0000 (02:37 +0100)]
[test] Minor

6 years ago[kern] Mark unsafe-to-break
Behdad Esfahbod [Wed, 10 Jan 2018 01:35:59 +0000 (02:35 +0100)]
[kern] Mark unsafe-to-break

6 years agoAdd option to buffer serialization to not output glyph advances
Behdad Esfahbod [Wed, 10 Jan 2018 01:20:14 +0000 (02:20 +0100)]
Add option to buffer serialization to not output glyph advances

When advances are not printed, glyph offsets reflect absolute glyph
positions.

New API:
HB_BUFFER_SERIALIZE_FLAG_NO_ADVANCES
hb-shape --no-advances

6 years ago[test] Add script for extracting tests from text-rendering-tests
Behdad Esfahbod [Wed, 10 Jan 2018 00:54:12 +0000 (01:54 +0100)]
[test] Add script for extracting tests from text-rendering-tests

Work in progress...

https://github.com/unicode-org/text-rendering-tests

6 years ago[test] Minor
Behdad Esfahbod [Wed, 10 Jan 2018 00:13:36 +0000 (01:13 +0100)]
[test] Minor

6 years ago[test] Simplify test runner
Behdad Esfahbod [Tue, 9 Jan 2018 22:15:54 +0000 (23:15 +0100)]
[test] Simplify test runner

Always pass hb-shape as first argument to run-tests.py.

Also require automake 1.13.

6 years ago[test] Minor
Behdad Esfahbod [Tue, 9 Jan 2018 22:11:00 +0000 (23:11 +0100)]
[test] Minor

6 years ago[test] Reorganize test suite
Behdad Esfahbod [Tue, 9 Jan 2018 20:58:57 +0000 (21:58 +0100)]
[test] Reorganize test suite

In anticipation of importing more test suites.

6 years ago[test] Remove unused hb-diff-ngrams
Behdad Esfahbod [Tue, 9 Jan 2018 20:35:21 +0000 (21:35 +0100)]
[test] Remove unused hb-diff-ngrams

6 years ago[test] Remove unused manifest stuff
Behdad Esfahbod [Tue, 9 Jan 2018 20:33:38 +0000 (21:33 +0100)]
[test] Remove unused manifest stuff

6 years ago[test] Move test files around
Behdad Esfahbod [Tue, 9 Jan 2018 17:23:19 +0000 (18:23 +0100)]
[test] Move test files around

6 years ago[aat/morx] Implement NoncontextualSubtables
Behdad Esfahbod [Tue, 9 Jan 2018 16:55:17 +0000 (17:55 +0100)]
[aat/morx] Implement NoncontextualSubtables

Also makes hb-ot-shape call morx for now instead of GSUB... Just for testing.

6 years agoMinor
Behdad Esfahbod [Tue, 9 Jan 2018 15:32:58 +0000 (16:32 +0100)]
Minor

6 years ago[aat] Implement Lookup table
Behdad Esfahbod [Tue, 9 Jan 2018 14:48:51 +0000 (15:48 +0100)]
[aat] Implement Lookup table

Untested, but compiles.

6 years agoMinor
Behdad Esfahbod [Tue, 9 Jan 2018 11:06:38 +0000 (12:06 +0100)]
Minor

6 years ago[aat] Update previous commits for rebase on master
Behdad Esfahbod [Mon, 8 Jan 2018 14:32:55 +0000 (14:32 +0000)]
[aat] Update previous commits for rebase on master

6 years ago[aat] Start implementing common table formats
Behdad Esfahbod [Thu, 17 Aug 2017 23:55:54 +0000 (16:55 -0700)]
[aat] Start implementing common table formats

6 years ago[aat] Start implementing Apple AAT morx table
Behdad Esfahbod [Tue, 15 Aug 2017 00:24:36 +0000 (17:24 -0700)]
[aat] Start implementing Apple AAT morx table

6 years ago[cmake] Add autotools like feature testing (#683)
Ebrahim Byagowi [Mon, 8 Jan 2018 22:09:42 +0000 (01:39 +0330)]
[cmake] Add autotools like feature testing (#683)

6 years ago[ft] Use FT_Done_MM_Var() if available
Behdad Esfahbod [Mon, 8 Jan 2018 10:07:46 +0000 (10:07 +0000)]
[ft] Use FT_Done_MM_Var() if available

6 years ago[khmer] Relax!
Behdad Esfahbod [Fri, 5 Jan 2018 18:09:29 +0000 (18:09 +0000)]
[khmer] Relax!

Apparently we don't use OT_A either.

6 years ago[khmer] Drop another joiner
Behdad Esfahbod [Fri, 5 Jan 2018 18:06:00 +0000 (18:06 +0000)]
[khmer] Drop another joiner

6 years ago[khmer] Shuffle
Behdad Esfahbod [Fri, 5 Jan 2018 18:04:56 +0000 (18:04 +0000)]
[khmer] Shuffle

6 years ago[khmer] Simplify grammar some more
Behdad Esfahbod [Fri, 5 Jan 2018 18:03:00 +0000 (18:03 +0000)]
[khmer] Simplify grammar some more

Numbers down (from 38):

KHMER: 299090 out of 299124 tests passed. 34 failed (0.0113665%)

6 years ago[khmer] Clean
Behdad Esfahbod [Fri, 5 Jan 2018 18:01:01 +0000 (18:01 +0000)]
[khmer] Clean

6 years ago[khmer] Limit number of joiners
Behdad Esfahbod [Fri, 5 Jan 2018 17:59:43 +0000 (17:59 +0000)]
[khmer] Limit number of joiners

6 years ago[khmer] Relax number of consonants / matras allowed
Behdad Esfahbod [Fri, 5 Jan 2018 17:57:39 +0000 (17:57 +0000)]
[khmer] Relax number of consonants / matras allowed

New numbers (down from 39):

KHMER: 299086 out of 299124 tests passed. 38 failed (0.0127038%)

6 years ago[khmer] Allow Independent Vowels where stacked consonants are allowed
Behdad Esfahbod [Fri, 5 Jan 2018 17:52:24 +0000 (17:52 +0000)]
[khmer] Allow Independent Vowels where stacked consonants are allowed

New numbers (down from 44):

KHMER: 299085 out of 299124 tests passed. 39 failed (0.0130381%)

6 years ago[khmer] Drop some more joiners
Behdad Esfahbod [Fri, 5 Jan 2018 17:47:35 +0000 (17:47 +0000)]
[khmer] Drop some more joiners

6 years ago[khmer] Drop some more
Behdad Esfahbod [Fri, 5 Jan 2018 17:46:49 +0000 (17:46 +0000)]
[khmer] Drop some more

6 years ago[khmer] Drop some more grammar
Behdad Esfahbod [Fri, 5 Jan 2018 17:45:48 +0000 (17:45 +0000)]
[khmer] Drop some more grammar

6 years ago[khmer] Drop some more from grammar
Behdad Esfahbod [Fri, 5 Jan 2018 17:44:18 +0000 (17:44 +0000)]
[khmer] Drop some more from grammar

6 years ago[khmer] Drop final_halant_group
Behdad Esfahbod [Fri, 5 Jan 2018 17:43:31 +0000 (17:43 +0000)]
[khmer] Drop final_halant_group

6 years agoMinor
Behdad Esfahbod [Fri, 5 Jan 2018 17:34:26 +0000 (17:34 +0000)]
Minor

6 years ago[indic] Remove unused OT_VD category
Behdad Esfahbod [Fri, 5 Jan 2018 17:27:48 +0000 (17:27 +0000)]
[indic] Remove unused OT_VD category

6 years ago[khmer] Shave off some more from the grammar
Behdad Esfahbod [Fri, 5 Jan 2018 17:21:55 +0000 (17:21 +0000)]
[khmer] Shave off some more from the grammar

6 years ago[khmer] Remove unused symbol clusters
Behdad Esfahbod [Fri, 5 Jan 2018 17:17:02 +0000 (17:17 +0000)]
[khmer] Remove unused symbol clusters

6 years agoMinor
Behdad Esfahbod [Fri, 5 Jan 2018 17:15:31 +0000 (17:15 +0000)]
Minor

6 years ago[khmer] Remove medials from grammar
Behdad Esfahbod [Fri, 5 Jan 2018 17:14:27 +0000 (17:14 +0000)]
[khmer] Remove medials from grammar

6 years ago[khmer] Better fix for dangling final Coeng
Behdad Esfahbod [Fri, 5 Jan 2018 17:06:29 +0000 (17:06 +0000)]
[khmer] Better fix for dangling final Coeng

This is how 1471cfee3bb2734dc44c58471362851ad27e8bd8 should have
been done.

6 years ago[khmer] Remove reph/repha support from grammar
Behdad Esfahbod [Fri, 5 Jan 2018 17:05:53 +0000 (17:05 +0000)]
[khmer] Remove reph/repha support from grammar

6 years ago[khmer] Remove forced_rakar from grammar
Behdad Esfahbod [Fri, 5 Jan 2018 17:01:37 +0000 (17:01 +0000)]
[khmer] Remove forced_rakar from grammar

Used by Sinhala only.

6 years ago[khmer] Allow a dangling final Coeng after matras
Behdad Esfahbod [Fri, 5 Jan 2018 16:34:20 +0000 (16:34 +0000)]
[khmer] Allow a dangling final Coeng after matras

Uniscribe seems to allow that.  New numbers:

KHMER: 299080 out of 299124 tests passed. 44 failed (0.0147096%)

6 years ago[khmer] Remove some more unused code
Behdad Esfahbod [Fri, 5 Jan 2018 16:28:00 +0000 (16:28 +0000)]
[khmer] Remove some more unused code

6 years ago[khmer] Remove features not used by Khmer
Behdad Esfahbod [Fri, 5 Jan 2018 16:13:09 +0000 (16:13 +0000)]
[khmer] Remove features not used by Khmer

6 years ago[khmer] Remove rphf feature
Behdad Esfahbod [Fri, 5 Jan 2018 16:08:44 +0000 (16:08 +0000)]
[khmer] Remove rphf feature

6 years ago[khmer] Remove non-Khmer matra positioning code
Behdad Esfahbod [Fri, 5 Jan 2018 16:06:53 +0000 (16:06 +0000)]
[khmer] Remove non-Khmer matra positioning code

6 years ago[khmer] Remove indic_config_t
Behdad Esfahbod [Fri, 5 Jan 2018 16:04:02 +0000 (16:04 +0000)]
[khmer] Remove indic_config_t

6 years ago[khmer] Remove indic_config->reph_mode
Behdad Esfahbod [Fri, 5 Jan 2018 16:02:27 +0000 (16:02 +0000)]
[khmer] Remove indic_config->reph_mode

6 years ago[khmer] Remove indic_config->reph_pos
Behdad Esfahbod [Fri, 5 Jan 2018 16:01:17 +0000 (16:01 +0000)]
[khmer] Remove indic_config->reph_pos

6 years ago[khmer] Remove indic_config->base_pos
Behdad Esfahbod [Fri, 5 Jan 2018 15:50:05 +0000 (15:50 +0000)]
[khmer] Remove indic_config->base_pos

6 years ago[khmer] Remove other scripts
Behdad Esfahbod [Fri, 5 Jan 2018 15:45:30 +0000 (15:45 +0000)]
[khmer] Remove other scripts

6 years ago[khmer] Remove indic_config->script
Behdad Esfahbod [Fri, 5 Jan 2018 15:43:48 +0000 (15:43 +0000)]
[khmer] Remove indic_config->script

6 years ago[khmer] Remove indic_config->virama
Behdad Esfahbod [Fri, 5 Jan 2018 15:43:11 +0000 (15:43 +0000)]
[khmer] Remove indic_config->virama

6 years ago[khmer] Remove indic_config->has_old_spec
Behdad Esfahbod [Fri, 5 Jan 2018 15:41:31 +0000 (15:41 +0000)]
[khmer] Remove indic_config->has_old_spec

6 years ago[khmer] Remove Halant from Khmer shaper
Behdad Esfahbod [Fri, 5 Jan 2018 15:36:53 +0000 (15:36 +0000)]
[khmer] Remove Halant from Khmer shaper

6 years ago[indic] Remove more Khmer-specific stuff from Indic shaper
Behdad Esfahbod [Fri, 5 Jan 2018 15:33:11 +0000 (15:33 +0000)]
[indic] Remove more Khmer-specific stuff from Indic shaper

No numbers changed.

6 years ago[indic] Remove main Khmer stuff
Behdad Esfahbod [Fri, 5 Jan 2018 15:08:28 +0000 (15:08 +0000)]
[indic] Remove main Khmer stuff

6 years ago[khmer] Split off Khmer shaper from Indic
Behdad Esfahbod [Fri, 5 Jan 2018 14:54:31 +0000 (14:54 +0000)]
[khmer] Split off Khmer shaper from Indic

Towards fixing https://github.com/harfbuzz/harfbuzz/issues/667
The Khmer spec is different enough from other Indic ones to require
its own grammar.

No change in functionality.  Test numbers are:

BENGALI: 353725 out of 354188 tests passed. 463 failed (0.130722%)
DEVANAGARI: 707307 out of 707394 tests passed. 87 failed (0.0122987%)
GUJARATI: 366355 out of 366457 tests passed. 102 failed (0.0278341%)
GURMUKHI: 60729 out of 60747 tests passed. 18 failed (0.0296311%)
KANNADA: 951300 out of 951913 tests passed. 613 failed (0.0643966%)
KHMER: 299071 out of 299124 tests passed. 53 failed (0.0177184%)
MALAYALAM: 1048136 out of 1048334 tests passed. 198 failed (0.0188871%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271662 out of 271847 tests passed. 185 failed (0.068053%)
TAMIL: 1091754 out of 1091754 tests passed. 0 failed (0%)
TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%)

6 years ago[ot] Short-circuit base instance advance variation
Behdad Esfahbod [Fri, 5 Jan 2018 14:01:37 +0000 (14:01 +0000)]
[ot] Short-circuit base instance advance variation

6 years ago[ot] Fix VariationStore evaluation algorithm
Behdad Esfahbod [Fri, 5 Jan 2018 13:20:21 +0000 (13:20 +0000)]
[ot] Fix VariationStore evaluation algorithm

Ouch!  Missing coords should still be evaluated as coord=0, which
most of the time results in a factor of 0.  We were skipping these,
which was equivalent to a factor of 1.

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

6 years agoMinor
Behdad Esfahbod [Fri, 5 Jan 2018 13:17:02 +0000 (13:17 +0000)]
Minor

6 years ago[ft] If there's no variations set, don't set them on hb-font
Behdad Esfahbod [Fri, 5 Jan 2018 13:06:25 +0000 (13:06 +0000)]
[ft] If there's no variations set, don't set them on hb-font

6 years agoAdd test font for previous commit
Behdad Esfahbod [Fri, 5 Jan 2018 12:55:39 +0000 (12:55 +0000)]
Add test font for previous commit

6 years agoMerge remote-tracking branch 'fdo/master'
Behdad Esfahbod [Fri, 5 Jan 2018 12:50:22 +0000 (12:50 +0000)]
Merge remote-tracking branch 'fdo/master'

6 years agoImprove CGJ skipping logic
Behdad Esfahbod [Fri, 5 Jan 2018 12:46:12 +0000 (12:46 +0000)]
Improve CGJ skipping logic

Previously we made CGJ unskippable.  Now, if CGJ did NOT prevent
any reordering, allow skipping over it.  To make this work we
had to make changes to the Arabic mark reordering algorithm
implementation to renumber moved MCM marks.  See comments.

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

6 years agoImprove tests (#679)
Ebrahim Byagowi [Fri, 5 Jan 2018 09:12:20 +0000 (12:42 +0330)]
Improve tests (#679)

6 years agoMinor
Behdad Esfahbod [Thu, 4 Jan 2018 16:06:25 +0000 (16:06 +0000)]
Minor

6 years agoatomics: Favor compiler primitives over macOS APIs. (#676)
Bruce Mitchener [Thu, 4 Jan 2018 11:40:10 +0000 (18:40 +0700)]
atomics: Favor compiler primitives over macOS APIs. (#676)

In macOS 10.12, the `OSMemoryBarrier` and related APIs were deprecated
in favor of using `std::atomic`. On the way to supporting `std::atomic`,
we can favor using the "Intel primitives" which are also available on
macOS.

6 years ago[cmake] Colorize output when using cmake + ninja. (#674)
Bruce Mitchener [Thu, 4 Jan 2018 11:37:35 +0000 (18:37 +0700)]
[cmake] Colorize output when using cmake + ninja. (#674)

Due to how ninja runs clang and gcc, it doesn't colorize the output
like make does. This forces color output in this situation.

6 years ago[cmake] Run src/ tests (#675)
Ebrahim Byagowi [Thu, 4 Jan 2018 06:41:34 +0000 (10:11 +0330)]
[cmake] Run src/ tests (#675)

6 years ago[use] Simplify more
Behdad Esfahbod [Wed, 3 Jan 2018 14:27:34 +0000 (14:27 +0000)]
[use] Simplify more

6 years ago[use] Simplify
Behdad Esfahbod [Wed, 3 Jan 2018 14:24:44 +0000 (14:24 +0000)]
[use] Simplify

Fixes https://github.com/harfbuzz/harfbuzz/pull/661

6 years ago[use] Fix Brahmi Number Joiner 1107F
Behdad Esfahbod [Wed, 3 Jan 2018 14:22:07 +0000 (14:22 +0000)]
[use] Fix Brahmi Number Joiner 1107F

Fixes https://github.com/harfbuzz/harfbuzz/pull/660

6 years ago[util] Add TODO item
Behdad Esfahbod [Wed, 3 Jan 2018 12:46:29 +0000 (12:46 +0000)]
[util] Add TODO item