test/api


Log

Author Commit Date CI Message
Ebrahim Byagowi c110878c 2018-10-21T11:07:17 [test] Unify font file opening across the tests
Ebrahim Byagowi 8931bc4a 2018-10-20T23:23:32 [test] Fix -Wunused-parameter on test-font.c
Behdad Esfahbod f11c5576 2018-10-20T11:56:30 [test] Fix leak
Behdad Esfahbod f70f9941 2018-10-19T20:00:36 Minor
Behdad Esfahbod 4e09fb8f 2018-10-19T19:59:41 Oops. Fix build
Behdad Esfahbod 9e288d29 2018-10-19T19:47:27 [test-map] Cosmetic
Behdad Esfahbod 77d5c3df 2018-10-19T19:01:01 [font] Add failing test amongst font-func parallels infinite-looping Reported by Nona while updating Android to HarfBuzz 2.0.0.
Ebrahim Byagowi 114f66dd 2018-10-19T12:05:26 Fix hb_map_is_empty logic This needs reviewing
Ebrahim Byagowi 9df2fb16 2018-10-19T12:04:47 Add API tests for hb_map_t
Ebrahim Byagowi 8a5eba71 2018-10-19T10:20:16 [test] cosmetic, use g_assert_cmpint
Ebrahim Byagowi c6eb5e85 2018-10-19T10:14:25 Don't report deprecated symbols as unused symbols
Ebrahim Byagowi 34f357c7 2018-10-19T10:13:53 Add test for hb_set_del
Behdad Esfahbod 535ca678 2018-10-18T05:58:04 [test] Don't use newer glib API
Behdad Esfahbod 3341c7fb 2018-10-17T15:04:35 [fuzzing] Move fuzzing fonts from api/ here
Ebrahim Byagowi 61510b63 2018-10-16T14:17:21 [test] Minor cleanup in test-multithread and test-ot-name (#1256)
Behdad Esfahbod c0a6814b 2018-10-12T16:05:56 Touch up new API New API: +hb_ot_layout_feature_get_name_ids() +hb_ot_layout_feature_get_characters()
Ebrahim Byagowi dc49bd8d 2018-10-12T03:00:59 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.
David Corbett 28d091d0 2018-10-11T17:15:22 Parse Indic3 tags
Behdad Esfahbod 1d995a34 2018-10-11T15:42:54 Minor
Behdad Esfahbod 57b05210 2018-10-11T15:03:21 [test] Fix use of deprecated symbols
David Corbett 7f1fbfe2 2018-07-23T21:19:23 Add hb_ot_tags_to_script_and_language
David Corbett 7c7cb2a9 2018-01-20T15:53:09 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.
David Corbett 2f1f961c 2017-12-08T22:45:52 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`.
David Corbett 91067716 2017-12-08T11:21:14 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.
Behdad Esfahbod 1e8fdd28 2018-10-10T16:32:35 Remove HAVE_OT We never tested compiling without it. Just kill it. We always build our own shaper.
Behdad Esfahbod be2f148d 2018-10-09T16:24:50 [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.
Behdad Esfahbod 9f79365c 2018-10-09T14:36:25 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]
Chun-wei Fan 4035158d 2018-07-25T18:26:10 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.
Behdad Esfahbod eb2be97f 2018-10-09T07:48:52 Port test off deprecated API
Behdad Esfahbod a353c176 2018-10-09T01:05:28 Remove test for deprecated hb_set_invert()
Behdad Esfahbod fc509165 2018-10-09T00:39:42 Remove deprecated decompose_compatibility stuff
Behdad Esfahbod eed737f6 2018-10-09T00:33:30 Remove deprecated eastasian_width
Behdad Esfahbod f92330b5 2018-10-07T17:51:50 Minor
Ebrahim Byagowi 4146c00c 2018-10-03T21:26:58 [test] Use an in-repo font for test-multithread (#1218) As Khaled's suggestion, hard-coded font paths was only for my own testing.
lantw44 7a1ab046 2018-10-03T23:22:43 Fix test-multithread build on FreeBSD (#1217) Add the default font path used by FreeBSD ports.
Ebrahim Byagowi bf5088b3 2018-10-02T11:07:06 Minor, fix -Weverthing bot warnings (#1210)
Behdad Esfahbod dcfcb950 2018-09-30T18:14:50 [test] Fix -Wunused-parameter warnings
Behdad Esfahbod be0b2ed3 2018-09-30T18:01:20 More warning fixes
Ebrahim Byagowi cefdef02 2018-09-29T10:19:54 Minor on test-multithread, align the actual and expected results
Behdad Esfahbod c763b944 2018-09-28T20:53:07 [test-multithread] Disable FreeType funcs
Ebrahim Byagowi 7b68edf2 2018-09-28T20:53:48 [tests] Don't try to get glyph names on failures As it may cause a race unrelated to the issue actually happened
Behdad Esfahbod 33231a85 2018-09-28T11:06:49 Fix pthread fail for real Using a hack...
Behdad Esfahbod 8cb8209c 2018-09-28T10:55:28 Fix bot fails
Behdad Esfahbod 4cd342ba 2018-09-28T09:47:45 Fix ubsan bot
Behdad Esfahbod 7e6e094a 2018-09-28T08:45:57 [test-multithread] Install ot funcs before filling ref buffer
Behdad Esfahbod 21fbee83 2018-09-28T08:43:37 [test-multithread] Take num-threads and num-iters from command-line
Behdad Esfahbod 598be3bb 2018-09-28T08:33:26 Minor
Ebrahim Byagowi c09bf3d5 2018-09-28T16:13:01 test-multithread, check the results on every iteration (#1194)
Ebrahim Byagowi dbc3070a 2018-09-28T16:01:15 Make test-multithread pass the tsan bot test (#1193)
Behdad Esfahbod d183b33c 2018-09-26T16:29:35 Rename test
Ebrahim Byagowi 39da1914 2018-09-26T23:32:45 Test freetype funcs on test-multithread (#1187)
Ebrahim Byagowi e88009a9 2018-09-26T22:53:02 Minor, remove the no longer needed comment on test-multithread
Behdad Esfahbod 34d5a259 2018-09-26T15:02:21 Fix test-multithread and increase num_threads to 30 What were you thinking? ;)
Ebrahim Byagowi 8bb73dad 2018-09-26T20:50:51 Add a multithreaded test (#1184)
Behdad Esfahbod d07f3111 2018-09-24T13:01:35 Link API test programs with C++ linker Needed to make ubsan work. Fixes https://github.com/harfbuzz/harfbuzz/issues/1174
Ebrahim Byagowi 40301948 2018-09-22T17:24:03 Fix test-subset-* leak issues See also https://github.com/harfbuzz/harfbuzz/pull/1169
Ebrahim Byagowi f6ebe1f4 2018-09-22T17:05:52 Fix test-ot-math leak issue See also https://github.com/harfbuzz/harfbuzz/pull/1169
Ebrahim Byagowi 669ac81a 2018-09-22T16:49:23 Fix test-set leak issue See also https://github.com/harfbuzz/harfbuzz/pull/1169
Ebrahim Byagowi ef9307fd 2018-09-22T16:45:31 Fix test-font leak issue See also https://github.com/harfbuzz/harfbuzz/pull/1169
Garret Rieger 21bf1470 2018-09-05T18:04:52 [subset] Fix hdmx subsetted size calculation.
Behdad Esfahbod 93fe0faa 2018-08-29T18:24:03 [subset] Clean up hb_subset_input_t API
Behdad Esfahbod f39166f0 2018-08-29T18:09:55 [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.
Behdad Esfahbod dae39c58 2018-08-25T22:44:39 [face] Introduce character-map API New API: +hb_face_collect_unicodes +hb_face_collect_variation_selectors +hb_face_collect_variation_unicodes
Behdad Esfahbod c77ae408 2018-08-25T22:36:36 Rename hb-*private.hh to hb-*.hh Sorry for the noise, downstream custom builders. Please adjust.
Behdad Esfahbod d60c4656 2018-08-25T08:47:06 Rename get_all_codepoints() to collect_unicodes()
Garret Rieger 2bdd903c 2018-07-31T17:44:02 [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.
Garret Rieger 7278d9df 2018-07-31T17:59:19 [subset] Add hb_ot_layout_collect_features to harfbuzz-sections.txt. Add the fuzzer test case for feature collection timeout.
Garret Rieger 5edf454a 2018-07-26T17:42:02 [subset] During lookup collection remember the features we've already processed.
Behdad Esfahbod 019d18e9 2018-07-17T10:59:19 Minor
Behdad Esfahbod 58cb4d9f 2018-07-11T16:44:21 Minor
Garret Rieger 4f875346 2018-06-22T15:29:34 [subset] Add fuzzer test case that caused a timeout to the corpus.
Jonathan Kew a95cde15 2018-06-11T18:09:35 [hb-set] Additional testcase for hb-set-intersect.
Garret Rieger fc246ec9 2018-06-07T15:54:19 [subset] Move variable declaration out of loop.
Garret Rieger 197cb18b 2018-06-07T15:32:52 [subset] Add test cases for gsub closure in subsetting.
Behdad Esfahbod 11f1f413 2018-06-06T16:46:50 [set] Add is_subset New API: +hb_set_is_subset()
Behdad Esfahbod 0644d92e 2018-05-08T15:21:09 Merge pull request #1018 from googlefonts/cmap4 [subset] Add cmap format 4 subsetting.
Behdad Esfahbod f673cfbd 2018-05-07T13:58:32 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
Garret Rieger a8e7f9b9 2018-05-03T10:59:00 [subset] Get cmap tests passing again.
Garret Rieger c817992f 2018-05-03T10:53:20 [subset] Write out a format 4, plat 0 encoding record to match fontTools.
Ebrahim Byagowi ce17340b 2018-04-20T10:29:06 Add hb_blob_create_from_file, a new API (#926)
Garret Rieger 4fa1c670 2018-04-19T15:30:35 [subset] Check instruction offsets in glyph to ensure they are in bounds.
Garret Rieger e29c8e33 2018-04-18T17:32:43 [subset] Add a test for previous cmap breakage.
Garret Rieger 5dadbb0f 2018-04-17T07:00:23 [subset] Add implementation of cmap format 12 codepoint listing. (#988)
Garret Rieger 21a181af 2018-04-10T15:40:24 [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.
Ebrahim Byagowi f24b0b97 2018-04-12T13:40:45 Update the links and revive the dead ones
Garret Rieger 1c337278 2018-03-27T10:42:19 [subset] fix infinite loop bug in looping through tables for subsetting.
Garret Rieger 07851aae 2018-03-26T20:56:56 [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.
Behdad Esfahbod 44b6c77c 2018-03-26T14:26:45 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)
Garret Rieger 13966140 2018-03-20T16:55:42 [subset] don't use pointers returned from push after array has resized in hb-subset-glyf.cc
Garret Rieger 3531efdb 2018-03-20T16:31:21 [subset] Fixed out of bounds read when subsetting hdmx.
Garret Rieger e597436b 2018-03-20T13:00:49 [subset] Disable glyf accelerator_t methods if it didn't successfully init.
Garret Rieger 7251181b 2018-03-20T11:21:06 [subset] Fix infinite loop in there are more then 32 tables.
Garret Rieger 1a94804d 2018-03-19T18:39:22 [subset] Add a fix for segfault in hmtx/vmtx subsetting code.
Garret Rieger 31281d6a 2018-03-19T17:47:57 [subset] Add a test demonstrating a seg fault while subsetting hmtx.
Behdad Esfahbod e6e2ee2b 2018-03-15T09:05:22 Remove extra stdbool includes They are handled in our common header.
Chun-wei Fan 831d4a2d 2018-03-12T13:48:55 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.
Chun-wei Fan eda6a5ea 2018-03-12T13:38:01 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.
Garret Rieger ec47cd95 2018-03-07T10:33:02 [subset] Unit test to check that post subsetting drops glyph names.
Garret Rieger 362f2824 2018-03-07T11:08:55 [subset] fix author.
Garret Rieger 89465cb1 2018-03-07T10:29:15 [subset] s/hmetrics/vmetrics.