platform/upstream/libHarfBuzzSharp.git
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 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 agoMerge branch 'master' into cff-subset
Michiharu Ariza [Sun, 11 Nov 2018 00:23:11 +0000 (16:23 -0800)]
Merge branch 'master' into cff-subset

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.

5 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

5 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!

5 years agoMerge pull request #1376 from ebraminio/minor
Behdad Esfahbod [Sat, 10 Nov 2018 20:35:12 +0000 (15:35 -0500)]
Merge pull request #1376 from ebraminio/minor

[colr/feat/trak] minor

5 years ago[colr/feat/trak] minor
Ebrahim Byagowi [Sat, 10 Nov 2018 14:38:11 +0000 (18:08 +0330)]
[colr/feat/trak] minor

5 years ago[qsort] Fix O(N^2) behavior if all array elements are the same
Behdad Esfahbod [Sat, 10 Nov 2018 06:56:37 +0000 (01:56 -0500)]
[qsort] Fix O(N^2) behavior if all array elements are the same

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

Reported as https://github.com/noporpoise/sort_r/issues/7

5 years ago[post] Minor
Behdad Esfahbod [Sat, 10 Nov 2018 05:37:17 +0000 (00:37 -0500)]
[post] Minor

5 years ago[post] Move sanitize close to data fields
Behdad Esfahbod [Sat, 10 Nov 2018 05:26:36 +0000 (00:26 -0500)]
[post] Move sanitize close to data fields

5 years ago[post] Remove unnecessary hb_nonnull_ptr_t<>
Behdad Esfahbod [Sat, 10 Nov 2018 05:19:50 +0000 (00:19 -0500)]
[post] Remove unnecessary hb_nonnull_ptr_t<>

5 years ago[glyf] minor
Ebrahim Byagowi [Fri, 9 Nov 2018 23:12:08 +0000 (02:42 +0330)]
[glyf] minor

5 years agofixed vstem handling (lack thereof) in check_width
Michiharu Ariza [Fri, 9 Nov 2018 16:59:18 +0000 (08:59 -0800)]
fixed vstem handling (lack thereof) in check_width

bug exposed by U+2261 equivalence in SourceCodePro-Regular.otf

5 years agoFix a few MSVC 2008 warnings
Behdad Esfahbod [Fri, 9 Nov 2018 15:01:50 +0000 (10:01 -0500)]
Fix a few MSVC 2008 warnings

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

5 years agoMerge pull request #1358 from ebraminio/lcar
Behdad Esfahbod [Thu, 8 Nov 2018 19:42:40 +0000 (14:42 -0500)]
Merge pull request #1358 from ebraminio/lcar

Hook AAT's lcar to _get_ligature_carets

5 years agoHook AAT's lcar to _get_ligature_carets
Ebrahim Byagowi [Mon, 5 Nov 2018 09:01:58 +0000 (12:31 +0330)]
Hook AAT's lcar to _get_ligature_carets

5 years ago[aat] Minor
Ebrahim Byagowi [Thu, 8 Nov 2018 18:16:26 +0000 (21:46 +0330)]
[aat] Minor

5 years ago[test/text-rendering-tests] Update from upstream
Behdad Esfahbod [Thu, 8 Nov 2018 17:17:09 +0000 (12:17 -0500)]
[test/text-rendering-tests] Update from upstream

5 years ago[aat] Minor (#1369)
Ebrahim Byagowi [Thu, 8 Nov 2018 17:18:54 +0000 (20:48 +0330)]
[aat] Minor (#1369)

5 years agoMerge branch 'master' into cff-subset
Michiharu Ariza [Thu, 8 Nov 2018 17:06:49 +0000 (09:06 -0800)]
Merge branch 'master' into cff-subset

5 years agogot rid of Remap::fullset() as incorrect, redundant, inefficient
Michiharu Ariza [Thu, 8 Nov 2018 17:01:20 +0000 (09:01 -0800)]
got rid of Remap::fullset() as incorrect, redundant, inefficient

5 years ago[just] Initial table implementation (#1364)
Ebrahim Byagowi [Thu, 8 Nov 2018 15:47:02 +0000 (19:17 +0330)]
[just] Initial table implementation (#1364)

A starting point, its sanitization is not tested however

5 years ago[aat] Support Lookup<OffsetTo<>>, needed by just and lcar (#1368)
Ebrahim Byagowi [Thu, 8 Nov 2018 15:23:14 +0000 (18:53 +0330)]
[aat] Support Lookup<OffsetTo<>>, needed by just and lcar (#1368)

5 years ago[ci] minor
Ebrahim Byagowi [Thu, 8 Nov 2018 07:29:50 +0000 (10:59 +0330)]
[ci] minor

5 years ago[aat] Ignore cross-stream offset of deleted-glyphs
Behdad Esfahbod [Thu, 8 Nov 2018 02:58:04 +0000 (21:58 -0500)]
[aat] Ignore cross-stream offset of deleted-glyphs

I think it makes sense to accumulate it, but Ned tells me that's
what CoreText does.

5 years agofixed ends_in_hint bug
Michiharu Ariza [Thu, 8 Nov 2018 01:58:45 +0000 (17:58 -0800)]
fixed ends_in_hint bug

subr ends in hint itself should be regarded as hint
this flag should propagate to its caller if the call itself is at the end of the caller

5 years ago[fuzzing] Take whatever text we can
Behdad Esfahbod [Thu, 8 Nov 2018 00:11:43 +0000 (19:11 -0500)]
[fuzzing] Take whatever text we can

5 years agoMerge pull request #1362 from harfbuzz/cross-kern
Behdad Esfahbod [Wed, 7 Nov 2018 23:40:48 +0000 (18:40 -0500)]
Merge pull request #1362 from harfbuzz/cross-kern

Vastly improve kern/kerx tables, including cross-stream "kerning"

5 years ago[kerx] Comment
Behdad Esfahbod [Wed, 7 Nov 2018 23:13:22 +0000 (18:13 -0500)]
[kerx] Comment

5 years agoMerge branch 'master' into cff-subset
Michiharu Ariza [Wed, 7 Nov 2018 23:09:30 +0000 (15:09 -0800)]
Merge branch 'master' into cff-subset

5 years agomerge with cff-subset branch
Michiharu Ariza [Wed, 7 Nov 2018 23:08:55 +0000 (15:08 -0800)]
merge with cff-subset branch

5 years ago[kern] Implement negative state numbers
Behdad Esfahbod [Wed, 7 Nov 2018 23:04:53 +0000 (18:04 -0500)]
[kern] Implement negative state numbers

Let the fuzzing bots rip this code apart...

5 years agoimplented no-desubroutinize with CFF2 along with API test
Michiharu Ariza [Wed, 7 Nov 2018 22:48:37 +0000 (14:48 -0800)]
implented no-desubroutinize with CFF2 along with API test

replaced AdobeVFPrototype.abc.otf with a hinted (maually) & subroutinized copy
replaced expected results as well

5 years ago[morx] Minor
Behdad Esfahbod [Wed, 7 Nov 2018 22:29:37 +0000 (17:29 -0500)]
[morx] Minor

5 years ago[aat] Remove deleted-glyhs after applying kerx/kern
Behdad Esfahbod [Wed, 7 Nov 2018 22:19:21 +0000 (17:19 -0500)]
[aat] Remove deleted-glyhs after applying kerx/kern

Finally:  Fixes https://github.com/harfbuzz/harfbuzz/issues/1356

Test case:
$ ./hb-shape GeezaPro.ttc -u U+0628,U+064A,U+064E,U+0651,U+0629
[u0629.final.tehMarbuta=4+713|u064e_u0651.shaddaFatha=1@0,-200+0|u064a.medial.yeh=1+656|u0628.initial.beh=0+656]

The mark positioning (kern table CrossStream kerning) only works if deleted
glyph (as result of ligation) is still in stream and pushed through the
state machine.

5 years ago[aat] Add debug info to state machine
Behdad Esfahbod [Wed, 7 Nov 2018 21:42:16 +0000 (16:42 -0500)]
[aat] Add debug info to state machine

5 years agoDisable fallback mark positioning if kern table has cross-stream kerning
Behdad Esfahbod [Wed, 7 Nov 2018 21:19:51 +0000 (16:19 -0500)]
Disable fallback mark positioning if kern table has cross-stream kerning

Happens even if the cross-stream kerning is for cursive attachment only.  Oh well..

5 years agoDon't apply both kerx and kern
Behdad Esfahbod [Wed, 7 Nov 2018 21:07:22 +0000 (16:07 -0500)]
Don't apply both kerx and kern

Ouch!

5 years agoMinor
Behdad Esfahbod [Wed, 7 Nov 2018 21:05:36 +0000 (16:05 -0500)]
Minor

5 years ago[kern] Switch to dispatch
Behdad Esfahbod [Wed, 7 Nov 2018 21:03:09 +0000 (16:03 -0500)]
[kern] Switch to dispatch

5 years ago[kerx/kern] Add has_cross_stream()
Behdad Esfahbod [Wed, 7 Nov 2018 21:02:40 +0000 (16:02 -0500)]
[kerx/kern] Add has_cross_stream()

5 years ago[kerx] Fix peculiar indexing that was needed previously
Behdad Esfahbod [Wed, 7 Nov 2018 20:44:40 +0000 (15:44 -0500)]
[kerx] Fix peculiar indexing that was needed previously

Not needed now that we use GPOS attachment for cursive kerx.

5 years ago[GPOS] Only mark unsafe-to-break if kerning happened
Behdad Esfahbod [Wed, 7 Nov 2018 20:40:55 +0000 (15:40 -0500)]
[GPOS] Only mark unsafe-to-break if kerning happened

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

5 years ago[GPOS] Add TODO item
Behdad Esfahbod [Wed, 7 Nov 2018 20:02:16 +0000 (15:02 -0500)]
[GPOS] Add TODO item

5 years ago[kerx] Implement CrossStream kerning for non-state-machine subtables
Behdad Esfahbod [Wed, 7 Nov 2018 19:52:36 +0000 (14:52 -0500)]
[kerx] Implement CrossStream kerning for non-state-machine subtables

Untested.

5 years ago[kerx] Disable backwards-kerning for non-state-machine tables
Behdad Esfahbod [Wed, 7 Nov 2018 19:42:15 +0000 (14:42 -0500)]
[kerx] Disable backwards-kerning for non-state-machine tables

That's what the spec says for Backwards flag, only applicable to
formats 1 and 4.

5 years ago[kerx] Use GPOS attachment facilities for CrossStream kerning
Behdad Esfahbod [Wed, 7 Nov 2018 19:38:29 +0000 (14:38 -0500)]
[kerx] Use GPOS attachment facilities for CrossStream kerning

5 years ago[kerx] Format
Behdad Esfahbod [Wed, 7 Nov 2018 19:11:48 +0000 (14:11 -0500)]
[kerx] Format

5 years ago[kerx] Don't disable crossKerning if kern feature is off
Behdad Esfahbod [Wed, 7 Nov 2018 19:04:04 +0000 (14:04 -0500)]
[kerx] Don't disable crossKerning if kern feature is off

5 years ago[kern] Apply erlier, where GPOS/kerx are applied
Behdad Esfahbod [Wed, 7 Nov 2018 18:58:41 +0000 (13:58 -0500)]
[kern] Apply erlier, where GPOS/kerx are applied

5 years ago[kerx] Implement tupleKerning for Format1
Behdad Esfahbod [Wed, 7 Nov 2018 18:51:17 +0000 (13:51 -0500)]
[kerx] Implement tupleKerning for Format1

Untested.

5 years ago[kerx] Better sanitize tupleKerning
Behdad Esfahbod [Wed, 7 Nov 2018 18:48:45 +0000 (13:48 -0500)]
[kerx] Better sanitize tupleKerning

5 years ago[kern/kerx] Share KernTable, renamed to KerxTable
Behdad Esfahbod [Wed, 7 Nov 2018 18:40:22 +0000 (13:40 -0500)]
[kern/kerx] Share KernTable, renamed to KerxTable

5 years ago[fallback] Minor
Behdad Esfahbod [Wed, 7 Nov 2018 18:35:06 +0000 (13:35 -0500)]
[fallback] Minor

5 years ago[kern/kerx] More towards sharing KernTable
Behdad Esfahbod [Wed, 7 Nov 2018 18:33:23 +0000 (13:33 -0500)]
[kern/kerx] More towards sharing KernTable

5 years ago[kern] Disable Format1 and Format3 for OT-style tables
Behdad Esfahbod [Wed, 7 Nov 2018 18:10:05 +0000 (13:10 -0500)]
[kern] Disable Format1 and Format3 for OT-style tables

5 years ago[kern] Minor
Behdad Esfahbod [Wed, 7 Nov 2018 18:04:21 +0000 (13:04 -0500)]
[kern] Minor

5 years ago[kern] Move code
Behdad Esfahbod [Wed, 7 Nov 2018 17:57:10 +0000 (12:57 -0500)]
[kern] Move code

5 years ago[kern] Massage more
Behdad Esfahbod [Wed, 7 Nov 2018 17:51:49 +0000 (12:51 -0500)]
[kern] Massage more

5 years ago[kerx] More minor
Behdad Esfahbod [Wed, 7 Nov 2018 17:49:20 +0000 (12:49 -0500)]
[kerx] More minor

5 years ago[kern/kerx] Minor
Behdad Esfahbod [Wed, 7 Nov 2018 17:48:06 +0000 (12:48 -0500)]
[kern/kerx] Minor

5 years ago[kern/kerx] Towards sharing KernTable
Behdad Esfahbod [Wed, 7 Nov 2018 17:32:39 +0000 (12:32 -0500)]
[kern/kerx] Towards sharing KernTable

5 years ago[kern/kerx] Minor
Behdad Esfahbod [Wed, 7 Nov 2018 17:27:44 +0000 (12:27 -0500)]
[kern/kerx] Minor

5 years ago[kern/kerx] Share Format2
Behdad Esfahbod [Wed, 7 Nov 2018 17:19:52 +0000 (12:19 -0500)]
[kern/kerx] Share Format2

This, enables Format2 for kern table, which was disabled before.

5 years ago[kerx] Towards merging Format2
Behdad Esfahbod [Wed, 7 Nov 2018 17:16:38 +0000 (12:16 -0500)]
[kerx] Towards merging Format2

5 years agoclear stack after vsindex op
Michiharu Ariza [Wed, 7 Nov 2018 17:16:12 +0000 (09:16 -0800)]
clear stack after vsindex op

5 years agofixed off-by-one error in CFF1 Encoding lookup
Michiharu Ariza [Wed, 7 Nov 2018 17:09:13 +0000 (09:09 -0800)]
fixed off-by-one error in CFF1 Encoding lookup