Ebrahim Byagowi
79fed9a1e4
[ot-glyph] Add open/close callbacks
5 years ago
Ebrahim Byagowi
ec1fba1388
[ot-glyph] make hb_ot_glyph_decompose_funcs_t struct opaque
5 years ago
Qunxin Liu
8ffc9add22
[subset] layout closure_features and store them in subset-plan
5 years ago
Dominik Röttsches
66dfd605b5
Fix duplicate check in hb_ot_rotate chars
...
Fixes #2099 . Fix indentation in mirroring section as well.
5 years ago
Ebrahim Byagowi
d7c3cb18ee
[ot-glyph] minor on tests
5 years ago
Ebrahim Byagowi
dc03a993d0
Fix collect lookups logic of FeatureTableSubstitution ( #2097 )
...
https://crbug.com/oss-fuzz/20036
5 years ago
Ebrahim Byagowi
a32ecc15ae
Fix collect lookups logic of FeatureVariationRecord
...
As "Offset to a feature table substitution table, from beginning of the FeatureVariations table."
from https://docs.microsoft.com/en-us/typography/opentype/spec/chapter2 the record should
match its sanitize logic not the reverse way.
Fixes https://crbug.com/oss-fuzz/20021 and https://crbug.com/oss-fuzz/20022
5 years ago
Ebrahim Byagowi
1a4c658b43
Use REPLACEME tag
...
So we can use the version we like when we decide what it should be while the next release
and can review the API before the release one other time.
5 years ago
Ebrahim Byagowi
d7454cf07e
[subset] closure lookups for GSUB/GPOS
5 years ago
Qunxin Liu
0b39c48064
[subset] closure lookups for GSUB/GPOS
5 years ago
Ebrahim Byagowi
42f4f1ea50
[ot-glyph] Add tests for hb_ot_glyph_decompose
5 years ago
Ebrahim Byagowi
06a1fcb3b4
[ot-glyphs] fix the tests
5 years ago
Ebrahim Byagowi
084a8182fb
[ot-glyphs] Move CFF glyph decompose logic to their tables
...
Thus making path decompose zero alloc on CFF/CFF2
5 years ago
Ebrahim Byagowi
6118523502
[ot-glyph] move glyph decompose logic of glyf to itself
...
One less vector allocation yet isn't zero alloc yet
which needs more work.
5 years ago
Ebrahim Byagowi
017f606c83
[ot-glyph] rewrite the API
5 years ago
Evgeniy Reizner
9cd76813ab
Fix malformed readme. ( #2093 )
5 years ago
Ebrahim Byagowi
05443e55bc
[ot-glyph] Return empty path for empty faces
5 years ago
Ebrahim Byagowi
6e7602c104
[ot-glyph] Fix leaks
5 years ago
Ebrahim Byagowi
5b08596d60
[gvar] Don't apply anything when no coords is given
5 years ago
Ebrahim Byagowi
742aaa1363
[ot-glyf] Fix leak issue
5 years ago
Ebrahim Byagowi
fddf79fc37
[glyf] minor
5 years ago
Ebrahim Byagowi
0b559d750f
[ot-glyph] Improve API names
5 years ago
Ebrahim Byagowi
af08f388ab
[ot-glyph] Support CFF1's seac
5 years ago
Ebrahim Byagowi
04ac7fb1c9
[ot-glyph] Add cff2 support
5 years ago
Ebrahim Byagowi
5cc09c462b
[ot-glyph] Initial cff1 support
5 years ago
Ebrahim Byagowi
3dcba9f215
[ot-glyph] Redesign the API
5 years ago
Ebrahim Byagowi
b8b3ff1a02
[glyph] Don't copy, write directly into result
5 years ago
Ebrahim Byagowi
f883c31cce
Implement glyph outline path API
...
Got help from https://github.com/opentypejs/opentype.js/blob/4e0bb99/src/tables/glyf.js#L222
5 years ago
Michiharu Ariza
d2ab1ec65b
fixes oss-fuzz 19978: Null-dereference READ ( #2091 )
5 years ago
Ebrahim Byagowi
5e55a6d691
[subset/hvar] minor
...
not super excited about state of the code around, assuming was needed
so let's add this may unlikely check also.
5 years ago
Ebrahim Byagowi
257a197ae7
Fail serialize when map has incorrect value
...
fixes https://crbug.com/oss-fuzz/19956
am not super happy with the fix, guess we should do some check
before the memcpy anyway as @blueshade7 thinks also,
so let's have it or revert it when we have a better approach for the case.
5 years ago
Qunxin Liu
1db2c1d0da
fix for cmap4 and OS_2 subsetting: maximum character code allowed is 0xFFFF
5 years ago
Ebrahim Byagowi
8ed46c3678
[fuzz] minor, add another already fixed case
...
https://crbug.com/oss-fuzz/19907
5 years ago
Ebrahim Byagowi
341407f7a5
[fuzz] minor, upload another fixed case
...
https://crbug.com/oss-fuzz/19878
5 years ago
Ebrahim Byagowi
7950beecfc
[subset] Fix null pointer dereference in hvar/vvar subset ( #2085 )
...
Rest of the code assumes there is at least one subtable, lets return here if not.
* https://crbug.com/oss-fuzz/19827
* https://crbug.com/oss-fuzz/19847
5 years ago
Ebrahim Byagowi
8ed27757b1
Remove _POSIX_C_SOURCE definition from the project
...
Added fpr suncc support but apparently is causing more issues
even on suncc so let's see if we can go without it.
Fixes #2084
5 years ago
Ebrahim Byagowi
e7d1aeb610
[hvar] minor, fix unlikely statement
5 years ago
Ebrahim Byagowi
57b1534198
[glyf] minor, fix unlikely statements
5 years ago
Ebrahim Byagowi
9e48c6e9ef
minor, use private API of hb_set_t where possible
5 years ago
Ebrahim Byagowi
ce114d6b27
minor, tweak spaces
5 years ago
Ebrahim Byagowi
33c3d63a0a
Merge pull request #1594 from harfbuzz/var-subset
...
Issue 1558: [subset] TrueType/CFF2 variable font
5 years ago
Khaled Hosny
68c1798a67
[coretext] Use kCTFontOpenTypeFeatureTag
...
Instead of trying to map OpenType features to AAT feature selectors
which only works for a small subset of OpenType features, use the
simpler kCTFontOpenTypeFeatureTag with OpenType feature tags directly.
With this change, features like cvXX can be enabled in coretext shaper,
while they were previously ignored due to missing mapping.
This seems to work even with AAT fonts that don’t have OpenType layout
tables, which suggests that CoreText is doing the mapping itself in this
case.
kCTFontOpenTypeFeatureTag seems to have been introduced in macOS 10.10
and iOS 8.0, though, so its use is conditional on version check for now.
Not sure how to check iOS version, so I left this out.
5 years ago
Marcel Fabian Krüger
b28c282585
Check to avoid overflows
5 years ago
Marcel Fabian Krüger
d70afb1e5a
Clamp max_ops to upper bound in hb-sanitize.hh
5 years ago
Behdad Esfahbod
aa43e183dd
[perf Add texts/en-words.txt
...
$ cat docs/usermanual-*.xml src/hb*.cc src/hb*.{h,hh,cc} | sed 's/[^a-zA-Z ]/ /g' | tr ' ' '\n' | sort | uniq | grep . > perf/texts/en-words.txt
5 years ago
Ebrahim Byagowi
80762cc4d0
[ci] Speedup tsan bot
...
We don't expect fails thus expecting readable failure backtrace so let's speed it up instead
5 years ago
Evgeniy Reizner
b79ceac3c6
Prefer UINT_MAX instead of uint overflow.
...
Also, prefer HB_FEATURE_GLOBAL_START and HB_FEATURE_GLOBAL_END.
5 years ago
Evgeniy Reizner
b618e0ae13
Remove non-breaking spaces from comments.
...
`0xC2A0` was used, for some reasons. It's not really a problem, but Qt Creator
constatly trying to replace them with regular spaces, so I have to edit those
files separately.
5 years ago
Evgeniy Reizner
780d640c02
Remove unnecessary check in hb_buffer_t::set_masks.
...
Bounds are already checked by the caller.
Closes #2073
5 years ago
Evgeniy Reizner
34ed8e7218
Prefer _hb_glyph_info_is_unicode_mark where possible.
5 years ago