platform/upstream/libHarfBuzzSharp.git
5 years ago[ot-var] Add flags
Behdad Esfahbod [Mon, 19 Nov 2018 16:34:56 +0000 (11:34 -0500)]
[ot-var] Add flags

Unfortunate that we don't have room in hb_ot_var_axis_t to expose flags :(.

5 years ago[ot-var] Use hb_ot_name_id_t
Behdad Esfahbod [Mon, 19 Nov 2018 16:30:40 +0000 (11:30 -0500)]
[ot-var] Use hb_ot_name_id_t

5 years ago2.1.3
Behdad Esfahbod [Sat, 17 Nov 2018 00:53:25 +0000 (16:53 -0800)]
2.1.3

5 years agoFix recent commits
Behdad Esfahbod [Sat, 17 Nov 2018 00:52:42 +0000 (16:52 -0800)]
Fix recent commits

5 years agoRevert b4c61130324455bfd42095b01fa14ac901e441f1
Behdad Esfahbod [Sat, 17 Nov 2018 00:48:28 +0000 (16:48 -0800)]
Revert b4c61130324455bfd42095b01fa14ac901e441f1

Was causing more trouble than it solved.  We use unsigned for indexing,
and it's not helpful to allow that wrapping to negative integers on
32bit machines.  The only way we could work around it would have been
by accepting int64_t arg, but that's overkill.

Ignore the MSVC 2008 build issue.  We don't support that compiler.

5 years agoDetect over/under-flow in UnsizedArray::operator[]
Behdad Esfahbod [Sat, 17 Nov 2018 00:41:59 +0000 (16:41 -0800)]
Detect over/under-flow in UnsizedArray::operator[]

Was causing bad substitutions in mort table because of WordOffsetToIndex()
producing negative numbers that were cast to unsigned int and returned as
large numbers (which was desirable, so they would be rejected), but then
they were cast to int when passed to this operator and acting as small
negative integers, which was bad...

Detect overflow.  Ouch, however, now I see this still fails on 32-bit.
Guess I'm going to revert an earlier change.

5 years ago[aat] Fix mort shaping
Behdad Esfahbod [Sat, 17 Nov 2018 00:11:02 +0000 (16:11 -0800)]
[aat] Fix mort shaping

Ouch!

5 years ago2.1.2
Behdad Esfahbod [Fri, 16 Nov 2018 23:38:11 +0000 (15:38 -0800)]
2.1.2

5 years agoFix vertical fallback space sign
Behdad Esfahbod [Fri, 16 Nov 2018 23:04:41 +0000 (15:04 -0800)]
Fix vertical fallback space sign

Ouch!

Follow-up to cf203af8a33591c163b63dbdf0fd341bc4606190

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

5 years agoDon't apply GPOS if applying morx
Behdad Esfahbod [Fri, 16 Nov 2018 22:46:40 +0000 (14:46 -0800)]
Don't apply GPOS if applying morx

That's what Apple does, and it wouldn't degrade our OpenType performance.

Part of https://github.com/harfbuzz/harfbuzz/issues/1348

5 years agoPrefer morx table if GSUB is empty (no scripts)
Behdad Esfahbod [Fri, 16 Nov 2018 22:45:56 +0000 (14:45 -0800)]
Prefer morx table if GSUB is empty (no scripts)

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

5 years agoMinor
Behdad Esfahbod [Fri, 16 Nov 2018 22:31:05 +0000 (14:31 -0800)]
Minor

5 years ago[coretext] Hopefully the last one
Behdad Esfahbod [Fri, 16 Nov 2018 13:52:57 +0000 (08:52 -0500)]
[coretext] Hopefully the last one

5 years ago[coretext] Another round
Behdad Esfahbod [Fri, 16 Nov 2018 13:43:25 +0000 (08:43 -0500)]
[coretext] Another round

5 years ago[coretext] One more try..
Behdad Esfahbod [Fri, 16 Nov 2018 13:29:47 +0000 (08:29 -0500)]
[coretext] One more try..

5 years ago[coretext] One more try
Behdad Esfahbod [Fri, 16 Nov 2018 09:10:53 +0000 (04:10 -0500)]
[coretext] One more try

5 years ago[coretext] Another build fix attemt
Behdad Esfahbod [Fri, 16 Nov 2018 08:57:12 +0000 (03:57 -0500)]
[coretext] Another build fix attemt

5 years ago[directwrite] Fix build
Behdad Esfahbod [Fri, 16 Nov 2018 08:26:46 +0000 (03:26 -0500)]
[directwrite] Fix build

5 years ago[coretext] Try to fix
Behdad Esfahbod [Fri, 16 Nov 2018 08:24:22 +0000 (03:24 -0500)]
[coretext] Try to fix

5 years ago[coretext] Unbreak build
Behdad Esfahbod [Fri, 16 Nov 2018 07:55:29 +0000 (02:55 -0500)]
[coretext] Unbreak build

5 years ago[shaper] Rewrite shaper data code to be more template-driven than macro-driven
Behdad Esfahbod [Fri, 16 Nov 2018 07:29:13 +0000 (02:29 -0500)]
[shaper] Rewrite shaper data code to be more template-driven than macro-driven

5 years ago[hdmx] Fix bounds checking
Behdad Esfahbod [Fri, 16 Nov 2018 07:02:24 +0000 (02:02 -0500)]
[hdmx] Fix bounds checking

Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11351

5 years ago[hdmx] Minor
Behdad Esfahbod [Fri, 16 Nov 2018 06:55:39 +0000 (01:55 -0500)]
[hdmx] Minor

5 years ago[subset] Remove invalid glyphs from glypset to retain
Behdad Esfahbod [Fri, 16 Nov 2018 06:48:26 +0000 (01:48 -0500)]
[subset] Remove invalid glyphs from glypset to retain

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

5 years ago[subset] minor, adjust spaces
Ebrahim Byagowi [Thu, 15 Nov 2018 19:40:56 +0000 (23:10 +0330)]
[subset] minor, adjust spaces

5 years ago[math] minor, adjust spaces
Ebrahim Byagowi [Thu, 15 Nov 2018 19:40:49 +0000 (23:10 +0330)]
[math] minor, adjust spaces

5 years ago[base] Add TODO items
Behdad Esfahbod [Thu, 15 Nov 2018 07:48:50 +0000 (02:48 -0500)]
[base] Add TODO items

5 years ago[shaper] Rename
Behdad Esfahbod [Thu, 15 Nov 2018 02:08:54 +0000 (21:08 -0500)]
[shaper] Rename

5 years ago[ot-shape] Move code around
Behdad Esfahbod [Wed, 14 Nov 2018 19:49:34 +0000 (14:49 -0500)]
[ot-shape] Move code around

5 years ago[STAT] Add table parsing (#1384)
Ebrahim Byagowi [Wed, 14 Nov 2018 18:43:50 +0000 (22:13 +0330)]
[STAT] Add table parsing (#1384)

5 years ago[hmtx] Fix signedness issue
Behdad Esfahbod [Wed, 14 Nov 2018 14:56:30 +0000 (09:56 -0500)]
[hmtx] Fix signedness issue

Fixes https://github.com/harfbuzz/harfbuzz/issues/1248#issuecomment-438689499

5 years ago[ot-color/svg] Note that it can be gzipped
Ebrahim Byagowi [Wed, 14 Nov 2018 08:43:16 +0000 (12:13 +0330)]
[ot-color/svg] Note that it can be gzipped

5 years agoMerge pull request #1383 from punchcutter/master
Ebrahim Byagowi [Wed, 14 Nov 2018 04:59:17 +0000 (08:29 +0330)]
Merge pull request #1383 from punchcutter/master

Add test for https://github.com/harfbuzz/harfbuzz/issues/1379

5 years agoAdd Grantha test
punchcutter [Wed, 14 Nov 2018 04:44:27 +0000 (20:44 -0800)]
Add Grantha test

5 years ago[aat] Disable fallback mark advance zeroing and positioning if morx applied
Behdad Esfahbod [Wed, 14 Nov 2018 02:10:10 +0000 (21:10 -0500)]
[aat] Disable fallback mark advance zeroing and positioning if morx applied

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

5 years agoDon't retry creating again and again in lazy_loader if create failed
Behdad Esfahbod [Wed, 14 Nov 2018 01:48:46 +0000 (20:48 -0500)]
Don't retry creating again and again in lazy_loader if create failed

Still does that if get_null() returns nullptr.  Our shaper data objects
are like that.  Shrug.

5 years agoMerge pull request #1382 from punchcutter/master
Behdad Esfahbod [Wed, 14 Nov 2018 00:50:25 +0000 (19:50 -0500)]
Merge pull request #1382 from punchcutter/master

Change USE Category for Grantha Virama

5 years agoMerge pull request #1380 from kbrow1i/cygwin
Behdad Esfahbod [Wed, 14 Nov 2018 00:49:06 +0000 (19:49 -0500)]
Merge pull request #1380 from kbrow1i/cygwin

Don't use Win32 API on Cygwin

5 years agoChange USE Category for Grantha Virama
punchcutter [Tue, 13 Nov 2018 20:51:10 +0000 (12:51 -0800)]
Change USE Category for Grantha Virama
https://github.com/harfbuzz/harfbuzz/issues/1379

5 years agoFix Windows build
Behdad Esfahbod [Tue, 13 Nov 2018 18:01:13 +0000 (13:01 -0500)]
Fix Windows build

5 years agoUse atomic ints for upem and num_glyphs on face
Behdad Esfahbod [Tue, 13 Nov 2018 16:54:33 +0000 (11:54 -0500)]
Use atomic ints for upem and num_glyphs on face

5 years agoMake atomic types' internal values non-mutable
Behdad Esfahbod [Tue, 13 Nov 2018 16:45:12 +0000 (11:45 -0500)]
Make atomic types' internal values non-mutable

This resulted from confusion previously...

5 years ago[ot-face] Add 'head' table
Behdad Esfahbod [Tue, 13 Nov 2018 16:41:29 +0000 (11:41 -0500)]
[ot-face] Add 'head' table

5 years agoDon't use Win32 API on Cygwin
Ken Brown [Tue, 13 Nov 2018 02:05:39 +0000 (21:05 -0500)]
Don't use Win32 API on Cygwin

Cygwin is a Posix platform to the extent possible.  It should use the
Posix API except in special circumstances.

5 years ago[shape-plan] Remove unused code
Behdad Esfahbod [Tue, 13 Nov 2018 00:46:37 +0000 (19:46 -0500)]
[shape-plan] Remove unused code

5 years ago[shape-plan] Implement fine-grained caching plans with user-features
Behdad Esfahbod [Tue, 13 Nov 2018 00:26:01 +0000 (19:26 -0500)]
[shape-plan] Implement fine-grained caching plans with user-features

Only tag, value, and global-ness of features are considered, not their
start/end offsets.

5 years ago[shape-plan] Cache shape plans with variations based on variation indices
Behdad Esfahbod [Mon, 12 Nov 2018 23:48:10 +0000 (18:48 -0500)]
[shape-plan] Cache shape plans with variations based on variation indices

5 years ago[shape-plan] Refactor more
Behdad Esfahbod [Mon, 12 Nov 2018 23:18:20 +0000 (18:18 -0500)]
[shape-plan] Refactor more

5 years ago[shape-plan] Only use shape-plan key to initialize hb_ot_shape_plan_t
Behdad Esfahbod [Mon, 12 Nov 2018 23:05:02 +0000 (18:05 -0500)]
[shape-plan] Only use shape-plan key to initialize hb_ot_shape_plan_t

Such that we don't accidentally use info not in the cache key.

5 years ago[shape-plan] Minor
Behdad Esfahbod [Mon, 12 Nov 2018 22:50:30 +0000 (17:50 -0500)]
[shape-plan] Minor

5 years ago[shape-plan] Refactor some more
Behdad Esfahbod [Mon, 12 Nov 2018 22:49:15 +0000 (17:49 -0500)]
[shape-plan] Refactor some more

5 years ago[shape-plan] Refactor more
Behdad Esfahbod [Mon, 12 Nov 2018 22:27:34 +0000 (17:27 -0500)]
[shape-plan] Refactor more

5 years ago[shape-plan] Turn hb_shape_plan_proposal_t into hb_shape_plan_key_t
Behdad Esfahbod [Mon, 12 Nov 2018 22:19:45 +0000 (17:19 -0500)]
[shape-plan] Turn hb_shape_plan_proposal_t into hb_shape_plan_key_t

And include it in hb_shape_plan_t itself.

5 years agoAdd hb_memcmp()
Behdad Esfahbod [Mon, 12 Nov 2018 21:27:08 +0000 (16:27 -0500)]
Add hb_memcmp()

5 years ago[shape-plan] Minor
Behdad Esfahbod [Mon, 12 Nov 2018 21:15:26 +0000 (16:15 -0500)]
[shape-plan] Minor

5 years ago[shaper] Rename
Behdad Esfahbod [Mon, 12 Nov 2018 21:05:09 +0000 (16:05 -0500)]
[shaper] Rename

5 years ago[fuzzing] Add new test
Behdad Esfahbod [Mon, 12 Nov 2018 19:25:18 +0000 (14:25 -0500)]
[fuzzing] Add new test

5 years agoRename check_array2() to check_array()
Behdad Esfahbod [Mon, 12 Nov 2018 19:24:36 +0000 (14:24 -0500)]
Rename check_array2() to check_array()

5 years agoRename check_array(array, a, b) to check_range()
Behdad Esfahbod [Mon, 12 Nov 2018 19:23:31 +0000 (14:23 -0500)]
Rename check_array(array, a, b) to check_range()

5 years ago[kerx] Fix integer overflow in multiply
Behdad Esfahbod [Mon, 12 Nov 2018 19:11:29 +0000 (14:11 -0500)]
[kerx] Fix integer overflow in multiply

Fixes https://oss-fuzz.com/v2/testcase-detail/5754863779053568

5 years ago[kerx] Minor tweak on previous commit
Behdad Esfahbod [Mon, 12 Nov 2018 18:56:48 +0000 (13:56 -0500)]
[kerx] Minor tweak on previous commit

5 years ago[fuzzing] Remove limited-edition build of libraries
Behdad Esfahbod [Mon, 12 Nov 2018 18:21:14 +0000 (13:21 -0500)]
[fuzzing] Remove limited-edition build of libraries

Use normal, production, shared libraries.

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

5 years ago[kerx] Protect against stack underflow
Behdad Esfahbod [Mon, 12 Nov 2018 18:01:22 +0000 (13:01 -0500)]
[kerx] Protect against stack underflow

Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11367

5 years ago[shape-plan] Minor
Behdad Esfahbod [Mon, 12 Nov 2018 03:51:34 +0000 (22:51 -0500)]
[shape-plan] Minor

5 years ago[shape-plan] Minor rename
Behdad Esfahbod [Mon, 12 Nov 2018 03:38:05 +0000 (22:38 -0500)]
[shape-plan] Minor rename

5 years agoAdd variation coords to shape_plan proposal
Behdad Esfahbod [Mon, 12 Nov 2018 03:08:48 +0000 (22:08 -0500)]
Add variation coords to shape_plan proposal

This is the root cause of bug worked around in 19e77e01bc13f44138e1d50533327d314dd0a018.

Still no shape plan caching for variations though.

5 years agoMinor
Behdad Esfahbod [Mon, 12 Nov 2018 03:03:15 +0000 (22:03 -0500)]
Minor

5 years agoEmbed hb_ot_shape_plan_t into hb_shape_plan_t
Behdad Esfahbod [Mon, 12 Nov 2018 02:32:01 +0000 (21:32 -0500)]
Embed hb_ot_shape_plan_t into hb_shape_plan_t

No other shaper will need shape_plan_data, by definition.  So, remove
abstraction layer and always create hb_ot_shape_plan_t as part of
hb_shape_plan_t.

5 years agoRemove wrong comment
Behdad Esfahbod [Sun, 11 Nov 2018 22:10:23 +0000 (17:10 -0500)]
Remove wrong comment

5 years agoFinish off eecccc919ce15f60ae7ef9da5cfb311b4aa05c63
Behdad Esfahbod [Sun, 11 Nov 2018 21:47:52 +0000 (16:47 -0500)]
Finish off eecccc919ce15f60ae7ef9da5cfb311b4aa05c63

5 years agoMinor
Behdad Esfahbod [Sun, 11 Nov 2018 21:35:28 +0000 (16:35 -0500)]
Minor

5 years agoMinor
Behdad Esfahbod [Sun, 11 Nov 2018 21:25:43 +0000 (16:25 -0500)]
Minor

5 years agoRevert "Declare Null() constexpr"
Behdad Esfahbod [Sun, 11 Nov 2018 21:09:38 +0000 (16:09 -0500)]
Revert "Declare Null() constexpr"

This reverts commit 442a72d95ab1fb3a47b486d8d1eb68e909d0ffb8.

Doesn't make sense.  No idea how my local compilers where happy with it!

5 years agoMinor
Behdad Esfahbod [Sun, 11 Nov 2018 20:54:20 +0000 (15:54 -0500)]
Minor

5 years agoDeclare Null() constexpr
Behdad Esfahbod [Sun, 11 Nov 2018 20:51:23 +0000 (15:51 -0500)]
Declare Null() constexpr

5 years agoDon't store to null object
Behdad Esfahbod [Sun, 11 Nov 2018 20:48:47 +0000 (15:48 -0500)]
Don't store to null object

Ouch :).

5 years agoRemove unused function
Behdad Esfahbod [Sun, 11 Nov 2018 20:45:58 +0000 (15:45 -0500)]
Remove unused function

5 years ago[hdmx] Renames
Behdad Esfahbod [Sun, 11 Nov 2018 17:54:16 +0000 (12:54 -0500)]
[hdmx] Renames

5 years agoAdd hb_blob_ptr_t.destroy()
Behdad Esfahbod [Sun, 11 Nov 2018 16:40:57 +0000 (11:40 -0500)]
Add hb_blob_ptr_t.destroy()

5 years ago[hmtx/port] Use hb_blob_ptr_t
Behdad Esfahbod [Sun, 11 Nov 2018 05:39:52 +0000 (00:39 -0500)]
[hmtx/port] Use hb_blob_ptr_t

5 years ago[cmap] Port to hb_blob_ptr_t
Behdad Esfahbod [Sun, 11 Nov 2018 05:28:47 +0000 (00:28 -0500)]
[cmap] Port to hb_blob_ptr_t

Although didn't need it...

5 years ago[color] Port to hb_blob_ptr_t
Behdad Esfahbod [Sun, 11 Nov 2018 05:26:55 +0000 (00:26 -0500)]
[color] Port to hb_blob_ptr_t

Fix hb_blob_ptr_t::get_length () as well.

5 years agoComment
Behdad Esfahbod [Sun, 11 Nov 2018 05:17:30 +0000 (00:17 -0500)]
Comment

5 years ago[shape-plan] Remove use of custom null object
Behdad Esfahbod [Sun, 11 Nov 2018 05:16:17 +0000 (00:16 -0500)]
[shape-plan] Remove use of custom null object

5 years ago[shape-plan] Make null object all zeros
Behdad Esfahbod [Sun, 11 Nov 2018 05:15:08 +0000 (00:15 -0500)]
[shape-plan] Make null object all zeros

To remove custom null object next..

5 years ago[blob] Use default null object
Behdad Esfahbod [Sun, 11 Nov 2018 05:12:30 +0000 (00:12 -0500)]
[blob] Use default null object

5 years ago[blob] Change null object memory mode to DUPLICATE
Behdad Esfahbod [Sun, 11 Nov 2018 05:11:28 +0000 (00:11 -0500)]
[blob] Change null object memory mode to DUPLICATE

We never rely on that being equal to readonly.  Just not being
writable.  Maybe not even that given that the object is inert.

In prep for next commit, using default null pool.

5 years agoAdd hb_blob_ptr_t
Behdad Esfahbod [Sun, 11 Nov 2018 04:52:15 +0000 (23:52 -0500)]
Add hb_blob_ptr_t

Use in a couple of places.  Push to bots to see how many unhappy before
I convert the rest.

5 years agoMinor
Behdad Esfahbod [Sun, 11 Nov 2018 03:41:35 +0000 (22:41 -0500)]
Minor

5 years ago[kerx] Fix Format1 tupleKern sanitization
Behdad Esfahbod [Sun, 11 Nov 2018 02:13:13 +0000 (21:13 -0500)]
[kerx] Fix Format1 tupleKern sanitization

Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11312
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11305

5 years ago[fuzzing] Make "make lib" faster and more usable
Behdad Esfahbod [Sun, 11 Nov 2018 02:01:49 +0000 (21:01 -0500)]
[fuzzing] Make "make lib" faster and more usable

5 years agoMinor
Behdad Esfahbod [Sun, 11 Nov 2018 01:11:10 +0000 (20:11 -0500)]
Minor

5 years agoRevert parts of previous commit that made clang unhappy
Behdad Esfahbod [Sun, 11 Nov 2018 01:10:03 +0000 (20:10 -0500)]
Revert parts of previous commit that made clang unhappy

5 years agoBetter fix for MSVC 2008
Behdad Esfahbod [Sun, 11 Nov 2018 00:54:08 +0000 (19:54 -0500)]
Better fix for MSVC 2008

Follow up on b4c61130324455bfd42095b01fa14ac901e441f1

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

5 years agoTry fixing MSVC 2008 build
Behdad Esfahbod [Sat, 10 Nov 2018 21:35:39 +0000 (16:35 -0500)]
Try fixing MSVC 2008 build

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

5 years agoFix hb_bytes_t's unused template array constructor
Behdad Esfahbod [Sat, 10 Nov 2018 21:11:14 +0000 (16:11 -0500)]
Fix hb_bytes_t's unused template array constructor

5 years agoAdd trivial casts to hb_bytes_t
Behdad Esfahbod [Sat, 10 Nov 2018 21:09:21 +0000 (16:09 -0500)]
Add trivial casts to hb_bytes_t

5 years agoRevert back hb_bytes_t.cmp() to the scheme it was
Behdad Esfahbod [Sat, 10 Nov 2018 20:54:33 +0000 (15:54 -0500)]
Revert back hb_bytes_t.cmp() to the scheme it was

But fix UBSan complaint.

There's nothing in hb_bytes_t that guarantees lexical ordering, and
ordering by length first is much faster.

6 years agoFix hb_bytes_t.cmp() for realz this time
Behdad Esfahbod [Sat, 10 Nov 2018 20:43:16 +0000 (15:43 -0500)]
Fix hb_bytes_t.cmp() for realz this time

6 years agoFix hb_bytes_t.cmp()
Behdad Esfahbod [Sat, 10 Nov 2018 20:38:48 +0000 (15:38 -0500)]
Fix hb_bytes_t.cmp()

Ouch!