Commit Graph

9876 Commits

Author SHA1 Message Date
Ebrahim Byagowi
9e80fc6836 [glyf] Reapply common moving logic to GlyphHeader struct 2019-08-29 20:17:50 +04:30
Ebrahim Byagowi
852c9aa0e3 [glyf] Reapply style fixes 2019-08-29 20:12:53 +04:30
Ebrahim Byagowi
9ff32b79b3 Merge remote-tracking branch 'upstream/master' into glyf-rebase 2019-08-29 19:53:18 +04:30
Ebrahim Byagowi
499029644f
[gsub] Fix clang's semicolon complains 2019-08-29 15:09:39 +04:30
Ebrahim Byagowi
28620310b8
[test] Avoid alloca use as clang complain
Fixes https://circleci.com/gh/harfbuzz/harfbuzz/108171 complain
2019-08-29 14:55:54 +04:30
Ebrahim Byagowi
875985cd48
[subset] Don't allow malicious fonts to insert unlimited table headers
Fixes https://crbug.com/oss-fuzz/16810
2019-08-29 14:51:22 +04:30
Behdad Esfahbod
dc9222b1dd [subset] Implement AlternateSubst subsetting 2019-08-28 15:38:46 -07:00
Behdad Esfahbod
23681b6da4 Minor 2019-08-28 15:30:37 -07:00
Behdad Esfahbod
33c8e2303c [subset] Implement MultipleSubst subsetting 2019-08-28 15:25:55 -07:00
Behdad Esfahbod
5c43a7ba7e [GSUB] Use dagger in Ligature::intersects() 2019-08-28 15:10:38 -07:00
Behdad Esfahbod
b8c642c1f5 Minor 2019-08-28 15:06:45 -07:00
Behdad Esfahbod
dc2c9aa0c3 Rename 2019-08-28 15:05:49 -07:00
Behdad Esfahbod
bc5ef765a8 [subset] Subset ligature substitutes!
Test with:

$ ./hb-subset -o out.ttf NotoSansArabic-Regular.ttf --drop-tables=  سلام && ./hb-view out.ttf سلام
2019-08-28 14:52:13 -07:00
Behdad Esfahbod
42d887bd22 Beef up HeadlessArrayOf<>
Should be merged with ArrayOf...
https://github.com/harfbuzz/harfbuzz/issues/1937
2019-08-28 14:47:14 -07:00
Behdad Esfahbod
3ca809e362 Add ArrayOf::pop() 2019-08-28 13:49:35 -07:00
Behdad Esfahbod
307bd6d79f Add arithmetic operators to IntType<> 2019-08-28 13:49:17 -07:00
Behdad Esfahbod
2e1d00c85b [debug] Minor 2019-08-28 13:49:04 -07:00
Behdad Esfahbod
062cad5e28 Add ArrayOf::serialize_append 2019-08-28 13:48:55 -07:00
Adrian Wong
b66076812d Adjustments to the generated Indic table output (#1936)
* Add empty parentheses after print call

* Minor: newlines. Move #pragma pop down one; #endif up one

* Adjust #define ISC/IMC output

* Regenerate Indic table
2019-08-28 04:31:27 -07:00
Ebrahim Byagowi
4ef08dbce1 Use hb_bytes_t as<T> in hb_blob_t 2019-08-27 17:38:09 +04:30
Ebrahim Byagowi
dce42cef2b [glyf] Move GlyphHeader::from_bytes to hb_bytes_t, introduce .as<T> () 2019-08-27 17:38:09 +04:30
Ebrahim Byagowi
6e82d59b4f
[glyf] Revert the way indexToLocFormat is set 2019-08-27 12:33:42 +04:30
Ebrahim Byagowi
88e9db19d2
[subset] Remove subset table size assertion
As https://github.com/harfbuzz/harfbuzz/pull/1930#issuecomment-525036802
2019-08-27 02:44:26 +04:30
Ebrahim Byagowi
a0b4ac4dce Turn 8 spaces to tab across the project
According to the current code style of the project
2019-08-27 02:40:41 +04:30
Ebrahim Byagowi
269a120f13
[subset] Raise the bar in new vs old table size
https://crbug.com/oss-fuzz/16740

This is actually an interesting thing that {h,v}mtx allocates as
much as a font pretends to have glyphs but the solution is not
that obvious as regular fonts can have less than actually containing
metrics in their {h,v}mtx. This change raises the bar to consider this
hmtx 4 byte for every glyph case.

Initially we wanted to just find things allocating crazy amount of
memory but having the assert has led to interesting findings also
so let's don't remove the assert and see what we can find elsewhere.
2019-08-25 20:37:00 +04:30
Ebrahim Byagowi
2f8e823331
[glyf] minor 2019-08-25 12:37:40 +04:30
Ebrahim Byagowi
07e467a30e [glyf] Move GlyphHeader size checking to a static method 2019-08-25 01:10:37 +04:30
Ebrahim Byagowi
139d14dc89 [glyf] Move GlyphHeader related logics to its, making its fields protected 2019-08-24 17:50:25 +04:30
Ebrahim Byagowi
d57819cbdb [glyf] format source 2019-08-24 17:00:54 +04:30
Ebrahim Byagowi
2aef3013f3 [subset] Consider instruction length place itself
Now fixes https://crbug.com/oss-fuzz/16639 completely
2019-08-24 16:11:21 +04:30
Ebrahim Byagowi
922898c814 [subset] Fail on table grow more than 16x+4096 2019-08-24 16:11:21 +04:30
Ebrahim Byagowi
28aba780c4 [subset] Fix blob leak of _subset2 when returns early
Fixes https://crbug.com/oss-fuzz/16639
2019-08-24 16:11:21 +04:30
Behdad Esfahbod
541f3c2d7d [debug] Fix extra semicolon issue
https://github.com/harfbuzz/harfbuzz/issues/1923
2019-08-23 12:25:58 -07:00
Behdad Esfahbod
4dcaca8411 Whitespace 2019-08-23 12:24:15 -07:00
Behdad Esfahbod
569426d861 [debug] Fix build with HB_DEBUG
Fixes https://github.com/harfbuzz/harfbuzz/issues/1923
2019-08-23 11:54:39 -07:00
Khaled Hosny
f233e6c801 [doc] Update list of default features in the manual
Fixes https://github.com/harfbuzz/harfbuzz/issues/1921
2019-08-23 13:15:37 +02:00
Behdad Esfahbod
be97e9d678 2.6.1 2019-08-22 15:52:24 -07:00
Behdad Esfahbod
d304d60e4d [ot-font] Prefer symbol cmap subtable if found
Fixes https://github.com/harfbuzz/harfbuzz/issues/1918

Hopefully doesn't break anyone...
2019-08-21 12:30:22 -07:00
Ebrahim Byagowi
2a3d4987a7
Remove hb_directwrite_shape_experimental_width public API
I had specially exposed the API as I didn't know how to embed harfbuzz
easily elsewhere but now with harfbuzz.cc it has become very easy
and I don't like to see its use anywhere as it has a bad naming and
its Kashida adding is bogus and only useful to check where it should
be added, not visually useful however.
2019-08-21 03:02:01 +04:30
Behdad Esfahbod
163a66dc73 [test] Add test for aaa85931f3 2019-08-20 14:22:57 -07:00
Behdad Esfahbod
aaa85931f3 [font] Update multipliers when creating sub_font
Fixes https://github.com/harfbuzz/harfbuzz/issues/1910
2019-08-20 13:06:10 -07:00
Ebrahim Byagowi
bbad1b8298
[trak] minor, use roundf instead round to normalize the use
The change to `round` wasn't intended
2019-08-20 14:46:48 +04:30
Ebrahim Byagowi
e67cb500e9
[readme] add oss-fuzz badge
Related:
https://github.com/google/oss-fuzz/pull/2513
ce2098b7e9
2019-08-20 13:30:34 +04:30
Ebrahim Byagowi
d59d89b281
[test] Rebase 10.14 trak related test 2019-08-20 13:07:17 +04:30
Ebrahim Byagowi
20b1a27c8a
Merge remove-coretext-96dpi-assumption, @drott
Remove assumption about Core Text working in 96 DPI
2019-08-20 13:04:51 +04:30
Ebrahim Byagowi
37de38adea
Merge branch 'master' into remove-coretext-96dpi-assumption 2019-08-20 12:59:33 +04:30
Behdad Esfahbod
5ee1e451cf Minor touch-up for recent change 2019-08-19 14:23:17 -07:00
Ebrahim Byagowi
3348992844 [avar] Implement inverse map, unmap 2019-08-19 14:22:15 -07:00
Ebrahim Byagowi
981f5a54c3 [fvar] Implement inverse normalize, unnormalize 2019-08-19 14:22:15 -07:00
Behdad Esfahbod
dcb4cd400f Minor 2019-08-19 11:35:37 -07:00