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