platform/upstream/libHarfBuzzSharp.git
5 years ago[kern/kerx] Enable crossStream kerning in vertical
Behdad Esfahbod [Wed, 7 Nov 2018 16:21:09 +0000 (11:21 -0500)]
[kern/kerx] Enable crossStream kerning in vertical

CoreText doesn't, but no reason we shouldn't do.

5 years ago[kerx] More towards sharing Format1
Behdad Esfahbod [Wed, 7 Nov 2018 16:20:14 +0000 (11:20 -0500)]
[kerx] More towards sharing Format1

5 years ago[morx] Simplify
Behdad Esfahbod [Wed, 7 Nov 2018 16:05:28 +0000 (11:05 -0500)]
[morx] Simplify

5 years ago[kerx] Towards sharing Format1
Behdad Esfahbod [Wed, 7 Nov 2018 16:02:04 +0000 (11:02 -0500)]
[kerx] Towards sharing Format1

5 years ago[morx] Minor
Behdad Esfahbod [Wed, 7 Nov 2018 15:58:50 +0000 (10:58 -0500)]
[morx] Minor

5 years ago[kern/kerx] Share Format0
Behdad Esfahbod [Wed, 7 Nov 2018 15:45:25 +0000 (10:45 -0500)]
[kern/kerx] Share Format0

5 years ago[kern/kerx] Towards merge more
Behdad Esfahbod [Wed, 7 Nov 2018 15:39:39 +0000 (10:39 -0500)]
[kern/kerx] Towards merge more

5 years ago[kern/kerx] More towards sharing
Behdad Esfahbod [Wed, 7 Nov 2018 15:33:46 +0000 (10:33 -0500)]
[kern/kerx] More towards sharing

5 years ago[kern] Move kern machine to hb-kern.hh
Behdad Esfahbod [Wed, 7 Nov 2018 15:25:25 +0000 (10:25 -0500)]
[kern] Move kern machine to hb-kern.hh

5 years ago[kerx] Towards sharing subtables with kern
Behdad Esfahbod [Wed, 7 Nov 2018 15:19:46 +0000 (10:19 -0500)]
[kerx] Towards sharing subtables with kern

5 years ago[kern] Remove Override business
Behdad Esfahbod [Wed, 7 Nov 2018 14:53:02 +0000 (09:53 -0500)]
[kern] Remove Override business

Not used in any fonts.  Not well-specified when mixing kerning with
Cross-Stream positioning.

5 years ago[kern/kerx] Fix cursive joining
Behdad Esfahbod [Wed, 7 Nov 2018 05:25:48 +0000 (00:25 -0500)]
[kern/kerx] Fix cursive joining

Tested with Waseem TTC:

$ hb-shape Waseem.ttc جحخج
[F1Jeem_R2=3@0,180+479|M1Khah_L2_R2=2@0,682+403|M1Hah_L2_R2=1@0,1184+403|I1Jeem_L2=0@0,1184+744]

5 years ago[kern/kerx] Fix "reset" magic value
Behdad Esfahbod [Wed, 7 Nov 2018 05:04:40 +0000 (00:04 -0500)]
[kern/kerx] Fix "reset" magic value

5 years ago[kerx] Adjust CrossStream kern to match 'kern' table
Behdad Esfahbod [Wed, 7 Nov 2018 02:45:40 +0000 (21:45 -0500)]
[kerx] Adjust CrossStream kern to match 'kern' table

5 years ago[kern] More tweaks
Behdad Esfahbod [Wed, 7 Nov 2018 02:41:28 +0000 (21:41 -0500)]
[kern] More tweaks

Solves a mystery or two.  I'm fairly confident this is what CoreText does now.

5 years ago[kern] Adjust some more
Behdad Esfahbod [Wed, 7 Nov 2018 02:04:40 +0000 (21:04 -0500)]
[kern] Adjust some more

Getting closer.  So many open questions still...

5 years ago[kern] Add TODO
Behdad Esfahbod [Wed, 7 Nov 2018 02:04:02 +0000 (21:04 -0500)]
[kern] Add TODO

5 years ago[kern] Minor
Behdad Esfahbod [Wed, 7 Nov 2018 00:24:04 +0000 (19:24 -0500)]
[kern] Minor

5 years ago[kern] In Format1, adjust how kerning is done
Behdad Esfahbod [Tue, 6 Nov 2018 23:35:58 +0000 (18:35 -0500)]
[kern] In Format1, adjust how kerning is done

In a series of kerns in one action, kern all but last glyph forward,
and the last one backward.  Seems to better match what CoreText is doing.

Test cases, with GeezaPro Arabic:

$ ./hb-shape GeezaPro_10_10.ttc -u U+0631,U+0628
[u0628.beh=1+1415|u0631.reh=0@-202,0+700]

$ ./hb-shape GeezaPro_10_10.ttc -u U+0628,U+064F
[u064f.damma=0@0,-250+-250|u0628.beh=0@250,0+1665]

In a later change, I'll make kern machine avoid producing negative kerns.

5 years ago[kern] XXX Negate CrossKerning sign
Behdad Esfahbod [Tue, 6 Nov 2018 22:16:04 +0000 (17:16 -0500)]
[kern] XXX Negate CrossKerning sign

Not sure why, but seems to better match GeezaPro Arabic w CoreText.

Quite possibly I'm doing something very wrong...

5 years ago[kern] Implement CrossStream kerning
Behdad Esfahbod [Tue, 6 Nov 2018 19:48:42 +0000 (14:48 -0500)]
[kern] Implement CrossStream kerning

5 years ago[kern] Improve Format 2
Behdad Esfahbod [Tue, 6 Nov 2018 20:23:18 +0000 (15:23 -0500)]
[kern] Improve Format 2

Still disabled.

5 years agoMinor
Behdad Esfahbod [Tue, 6 Nov 2018 20:07:19 +0000 (15:07 -0500)]
Minor

5 years ago[kern] Minor
Behdad Esfahbod [Tue, 6 Nov 2018 18:32:13 +0000 (13:32 -0500)]
[kern] Minor

5 years ago[kern] Minor
Behdad Esfahbod [Tue, 6 Nov 2018 18:18:27 +0000 (13:18 -0500)]
[kern] Minor

5 years ago[kern/kerx] Fix trace numbering
Behdad Esfahbod [Tue, 6 Nov 2018 18:51:39 +0000 (13:51 -0500)]
[kern/kerx] Fix trace numbering

5 years ago[kern] Switch to dispatch
Behdad Esfahbod [Tue, 6 Nov 2018 17:11:45 +0000 (12:11 -0500)]
[kern] Switch to dispatch

5 years ago[kern] Refactor to include header in each subtable type
Behdad Esfahbod [Tue, 6 Nov 2018 17:07:15 +0000 (12:07 -0500)]
[kern] Refactor to include header in each subtable type

5 years ago[kern] Some more
Behdad Esfahbod [Tue, 6 Nov 2018 16:16:45 +0000 (11:16 -0500)]
[kern] Some more

5 years ago[kern] Renames
Behdad Esfahbod [Tue, 6 Nov 2018 16:13:40 +0000 (11:13 -0500)]
[kern] Renames

5 years agoAnother missing backlash
Khaled Hosny [Tue, 6 Nov 2018 16:10:56 +0000 (18:10 +0200)]
Another missing backlash

Did this ever work?

5 years agoAdd missing backslash
Khaled Hosny [Tue, 6 Nov 2018 16:07:47 +0000 (18:07 +0200)]
Add missing backslash

5 years ago[util] Fix up previous commit
Behdad Esfahbod [Tue, 6 Nov 2018 16:03:34 +0000 (11:03 -0500)]
[util] Fix up previous commit

5 years ago[util] Don't terminate string after a a 0 in -u
Behdad Esfahbod [Tue, 6 Nov 2018 15:49:19 +0000 (10:49 -0500)]
[util] Don't terminate string after a a 0 in -u

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

5 years ago[fuzzing] Fix test
Behdad Esfahbod [Tue, 6 Nov 2018 15:24:54 +0000 (10:24 -0500)]
[fuzzing] Fix test

5 years ago[fuzzing] Add make check-valgrind
Behdad Esfahbod [Tue, 6 Nov 2018 15:20:57 +0000 (10:20 -0500)]
[fuzzing] Add make check-valgrind

5 years ago[test] Minor
Behdad Esfahbod [Tue, 6 Nov 2018 15:20:36 +0000 (10:20 -0500)]
[test] Minor

5 years agoMinor
Behdad Esfahbod [Tue, 6 Nov 2018 15:03:38 +0000 (10:03 -0500)]
Minor

5 years ago[test] Fix -Weverything bot complain
Ebrahim Byagowi [Tue, 6 Nov 2018 08:12:47 +0000 (11:42 +0330)]
[test] Fix -Weverything bot complain

5 years ago[test] Test hb_ot_name_{list_names,get_utf8} on test-ot-name
Ebrahim Byagowi [Tue, 6 Nov 2018 07:56:30 +0000 (11:26 +0330)]
[test] Test hb_ot_name_{list_names,get_utf8} on test-ot-name

5 years agoFix link issue of some of the bots
Ebrahim Byagowi [Tue, 6 Nov 2018 07:47:14 +0000 (11:17 +0330)]
Fix link issue of some of the bots

e.g. https://circleci.com/gh/harfbuzz/harfbuzz/52410

5 years ago[mort] Fix table detection logic
Ebrahim Byagowi [Tue, 6 Nov 2018 05:46:28 +0000 (09:16 +0330)]
[mort] Fix table detection logic

mort really needs some initial tests at least.

5 years agoSimplify some more
Behdad Esfahbod [Tue, 6 Nov 2018 04:34:07 +0000 (23:34 -0500)]
Simplify some more

5 years ago[math] Shorten names a bit
Behdad Esfahbod [Tue, 6 Nov 2018 04:28:52 +0000 (23:28 -0500)]
[math] Shorten names a bit

5 years ago[ot-layout] Simplify GSUB/GPOS access
Behdad Esfahbod [Tue, 6 Nov 2018 04:26:29 +0000 (23:26 -0500)]
[ot-layout] Simplify GSUB/GPOS access

This concludes simplifying table access to face->table.XXXX.

5 years ago[ot-layout] Simplify GDEF access
Behdad Esfahbod [Tue, 6 Nov 2018 04:23:57 +0000 (23:23 -0500)]
[ot-layout] Simplify GDEF access

5 years ago[ot-layout] Simplify some access
Behdad Esfahbod [Tue, 6 Nov 2018 04:19:04 +0000 (23:19 -0500)]
[ot-layout] Simplify some access

5 years ago[ot-layout] Remove ensures
Behdad Esfahbod [Tue, 6 Nov 2018 04:11:46 +0000 (23:11 -0500)]
[ot-layout] Remove ensures

5 years ago[ot-font] Remove ensure
Behdad Esfahbod [Tue, 6 Nov 2018 04:10:37 +0000 (23:10 -0500)]
[ot-font] Remove ensure

5 years ago[ot-face] Remove a few ensures
Behdad Esfahbod [Tue, 6 Nov 2018 04:09:29 +0000 (23:09 -0500)]
[ot-face] Remove a few ensures

5 years ago[ot-face] Simplify more table access
Behdad Esfahbod [Tue, 6 Nov 2018 04:08:33 +0000 (23:08 -0500)]
[ot-face] Simplify more table access

5 years ago[ot-face] Simplify table access
Behdad Esfahbod [Tue, 6 Nov 2018 03:58:43 +0000 (22:58 -0500)]
[ot-face] Simplify table access

Yoohoo!

5 years ago[ot-face] Include hb-ot-face directly in hb_face_t
Behdad Esfahbod [Tue, 6 Nov 2018 03:39:50 +0000 (22:39 -0500)]
[ot-face] Include hb-ot-face directly in hb_face_t

Simplifying access coming next.

5 years ago[cmap] Push get_nominal_glyphs down into cmap accelerator
Behdad Esfahbod [Tue, 6 Nov 2018 00:49:54 +0000 (19:49 -0500)]
[cmap] Push get_nominal_glyphs down into cmap accelerator

5 years ago[cmap] Use hb_nonnullptr_t
Behdad Esfahbod [Tue, 6 Nov 2018 00:46:29 +0000 (19:46 -0500)]
[cmap] Use hb_nonnullptr_t

5 years ago2.1.1
Behdad Esfahbod [Mon, 5 Nov 2018 23:47:22 +0000 (18:47 -0500)]
2.1.1

5 years ago[fuzzing] Fuzz glyph-id etc in test-ot-face
Behdad Esfahbod [Mon, 5 Nov 2018 20:03:18 +0000 (15:03 -0500)]
[fuzzing] Fuzz glyph-id etc in test-ot-face

5 years ago[uniscribe] Fix use of deprecated API
Behdad Esfahbod [Mon, 5 Nov 2018 19:33:41 +0000 (14:33 -0500)]
[uniscribe] Fix use of deprecated API

5 years ago[cmap] Make null accelerator safe
Behdad Esfahbod [Mon, 5 Nov 2018 18:45:12 +0000 (13:45 -0500)]
[cmap] Make null accelerator safe

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

5 years agoAdd pointer magic operators to hb_atomic_ptr_t
Behdad Esfahbod [Mon, 5 Nov 2018 18:23:54 +0000 (13:23 -0500)]
Add pointer magic operators to hb_atomic_ptr_t

5 years agoFix const-confusion in hb_array_t as well
Behdad Esfahbod [Mon, 5 Nov 2018 18:23:07 +0000 (13:23 -0500)]
Fix const-confusion in hb_array_t as well

5 years ago[null] Tweak hb_nonnull_ptr_t some more
Behdad Esfahbod [Mon, 5 Nov 2018 18:13:39 +0000 (13:13 -0500)]
[null] Tweak hb_nonnull_ptr_t some more

5 years agoMinor
Behdad Esfahbod [Mon, 5 Nov 2018 17:59:32 +0000 (12:59 -0500)]
Minor

5 years ago[aat] Clean up ankr table include mess
Behdad Esfahbod [Sun, 4 Nov 2018 17:58:02 +0000 (12:58 -0500)]
[aat] Clean up ankr table include mess

5 years ago[test] Call test-ot-face.c test from hb-shape-fuzzer
Behdad Esfahbod [Sun, 4 Nov 2018 07:47:34 +0000 (02:47 -0500)]
[test] Call test-ot-face.c test from hb-shape-fuzzer

Should increase coverage...

5 years ago[test] More funcs in test-ot-face
Behdad Esfahbod [Sun, 4 Nov 2018 07:40:20 +0000 (02:40 -0500)]
[test] More funcs in test-ot-face

5 years agoClean up buffer->swap_buffers() calls
Behdad Esfahbod [Sun, 4 Nov 2018 07:25:07 +0000 (02:25 -0500)]
Clean up buffer->swap_buffers() calls

That function checks for buffer->successful already.  No need
to check at call site.

5 years agoFix >>
Behdad Esfahbod [Sun, 4 Nov 2018 01:45:39 +0000 (21:45 -0400)]
Fix >>

5 years agoFix "Warning: extra ";" ignored."
Behdad Esfahbod [Sun, 4 Nov 2018 01:41:50 +0000 (21:41 -0400)]
Fix "Warning: extra ";" ignored."

5 years agoRevert "Add operator char * to the naked array types as well"
Behdad Esfahbod [Sun, 4 Nov 2018 01:38:24 +0000 (21:38 -0400)]
Revert "Add operator char * to the naked array types as well"

This reverts commit db889c182ee5f54127285bfaab5bc94dafe46bda.

Was resulting in ambigious overloads...

5 years agoMinor
Behdad Esfahbod [Sun, 4 Nov 2018 01:07:39 +0000 (21:07 -0400)]
Minor

5 years ago[test] Add test for empty face
Behdad Esfahbod [Sun, 4 Nov 2018 00:50:56 +0000 (20:50 -0400)]
[test] Add test for empty face

5 years agoFix null accelerator's
Behdad Esfahbod [Sat, 3 Nov 2018 20:15:30 +0000 (16:15 -0400)]
Fix null accelerator's

Fixes all except for cmap.  To be done separately.

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

5 years agoAdd operator char * to the naked array types as well
Behdad Esfahbod [Sat, 3 Nov 2018 20:04:19 +0000 (16:04 -0400)]
Add operator char * to the naked array types as well

5 years agoAdd operator char * to hb_nonnull_ptr_t
Behdad Esfahbod [Sat, 3 Nov 2018 20:02:03 +0000 (16:02 -0400)]
Add operator char * to hb_nonnull_ptr_t

5 years agoTemplate casts in hb_nonnull_ptr_t
Behdad Esfahbod [Sat, 3 Nov 2018 19:59:13 +0000 (15:59 -0400)]
Template casts in hb_nonnull_ptr_t

5 years ago[blob] Allow null parent in create_sub_blob()
Behdad Esfahbod [Sat, 3 Nov 2018 19:49:37 +0000 (15:49 -0400)]
[blob] Allow null parent in create_sub_blob()

Like font and unicode.

5 years agoAdd hb_nonnull_ptr_t
Behdad Esfahbod [Sat, 3 Nov 2018 19:24:14 +0000 (15:24 -0400)]
Add hb_nonnull_ptr_t

Towards fixing https://github.com/harfbuzz/harfbuzz/issues/1146

5 years ago[kern] Third try fix access violation in Format3
Behdad Esfahbod [Sat, 3 Nov 2018 19:14:57 +0000 (15:14 -0400)]
[kern] Third try fix access violation in Format3

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

5 years ago[kern] Really fix access violation in Format3
Behdad Esfahbod [Sat, 3 Nov 2018 19:06:45 +0000 (15:06 -0400)]
[kern] Really fix access violation in Format3

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

5 years agoReplace most uses of is_inert with is_immutable
Behdad Esfahbod [Sat, 3 Nov 2018 19:03:06 +0000 (15:03 -0400)]
Replace most uses of is_inert with is_immutable

5 years ago[kern] Fix access violation in Format3
Behdad Esfahbod [Sat, 3 Nov 2018 18:58:54 +0000 (14:58 -0400)]
[kern] Fix access violation in Format3

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

5 years agoPort objects to use header.writable instead of immutable
Behdad Esfahbod [Sat, 3 Nov 2018 18:51:38 +0000 (14:51 -0400)]
Port objects to use header.writable instead of immutable

Saves 4 or 8 bytes per object on 64bit archs.

5 years ago[object] Add "writable"
Behdad Esfahbod [Sat, 3 Nov 2018 18:28:55 +0000 (14:28 -0400)]
[object] Add "writable"

5 years ago[BASE] Improvements (#1347)
Ebrahim Byagowi [Sat, 3 Nov 2018 18:58:30 +0000 (22:28 +0330)]
[BASE] Improvements (#1347)

5 years ago[fuzz] A new testcase
Ebrahim Byagowi [Sat, 3 Nov 2018 09:33:36 +0000 (13:03 +0330)]
[fuzz] A new testcase

5 years ago[os2] Capitalize table tag and struct
Khaled Hosny [Fri, 2 Nov 2018 21:06:00 +0000 (23:06 +0200)]
[os2] Capitalize table tag and struct

Other tables follow the case of the OT tag, except this one.

5 years ago[kern] Implement Format1
Behdad Esfahbod [Fri, 2 Nov 2018 18:47:42 +0000 (14:47 -0400)]
[kern] Implement Format1

Also, implement backwards kerning for Format1 in kern and kerx.

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

5 years ago[kern] Set subtable on sanitizer
Behdad Esfahbod [Fri, 2 Nov 2018 18:43:38 +0000 (14:43 -0400)]
[kern] Set subtable on sanitizer

5 years ago[kern] Respect more flags
Behdad Esfahbod [Fri, 2 Nov 2018 18:26:04 +0000 (14:26 -0400)]
[kern] Respect more flags

5 years ago[kern] Minor
Behdad Esfahbod [Fri, 2 Nov 2018 17:57:41 +0000 (13:57 -0400)]
[kern] Minor

We like check_struct() more.

5 years agoRemove pointer cast operators from ArrayOf<>
Behdad Esfahbod [Fri, 2 Nov 2018 17:47:33 +0000 (13:47 -0400)]
Remove pointer cast operators from ArrayOf<>

ArrayOf<>, unlike UnsizedArrayOf<>, has data before the array.
This was confusing.  Remove.

5 years ago[kern] Comment
Behdad Esfahbod [Fri, 2 Nov 2018 17:26:15 +0000 (13:26 -0400)]
[kern] Comment

5 years ago[kern] Push apply loop to each subtable
Behdad Esfahbod [Fri, 2 Nov 2018 17:23:54 +0000 (13:23 -0400)]
[kern] Push apply loop to each subtable

5 years ago[kern] Remove accelerator
Behdad Esfahbod [Fri, 2 Nov 2018 16:47:55 +0000 (12:47 -0400)]
[kern] Remove accelerator

It wasn't doing anything.

5 years agoUse as_array in more places
Behdad Esfahbod [Fri, 2 Nov 2018 16:23:26 +0000 (12:23 -0400)]
Use as_array in more places

5 years agoFix &array_of<>
Behdad Esfahbod [Fri, 2 Nov 2018 16:14:21 +0000 (12:14 -0400)]
Fix &array_of<>

5 years agoFixup
Behdad Esfahbod [Fri, 2 Nov 2018 16:00:55 +0000 (12:00 -0400)]
Fixup

5 years ago[kern] Implement Format3
Behdad Esfahbod [Fri, 2 Nov 2018 15:56:55 +0000 (11:56 -0400)]
[kern] Implement Format3

Untested.

5 years agoAdd cast operators to hb_array_t
Behdad Esfahbod [Fri, 2 Nov 2018 15:51:21 +0000 (11:51 -0400)]
Add cast operators to hb_array_t