Ebrahim Byagowi
9df2fb1611
Add API tests for hb_map_t
2018-10-19 20:23:36 +03:30
Ebrahim Byagowi
8a5eba7110
[test] cosmetic, use g_assert_cmpint
2018-10-19 20:23:36 +03:30
Ebrahim Byagowi
c6eb5e852c
Don't report deprecated symbols as unused symbols
2018-10-19 20:23:36 +03:30
Ebrahim Byagowi
34f357c78a
Add test for hb_set_del
2018-10-19 20:23:36 +03:30
Ebrahim Byagowi
b7cef8cb1d
Enable valgrind and dedicate a bot to it
2018-10-19 09:39:36 +03:30
Ebrahim Byagowi
bccd09d6c7
Minor, tweak spaces on hb-shape-fuzzer.cc
2018-10-19 09:39:36 +03:30
Ebrahim Byagowi
fbf665b307
[fuzz] Add more found cases ( #1275 )
2018-10-19 08:09:53 +03:30
Michiharu Ariza
51fba41cc9
Merge branch 'master' into cff-subset
2018-10-18 13:08:42 -07:00
Michiharu Ariza
e555ed961e
added flex extents test
2018-10-18 13:04:41 -07:00
Behdad Esfahbod
535ca678bf
[test] Don't use newer glib API
2018-10-18 05:58:04 -07:00
Behdad Esfahbod
b9478e28ac
Revert "[test] Remove not-fixed yet testcases ( #1268 )"
...
This reverts commit 191eef823f
.
2018-10-17 22:11:49 -07:00
Ebrahim Byagowi
191eef823f
[test] Remove not-fixed yet testcases ( #1268 )
...
I added them but now that I think, it is a bad idea to have them as
fuzzing bots will find good seeds to tweak in order to find easy new
testcases which causes duplicated issues.
2018-10-18 08:04:18 +03:30
Ebrahim Byagowi
392e1f4ddd
[test/shape-fuzzer] fail on timeout and ubsan errors ( #1267 )
2018-10-18 07:42:20 +03:30
Ebrahim Byagowi
751c10e55e
[fuzz] Add more new testcases
2018-10-18 06:36:48 +03:30
Ebrahim Byagowi
fd282eb328
[fuzz] Add a new testcase
2018-10-18 06:33:39 +03:30
Behdad Esfahbod
3341c7fbfb
[fuzzing] Move fuzzing fonts from api/ here
2018-10-17 15:04:35 -07:00
Michiharu Ariza
1f34388e8b
Merge branch 'master' into cff-subset
2018-10-17 09:34:48 -07:00
Behdad Esfahbod
5842756b13
[fuzzing] Delete blink fuzzed data
...
These are text, not font.
2018-10-16 18:28:55 -07:00
Behdad Esfahbod
ba42651608
Fix indent
2018-10-16 17:35:46 -07:00
Behdad Esfahbod
c0c190c16a
[fuzzing] Run tests against fuzzing fonts
...
Some disable.
2018-10-16 16:39:55 -07:00
Behdad Esfahbod
7b37705fb5
[fuzzing] Rename
2018-10-16 16:33:06 -07:00
Behdad Esfahbod
3676c685d4
[fuzzing] Move rest of fuzzing tests here
2018-10-16 16:32:26 -07:00
Behdad Esfahbod
1487173dcf
[fuzzing] Delete duplicate fonts
2018-10-16 16:30:38 -07:00
Behdad Esfahbod
49c041f7c5
Minor
2018-10-16 16:25:24 -07:00
Behdad Esfahbod
1147ce2392
[fuzzing] Add more tests
2018-10-16 16:18:32 -07:00
Behdad Esfahbod
1aa353e4fc
Fix tests
2018-10-16 15:26:51 -07:00
Behdad Esfahbod
98d4ad02b9
[fuzzing] One more
2018-10-16 15:17:31 -07:00
Behdad Esfahbod
e6f267c3df
[fuzzing] Add more clusterfuzz tests I had lying around
2018-10-16 15:16:20 -07:00
Ebrahim Byagowi
e53206271d
Add all the fonts found by fuzzers to the repo ( #1258 )
2018-10-17 01:42:04 +03:30
Behdad Esfahbod
2137582c96
[morx] Reword ligation
...
Still fails MORX-41. Am talking to Sascha to better understand what CoreText
is doing.
2018-10-16 14:46:07 -07:00
Behdad Esfahbod
c46d42f8f2
[test/text-rendering-tests] Update from upstream
2018-10-16 13:39:54 -07:00
Ebrahim Byagowi
61510b63c1
[test] Minor cleanup in test-multithread and test-ot-name ( #1256 )
2018-10-16 14:17:21 +03:30
Michiharu Ariza
9ade3e7bb8
Merge branch 'master' into cff-subset
2018-10-15 14:03:23 -07:00
Behdad Esfahbod
8dc6296818
[ot-font] Implement TrueType v_origin
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/537
2018-10-15 01:09:05 -07:00
Michiharu Ariza
db0d83ddc7
Merge branch 'master' into cff-subset
2018-10-13 17:25:38 -07:00
Michiharu Ariza
9228db06f4
added CFF1 Expert Encoding subset test & bug fixes
2018-10-13 17:25:09 -07:00
Behdad Esfahbod
c0a6814b49
Touch up new API
...
New API:
+hb_ot_layout_feature_get_name_ids()
+hb_ot_layout_feature_get_characters()
2018-10-12 16:06:39 -04:00
Ebrahim Byagowi
dc49bd8d81
Add two APIs for getting stylistic set labels
...
* hb_ot_layout_feature_get_characters
* hb_ot_layout_feature_get_name_ids
However HarfBuzz currently doesn't expose an API for retrieving the actual
information associated with NameId from the `name` table and that should be
done separately.
2018-10-12 16:06:39 -04:00
Michiharu Ariza
fc0153a1d4
Merge branch 'master' into cff-subset
2018-10-12 12:16:50 -07:00
Behdad Esfahbod
bf8469be9a
Attach CursivePositioning backwards, not forward
...
This is how Uniscribe does it. So, adjust. This is only relevant
to fonts that apply cursive positioning from a contextual lookup.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1181
2018-10-11 20:45:40 -04:00
Behdad Esfahbod
bdb53ca24a
[myanmar] Implement Zawgyi shaper
...
Enabled if script tag 'Qaag' is passed to HarfBuzz. Disables mark
advance-zeroing and fallback mark-positioning.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1162
2018-10-11 20:20:29 -04:00
Behdad Esfahbod
788e147855
[test] Add test for USE indic3
2018-10-11 19:24:52 -04:00
Behdad Esfahbod
a11972787a
Minor
2018-10-11 19:23:36 -04:00
David Corbett
28d091d045
Parse Indic3 tags
2018-10-11 17:44:13 -04:00
Behdad Esfahbod
211cd3691b
Remove remains of get-codepoint-fuzzer
2018-10-11 17:31:29 -04:00
Behdad Esfahbod
120ed02725
[fuzzing] Fold get-codepoints-fuzzer into subset-fuzzer
2018-10-11 17:08:12 -04:00
Behdad Esfahbod
1d995a340b
Minor
2018-10-11 15:42:54 -04:00
Behdad Esfahbod
57b05210b1
[test] Fix use of deprecated symbols
2018-10-11 15:03:21 -04:00
Michiharu Ariza
ca37172ee3
fixed leak
2018-10-11 11:55:55 -07:00
David Corbett
7f1fbfe2e3
Add hb_ot_tags_to_script_and_language
2018-10-11 13:54:28 -04:00
David Corbett
65d01f7755
Test deprecated tag fallback in a font
...
The font supports the deprecated tag 'DHV ' instead of 'DIV '. dv is
mapped to 'DIV ' and 'DHV ', in that order. The test specifies
`--language=dv`, demonstrating that if a font does not support the first
OpenType tag mapped to a BCP 47 tag, it will fall back to the next tag.
2018-10-11 13:54:28 -04:00
David Corbett
7c7cb2a989
Match extlang subtags
...
If the second subtag of a BCP 47 tag is three letters long, it denotes
an extended language. The tag converter ignores the language subtag and
uses the extended language instead.
There are some grandfathered exceptions, which are handled earlier.
2018-10-11 13:54:28 -04:00
David Corbett
2f1f961cc0
Autogenerate the BCP 47 to OpenType mappings
...
The new script, gen-tag-table.py, generates `ot_languages` automatically
from the [OpenType language system tag registry][ot] and the [IANA
Language Subtag Registry][bcp47] with some manual modifications. If an
OpenType tag maps to a BCP 47 macrolanguage, all the macrolanguage's
individual languages are mapped to the same OpenType tag, except for
individual languages with their own OpenType mappings. Deprecated
BCP 47 tags are canonicalized.
[ot]: https://docs.microsoft.com/en-us/typography/opentype/spec/languagetags
[bcp47]: https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry
Some OpenType tags correspond to multiple ISO 639 codes. The mapping
from ISO 639 codes lists OpenType tags in priority order, such that more
specific or more likely tags appear first.
Some OpenType tags have no corresponding ISO 639 code in the registry so
their mappings use BCP 47 subtags besides the language. For example, any
BCP 47 tag with a fonipa variant subtag is mapped to 'IPPH', and 'IPPH'
is mapped back to und-fonipa.
Other OpenType tags have no corresponding ISO 639 code because it is not
clear what they are for. HarfBuzz just ignores these tags.
One such ignored tag is 'ZHP ' (Chinese Phonetic). It probably means
zh-Latn. However, it is used in Microsoft JhengHei and Microsoft YaHei
with the script tag 'hani', implying that it is not a romanization
scheme after all. It would be simple enough to add this mapping to
gen-tag-table.py once a definitive mapping is determined.
The manual modifications are mainly either obvious mappings that the
OpenType registry omits or mappings for compatibility with previous
versions of HarfBuzz. Some of the old mappings were discarded, though,
for homophonous language names. For example, OpenType maps 'KUI ' to
kxu; previous versions of HarfBuzz also mapped it to kvd, because kvd
and kxu both happen to be called "Kui".
gen-tag-table.py also generates a function to convert multi-subtag tags
like el-polyton and zh-HK to OpenType tags, replacing `ot_languages_zh`
and the hard-coded list of special cases in `hb_ot_tags_from_language`.
It also generates a function to convert OpenType tags to BCP 47,
replacing the hard-coded list of special cases in
`hb_ot_tag_to_language`.
2018-10-11 13:54:28 -04:00
David Corbett
91067716f5
Refactor the selection of script and language tags
...
The old hb-ot-tag.cc functions, `hb_ot_tags_from_script` and
`hb_ot_tag_from_language`, are now wrappers around a new function:
`hb_ot_tags`. It converts a script and a language to arrays of script
tags and language tags. This will make it easier to add new script tags
to scripts, like 'dev3'. It also allows for language fallback chains;
nothing produces more than one language yet though.
Where the old functions return the default tags 'DFLT' and 'dflt',
`hb_ot_tags` returns an empty array. The caller is responsible for
using the default tag in that case.
The new function also adds a new private use subtag syntax for script
overrides: "x-hbscabcd" requests a script tag of 'abcd'.
The old hb-ot-layout.cc functions,`hb_ot_layout_table_choose_script` and
`hb_ot_layout_script_find_language` are now wrappers around the new
functions `hb_ot_layout_table_select_script` and
`hb_ot_layout_script_select_language`. They are essentially the same as
the old ones plus a tag count parameter.
Closes #495 .
2018-10-11 13:54:28 -04:00
Michiharu Ariza
ce6639cd27
Merge branch 'master' into cff-subset
2018-10-11 10:53:48 -07:00
Michiharu Ariza
a6b6faf2b8
Replaced CFF1 J subset font for better coverage
...
in api test-ot-extents-cff
2018-10-11 10:53:44 -07:00
Behdad Esfahbod
100e95f48e
[trak] Add tests
2018-10-11 11:30:45 -04:00
Michiharu Ariza
b5aa5dbb11
Merge branch 'master' into cff-subset
2018-10-10 18:36:35 -07:00
Michiharu Ariza
af61c3b10f
added vsindex test & fixed process_vsindex
2018-10-10 18:35:12 -07:00
Behdad Esfahbod
1e8fdd285f
Remove HAVE_OT
...
We never tested compiling without it. Just kill it. We always build
our own shaper.
2018-10-10 16:32:35 -04:00
Michiharu Ariza
c06a5dff0b
Merge branch 'master' into cff-subset
2018-10-09 22:00:10 -07:00
Michiharu Ariza
83c5298f33
added cff1_legacyops.otf as test-ot-extents-cff test case
...
fixed roll operator bugs uncovered by the test
2018-10-09 21:59:36 -07:00
Michiharu Ariza
588518ea51
fixed test-ot-extents-cff failure on some platforms
2018-10-09 14:48:04 -07:00
Behdad Esfahbod
be2f148da4
[ft] Use mutex to lock access to FT_Face
...
Makes our FT-backed hb_font_t safe to use from multiple threads. Still,
the underlying FT_Face should NOT be used from other threads by client
or other libraries.
Maybe I add a lock()/unlock() public API ala PangoFT2 and cairo-ft.
Maybe not.
2018-10-09 16:24:50 -04:00
Behdad Esfahbod
9f79365c3b
Fix warning
...
How come this one is not generated by clang everything bot?!
../../../test/api/test-multithread.c:37:26: warning: initialization discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
static char *font_path = "fonts/Inconsolata-Regular.abc.ttf";
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../test/api/test-multithread.c:38:21: warning: initialization discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
2018-10-09 14:36:25 -04:00
Michiharu Ariza
f5f505b512
Merge branch 'master' into cff-subset
2018-10-09 10:10:35 -07:00
Chun-wei Fan
4035158de4
test/api/test-subset-*.c: Fix build on pre-C99
...
Ensure that we have the variables at the beginning of the block. These
are the only fixes that we need for building HarfBuzz on older
compilers.
2018-10-09 09:43:36 -04:00
Behdad Esfahbod
eb2be97f86
Port test off deprecated API
2018-10-09 07:48:52 -04:00
Behdad Esfahbod
cc126f2817
Minor
2018-10-09 01:10:15 -04:00
Behdad Esfahbod
a353c1768d
Remove test for deprecated hb_set_invert()
2018-10-09 01:05:28 -04:00
Michiharu Ariza
8b349040e9
Merge branch 'master' into cff-subset
2018-10-08 21:46:23 -07:00
Behdad Esfahbod
fc50916589
Remove deprecated decompose_compatibility stuff
2018-10-09 00:39:42 -04:00
Behdad Esfahbod
eed737f672
Remove deprecated eastasian_width
2018-10-09 00:37:10 -04:00
Michiharu Ariza
a90fd8b9fe
Merge branch 'master' into cff-subset
2018-10-08 15:07:58 -07:00
Michiharu Ariza
b51418f596
added CFF2 get_extents
...
added source hb-ot-cff2-table.cc
augmented VariationData to return scalars
misc bug fixes, renaming, cleanup
2018-10-08 15:05:36 -07:00
Behdad Esfahbod
9c1bb81f5c
[test/text-rendering-tests] Update from upstream
2018-10-08 16:11:14 -04:00
Behdad Esfahbod
2a5cb37fdb
Revert "[morx] Fix MORX-35"
...
This reverts commit f62f6e90ad
.
2018-10-07 20:37:15 -04:00
Behdad Esfahbod
f62f6e90ad
[morx] Fix MORX-35
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1224
2018-10-07 18:52:48 -04:00
Behdad Esfahbod
c07b91b812
[test/text-rendering-tests] Update from upstream
2018-10-07 18:00:14 -04:00
Behdad Esfahbod
f92330b5e0
Minor
2018-10-07 17:51:50 +02:00
Michiharu Ariza
55942ad5c1
Merge branch 'master' into cff-subset
2018-10-06 14:49:44 -07:00
Ebrahim Byagowi
e9abe33963
Use tempfile in run-tests as a fix for Windows CI fails ( #1228 )
2018-10-06 12:19:33 +03:30
Behdad Esfahbod
5a41cf6be6
[test/text-rendering-tests] Update from upstream
2018-10-05 18:09:12 +02:00
Michiharu Ariza
6238edbd8b
added CFF glyph extents API test
2018-10-04 13:59:36 -07:00
Behdad Esfahbod
7b3ae5ffd2
More bot fixes
2018-10-04 16:36:42 +02:00
Behdad Esfahbod
0abce58139
[test] Choose 'ot' shaper specifically
...
Now that we added morx support, our OS X bot is running them through CoreText
and failing (with a DoS / infinite loop no less!). Always run tests through
our own shaper.
2018-10-04 16:23:42 +02:00
Behdad Esfahbod
55468ca01b
[test/text-rendering-tests] Update from upstream
2018-10-04 12:19:30 +02:00
Behdad Esfahbod
6ff8a8a10b
Minor
2018-10-04 12:09:45 +02:00
Behdad Esfahbod
14ff3cbe0f
Apply morx if there's no GSUB!
2018-10-04 11:34:21 +02:00
Michiharu Ariza
1aeaee9dfc
fixed cff2 subset test data
2018-10-03 17:44:45 -07:00
Michiharu Ariza
8be5a9186b
Merge branch 'master' into cff-subset
2018-10-03 17:06:18 -07:00
Behdad Esfahbod
81f5eb09ec
Add emoji test for recent work
2018-10-03 21:32:52 +02:00
Behdad Esfahbod
03fb6dd4c7
Rewrite grapheme-formation in terms of new work
...
Also, don't attach ZWNJ to previous cluster. Closer to Unicode graphemes.
2018-10-03 21:11:40 +02:00
Behdad Esfahbod
3f1c741b7a
[test] Split a test
2018-10-03 21:11:40 +02:00
Ebrahim Byagowi
4146c00caa
[test] Use an in-repo font for test-multithread ( #1218 )
...
As Khaled's suggestion, hard-coded font paths was only for my own testing.
2018-10-03 21:26:58 +03:30
lantw44
7a1ab0464d
Fix test-multithread build on FreeBSD ( #1217 )
...
Add the default font path used by FreeBSD ports.
2018-10-03 18:52:43 +03:30
Behdad Esfahbod
df32eaae42
[indic] Disallow vowel mark combinations that spoof other vowel marks
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1019
New numbers:
BENGALI: 353725 out of 354188 tests passed. 463 failed (0.130722%)
DEVANAGARI: 707261 out of 707394 tests passed. 133 failed (0.0188014%)
GUJARATI: 366353 out of 366457 tests passed. 104 failed (0.0283799%)
GURMUKHI: 60729 out of 60747 tests passed. 18 failed (0.0296311%)
KANNADA: 951300 out of 951913 tests passed. 613 failed (0.0643966%)
MALAYALAM: 1048136 out of 1048334 tests passed. 198 failed (0.0188871%)
ORIYA: 42327 out of 42329 tests passed. 2 failed (0.00472489%)
SINHALA: 271596 out of 271847 tests passed. 251 failed (0.0923313%)
TAMIL: 1091754 out of 1091754 tests passed. 0 failed (0%)
TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%)
Devanagari regressed because Uniscribe doesn't enforce the full set.
Tests added with the *-vowel-letters.txt files in tree and Noto fonts.
2018-10-03 15:53:28 +02:00
Behdad Esfahbod
d3d0cbd278
Typo
2018-10-03 15:31:33 +02:00
Behdad Esfahbod
75114e01d2
[use] Add Halant_Or_Vowel_Modifier category
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1102
2018-10-03 12:30:23 +02:00
Michiharu Ariza
9cdd70b344
Merge branch 'master' into cff-subset
2018-10-02 13:43:21 -07:00
Ebrahim Byagowi
6353cc1f83
[circleci] Fix some of warnings from clang-everything bot ( #1211 )
...
* -Wshift-sign-overflow
* -Wmissing-prototypes
2018-10-02 21:39:19 +03:30
Behdad Esfahbod
9f1dee32fb
[tests] Allow test-runner to ignore shaping output
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1212
2018-10-02 18:56:20 +02:00
Behdad Esfahbod
d992982d23
[indic] Add some confusable sequences from Unicode Standard
2018-10-02 17:31:11 +02:00
Behdad Esfahbod
729f634728
Disable joiner-skipping when looking back for base to attach mark to
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1189
2018-10-02 14:41:31 +02:00
Ebrahim Byagowi
bf5088b3dc
Minor, fix -Weverthing bot warnings ( #1210 )
2018-10-02 11:07:06 +03:30
Ebrahim Byagowi
f72b748371
[circleci] Fix "msan" and "everything" bots ( #1205 )
2018-10-02 00:16:08 +03:30
Behdad Esfahbod
ab4c37f73a
[khmer] Add mark-ordering tests
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/667
2018-10-01 19:35:48 +02:00
Michiharu Ariza
3dd43f0234
Merge branch 'master' into cff-subset
2018-10-01 10:22:06 -07:00
Behdad Esfahbod
eb1e602877
[test] Try import unicodedata2 as unicodedata
2018-10-01 15:31:50 +02:00
Ebrahim Byagowi
0fa1edbd3b
[circleci] Couple of fixes ( #1200 )
...
* Raise error on warnings on -everything
* Enable fontconfig to two bots
* Fix msan bot now that all of its real complain are gone
2018-10-01 09:40:29 +03:30
Behdad Esfahbod
dcfcb950b8
[test] Fix -Wunused-parameter warnings
2018-09-30 18:14:50 +02:00
Behdad Esfahbod
be0b2ed316
More warning fixes
2018-09-30 18:02:04 +02:00
Ebrahim Byagowi
cefdef0247
Minor on test-multithread, align the actual and expected results
2018-09-29 10:19:54 +03:30
Behdad Esfahbod
c763b94401
[test-multithread] Disable FreeType funcs
2018-09-28 20:53:23 -04:00
Ebrahim Byagowi
7b68edf2ab
[tests] Don't try to get glyph names on failures
...
As it may cause a race unrelated to the issue actually happened
2018-09-28 20:53:48 +03:30
Behdad Esfahbod
33231a855f
Fix pthread fail for real
...
Using a hack...
2018-09-28 11:06:49 -04:00
Behdad Esfahbod
8cb8209c91
Fix bot fails
2018-09-28 10:55:28 -04:00
Behdad Esfahbod
02bebe42c1
[test/text-rendering-tests] Update from upstream
2018-09-28 10:01:59 -04:00
Behdad Esfahbod
4cd342baea
Fix ubsan bot
2018-09-28 09:47:45 -04:00
Behdad Esfahbod
7e6e094abd
[test-multithread] Install ot funcs before filling ref buffer
2018-09-28 08:45:57 -04:00
Behdad Esfahbod
21fbee831e
[test-multithread] Take num-threads and num-iters from command-line
2018-09-28 08:43:37 -04:00
Behdad Esfahbod
598be3bb38
Minor
2018-09-28 08:43:15 -04:00
Ebrahim Byagowi
c09bf3d505
test-multithread, check the results on every iteration ( #1194 )
2018-09-28 16:13:01 +03:30
Ebrahim Byagowi
dbc3070a15
Make test-multithread pass the tsan bot test ( #1193 )
2018-09-28 16:01:15 +03:30
Michiharu Ariza
dac70f252a
Added CFF1 J font subset to api test
...
Also fixed FDSelect3_4::get_fd
Fixed test_subset_cff1_strip_hints (wrong font names!)
2018-09-26 16:30:26 -07:00
Behdad Esfahbod
d183b33c1d
Rename test
2018-09-26 16:40:59 -04:00
Ebrahim Byagowi
39da1914b4
Test freetype funcs on test-multithread ( #1187 )
2018-09-26 23:32:45 +03:30
Ebrahim Byagowi
e88009a93f
Minor, remove the no longer needed comment on test-multithread
2018-09-26 22:53:02 +03:30
Behdad Esfahbod
34d5a25953
Fix test-multithread and increase num_threads to 30
...
What were you thinking? ;)
2018-09-26 15:02:21 -04:00
Ebrahim Byagowi
8bb73dad7f
Add a multithreaded test ( #1184 )
2018-09-26 20:50:51 +03:30
Michiharu Ariza
258b456566
Added CFF1 & CFF2 api tests
2018-09-24 16:50:47 -07:00
Michiharu Ariza
0604bf2b38
Merge branch 'master' into cff-subset
2018-09-24 10:09:25 -07:00
Behdad Esfahbod
d07f3111b4
Link API test programs with C++ linker
...
Needed to make ubsan work.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1174
2018-09-24 13:01:35 -04:00
Khaled Hosny
b7f1bbc2f8
[test] Fix printing subprocess error messages
...
Decode the string as Python 3 returns bytes string, and also don’t
assume that it ends with a new line.
2018-09-22 17:20:06 +02:00
Ebrahim Byagowi
403019482b
Fix test-subset-* leak issues
...
See also https://github.com/harfbuzz/harfbuzz/pull/1169
2018-09-22 17:24:03 +03:30
Ebrahim Byagowi
f6ebe1f4dc
Fix test-ot-math leak issue
...
See also https://github.com/harfbuzz/harfbuzz/pull/1169
2018-09-22 17:05:52 +03:30
Ebrahim Byagowi
669ac81ac5
Fix test-set leak issue
...
See also https://github.com/harfbuzz/harfbuzz/pull/1169
2018-09-22 16:49:23 +03:30
Ebrahim Byagowi
ef9307fd22
Fix test-font leak issue
...
See also https://github.com/harfbuzz/harfbuzz/pull/1169
2018-09-22 16:45:31 +03:30
Michiharu Ariza
321e592333
Added desubroutinize option to generate-expected-outputs.py
...
Currently hb-subset always desubroutinizes CFF fonts.
Note that even with this option fonttools won't generate the expected subset CFF fonts. They were manually created & tweaked to match hb-subset output.
2018-09-20 10:31:06 -07:00
Michiharu Ariza
1377adc8a8
Added SourceHanSans-Regular for CFF subset test
...
Disabled FDSelect serialization to format 0 for compatibility with fonttools
2018-09-19 17:00:10 -07:00
Michiharu Ariza
bf4eb2e4cf
Added SourceSansPro-Regular along as CFF full-font test case
...
derived "expected" subset fonts from fonttools then manually tweaked further so they resemble hb-subset output
2018-09-18 15:53:37 -07:00
Behdad Esfahbod
d5c509272f
[dfont] Fix test expecatation and minor touch up
...
I have no way to authoritatively know, but looks like test font only has one
face. So, adjust test expectation instead.
2018-09-11 17:18:21 +02:00
Ebrahim Byagowi
2b2ed1e536
[dfont] Add test
2018-09-11 16:47:21 +02:00
Behdad Esfahbod
cfdea88475
[random] Switch to 32bit RNG
2018-09-11 10:57:48 +02:00
Behdad Esfahbod
80de4bcd26
Minor clean up of 'rand' patchset
2018-09-11 10:47:59 +02:00
David Corbett
b545e27d88
Don't seed the RNG from the contents of the buffer
2018-09-11 10:47:59 +02:00
David Corbett
2de96e8468
Test 'rand'
2018-09-11 10:47:59 +02:00
Garret Rieger
21bf147054
[subset] Fix hdmx subsetted size calculation.
2018-09-05 19:31:55 -07:00
Behdad Esfahbod
93fe0faaee
[subset] Clean up hb_subset_input_t API
2018-08-29 18:24:03 -07:00
Behdad Esfahbod
f39166f0c0
[subset] Remove unused hb_subset_profile_t
...
We might reintroduce it later, but for now remove, as it was unused.
Some things that should have been in this object (drop_hints, etc)
are already in hb_subset_input_t. So, for now, keep everything there.
2018-08-29 18:09:55 -07:00
Behdad Esfahbod
62fc54725a
[ot-font] Fallback vertical advance to UPEM
...
Used to be ascent+descent. Whatever. This is more convenient for
upcoming changes.
2018-08-25 23:15:52 -07:00
Behdad Esfahbod
dae39c58fb
[face] Introduce character-map API
...
New API:
+hb_face_collect_unicodes
+hb_face_collect_variation_selectors
+hb_face_collect_variation_unicodes
2018-08-25 22:44:39 -07:00
Behdad Esfahbod
c77ae40852
Rename hb-*private.hh to hb-*.hh
...
Sorry for the noise, downstream custom builders. Please adjust.
2018-08-25 22:36:36 -07:00
Behdad Esfahbod
1becabe06c
[cmap] Use bsearch to find subtables
2018-08-25 15:37:56 -07:00
Behdad Esfahbod
d60c465627
Rename get_all_codepoints() to collect_unicodes()
2018-08-25 08:48:42 -07:00
Garret Rieger
2bdd903c69
[subset] limit the max codepoint value to the unicode limit.
...
When collecting all codepoints in the cmap avoid using large amount of memory for fonts that declare coverage over all 32 bit integers.
2018-07-31 18:40:38 -07:00
Garret Rieger
7278d9df30
[subset] Add hb_ot_layout_collect_features to harfbuzz-sections.txt.
...
Add the fuzzer test case for feature collection timeout.
2018-07-31 18:26:09 -07:00
Behdad Esfahbod
92ba9905ca
[indic] Allow double-halant in old-spec Devanagari
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1071
2018-07-31 15:19:32 -07:00
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