Commit Graph

11326 Commits

Author SHA1 Message Date
Khaled Hosny
07e304b2a4
Merge pull request #2755 from Myaamori/master
meson: use meson.current_source_dir() instead of @CURRENT_SOURCE_DIR@
2020-12-01 22:32:19 +02:00
Behdad Esfahbod
7c241651ac [algs] Don't forward rvalue twice
Part of https://github.com/harfbuzz/harfbuzz/issues/2293
2020-11-30 16:38:53 -07:00
Behdad Esfahbod
53806e5b83 Tiny improvement on previous commit
Functionally the same.
2020-11-25 11:51:37 -07:00
Dominik Röttsches
a5f6f869e8 Drop layout table if layout lookup accelerator allocation failed
If the table is kept, when the table is present but only the accelerator
allocation failed, then we run into nullptr dereferences downstream in
hb_ot_map_t::apply when trying to access proxy.accels[i].

To fix this, instead of only setting lookup_count of accelerator_t
itself, drop the whole table to avoid hb-ot-map construction assuming
that the lookups will work correctly despite accelerator allocation
having failed.

Fixes:
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=24490
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=24490
2020-11-25 10:18:04 -08:00
Myaamori
5f32fdff11 meson: use meson.current_source_dir() instead of @CURRENT_SOURCE_DIR@
@CURRENT_SOURCE_DIR@ is not listed as a valid string substitution
for custom targets in the Meson reference, and in practice
it does not get substituted when using the vs2019 backend.
2020-11-24 01:29:24 +00:00
David Corbett
b2e7bb2a7c Don’t map BCP 47 to coincidentally similar OT tag 2020-11-22 19:35:47 -08:00
David Corbett
e1df2c5277 Map ISO 639 code qul to language system tag 'QUH ' 2020-11-22 11:52:23 -07:00
Khaled Hosny
bac8a856f8 Revert "[CI] Don’t install ragel on circleci jobs"
This reverts commit 9a9da110a5.
2020-11-21 08:41:06 -07:00
Khaled Hosny
f579c66108 Mark variable unused
Hopefully fixes build with newer ragel.

https://github.com/adrian-thurston/ragel/issues/56

Fixes https://github.com/harfbuzz/harfbuzz/issues/2752
2020-11-21 08:41:06 -07:00
David Corbett
f83496a910 [use] Remove workaround for reserved code points
See <https://github.com/microsoft/font-tools/issues/12>.
2020-11-20 15:37:37 -07:00
David Corbett
17da41bd06 Update language system tag registry to OT 1.8.4 2020-11-18 11:13:35 -08:00
Khaled Hosny
385d9c08d8
Merge pull request #2700 from xclaesse/cairo-ft
meson: Fix cairo_ft_dep when fontconfig is a subproject
2020-11-17 19:43:22 +02:00
Xavier Claessens
9722b4b269 Meson: Update all wrap files to latest version 2020-11-17 11:56:52 -05:00
Xavier Claessens
a082fe400d ci: Install meson 0.56.0 in crossbuild-win32
It is required for using cairo as subproject.
2020-11-17 11:52:35 -05:00
Xavier Claessens
e2ba0e009e meson: Fix check for cairo and cairo-ft dependencies
When cairo comes from a subproject fallback it should still take
cairo-ft dependency, otherwise it miss freetype2 cflags.

Also update wrap file to use upstream repository now that meson support
has been merged.

This requires Meson >= 0.54.0 because cairo itself requires that version
and we use the new `fallback: 'cairo'` syntax without specifying a
variable name because cairo does not provide a variable name for
cairo-ft.
2020-11-17 11:52:35 -05:00
Khaled Hosny
c4ade4fdd6
Merge pull request #2686 from simoncozens/more-tracing
More tracing
2020-11-17 14:32:04 +02:00
Simon Cozens
fd8f4ffcc6 Trace reorder, not normalize 2020-11-17 09:05:40 +00:00
Simon Cozens
2e0193d741 Add more cast spaces 2020-11-17 09:05:40 +00:00
Simon Cozens
4bb6d54e3b Missing cast 2020-11-17 09:05:40 +00:00
Simon Cozens
8e1bedc50b Keep phase names 2020-11-17 09:05:40 +00:00
Simon Cozens
428c111f13 Fix spacing around casts 2020-11-17 09:05:40 +00:00
Simon Cozens
f19018da41 Smaller issues from review 2020-11-17 09:05:40 +00:00
Simon Cozens
8b3b835a0a Trace normalization and preprocessing stages 2020-11-17 09:05:40 +00:00
Simon Cozens
b50099bff2 Trace reordering in pause functions 2020-11-17 09:05:40 +00:00
Khaled Hosny
e6c21d7b58
Merge pull request #2692 from ffontaine/master
src/meson.build: allow introspection when cross-compiling
2020-11-17 08:53:32 +02:00
Fabrice Fontaine
0c3dcfae19 Merge remote-tracking branch 'upstream/master' 2020-11-17 07:31:07 +01:00
David Corbett
3bd43bd023 Map more ISO 15924 variants to hb_script_ts 2020-11-16 22:18:15 -08:00
David Corbett
27170e058d Fix names for language tag in gen-tag-table.py
A BCP 47 language tag with both a script subtag and a region subtag
would be printed as a human-readable name in hb-ot-tag-table.hh as if it
only had its language subtag.
2020-11-16 10:59:07 -08:00
Khaled Hosny
5091ea7e24
Merge pull request #2733 from astiob/buffer-context-doc
[docs] Describe buffer context applicability more explicitly
2020-10-24 22:37:52 +02:00
Oleg Oshmyan
07961daed0 [docs] Describe buffer context applicability more explicitly
Make it abundantly clear that the context's script etc. don't matter.

Fixes https://github.com/harfbuzz/harfbuzz/issues/2730
2020-10-24 21:58:02 +03:00
Khaled Hosny
69cc214c9a
Merge pull request #2729 from khaledhosny/autotools-pkg-config
[autotools] Require pkg-config 0.28
2020-10-24 10:41:33 +02:00
Khaled Hosny
5adc1344a4 [ci] Upload meason logs on some CircleCI jobs 2020-10-23 19:02:54 +02:00
Khaled Hosny
71376f88ef [ci] CircleCI removed xcode:9.0.1 image
The replacement run newer versions of macOS (10.13.3), making this job
obsolete as it tests nothing the other jobs don’t test.
2020-10-23 19:02:41 +02:00
Khaled Hosny
05403a07b5 [autotools] Require pkg-config 0.28
Follow up 0615c7b64b, which fixes #1565.
This seems to be the version that fixed the circular dependency, based
on the ChangeLog:
https://cgit.freedesktop.org/pkg-config/commit/?h=pkg-config-0.28&id=74ceac54ef6f9247c00f08eecd8cca811a3c5934
2020-10-23 17:29:43 +02:00
David Corbett
49ebb9ebdd [use] Remove redundant O entries from the table 2020-10-17 22:07:34 +02:00
David Corbett
79fd5ce22e [use] Merge IND and Rsv classes into O 2020-10-17 22:07:34 +02:00
Khaled Hosny
c2cdcd4901 [tests] warning: unused variable 'num_glyphs' 2020-10-17 21:57:27 +02:00
David Corbett
e25aa49a1b Fix a dead link in CMakeLists.txt 2020-10-17 12:32:41 -04:00
Khaled Hosny
9a9da110a5 [CI] Don’t install ragel on circleci jobs
Latest ragel version is broken (https://github.com/adrian-thurston/ragel/issues/56), but we also don’t need to regenerate state machine on CI jobs.
2020-10-17 09:24:54 -07:00
Behdad Esfahbod
cde2cf84c0 [use] Minor clean-up of unused categories 2020-10-17 11:22:19 -04:00
David Corbett
0792690b73 [use] Skip WJ and ZWJ when clustering 2020-10-16 22:39:46 -07:00
Laurenz
3fcf466b7b [hb-shape-fallback] Use signed int for correction 2020-10-16 17:57:38 -07:00
Behdad Esfahbod
77e704d1db [buffer] Add assert_unicode()/assert_glyphs() and use internally 2020-10-15 02:02:04 -06:00
Behdad Esfahbod
5ef0613909 [buffer] Add ensure_glyphs()/ensure_unicode()
Use in deserialize. To be used more.
2020-10-15 01:54:28 -06:00
Khaled Hosny
84dd65a874 [test] Remove timeout from test runners
See https://github.com/harfbuzz/harfbuzz/issues/2707#issuecomment-707744079

This wasn’t inconsistent as well, HB_TEST_SUBSET_FUZZER_TIMEOUT defaulted
to 12 in the test runner, but it was overridden to 50 in meson.build,
and then meson has its own test timeout.
2020-10-15 00:49:02 -07:00
Behdad Esfahbod
3232e6f2a9 [buffer] Add hb_buffer_has_positions()
Fixes https://github.com/harfbuzz/harfbuzz/issues/2716
2020-10-15 00:20:17 -06:00
Khaled Hosny
97a093c52f [hb-subset] Improve error handling a bit
* Check that output-file option is actually set before trying to open
  it.
* Print file name and errno when opening the output file fails.
* Be more resilient when writing output file and use ferror() to check
  for errors.

Fixes https://github.com/harfbuzz/harfbuzz/issues/2711
2020-10-13 11:18:59 -07:00
Khaled Hosny
fa771a7f85 [tests] Fix memory leak in test
To make valgrind bot happy.
2020-10-11 13:15:39 -07:00
David Corbett
dec52006d9 Map BCP 47 tags to all macrolanguages
The general rule is that if a BCP 47 macrolanguage maps to an OpenType
language system tag, all its individual languages map to it too.
Previously, a tag like "prs" (Dari) would not map to the language system
tag ('FAR ') of its macrolanguage ("fa") because "prs" already has its
own language system tag ('DRI '). That exception has been removed: now
"prs" maps to 'DRI ' and falls back to 'FAR '.
2020-10-11 11:38:40 -07:00
David Corbett
1d53268dfe Fix two-way mapping of "man" and 'MNK ' 2020-10-11 11:38:40 -07:00