platform/upstream/libHarfBuzzSharp.git
5 years ago[morx] Implement forward/backward processing
Behdad Esfahbod [Wed, 19 Sep 2018 20:46:41 +0000 (16:46 -0400)]
[morx] Implement forward/backward processing

We reverse too many times. Can be optimized. But I doubt many fonts
use reverse lookups, so doesn't matter.

Other than not applying user features, this completes morx table
implementation.

5 years ago[morx] Implement horiz-only/vert-only subtables
Behdad Esfahbod [Wed, 19 Sep 2018 20:24:34 +0000 (16:24 -0400)]
[morx] Implement horiz-only/vert-only subtables

5 years ago[morx] Improve buffer position in Insertion w DontAdvance and wo
Behdad Esfahbod [Wed, 19 Sep 2018 20:02:56 +0000 (16:02 -0400)]
[morx] Improve buffer position in Insertion w DontAdvance and wo

Just speculation. Needs tests to determine which is correct behavior.

5 years ago[morx] Implement InsertionChain
Behdad Esfahbod [Mon, 17 Sep 2018 17:29:34 +0000 (19:29 +0200)]
[morx] Implement InsertionChain

5 years agoDon't enforce a native direction for Old Hungarian
David Corbett [Mon, 17 Sep 2018 15:09:51 +0000 (11:09 -0400)]
Don't enforce a native direction for Old Hungarian

5 years agoFix installation of cmake config when building with cmake (#1161)
Simon Hausmann [Mon, 17 Sep 2018 08:33:34 +0000 (10:33 +0200)]
Fix installation of cmake config when building with cmake (#1161)

When building with the auto tools, the manually mantained
harfbuzz-config.cmake is installed. When building with cmake, we can use
cmake to generate the correct config files for us and install them.

5 years agoRevert forcing use of single-parameter static_assert()
Behdad Esfahbod [Sun, 16 Sep 2018 17:33:48 +0000 (19:33 +0200)]
Revert forcing use of single-parameter static_assert()

Some clang versions define static_assert as a macro apparently, so we cannot
redefine it...

This reverts commit 94bfea0ce6a7b4d5641c198d50751748a353df11.
This reverts commit 4e62627831e7457ed60ff87712570065b14b200a.

5 years agoOne more bot fix
Behdad Esfahbod [Sun, 16 Sep 2018 17:25:19 +0000 (19:25 +0200)]
One more bot fix

5 years agoFix build, another try
Behdad Esfahbod [Sun, 16 Sep 2018 17:12:19 +0000 (19:12 +0200)]
Fix build, another try

5 years agoFix bots
Behdad Esfahbod [Sun, 16 Sep 2018 16:11:46 +0000 (18:11 +0200)]
Fix bots

"Unused private member" warning turned error.  ugh.

5 years agoEnforce single-param static_assert() only
Behdad Esfahbod [Sun, 16 Sep 2018 16:09:36 +0000 (18:09 +0200)]
Enforce single-param static_assert() only

So we don't accidentally break it again.

5 years agoRemove unused try
Behdad Esfahbod [Sun, 16 Sep 2018 16:01:32 +0000 (18:01 +0200)]
Remove unused try

5 years agoFix static_assert
Behdad Esfahbod [Sun, 16 Sep 2018 15:57:12 +0000 (17:57 +0200)]
Fix static_assert

5 years agoDisallow null-enabled offsets to unsized structures...
Behdad Esfahbod [Sat, 15 Sep 2018 17:43:33 +0000 (19:43 +0200)]
Disallow null-enabled offsets to unsized structures...

...like UnsizedArrayOf<>.

This fixes a class of crasher bugs, mostly with color and AAT tables.  We
cannot use nullable offsets to varsized data that does not declare min_size,
because it's nost safe to use our fixed-size null pool for types that have
their size external.  So, use non_null'able offsets for these.

A further enhancement would be to make use of min_size in Null<> itself.
Will try that after.

5 years ago[morx] Respect default feature settings
Behdad Esfahbod [Sat, 15 Sep 2018 16:31:14 +0000 (18:31 +0200)]
[morx] Respect default feature settings

Does NOT apply user-selected features.  But at least now enables
correct subtables.

5 years ago[aat] Change version field
Behdad Esfahbod [Sat, 15 Sep 2018 12:51:50 +0000 (14:51 +0200)]
[aat] Change version field

5 years ago[morx] Add stub for InsertionChain
Behdad Esfahbod [Sat, 15 Sep 2018 12:47:18 +0000 (14:47 +0200)]
[morx] Add stub for InsertionChain

5 years ago[dfont] Disable null-processsing for offsets
Behdad Esfahbod [Fri, 14 Sep 2018 16:59:53 +0000 (18:59 +0200)]
[dfont] Disable null-processsing for offsets

An offset to unsized arrayis not safe to be redirected to our fixed-sized
null pool.  Plus, we want to reject, not repair, bad-looking dfonts.

5 years ago[unicode] Move Fitzpatrick hack from ot-layout into unicode.hh
Behdad Esfahbod [Fri, 14 Sep 2018 12:23:09 +0000 (14:23 +0200)]
[unicode] Move Fitzpatrick hack from ot-layout into unicode.hh

5 years agoMinor
Behdad Esfahbod [Fri, 14 Sep 2018 10:15:53 +0000 (12:15 +0200)]
Minor

5 years agoFix builds
Behdad Esfahbod [Fri, 14 Sep 2018 10:14:42 +0000 (12:14 +0200)]
Fix builds

5 years ago[aat] Add enums for pre-defined state and classes
Behdad Esfahbod [Fri, 14 Sep 2018 09:31:33 +0000 (11:31 +0200)]
[aat] Add enums for pre-defined state and classes

Not sure how I didn't add before...

5 years agoDon't dereference offset before check_struct()
Behdad Esfahbod [Fri, 14 Sep 2018 08:58:00 +0000 (10:58 +0200)]
Don't dereference offset before check_struct()

5 years ago[dfont] Also check dataLen range in sanitize
Behdad Esfahbod [Thu, 13 Sep 2018 18:35:21 +0000 (20:35 +0200)]
[dfont] Also check dataLen range in sanitize

Just to disagree with myself re being done with this code...

5 years ago[dfont] Solve the mystery +2 offset thing!
Behdad Esfahbod [Thu, 13 Sep 2018 18:30:04 +0000 (20:30 +0200)]
[dfont] Solve the mystery +2 offset thing!

Previously, ResourceForkHeader was defined as 30 bytes, having the typeCountM1 as last member.
There was a mysterious offset-by-2 in the code, derived from FontTools and JDK code this was
ported from.

In testing, I observed that typeListZ offset is actually 28.  Suggesting that the typeCountM1
does NOT actually belong to ResourceForkHeader, but belongs to the array itself.  Adjusting for
that resolves the mystery +2 offset hack, so everything is clean and good now.

This, concludes my dfont hacking.  The code looks great now, and I'm happy to leave it.
Fuzzers might disagree though, we will see!

5 years agoRename HeadlessArrayOf::len to lenP1
Behdad Esfahbod [Thu, 13 Sep 2018 18:21:54 +0000 (20:21 +0200)]
Rename HeadlessArrayOf::len to lenP1

So it doesn't accidentally match our templates, etc.

5 years ago[dfont] Some more
Behdad Esfahbod [Thu, 13 Sep 2018 17:19:57 +0000 (19:19 +0200)]
[dfont] Some more

5 years ago[dfont] Push methods further down
Behdad Esfahbod [Thu, 13 Sep 2018 17:13:01 +0000 (19:13 +0200)]
[dfont] Push methods further down

5 years ago[dfont] Minor
Behdad Esfahbod [Thu, 13 Sep 2018 17:08:22 +0000 (19:08 +0200)]
[dfont] Minor

5 years ago[dfon]t Sanitize OpenTypeFontFace
Behdad Esfahbod [Thu, 13 Sep 2018 17:05:59 +0000 (19:05 +0200)]
[dfon]t Sanitize OpenTypeFontFace

5 years ago[dfont] Minor
Behdad Esfahbod [Thu, 13 Sep 2018 16:49:16 +0000 (18:49 +0200)]
[dfont] Minor

5 years ago[dfont] Make test pass
Behdad Esfahbod [Thu, 13 Sep 2018 16:47:53 +0000 (18:47 +0200)]
[dfont] Make test pass

Offset 0 is not null in this context.

5 years agoAllow Offset<>'s that have no 0==null
Behdad Esfahbod [Thu, 13 Sep 2018 16:45:35 +0000 (18:45 +0200)]
Allow Offset<>'s that have no 0==null

5 years ago[dfont] Minor
Behdad Esfahbod [Thu, 13 Sep 2018 16:27:20 +0000 (18:27 +0200)]
[dfont] Minor

5 years ago[bytes] Rename content to arrayZ
Behdad Esfahbod [Thu, 13 Sep 2018 15:39:09 +0000 (17:39 +0200)]
[bytes] Rename content to arrayZ

5 years ago[dfont] Clean up sanitize()
Behdad Esfahbod [Thu, 13 Sep 2018 14:49:26 +0000 (16:49 +0200)]
[dfont] Clean up sanitize()

I don't think I broke anything.  Fuzzers will let me know..

5 years agoFix OffsetTo::sanitize() after reshuffling
Behdad Esfahbod [Thu, 13 Sep 2018 14:47:33 +0000 (16:47 +0200)]
Fix OffsetTo::sanitize() after reshuffling

5 years agoOffsetTo::sanitize() Add version with three user_data
Behdad Esfahbod [Thu, 13 Sep 2018 14:39:30 +0000 (16:39 +0200)]
OffsetTo::sanitize() Add version with three user_data

5 years agoOffsetTo::sanitize() more shuffling
Behdad Esfahbod [Thu, 13 Sep 2018 14:31:31 +0000 (16:31 +0200)]
OffsetTo::sanitize() more shuffling

5 years agoOffsetTo::sanitize() reshuffling
Behdad Esfahbod [Thu, 13 Sep 2018 14:29:49 +0000 (16:29 +0200)]
OffsetTo::sanitize() reshuffling

5 years ago[dfont] Some renaming, plus add link to reference doc
Behdad Esfahbod [Tue, 11 Sep 2018 16:12:26 +0000 (18:12 +0200)]
[dfont] Some renaming, plus add link to reference doc

5 years ago[dfont] Sanitize only sfnt resources as OpenTypeFontFile
Behdad Esfahbod [Tue, 11 Sep 2018 15:56:03 +0000 (17:56 +0200)]
[dfont] Sanitize only sfnt resources as OpenTypeFontFile

5 years ago[dfont] Minor
Behdad Esfahbod [Tue, 11 Sep 2018 15:26:24 +0000 (17:26 +0200)]
[dfont] Minor

5 years ago[dfont] Fix test expecatation and minor touch up
Behdad Esfahbod [Tue, 11 Sep 2018 15:18:21 +0000 (17:18 +0200)]
[dfont] Fix test expecatation and minor touch up

I have no way to authoritatively know, but looks like test font only has one
face.  So, adjust test expectation instead.

5 years ago[dfont] Add test
Ebrahim Byagowi [Mon, 2 Jul 2018 12:56:43 +0000 (17:26 +0430)]
[dfont] Add test

5 years ago[dfont] Re-enable and fix offset handling
Behdad Esfahbod [Tue, 11 Sep 2018 14:41:26 +0000 (16:41 +0200)]
[dfont] Re-enable and fix offset handling

Fixes https://github.com/harfbuzz/harfbuzz/pull/1085

5 years agoWhitespace
Behdad Esfahbod [Tue, 11 Sep 2018 12:45:23 +0000 (14:45 +0200)]
Whitespace

5 years ago[ft] Invalidate advance cache if font size changed
Behdad Esfahbod [Tue, 11 Sep 2018 12:41:19 +0000 (14:41 +0200)]
[ft] Invalidate advance cache if font size changed

5 years ago[ft] Cache advances
Behdad Esfahbod [Tue, 11 Sep 2018 12:35:26 +0000 (14:35 +0200)]
[ft] Cache advances

I decided to always use the cache, instead of my previous sketch direction
that was to only allocate and use cache if fast advances are not available.
The cache is a mere 1kb, so just use it...

TODO: Invalidate cache on font size change.

Fixes https://github.com/harfbuzz/harfbuzz/issues/651
Fixes https://github.com/harfbuzz/harfbuzz/pull/1082

5 years ago[util] Add --ft-load-flags
Behdad Esfahbod [Tue, 11 Sep 2018 12:21:15 +0000 (14:21 +0200)]
[util] Add --ft-load-flags

Useful for performance testing.

Not hooked to cairo yet.  Just changes shaping, not rasterization.

5 years ago[util] Add -n shorthand for --num-iterations
Behdad Esfahbod [Tue, 11 Sep 2018 12:11:10 +0000 (14:11 +0200)]
[util] Add -n shorthand for --num-iterations

Meh.

5 years ago[ft] Towards caching slow get_h_advance results
Behdad Esfahbod [Tue, 11 Sep 2018 12:05:16 +0000 (14:05 +0200)]
[ft] Towards caching slow get_h_advance results

Related to https://github.com/harfbuzz/harfbuzz/pull/1082

5 years ago[ft] Add advances() callback
Behdad Esfahbod [Tue, 11 Sep 2018 11:05:47 +0000 (13:05 +0200)]
[ft] Add advances() callback

5 years ago[ot-font] Rename
Behdad Esfahbod [Tue, 11 Sep 2018 10:56:17 +0000 (12:56 +0200)]
[ot-font] Rename

5 years ago[ot-font] Add advances() callbacks
Behdad Esfahbod [Tue, 11 Sep 2018 10:55:54 +0000 (12:55 +0200)]
[ot-font] Add advances() callbacks

5 years ago[cache] Minor
Behdad Esfahbod [Tue, 11 Sep 2018 10:22:42 +0000 (12:22 +0200)]
[cache] Minor

5 years agoRevert "Remove unused hb_cache_t"
Behdad Esfahbod [Tue, 11 Sep 2018 10:02:34 +0000 (12:02 +0200)]
Revert "Remove unused hb_cache_t"

This reverts commit 473b17af4d421f4ce7ac18c769731bb2aa4088f8.

Updates to recent changes.

5 years ago[random] Switch to 32bit RNG
Behdad Esfahbod [Tue, 11 Sep 2018 08:57:48 +0000 (10:57 +0200)]
[random] Switch to 32bit RNG

5 years ago[random] Shuffle
Behdad Esfahbod [Tue, 11 Sep 2018 08:51:19 +0000 (10:51 +0200)]
[random] Shuffle

5 years agoMake --features rand=1 available to the user
Behdad Esfahbod [Mon, 10 Sep 2018 20:37:19 +0000 (22:37 +0200)]
Make --features rand=1 available to the user

Use rand=255 to mean "randomize".

Part of https://github.com/harfbuzz/harfbuzz/pull/803

5 years agoRespect user's wish if they set rand feature manually
Behdad Esfahbod [Mon, 10 Sep 2018 14:36:05 +0000 (16:36 +0200)]
Respect user's wish if they set rand feature manually

Except if the set it to 1, which would mean "randomize"... Ugly.

5 years agoMinor clean up of 'rand' patchset
Behdad Esfahbod [Mon, 10 Sep 2018 14:24:52 +0000 (16:24 +0200)]
Minor clean up of 'rand' patchset

5 years agoDon't seed the RNG from the contents of the buffer
David Corbett [Fri, 23 Feb 2018 17:22:32 +0000 (12:22 -0500)]
Don't seed the RNG from the contents of the buffer

5 years agoTest 'rand'
David Corbett [Sun, 28 Jan 2018 00:48:38 +0000 (19:48 -0500)]
Test 'rand'

5 years agoAllow requesting a specific glyph for 'rand'
David Corbett [Sat, 27 Jan 2018 02:36:15 +0000 (21:36 -0500)]
Allow requesting a specific glyph for 'rand'

Randomization only happens by default. If the user specifies a value for
'rand', that value is respected.

5 years agoImplement 'rand'
David Corbett [Thu, 25 Jan 2018 19:22:03 +0000 (14:22 -0500)]
Implement 'rand'

5 years ago[uniscribe] Fix build
Behdad Esfahbod [Mon, 10 Sep 2018 23:39:23 +0000 (01:39 +0200)]
[uniscribe] Fix build

5 years agoAdd HB_FEATURE_GLOBAL_START/END
Behdad Esfahbod [Mon, 10 Sep 2018 23:26:18 +0000 (01:26 +0200)]
Add HB_FEATURE_GLOBAL_START/END

Fixes https://github.com/harfbuzz/harfbuzz/issues/1141

New API:
HB_FEATURE_GLOBAL_START
HB_FEATURE_GLOBAL_END

5 years agoAdd (unused) hb_array_t<>
Behdad Esfahbod [Mon, 10 Sep 2018 23:07:06 +0000 (01:07 +0200)]
Add (unused) hb_array_t<>

5 years agoMinor
Behdad Esfahbod [Mon, 10 Sep 2018 23:04:50 +0000 (01:04 +0200)]
Minor

5 years agoPort rest from VAR to UnsizedArrayOf<>
Behdad Esfahbod [Mon, 10 Sep 2018 21:29:26 +0000 (23:29 +0200)]
Port rest from VAR to UnsizedArrayOf<>

5 years agoSimplify sanitize->check_array()
Behdad Esfahbod [Mon, 10 Sep 2018 21:18:07 +0000 (23:18 +0200)]
Simplify sanitize->check_array()

Fix a bug in CBDT sanitize, and redundant check in avar.

5 years agoPort some VAR arrays to UnsizedArrayOf<>
Behdad Esfahbod [Mon, 10 Sep 2018 21:02:24 +0000 (23:02 +0200)]
Port some VAR arrays to UnsizedArrayOf<>

Fix avar sanitize().

5 years ago[indic] Cache hb_options().uniscribe_bug_compatible on indic_plan
Behdad Esfahbod [Mon, 10 Sep 2018 20:51:26 +0000 (22:51 +0200)]
[indic] Cache hb_options().uniscribe_bug_compatible on indic_plan

5 years agoUnbreak HB_OPTIONS
Behdad Esfahbod [Mon, 10 Sep 2018 16:19:37 +0000 (18:19 +0200)]
Unbreak HB_OPTIONS

Fixes https://github.com/harfbuzz/harfbuzz/issues/1154

5 years ago[indic] Do NOT allow matra after Halant,ZWJ
Behdad Esfahbod [Mon, 10 Sep 2018 15:38:19 +0000 (17:38 +0200)]
[indic] Do NOT allow matra after Halant,ZWJ

Fixes https://github.com/harfbuzz/harfbuzz/issues/556

Devanagari regresses 12 tests, and Gujarati 2.  See:

  https://github.com/harfbuzz/harfbuzz/issues/556#issuecomment-419957472

New numbers:

BENGALI: 353725 out of 354188 tests passed. 463 failed (0.130722%)
DEVANAGARI: 707299 out of 707394 tests passed. 95 failed (0.0134296%)
GUJARATI: 366353 out of 366457 tests passed. 104 failed (0.0283799%)
GURMUKHI: 60729 out of 60747 tests passed. 18 failed (0.0296311%)
KANNADA: 951300 out of 951913 tests passed. 613 failed (0.0643966%)
MALAYALAM: 1048136 out of 1048334 tests passed. 198 failed (0.0188871%)
ORIYA: 42327 out of 42329 tests passed. 2 failed (0.00472489%)
SINHALA: 271596 out of 271847 tests passed. 251 failed (0.0923313%)
TAMIL: 1091754 out of 1091754 tests passed. 0 failed (0%)
TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%)

5 years agoFix sanitize or Context Rule
Behdad Esfahbod [Mon, 10 Sep 2018 13:45:32 +0000 (15:45 +0200)]
Fix sanitize or Context Rule

Fixes https://github.com/harfbuzz/harfbuzz/issues/1110

5 years agoRevert "[subset] Disable GSUB/GPOS subsetting for now"
Behdad Esfahbod [Mon, 10 Sep 2018 11:56:28 +0000 (13:56 +0200)]
Revert "[subset] Disable GSUB/GPOS subsetting for now"

This reverts commit 616fd34a69bb69bc35c7e4ea939e71c3ea2e92cb.

5 years ago1.9.0
Behdad Esfahbod [Mon, 10 Sep 2018 09:37:24 +0000 (11:37 +0200)]
1.9.0

5 years ago[subset] Disable GSUB/GPOS subsetting for now
Behdad Esfahbod [Mon, 10 Sep 2018 09:19:49 +0000 (11:19 +0200)]
[subset] Disable GSUB/GPOS subsetting for now

So I can get a release out.  I haven't debugged those yet, and they
are producing bad tables.

5 years ago[atomic] Fix pointer type passed to InterlockedExchangeAdd()
Behdad Esfahbod [Mon, 10 Sep 2018 09:05:33 +0000 (11:05 +0200)]
[atomic] Fix pointer type passed to InterlockedExchangeAdd()

John Emmas reported on mailing list that build with MSVC is failing.
Not sure why bots don't catch it, but this should fix.

5 years agoUse enum instead of "static const" in class scope
Behdad Esfahbod [Fri, 7 Sep 2018 19:02:57 +0000 (15:02 -0400)]
Use enum instead of "static const" in class scope

Technically, static const needs an out-of-class definition.  Eg:

  CXXLD    libharfbuzz-subset.la
Undefined symbols for architecture x86_64:
  "OT::FeatureVariationRecord::min_size", referenced from:
      bool OT::GSUBGPOS::subset<OT::PosLookup>(hb_subset_context_t*) constin libharfbuzz_subset_la-hb-subset.o
      bool OT::GSUBGPOS::subset<OT::SubstLookup>(hb_subset_context_t*) constin libharfbuzz_subset_la-hb-subset.o
  "OT::Record<OT::LangSys>::min_size", referenced from:
      OT::Script::subset(hb_subset_context_t*) constin libharfbuzz_subset_la-hb-subset.o
  "OT::IntType<unsigned short, 2u>::min_size", referenced from:
      OT::Script::subset(hb_subset_context_t*) constin libharfbuzz_subset_la-hb-subset.o
      OT::RecordListOf<OT::Feature>::subset(hb_subset_context_t*) const  in libharfbuzz_subset_la-hb-subset.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
make[4]: *** [libharfbuzz-subset.la] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Exited with code 2

5 years agoTry fixing bots
Behdad Esfahbod [Fri, 7 Sep 2018 14:46:13 +0000 (10:46 -0400)]
Try fixing bots

5 years ago[subset] Fix div-by-zero
Behdad Esfahbod [Fri, 7 Sep 2018 14:24:22 +0000 (10:24 -0400)]
[subset] Fix div-by-zero

5 years ago[subset] Fix hdmx subsetted size calculation.
Garret Rieger [Thu, 6 Sep 2018 01:04:52 +0000 (18:04 -0700)]
[subset] Fix hdmx subsetted size calculation.

5 years agoFix older compilers re '>>' at nested template declarations
Behdad Esfahbod [Thu, 6 Sep 2018 02:29:42 +0000 (19:29 -0700)]
Fix older compilers re '>>' at nested template declarations

5 years ago[subset] Hook up GSUB/GPOS, but still disabled
Behdad Esfahbod [Wed, 5 Sep 2018 23:24:28 +0000 (16:24 -0700)]
[subset] Hook up GSUB/GPOS, but still disabled

They are still in the drop list.

5 years ago[subset] Implement subsetting of SingleSubst
Behdad Esfahbod [Tue, 4 Sep 2018 03:50:11 +0000 (20:50 -0700)]
[subset] Implement subsetting of SingleSubst

5 years ago[subset] Keep glyph set in plan
Behdad Esfahbod [Tue, 4 Sep 2018 01:54:32 +0000 (18:54 -0700)]
[subset] Keep glyph set in plan

Should remove the vector version at some point...

5 years ago[subset] Towards subsetting SingleSubstFormat1
Behdad Esfahbod [Tue, 4 Sep 2018 01:23:23 +0000 (18:23 -0700)]
[subset] Towards subsetting SingleSubstFormat1

Why does subset plan not have a hb_set_t of glyphs?

5 years ago[subset] Wire up subset() call down to subtables
Behdad Esfahbod [Tue, 4 Sep 2018 00:33:34 +0000 (17:33 -0700)]
[subset] Wire up subset() call down to subtables

5 years agoTemplatize Lookup::sanitize()
Behdad Esfahbod [Tue, 4 Sep 2018 00:16:09 +0000 (17:16 -0700)]
Templatize Lookup::sanitize()

5 years ago[subset] More
Behdad Esfahbod [Mon, 3 Sep 2018 23:53:03 +0000 (16:53 -0700)]
[subset] More

5 years agoTemplatize GSUBGPOS::sanitize()
Behdad Esfahbod [Mon, 3 Sep 2018 23:41:28 +0000 (16:41 -0700)]
Templatize GSUBGPOS::sanitize()

5 years ago[subset] Fix serialize_subset() calls
Behdad Esfahbod [Mon, 3 Sep 2018 23:37:17 +0000 (16:37 -0700)]
[subset] Fix serialize_subset() calls

Ouch.

5 years agoAdd intersects() method to GSUB/GPOS lookups
Behdad Esfahbod [Mon, 3 Sep 2018 02:47:50 +0000 (19:47 -0700)]
Add intersects() method to GSUB/GPOS lookups

5 years ago[subset] Minor
Behdad Esfahbod [Mon, 3 Sep 2018 00:00:27 +0000 (17:00 -0700)]
[subset] Minor

Remove Lookup::subset().

5 years ago[subset] Towards GSUB/GPOS subsetting
Behdad Esfahbod [Sun, 2 Sep 2018 01:34:50 +0000 (18:34 -0700)]
[subset] Towards GSUB/GPOS subsetting

Add subset() call for GSUBGPOS struct and its dependencies.
Not hooked up anywhere.

5 years ago[serialize] Add reset()
Behdad Esfahbod [Sat, 1 Sep 2018 00:11:08 +0000 (17:11 -0700)]
[serialize] Add reset()

5 years ago[subset] De-templatize hb_subset_context_t
Behdad Esfahbod [Fri, 31 Aug 2018 23:46:35 +0000 (16:46 -0700)]
[subset] De-templatize hb_subset_context_t

We're going to (finally) use virtual methods for hb_serialize_context_t
customization, so don't need to carry a Serializer template variable
around...  Simplifies code.