Behdad Esfahbod [Wed, 10 Jan 2018 15:47:47 +0000 (16:47 +0100)]
[util] Replace setlinebuf
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.
Behdad Esfahbod [Wed, 10 Jan 2018 10:09:53 +0000 (11:09 +0100)]
[aat] Add Class subtable thingy
From old 'mort' table.
Ebrahim Byagowi [Wed, 10 Jan 2018 12:15:12 +0000 (15:45 +0330)]
[cmake] Add header existence tests (#685)
Ebrahim Byagowi [Wed, 10 Jan 2018 08:43:28 +0000 (12:13 +0330)]
[cmake] Fix tests against latest changes (#690)
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.
Behdad Esfahbod [Wed, 10 Jan 2018 04:40:43 +0000 (05:40 +0100)]
[test] Move test handling to sundirectories
Behdad Esfahbod [Wed, 10 Jan 2018 04:26:55 +0000 (05:26 +0100)]
[test] Whitelist one more passing test
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.
Behdad Esfahbod [Wed, 10 Jan 2018 04:02:42 +0000 (05:02 +0100)]
[test] Whitelist one more passing test
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.
Behdad Esfahbod [Wed, 10 Jan 2018 03:12:35 +0000 (04:12 +0100)]
[test] Whitelist one passing test
Behdad Esfahbod [Wed, 10 Jan 2018 02:56:43 +0000 (03:56 +0100)]
Minor
Behdad Esfahbod [Wed, 10 Jan 2018 02:51:09 +0000 (03:51 +0100)]
Minor
Behdad Esfahbod [Wed, 10 Jan 2018 02:49:32 +0000 (03:49 +0100)]
[test] Another try
Making cmake happy this time.
Behdad Esfahbod [Wed, 10 Jan 2018 02:48:09 +0000 (03:48 +0100)]
[test] Fix text disabling
Ouch, make!
Behdad Esfahbod [Wed, 10 Jan 2018 02:41:55 +0000 (03:41 +0100)]
[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
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.
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.
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
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.
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'
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...
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.
Behdad Esfahbod [Wed, 10 Jan 2018 01:37:39 +0000 (02:37 +0100)]
[test] Minor
Behdad Esfahbod [Wed, 10 Jan 2018 01:35:59 +0000 (02:35 +0100)]
[kern] Mark unsafe-to-break
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
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
Behdad Esfahbod [Wed, 10 Jan 2018 00:13:36 +0000 (01:13 +0100)]
[test] Minor
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.
Behdad Esfahbod [Tue, 9 Jan 2018 22:11:00 +0000 (23:11 +0100)]
[test] Minor
Behdad Esfahbod [Tue, 9 Jan 2018 20:58:57 +0000 (21:58 +0100)]
[test] Reorganize test suite
In anticipation of importing more test suites.
Behdad Esfahbod [Tue, 9 Jan 2018 20:35:21 +0000 (21:35 +0100)]
[test] Remove unused hb-diff-ngrams
Behdad Esfahbod [Tue, 9 Jan 2018 20:33:38 +0000 (21:33 +0100)]
[test] Remove unused manifest stuff
Behdad Esfahbod [Tue, 9 Jan 2018 17:23:19 +0000 (18:23 +0100)]
[test] Move test files around
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.
Behdad Esfahbod [Tue, 9 Jan 2018 15:32:58 +0000 (16:32 +0100)]
Minor
Behdad Esfahbod [Tue, 9 Jan 2018 14:48:51 +0000 (15:48 +0100)]
[aat] Implement Lookup table
Untested, but compiles.
Behdad Esfahbod [Tue, 9 Jan 2018 11:06:38 +0000 (12:06 +0100)]
Minor
Behdad Esfahbod [Mon, 8 Jan 2018 14:32:55 +0000 (14:32 +0000)]
[aat] Update previous commits for rebase on master
Behdad Esfahbod [Thu, 17 Aug 2017 23:55:54 +0000 (16:55 -0700)]
[aat] Start implementing common table formats
Behdad Esfahbod [Tue, 15 Aug 2017 00:24:36 +0000 (17:24 -0700)]
[aat] Start implementing Apple AAT morx table
Ebrahim Byagowi [Mon, 8 Jan 2018 22:09:42 +0000 (01:39 +0330)]
[cmake] Add autotools like feature testing (#683)
Behdad Esfahbod [Mon, 8 Jan 2018 10:07:46 +0000 (10:07 +0000)]
[ft] Use FT_Done_MM_Var() if available
Behdad Esfahbod [Fri, 5 Jan 2018 18:09:29 +0000 (18:09 +0000)]
[khmer] Relax!
Apparently we don't use OT_A either.
Behdad Esfahbod [Fri, 5 Jan 2018 18:06:00 +0000 (18:06 +0000)]
[khmer] Drop another joiner
Behdad Esfahbod [Fri, 5 Jan 2018 18:04:56 +0000 (18:04 +0000)]
[khmer] Shuffle
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%)
Behdad Esfahbod [Fri, 5 Jan 2018 18:01:01 +0000 (18:01 +0000)]
[khmer] Clean
Behdad Esfahbod [Fri, 5 Jan 2018 17:59:43 +0000 (17:59 +0000)]
[khmer] Limit number of joiners
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%)
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%)
Behdad Esfahbod [Fri, 5 Jan 2018 17:47:35 +0000 (17:47 +0000)]
[khmer] Drop some more joiners
Behdad Esfahbod [Fri, 5 Jan 2018 17:46:49 +0000 (17:46 +0000)]
[khmer] Drop some more
Behdad Esfahbod [Fri, 5 Jan 2018 17:45:48 +0000 (17:45 +0000)]
[khmer] Drop some more grammar
Behdad Esfahbod [Fri, 5 Jan 2018 17:44:18 +0000 (17:44 +0000)]
[khmer] Drop some more from grammar
Behdad Esfahbod [Fri, 5 Jan 2018 17:43:31 +0000 (17:43 +0000)]
[khmer] Drop final_halant_group
Behdad Esfahbod [Fri, 5 Jan 2018 17:34:26 +0000 (17:34 +0000)]
Minor
Behdad Esfahbod [Fri, 5 Jan 2018 17:27:48 +0000 (17:27 +0000)]
[indic] Remove unused OT_VD category
Behdad Esfahbod [Fri, 5 Jan 2018 17:21:55 +0000 (17:21 +0000)]
[khmer] Shave off some more from the grammar
Behdad Esfahbod [Fri, 5 Jan 2018 17:17:02 +0000 (17:17 +0000)]
[khmer] Remove unused symbol clusters
Behdad Esfahbod [Fri, 5 Jan 2018 17:15:31 +0000 (17:15 +0000)]
Minor
Behdad Esfahbod [Fri, 5 Jan 2018 17:14:27 +0000 (17:14 +0000)]
[khmer] Remove medials from grammar
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.
Behdad Esfahbod [Fri, 5 Jan 2018 17:05:53 +0000 (17:05 +0000)]
[khmer] Remove reph/repha support 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.
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%)
Behdad Esfahbod [Fri, 5 Jan 2018 16:28:00 +0000 (16:28 +0000)]
[khmer] Remove some more unused code
Behdad Esfahbod [Fri, 5 Jan 2018 16:13:09 +0000 (16:13 +0000)]
[khmer] Remove features not used by Khmer
Behdad Esfahbod [Fri, 5 Jan 2018 16:08:44 +0000 (16:08 +0000)]
[khmer] Remove rphf feature
Behdad Esfahbod [Fri, 5 Jan 2018 16:06:53 +0000 (16:06 +0000)]
[khmer] Remove non-Khmer matra positioning code
Behdad Esfahbod [Fri, 5 Jan 2018 16:04:02 +0000 (16:04 +0000)]
[khmer] Remove indic_config_t
Behdad Esfahbod [Fri, 5 Jan 2018 16:02:27 +0000 (16:02 +0000)]
[khmer] Remove indic_config->reph_mode
Behdad Esfahbod [Fri, 5 Jan 2018 16:01:17 +0000 (16:01 +0000)]
[khmer] Remove indic_config->reph_pos
Behdad Esfahbod [Fri, 5 Jan 2018 15:50:05 +0000 (15:50 +0000)]
[khmer] Remove indic_config->base_pos
Behdad Esfahbod [Fri, 5 Jan 2018 15:45:30 +0000 (15:45 +0000)]
[khmer] Remove other scripts
Behdad Esfahbod [Fri, 5 Jan 2018 15:43:48 +0000 (15:43 +0000)]
[khmer] Remove indic_config->script
Behdad Esfahbod [Fri, 5 Jan 2018 15:43:11 +0000 (15:43 +0000)]
[khmer] Remove indic_config->virama
Behdad Esfahbod [Fri, 5 Jan 2018 15:41:31 +0000 (15:41 +0000)]
[khmer] Remove indic_config->has_old_spec
Behdad Esfahbod [Fri, 5 Jan 2018 15:36:53 +0000 (15:36 +0000)]
[khmer] Remove Halant from Khmer 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.
Behdad Esfahbod [Fri, 5 Jan 2018 15:08:28 +0000 (15:08 +0000)]
[indic] Remove main Khmer stuff
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%)
Behdad Esfahbod [Fri, 5 Jan 2018 14:01:37 +0000 (14:01 +0000)]
[ot] Short-circuit base instance advance variation
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
Behdad Esfahbod [Fri, 5 Jan 2018 13:17:02 +0000 (13:17 +0000)]
Minor
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
Behdad Esfahbod [Fri, 5 Jan 2018 12:55:39 +0000 (12:55 +0000)]
Add test font for previous commit
Behdad Esfahbod [Fri, 5 Jan 2018 12:50:22 +0000 (12:50 +0000)]
Merge remote-tracking branch 'fdo/master'
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
Ebrahim Byagowi [Fri, 5 Jan 2018 09:12:20 +0000 (12:42 +0330)]
Improve tests (#679)
Behdad Esfahbod [Thu, 4 Jan 2018 16:06:25 +0000 (16:06 +0000)]
Minor
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.
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.
Ebrahim Byagowi [Thu, 4 Jan 2018 06:41:34 +0000 (10:11 +0330)]
[cmake] Run src/ tests (#675)
Behdad Esfahbod [Wed, 3 Jan 2018 14:27:34 +0000 (14:27 +0000)]
[use] Simplify more
Behdad Esfahbod [Wed, 3 Jan 2018 14:24:44 +0000 (14:24 +0000)]
[use] Simplify
Fixes https://github.com/harfbuzz/harfbuzz/pull/661
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
Behdad Esfahbod [Wed, 3 Jan 2018 12:46:29 +0000 (12:46 +0000)]
[util] Add TODO item