|
b5bbb791
|
2017-12-18T09:18:51
|
|
1.7.3
|
|
1245395a
|
2017-12-17T12:32:33
|
|
[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.
|
|
493a005d
|
2017-12-16T11:49:39
|
|
[set] In add_sorted_array(), bail if data is not sorted
|
|
a7bd6d7a
|
2017-12-16T11:11:18
|
|
[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
|
|
1ce7d6e2
|
2017-12-16T11:36:16
|
|
[set] Optimize add_array() / add_sorted_array()
Does page lookup as needed.
|
|
71e6adf1
|
2017-12-16T11:07:37
|
|
[collect_glyphs] handle ClassDef better
|
|
87cc5a65
|
2017-12-16T06:18:07
|
|
[collect_glyphs] In PairPosFornat2 do not collect classDef1
The coverage already covered that.
|
|
81f27df4
|
2017-12-16T06:12:06
|
|
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...
|
|
5d025720
|
2017-12-14T19:33:55
|
|
[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
|
|
9d6511a7
|
2017-12-14T19:04:55
|
|
[set] Reduce number of preallocated pages from 8 to 1
Now that pagesize is 8192, this feels better.
|
|
ae2e2b06
|
2017-12-14T18:15:14
|
|
Fix partial tracing debug builds
|
|
9daa88cd
|
2017-12-14T13:37:48
|
|
Minor
|
|
f424a342
|
2017-12-14T13:30:38
|
|
[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
|
|
0fe62c1f
|
2017-12-13T13:12:20
|
|
[set] Add add_array()
To be used to optimize adding a whole bunch of (sorted) items at the same time,
as in CoverageFormat1.
|
|
20e69c95
|
2017-12-07T12:24:12
|
|
[test] print commented line, like the original script (#649)
|
|
71ad2777
|
2017-12-07T11:35:36
|
|
[ci] Add an after distribution test runner (#648)
|
|
5f061d27
|
2017-12-07T11:22:55
|
|
Rewrite run-tests in python (#647)
|
|
3ce6c7bd
|
2017-12-06T21:08:20
|
|
[ci] Sort out Travis configuration
Use a matrix to avoid a gazillion if's.
|
|
5a6d2b98
|
2017-12-06T18:27:27
|
|
[ci] minor improvements (#644)
|
|
840a32e3
|
2017-12-06T00:49:25
|
|
Run cmake tests on CI builds
|
|
c8609551
|
2017-12-06T00:43:28
|
|
Add API tests to cmake build
|
|
f19126dd
|
2017-12-05T22:52:54
|
|
We are already inside “if HAVE_GLIB” check
|
|
7af48a3f
|
2017-12-06T14:22:19
|
|
[ci] Don't cache msys2 folder
|
|
b6f505c7
|
2017-12-06T13:51:04
|
|
[ci] Enable glib and freetype on appveyor cmake (#643)
|
|
03b7a221
|
2017-12-05T13:12:11
|
|
[debug] Use %p to print pointers
Fixes https://github.com/harfbuzz/harfbuzz/issues/640
|
|
353cc6fb
|
2017-12-06T00:04:30
|
|
[ci] Fix appveyor badge
|
|
0dc03ef7
|
2017-12-05T17:43:09
|
|
Indic: always hyphenate pre-base-reordering, for clarity.
|
|
be59f3cb
|
2017-12-05T09:01:28
|
|
Silence unused-variables warning on MSVC
Fixes https://github.com/harfbuzz/harfbuzz/issues/635
|
|
80c1b01f
|
2017-12-05T08:28:42
|
|
Allow digits in language system tags
|
|
85bb89a8
|
2017-12-04T15:15:27
|
|
Fix string matching in parse_bool
|
|
0fd89dc6
|
2017-12-04T18:58:41
|
|
[hb-ft] Fix build when Multiple Master font support is disabled in freetype
FT_Set_Var_Blend_Coordinates() is not available when "Multiple Master
font interface" is disabled in freetype's modules.cfg
|
|
843f7f70
|
2017-12-04T08:52:39
|
|
1.7.2
|
|
eeb26d21
|
2017-12-02T15:22:04
|
|
[set] Actually commit fixes mentioned in previous commit!
|
|
20b46727
|
2017-12-02T15:14:26
|
|
[set] Fix recent changes
Ouch!
Add tests.
|
|
0744149c
|
2017-12-02T15:06:15
|
|
[set] Protect against bad input in hb_set_add_range()
|
|
d5e29303
|
2017-11-28T23:11:34
|
|
[coretext] Add hb_coretext_font_create()
Fixes https://github.com/harfbuzz/harfbuzz/issues/628
New API:
hb_coretext_font_create()
|
|
9d0194b3
|
2017-12-01T13:56:06
|
|
[set] Optimize add_range() some more
It's as good as it gets, and seems to be on par with previous set implementation
in my benchmark.
Would be great if someone can double-check my bitops.
|
|
438c325a
|
2017-12-01T13:34:14
|
|
[set] Optimize add_range()
With new set implementation, this became really costy. Optimize it.
There's more to be done, but this shaves off most of the fat.
Part of fixing https://bugs.chromium.org/p/chromium/issues/detail?id=782220
|
|
be9e307a
|
2017-12-01T12:36:26
|
|
[ot] Ensure layout in hb_ot_layout_table_get_lookup_count()
|
|
d9066afd
|
2017-11-29T16:18:18
|
|
Add another test for previous commit
From https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4273
|
|
16fba5b2
|
2017-11-29T16:08:11
|
|
[ot] Fix Extension type recurse to disallow recursing to another Extension
Particularly hazardous if the second layer mixes forward and backward lookups.
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4336
|
|
7ab49de9
|
2017-11-29T14:20:09
|
|
Try fixing Mac build with 10.12
Related
https://github.com/harfbuzz/harfbuzz/issues/345
https://github.com/harfbuzz/harfbuzz/pull/629
|
|
d672bcf9
|
2017-11-28T22:20:57
|
|
Minor
|
|
23ade707
|
2017-11-21T16:36:07
|
|
[doc] Optimize HarfBuzz.png; add HarfBuzz.svg
SVG is unused. Just keeping it here.
|
|
77efdeca
|
2017-11-22T00:14:29
|
|
Improve the docs commit message a bit
|
|
a13c0748
|
2017-11-21T09:52:18
|
|
Move gh-pages docs to harfbuzz.github.io
|
|
9f259769
|
2017-11-21T14:16:10
|
|
Categorize U+A8B4 as Consonant_Medial
|
|
cd8c62fd
|
2017-11-21T01:07:26
|
|
[ci] Add Oracle Developer Studio (former Sun Studio) based compiler (#621)
|
|
8d553405
|
2017-11-20T19:43:22
|
|
Fix fallback positioning of double diacritic marks
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=787284
|
|
bb7cc4ea
|
2017-11-20T19:39:47
|
|
Minor
|
|
a0ad0d5b
|
2017-11-20T15:07:48
|
|
[docs] s/Harfbuzz/HarfBuzz/g
|
|
87d74605
|
2017-11-20T13:19:34
|
|
Categorize U+0C80 as Consonant_Placeholder
|
|
7c6937e7
|
2017-11-20T14:49:22
|
|
Move all references of old url to the new address (#622)
|
|
baf7779d
|
2017-11-14T21:53:48
|
|
Limit how much recursion GSUB/GPOS does
This only counts recursions right now. Good start.
Hopefully...
Fixes https://github.com/behdad/harfbuzz/issues/429
|
|
173dab63
|
2017-11-14T21:27:24
|
|
Minor move
|
|
c6173a39
|
2017-11-14T21:09:03
|
|
Add Offset16 and Offset32
|
|
6f335ed1
|
2017-11-14T21:06:07
|
|
Replace USHORT/SHORT/ULONG/etc with UINT16/INT16/UINT32/etc
|
|
a130ee6d
|
2017-11-14T20:30:03
|
|
Remove a couple of unused consts
|
|
e20e47ea
|
2017-11-14T20:25:29
|
|
[glyf] Try fixing undefined-behavior
Might fix https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1463
|
|
7b40876a
|
2017-11-14T20:22:05
|
|
[ot] Remove unneeded TODO item
Looks like hb-ot-font is complete after all!
CFF font names and CFF glyph metrics don't work though...
|
|
eab4feb5
|
2017-11-14T20:16:45
|
|
[hmtx] Use curiously recurring template pattern
https://en.wikipedia.org/wiki/Curiously_recurring_template_pattern
|
|
977ddff1
|
2017-11-14T20:06:19
|
|
[ot] Move hb_ot_face_cmap_accelerator_t
|
|
a7f15959
|
2017-11-14T20:02:24
|
|
Shuffle
|
|
a85d7ead
|
2017-11-14T20:00:34
|
|
[ot] Move hb_ot_face_metrics_accelerator_t
|
|
f00a94e1
|
2017-11-14T19:54:48
|
|
Adjust privacy for recent changes
|
|
7e2839c4
|
2017-11-14T19:52:09
|
|
[ot] Move hb_ot_face_glyf_accelerator_t
|
|
c4e18e54
|
2017-11-14T19:47:31
|
|
[ot] Move hb_ot_face_cbdt_accelerator_t
|
|
9b04b038
|
2017-11-14T19:31:50
|
|
[ot] Fold hb_ot_face_post_accelerator_t
|
|
702d86ba
|
2017-11-14T19:25:38
|
|
[ot] Fold hb_ot_face_kern_accelerator_t
|
|
909de95a
|
2017-11-14T16:22:52
|
|
Minor build fix
|
|
b9c96b5d
|
2017-11-14T15:56:21
|
|
Add test for previous commit
At some point we should run tests under valgrind...
|
|
e5930722
|
2017-11-14T15:47:55
|
|
Fix invalid buffer access in OOM times
Hopefully fully fixes
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1856
|
|
fcd6c338
|
2017-11-14T14:40:21
|
|
Fix more compiler warnings
|
|
7fdf16b2
|
2017-11-14T14:40:11
|
|
Fix compiler warning
|
|
87f0ad18
|
2017-11-02T10:59:25
|
|
Allow U+20F0 in USE clusters
|
|
f93c6f8b
|
2017-11-14T11:09:19
|
|
1.7.1
|
|
93f7c165
|
2017-11-14T10:59:54
|
|
Revert "[glib/ucdn/icu/ft/ot] Make returned funcs inert"
This reverts commit 5daf3bd4494cce6b4fb074533be9e99c4d9e0edd.
If other atexit callbacks try to destruct the objects we destruct
in atexit callbacks, bad things will happen.
I'll come up with some other way to catch premature destruction
of HB-owned objects.
Fixes https://github.com/behdad/harfbuzz/issues/618
|
|
c48475f3
|
2017-11-13T20:26:29
|
|
Whitespace
|
|
83d68027
|
2017-11-13T20:25:02
|
|
Clean up GlyphID
After 4a27c17ea0234dfe33e62f5830d9f92c26d48d30 we do not need
the special GlyphID.cmp(hb_codepoint_t), so just make GlyphID
a typedef.
Fixes https://github.com/behdad/harfbuzz/issues/612
|
|
7f39f576
|
2017-11-13T15:04:13
|
|
Implement strtod_l() on MSVC
Patch from Jean Ghali on mailing list.
|
|
e5d70988
|
2017-11-13T09:42:37
|
|
1.7.0
|
|
e4da3802
|
2017-11-10T17:14:27
|
|
[coretext/uniscribe/directwrite/graphite/fallback] Update for unsafe-to-break
Fixes https://github.com/behdad/harfbuzz/issues/615
We'll see which bots I broke.
|
|
4de03a15
|
2017-11-10T13:47:38
|
|
Fix graphite intergration reordered clusters problem
|
|
8eed9cb1
|
2017-11-09T18:09:40
|
|
[kern] Fix invalid memory access if offset is zero
If offset is zero, we return Null() object. Wasn't prepared for that.
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4088
|
|
b68fba4d
|
2017-11-03T14:27:33
|
|
[test] Use glyph ids instead of forcing ft funcs
We were using ft funcs because these are CFF fonts, but we can avoid
glyph names instead and keep testing both ot and ft.
|
|
2fcfbcf8
|
2017-11-02T09:45:06
|
|
[test] Fix another instance of component rounding
See https://github.com/behdad/harfbuzz/pull/590#issuecomment-341194673
|
|
c4f4c0a2
|
2017-11-08T17:04:31
|
|
Fix indexing in unsafe-to-break marking for 'stch' feature
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4099
|
|
822035ce
|
2017-11-08T17:03:55
|
|
[tests/arabic-stch.tests] Don't show flags
We don't need to test the actual flag values. For unsafe-to-break,
the --verify in run-tests.sh checks what we are interested in.
|
|
53f0c27d
|
2017-11-08T17:02:54
|
|
Minor
|
|
5a9cba97
|
2017-11-08T13:15:27
|
|
Mark non-initial left matras as unsafe to break
|
|
a6150306
|
2017-11-06T15:40:07
|
|
[kern] Implement format-2 kern subtable
|
|
82a38d1f
|
2017-11-06T15:28:24
|
|
[kern] Allow subtables longer than 64kb
Apparently calibri.ttf does this:
https://github.com/fonttools/fonttools/pull/1094#discussion_r148933791
|
|
625ae08f
|
2017-11-04T12:01:11
|
|
[kern] Towards implementing format-2
|
|
74e82ada
|
2017-11-06T14:41:55
|
|
Mark glyphs involved in 'stch' as unsafe to break
|
|
601126ad
|
2017-11-03T20:34:11
|
|
[configure] Fix gobject default value in help output
Fixes https://github.com/behdad/harfbuzz/issues/607
|
|
5aad8194
|
2017-11-03T17:16:26
|
|
Simplify tracing code when tracing is disabled
Fixes https://github.com/behdad/harfbuzz/pull/605
|
|
40ec3bbb
|
2017-11-03T16:57:30
|
|
Consolidate debug stuff into hb-debug.hh
Part of fixing https://github.com/behdad/harfbuzz/pull/605
|
|
384862d7
|
2017-11-03T16:31:47
|
|
Remove NO_COPY()
|
|
97145df2
|
2017-11-03T09:05:00
|
|
Trivial typos
Found using `codespell -i 3 -w -I '../harf-whitelist.txt'`
whereas the whitelist contents were:
```
beng
iff
pres
ot
te
teh
```
|
|
4a591a0e
|
2017-11-02T09:33:12
|
|
[ci] Add ArchLinux (#604)
|