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
Behdad Esfahbod
3346ba9cd5
[test/text-rendering-tests] Update from upstream
2018-02-09 11:05:17 -06:00
Garret Rieger
3e81832432
Disable subset tests on cmake for now.
2018-02-08 18:05:48 -06:00
Behdad Esfahbod
e081c9e8fc
Oops!
2018-02-08 17:44:24 -06:00
Behdad Esfahbod
1c49afe179
Whitespace
2018-02-08 17:38:58 -06:00
Behdad Esfahbod
9682ef135f
Minor fixups
2018-02-08 17:35:57 -06:00
Garret Rieger
0f3c756cbf
Add CMake config for building a separate harfbuzz-subset.
2018-02-08 17:31:11 -06:00
Garret Rieger
d4d120ad79
Skip subset to fonttools comparison test if TTX is not present.
2018-02-08 17:31:11 -06:00
Garret Rieger
29d915284e
Whitespace
2018-02-08 17:31:11 -06:00
Garret Rieger
f9420d9eff
In the hb-subset to fontTools comparison, use ttx to compare the fonts. This allows for some binary differences such as re-ordered tables.
2018-02-08 17:31:11 -06:00
Garret Rieger
f2ceb5ee4d
Comment out failing assert in test-subset-glyf for now. Should be re-enabled once hb_subset is writing out a new face.
2018-02-08 17:31:11 -06:00
Garret Rieger
89dbebd4ad
Add a basic test for glyf subsetting.
2018-02-08 17:31:11 -06:00
Behdad Esfahbod
1242ad8424
[test/text-rendering-tests] Update from upstream
2018-02-08 15:08:46 -06:00
Behdad Esfahbod
c479a59988
[subset] Assemble font
2018-02-07 21:26:04 -06:00
Behdad Esfahbod
f70100417c
[test] Minor
2018-02-07 13:58:23 -05:00
Behdad Esfahbod
af02812fc5
[subset] Change hb_subset API to remove hb_subset_face_t
2018-02-07 13:07:46 -05:00
Garret Rieger
7481f0ce21
Add codepoints to subset input.
2018-02-07 12:41:21 -05:00
Ebrahim Byagowi
8cb8bfd5b5
[test] Fix test-subset on old distros ( #758 )
...
https://developer.gnome.org/glib/stable/glib-Testing.html#g-assert-cmpmem
2018-02-06 20:40:42 +03:30
Behdad Esfahbod
b7b7f0ac59
[test] Minor
2018-02-05 19:40:31 -05:00
Garret Rieger
5f6eb1256f
Add libharfbuzz-subset.la to linking when building api tests.
2018-02-05 10:23:38 -08:00
Behdad Esfahbod
257022b178
Merge pull request #745 from googlefonts/master
...
Interface for hb_subset, skeleton for the hb-subset cli, and basic testing rigging.
2018-02-04 20:01:35 -05:00
Behdad Esfahbod
3615f344ec
[test/text-rendering-tests] Update from upstream
2018-02-04 17:21:27 -05:00
Garret Rieger
7b01761ade
Add CMakeLists.txt to dist files for subset test.
2018-02-04 12:57:34 -08:00
Garret Rieger
f83a43b561
Add CMake configuration for all of the new subsetting code.
2018-02-04 12:57:34 -08:00
Garret Rieger
06fe297f2a
Properly include subset test data files.
2018-02-04 12:57:34 -08:00
Garret Rieger
058b1260ad
Re-write hb-subset utility to use main-font-text driver.
2018-02-04 12:57:34 -08:00
Garret Rieger
2763a2c598
Include subset test files in distribution.
2018-02-04 12:57:34 -08:00
Garret Rieger
76b84c36b9
Whitespace
2018-02-04 12:57:34 -08:00
Garret Rieger
a2965f2ea5
Add a basic implementation of hb-subset to enable compilation of test-subset.
2018-02-04 12:57:33 -08:00
Garret Rieger
38af23b8df
Make the expected output for subsetting basics test be equal to the input file for now.
2018-02-04 12:57:33 -08:00
Garret Rieger
b59c08eb04
Add the beginning of a unit test for hb-subset
2018-02-04 12:57:33 -08:00
Rod Sheeter
e9d154ac8d
tweak test failure output. write to a temp file not stdout. test still fails because expected is not just an identical copy of input
2018-02-04 12:57:33 -08:00
Garret Rieger
76351518ca
Remove basic subset test from XFAIL
2018-02-04 12:57:33 -08:00
Garret Rieger
b029b7c19a
Whitespace
2018-02-04 12:57:33 -08:00
Garret Rieger
0853260e99
Configure automake to run the new subset tests.
2018-02-04 12:57:33 -08:00
Garret Rieger
5c63c37b2b
WIP test runner for subset tests.
2018-02-04 12:57:33 -08:00
Garret Rieger
cc46cd88a1
In generate-expected-outputs read the test definition with utf8 encoding.
2018-02-04 12:57:33 -08:00
Garret Rieger
4cdae914e2
Add basic directory structure for subsetter integration tests. Plus a utility for generating expected output files.
2018-02-04 12:57:33 -08:00
David Corbett
ccb0367dae
Let VS1 follow U+1031 MYANMAR VOWEL SIGN E
2018-02-02 12:41:07 -08:00
Behdad Esfahbod
585b576098
Fix distcheck
2018-01-30 11:52:11 -08:00
Behdad Esfahbod
e00743b47d
[test/text-rendering-tests] Update from upstream
2018-01-30 11:01:18 -08:00
Ebrahim Byagowi
e849b8a85b
[cmake] Always put test/api/CMakeLists.txt on distributions
2018-01-19 16:12:24 +03:30
David Corbett
9b693212a8
Update record-test.sh to the new directory layout ( #716 )
2018-01-19 01:04:13 +03:30
Behdad Esfahbod
60f84ef014
Disable MORX-13/14
...
Really, need better way to catch these :(.
2018-01-15 20:46:58 -05:00
Behdad Esfahbod
54a1e250a8
[test/text-rendering-tests] Update from upstream
2018-01-13 14:44:39 +00:00
Behdad Esfahbod
0d39ac224c
[test/text-rendering-tests] Update README
2018-01-11 22:47:08 +01:00
Behdad Esfahbod
17a66f133c
[test] Disable MORX-12
...
Ouch. I need a better workflow for this.
2018-01-11 22:46:19 +01:00
Behdad Esfahbod
1387fe8f9c
[test/text-rendering-tests] Update from upstream
2018-01-11 19:23:14 +01:00
Behdad Esfahbod
1eb98c9916
[test/text-rendering-tests] Actually disable MORX-11
2018-01-11 17:59:03 +01:00
Behdad Esfahbod
1d20d109a0
[test/text-rendering-tests] Update from upstream
2018-01-11 15:19:01 +01:00
Behdad Esfahbod
fc405b7ca7
[test/text-rendering-tests] Update from upstream
2018-01-11 15:15:36 +01:00
Ebrahim Byagowi
4177f646aa
[cmake] Update and unbreak ( #700 )
2018-01-11 15:43:23 +03:30
Behdad Esfahbod
d6076747ac
[test/text-rendering-tests] Add DISABLED list
2018-01-11 10:51:46 +01:00
Behdad Esfahbod
de02b5093c
[test/in-house] Add Makefile.sources
2018-01-11 10:48:42 +01:00
Behdad Esfahbod
7c32e01d04
Minor
2018-01-11 10:47:31 +01:00
Behdad Esfahbod
a5adc5aa84
[test/text-rendering-tests] Update from upstream
...
Also adds an update.sh script that does this automatically.
2018-01-11 10:43:30 +01:00
Behdad Esfahbod
c861daacc4
[test/text-rendering-tests] Add README and COPYING
2018-01-11 10:43:30 +01:00
Behdad Esfahbod
ea3e86c640
Minor
2018-01-11 10:43:30 +01:00
Ebrahim Byagowi
1461965c22
[test] Better tests output by converting stderr to stdout ( #696 )
...
https://gitlab.kitware.com/cmake/cmake/issues/17630
2018-01-11 08:48:22 +03:30
Ebrahim Byagowi
ebb9b7d633
[test] Print shaping output on CI fails ( #695 )
2018-01-11 08:15:06 +03:30
Ebrahim Byagowi
71e0ed9cba
[cmake] Add header existence tests ( #685 )
2018-01-10 15:45:12 +03:30
Ebrahim Byagowi
a073621b5d
[cmake] Fix tests against latest changes ( #690 )
2018-01-10 12:13:28 +03:30
Behdad Esfahbod
6db0b17c4c
[test] Move test handling to sundirectories
2018-01-10 05:40:43 +01:00
Behdad Esfahbod
4c982b4867
[test] Whitelist one more passing test
2018-01-10 05:26:55 +01:00
Behdad Esfahbod
0b28e1199d
[test] Whitelist one more passing test
2018-01-10 05:02:42 +01:00
Behdad Esfahbod
6dc6f0c9f8
[test] Whitelist one passing test
2018-01-10 04:15:57 +01:00
Behdad Esfahbod
ec939761e4
Minor
2018-01-10 03:56:43 +01:00
Behdad Esfahbod
c4eac531df
Minor
2018-01-10 03:51:09 +01:00
Behdad Esfahbod
285a0bd799
[test] Another try
...
Making cmake happy this time.
2018-01-10 03:49:32 +01:00
Behdad Esfahbod
95b32b0055
[test] Fix text disabling
...
Ouch, make!
2018-01-10 03:48:09 +01:00
Behdad Esfahbod
a938d105b8
[test/text-rendering-tests] Disable failing tests
2018-01-10 03:41:55 +01:00
Behdad Esfahbod
ed95d5e374
[test/text-rendering-tests] Disable failing tests
2018-01-10 03:41:02 +01:00
Behdad Esfahbod
3b1e97f364
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.
2018-01-10 03:36:03 +01:00
Behdad Esfahbod
46e4ed552f
[test/text-rendering-tests] Hook up font variations
...
Six more passing. Twelve failing now.
2018-01-10 03:22:08 +01:00
Behdad Esfahbod
2b3f62fc4d
[test] Add tests from text-rendering-tests repo
...
https://github.com/unicode-org/text-rendering-tests
2018-01-10 03:16:56 +01:00
Behdad Esfahbod
3f29ea9144
[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.
2018-01-10 02:50:49 +01:00
Behdad Esfahbod
7020130665
[test] Minor
2018-01-10 02:50:49 +01:00
Behdad Esfahbod
316a28f8f8
[test] Add script for extracting tests from text-rendering-tests
...
Work in progress...
https://github.com/unicode-org/text-rendering-tests
2018-01-10 02:50:49 +01:00
Behdad Esfahbod
6b4d63f295
[test] Minor
2018-01-10 02:50:49 +01:00
Behdad Esfahbod
504f913654
[test] Simplify test runner
...
Always pass hb-shape as first argument to run-tests.py.
Also require automake 1.13.
2018-01-10 02:50:49 +01:00
Behdad Esfahbod
141db8b7a3
[test] Minor
2018-01-10 02:50:49 +01:00
Behdad Esfahbod
44c65eee28
[test] Reorganize test suite
...
In anticipation of importing more test suites.
2018-01-10 02:50:49 +01:00
Behdad Esfahbod
9a3ad307ea
[test] Remove unused hb-diff-ngrams
2018-01-10 02:50:49 +01:00
Behdad Esfahbod
b6b460024d
[test] Remove unused manifest stuff
2018-01-10 02:50:49 +01:00
Behdad Esfahbod
ebbee7c247
[test] Move test files around
2018-01-10 02:50:49 +01:00
Behdad Esfahbod
ed2f458b14
Add test font for previous commit
2018-01-05 12:55:39 +00:00
Behdad Esfahbod
127bcc6ece
Merge remote-tracking branch 'fdo/master'
2018-01-05 12:50:22 +00:00
Behdad Esfahbod
8c0d1916a4
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
2018-01-05 12:48:19 +00:00
Ebrahim Byagowi
72bec1cd09
Improve tests ( #679 )
2018-01-05 12:42:20 +03:30
Ebrahim Byagowi
70807ad274
Fix make check issue on out-of-tree builds and test it ( #672 )
2018-01-02 23:52:12 +03:30
Ebrahim Byagowi
4e3cf91af2
[cmake] Run rest of the tests on Windows ( #668 )
2018-01-01 11:17:51 +03:30
Ebrahim Byagowi
2dbdeb1421
[cmake] Run fuzzing and shaping tests ( #666 )
2017-12-29 23:13:29 +03:30
Ebrahim Byagowi
50163976d2
[cmake] Enable cmake tests on distribution and test it ( #664 )
2017-12-25 01:55:48 +03:30
David Corbett
7bfdf1a941
Forbid Batak killers after vowel signs
2017-12-24 14:21:22 -08:00
ebraminio
20e69c950d
[test] print commented line, like the original script ( #649 )
2017-12-07 12:24:12 +03:30
ebraminio
5f061d27d5
Rewrite run-tests in python ( #647 )
2017-12-07 11:22:55 +03:30
Khaled Hosny
c860955148
Add API tests to cmake build
2017-12-06 15:25:10 +02:00
Khaled Hosny
f19126dd35
We are already inside “if HAVE_GLIB” check
2017-12-06 15:25:10 +02:00
Behdad Esfahbod
20b4672754
[set] Fix recent changes
...
Ouch!
Add tests.
2017-12-02 15:15:50 -08:00
Behdad Esfahbod
d9066afd6b
Add another test for previous commit
...
From https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4273
2017-11-29 16:18:18 -08:00
Behdad Esfahbod
16fba5b215
[ot] Fix Extension type recurse to disallow recursing to another Extension
...
Particularly hazardous if the second layer mixes forward and backward lookups.
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4336
2017-11-29 16:08:11 -08:00
David Corbett
9f259769a6
Categorize U+A8B4 as Consonant_Medial
2017-11-21 13:48:32 -08:00
Behdad Esfahbod
8d55340593
Fix fallback positioning of double diacritic marks
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=787284
2017-11-20 19:43:22 -08:00
David Corbett
87d74605f5
Categorize U+0C80 as Consonant_Placeholder
2017-11-20 13:10:28 -08:00
ebraminio
7c6937e7c7
Move all references of old url to the new address ( #622 )
2017-11-20 14:49:22 -05:00
Behdad Esfahbod
baf7779d2d
Limit how much recursion GSUB/GPOS does
...
This only counts recursions right now. Good start.
Hopefully...
Fixes https://github.com/behdad/harfbuzz/issues/429
2017-11-14 21:55:37 -08:00
Behdad Esfahbod
b9c96b5d7c
Add test for previous commit
...
At some point we should run tests under valgrind...
2017-11-14 15:56:21 -08:00
David Corbett
87f0ad183c
Allow U+20F0 in USE clusters
2017-11-14 15:04:10 -08:00
Behdad Esfahbod
8eed9cb11e
[kern] Fix invalid memory access if offset is zero
...
If offset is zero, we return Null() object. Wasn't prepared for that.
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4088
2017-11-09 18:09:40 -08:00
Khaled Hosny
b68fba4dc8
[test] Use glyph ids instead of forcing ft funcs
...
We were using ft funcs because these are CFF fonts, but we can avoid
glyph names instead and keep testing both ot and ft.
2017-11-09 18:01:15 -05:00
Khaled Hosny
2fcfbcf805
[test] Fix another instance of component rounding
...
See https://github.com/behdad/harfbuzz/pull/590#issuecomment-341194673
2017-11-09 18:01:15 -05:00
Behdad Esfahbod
822035ce73
[tests/arabic-stch.tests] Don't show flags
...
We don't need to test the actual flag values. For unsafe-to-break,
the --verify in run-tests.sh checks what we are interested in.
2017-11-08 17:03:55 -08:00
Behdad Esfahbod
53f0c27ddc
Minor
2017-11-08 17:02:54 -08:00
David Corbett
5a9cba9744
Mark non-initial left matras as unsafe to break
2017-11-08 19:12:10 -05:00
David Corbett
74e82adaea
Mark glyphs involved in 'stch' as unsafe to break
2017-11-06 15:06:23 -05:00
Khaled Hosny
0e63cbed9c
[test] Fix difference between ft and ot font funcs
...
See https://github.com/behdad/harfbuzz/pull/590#issuecomment-341194673 .
I simply removed the composite glyph and use the referenced simple
glyph directly.
2017-11-01 14:00:52 -06:00
Khaled Hosny
0b8f8dd869
Revert "[test] We don’t care about glyph positions here"
...
This reverts commit 70137e2b4b
.
2017-11-01 14:00:52 -06:00
Khaled Hosny
f1245013bf
[test] Run shaping tests with both ot and ft funcs
2017-11-01 10:33:10 -06:00
Khaled Hosny
70137e2b4b
[test] We don’t care about glyph positions here
...
Freetype and OT font functions give different positions for some glyphs
in this font (OT seems to be correct), but that is not what we are
interested in in this test.
See https://github.com/behdad/harfbuzz/pull/590#issuecomment-341045223 .
2017-11-01 10:33:10 -06:00
Khaled Hosny
9234b364b1
[test] Use ft functions for this test
...
https://github.com/behdad/harfbuzz/pull/590#issuecomment-340967271
2017-11-01 10:33:10 -06:00
Khaled Hosny
afbfb9279c
[test] Always use ft font funcs for these tests
...
These are CFF fonts and ot functions don’t support CFF glyph names yet.
The next commit will run all tests with ot functions.
2017-11-01 10:33:10 -06:00
David Corbett
d016c5bdb9
Categorize Grantha candrabindu for use in Tamil
2017-10-31 16:54:23 -06:00
David Corbett
729c9e1335
Include all relevant glyphs in the subsetted font
2017-10-26 13:49:56 -05:00
Behdad Esfahbod
cb6c6b0c42
Fix warning
...
49a41dc759 (commitcomment-25203194)
2017-10-26 11:43:33 -06:00
Jonathan Kew
7339926525
[test] Extend hb_set test for issue 579 (currently failing)
2017-10-26 12:33:05 -05:00
Jonathan Kew
3d6f7df42a
[test] Additional coverage in test_set_iter.
...
This adds a couple extra entries to the set used, such that iteration
would fail in 1.6.2 due to the bug in hb_set_t::page_t::next().
2017-10-26 12:30:52 -05:00
Khaled Hosny
9d4d2fb9af
[ot-font] Implement hb_ot_get_glyph_name
...
Turns out we already have support for “post” table, it just needed to be
activated and put in use.
2017-10-25 19:29:51 -04:00
Behdad Esfahbod
bf133497e5
Merge commit '49a41dc75931cc2d2f7e74b7801f8cc327039e8e'
2017-10-25 17:23:20 -06:00
Behdad Esfahbod
49a41dc759
[test] Add more hb-set tests
...
https://github.com/behdad/harfbuzz/issues/579
2017-10-25 16:17:45 -06:00
David Corbett
fd786c768f
Use `mktemp -d` instead of `mktemp --directory`
2017-10-25 16:53:37 -04:00
David Corbett
c4944920c0
Fix and run indic-script-extensions.tests
2017-10-25 16:53:16 -04:00
David Corbett
d8df714251
Fix code point iteration in narrow Python
2017-10-25 16:53:16 -04:00
Behdad Esfahbod
deed4a48d1
Faster hb_set_t
...
Fixes https://github.com/behdad/harfbuzz/pull/23
2017-10-15 16:45:33 -03:00
Behdad Esfahbod
81e2b9b8a9
Never skip over CGJ
...
We might want to tweak this some more. For now, never skipping over
it is better behavior than always skipping.
Part of https://github.com/behdad/harfbuzz/issues/554
2017-10-15 10:49:06 +02:00
Behdad Esfahbod
fa48ccbe12
[indic] Special-case Kannada Ra,H,ZWJ sequence
...
Fixes https://github.com/behdad/harfbuzz/issues/435
2017-10-12 14:07:37 +02:00
Behdad Esfahbod
ab8d70ec70
[arabic] Implement Unicode Arabic Mark Ordering Algorithm UTR#53
...
Fixes https://github.com/behdad/harfbuzz/issues/509
2017-10-04 14:47:10 +02:00
David Corbett
3ca9c92aa6
Test Consonant_With_Stacker in Kannada ( #530 )
2017-10-03 14:07:02 +02:00
Behdad Esfahbod
5d98de1f38
Tweak mark-base attachment
...
Apparently a base glyph can also become an attached component of a
ligature if the ligature-forming lookup used IgnoreBase. This was
being confused with a non-first component of a MultipleSubst and
hence not matched for mark-attachment. Tweak test to fix.
Fixes https://github.com/behdad/harfbuzz/issues/543
2017-10-03 13:49:40 +02:00
Behdad Esfahbod
09cbeb2246
Make bots happy
...
Fixes https://github.com/behdad/harfbuzz/issues/551
2017-10-03 13:22:07 +02:00
Behdad Esfahbod
1633513996
Add test for U+0A51
...
New Indic 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: 951201 out of 951913 tests passed. 712 failed (0.0747968%)
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%)
Before 71c0a1429d
GURMUKHI used to be at 15,
because Uniscribe seems to allow this character standalone, but that looks
wrong.
2017-10-02 20:28:56 +02:00
Behdad Esfahbod
8b2c94c43f
Tweak ligature component matching for ligature formation
...
If two marks want to ligate and they belong to different components of the
same ligature glyph, and said ligature glyph is to be ignored according to
mark-filtering rules, then allow.
Example Burmese senquence:
U+1004,U+103A,U+1039,U+101B,U+103D,U+102D
Test font provided by Norbert Lindenberg.
Fixes https://github.com/behdad/harfbuzz/issues/545
2017-10-02 20:03:35 +02:00
Behdad Esfahbod
71c0a1429d
[indic] Fix shaping of U+0A51
...
Mark it as matra below to allow the sequence U+0A15, U+0A51, U+0A47.
Oh well...
Fixes https://github.com/behdad/harfbuzz/issues/524
2017-10-02 18:57:03 +02:00
Behdad Esfahbod
cc79b666bc
[indic] Add test for 1a0a356a0f
...
https://github.com/behdad/harfbuzz/issues/538
2017-10-02 09:19:15 -04:00
Behdad Esfahbod
61a9d7e6d0
Minor
2017-09-04 19:48:52 -07:00
Behdad Esfahbod
03a5a6f873
[util] Add --unicodes to hb-view / hb-shape
...
Fixes https://github.com/behdad/harfbuzz/issues/154
2017-09-01 19:12:22 -07:00
Behdad Esfahbod
0e5b475d98
Minor
2017-09-01 18:28:47 -07:00
Behdad Esfahbod
3e1fc6d18b
Minor
2017-09-01 10:46:48 -07:00
Behdad Esfahbod
04f009f848
Add test accidentally removed in previous commit
2017-09-01 10:38:25 -07:00
Behdad Esfahbod
06cb162cd7
[indic] Treat Consonant_With_Stacker as consonant
...
Fixes https://github.com/behdad/harfbuzz/issues/528
"Kannada JIHVAMULIYA and UPADHMANIYA insert dotted circles"
2017-09-01 10:34:56 -07:00
Behdad Esfahbod
099472e08b
hb_buffer_diff() tweak
...
I like to have a mode where CONTAINS_NOTDEF and CONTAINS_DOTTEDCIRCLE are not
returned. Abused a value of -1 for that. hb-shape now uses it. Fixes two
of the six tests failing with --verify in test/shaping/run-tests.sh.
2017-08-30 16:45:06 -07:00
Behdad Esfahbod
4387b059a0
[test] Add --verify to hb-shape
...
Disabled for now. Will enable and fix failures after next release.
2017-08-23 14:35:58 -07:00
Behdad Esfahbod
c4712f8e37
Fix test
2017-08-10 20:27:21 -07:00
Behdad Esfahbod
3b54d0337e
Add tests for 'avar' fix 5dc30451b8
2017-08-08 18:37:03 -07:00
Behdad Esfahbod
c1432bce3c
[arabic] Adjust feature order again
...
Fixes https://github.com/behdad/harfbuzz/issues/505
2017-07-14 17:35:17 +01:00
Behdad Esfahbod
9dd29c681e
[use] Allow up to two medial-below letters
...
Fixes https://github.com/behdad/harfbuzz/issues/376
2017-07-14 17:01:27 +01:00
Behdad Esfahbod
216b003c91
[use] Fix shaping of U+AA29 CHAM VOWEL SIGN AA
...
Part of https://github.com/behdad/harfbuzz/issues/376
Also see https://github.com/roozbehp/unicode-data/issues/6
Test added, using NotoSansCham built from Noto Phase III sources.
2017-07-14 16:38:51 +01:00
Behdad Esfahbod
3cc84f45b9
[indic] Fix https://github.com/behdad/harfbuzz/issues/478
2017-07-14 15:50:22 +01:00
Behdad Esfahbod
e359a4b8f5
[indic] Disable automatic ZWNJ handling for Indic features
...
Fixes https://github.com/behdad/harfbuzz/issues/294
Also fixes a bunch of other Indic issues. Test results after:
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: 60732 out of 60747 tests passed. 15 failed (0.0246926%)
KANNADA: 951201 out of 951913 tests passed. 712 failed (0.0747968%)
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%)
Before:
BENGALI: 353725 out of 354188 tests passed. 463 failed (0.130722%)
DEVANAGARI: 707307 out of 707394 tests passed. 87 failed (0.0122987%)
GUJARATI: 366349 out of 366457 tests passed. 108 failed (0.0294714%)
GURMUKHI: 60732 out of 60747 tests passed. 15 failed (0.0246926%)
KANNADA: 951190 out of 951913 tests passed. 723 failed (0.0759523%)
KHMER: 299070 out of 299124 tests passed. 54 failed (0.0180527%)
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: 1091753 out of 1091754 tests passed. 1 failed (9.15957e-05%)
TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%)
2017-07-14 14:22:52 +01:00
Dominik Schlösser
3a73e0d5e1
Shaping tests for Tibetan vowels ( #446 )
...
* Shaping tests for Tibetan vowels
* Test-cases for the Dzongkha contractions with multiple vowel-signs added.
* going to be removed
* Extended contraction-test-cases to all test cases in contractions.txt that actually use multiple-vowels (113 cases)
2017-07-14 12:14:55 +01:00
Khaled Hosny
06cfe3f736
Do not skip TAG characters in glyph substitution ( #487 )
...
Hide them like Mongolian Free Variation Selectors instead.
Fixes https://github.com/behdad/harfbuzz/issues/463
2017-05-17 11:32:47 -07:00
Dominik Schlösser
c42869eb71
Small doc fix: `make check` runs the tests ( #469 )
2017-04-15 12:17:05 -07:00
Dominik Schloesser
8d256841ca
Current fonttools (3.9.1) generate subset-file called font.subset.ttf instead of older font.ttf.subset
2017-03-27 12:05:35 +02:00
Dominik Schloesser
c2a9de15f5
Updated samples: record-it.sh is now record-test.sh
2017-03-27 12:05:35 +02:00
Khaled Hosny
f2e6c7ce51
[tools] Make hb-unicode-code work with Python 3
...
Related to https://github.com/behdad/harfbuzz/pull/445
2017-03-26 10:50:32 +02:00
Behdad Esfahbod
47e7a1800f
Revert "Fix Context lookup application when moving back after a glyph delete"
...
This reverts commit b9b005f3a4
.
This introduced invalid access cases. Revert until I fix correctly.
2017-03-10 13:23:02 -08:00
Behdad Esfahbod
b9b005f3a4
Fix Context lookup application when moving back after a glyph delete
...
This was broken forever, since days that we did not allow moving
tape backwards. Works now. Reported by Doug Felt.
2017-03-01 14:27:23 -08:00
Behdad Esfahbod
a11501444c
Add few tests found by libFuzzer and oss-fuzz
2017-02-25 13:37:54 -08:00
jfkthame
44f7d6ecde
Guard against underflow when adjusting length ( #421 )
...
* Guard against underflow when adjusting length
With the fuzz-testcase in mozilla bug 1295299, we end up with a recursed lookup that removes 3 items, when `match_positions[idx]` is 0, which results in (unsigned) `end` wrapping to a huge value.
Making `end` a signed int is probably the simplest route to a fix.
Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1295299 .
* Add testcase for #421 .
2017-02-16 19:03:24 -08:00
jfkthame
45766b673f
[indic] Add support for Grantha marks that may be used in Tamil to th… ( #401 )
...
* [indic] Add support for Grantha marks that may be used in Tamil to the Indic table.
See https://bugzilla.mozilla.org/show_bug.cgi?id=1331339 .
Testcase: U+0BA4,U+0BC6,U+1133c,U+0BAA,U+1133c,U+0BC6,U+1133c
* [indic] Add test for Grantha nukta that is allowed in Tamil by ScriptExtensions.txt
2017-02-16 09:40:21 -08:00
Philip Withnall
a6ced90efc
test: Fix some memory leaks in test-font.c ( #409 )
...
Coverity IDs: 141039, 141040, 141041
2017-02-07 18:18:33 -08:00
Behdad Esfahbod
e888f642db
Route Adlam through Arabic shaper
...
Fixes joined Adlam rendering.
Fixes https://github.com/googlei18n/noto-fonts/issues/828
2017-01-26 14:50:14 -08:00
Behdad Esfahbod
a8a5e81a52
[test-ot-math] Add test with nil face/font
2017-01-19 16:55:04 -08:00
Behdad Esfahbod
331d07bd40
Minor
2017-01-19 16:51:36 -08:00
Behdad Esfahbod
b5ecf1bfa4
Fix warnings
2017-01-19 16:50:29 -08:00
Behdad Esfahbod
2f2ceee185
Minor
2017-01-19 16:48:01 -08:00
Khaled Hosny
2452543fdd
[ot] Fix automatic fraction for RTL scripts ( #405 )
...
The numbers for right-to-left scripts are processed also from right to
left, so the order of applying “numr” and “dnom” features should be
reversed in such case.
Fixes https://github.com/behdad/harfbuzz/issues/395
2017-01-18 12:48:13 -08:00
Sascha Brawer
1337428e4f
Update language tags to OpenType 1.8.1 ( #403 )
...
Resolves https://github.com/behdad/harfbuzz/issues/324
2017-01-18 04:51:02 -08:00
Behdad Esfahbod
31f7b1bb94
Add tests for USE using Marchen font and text
...
From http://www.babelstone.co.uk/Fonts/Marchen.html
2017-01-05 20:20:06 -08:00
Behdad Esfahbod
4b4a1b9f23
Fix assert fail with contextual matching
...
As discovered by libFuzzer / Chromium fuzzing.
Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=659496
CC https://github.com/behdad/harfbuzz/issues/139
2016-12-21 23:14:16 -06:00
Behdad Esfahbod
a0688e8e7b
Ouch, finish previous change
2016-12-20 20:52:50 -06:00
Behdad Esfahbod
de14c19d14
[fuzzer] Separate main() into a new file
2016-12-20 20:50:38 -06:00
Mike Hommey
1c98ff87c7
Support building with older glib versions
...
It is desirable to be able to build against older versions of glib.
fd7a245
changed the configure check to require glib > 2.38 for
G_TEST_DIST. Before that, version 2.16 was required, but in fact,
since aafe395
, G_PASTE is being used, which was introduced in 2.19.1.
And since 0ef179e2
, hb-glib uses GBytes, which were introduced in
2.31.10.
2.19.1 is rather old, but 2.38 is rather new. For Firefox, building
against 2.22 is still supported, although we could probably get away
with bumping that to 2.28. Either way, GBytes is not available.
Arguably, if you build against a glib that doesn't support GBytes,
you're not going to use the hb_glib_blob_create function, so we hide
the function when building against such a glib.
As for G_TEST_DIST, when building against versions of glib that don't
support it, we can fallback to the previous behavior, which, AIUI, was
just making the test not work when building in a separate directory.
2016-12-18 01:37:07 -06:00
Behdad Esfahbod
8c842e4a44
[hb-fuzzer] Get glyph extents for output glyphs
...
To exercise glyph-extents codepaths (glyf / CBLC+CBDT).
2016-12-04 20:28:38 -08:00
Behdad Esfahbod
9f6144cdb9
[CBDT] Add test for fetching glyph extents
2016-12-04 19:55:17 -08:00
Behdad Esfahbod
d163cd9562
[tests] Add tests for vertical origin with ft and ot font-funcs
2016-10-26 18:27:48 +02:00
Frédéric Wang
c3fa5d0e03
Remove inexistent file ttx file from test/api/Makefile.am
2016-10-24 21:42:04 +02:00
Behdad Esfahbod
34fc4a2cfa
Fix dist
2016-10-04 14:47:12 -07:00
Behdad Esfahbod
46cc4a3a2a
[MATH] Rename hb_math_*_t types to hb_ot_math_*_t
...
With this, I believe MATH table API is not ready to be merged.
2016-09-27 16:44:22 +02:00
Frédéric Wang
8d622f1114
Add tests for get_mathvariant ( #329 )
2016-09-27 13:53:34 +02:00
Frédéric Wang
485e4873fb
Add tests for hb_ot_math_get_glyph_variants ( #328 )
2016-09-27 13:18:00 +02:00
Behdad Esfahbod
a5629a2ed9
[MATH] Simplify test
2016-09-27 11:31:29 +02:00
Frédéric Wang
edcfa789bf
test-ot-math: Use different scales for vertical and horizontal directions and add test for hb_ot_math_get_min_connector_overlap. ( #327 )
2016-09-27 11:02:08 +02:00
Behdad Esfahbod
cdc9eef7da
[MATH] Enable tests for glyph-assembly italics-correction
2016-09-26 22:18:41 +02:00
Behdad Esfahbod
86106c7528
[MATH] Rename all API to hb_ot_math_*
2016-09-26 22:14:29 +02:00
Frédéric Wang
51da7a1cd6
MATH table: Add API to access math variants.
2016-09-26 15:18:16 +01:00
Frédéric Wang
722e620f20
Use G_TEST_DIST to build the path of math test fonts
2016-09-26 13:49:18 +01:00
Behdad Esfahbod
17ff30e9af
[MATH] Clean up get_top_accent_attachment()
...
Note, the function now returns "half of horizontal advance width"
if top accent attachment for glyph is not explicitly defined.
This is what the spec requires. Updated tests.
2016-09-26 12:21:27 +01:00
Behdad Esfahbod
8bcf517fe5
[MATH] Clean up get_italics_correction()
2016-09-26 12:13:14 +01:00
Frédéric Wang
d7182d1296
MATH Table: Add API to access glyph info.
2016-09-26 11:32:25 +01:00
Frédéric Wang
319ff59161
MATH Table: Add API to access math contants.
2016-09-26 10:49:09 +01:00
Behdad Esfahbod
4d3892e9b0
[MATH] Fixups for previous commit
2016-09-26 10:45:58 +01:00
Frédéric Wang
5fbcb992bd
MATH Table: Add API to check availability of math data.
2016-09-26 10:27:33 +01:00
Sascha Brawer
e7ecbba2cc
Support Americanist Phonetic Notation
...
OpenType language system tag: `APPH`
https://www.microsoft.com/typography/otspec/languagetags.htm
IETF BCP47 variant tag: `fonnapa`
http://www.iana.org/assignments/language-subtag-registry/language-subtag-registry
2016-08-18 14:13:26 +02:00
Behdad Esfahbod
18c19dd34d
Fix build
2016-08-09 13:03:14 -07:00
Behdad Esfahbod
91f2585411
Actually add test
2016-08-08 18:08:08 -07:00
Behdad Esfahbod
f1b76275da
Add tests for Chinese language tags
...
Using font from https://github.com/behdad/harfbuzz/issues/300
2016-08-08 18:06:09 -07:00
Sascha Brawer
5967eaba72
[CPAL] Return 0xFFFF as name id for unnamed palettes
...
The name id 0 is used as Copyright notice. It's quite unlikely that a
font supplies a color palette with the exact same name as the font's
copyright notice, but the API should not prevent this.
Also, try to fix a problem with GObject introspection, where the
auto-generated Python bindings could not return palette colors.
2016-06-24 16:46:49 +02:00
Sascha Brawer
d34d3ac985
Support CPAL table
2016-06-19 13:17:57 +02:00
Khaled Hosny
988350586f
[tests] Workaround Python 2 “narrow” builds
...
The so-called Python 2 “narrow” builds support UCS2 only, this is a
workaround to allow unichr to work with any Unicode character in such
builds. This fixes Travis-CI failure as it has narrow Python 2 builds.
Copied from:
https://github.com/behdad/fonttools/blob/master/Lib/fontTools/misc/py23.py
2016-06-18 23:01:58 +02:00
Behdad Esfahbod
6c0aa9e92b
Fix build on droid.io
2016-05-06 17:50:53 +01:00
Behdad Esfahbod
9b6312f945
[use] Update to draft spec from Andrew Glass from August 2015
2016-05-06 17:41:49 +01:00
Behdad Esfahbod
30e6e29f0f
[indic/use] Move Javanese from Indic shaper to USE
...
Fixes https://github.com/behdad/harfbuzz/issues/243
With javatext.ttf, the reodering medial Ra gets its advance width
zero'ed in Uniscribe implementation, and the font adds the advance
back. Our Indic shaper does not do that, but USE does. So, route
Javanese through USE. That's what Microsoft does anyway. Test:
U+A9A5,U+A9BA
This also seems to fix the following sequence, and variations thereof:
U+A99F,U+A9C0,U+A9A2,U+A9BF
2016-05-06 15:52:27 +01:00
Behdad Esfahbod
c6ee5f5f06
Add Javanese sample text
2016-05-06 15:39:02 +01:00
Behdad Esfahbod
f8061ae797
[tests] Fix test
2016-05-02 10:28:24 +02:00
Behdad Esfahbod
f00ab2a33a
[hb-ot-font] Make 'glyf' table loading lazy
...
Apparently some clients have reference-table callbacks that copy the table.
As such, avoid loading 'glyf' table which is only needed if fallback positioning
happens.
2016-05-02 10:24:00 +02:00
Behdad Esfahbod
f68390f196
[test] Add text for Tibetan shorthand contractions
...
From http://www.babelstone.co.uk/Tibetan/Contractions.html
2016-04-27 02:44:35 -07:00
Behdad Esfahbod
b20305022a
Do NOT ignore Mongolian Free Variation Selectors during matching
...
Fixes https://github.com/behdad/harfbuzz/issues/234
2016-04-26 16:41:17 -07:00
Behdad Esfahbod
6e55199b5f
Add test for 6dd80faf0d
2016-04-04 16:24:27 -07:00
Behdad Esfahbod
dd8598c1c7
[test] Pass closure to hb_font_set_glyph_func()
...
Exercises fix in c335fd7986
2016-02-25 11:20:05 +09:00
Behdad Esfahbod
af48e3d27c
Fix recent test
...
Not sure why the FT functions were returning advance 1024. This
caused failure on drone.io. Switch to hb-ot-font and disable
glyph names.
2016-02-24 16:06:40 +09:00
Behdad Esfahbod
17c8317017
[tests] Fix for multiple options in test runner scripts
2016-02-24 16:06:23 +09:00
Behdad Esfahbod
ebd7431f82
Partially revert 86c68c7a2c
...
That commit moved the advance adjustment for mark positioning to
be applied immediately, instead of doing late before. This breaks
if mark advances are zeroed late, like in Arabic. Also, easier to
hit it in RTL scripts since a single mark with non-zero advance is
enough to hit the bug, whereas in LTR, at least two marks are needed.
This reopens https://github.com/behdad/harfbuzz/issues/211
The cursive+mark interaction is broken again. To be fixed in a
different way.
2016-02-24 15:53:40 +09:00
Behdad Esfahbod
284481b312
Add test for mark positioning in rtl with non-zero mark advance
...
Apparently I broke this 86c68c7a2c
.
Fix coming.
2016-02-24 15:52:37 +09:00
Behdad Esfahbod
56a84e8dd1
[tests] Allow commenting out tests to be skipped
2016-02-24 15:50:33 +09:00
Behdad Esfahbod
525cc7d28c
Add note re only adding tests with Free Software fonts
2016-02-23 15:19:27 +09:00
Behdad Esfahbod
6a09d7e34b
[test] Add README about how to add shaping tests
2016-02-23 13:47:16 +09:00
Behdad Esfahbod
f8ee7906d0
Remove MANIFEST files
...
They are unused currently. We can add later if we hook them up
to anything useful.
2016-02-23 13:45:38 +09:00
Behdad Esfahbod
815bdd7700
In cluster-level=0, group ZWJ/ZWNJ with previous cluster
...
This better emulates Unicode grapheme clusters.
Note that Uniscribe does NOT do this, but should be harmless with most clients,
and improve fallback with clients that use HarfBuzz cluster as unit of fallback.
Fixes https://github.com/behdad/harfbuzz/issues/217
2016-02-22 18:22:44 +09:00
Behdad Esfahbod
c373155904
[fuzzing] Add test for recent fix
...
Test from https://github.com/behdad/harfbuzz/issues/223
I forgot that we do run hb-fuzzer on tests in shaping/tests/fuzzed.tests.
2016-02-19 15:13:07 +07:00
Behdad Esfahbod
aa33cb72ab
[fuzzing] Make test runner actually work
2016-02-19 15:12:53 +07:00
Behdad Esfahbod
2735555c6b
[fuzzing] Add TODO item
2016-02-19 15:12:50 +07:00
Behdad Esfahbod
7e76bbabba
[fuzzing] Make "make hb-fuzzer" build lib dependency
...
Not going to do with util/, but is convenient here.
2016-02-19 14:43:39 +07:00
Behdad Esfahbod
da41e48f0a
[USE] Zero mark advances by GDEF early
...
This is what Microsoft's implementation does. Marks that need advance
need to add it back using 'dist' or other feature in GPOS. Update tests to
match.
2016-02-16 17:16:33 +07:00
Behdad Esfahbod
86c68c7a2c
[GPOS] Fix interaction of mark attachments and cursive chaining
...
Fixes https://github.com/behdad/harfbuzz/issues/211
What happens in that bug is that a mark is attached to base first,
then a second mark is cursive-chained to the first mark. This only
"works" because it's in the Indic shaper where mark advances are
not zeroed.
Before, we didn't allow cursive to run on marks at all. Fix that.
We also where updating mark major offsets at the end of GPOS, such
that changes in advance of base will not change the mark attachment
position. That was superior to the alternative (which is what Uniscribe
does BTW), but made it hard to apply cursive to the mark after it
was positioned. We could track major-direction offset changes and
apply that to cursive in the post process, but that's a much trickier
thing to do than the fix here, which is to immediately apply the
major-direction advance-width offsets... Ie.:
https://github.com/behdad/harfbuzz/issues/211#issuecomment-183194739
If this breaks any fonts, the font should be fixed to do mark attachment
after all the advances are set up first (kerning, etc).
Finally, this, still doesn't make us match Uniscribe, for I explained
in that bug. Looks like Uniscribe applies minor-direction cursive
adjustment immediate as well. We don't, and we like it our way, at
least for now. Eg. the sequence in the test case does this:
- The first subscript attaches with mark-to-base, moving in x only,
- The second subscript attaches with cursive attachment to first subscript
moving in x only,
- A final context rule moves the first subscript up by 104 units.
The way we do, the final shift-up, also shifts up the second subscript
mark because it's cursively-attached. Uniscribe doesn't. We get:
[ttaorya=0+1307|casubscriptorya=0@-242,104+-231|casubscriptnarroworya=0@20,104+507]
while Uniscribe gets:
[ttaorya=0+1307|casubscriptorya=0@-242,104+-211|casubscriptnarroworya=0+487]
note the different y-offset of the last glyph. In our view, after cursive,
things move together, period.
2016-02-16 16:07:20 +07:00
Behdad Esfahbod
5b5dc2c040
[tests] Add test for advance zeroing of an ASCII letter marked as mark in GDEF
2016-02-11 12:15:38 +07:00
Behdad Esfahbod
3fe0cf1040
Fix previous commit!
2016-02-10 18:43:43 +07:00
Behdad Esfahbod
293a210eee
[tests] Fix fonts in cc4a78bf22
...
They had an invalid LookupFlag (32).
2016-02-10 18:39:59 +07:00
Behdad Esfahbod
cc4a78bf22
[tests] Add tests for Latin mark zeroing
2016-02-10 18:24:35 +07:00
Behdad Esfahbod
55ff34b9c1
[tests] Add tests for Thai mark zeroing
2016-02-10 18:24:32 +07:00
Behdad Esfahbod
43bb2b8fb0
Minor
2016-02-10 14:11:43 +07:00
Behdad Esfahbod
505b7d4732
[fuzzing] Fuzz input text
...
Very rudimentary right now, but will get kcc's bot going.
From
https://github.com/behdad/harfbuzz/issues/139#issuecomment-163580783
2016-01-11 18:31:04 +00:00
Behdad Esfahbod
e8a27d7947
Don't build hb-fuzzer in "make", only "make check"
2016-01-07 22:52:16 +00:00
Behdad Esfahbod
99d3495576
[test] Add test text for Kaithi
2016-01-06 12:21:54 +00:00
Behdad Esfahbod
6173c2a6fc
Fix flaky test
...
This test font had a upem of 769, which results in rounding-related errors with
the FreeType font funcs. Change the upem to 1024 to fix that.
Fixes https://github.com/behdad/harfbuzz/issues/201
2015-12-25 18:18:23 +01:00
Behdad Esfahbod
3fcae6d82d
[tests] Add --reference, for re-recording tests
2015-12-25 18:18:02 +01:00
Behdad Esfahbod
2f02fc79a5
Improve ligature-component handling
...
We use three bits for lig_id these days, so we finally got a report of
two separate ligatures with the same lig_id happening adjacent to each
other, and then the component-handling code was breaking things.
Protect against that by ignoring same-lig-id but lig-comp=0 glyphs after
a new ligature.
Fixes https://github.com/behdad/harfbuzz/issues/198
2015-12-17 15:21:14 +00:00
Behdad Esfahbod
2ab0de9fbd
[use] Fix halant detection
...
Before, we were just checking the use_category(). This detects as
halant a ligature that had the halant as first glyph (as seen in
NotoSansBalinese.) Change that to use the is_ligated() glyph prop
bit. The font is forming this ligature in ccmp, which is before
the rphf / pref tests. So we need to make sure the "ligated" bit
survives those tests. Since those only check the "substituted" bit,
we now only clear that bit for them and "ligated" survives.
Fixes https://github.com/behdad/harfbuzz/issues/180
2015-12-17 11:59:15 +00:00
Behdad Esfahbod
1c6a057dd1
Add tests for previous commit
2015-11-26 18:48:30 -05:00
Behdad Esfahbod
9cc1ed4fa6
Do not allow recursiving to same position and same lookup
...
This is just to make it harder to be extremely slow. There definitely
are ways still, just harder. Oh well... how do we tame this problem
without solving halting problem?!
Fixes https://github.com/behdad/harfbuzz/issues/174
2015-11-19 12:39:09 -08:00
Behdad Esfahbod
7d75eee799
[fuzzing] Run fuzzing tests using hb-fuzzer as well
2015-11-19 12:15:05 -08:00
Behdad Esfahbod
85062e3b46
Add tests for previous two commits
...
To fully test what these are supposed to test, they should be run
against libharfbuzz-fuzzing.la instead of libharfbuzz.la, but for
now just record the files.
2015-11-18 23:09:13 -08:00
Behdad Esfahbod
ec625f7dfb
Try to fix gnome-continuous build fail
2015-11-18 16:37:59 -08:00
Behdad Esfahbod
ff16ef3379
Enable building a bounded version of the library for fuzzing
...
test/fuzzing/hb-fuzzer links against libharfbuzz-fuzzing.so now.
2015-11-18 16:27:32 -08:00
Behdad Esfahbod
59821ab8b4
[arabic] Don't stretch over cased letters
...
Addresses
6e6f82b6f3 (commitcomment-14248516)
2015-11-06 16:27:44 -08:00
Behdad Esfahbod
a6d7668a95
[fuzzing] Cap max buffer len at 128
2015-11-06 09:46:54 -08:00
Behdad Esfahbod
5a7eb5d4d8
[fuzzing] Add test case for OOM
...
From https://github.com/behdad/harfbuzz/issues/161
2015-11-06 00:01:24 -08:00
Behdad Esfahbod
4301703bdd
Limit buffer max size growth
...
https://github.com/behdad/harfbuzz/issues/161
2015-11-05 23:44:59 -08:00
Behdad Esfahbod
19300183a6
[fuzzing] Add build system
2015-11-05 23:08:50 -08:00
Behdad Esfahbod
9c9ad214af
[fuzzer] Add README
...
https://github.com/behdad/harfbuzz/issues/139#issuecomment-154202645
2015-11-05 22:50:52 -08:00
Behdad Esfahbod
6e6f82b6f3
Implement SYRIAC ABBREVIATION MARK with 'stch' feature
...
The feature is enabled for any character in the Arabic shaper.
We should experiment with using it for Arabic subtending marks.
Though, that has a directionality problem as well, since those
are used with digits...
Fixes https://github.com/behdad/harfbuzz/issues/141
2015-11-05 17:46:34 -08:00
Behdad Esfahbod
da29b43794
Separate nil font-funcs from parent-peeking font-funcs
...
API change: all fonts created with hb_font_create() now inherit from
(ie have parent) hb_font_get_empty().
2015-11-04 20:22:44 -08:00
Behdad Esfahbod
04fd8517f8
Add tests for hyphen fallback
...
U+2011 is <noBreak> equivaent of U+2010, so we should do the fallback
for it. Currently fails.
2015-11-04 17:39:26 -08:00
Behdad Esfahbod
550417117d
[test] Drop hintings when subsetting fonts to record
2015-11-04 17:37:30 -08:00
Behdad Esfahbod
49ef630936
Adjust the width of various spaces if font does not cover them
...
See discussion here:
81ef4f407d
There's no way to disable this fallback, but I don't think it would
be needed. Let's hope for the best!
Fixes https://github.com/behdad/harfbuzz/issues/153
2015-11-04 17:27:07 -08:00
Behdad Esfahbod
7793aad946
Normalize various spaces to space if font doesn't support
...
This resurrects the space fallback feature, after I disabled
the compatibility decomposition. Now I can release HarfBuzz
again without breaking Pango!
It also remembers which space character it was, such that later
on we can approximate the width of this particular space
character. That part is not implemented yet.
We normalize all GC=Zs chars except for U+1680 OGHA SPACE MARK,
which is better left alone.
2015-11-04 15:51:41 -08:00
Behdad Esfahbod
8b3c7f9ede
[test] Support recording multiple lines of text in record-test.sh
2015-11-04 15:48:51 -08:00
Behdad Esfahbod
2f0dfd43cd
Fix test expectation
2015-11-03 12:28:34 -08:00
Behdad Esfahbod
df698f3299
[ot-font] Fix hmtx table length checking, *again*
...
Exactly the same problem that I fixed in
63ef0b41dc
I rewrote the table checking yesterday in
67f8821fb2
and introduced the exact same issue again. :(
Good thing we have ongoing fuzzing going now. Was discovered
immediately by libFuzzer. Thanks kcc!
https://github.com/behdad/harfbuzz/issues/139#issuecomment-153449473
Fixes https://github.com/behdad/harfbuzz/issues/156
2015-11-03 12:15:12 -08:00
Behdad Esfahbod
67f8821fb2
[ot] Make bad-hmtx handling match FreeType
...
Also route fuzzing-related tests through hb-ot-font, to reduce dependency
on FreeType behavior for badly-broken fonts. Fixes failing test with
FreeType master.
2015-11-02 15:37:29 -08:00
Behdad Esfahbod
338ffec9e4
Add tests for a couple of fixed issues found by libFuzzer
...
From:
https://github.com/behdad/harfbuzz/issues/139#issuecomment-147616887
https://github.com/behdad/harfbuzz/issues/139#issuecomment-148289957
2015-10-15 12:56:19 -03:00
Behdad Esfahbod
55db94be2b
Add test for previous commit
2015-10-13 00:33:59 -04:00
Behdad Esfahbod
c1a5dc46c2
[fuzz] Add fuzzing script from kcc@
...
https://github.com/behdad/harfbuzz/issues/139
2015-10-12 17:39:52 -04:00
Behdad Esfahbod
98c6fccc00
Add test for ee9b0b6cb5
2015-10-11 21:41:04 -04:00
Behdad Esfahbod
34379b49e6
Add test for previous fix
2015-10-09 12:34:02 -04:00
Behdad Esfahbod
3e905e396b
Add hb_font_set_parent()
...
No reason to not have it. Makes life easier later.
We (hb-ft, hb-ot-font, etc) can use this API to inject new
parent into a font...
2015-10-08 12:51:02 -04:00
Behdad Esfahbod
88da7bba9f
Default font scale to face upem
...
Makes for a better default and avoids nasty inheritance issues.
See mailing list thread "Default hb_font_t scale".
2015-10-02 14:38:20 +01:00
Behdad Esfahbod
1866e17114
Make hb_font_create_sub_font() NOT make parent immutable
...
We don't rely on that. However, whenever hb_font_make_immutable()
is called, it makes its parenting chain immutable.
2015-10-02 14:21:29 +01:00
Sascha Brawer
f2ad935e19
Handle language tags that indicate phonetic IPA transcription
...
The BCP-47 registry defines a variant subtag "fonipa" that can be used
in combination with arbitrary other language tags. For example,
"rm-CH-fonipa-sursilv" indicates the Sursilvan dialect of Romansh
as used in Switzerland, transcribed used the International Phonetic
Alphabet.
http://www.iana.org/assignments/language-subtag-registry/language-subtag-registry
2015-09-29 14:32:06 +01:00
Behdad Esfahbod
b6d7d161a8
[tests] Add Hebrew test for normalization under cluster-level=1
...
Currently fails.
https://bugzilla.gnome.org/show_bug.cgi?id=541608
2015-09-01 16:12:44 +01:00
Behdad Esfahbod
fad2674874
Minor
2015-09-01 14:45:46 +01:00
Behdad Esfahbod
31594b98af
[test] Fix test-object
...
See previous commit.
2015-08-30 17:33:04 +01:00
Behdad Esfahbod
7368da6724
[test] Add test for cursive-positioning with mixed directions
...
Fails now. Fix coming. See thread "Issue with cursive attachment"
started by Khaled. Test fonts were made by modifying test font
from Khaled to add more anchors.
2015-08-25 20:29:36 +01:00
Behdad Esfahbod
f3792342f6
[tests] Add test for fallback positioning with cluster_level > 0
...
For https://github.com/behdad/harfbuzz/pull/123
Currently fails. Fix coming.
2015-08-08 18:03:16 +02:00
Romain Naour
160f635523
fix static linking with icu-uc
...
When linking test-unicode statically it needs $(ICU_LIBS)
which contains all required flags.
Especially -lstdc++.
Fixes:
http://autobuild.buildroot.net/results/210/2107f9dfb39eeb6559fb4271c7af8b39aef521ca/
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
2015-07-31 16:12:26 +02:00
Behdad Esfahbod
df6cb84449
Merge branch 'use'
2015-07-26 19:40:55 +02:00
Behdad Esfahbod
786ba45847
[test] Encode Kharoshti text
...
Ouch!
2015-07-23 13:04:34 +01:00
Behdad Esfahbod
b423125503
[test] Add Batak and Buginese test texts
2015-07-23 13:01:55 +01:00
Behdad Esfahbod
b8c159ffcc
[test] Remove shaper-sea texts under shaper-use
2015-07-23 13:00:44 +01:00
Behdad Esfahbod
67ba7320cc
[test] Remove New Tai Lue texts
...
New Tai Lue changed encoding to visual, boring, model.
2015-07-23 12:58:21 +01:00
Behdad Esfahbod
c81d957a26
[test] Add tests for improved 'vert' feature
2015-07-23 12:50:48 +01:00
Behdad Esfahbod
8a6a16dbcb
[test] Add recently added test
...
Ouch.
2015-07-23 12:49:09 +01:00
Behdad Esfahbod
895fb31c7f
[test] Support additional options to hb-shape in micro-test suite
2015-07-23 12:14:03 +01:00
Behdad Esfahbod
582069172c
Add test case for deleting default ignorables with positioning
2015-07-22 18:44:59 +01:00
Behdad Esfahbod
14b12f92a9
[USE] Add Kharoshti test data from Unicode proposal
2015-07-20 11:57:44 +01:00
Behdad Esfahbod
b3a2f6afba
[test] Add test for cluster merging
...
Based on test from https://code.google.com/p/chromium/issues/detail?id=497578
Currently fails. Basically, if there's a default_ignorable at the
start of text, and font has no space glyph, we remove the default_ignorable,
and that makes the first char in text to correspond to no cluster.
Fix coming.
2015-06-18 17:15:33 -07:00
Behdad Esfahbod
8f0a4d6714
[test] Ignor 'n' and 'i' in hb-unicode-encode
...
Allows accepting uniXXXX format.
2015-04-23 14:32:33 -07:00
Behdad Esfahbod
eb0bf3ae66
Relax inert checks
...
Previously, when creating an object from inert inputs (eg:
"hb_font_create(hb_face_get_empty())") we returned the inert
empty object. This is not helpful as there are legitimate
usecases to do that.
We now never return the inert object unless allocation failed.
Tests are revised to reflect.
2015-04-09 19:16:57 -07:00
Behdad Esfahbod
9868749abe
[test] Use /usr/bin/env python instead of /usr/bin/python
...
Bug 76494 - #!/usr/bin/python in testsuite
https://bugs.freedesktop.org/show_bug.cgi?id=76494
2015-04-06 14:51:31 -07:00
Ebrahim Byagowi
363ceec3fb
Make hb_test_tools.py compatible with python 3
...
On ArchLinux, /usr/bin/python is linked to python 3 so
HarfBuzz `make check` is broken there.
This makes hb_test_tools.py compatible with python 3 while
no breaking it on python 2.
2015-03-31 03:06:32 +04:30
Behdad Esfahbod
7d5e7613ce
Fail blob creation if length overflows or is too large
...
Fail if blob start plus length overflows; or if blob length
is greater than 2GB. It takes a while for fonts to get to that
size. In the mean time, it protects against bugs like this:
http://www.icu-project.org/trac/ticket/11450
Also avoids some weird issues with 32bit vs 64bit systems
as we accept length as unsigned int. As such, a length of
-1 will cause overflow on 32bit machines, but happily
accepted on a 64bit machine. Avoid that.
2014-12-18 18:22:21 -08:00
Behdad Esfahbod
e6f80fa104
[indic] Allow ZWJ/ZWNJ before SM
...
In Oriya, a ZWJ/ZWNJ might be added before candrabindu to encourage
or stop ligation of the candrabindu. This is clearly specified in
the Unicode section on Oriya. Allow it there. Note that Uniscribe
doesn't allow this.
Micro tests added using Noto Sans Oriya draft.
No changes in numbers. Currently at:
BENGALI: 353725 out of 354188 tests passed. 463 failed (0.130722%)
DEVANAGARI: 707307 out of 707394 tests passed. 87 failed (0.0122987%)
GUJARATI: 366349 out of 366457 tests passed. 108 failed (0.0294714%)
GURMUKHI: 60732 out of 60747 tests passed. 15 failed (0.0246926%)
KANNADA: 951190 out of 951913 tests passed. 723 failed (0.0759523%)
KHMER: 299070 out of 299124 tests passed. 54 failed (0.0180527%)
MALAYALAM: 1048147 out of 1048334 tests passed. 187 failed (0.0178378%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271662 out of 271847 tests passed. 185 failed (0.068053%)
TAMIL: 1091753 out of 1091754 tests passed. 1 failed (9.15957e-05%)
TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%)
2014-12-10 12:05:24 -08:00
Behdad Esfahbod
a1f27ac3c4
Update test expectation for previous commit
2014-10-02 16:54:33 -04:00
Behdad Esfahbod
715f27f85f
[test] Fixup test
2014-10-01 16:53:00 -04:00
Behdad Esfahbod
c4308f895a
Minor
2014-08-13 19:42:01 -04:00
Behdad Esfahbod
b5fbc3b8f5
API: Do not clear buffer-flags in hb_buffer_clear_contents()
...
After 763e5466c0
, one doesn't
need to set flags for different pieces of text. The flags now
are something the client sets up once, depending on how it
actually uses the buffer. As such, don't clear it in
clear_contents().
Tests updated.
2014-08-11 18:40:01 -04:00
Behdad Esfahbod
d5e61470fa
[arabic] Fix fallback shaping regression
...
Was broken in 615d00ea25
.
Fixes https://github.com/behdad/harfbuzz/pull/48
Micro-test added.
2014-08-05 14:19:36 -04:00
Behdad Esfahbod
ac53443f1c
[hangul] Don't apply 'calt'
...
See comments.
Micro-test added.
2014-07-31 18:54:43 -04:00
Behdad Esfahbod
8292f96b2b
[test] Fix record-test.sh
2014-07-31 18:54:43 -04:00
Behdad Esfahbod
9e834e29e0
[hebrew] Zero mark advance by GDEF late
...
Seems to be what Uniscribe does.
At this point I think it's work checking our default...
Fixes Bug 76767 - Zeroing of advance of 2nd component of multiple
substitution with SBL Hebrew
https://bugs.freedesktop.org/show_bug.cgi?id=76767
Micro-test added.
2014-07-26 20:34:01 -04:00
Behdad Esfahbod
6f2d9ba52a
Add old-Myanmar shaper
...
Looks like Unsicribe responds to the 'mymr' tag by zeroing marks
GDEF_LATE instead of generic-shaper UNICODE_LATE. Implement that.
Fixes
Bug 81775 - Incorrect Rendering with harfbuzz-ng myanmar unicode
https://bugs.freedesktop.org/show_bug.cgi?id=81775
Micro-test added based on Padauk.
2014-07-26 19:18:59 -04:00
Behdad Esfahbod
fc0daafab0
[indic] Handle old-spec Malayalam reordering with final Halant
...
See comment.
Micro-tests added.
2014-07-23 16:53:03 -04:00
Behdad Esfahbod
d218bdb26b
Fix test runner under Windows
2014-07-22 18:02:11 -04:00
Behdad Esfahbod
00a57eb4b5
[test] Remove unused micro-font
2014-07-18 14:42:50 -04:00
Behdad Esfahbod
ed29b15f5d
[test] Add more Mongolian variation selector tests
...
From
https://code.google.com/p/chromium/issues/detail?id=393896
2014-07-18 14:37:49 -04:00