platform/upstream/libHarfBuzzSharp.git
5 years agoMerge branch 'master' into cff-subset
Michiharu Ariza [Sat, 17 Nov 2018 01:38:47 +0000 (17:38 -0800)]
Merge branch 'master' into cff-subset

5 years agofixed Charset format selection
Michiharu Ariza [Sat, 17 Nov 2018 01:29:03 +0000 (17:29 -0800)]
fixed Charset format selection

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 agoensure fdmap initialized as identity for single-FD (non-CID) fonts
Michiharu Ariza [Fri, 16 Nov 2018 21:46:58 +0000 (13:46 -0800)]
ensure fdmap initialized as identity for single-FD (non-CID) fonts

5 years agoMerge branch 'master' into cff-subset
Michiharu Ariza [Fri, 16 Nov 2018 20:29:18 +0000 (12:29 -0800)]
Merge branch 'master' into cff-subset

5 years agodrop dotsection as hint along with test case
Michiharu Ariza [Fri, 16 Nov 2018 20:28:24 +0000 (12:28 -0800)]
drop dotsection as hint along with test case

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 agouse 2-byte offset instead of 4-byte for local subrs
Michiharu Ariza [Thu, 15 Nov 2018 23:41:46 +0000 (15:41 -0800)]
use 2-byte offset instead of 4-byte for local subrs

more than enough since local subrs immediately follow its corresponding private dict, as the result 2-byte redunction for each font dict with local subrs
updated api test expected subset fonts accordingly

5 years agofixed a subset bug when no font dicts reduce
Michiharu Ariza [Thu, 15 Nov 2018 23:39:43 +0000 (15:39 -0800)]
fixed a subset bug when no font dicts reduce

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 agoreject nested seac
Michiharu Ariza [Thu, 15 Nov 2018 20:10:23 +0000 (12:10 -0800)]
reject nested seac

5 years agoMerge branch 'master' into cff-subset
Michiharu Ariza [Thu, 15 Nov 2018 19:03:46 +0000 (11:03 -0800)]
Merge branch 'master' into cff-subset

5 years agofixed CFF1 subset of std encoding & non-std charset combo
Michiharu Ariza [Thu, 15 Nov 2018 18:54:15 +0000 (10:54 -0800)]
fixed CFF1 subset of std encoding & non-std charset combo

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 agoMerge branch 'master' into cff-subset
Michiharu Ariza [Wed, 14 Nov 2018 21:54:07 +0000 (13:54 -0800)]
Merge branch 'master' into cff-subset

5 years agoImplemented seac for extents & subset along with API tests
Michiharu Ariza [Wed, 14 Nov 2018 21:38:03 +0000 (13:38 -0800)]
Implemented seac for extents & subset along with API tests

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 agoMerge branch 'master' into cff-subset
Michiharu Ariza [Mon, 12 Nov 2018 16:49:00 +0000 (08:49 -0800)]
Merge branch 'master' into cff-subset

5 years agochanged Adobe company name
Michiharu Ariza [Mon, 12 Nov 2018 16:47:07 +0000 (08:47 -0800)]
changed Adobe company name

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.