Behdad Esfahbod
2d6edc9008
[test] Add Khmer test texts from recent bugs
2018-07-31 13:56:55 -07:00
Behdad Esfahbod
df26a32c8f
[test] Move things around for shaper updates
2018-07-31 13:55:53 -07:00
Garret Rieger
5edf454aa6
[subset] During lookup collection remember the features we've already processed.
2018-07-27 17:29:00 -07:00
David Corbett
62fa7cd1cc
Order Chakma split vowels in accordance with NFC
...
Fixes #1105 .
2018-07-22 19:47:21 -07:00
Behdad Esfahbod
019d18e9ae
Minor
2018-07-17 11:00:24 +02:00
Behdad Esfahbod
58cb4d9f73
Minor
2018-07-11 16:44:21 +02:00
Behdad Esfahbod
9940504e93
[indic] Adjust left-matra repositioning and Halant,ZWJ sequence
...
From the new code (first paragraph is from the OT Devanagari spec.):
/* o Reorder matras:
*
* If a pre-base matra character had been reordered before applying basic
* features, the glyph can be moved closer to the main consonant based on
* whether half-forms had been formed. Actual position for the matra is
* defined as “after last standalone halant glyph, after initial matra
* position and before the main consonant”. If ZWJ or ZWNJ follow this
* halant, position is moved after it.
*
* IMPLEMENTATION NOTES:
*
* It looks like the last sentence is wrong. Testing, with Windows 7 Uniscribe
* and Devanagari shows that the behavior is best described as:
*
* "If ZWJ follows this halant, matra is NOT repositioned after this halant.
* If ZWNJ follows this halant, position is moved after it."
*
* Test case, with Adobe Devanagari or Nirmala UI:
*
* U+091F,U+094D,U+200C,U+092F,U+093F
* (Matra moves to the middle, after ZWNJ.)
*
* U+091F,U+094D,U+200D,U+092F,U+093F
* (Matra does NOT move, stays to the left.)
Fixes https://github.com/harfbuzz/harfbuzz/issues/1070
Test case added with Adobe Devanagari.
2018-07-03 14:34:38 +04:30
Garret Rieger
4f8753464a
[subset] Add fuzzer test case that caused a timeout to the corpus.
2018-06-25 18:37:59 -06:00
Ebrahim Byagowi
f57804a8a5
Resolve ttx absolute path before use ( #1075 )
2018-06-25 18:45:49 +04:30
Jonathan Kew
a95cde15af
[hb-set] Additional testcase for hb-set-intersect.
2018-06-12 01:16:42 -04:00
Garret Rieger
fc246ec985
[subset] Move variable declaration out of loop.
2018-06-08 12:09:34 -06:00
Garret Rieger
197cb18b22
[subset] Add test cases for gsub closure in subsetting.
2018-06-08 12:09:34 -06:00
Garret Rieger
37eab27be3
[subset] Add fuzzing of gsub closure to hb-subset-fuzzer.
2018-06-08 12:09:34 -06:00
Behdad Esfahbod
11f1f4131b
[set] Add is_subset
...
New API:
+hb_set_is_subset()
2018-06-06 16:47:13 -07:00
Behdad Esfahbod
4a115fe7fe
[sinhala] Move reph to after post-consonants
...
Apparently this changed between Win 7 and Win 10.
Fixes https://github.com/harfbuzz/harfbuzz/issues/967
To be continued in https://github.com/harfbuzz/harfbuzz/issues/1044
2018-06-04 15:40:43 -07:00
Behdad Esfahbod
3e494caae3
[test] Fix record-test to use gids not glyph-names
...
as those might not match what FontTools think of the glyphs if font
does NOT have glyph names.
2018-06-04 15:38:05 -07:00
Garret Rieger
a070dfd333
[subset] Have the subset fuzzer pull the text string to subset to from the end of the fuzzer provided data.
2018-06-01 17:32:02 -06:00
Behdad Esfahbod
2eb9bbd986
[test/text-rendering-tests] Update from upstream
2018-05-22 18:31:30 -07:00
Behdad Esfahbod
0644d92ef3
Merge pull request #1018 from googlefonts/cmap4
...
[subset] Add cmap format 4 subsetting.
2018-05-08 15:21:09 -07:00
Behdad Esfahbod
f673cfbd64
Support scripts that are written both LTR and RTL
...
Right now only Old Italic is marked as such.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1000
2018-05-07 14:12:17 -07:00
Garret Rieger
b0d7971be0
[subset] Updated expected files for japanese subset integration tests to include cmap4.
2018-05-04 11:20:03 -07:00
Garret Rieger
7947927317
[subset] Update expected files for subset integration tests to include cmap4.
2018-05-04 11:20:03 -07:00
Garret Rieger
a8e7f9b958
[subset] Get cmap tests passing again.
2018-05-04 11:20:03 -07:00
Garret Rieger
c817992f49
[subset] Write out a format 4, plat 0 encoding record to match fontTools.
2018-05-04 11:20:03 -07:00
violet-sippial
93b03119da
[subset] Do not compare ttx progress output in the tests
...
Suppress progress messages of ttx. This avoids comparing this output to the reference file which lets the test fail.
2018-04-30 17:28:02 -07:00
Ebrahim Byagowi
9925030f19
Don't decompose Bengali Rra and Rha
...
Fixes #779 and follow up to b01d9b3d90
2018-04-26 13:54:09 -07:00
Ebrahim Byagowi
ce17340b23
Add hb_blob_create_from_file, a new API ( #926 )
2018-04-20 07:59:06 +02:00
Garret Rieger
4fa1c6705a
[subset] Check instruction offsets in glyph to ensure they are in bounds.
2018-04-19 17:19:38 -06:00
Garret Rieger
3c97614598
[subset] In subset fuzzer run through drop hints and keep hints pathways.
2018-04-19 17:19:38 -06:00
Garret Rieger
535fb23c02
[subset] Add integration tests for cmap breakge.
2018-04-19 12:51:51 -06:00
Garret Rieger
e29c8e33f3
[subset] Add a test for previous cmap breakage.
2018-04-19 12:51:51 -06:00
Garret Rieger
1a309dcd72
[subset] Remove printf's from fuzzing targets.
2018-04-17 19:37:36 -06:00
Garret Rieger
c02b40e58f
[subset] add a fuzzer target for subset_get_all_codepoints method. ( #987 )
2018-04-17 16:21:22 +02:00
Garret Rieger
5dadbb0fa0
[subset] Add implementation of cmap format 12 codepoint listing. ( #988 )
2018-04-17 15:00:23 +02:00
Garret Rieger
21a181af2b
[subset] sketch out support for a call that lists all codepoints present in a font. Implement support for it in format 4 cmap sub table.
2018-04-16 16:29:26 -06:00
Ebrahim Byagowi
f24b0b9728
Update the links and revive the dead ones
2018-04-12 13:44:32 +04:30
Ebrahim Byagowi
26e0cbd834
Actual py3 compatibility making on gen-* scripts ( #941 )
2018-03-29 21:22:47 +04:30
Ebrahim Byagowi
cab2c2c08c
Make more gen-* scripts py3 compatible ( #940 )
2018-03-29 12:48:47 +04:30
Garret Rieger
1c3372786c
[subset] fix infinite loop bug in looping through tables for subsetting.
2018-03-27 13:47:42 -06:00
Garret Rieger
07851aae9d
[subset] Couple of fixes for fuzzer discovered issues. ( #924 )
...
* [subset] sanitize individual DeviceRecord's as part of hdmx sanitization.
* [subset] Fix out of bounds read with non-two byte align glyphs.
* [subset] Just use size_device_record >= DeviceRecord::min_size.
* [subset] Add TODO.
* [subset] Re-order checks in hdmx sanitize.
2018-03-26 19:56:56 -07:00
Behdad Esfahbod
44b6c77c64
Try fixing linking again
...
Before 1.7.5, we were setting -fno-exceptions etc on CXXFLAGS. In 1.7.6
we set it as CPPFLAGS. Try fixing. Also, I'm fairly sure it's safe to
set these unconditionally.
Fixes https://github.com/harfbuzz/harfbuzz/issues/880 (or so I hope)
2018-03-26 14:26:45 -07:00
Garret Rieger
1396614040
[subset] don't use pointers returned from push after array has resized in hb-subset-glyf.cc
2018-03-20 19:47:36 -06:00
Garret Rieger
3531efdb4c
[subset] Fixed out of bounds read when subsetting hdmx.
2018-03-20 19:47:36 -06:00
Garret Rieger
e597436b99
[subset] Disable glyf accelerator_t methods if it didn't successfully init.
2018-03-20 19:47:36 -06:00
Garret Rieger
7251181b56
[subset] Fix infinite loop in there are more then 32 tables.
2018-03-20 19:47:36 -06:00
Garret Rieger
1a94804d35
[subset] Add a fix for segfault in hmtx/vmtx subsetting code.
2018-03-20 19:47:36 -06:00
Garret Rieger
31281d6a17
[subset] Add a test demonstrating a seg fault while subsetting hmtx.
2018-03-20 19:47:36 -06:00
Garret Rieger
b5c7d6cffc
[subset] Restore subset to hb-subset-fuzzer.
2018-03-19 16:06:17 -06:00
Garret Rieger
584693e0cb
[subset] Test not linking libharfbuzz-subset-fuzzing into hb-subset-fuzzer.
2018-03-16 09:04:01 -07:00
Garret Rieger
3f9361fe7a
[subset] Test hb-shape-fuzzer in run-subset-fuzzer-tests.
2018-03-16 09:04:01 -07:00
Garret Rieger
ce368e0d05
[subset] make libharfbuzz-subset-fuzzing.la depend on lib target.
2018-03-16 09:04:01 -07:00
Garret Rieger
85a57029cd
[subset] %d -> %zu
2018-03-16 09:04:01 -07:00
Garret Rieger
318eea5853
[subset] Add some more logging to hb-subset-fuzzer.
2018-03-16 09:04:01 -07:00
Garret Rieger
64bab8b3d0
[subset] Fix run-shape-fuzzer-tests.py. It was generating incorrect paths for input fonts.
2018-03-16 09:04:01 -07:00
Garret Rieger
6f9a584371
[subset] Add more verbose output for subset fuzzer test.
2018-03-16 09:04:01 -07:00
Garret Rieger
0ce0f87812
[subset] Rename hb-fuzzer -> hb-shape-fuzzer.
2018-03-16 09:04:01 -07:00
Garret Rieger
1e9bd6d5ff
[subset] Add rub-subset-fuzzer-tests.py to dist files.
2018-03-16 09:04:01 -07:00
Garret Rieger
474afaafd9
[subset] Add a test runner for hb-subset-fuzzer and cmake build config.
2018-03-16 09:04:01 -07:00
Garret Rieger
aa9612d35f
[subset] Fix fuzzing build for hb-subset-fuzzer.
2018-03-16 09:04:01 -07:00
Garret Rieger
b674fc1f9f
[subset] Add missing destroy of subsetting result in subset fuzzer.
2018-03-16 09:04:01 -07:00
Garret Rieger
1beb08862e
[subset] First pass at setting up a fuzzing program for hb-subset.
2018-03-16 09:04:01 -07:00
Behdad Esfahbod
e6e2ee2b92
Remove extra stdbool includes
...
They are handled in our common header.
2018-03-15 09:05:22 -07:00
Chun-wei Fan
831d4a2dab
test/api: Fix building subset tests
...
Include stdbool.h in hb-setset-test.h instead of in the individual
sources, if it is found; otherwise use a simplistic fallback for it if
it is not found.
Also declare variables at the top of the block, to build on pre-C99
compiliers.
2018-03-13 20:17:58 +08:00
Chun-wei Fan
eda6a5ea80
CMake: Fix running tests on Windows
...
For the API tests, output the test programs at $(TOP_BUILDDIR) so that
the freshly-built DLLs will be available for the test programs. For
those that are run through the Python wrapper scripts, use
${PYTHON_EXECUTABLE} instead of plain 'python' in case the Python
interpreter is not in the PATH.
2018-03-13 20:17:58 +08:00
Ebrahim Byagowi
9206762bbd
Make subset test runner compatible with py3
...
Fixes #873
2018-03-09 15:43:03 +03:30
Garret Rieger
8548fa1522
[subset] Drop cmap 12, platform 0 tables from Mplus1p expected files.
2018-03-08 13:44:04 -08:00
Garret Rieger
9b00b9a10d
[subset] Fix deadlock waiting for process output in subset test runner.
2018-03-08 13:44:04 -08:00
Garret Rieger
bfec28a7db
[subset] add some extra logging to subset run-tests.py.
2018-03-08 13:44:04 -08:00
Garret Rieger
c7d814eaa8
[subset] Add japanese font file to subset integration tests.
2018-03-08 13:44:04 -08:00
Garret Rieger
ec47cd95ba
[subset] Unit test to check that post subsetting drops glyph names.
2018-03-07 11:36:54 -08:00
Garret Rieger
362f282406
[subset] fix author.
2018-03-07 11:08:55 -08:00
Garret Rieger
89465cb1c7
[subset] s/hmetrics/vmetrics.
2018-03-07 10:29:15 -08:00
Garret Rieger
91867cda6a
[subset] cleanup.
2018-03-07 10:17:06 -08:00
Garret Rieger
d9263f0230
[subset] add unit tests for vmtx subsetting.
2018-03-07 10:08:47 -08:00
Behdad Esfahbod
70ad69f244
[test] Fix build with older glib
2018-03-07 16:11:44 +01:00
Garret Rieger
9a6f9b4d42
[set] add a test demonstrating a bug in hb_set_union.
2018-03-07 09:25:53 +01:00
Behdad Esfahbod
bcf578fefe
[test] Add test suite for Brahmi Number Joiners
...
https://github.com/harfbuzz/harfbuzz/pull/660
2018-02-28 16:31:46 -08:00
Garret Rieger
b4ba71ea7c
[subset] In subset integration test pass output through ots-sanitize if present.
2018-02-28 16:16:17 -08:00
rsheeter
588a4e0f9b
Merge pull request #845 from googlefonts/drophints
...
[subset] drop hints from composites
2018-02-28 13:52:29 -08:00
Ebrahim Byagowi
772274625e
Merge pull request #841 from ebraminio/color
...
Support CPAL table
2018-02-28 12:05:49 +03:30
Ebrahim Byagowi
0eec33154a
[cmake] cleanup ( #846 )
2018-02-28 11:53:39 +03:30
Ebrahim Byagowi
5b9c234043
[CPAL] Refactor and address the reviews
2018-02-28 11:25:29 +03:30
Rod Sheeter
ffcb5cbf71
[subset] update the test file for composite, fix an offset calculation
2018-02-27 20:17:04 -08:00
Rod Sheeter
c8b230e437
Merge branch 'expand-tests' of github.com:googlefonts/harfbuzz into drophints
2018-02-27 17:25:32 -08:00
Garret Rieger
904dd7beea
[subset] Add drop hinting profile to full-font.tests
2018-02-27 17:23:44 -08:00
Garret Rieger
70a1049b3f
[subset] Add a drop hints profile to basics.tests
2018-02-27 17:23:44 -08:00
Garret Rieger
5241d7f4b9
[subset] apply subset profiles (flags) to the subset integration tests.
2018-02-27 17:23:44 -08:00
Garret Rieger
a4aca190a9
[subset] add expected/full-font to dist files.
2018-02-27 17:23:44 -08:00
Garret Rieger
d31ace3274
[subset] Add subset integration tests using the full roboto font.
2018-02-27 17:23:44 -08:00
Garret Rieger
33f4381314
[subset] Add some more variations of the basic test.
2018-02-27 17:23:43 -08:00
Rod Sheeter
b3790a65a1
[subset] add a (failing for now) test for composite glyf hint dropping
2018-02-27 17:23:30 -08:00
Garret Rieger
f14d1b64c2
[subset] when dropping hints, clear hint related fields in maxp.
2018-02-27 13:49:43 -08:00
Ebrahim Byagowi
101850f9e6
Merge with master
2018-02-27 20:17:25 +03:30
rsheeter
4a1d51ef15
Merge pull request #818 from googlefonts/drophints
...
[subset] Drop hints
2018-02-26 20:23:41 -08:00
Ebrahim Byagowi
cd28eb9f5d
Add -Werror=unused-function check to Travis ( #832 )
2018-02-24 14:17:54 +03:30
Rod Sheeter
5267520e07
[subset] update hdmx test to create input explicitly
2018-02-23 18:36:22 -08:00
Rod Sheeter
d78393b554
Merge branch 'master' of https://github.com/harfbuzz/harfbuzz into drophints
2018-02-23 17:53:26 -08:00
Rod Sheeter
0ac8c0c1e6
[subset] zero glyf and loca memory before writing so pads are clean. Test just the part of maxp we care about
2018-02-23 17:43:00 -08:00
Rod Sheeter
9bd6d25254
[subset] clone trim logic from fonttools glyf handling
2018-02-23 13:05:58 -08:00
Garret Rieger
b1ec821051
Merge pull request #823 from googlefonts/hdmx
...
[subset] Add hdmx subsetting.
2018-02-23 12:32:18 -07:00