Behdad Esfahbod
293e443529
Minor
2018-01-04 16:06:25 +00:00
Bruce Mitchener
8a0952db7e
atomics: Favor compiler primitives over macOS APIs. ( #676 )
...
In macOS 10.12, the `OSMemoryBarrier` and related APIs were deprecated
in favor of using `std::atomic`. On the way to supporting `std::atomic`,
we can favor using the "Intel primitives" which are also available on
macOS.
2018-01-04 15:10:10 +03:30
Bruce Mitchener
4f80078eb0
[cmake] Colorize output when using cmake + ninja. ( #674 )
...
Due to how ninja runs clang and gcc, it doesn't colorize the output
like make does. This forces color output in this situation.
2018-01-04 15:07:35 +03:30
Ebrahim Byagowi
5ed26fc5bd
[cmake] Run src/ tests ( #675 )
2018-01-04 10:11:34 +03:30
Behdad Esfahbod
f8daeef4c4
[use] Simplify more
2018-01-03 14:27:34 +00:00
Behdad Esfahbod
877d15e73c
[use] Simplify
...
Fixes https://github.com/harfbuzz/harfbuzz/pull/661
2018-01-03 14:24:44 +00:00
Behdad Esfahbod
308f419215
[use] Fix Brahmi Number Joiner 1107F
...
Fixes https://github.com/harfbuzz/harfbuzz/pull/660
2018-01-03 14:22:07 +00:00
Behdad Esfahbod
7b837e20d2
[util] Add TODO item
2018-01-03 12:46:29 +00:00
Ebrahim Byagowi
70807ad274
Fix make check issue on out-of-tree builds and test it ( #672 )
2018-01-02 23:52:12 +03:30
Bruce Mitchener
85ec6d3443
Fix typos.
2018-01-02 13:26:44 -05:00
Bruce Mitchener
4f6754ac01
Improve Markdown usage in BUILD.md.
2018-01-02 10:03:29 -08:00
Romain Ouabdelkader
3db1d34264
link with CoreFoundation when using CoreText
2018-01-02 07:22:53 -08:00
Ebrahim Byagowi
4e3cf91af2
[cmake] Run rest of the tests on Windows ( #668 )
2018-01-01 11:17:51 +03:30
Ebrahim Byagowi
2dbdeb1421
[cmake] Run fuzzing and shaping tests ( #666 )
2017-12-29 23:13:29 +03:30
Ebrahim Byagowi
24b30faa2a
[cmake] Use GNUInstallDirs values ( #665 )
2017-12-25 22:01:28 +03:30
Behdad Esfahbod
7d397c5d5c
Add Coverity badge
2017-12-24 17:53:32 -05:00
Ebrahim Byagowi
50163976d2
[cmake] Enable cmake tests on distribution and test it ( #664 )
2017-12-25 01:55:48 +03:30
David Corbett
7bfdf1a941
Forbid Batak killers after vowel signs
2017-12-24 14:21:22 -08:00
Ebrahim Byagowi
9890782736
[ci] Add -Wno-attributes to djgpp, add alpine, format ( #663 )
2017-12-25 01:32:46 +03:30
Behdad Esfahbod
72ecaae0ad
[use] Allow ZWJ before/after Halant
...
https://github.com/harfbuzz/harfbuzz/issues/542#issuecomment-353169729
2017-12-24 16:05:07 -05:00
Behdad Esfahbod
bc92245b68
Minor
2017-12-24 15:54:58 -05:00
Ebrahim Byagowi
81dfc29d2d
[ci] Add a DOS/djgpp compiler ( #659 )
2017-12-21 20:15:37 +03:30
Behdad Esfahbod
007a2a4317
1.7.4
2017-12-20 12:09:00 -05:00
Volker H. Simonis
a9432bde7e
HarfBuzz 1.7.1 and later don't compile on AIX with xlC ( #655 )
2017-12-19 20:22:24 -05:00
Behdad Esfahbod
2fe5f885b6
[set] Handle nil set in add_range() / add_sorted_array()
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/657
2017-12-19 14:48:26 -05:00
Behdad Esfahbod
b5bbb791d3
1.7.3
2017-12-18 09:18:51 -05:00
Behdad Esfahbod
1245395a60
[coretext] In hb_coretext_font_create() set ptem
...
Otherwise setting the CTFont was ineffective as it would have been
recreated anyway unless font size was set to 18 CSS points.
2017-12-17 12:33:08 -05:00
Behdad Esfahbod
493a005d95
[set] In add_sorted_array(), bail if data is not sorted
2017-12-16 11:49:39 -05:00
Behdad Esfahbod
a7bd6d7a4c
[collect_glyphs] Bail if input data looks like garbage
...
Specificaly, when a range or sorted array has unexpected order, we take that as
font data being garbage and bail out. This fixes significant slowdown on a bad
version of Chandas font which has a 600KB GPOS with garbage inside.
Later on, I like to add a maximum-work counter for collect_glyphs to protect
against malicious fonts as well.
Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=794896
2017-12-16 11:39:32 -05:00
Behdad Esfahbod
1ce7d6e215
[set] Optimize add_array() / add_sorted_array()
...
Does page lookup as needed.
2017-12-16 11:39:11 -05:00
Behdad Esfahbod
71e6adf1e2
[collect_glyphs] handle ClassDef better
2017-12-16 11:07:37 -05:00
Behdad Esfahbod
87cc5a65cb
[collect_glyphs] In PairPosFornat2 do not collect classDef1
...
The coverage already covered that.
2017-12-16 06:18:07 -08:00
Behdad Esfahbod
81f27df4d9
More work towards improving collect_glyphs() against bad input
...
The three "XXXXX"'s should be switched to false. Doing that separately for ease
of bisecting...
2017-12-16 06:12:06 -08:00
Behdad Esfahbod
5d02572034
[set] Add add_sorted_array()
...
Not optimized to use sortedness yet. Also start putting in place infra
to faster reject bad data.
A version of Chandas.ttf found on some Chrome bots has 660kb of GPOS,
mostly junk. That is causing 48 million of set->add() calls in
collect_glyphs(), which is insane.
In the upcoming commits, I'll be speeding that up by optimizing
add_sorted_array(), while also reducing work by rejecting out-of-sort
arrays quickly and propagate the rejection.
Part of https://bugs.chromium.org/p/chromium/issues/detail?id=794896
2017-12-14 19:35:47 -08:00
Behdad Esfahbod
9d6511a734
[set] Reduce number of preallocated pages from 8 to 1
...
Now that pagesize is 8192, this feels better.
2017-12-14 19:07:17 -08:00
Behdad Esfahbod
ae2e2b068e
Fix partial tracing debug builds
2017-12-14 19:07:17 -08:00
Behdad Esfahbod
9daa88cd79
Minor
2017-12-14 19:07:17 -08:00
Behdad Esfahbod
f424a34223
[set] Change pagesize from 512 bits to 8192 bits
...
Fixes perf regression on some heavy fonts in Chrome's FT+HB
interaction.
See:
https://bugs.chromium.org/p/chromium/issues/detail?id=782220
More work to be done:
https://bugs.chromium.org/p/chromium/issues/detail?id=794896
2017-12-14 13:30:38 -08:00
Behdad Esfahbod
0fe62c1f33
[set] Add add_array()
...
To be used to optimize adding a whole bunch of (sorted) items at the same time,
as in CoverageFormat1.
2017-12-14 10:39:00 -08:00
ebraminio
20e69c950d
[test] print commented line, like the original script ( #649 )
2017-12-07 12:24:12 +03:30
ebraminio
71ad2777c5
[ci] Add an after distribution test runner ( #648 )
2017-12-07 11:35:36 +03:30
ebraminio
5f061d27d5
Rewrite run-tests in python ( #647 )
2017-12-07 11:22:55 +03:30
Khaled Hosny
3ce6c7bd96
[ci] Sort out Travis configuration
...
Use a matrix to avoid a gazillion if's.
2017-12-07 01:03:20 +02:00
ebraminio
5a6d2b986a
[ci] minor improvements ( #644 )
2017-12-06 18:27:27 +03:30
Khaled Hosny
840a32e3f3
Run cmake tests on CI builds
2017-12-06 15:25:10 +02:00
Khaled Hosny
c860955148
Add API tests to cmake build
2017-12-06 15:25:10 +02:00
Khaled Hosny
f19126dd35
We are already inside “if HAVE_GLIB” check
2017-12-06 15:25:10 +02:00
ebraminio
7af48a3f37
[ci] Don't cache msys2 folder
2017-12-06 14:22:19 +03:30
ebraminio
b6f505c716
[ci] Enable glib and freetype on appveyor cmake ( #643 )
2017-12-06 13:51:04 +03:30
Behdad Esfahbod
03b7a221f7
[debug] Use %p to print pointers
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/640
2017-12-05 13:13:58 -08:00