platform/upstream/libHarfBuzzSharp.git
5 years agoMerge branch 'master' into cff-subset
Michiharu Ariza [Tue, 23 Oct 2018 18:25:51 +0000 (11:25 -0700)]
Merge branch 'master' into cff-subset

5 years ago[trak] Allow disabling tracking for ranges of text
Behdad Esfahbod [Tue, 23 Oct 2018 10:10:56 +0000 (03:10 -0700)]
[trak] Allow disabling tracking for ranges of text

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

5 years agoWhen parsing feature ranges, accept ';' instead of ':'
Behdad Esfahbod [Tue, 23 Oct 2018 10:07:48 +0000 (03:07 -0700)]
When parsing feature ranges, accept ';' instead of ':'

5 years agoMake tracking optout possible using 'trak' ot feature
Ebrahim Byagowi [Mon, 22 Oct 2018 21:22:05 +0000 (00:52 +0330)]
Make tracking optout possible using 'trak' ot feature

So '--features=-trak' or 'font-feature-settings: 'trak' 0;' can prevent
applying of tracking if used.

5 years agoTouch up on previous commit
Behdad Esfahbod [Tue, 23 Oct 2018 09:51:42 +0000 (02:51 -0700)]
Touch up on previous commit

https://github.com/harfbuzz/harfbuzz/pull/1273

5 years ago[use] Prohibit visually ambiguous vowel sequences
David Corbett [Fri, 12 Oct 2018 20:54:54 +0000 (16:54 -0400)]
[use] Prohibit visually ambiguous vowel sequences

5 years ago[VORG] Hook up to hb-ot-font's v_origin
Behdad Esfahbod [Tue, 23 Oct 2018 09:19:32 +0000 (02:19 -0700)]
[VORG] Hook up to hb-ot-font's v_origin

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

Test added with NotoSansCJK, eg. with U+FF38.

5 years ago[VORG] Add get_y_origin()
Behdad Esfahbod [Tue, 23 Oct 2018 09:09:42 +0000 (02:09 -0700)]
[VORG] Add get_y_origin()

Unhooked.

5 years ago[VORG] Add VORG table
Behdad Esfahbod [Tue, 23 Oct 2018 08:58:59 +0000 (01:58 -0700)]
[VORG] Add VORG table

Cherry-picked from cff-subset branch.

5 years ago[morx] Add a few debug messages to Ligature chain
Behdad Esfahbod [Tue, 23 Oct 2018 08:32:08 +0000 (01:32 -0700)]
[morx] Add a few debug messages to Ligature chain

5 years ago[morx] Clear stack upon underflow when acting ligatures
Behdad Esfahbod [Tue, 23 Oct 2018 07:39:44 +0000 (00:39 -0700)]
[morx] Clear stack upon underflow when acting ligatures

5 years ago[test/text-rendering-tests] Update from upstream
Behdad Esfahbod [Tue, 23 Oct 2018 06:41:47 +0000 (23:41 -0700)]
[test/text-rendering-tests] Update from upstream

5 years ago[morx] Leave ligature on stack after ligating
Behdad Esfahbod [Tue, 23 Oct 2018 06:38:34 +0000 (23:38 -0700)]
[morx] Leave ligature on stack after ligating

Test with Apple Color Emoji.ttf of ~66MB and following sequence:

./hb-shape Apple\ Color\ Emoji-old.ttf --font-funcs=ot -u U+1F468,200d,U+1F469,200d,U+1F467,200d,1f466

Should form full family if matching works correctly.  It first makes
family of three, then makes family of four out of that and the last
two characters.

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

5 years ago[ci] Disable llvm-gcc
Ebrahim Byagowi [Tue, 23 Oct 2018 05:53:48 +0000 (09:23 +0330)]
[ci] Disable llvm-gcc

  #define Null(Type) Null<typename hb_remove_const<typename hb_remove_reference<Type>::value>::value>()

raises:
  hb-blob.cc: In function 'hb_blob_t* hb_blob_get_empty()':
  hb-blob.cc:194: error: using 'typename' outside of template
  hb-blob.cc:194: error: using 'typename' outside of template

Removing "typename"s fixes the issue but makes newer compiler fail apparently.

Probably downstream can patch that locally till we get a solution.

5 years agoUnbreak builds
Behdad Esfahbod [Tue, 23 Oct 2018 04:49:42 +0000 (21:49 -0700)]
Unbreak builds

5 years agoAdd hb_array<>() specialization for UnsizedArrayOf
Behdad Esfahbod [Tue, 23 Oct 2018 04:33:18 +0000 (21:33 -0700)]
Add hb_array<>() specialization for UnsizedArrayOf

Related https://github.com/harfbuzz/harfbuzz/issues/1301

5 years agoAdd hb_array<>()
Behdad Esfahbod [Tue, 23 Oct 2018 04:27:45 +0000 (21:27 -0700)]
Add hb_array<>()

Simplifies transient object creation.

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

5 years ago[color] Use Index for colorIdx
Behdad Esfahbod [Tue, 23 Oct 2018 04:22:25 +0000 (21:22 -0700)]
[color] Use Index for colorIdx

Doesn't matter, but matches the description.

5 years agoRemove const and references when binding Null()
Behdad Esfahbod [Tue, 23 Oct 2018 04:18:27 +0000 (21:18 -0700)]
Remove const and references when binding Null()

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

Removes anomaly I was seeing in cpal table trying to use implicit Null(NameID).

5 years ago[color] Add HB_COLOR
Behdad Esfahbod [Tue, 23 Oct 2018 01:20:57 +0000 (18:20 -0700)]
[color] Add HB_COLOR

Normally I would have added to_string / from_string like other types
have.  But since we don't use hb_color_t much, I'm not going to do that.
Although, if we did, we could use it in hb-view to parse colors...

5 years ago[color] Finish reviewing / revamping CPAL
Behdad Esfahbod [Mon, 22 Oct 2018 23:55:12 +0000 (16:55 -0700)]
[color] Finish reviewing / revamping CPAL

Now to hb_color_t.

5 years agofix build attempt ^4
Michiharu Ariza [Mon, 22 Oct 2018 23:37:39 +0000 (16:37 -0700)]
fix build attempt ^4

5 years ago[color] Minor
Behdad Esfahbod [Mon, 22 Oct 2018 23:35:03 +0000 (16:35 -0700)]
[color] Minor

5 years ago[color] Rely on CPALV1Tail Null object
Behdad Esfahbod [Mon, 22 Oct 2018 23:30:30 +0000 (16:30 -0700)]
[color] Rely on CPALV1Tail Null object

5 years agoRemove const from hb_array_t details
Behdad Esfahbod [Mon, 22 Oct 2018 23:18:34 +0000 (16:18 -0700)]
Remove const from hb_array_t details

Will come in through <T> if desired.

5 years ago[color] Use hb_array_t in CPAL
Behdad Esfahbod [Mon, 22 Oct 2018 23:16:21 +0000 (16:16 -0700)]
[color] Use hb_array_t in CPAL

Doesn't work though, ouch :(.  Need to figure out if it's unreasonable
to expect Null(T) inside hb_array_t<T> to see the later specialization
of Null for NameID.

5 years ago[color] Check for null CPAL arrays
Behdad Esfahbod [Mon, 22 Oct 2018 21:54:55 +0000 (14:54 -0700)]
[color] Check for null CPAL arrays

We cannot use a nullable offset here though.

5 years ago[color] More CPAL rename
Behdad Esfahbod [Mon, 22 Oct 2018 21:51:40 +0000 (14:51 -0700)]
[color] More CPAL rename

5 years ago[color] More CPAL rename
Behdad Esfahbod [Mon, 22 Oct 2018 21:46:21 +0000 (14:46 -0700)]
[color] More CPAL rename

5 years ago[color] Rename vars in CPAL
Behdad Esfahbod [Mon, 22 Oct 2018 21:43:12 +0000 (14:43 -0700)]
[color] Rename vars in CPAL

5 years agofix build attempt ^3
Michiharu Ariza [Mon, 22 Oct 2018 23:20:04 +0000 (16:20 -0700)]
fix build attempt ^3

5 years agofix build attempt ^2
Michiharu Ariza [Mon, 22 Oct 2018 22:52:37 +0000 (15:52 -0700)]
fix build attempt ^2

5 years agofix build attempt
Michiharu Ariza [Mon, 22 Oct 2018 22:23:39 +0000 (15:23 -0700)]
fix build attempt

5 years agoAdopt dump-emoji with latest unreleased APIs changes (#1297)
Ebrahim Byagowi [Mon, 22 Oct 2018 22:03:45 +0000 (01:33 +0330)]
Adopt dump-emoji with latest unreleased APIs changes (#1297)

5 years ago[color] Revamp palette API
Behdad Esfahbod [Mon, 22 Oct 2018 20:02:04 +0000 (13:02 -0700)]
[color] Revamp palette API

5 years ago[color] Rewrite colr access
Behdad Esfahbod [Mon, 22 Oct 2018 19:40:38 +0000 (12:40 -0700)]
[color] Rewrite colr access

COLR table has one function: return layers for a glyph, and we expose exactly
that, so should just wire it through.  Also use sub_array() for verifiable
safety.

Also, BaseGlyphRecord's null object is enough.  We don't need to special-case
the not-found.

5 years ago[colr] Add hb_ot_color_layer_t
Behdad Esfahbod [Mon, 22 Oct 2018 17:29:01 +0000 (10:29 -0700)]
[colr] Add hb_ot_color_layer_t

We never return parallel arrays from functions.  That's inconvenient
and hard to bind.

5 years ago[color] Rename / reorder a bit
Behdad Esfahbod [Mon, 22 Oct 2018 02:23:11 +0000 (19:23 -0700)]
[color] Rename / reorder a bit

Implement has_data() for realz.

5 years agoMerge branch 'master' into cff-subset
Michiharu Ariza [Mon, 22 Oct 2018 20:06:47 +0000 (13:06 -0700)]
Merge branch 'master' into cff-subset

5 years ago[cpal] Touch up palette flags
Behdad Esfahbod [Mon, 22 Oct 2018 02:08:25 +0000 (19:08 -0700)]
[cpal] Touch up palette flags

5 years ago[color] Rename "gid" to "glyph"
Behdad Esfahbod [Mon, 22 Oct 2018 02:02:47 +0000 (19:02 -0700)]
[color] Rename "gid" to "glyph"

We don't expose "gid" in API.

5 years ago[colr] Move sanitize
Behdad Esfahbod [Mon, 22 Oct 2018 00:43:29 +0000 (17:43 -0700)]
[colr] Move sanitize

5 years agoAdd chromacheck Emoji test fonts and minor preparations (#1294)
Ebrahim Byagowi [Mon, 22 Oct 2018 18:37:59 +0000 (22:07 +0330)]
Add chromacheck Emoji test fonts and minor preparations (#1294)

5 years agoMerge branch 'master' into cff-subset
Michiharu Ariza [Mon, 22 Oct 2018 16:57:20 +0000 (09:57 -0700)]
Merge branch 'master' into cff-subset

5 years ago[colr] Move compare function into a static
Behdad Esfahbod [Mon, 22 Oct 2018 00:42:51 +0000 (17:42 -0700)]
[colr] Move compare function into a static

Not sure if MSVC would be unhappy about this.

5 years ago[colr] Minor
Behdad Esfahbod [Mon, 22 Oct 2018 00:41:49 +0000 (17:41 -0700)]
[colr] Minor

5 years ago[colr] Move sanitize() to right place
Behdad Esfahbod [Mon, 22 Oct 2018 00:39:39 +0000 (17:39 -0700)]
[colr] Move sanitize() to right place

Sanitize always comes just before data member definitions, so
it's easy to cross-check.

5 years ago[colr] Touch up a bit
Behdad Esfahbod [Mon, 22 Oct 2018 00:39:00 +0000 (17:39 -0700)]
[colr] Touch up a bit

When a struct is plain old data with no references, etc, it's okay
to mark its members public.

5 years ago[color] Fix documentation a bit
Khaled Hosny [Sun, 21 Oct 2018 11:29:40 +0000 (13:29 +0200)]
[color] Fix documentation a bit

5 years agoMinor
Ebrahim Byagowi [Sun, 21 Oct 2018 08:16:51 +0000 (11:46 +0330)]
Minor

5 years agoRemove _palette_entry_count as can be done with _palette_colors
Ebrahim Byagowi [Sun, 21 Oct 2018 06:47:34 +0000 (10:17 +0330)]
Remove _palette_entry_count as can be done with _palette_colors

5 years ago[test] Test hb_ot_color_has_{colr,cpal}_data
Ebrahim Byagowi [Sun, 21 Oct 2018 06:21:15 +0000 (09:51 +0330)]
[test] Test hb_ot_color_has_{colr,cpal}_data

5 years ago[CPAL] Add palette entry and enable palette flag API
Ebrahim Byagowi [Sun, 21 Oct 2018 06:14:16 +0000 (09:44 +0330)]
[CPAL] Add palette entry and enable palette flag API

5 years agoAdd API test for hb_ot_color_get_color_layers
Ebrahim Byagowi [Sun, 21 Oct 2018 05:18:07 +0000 (08:48 +0330)]
Add API test for hb_ot_color_get_color_layers

5 years agoAddress COLR/CPAL reviews and revive cpal_v1 tests
Ebrahim Byagowi [Sun, 21 Oct 2018 04:56:40 +0000 (08:26 +0330)]
Address COLR/CPAL reviews and revive cpal_v1 tests

5 years ago[color] Fix alpha channel value and adjust spaces
Ebrahim Byagowi [Sat, 20 Oct 2018 14:20:39 +0000 (17:50 +0330)]
[color] Fix alpha channel value and adjust spaces

5 years ago[dump-emoji] Formatting
Ebrahim Byagowi [Fri, 19 Oct 2018 21:01:04 +0000 (00:31 +0330)]
[dump-emoji] Formatting

5 years ago[test] Use hb_test_open_font_file
Ebrahim Byagowi [Fri, 19 Oct 2018 15:00:01 +0000 (18:30 +0330)]
[test] Use hb_test_open_font_file

5 years agoAdd three macros for separating color channels
Ebrahim Byagowi [Fri, 19 Oct 2018 14:53:42 +0000 (18:23 +0330)]
Add three macros for separating color channels

5 years agoMake ot-color tests pass
Ebrahim Byagowi [Fri, 19 Oct 2018 14:14:06 +0000 (17:44 +0330)]
Make ot-color tests pass

5 years ago[color] Minimal API for COLR/CPAL
Khaled Hosny [Tue, 1 May 2018 15:16:46 +0000 (17:16 +0200)]
[color] Minimal API for COLR/CPAL

5 years ago[fuzz] Add a found hb-subset testcase
Ebrahim Byagowi [Mon, 22 Oct 2018 07:21:37 +0000 (10:51 +0330)]
[fuzz] Add a found hb-subset testcase

5 years ago[ci] Disable flaky -windows-x64 and add a comment for iOS
Ebrahim Byagowi [Sun, 21 Oct 2018 21:14:28 +0000 (00:44 +0330)]
[ci] Disable flaky -windows-x64 and add a comment for iOS

5 years ago[fuzz] Add more testcases
Ebrahim Byagowi [Sun, 21 Oct 2018 08:07:38 +0000 (11:37 +0330)]
[fuzz] Add more testcases

Fixed already but better to have anyway.

One didn't have minimized but it was only 164 B, so

5 years agoMerge pull request #1290 from ebraminio/testopenfont
Ebrahim Byagowi [Sun, 21 Oct 2018 08:06:41 +0000 (11:36 +0330)]
Merge pull request #1290 from ebraminio/testopenfont

[test] Unify font file opening across the tests

5 years ago[test] Unify font file opening across the tests
Ebrahim Byagowi [Sun, 21 Oct 2018 07:37:17 +0000 (11:07 +0330)]
[test] Unify font file opening across the tests

5 years ago[fuzzing] Add more font
Behdad Esfahbod [Sun, 21 Oct 2018 03:39:56 +0000 (20:39 -0700)]
[fuzzing] Add more font

5 years ago[docs] Minor
Behdad Esfahbod [Sat, 20 Oct 2018 23:56:06 +0000 (16:56 -0700)]
[docs] Minor

5 years ago[docs] More fixes
Behdad Esfahbod [Sat, 20 Oct 2018 23:52:55 +0000 (16:52 -0700)]
[docs] More fixes

5 years ago[docs] Fix for hb-version.h being in src tree
Behdad Esfahbod [Sat, 20 Oct 2018 23:50:39 +0000 (16:50 -0700)]
[docs] Fix for hb-version.h being in src tree

5 years ago[docs] Fix warning
Behdad Esfahbod [Sat, 20 Oct 2018 23:49:16 +0000 (16:49 -0700)]
[docs] Fix warning

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

5 years ago[kerx] Implement tuple-kerning in Format0
Behdad Esfahbod [Sat, 20 Oct 2018 21:56:28 +0000 (14:56 -0700)]
[kerx] Implement tuple-kerning in Format0

5 years ago2.0.2
Behdad Esfahbod [Sat, 20 Oct 2018 20:14:07 +0000 (13:14 -0700)]
2.0.2

5 years ago[test] Fix -Wunused-parameter on test-font.c
Ebrahim Byagowi [Sat, 20 Oct 2018 19:53:32 +0000 (23:23 +0330)]
[test] Fix -Wunused-parameter on test-font.c

5 years ago[kerx] Fix sanitize of KerxSubtableFormat2::array read
Behdad Esfahbod [Sat, 20 Oct 2018 19:09:41 +0000 (12:09 -0700)]
[kerx] Fix sanitize of KerxSubtableFormat2::array read

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

5 years ago[aat] Fix LookupFormat10 sanitize
Behdad Esfahbod [Sat, 20 Oct 2018 19:04:51 +0000 (12:04 -0700)]
[aat] Fix LookupFormat10 sanitize

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

5 years ago[test] Fix leak
Behdad Esfahbod [Sat, 20 Oct 2018 18:56:30 +0000 (11:56 -0700)]
[test] Fix leak

5 years ago[TODO] Remove BCP 47 language handling item
Ebrahim Byagowi [Sat, 20 Oct 2018 17:43:25 +0000 (21:13 +0330)]
[TODO] Remove BCP 47 language handling item

Closes https://github.com/harfbuzz/harfbuzz/issues/1286

5 years ago[fuzzing] Add new testcases
Ebrahim Byagowi [Sat, 20 Oct 2018 08:50:30 +0000 (12:20 +0330)]
[fuzzing] Add new testcases

5 years agoMerge pull request #1283 from khaledhosny/cygwin
Ebrahim Byagowi [Sat, 20 Oct 2018 04:15:46 +0000 (07:45 +0330)]
Merge pull request #1283 from khaledhosny/cygwin

Cygwin fixes and CI build

5 years agoRun valgrind on run-shape-fuzzer only when RUN_VALGRIND is set (#1285)
Ebrahim Byagowi [Sat, 20 Oct 2018 04:09:18 +0000 (07:39 +0330)]
Run valgrind on run-shape-fuzzer only when RUN_VALGRIND is set (#1285)

5 years agoMinor
Behdad Esfahbod [Sat, 20 Oct 2018 03:00:36 +0000 (20:00 -0700)]
Minor

5 years agoOops. Fix build
Behdad Esfahbod [Sat, 20 Oct 2018 02:59:41 +0000 (19:59 -0700)]
Oops. Fix build

5 years ago[test-map] Cosmetic
Behdad Esfahbod [Sat, 20 Oct 2018 02:47:27 +0000 (19:47 -0700)]
[test-map] Cosmetic

5 years ago2.0.1
Behdad Esfahbod [Sat, 20 Oct 2018 02:37:46 +0000 (19:37 -0700)]
2.0.1

5 years agoMake more 'coords' params const.
Bruce Mitchener [Sat, 20 Oct 2018 01:09:52 +0000 (08:09 +0700)]
Make more 'coords' params const.

5 years ago[font] Fix parallel funcs passing to eachover in infinite-loop
Behdad Esfahbod [Sat, 20 Oct 2018 02:12:33 +0000 (19:12 -0700)]
[font] Fix parallel funcs passing to eachover in infinite-loop

Fixes test just added.

5 years ago[font] Add failing test amongst font-func parallels infinite-looping
Behdad Esfahbod [Sat, 20 Oct 2018 02:01:01 +0000 (19:01 -0700)]
[font] Add failing test amongst font-func parallels infinite-looping

Reported by Nona while updating Android to HarfBuzz 2.0.0.

5 years agoAdd Cygwin CI build
Khaled Hosny [Fri, 19 Oct 2018 22:18:36 +0000 (00:18 +0200)]
Add Cygwin CI build

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

5 years ago[kerx] Implement variation-kerning tables (without the variation part)
Behdad Esfahbod [Fri, 19 Oct 2018 23:06:54 +0000 (16:06 -0700)]
[kerx] Implement variation-kerning tables (without the variation part)

SFSNDisplay uses these.  We just apply the default kern without
variations right now.  But at least makes the default kern work.

5 years ago[aat] Implement LookupFormat10
Behdad Esfahbod [Fri, 19 Oct 2018 22:23:49 +0000 (15:23 -0700)]
[aat] Implement LookupFormat10

5 years agoUse g_strdup instead of strdup
Khaled Hosny [Fri, 19 Oct 2018 20:21:39 +0000 (22:21 +0200)]
Use g_strdup instead of strdup

Cygwin does not seem to have strdup.

5 years agoUse O_BINARY instead of _O_BINARY
Khaled Hosny [Fri, 19 Oct 2018 20:04:56 +0000 (22:04 +0200)]
Use O_BINARY instead of _O_BINARY

Cygwin does not seem to have the later

5 years ago[trak] Fix test for previous fix
Behdad Esfahbod [Fri, 19 Oct 2018 18:20:14 +0000 (11:20 -0700)]
[trak] Fix test for previous fix

5 years ago[RELEASING] Post-mortem
Behdad Esfahbod [Fri, 19 Oct 2018 18:15:35 +0000 (11:15 -0700)]
[RELEASING] Post-mortem

Re https://github.com/harfbuzz/harfbuzz/issues/1271

5 years ago[trak] Fix extrapolation at end side
Behdad Esfahbod [Fri, 19 Oct 2018 18:00:20 +0000 (11:00 -0700)]
[trak] Fix extrapolation at end side

5 years ago[kerx] Whitespace
Behdad Esfahbod [Fri, 19 Oct 2018 16:58:45 +0000 (09:58 -0700)]
[kerx] Whitespace

5 years agoFix hb_map_is_empty logic
Ebrahim Byagowi [Fri, 19 Oct 2018 08:35:26 +0000 (12:05 +0330)]
Fix hb_map_is_empty logic

This needs reviewing

5 years agoAdd API tests for hb_map_t
Ebrahim Byagowi [Fri, 19 Oct 2018 08:34:47 +0000 (12:04 +0330)]
Add API tests for hb_map_t

5 years ago[test] cosmetic, use g_assert_cmpint
Ebrahim Byagowi [Fri, 19 Oct 2018 06:50:16 +0000 (10:20 +0330)]
[test] cosmetic, use g_assert_cmpint