Qunxin Liu
8200e48ffc
[subset] GDEF Variation Store: step 1
...
closure device variation indexes, create old->new variation idx mapping
and store them in subset-plan
2020-05-21 12:43:24 -07:00
Behdad Esfahbod
89ad3c6cc5
Rename add_class to collect_class
2020-04-24 08:16:03 -07:00
Behdad Esfahbod
5cf53c06e6
Rename add_coverage to collect_coverage
2020-04-24 08:16:03 -07:00
Behdad Esfahbod
262eced2ad
[subset] FeatureVariations subsetting is wrong
...
Never drop FeatureVariationRecord for now.
Fixes https://github.com/harfbuzz/harfbuzz/issues/2334
2020-04-21 01:23:07 +04:30
Ebrahim Byagowi
2dda6dd744
minor, tweak spacing
...
turn 8 spaces to tab, add space before Null/Crap
2020-04-20 16:18:29 +04:30
Qunxin Liu
0d5695983e
[subset] fixes dangling object_t issue in FeatureVariationRecord
...
Fixes https://crbug.com/oss-fuzz/21560
revert () does not clean up useless object_t. Adjust the order of
subsetting substitutions and conditions to avoid dangling object_t.
2020-04-06 13:41:33 +04:30
Ebrahim Byagowi
57b7de032f
[subset] Fail ClassDefFormat1 serialization if no space available
...
Fixes https://crbug.com/oss-fuzz/21580
2020-04-05 17:38:04 +04:30
Qunxin Liu
c8cc1e378d
fix issues in ClassDefFormat1 serialize:
...
glyph ids in Iterator may be non-consecutive,
so the number in classValue might be larger than length of the Iterator
2020-04-03 12:31:48 -07:00
Qunxin Liu
e0c3979af1
typo fix
2020-04-02 12:05:57 +04:30
Garret Rieger
5d345d0cd1
[subset] Limit the number of lookup indices processed subsetting Feature.
...
> Also, remove two unnessecary full iterations of the lookup index iterator during serialization of the index array. Fixes fuzzer found timeout.
2020-04-01 11:13:05 +04:30
Garret Rieger
834a224a50
[subset] Put a limit on the number of lookup indices that can be visited during closures
...
Fixes https://crbug.com/oss-fuzz/21025
2020-03-12 13:32:36 +03:30
Ebrahim Byagowi
07acd1a042
[subset] Rename src_base args to base to match sanitize methods
...
So it will become easier to follow that serialize methods signatures should
match with their sanitize methods counterparts.
2020-03-08 23:39:26 +03:30
ariza
188a0a47c2
removed default base; replaced w/ bias if required
2020-03-08 22:59:43 +03:30
Ebrahim Byagowi
d383603976
Limit OT::Lookup subtables ( #2219 )
...
Fixes https://crbug.com/oss-fuzz/13943
2020-03-02 22:41:08 +03:30
Garret Rieger
414529e45a
[subset] Limit the number of feature indices processed during script subsetting.
2020-02-28 16:10:14 -08:00
Garret Rieger
c66ee213b7
Limit the number of feature indices processed during feature collection.
2020-02-28 16:10:14 -08:00
Qunxin Liu
fcd7f33bbb
[subset] GDEF glyphClassDef subsetting support
...
glyphClassDef uses the same ClassDef format. However, glyphClassDef table
uses predefined class values so we do not remap class values.
2020-02-26 11:10:31 -08:00
Ebrahim Byagowi
5f23a76e99
[cff] Don't remove coords const qualification
...
We should find some way to audit all the const removals, perhaps by
enabling -Wold-style-cast warning on the project and turning all the
implicit const removals to const_cast.
2020-02-24 08:23:25 +03:30
Ebrahim Byagowi
4dc3db7344
Minor, fix warnings raised when built with -std=c++2a
...
Follow up to c184180
,
It was raising,
src/hb-ot-layout-common.hh:1067:63: warning: implicit capture of 'this' with a capture default of '=' is deprecated [-Wdeprecated-this-capture]
| hb_filter ([=] (const OffsetTo<TSubTable> &_) { return (this+_).intersects (glyphset, lookup_type); })
^
src/hb-ot-layout-common.hh:1067:19: note: add an explicit capture of 'this' to capture '*this' by reference
| hb_filter ([=] (const OffsetTo<TSubTable> &_) { return (this+_).intersects (glyphset, lookup_type); })
^
, this
and
src/hb-ot-layout-common.hh:2626:38: warning: implicit capture of 'this' with a capture default of '=' is deprecated [-Wdeprecated-this-capture]
{ r.collect_lookups (this, lookup_indexes); })
^
src/hb-ot-layout-common.hh:2625:18: note: add an explicit capture of 'this' to capture '*this' by reference
| hb_apply ([=] (const FeatureTableSubstitutionRecord& r)
^
, this
and
src/hb-ot-hdmx-table.hh:141:44: error: implicit capture of 'this' with a capture default of '=' is deprecated [-Werror,-Wdeprecated-this-capture]
return device_record->widthsZ.as_array (get_num_glyphs ()) [_];
^
src/hb-ot-hdmx-table.hh:137:17: note: add an explicit capture of 'this' to capture '*this' by reference
| hb_map ([=] (hb_codepoint_t _)
^
, this
2020-02-06 16:25:54 +03:30
ariza
72cbfb9059
remove empty lookup subtables
...
Added a variant of subset_offset_array which takes an extra arg passed to serialize_subset for this impl.
Added a new api test "test-subset-gpos" for this.
2020-01-21 16:53:19 -08:00
Qunxin Liu
e565d1f9bc
[subset] subset lookup/feature/script lists for GSUB/GPOS
2020-01-15 14:04:33 -08:00
Qunxin Liu
8ffc9add22
[subset] layout closure_features and store them in subset-plan
2020-01-14 07:24:48 +03:30
Ebrahim Byagowi
dc03a993d0
Fix collect lookups logic of FeatureTableSubstitution ( #2097 )
...
https://crbug.com/oss-fuzz/20036
2020-01-12 14:21:29 +03:30
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
2020-01-11 15:37:24 +03:30
Qunxin Liu
0b39c48064
[subset] closure lookups for GSUB/GPOS
2020-01-10 13:11:06 -08:00
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.
2020-01-09 22:55:45 +03:30
Ebrahim Byagowi
ce114d6b27
minor, tweak spaces
2019-12-31 15:53:02 +03:30
Behdad Esfahbod
858b627984
[machinery] Remove CastR<>()
2019-12-10 13:18:32 -06:00
Behdad Esfahbod
9fb030585a
Rename start/end to first/last in RangeRecord
...
Because that's what they are.
2019-12-09 17:46:08 -06:00
Qunxin Liu
b33a0d628e
fuzzer crash fix: Null-dereference WRITE
...
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=18363
2019-10-22 01:01:08 +03:30
Qunxin Liu
b66094ada0
[subset] GSUB Lookup Type 6: ChainContextSubst
2019-10-18 16:52:55 -07:00
Garret Rieger
eff91bbb4b
Add missing pop() for the failure case of script subsetting.
2019-10-18 15:10:30 -07:00
Garret Rieger
831daf4c76
Enforce HB_MAX_LANGSYS limit during layout subsetting.
2019-10-18 15:10:30 -07:00
Garret Rieger
9871461bce
Enforce HB_MAX_SCRIPTS during subsetting of the script table.
2019-10-18 15:10:30 -07:00
Garret Rieger
36f18cecbb
Add subset_offset_array helper function which simplifies subsetting offset arrays during stream operations.
2019-10-09 13:52:04 -07:00
Ebrahim Byagowi
0558413f27
Minor, tweak spaces
2019-10-01 13:50:11 +03:30
Behdad Esfahbod
faace9437e
Merge pull request #1807 from harfbuzz/subset-varstore
...
VariationStore serializer
2019-09-30 13:34:05 -07:00
Qunxin Liu
b0c3eb06b6
[subset] GPOS Lookup Type 3: CursivePos
2019-09-25 05:43:25 +09:00
Ebrahim Byagowi
d512087e4d
Rename GlyphID to HBGlyphID
...
Avoid collision with macOS's ATSUnicodeTypes.h GlyphID
2019-09-14 11:55:53 +04:30
Behdad Esfahbod
0e294c455e
Rename VAR to HB_VAR_ARRAY
2019-09-06 16:54:27 -04:00
Behdad Esfahbod
c379faed2b
Fix a few struct size declarations
...
Was wrong. As excercised by defining VAR to other than 1 in hb.hh.
2019-09-06 16:41:12 -04:00
qxliu76
0313ef86e3
bug fix in optimizing coverage table format ( #1942 )
...
We are comparing number of shorts, NOT number of bytes.
2019-08-29 14:09:05 -07:00
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
blueshade7
68ac767e43
added skip(), get_next_value() to inc_bimap to subset VarStore with retain-gids
2019-07-12 23:02:29 -07:00
blueshade7
634390ecaf
added VariationStore serializer to be used by HVAR/VVAR subsetters
2019-07-01 18:52:57 -07:00
Behdad Esfahbod
6c725c7799
[config] Add HB_NO_LAYOUT_FEATURE_PARAMS
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-06-19 20:12:25 -07:00
Behdad Esfahbod
c8f529a07e
[config] Add HB_NO_HINTING, enabled by HB_TINY
...
Disables HintingDevice tables and Anchors addressing contour points.
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-06-19 19:33:15 -07:00
Behdad Esfahbod
a849873124
[config] Add HB_NO_VAR to disable variations support, enabled by HB_TINY
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-06-19 19:26:22 -07:00
Behdad Esfahbod
1834cf86d4
[serialize] Pass offset to serialize_subset()
2019-05-31 14:39:32 -07:00
Behdad Esfahbod
9260441624
[serialize] Pass offset to serialize_copy()
2019-05-31 14:35:01 -07:00