Behdad Esfahbod
fe099a844b
[test] Add Khmer tests, with NotoSansKhmer-Regular.ttf
...
Note that there's minor positioning differences, and ONE reordering
difference between what we get for these and what Uniscribe gets.
Probably same as what's described in commit message for
1a96cc825d
2018-07-31 14:20:31 -07:00
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
Garret Rieger
e15e41ef12
[subset] Remove commented code from run-tests.py.
2018-02-23 10:51:49 -08:00
Garret Rieger
2b84480343
[subset] Update expected files for subsetting integration test to not include cmap 4.
2018-02-23 10:51:49 -08:00
Garret Rieger
a88504c601
[subset] Fix checksum clearning in subset test diff. Add an updated expected file (has cmap4 restored).
2018-02-23 10:51:49 -08:00
Garret Rieger
537698b601
[subset] Don't compare actual to itself in Fix test/subset/run-tests. Print a diff on failure.
2018-02-23 10:51:49 -08:00
Garret Rieger
15fc45bfed
[subset] Add a unit test for hdmx subsetting.
2018-02-22 15:42:39 -08:00
Rod Sheeter
4f07437dfe
[subset] sketch out dropping in-glyf instructions. Sometimes yields differnet size glyphs than fonttools, possibly due to padding not being corrected
2018-02-21 22:23:05 -08:00
Behdad Esfahbod
0bff6991de
Ugh. Really fix build.
2018-02-19 11:51:25 -08:00
Ebrahim Byagowi
b095ce59eb
Simplify hb-fuzzer output printing and fix ArchLinux bot
2018-02-19 11:58:20 +03:30
Behdad Esfahbod
e2d2d81984
Limit how much work sanitize() can do
...
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=6022
2018-02-18 17:28:53 -08:00
Behdad Esfahbod
246e280d88
[test] Add test for https://github.com/harfbuzz/harfbuzz/issues/740
2018-02-18 15:58:09 -08:00
Behdad Esfahbod
279c70a5b3
Merge pull request #796 from ebraminio/dev-run
...
Add a continuous builder using fswatch
2018-02-18 14:04:33 -08:00
Ebrahim Byagowi
89b82814b6
Add a continuous builder using fswatch
2018-02-18 23:56:00 +03:30
Behdad Esfahbod
0bd2d76bdd
[test] Fix a couple of coverity_scan issues
2018-02-18 11:55:46 -08:00
Behdad Esfahbod
fe8f40a418
Merge branch 'master' into bitops
2018-02-18 10:45:33 -08:00
Behdad Esfahbod
04dedec96b
[test] Remove unused var
2018-02-16 18:32:57 -08:00
Behdad Esfahbod
6d56db8983
[test/api] Distribute all fonts
2018-02-16 18:29:29 -08:00
Garret Rieger
df9e22656d
[subset] add a glyf subsetting test for a font with composite glyphs.
2018-02-16 18:29:29 -08:00
Garret Rieger
c36d015b0e
[subset] missing return.
2018-02-16 18:29:29 -08:00
Behdad Esfahbod
7b5ce74047
Fix warnings
2018-02-16 15:38:02 -08:00
Rod Sheeter
c7a633f957
[subset] try to get more info from bot where g_assert_cmpmem fails
2018-02-16 11:11:20 -08:00
Rod Sheeter
0bb2d7ac12
[subset] fix int type for blob length in hb-subset-test.h
2018-02-16 06:26:02 -08:00
Rod Sheeter
6122ad2442
[subset] add files to EXTRA_DIST
2018-02-15 11:40:28 -08:00
Rod Sheeter
27012526f9
[subset] whitespace
2018-02-14 19:01:00 -08:00
Behdad Esfahbod
83f57e24bf
[test] Reinstate test/shaping/data/in-house/tests/myanmar-syllable.tests
2018-02-14 18:43:53 -08:00
Garret Rieger
04c1ec2b73
[subset] Don't fail on different checksum adjustment in subsetting tests.
2018-02-14 17:01:20 -08:00
Garret Rieger
e0ffebead6
[subset] In hb-subset-test use hb_set_union instead of manually copying set.
2018-02-14 16:01:08 -08:00
Rod Sheeter
fa87770372
[subset] First pass at hmtx
2018-02-14 14:53:10 -08:00
Garret Rieger
e5edcc81bf
[subset] Fix codepoint iteration in hb-subset-test.
2018-02-14 11:17:53 -08:00
Garret Rieger
8b1dbbef1a
Fix compile error in hb-subset-test.
2018-02-14 11:05:19 -08:00
Behdad Esfahbod
f53627e191
[test] Fix warning
2018-02-14 10:59:22 -08:00
Garret Rieger
d008b62887
Merge remote-tracking branch 'upstream/master' into fixed
2018-02-14 10:38:52 -08:00
Garret Rieger
b0eefacf4c
[subset] Drop GSUB, GDEF, GPOS, and DSIG from subsetter expected test outputs.
2018-02-14 10:19:50 -08:00
Garret Rieger
df6d780355
[subset] Extract maxp subsetting into hb-ot-maxp-table.
2018-02-14 10:19:50 -08:00
Garret Rieger
865b6971ad
[subset] Add a test for OS/2 fixes during subsetting.
2018-02-14 10:19:50 -08:00
Behdad Esfahbod
694eaf6367
[set] Add backwards iterator
...
New API:
- hb_set_previous()
- hb_set_previous_range()
2018-02-14 01:00:10 -08:00
Behdad Esfahbod
9046e92442
[subset] Rename constructor to hb_subset_input_create_or_fail()
...
To signify that unlike rest of library, returns nullptr on failure.
2018-02-13 22:07:12 -08:00
Behdad Esfahbod
d5b33f2fe1
[subset] hb_subset_input_t changes
2018-02-13 13:55:10 -08:00
Garret Rieger
8cf8b78faa
[subset] whitespace
2018-02-12 16:30:21 -08:00
Rod Sheeter
89ee20f1a3
basic wiring for a (failing) cmap test
2018-02-12 16:01:15 -08:00
Garret Rieger
1639bdd331
[subset] Remove test-subset, testing is planned to be done at the table level here with test/subset covering the complete subsetting operation.
2018-02-12 13:40:42 -08:00
Garret Rieger
4cdd1b16c9
[subset] added todo in test-subset-glyf.
2018-02-12 13:36:28 -08:00
Garret Rieger
1714feef4f
[subset] re-enable test-subset-glyf. Refactor to use common functions in hb-subset-test.h
2018-02-12 13:35:17 -08:00
Garret Rieger
d8d8bd8405
[subset] Add some helper functions for writing tests around subsetting.
2018-02-12 13:34:08 -08:00
Behdad Esfahbod
d33ba16361
Fix more warnings
2018-02-11 18:26:41 -08:00
Behdad Esfahbod
41906cd5ef
[subset] Another fixup
...
I broke this in c31fcf4c58
2018-02-11 19:46:06 -06:00
Ebrahim Byagowi
ae6d0259b4
Install fonttools on two bots and enable cmake hb-subset test ( #777 )
2018-02-11 15:40:55 +03:30
Behdad Esfahbod
6c1848b1e3
Misc warning fixes
2018-02-10 15:52:35 -06:00
Behdad Esfahbod
4c5bdb4b39
[test] Disable test-subset-glyf for now
2018-02-10 15:40:54 -06:00
Behdad Esfahbod
43314ff4c0
More fixes
...
test-subset-glyf still failing. No idea why :(
2018-02-10 15:40:03 -06:00