Commit Graph

5380 Commits

Author SHA1 Message Date
William Hua 5ecf96e3a2 Use absolute paths of ragel generated headers (#467)
https://github.com/behdad/harfbuzz/issues/455
2017-04-16 22:33:42 -07:00
Dominik Schlösser c42869eb71 Small doc fix: `make check` runs the tests (#469) 2017-04-15 12:17:05 -07:00
ebraminio 75931427aa [cmake] Fix try compile link issues (#466) 2017-04-14 05:08:11 +04:30
ebraminio cb021e14ab [cmake] typo (#465) 2017-04-14 04:31:17 +04:30
ebraminio a41d5ea445 [cmake] Add atomic ops availability detection (#464) 2017-04-14 04:25:50 +04:30
ebraminio 8568588202 [cmake] Remove NO_MT flag (#462) 2017-04-13 02:17:16 +04:30
jfkthame c04c1fe86e Blacklist GDEF table in additional Tahoma versions. (#459)
There are more broken versions of Tahoma out there on various Windows releases,
so we need to add them to our blacklist to avoid broken rendering.
See https://bugzilla.mozilla.org/show_bug.cgi?id=1279925 for details.
2017-04-11 14:29:13 -07:00
ebraminio adfd4ae1cf [cmake] Improve third party libraries support (#461) 2017-04-11 23:18:18 +04:30
ebraminio 3a8bc57211 [cmake] Add utils build support (#460) 2017-04-11 21:32:14 +04:30
Chun-wei Fan bc1244e239 NMake Makefiles: Fix ICU builds
Fix the check conditions in config-msvc.mak and info-msvc.mak so that
the ICU items does indeed get built into the HarfBuzz main DLL, and that
the correct configuration info is displayed.

Also update the checks in detectenv-msvc.mak so that we can detect that
we are using Visual Studio 2017 (although the 2015-built binaries use
the same CRT DLL as the 2017 ones).
2017-04-06 14:10:42 +03:00
Behdad Esfahbod a4471d0c2c Move list of ragel sources to Makefile.sources as well 2017-04-05 15:42:11 +02:00
ebraminio d2acaf6d72 Split ragel generated files lists and remove hardcoded rl files lists (#453) 2017-04-05 11:21:23 +02:00
ebraminio 7d64c0ef37 Add CMake build support (#444) 2017-04-04 15:03:51 +04:30
jfkthame 740fdbcd0e avoid UBSan warning in get_stage_lookups (#450)
See https://bugzilla.mozilla.org/show_bug.cgi?id=1336600
2017-04-03 13:22:39 +02:00
Dominik Schloesser 8d256841ca Current fonttools (3.9.1) generate subset-file called font.subset.ttf instead of older font.ttf.subset 2017-03-27 12:05:35 +02:00
Dominik Schloesser c2a9de15f5 Updated samples: record-it.sh is now record-test.sh 2017-03-27 12:05:35 +02:00
Khaled Hosny f2e6c7ce51 [tools] Make hb-unicode-code work with Python 3
Related to https://github.com/behdad/harfbuzz/pull/445
2017-03-26 10:50:32 +02:00
Behdad Esfahbod edcf6344bc Blacklist more versions of Padauk
Patch from Phil Race.
2017-03-24 10:24:52 -07:00
Khaled Hosny e693ba7798 [ci] Fix msys2 build on AppVeyor
For whatever reason the env variables need to be the Windows way or they
end up being empty.
2017-03-23 00:54:00 +02:00
Khaled Hosny 91570a1eeb Just always use strtod here 2017-03-22 23:07:20 +02:00
Chun-wei Fan 539571c1a9 src/hb-common.cc: Fix build on older Visual Studio
Visual Studio only supported strtof() from Visual Studio 2013 onwards, so
use strtod() instead to do the operation, which should do the same thing,
sans going to a double, not a float.
2017-03-22 23:03:49 +02:00
Chun-wei Fan b90fb83ea6 Visual Studio builds: Fix Introspection when UCDN enabled
The sources in src/hb-ucdn and not included correctly into the NMake
Makefiles, as we need their explicit relative location as we pass all the
sources we used into the introspection scanner.  This was not an issue
before as we excluded the UCDN sources in the build when we enabled
introspection (meaning GLib is enabled), but since we default on using
UCDN on all builds unless explicitly disabled, we need to deal with this.

This did not affect builds using UCDN without introspection due to the use
of NMake batch rules.

Fix this by creating a NMake Makefile module on-the-fly with the correct
subdir info, and using that list in there instead.
2017-03-22 23:03:49 +02:00
Chun-wei Fan f0aa167e44 Update Visual Studio builds for UCDN usage
We now use UCDN by default, so make it so in the build files; however
don't hardcode HAVE_UCDN as one may still opt not to use it (but pass
it in as a CFLAG unless one explicitly disables UCDN by using NO_UCDN=1
on the NMake command line).

Note that we are not blocking builds where UCDN is disabled along with
GLib and ICU, as that will trigger a build error anyways which will tell
the user what needs to be done to remedy this.
2017-03-22 23:03:49 +02:00
Behdad Esfahbod 60e2586f76 1.4.5 2017-03-10 23:02:28 -08:00
Behdad Esfahbod 47e7a1800f Revert "Fix Context lookup application when moving back after a glyph delete"
This reverts commit b9b005f3a4.

This introduced invalid access cases. Revert until I fix correctly.
2017-03-10 13:23:02 -08:00
Behdad Esfahbod 3c080a7a0a Fix buffer serialize of empty buffer
Ouch!
2017-03-07 18:13:28 -08:00
Behdad Esfahbod 8e42c3cb2b 1.4.4 2017-03-05 13:54:56 -08:00
Behdad Esfahbod 9ac9af725c Add TODO item 2017-03-05 13:51:01 -08:00
Behdad Esfahbod 5aec2fb8d0 Remove TODO item that is not going to happen 2017-03-02 11:46:33 -08:00
Behdad Esfahbod b9b005f3a4 Fix Context lookup application when moving back after a glyph delete
This was broken forever, since days that we did not allow moving
tape backwards. Works now. Reported by Doug Felt.
2017-03-01 14:27:23 -08:00
Behdad Esfahbod a11501444c Add few tests found by libFuzzer and oss-fuzz 2017-02-25 13:37:54 -08:00
Behdad Esfahbod 85630996b8 Fix buffer-overrun with Bengali reph positioning code
This has no security implications whatsoever since we always keep
and extra element at the end of buffer, just in case.

Discovered by oss-fuzz
CC https://github.com/behdad/harfbuzz/issues/139
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=660
2017-02-25 13:32:20 -08:00
Behdad Esfahbod 6685d281d6 1.4.3 2017-02-25 11:35:05 -08:00
Dominik Röttsches a657f23ca3 Blacklist another instance of Padauk (#419)
In https://crbug.com/681813 another instance of Padauk was identified
triggering collapsed glyphs. Blacklist this version by patching
hb-ot-layout.cc to print out gdef, gsub, and gpos table length, then
adding those to the list of blacklisted versions.
2017-02-20 13:52:07 -06:00
ebraminio 70202983f5 [ci] Disable vcpkg freetype installation and fix Appveyor CI (#422) 2017-02-18 10:37:36 +03:30
jfkthame 44f7d6ecde Guard against underflow when adjusting length (#421)
* Guard against underflow when adjusting length

With the fuzz-testcase in mozilla bug 1295299, we end up with a recursed lookup that removes 3 items, when `match_positions[idx]` is 0, which results in (unsigned) `end` wrapping to a huge value.

Making `end` a signed int is probably the simplest route to a fix.

Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1295299.

* Add testcase for #421.
2017-02-16 19:03:24 -08:00
jfkthame 45766b673f [indic] Add support for Grantha marks that may be used in Tamil to th… (#401)
* [indic] Add support for Grantha marks that may be used in Tamil to the Indic table.

See https://bugzilla.mozilla.org/show_bug.cgi?id=1331339.

Testcase: U+0BA4,U+0BC6,U+1133c,U+0BAA,U+1133c,U+0BC6,U+1133c

* [indic] Add test for Grantha nukta that is allowed in Tamil by ScriptExtensions.txt
2017-02-16 09:40:21 -08:00
Behdad Esfahbod d4bb52b9fd Unbreak hb-coretext build 2017-02-09 14:13:25 -08:00
Behdad Esfahbod c8dfed8e1e Merge pull request #357 from khaledhosny/graphite-scale
[graphite] Fix shaping with varying font sizes
2017-02-08 14:36:18 -08:00
Behdad Esfahbod 7c47474f20 Set LC_ALL instead of LANG when creating harfbuzz.def
Hopefully fixes Travis faliure?
https://github.com/behdad/harfbuzz/pull/413#issuecomment-278481882
https://travis-ci.org/khaledhosny/harfbuzz/jobs/199785332#L1065
2017-02-08 14:33:28 -08:00
Philip Withnall ffde3c9f9e hb-font: Fix a potentially undefined use of memcmp() (#413)
While it’s fine to call memcmp(x, 0, 0) in practice, the C99 standard
explicitly says that this is not allowed: even if the length is zero,
the pointer arguments must be valid.

http://stackoverflow.com/a/16363034

Coverity ID: 141178

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2017-02-08 13:56:57 -08:00
Behdad Esfahbod 09594df1ae Update ax_pthread.m4 to latest upstream version
Might help with https://github.com/behdad/harfbuzz/issues/399
2017-02-07 18:25:12 -08:00
Philip Withnall a6ced90efc test: Fix some memory leaks in test-font.c (#409)
Coverity IDs: 141039, 141040, 141041
2017-02-07 18:18:33 -08:00
Philip Withnall 925ceacfed util: Add missing field initialisers in constructor (#410)
Coverity ID: 141042
2017-02-07 18:17:48 -08:00
Behdad Esfahbod 73c6dcbb45 Silence Coverity warning
Fixes https://github.com/behdad/harfbuzz/issues/408
2017-02-07 16:53:21 -08:00
Behdad Esfahbod 466b3e58bd Shuffle things around a bit 2017-02-03 16:57:15 -08:00
Behdad Esfahbod fc8189b639 Minor 2017-02-03 16:17:08 -08:00
Behdad Esfahbod d3d3691806 Add dirty-state tracking to hb_face_t 2017-02-03 15:42:03 -08:00
Behdad Esfahbod 2171f48b4b Add dirty-state tracking to hb_font_t 2017-02-03 10:58:09 -08:00
Behdad Esfahbod 95808bad2c Add new API hb_font_set_face()
For completeness.
2017-02-03 10:39:40 -08:00