platform/upstream/libHarfBuzzSharp.git
5 years agoAdd hb_static_size(T)
Behdad Esfahbod [Sat, 24 Nov 2018 05:25:40 +0000 (00:25 -0500)]
Add hb_static_size(T)

5 years agoAdd template-function convenience macros
Behdad Esfahbod [Sat, 24 Nov 2018 05:22:21 +0000 (00:22 -0500)]
Add template-function convenience macros

5 years agoAdd null bytes for CmapSubtableLongGroup
Behdad Esfahbod [Sat, 24 Nov 2018 00:58:49 +0000 (19:58 -0500)]
Add null bytes for CmapSubtableLongGroup

5 years agoRemove lsearch for small TableDirectorys
Behdad Esfahbod [Fri, 23 Nov 2018 21:24:28 +0000 (16:24 -0500)]
Remove lsearch for small TableDirectorys

5 years ago[arrays] Add as_array() to hb_vector_t<>
Behdad Esfahbod [Fri, 23 Nov 2018 21:07:43 +0000 (16:07 -0500)]
[arrays] Add as_array() to hb_vector_t<>

5 years ago[arrays] Add as_array() to ArrayOf<>
Behdad Esfahbod [Fri, 23 Nov 2018 21:04:56 +0000 (16:04 -0500)]
[arrays] Add as_array() to ArrayOf<>

5 years ago[kern] Don't enforce length of last subtable
Behdad Esfahbod [Fri, 23 Nov 2018 20:24:17 +0000 (15:24 -0500)]
[kern] Don't enforce length of last subtable

5 years agoMerge pull request #1407 from harfbuzz/at-sign
Behdad Esfahbod [Fri, 23 Nov 2018 18:49:34 +0000 (13:49 -0500)]
Merge pull request #1407 from harfbuzz/at-sign

Don't canonicalize '@' to '-' in language tags

5 years agoDon't canonicalize '@' to '-' in language tags
David Corbett [Fri, 23 Nov 2018 18:21:22 +0000 (13:21 -0500)]
Don't canonicalize '@' to '-' in language tags

Fixes #1406.

5 years ago[aat] Update expectation
Ebrahim Byagowi [Fri, 23 Nov 2018 16:28:56 +0000 (19:58 +0330)]
[aat] Update expectation

5 years ago[aat] Disable mark advance zeroing if kern table has state-machines
Behdad Esfahbod [Fri, 23 Nov 2018 16:10:17 +0000 (11:10 -0500)]
[aat] Disable mark advance zeroing if kern table has state-machines

Geeza Pro for example, relies on that for fancy mark positioning.

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

5 years agoMinor
Behdad Esfahbod [Fri, 23 Nov 2018 15:45:44 +0000 (10:45 -0500)]
Minor

5 years ago[aat] Add macOS specific tests (#1404)
Ebrahim Byagowi [Fri, 23 Nov 2018 12:10:05 +0000 (15:40 +0330)]
[aat] Add macOS specific tests (#1404)

5 years ago[use] Minor clarification
Behdad Esfahbod [Fri, 23 Nov 2018 03:47:51 +0000 (22:47 -0500)]
[use] Minor clarification

5 years agoMinor tweak to FLAG64
Behdad Esfahbod [Fri, 23 Nov 2018 03:40:57 +0000 (22:40 -0500)]
Minor tweak to FLAG64

5 years agoMerge pull request #1291 from harfbuzz/use-reordering
Behdad Esfahbod [Fri, 23 Nov 2018 03:39:12 +0000 (22:39 -0500)]
Merge pull request #1291 from harfbuzz/use-reordering

[use] Fix reordering

5 years ago[cmap] Move code around
Behdad Esfahbod [Fri, 23 Nov 2018 03:17:49 +0000 (22:17 -0500)]
[cmap] Move code around

5 years ago[morx/kerx] Limit range to subtable when sanitizing
Behdad Esfahbod [Fri, 23 Nov 2018 03:16:12 +0000 (22:16 -0500)]
[morx/kerx] Limit range to subtable when sanitizing

5 years ago[sanitizer] Add reset_object(), make set_object() do bounds-check
Behdad Esfahbod [Fri, 23 Nov 2018 03:12:36 +0000 (22:12 -0500)]
[sanitizer] Add reset_object(), make set_object() do bounds-check

Affects morx/kerx run-time only currently.  Will adjust their sanitize next.

5 years ago[kerx] Make sure subtables are non-zero-length
Behdad Esfahbod [Fri, 23 Nov 2018 03:02:19 +0000 (22:02 -0500)]
[kerx] Make sure subtables are non-zero-length

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

5 years ago[GSUB] Don't flush glyphset during recursion in closure()
Behdad Esfahbod [Fri, 23 Nov 2018 02:30:04 +0000 (21:30 -0500)]
[GSUB] Don't flush glyphset during recursion in closure()

See comment.

Supercedes https://github.com/harfbuzz/harfbuzz/pull/1401
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11366

5 years ago[subset] add fuzzer testcase.
Garret Rieger [Mon, 19 Nov 2018 21:00:24 +0000 (13:00 -0800)]
[subset] add fuzzer testcase.

5 years ago[set] Rename
Behdad Esfahbod [Fri, 23 Nov 2018 02:20:39 +0000 (21:20 -0500)]
[set] Rename

5 years agoEnforce requiring null_size even if min_size is 0
Behdad Esfahbod [Thu, 22 Nov 2018 23:07:59 +0000 (18:07 -0500)]
Enforce requiring null_size even if min_size is 0

This concludes null-size enforcement changes

5 years agoAllow non-nullable OffsetTo<> to non-Null'able objects
Behdad Esfahbod [Thu, 22 Nov 2018 23:07:36 +0000 (18:07 -0500)]
Allow non-nullable OffsetTo<> to non-Null'able objects

5 years ago[glyf] Don't mark structs UNBOUNDED
Behdad Esfahbod [Thu, 22 Nov 2018 22:56:51 +0000 (17:56 -0500)]
[glyf] Don't mark structs UNBOUNDED

See comments.

5 years agoMark UnsizedArrayOf<> as UNBOUNDED
Behdad Esfahbod [Thu, 22 Nov 2018 22:53:29 +0000 (17:53 -0500)]
Mark UnsizedArrayOf<> as UNBOUNDED

Since min_size is 0, Null() still accepts this type.

5 years ago[ot-shape] Simplify logic
Behdad Esfahbod [Thu, 22 Nov 2018 22:31:07 +0000 (17:31 -0500)]
[ot-shape] Simplify logic

5 years agoMove
Behdad Esfahbod [Thu, 22 Nov 2018 21:21:49 +0000 (16:21 -0500)]
Move

5 years ago[aat] Zero mark advances if decided so even if there's cross-kerning
Behdad Esfahbod [Thu, 22 Nov 2018 21:20:29 +0000 (16:20 -0500)]
[aat] Zero mark advances if decided so even if there's cross-kerning

Cross-kerning can only take care of positioning vertically.  It doesn't
adjust mark advance...

5 years ago[aat] Tweak fallback positioning logic when applying morx
Behdad Esfahbod [Thu, 22 Nov 2018 20:52:29 +0000 (15:52 -0500)]
[aat] Tweak fallback positioning logic when applying morx

Such that for Indic-like scripts (eg. Khmer), we don't do any fallback mark
advance-zeroing / positioning, but we do for Latin, etc.  Reuses preferences
of our script-specific OpenType shapers for those.

Fixes regression: https://github.com/harfbuzz/harfbuzz/issues/1393
Which means, fixes again: https://github.com/harfbuzz/harfbuzz/issues/1264
While not regressing: https://github.com/harfbuzz/harfbuzz/issues/1357

5 years ago[myanmar] Minor move
Behdad Esfahbod [Thu, 22 Nov 2018 19:46:39 +0000 (14:46 -0500)]
[myanmar] Minor move

5 years ago[myanmar] If there's no GSUB table, pick myanmar shaper
Behdad Esfahbod [Thu, 22 Nov 2018 19:45:46 +0000 (14:45 -0500)]
[myanmar] If there's no GSUB table, pick myanmar shaper

Needed for morx+kern mark-zeroing interaction.  All other scripts
work this way.

5 years ago[myanmar] Remove myanmar_old shaper
Behdad Esfahbod [Thu, 22 Nov 2018 19:41:01 +0000 (14:41 -0500)]
[myanmar] Remove myanmar_old shaper

Over time it has become the same as default shaper.  So, remove.

5 years agoFix spurious gcc warnings
Behdad Esfahbod [Thu, 22 Nov 2018 06:53:36 +0000 (01:53 -0500)]
Fix spurious gcc warnings

../../src/hb-null.hh:53:39: warning: enum constant in boolean context [-Wint-in-bool-context]

5 years agoMore
Behdad Esfahbod [Thu, 22 Nov 2018 06:49:12 +0000 (01:49 -0500)]
More

This makes more of the gcc spurious warning:

../../src/hb-null.hh:53:39: warning: enum constant in boolean context [-Wint-in-bool-context]

But not going to let that defeat correct code.  Type to switch to clang
as my main compiler...

5 years agoFix up recent change
Behdad Esfahbod [Thu, 22 Nov 2018 06:44:27 +0000 (01:44 -0500)]
Fix up recent change

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

5 years agoMinor
Behdad Esfahbod [Thu, 22 Nov 2018 06:25:34 +0000 (01:25 -0500)]
Minor

5 years agoMinor
Behdad Esfahbod [Thu, 22 Nov 2018 06:22:33 +0000 (01:22 -0500)]
Minor

5 years agoDisallow taking Null() of unbounded structs
Behdad Esfahbod [Thu, 22 Nov 2018 06:18:55 +0000 (01:18 -0500)]
Disallow taking Null() of unbounded structs

Not sure I've marked all such structs.  To be done as we discover.

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

5 years agoUse Type::null_size for our structs in Null(), sizeof() for other types
Behdad Esfahbod [Thu, 22 Nov 2018 06:10:22 +0000 (01:10 -0500)]
Use Type::null_size for our structs in Null(), sizeof() for other types

5 years agoOne more time..
Behdad Esfahbod [Thu, 22 Nov 2018 06:05:02 +0000 (01:05 -0500)]
One more time..

5 years agoFix bots happy again, hopefully
Behdad Esfahbod [Thu, 22 Nov 2018 05:39:14 +0000 (00:39 -0500)]
Fix bots happy again, hopefully

So, our fallback static_assert cannot be had more than once per line
of source.

5 years agoRevert alignof() == 1 check
Behdad Esfahbod [Thu, 22 Nov 2018 05:21:49 +0000 (00:21 -0500)]
Revert alignof() == 1 check

Bots not happy with using "this" inside assertion...

This reverts 2656644887e77a9d814bb12374af3c26b42fd935

5 years ago..
Behdad Esfahbod [Thu, 22 Nov 2018 04:46:09 +0000 (23:46 -0500)]
..

5 years agoMinor
Behdad Esfahbod [Thu, 22 Nov 2018 04:42:31 +0000 (23:42 -0500)]
Minor

5 years agoMinor
Behdad Esfahbod [Thu, 22 Nov 2018 04:30:50 +0000 (23:30 -0500)]
Minor

5 years agoMinor
Behdad Esfahbod [Thu, 22 Nov 2018 04:25:06 +0000 (23:25 -0500)]
Minor

5 years agoRemove DEFINE_SIZE_ARRAY2
Behdad Esfahbod [Thu, 22 Nov 2018 04:23:49 +0000 (23:23 -0500)]
Remove DEFINE_SIZE_ARRAY2

5 years agoCheck alignof() structs are 1
Behdad Esfahbod [Thu, 22 Nov 2018 04:23:21 +0000 (23:23 -0500)]
Check alignof() structs are 1

5 years agoWhitespace
Behdad Esfahbod [Thu, 22 Nov 2018 04:19:00 +0000 (23:19 -0500)]
Whitespace

5 years agoMerge pull request #1400 from harfbuzz/sharada-sandhi-mark
Behdad Esfahbod [Wed, 21 Nov 2018 22:27:27 +0000 (17:27 -0500)]
Merge pull request #1400 from harfbuzz/sharada-sandhi-mark

Test U+111C9 SHARADA SANDHI MARK

5 years agoTest U+111C9 SHARADA SANDHI MARK
David Corbett [Wed, 21 Nov 2018 21:33:45 +0000 (16:33 -0500)]
Test U+111C9 SHARADA SANDHI MARK

5 years agoMerge pull request #1399 from harfbuzz/sharada-sandhi-mark
Behdad Esfahbod [Wed, 21 Nov 2018 21:12:32 +0000 (16:12 -0500)]
Merge pull request #1399 from harfbuzz/sharada-sandhi-mark

Fix USE categories for U+111C9 SHARADA SANDHI MARK

5 years agoAllow defining HB_USE_ATEXIT to 0
Behdad Esfahbod [Wed, 21 Nov 2018 17:32:48 +0000 (12:32 -0500)]
Allow defining HB_USE_ATEXIT to 0

That's better use of that value than requiring extra macro HB_NO_ATEXIT

5 years agoFix USE categories for U+111C9 SHARADA SANDHI MARK
David Corbett [Wed, 21 Nov 2018 16:35:44 +0000 (11:35 -0500)]
Fix USE categories for U+111C9 SHARADA SANDHI MARK

5 years ago[var] Deprecated axis enumeration API and add new version
Behdad Esfahbod [Wed, 21 Nov 2018 01:40:55 +0000 (20:40 -0500)]
[var] Deprecated axis enumeration API and add new version

New version has axis flags.

New API:
+hb_ot_var_axis_info_t
+hb_ot_var_find_axis_info()
+hb_ot_var_get_axis_infos()

Deprecated API:
-HB_OT_VAR_NO_AXIS_INDEX
-hb_ot_var_axis_t
-hb_ot_var_find_axis()
-hb_ot_var_get_axes()

5 years agoRemove newly-added -hb_ot_var_axis_get_flags()
Behdad Esfahbod [Tue, 20 Nov 2018 16:42:25 +0000 (11:42 -0500)]
Remove newly-added -hb_ot_var_axis_get_flags()

5 years ago[var] Make sure hb_ot_var_axis_flags_t is int-sized
Behdad Esfahbod [Tue, 20 Nov 2018 16:40:43 +0000 (11:40 -0500)]
[var] Make sure hb_ot_var_axis_flags_t is int-sized

5 years ago[var] Move code
Behdad Esfahbod [Tue, 20 Nov 2018 16:33:33 +0000 (11:33 -0500)]
[var] Move code

5 years agoMerge pull request #1397 from harfbuzz/small-emoji-table
Behdad Esfahbod [Tue, 20 Nov 2018 21:29:30 +0000 (16:29 -0500)]
Merge pull request #1397 from harfbuzz/small-emoji-table

Shrink the emoji table by merging adjacent ranges

5 years agoShrink the emoji table by merging adjacent ranges
David Corbett [Tue, 20 Nov 2018 20:41:45 +0000 (15:41 -0500)]
Shrink the emoji table by merging adjacent ranges

5 years ago[var] Fix type of coords returned
Behdad Esfahbod [Tue, 20 Nov 2018 16:16:23 +0000 (11:16 -0500)]
[var] Fix type of coords returned

Ouch.  Wonder how none of the bots caught the float->int truncation.

5 years ago[travis] Update Coverity token
Behdad Esfahbod [Tue, 20 Nov 2018 06:38:23 +0000 (01:38 -0500)]
[travis] Update Coverity token

5 years agoAdd codecov.io badge
Behdad Esfahbod [Tue, 20 Nov 2018 06:21:36 +0000 (01:21 -0500)]
Add codecov.io badge

5 years agoFix Codacy "issues"
Behdad Esfahbod [Tue, 20 Nov 2018 06:16:08 +0000 (01:16 -0500)]
Fix Codacy "issues"

5 years ago[travis] Another push for codecov.io after setting token
Behdad Esfahbod [Tue, 20 Nov 2018 06:06:50 +0000 (01:06 -0500)]
[travis] Another push for codecov.io after setting token

5 years ago[travis] Add codecov.io
Behdad Esfahbod [Tue, 20 Nov 2018 06:03:42 +0000 (01:03 -0500)]
[travis] Add codecov.io

5 years ago[use] Fix reordering
David Corbett [Sat, 20 Oct 2018 19:02:26 +0000 (15:02 -0400)]
[use] Fix reordering

Fixes #1235.

5 years ago[fvar] Add named-instance API
Behdad Esfahbod [Mon, 19 Nov 2018 19:27:19 +0000 (14:27 -0500)]
[fvar] Add named-instance API

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

5 years agoFix build
Behdad Esfahbod [Mon, 19 Nov 2018 18:32:48 +0000 (13:32 -0500)]
Fix build

5 years ago[fvar] Rewrite sanitize
Behdad Esfahbod [Mon, 19 Nov 2018 18:09:53 +0000 (13:09 -0500)]
[fvar] Rewrite sanitize

5 years ago[fvar] Use hb_array_t for axes
Behdad Esfahbod [Mon, 19 Nov 2018 18:04:43 +0000 (13:04 -0500)]
[fvar] Use hb_array_t for axes

5 years ago[fvar] Minor
Behdad Esfahbod [Mon, 19 Nov 2018 17:53:53 +0000 (12:53 -0500)]
[fvar] Minor

5 years ago[ot-var] Add hb_ot_var_axis_get_flags()
Behdad Esfahbod [Mon, 19 Nov 2018 17:36:56 +0000 (12:36 -0500)]
[ot-var] Add hb_ot_var_axis_get_flags()

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

New API:
+hb_ot_var_axis_flags_t
+hb_ot_var_axis_get_flags

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