Commit Graph

11082 Commits

Author SHA1 Message Date
Ebrahim Byagowi eac2c3bdb1 [ci] Enable sanitizer bots again 2020-05-21 08:41:02 +04:30
Ebrahim Byagowi f9b31ddaaa [build] State encoding explicitly for hb-version.h.in
As https://circleci.com/gh/harfbuzz/harfbuzz/140481
  Traceback (most recent call last):
    File "./gen-hb-version.py", line 14, in <module>
      output_file.write (input_file.read ()
    File "/usr/lib/python3.4/encodings/ascii.py", line 26, in decode
      return codecs.ascii_decode(input, self.errors)[0]
  UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 16: ordinal not in range(128)
2020-05-21 08:39:22 +04:30
Ebrahim Byagowi 759ab4fe56 [meson] Use subdir_done to simplify test/api/meson.build 2020-05-21 08:24:15 +04:30
Ebrahim Byagowi a79d0e405b
[subset] minor, use a better type in iteration
In file included from hb-ot-face.cc:34:
In file included from ./hb-ot-kern-table.hh:30:
In file included from ./hb-aat-layout-kerx-table.hh:31:
In file included from ./hb-kern.hh:32:
In file included from ./hb-ot-layout-gpos-table.hh:32:
./hb-ot-layout-gsubgpos.hh:1878:63: error: loop variable '_' binds to a temporary value produced by a range of type 'decltype((hb_forward<hb_filter_iter_factory_t<hb_map_t &, const (anonymous struct at ./hb-algs.hh:331:1) &>>(rhs)(hb_forward<hb_zip_iter_t<hb_iota_iter_t<unsigned int, unsigned int>, hb_array_t<const OT::OffsetTo<OT::RuleSet, OT::IntType<unsigned short, 2>, true>>>>(lhs))))' (aka 'hb_filter_iter_t<hb_zip_iter_t<hb_iota_iter_t<unsigned int, unsigned int>, hb_array_t<const OT::OffsetTo<OT::RuleSet, OT::IntType<unsigned short, 2>, true>>>, hb_map_t &, const (anonymous struct at ./hb-algs.hh:331:1) &>') [-Werror,-Wrange-loop-bind-reference]
    for (const hb_pair_t<unsigned, const OffsetTo<RuleSet>&>& _ : + hb_enumerate (ruleSet)
                                                              ^
./hb-ot-layout-gsubgpos.hh:1878:10: note: use non-reference type 'hb_pair_t<unsigned int, const OffsetTo<OT::RuleSet> &>'
    for (const hb_pair_t<unsigned, const OffsetTo<RuleSet>&>& _ : + hb_enumerate (ruleSet)
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2020-05-21 07:32:58 +04:30
Ebrahim Byagowi 8667df552c [meson] Unbreak the build, oops 2020-05-21 07:19:37 +04:30
Ebrahim Byagowi 37f9cccc21
[meson] Don't run subset tests in parallel
Hopefully resolves https://github.com/harfbuzz/harfbuzz/runs/695051808#step:6:700 for now
2020-05-21 07:17:18 +04:30
Ebrahim Byagowi 791debdc4a
[meson][ci] Don't run subset fuzzer test in parallel
resolves https://github.com/harfbuzz/harfbuzz/runs/695051808#step:6:595 failure
2020-05-21 07:15:09 +04:30
Ebrahim Byagowi 8a5368e2d6 [tests] Enable more gid misc calls on draw fuzzer 2020-05-21 07:00:40 +04:30
Ebrahim Byagowi c68ab4b52b Fix _get_ligature_caret's oob read issue
AAT::Lookup has no other way to detect whether it is returned from
a real and sanitized font data or from a null pool, this checks if
the table has been recognized valid by sanitizer by checking
table's major version which is zero if returned from a null pool and
non-zero if is from a sanitized font data, it is expected the other
calls of the table (unlikely to have more calls however) also do a
similar version check before calling the lookups used on the table.
2020-05-21 06:56:09 +04:30
Ebrahim Byagowi 57886e2162 [test] Enable tests fixed by 461cd5a which was regressed by b986fea 2020-05-21 06:29:56 +04:30
Qunxin Liu 8b5d3ebd96 [subset] GSUB5/GPOS7 Contextual Subst/Pos Subtbale Subsetting support 2020-05-20 15:12:54 -07:00
Ebrahim Byagowi 00aba82a6d
Merge pull request #2415 from pipcet/fix-ligature-carets
minor: fix hb_ot_layout_get_ligature_carets
2020-05-21 00:10:33 +04:30
Ebrahim Byagowi ca2705f1fb [tests] Add more tests for _get_ligature_carets 2020-05-21 00:05:54 +04:30
Pip Cet 461cd5a158 minor: fix hb_ot_layout_get_ligature_carets 2020-05-20 10:01:24 +00:00
Tim-Philipp Müller 3dd7b2105b meson: build documentation with gtk-doc
Fixes https://github.com/harfbuzz/harfbuzz/issues/2409
2020-05-18 13:56:46 +04:30
Ebrahim Byagowi 4fc6189a32 [meson] Generate harfbuzz.cc, hb-version.h and ragel artifacts 2020-05-18 13:54:42 +04:30
Christoph Reiter b19f927f96 meson: error out if introspection is enabled but gobject isn't
In case a user passed -Dintrospection=enabled the build would just ignore
it by default because gobject defaults to disabled and the introspection build
gets skipped.

Instead, if introspection is explicitly enabled but gobject is for some reason
missing error out.

Fixes #2404
2020-05-17 11:10:08 +04:30
David Corbett b207eab842 Round-trip OpenType tags through BCP 47 2020-05-15 15:00:15 -07:00
Qunxin Liu 10d6605bbe [subset] don't use << operator in collect_mapping 2020-05-15 11:04:59 -07:00
Ebrahim Byagowi ba3c77ef23
[docs] minor update on releasing 2020-05-15 12:14:23 +04:30
Ebrahim Byagowi 0722889a6e
[meson] increase subset tests timeout
https://github.com/harfbuzz/harfbuzz/runs/676665822#step:6:570

fails because meson runs the tests in parallel, correct fix will be making the tests smaller
2020-05-15 10:10:27 +04:30
Behdad Esfahbod c15146448b
Merge pull request #2264 from harfbuzz/unicode-13
Update to Unicode 13.0.0
2020-05-14 19:12:41 -07:00
Behdad Esfahbod 069c5de9f8 [util/hb-view] Add --font-extents
Fixes https://github.com/harfbuzz/harfbuzz/issues/2402
2020-05-14 19:00:37 -07:00
David Corbett 7a961692e9 Update IANA Language Subtag Registry to 2020-05-12 2020-05-14 10:34:42 -04:00
Qunxin Liu b2a965df5e [subset] Add support for "--gids" option
cmap subsetting now retains entries associated with any glyph ids explicitly requested
2020-05-11 15:28:58 -07:00
Qunxin Liu 44d88cff95 [subset] fix intersects () for Context/ChainContext tables
return true only when all values in array are intersected with input
2020-05-11 15:25:17 -07:00
Ebrahim Byagowi 42025680cb 2.6.6 2020-05-12 00:17:44 +04:30
Ebrahim Byagowi 57d67f1775 [RELEASE] minor update 2020-05-12 00:03:33 +04:30
Khaled Hosny b169a52c1e [blob] Fix build when HAVE_MMAP is not defined 2020-05-11 17:21:41 +04:30
Ebrahim Byagowi a2ce96881b [cff] remove the not used member 2020-05-11 17:15:37 +04:30
Ebrahim Byagowi 2cc78a58c3 [number] minor 2020-05-11 15:56:54 +04:30
Ebrahim Byagowi bb095e1bdd [meson] make -subset target dependent to deps to get libm dependency 2020-05-10 22:00:05 +04:30
Ebrahim Byagowi dca8ba6b6d [number] Make hb_parse_double simpler now that we don't have to mimic strtod 2020-05-10 21:49:00 +04:30
Ebrahim Byagowi 44fe1c8ff1 Remove xlocale use now that isn't available in most distros
Our CI bots don't detect it in Alpine, ArchLinux, Ubuntu and Fedora
so let's get rid of it use the fallback we are using anyway for a
long time.
2020-05-10 14:51:35 +04:30
Ebrahim Byagowi eea99d7b72 [meson] Let name_prefix of exported libraries the default
meson complains about this and it is the default per #2256

Fixes #2256
2020-05-10 14:46:19 +04:30
Ebrahim Byagowi 2ac4222022 [meson] specify preferred linker to avoid stdc++ linking 2020-05-10 14:35:20 +04:30
Ebrahim Byagowi 15083c24ee [meson] Reenable make check-symbols compatible with gcov 2020-05-10 14:35:20 +04:30
Khaled Hosny 68855e4a6d [docs] Don’t recommend outdated FDO releases pages 2020-05-08 13:05:32 +04:30
Ebrahim Byagowi 1ec77522d8 [docs] Simplify logo's SVG source, down scale png version
* SVG version is simplified using SVGO and some hand tweak
* PNG result of SVG logo is optimized using pngwolf-zopfli
* Down scaled to fit visually a little better on docs page
2020-05-07 14:10:36 +04:30
Ebrahim Byagowi 0b261c5d0b
[ci] disable clang-{everthing,*san} bots
are flaky, will enable them somewhere else
2020-05-07 10:28:24 +04:30
Ebrahim Byagowi 385d64eef1 Add a not discardable bool type, hb_success_t 2020-05-07 10:26:45 +04:30
jfkthame 1026b3d0b6
[subset] Check vector resize() call for failure (#2389)
Other .resize() calls are checked, presumably this one should be as well.
2020-05-06 13:32:24 -07:00
jfkthame 100d40c827
[aat] Fix implementation of AAT kerning for Geeza Pro. (#2388)
* [aat] Fix implementation of AAT kerning for Geeza Pro.

Despite what the comment in the code used to say, it appears that Geeza Pro
does rely on accumulating kerning values from successive subtables. With
this change, the results now match Core Text rendering (and avoid the clear
visual breakage reported in #2358).

Testcase: U+0644,U+064E,U+0645,U+064E,U+0651,U+0627

Fixes #2358.

* [aat] Update test expectations, add new testcase.
2020-05-05 17:48:24 -07:00
Ebrahim Byagowi 9fc774ab00 minor spacing 2020-04-30 23:14:54 +04:30
Khaled Hosny 09b9d63e56 [blob] Try to support resource fork fonts on macOS
If the size of opened file is zero, try opening resource fork by
appending "/..namedfork/rsrc" to the file name. This is guarded with
__APPLE__ ifdef and uses _PATH_RSRCFORKSPEC macro from sys/paths.h.

Defining HB_NO_RESOURCE_FORK will disable this fallback.

Fixes https://github.com/harfbuzz/harfbuzz/issues/2383
2020-04-30 22:22:10 +04:30
David Corbett fd748fac41 Update to Unicode 13.0.0 2020-04-29 17:17:03 -04:00
Behdad Esfahbod 28633b1979 [vowel-constraints] Simplify generated code
Fixes https://github.com/harfbuzz/harfbuzz/issues/2385
2020-04-29 17:16:24 -04:00
David Corbett 665483c979 Recognize Elymaic as a right-to-left script 2020-04-29 16:47:44 -04:00
René Meusel d6ddb232fc FIX: -Wextra-semi-stmt in Clang9 2020-04-29 02:35:05 +04:30
Ebrahim Byagowi 8ba8980222
[ci] enable experimental apis in coverity scan 2020-04-28 20:14:17 +04:30