platform/upstream/libHarfBuzzSharp.git
5 years ago[ci] Re-enable llvm-gcc-4.2 bots (#1429)
Ebrahim Byagowi [Thu, 29 Nov 2018 20:27:50 +0000 (23:57 +0330)]
[ci] Re-enable llvm-gcc-4.2 bots (#1429)

5 years agoLimit __builtin_bswap16 to GCC >= 5 as it was implemented on 4.8
Ebrahim Byagowi [Thu, 29 Nov 2018 20:17:20 +0000 (23:47 +0330)]
Limit __builtin_bswap16 to GCC >= 5 as it was implemented on 4.8

5 years ago[coretext] Fix compile
Behdad Esfahbod [Thu, 29 Nov 2018 20:07:44 +0000 (15:07 -0500)]
[coretext] Fix compile

Fingers crossed.

5 years agoConvert "static const hb_tag_t" constants to enum
Behdad Esfahbod [Thu, 29 Nov 2018 20:04:34 +0000 (15:04 -0500)]
Convert "static const hb_tag_t" constants to enum

5 years agoConvert misc "static const" constants to enum
Behdad Esfahbod [Thu, 29 Nov 2018 20:01:10 +0000 (15:01 -0500)]
Convert misc "static const" constants to enum

5 years agoConvert "static const bool" constants to anonymous enum
Behdad Esfahbod [Thu, 29 Nov 2018 19:53:43 +0000 (14:53 -0500)]
Convert "static const bool" constants to anonymous enum

5 years ago[vector] Make pointer cast explicit
Behdad Esfahbod [Thu, 29 Nov 2018 19:34:44 +0000 (14:34 -0500)]
[vector] Make pointer cast explicit

Too bad this doesn't help MSVC 2008 build, as explicit operators are
C++11.

5 years agoHand-hold older compilers
Behdad Esfahbod [Thu, 29 Nov 2018 19:28:44 +0000 (14:28 -0500)]
Hand-hold older compilers

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

5 years agoMake shaper's override_features() override user features as well
Behdad Esfahbod [Thu, 29 Nov 2018 17:32:47 +0000 (12:32 -0500)]
Make shaper's override_features() override user features as well

The override_features is used to override features that are normally
discretionary features, but in a specific shaper are for various
reasons desired to be bolted on or off, because they've been used
for inherent shaping.  As such, it makes sense that they also
override user features.  Ie. if user turned 'liga' on, we don't
want Khmer shaping to become broken...  Or turn 'clig' off...

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

5 years ago[khmer] Move 'clig' to overrides
Behdad Esfahbod [Thu, 29 Nov 2018 17:30:14 +0000 (12:30 -0500)]
[khmer] Move 'clig' to overrides

Prerequisite for https://github.com/harfbuzz/harfbuzz/issues/1310

5 years agoFix "typename outside template" issues
Behdad Esfahbod [Thu, 29 Nov 2018 17:18:14 +0000 (12:18 -0500)]
Fix "typename outside template" issues

Nothing an extra template class wouldn't fix...

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

5 years ago2.2.0
Behdad Esfahbod [Thu, 29 Nov 2018 16:53:53 +0000 (11:53 -0500)]
2.2.0

5 years ago[icu] Minor
Behdad Esfahbod [Thu, 29 Nov 2018 16:34:22 +0000 (11:34 -0500)]
[icu] Minor

5 years agoMerge pull request #1418 from gvictor/replace_icu_deprecated
Behdad Esfahbod [Thu, 29 Nov 2018 15:39:18 +0000 (10:39 -0500)]
Merge pull request #1418 from gvictor/replace_icu_deprecated

Replace @Deprecated ICU API - USCRIPT_CODE_LIMIT

5 years ago[test][aat.kern] More (#1427)
Ebrahim Byagowi [Thu, 29 Nov 2018 08:06:05 +0000 (11:36 +0330)]
[test][aat.kern] More (#1427)

5 years agoMerge pull request #1425 from mbutterick/patch-1
Behdad Esfahbod [Wed, 28 Nov 2018 22:21:57 +0000 (17:21 -0500)]
Merge pull request #1425 from mbutterick/patch-1

update simple shaping example (closes #298)

5 years agoupdate simple shaping example (closes #298)
Matthew Butterick [Wed, 28 Nov 2018 21:46:12 +0000 (13:46 -0800)]
update simple shaping example (closes #298)

add call to `FT_Set_Char_Size`, otherwise default size remains at `0`, and glyph positions come back as `0` too

5 years ago[test][aat] Update expectency
Ebrahim Byagowi [Wed, 28 Nov 2018 21:25:05 +0000 (00:55 +0330)]
[test][aat] Update expectency

It is not visually noticeable but apparently affected by kern format2 correct implementation.
I should've checked CoreText result which can't as CircleCI outage.

5 years ago[test] Add test for format2 kern (#1423)
Ebrahim Byagowi [Wed, 28 Nov 2018 20:37:00 +0000 (00:07 +0330)]
[test] Add test for format2 kern (#1423)

5 years ago[kerx] Fix Format2 index calc again
Behdad Esfahbod [Wed, 28 Nov 2018 20:24:30 +0000 (15:24 -0500)]
[kerx] Fix Format2 index calc again

5 years agoMerge remote-tracking branch 'fdo/master'
Behdad Esfahbod [Wed, 28 Nov 2018 20:08:01 +0000 (15:08 -0500)]
Merge remote-tracking branch 'fdo/master'

5 years ago[kern] Fix kern table Format2 offsetToIndex
Behdad Esfahbod [Wed, 28 Nov 2018 20:06:01 +0000 (15:06 -0500)]
[kern] Fix kern table Format2 offsetToIndex

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

5 years ago[kerx] Fix ClassTable implementation for 'kern' table Format 2
Behdad Esfahbod [Wed, 28 Nov 2018 19:51:56 +0000 (14:51 -0500)]
[kerx] Fix ClassTable implementation for 'kern' table Format 2

5 years ago[aat] Towards adding two ClassTable's
Behdad Esfahbod [Wed, 28 Nov 2018 19:46:26 +0000 (14:46 -0500)]
[aat] Towards adding two ClassTable's

5 years ago[test][aat] Add a test and make macOS runners faster (#1422)
Ebrahim Byagowi [Wed, 28 Nov 2018 16:58:42 +0000 (20:28 +0330)]
[test][aat] Add a test and make macOS runners faster (#1422)

5 years agoMerge pull request #1398 from Adenilson/bigInt01
Behdad Esfahbod [Tue, 27 Nov 2018 22:40:32 +0000 (17:40 -0500)]
Merge pull request #1398 from Adenilson/bigInt01

Optimize harfbuzz big integer conversions

5 years agoComment
Behdad Esfahbod [Tue, 27 Nov 2018 22:40:09 +0000 (17:40 -0500)]
Comment

5 years agoOptimize harfbuzz big integer conversions
Adenilson Cavalcanti [Tue, 20 Nov 2018 22:41:19 +0000 (14:41 -0800)]
Optimize harfbuzz big integer conversions

Profiling showed that type conversions were adding considerable cycles in time
spent doing text shaping.

The idea is to optimize it using native processor instructions to help Blink
layout performance.

Doing further investigation revelead that compilers may not use the
proper instruction on ARM 32bits builds (i.e. REV16).

One way to insure that the generated ASM was ideal for both gcc/clang
was using __builtin_bswap16.

Added bonus is that we no longer need to test for CPU architecture.

5 years agoReplace @Deprecated ICU API - USCRIPT_CODE_LIMIT
Victor Chang [Tue, 27 Nov 2018 11:34:56 +0000 (11:34 +0000)]
Replace @Deprecated ICU API - USCRIPT_CODE_LIMIT

Use of the deprecated API USCRIPT_CODE_LIMIT prevents harfbuzz
using the ICU4C as a shared library.

The API has been replaced by u_getIntPropertyMaxValue(UCHAR_SCRIPT)

5 years ago[ci] Add .codecov.yml
Ebrahim Byagowi [Mon, 26 Nov 2018 15:28:39 +0000 (18:58 +0330)]
[ci] Add .codecov.yml

Similar to https://github.com/GoogleChrome/lighthouse/blob/master/.codecov.yml

No strong preference on commenting, feel free to enable it again

5 years ago[test][aat] Enable Tamil MN test (#1414)
Ebrahim Byagowi [Mon, 26 Nov 2018 13:28:58 +0000 (16:58 +0330)]
[test][aat] Enable Tamil MN test (#1414)

5 years ago[aat] Ignore GSUB table of Muthu Foundry if they have morx table
Behdad Esfahbod [Sun, 25 Nov 2018 21:51:22 +0000 (16:51 -0500)]
[aat] Ignore GSUB table of Muthu Foundry if they have morx table

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

5 years ago[GDEF] Move more code
Behdad Esfahbod [Sun, 25 Nov 2018 21:38:36 +0000 (16:38 -0500)]
[GDEF] Move more code

5 years ago[GDEF] Move code around
Behdad Esfahbod [Sun, 25 Nov 2018 20:59:18 +0000 (15:59 -0500)]
[GDEF] Move code around

5 years ago[GDEF] Minor
Behdad Esfahbod [Sun, 25 Nov 2018 20:51:01 +0000 (15:51 -0500)]
[GDEF] Minor

5 years ago[test][aat] fix 10.13.6 Helvetica expectation
Ebrahim Byagowi [Sun, 25 Nov 2018 10:07:23 +0000 (13:37 +0330)]
[test][aat] fix 10.13.6 Helvetica expectation

5 years ago[aat] Add m grave test (#1412)
Ebrahim Byagowi [Sun, 25 Nov 2018 09:20:30 +0000 (12:50 +0330)]
[aat] Add m grave test (#1412)

5 years ago[aat] Fix macos expectation
Ebrahim Byagowi [Sun, 25 Nov 2018 07:55:17 +0000 (11:25 +0330)]
[aat] Fix macos expectation

5 years ago[aat.feat] Rework API and implementation
Behdad Esfahbod [Sun, 25 Nov 2018 06:14:40 +0000 (01:14 -0500)]
[aat.feat] Rework API and implementation

Fixes https://github.com/harfbuzz/harfbuzz/pull/1346

5 years ago[aat.feat] Add _MAX_VALUE to enums
Behdad Esfahbod [Sat, 24 Nov 2018 17:08:36 +0000 (12:08 -0500)]
[aat.feat] Add _MAX_VALUE to enums

5 years ago[aat.feat] Minor
Behdad Esfahbod [Sat, 24 Nov 2018 16:02:04 +0000 (11:02 -0500)]
[aat.feat] Minor

5 years ago[aat.feat] Whitespace
Behdad Esfahbod [Sat, 24 Nov 2018 16:00:42 +0000 (11:00 -0500)]
[aat.feat] Whitespace

5 years ago[aat.feat] Port to SortedUnsizedArrayOf.bsearch()
Behdad Esfahbod [Sat, 24 Nov 2018 15:54:40 +0000 (10:54 -0500)]
[aat.feat] Port to SortedUnsizedArrayOf.bsearch()

5 years ago[AAT.feat] Use lsearch for looking up SettingName's
Behdad Esfahbod [Sat, 24 Nov 2018 15:46:56 +0000 (10:46 -0500)]
[AAT.feat] Use lsearch for looking up SettingName's

They are not sorted.

5 years ago[aat] Fix include issues
Behdad Esfahbod [Sat, 24 Nov 2018 15:30:35 +0000 (10:30 -0500)]
[aat] Fix include issues

5 years ago[aat] Move contents of hb-aat.h to hb-aat-layout.h
Behdad Esfahbod [Fri, 23 Nov 2018 19:05:11 +0000 (14:05 -0500)]
[aat] Move contents of hb-aat.h to hb-aat-layout.h

Since it was pages and pages...

5 years ago[aat.feat] Fix enum namespace
Behdad Esfahbod [Fri, 23 Nov 2018 17:23:35 +0000 (12:23 -0500)]
[aat.feat] Fix enum namespace

5 years agoMinor
Behdad Esfahbod [Fri, 23 Nov 2018 17:21:02 +0000 (12:21 -0500)]
Minor

5 years ago[aat] Rename feat API a bit more
Behdad Esfahbod [Fri, 23 Nov 2018 16:57:42 +0000 (11:57 -0500)]
[aat] Rename feat API a bit more

5 years ago[feat] Rename API uses of setting to selector
Ebrahim Byagowi [Fri, 23 Nov 2018 08:35:06 +0000 (12:05 +0330)]
[feat] Rename API uses of setting to selector

5 years ago[feat] Apply renamings and add documentation
Ebrahim Byagowi [Fri, 23 Nov 2018 08:14:53 +0000 (11:44 +0330)]
[feat] Apply renamings and add documentation

5 years ago[feat] Use bsearch
Ebrahim Byagowi [Sat, 17 Nov 2018 10:53:11 +0000 (14:23 +0330)]
[feat] Use bsearch

5 years ago[feat] Address Behdad comments
Ebrahim Byagowi [Sat, 17 Nov 2018 08:00:50 +0000 (11:30 +0330)]
[feat] Address Behdad comments

5 years ago[feat] Address @behdad comments
Ebrahim Byagowi [Fri, 16 Nov 2018 21:37:09 +0000 (01:07 +0330)]
[feat] Address @behdad comments

5 years ago[feat] Complete feature types list
Ebrahim Byagowi [Thu, 8 Nov 2018 21:20:10 +0000 (00:50 +0330)]
[feat] Complete feature types list

5 years ago[feat] Add feature iteration API
Ebrahim Byagowi [Thu, 1 Nov 2018 18:54:42 +0000 (22:24 +0330)]
[feat] Add feature iteration API

5 years ago[feat] Turn AAT feature id into enum
Ebrahim Byagowi [Thu, 1 Nov 2018 18:08:54 +0000 (21:38 +0330)]
[feat] Turn AAT feature id into enum

5 years ago[feat] Rename records to selectors as @drott
Ebrahim Byagowi [Thu, 1 Nov 2018 16:32:57 +0000 (20:02 +0330)]
[feat] Rename records to selectors as @drott

5 years ago[feat] Apply @behdad comments
Ebrahim Byagowi [Thu, 1 Nov 2018 16:26:16 +0000 (19:56 +0330)]
[feat] Apply @behdad comments

5 years ago[feat] Apply @drott and @jfkthame comments
Ebrahim Byagowi [Thu, 1 Nov 2018 15:50:20 +0000 (19:20 +0330)]
[feat] Apply @drott and @jfkthame comments

5 years ago[feat] Apply @jfkthame reviews
Ebrahim Byagowi [Thu, 1 Nov 2018 11:45:56 +0000 (15:15 +0330)]
[feat] Apply @jfkthame reviews

5 years ago[feat] Expose public API
Ebrahim Byagowi [Thu, 1 Nov 2018 09:44:29 +0000 (13:14 +0330)]
[feat] Expose public API

* hb_aat_get_feature_settings

5 years ago[test] Reorder test suites
Behdad Esfahbod [Sun, 25 Nov 2018 05:30:08 +0000 (00:30 -0500)]
[test] Reorder test suites

aots is less interesting.  Run text-rendering-tests before aots.

5 years ago[kerx] Fix crash
Behdad Esfahbod [Sun, 25 Nov 2018 05:27:23 +0000 (00:27 -0500)]
[kerx] Fix crash

5 years agoSimplify sanitize set_object() / fix bots
Behdad Esfahbod [Sun, 25 Nov 2018 05:21:13 +0000 (00:21 -0500)]
Simplify sanitize set_object() / fix bots

5 years ago[kerx] Port to hb_sanitize_with_object_t
Behdad Esfahbod [Sun, 25 Nov 2018 04:49:23 +0000 (23:49 -0500)]
[kerx] Port to hb_sanitize_with_object_t

5 years ago[morx] Port to hb_sanitize_with_object_t
Behdad Esfahbod [Sun, 25 Nov 2018 04:46:15 +0000 (23:46 -0500)]
[morx] Port to hb_sanitize_with_object_t

5 years agoAdd hb_sanitize_with_object_t
Behdad Esfahbod [Sun, 25 Nov 2018 04:38:06 +0000 (23:38 -0500)]
Add hb_sanitize_with_object_t

Context manager.

5 years agoSimplify sanitize set_object()
Behdad Esfahbod [Sun, 25 Nov 2018 04:34:34 +0000 (23:34 -0500)]
Simplify sanitize set_object()

5 years ago[aat] Skip terminator in VarSizedBinSearchArray<>
Behdad Esfahbod [Sun, 25 Nov 2018 04:12:28 +0000 (23:12 -0500)]
[aat] Skip terminator in VarSizedBinSearchArray<>

Fixes shaping with Apple Chancery on 10.13 again.  In that font,
there was a terminator segment, that was tripping off sanitize().

5 years agoMinor
Behdad Esfahbod [Sun, 25 Nov 2018 03:48:34 +0000 (22:48 -0500)]
Minor

5 years ago[debug] Print function in return_trace()
Behdad Esfahbod [Sun, 25 Nov 2018 03:32:17 +0000 (22:32 -0500)]
[debug] Print function in return_trace()

5 years agoRevert "[aat.morx] Remove set_object() business"
Behdad Esfahbod [Sun, 25 Nov 2018 03:16:59 +0000 (22:16 -0500)]
Revert "[aat.morx] Remove set_object() business"

This reverts commit ae8ed58a6e53441d9ccbf67afd8a00b815cde99e.

Apparently this broke Apple Chancery from OS X 10.12 :(.
Investigating...

5 years agoRevert "[aat.kerx] Remove kerx subtable boundary enforcement"
Behdad Esfahbod [Sun, 25 Nov 2018 03:16:53 +0000 (22:16 -0500)]
Revert "[aat.kerx] Remove kerx subtable boundary enforcement"

This reverts commit 15905a2a2998f7ddd964f920a4828602235d6b00.

5 years agoRevert "[sanitize] Remove now-unused set_object() machinery"
Behdad Esfahbod [Sun, 25 Nov 2018 03:16:47 +0000 (22:16 -0500)]
Revert "[sanitize] Remove now-unused set_object() machinery"

This reverts commit bbdb6edb3e1cea4c5b7076c4f6b3e6998ae36dae.

5 years ago[tests] Minor
Behdad Esfahbod [Sun, 25 Nov 2018 03:01:06 +0000 (22:01 -0500)]
[tests] Minor

5 years ago[arrays] Use hb_array_t<> in all places with sub_array()
Behdad Esfahbod [Sun, 25 Nov 2018 02:36:57 +0000 (21:36 -0500)]
[arrays] Use hb_array_t<> in all places with sub_array()

5 years ago[arrays] Merge ArrayOf's sub_array into hb_array_t's
Behdad Esfahbod [Sun, 25 Nov 2018 02:32:00 +0000 (21:32 -0500)]
[arrays] Merge ArrayOf's sub_array into hb_array_t's

5 years ago[test] Add the missed aots fonts
Ebrahim Byagowi [Sat, 24 Nov 2018 22:42:40 +0000 (02:12 +0330)]
[test] Add the missed aots fonts

5 years ago[test] Merge 10.12.6 and 10.13.6 tests, update to Apple Chancery fix
Ebrahim Byagowi [Sat, 24 Nov 2018 22:29:54 +0000 (01:59 +0330)]
[test] Merge 10.12.6 and 10.13.6 tests, update to Apple Chancery fix

5 years ago[sanitize] Remove now-unused set_object() machinery
Behdad Esfahbod [Sat, 24 Nov 2018 22:15:38 +0000 (17:15 -0500)]
[sanitize] Remove now-unused set_object() machinery

5 years ago[aat.kerx] Remove kerx subtable boundary enforcement
Behdad Esfahbod [Sat, 24 Nov 2018 22:14:39 +0000 (17:14 -0500)]
[aat.kerx] Remove kerx subtable boundary enforcement

Have not encountered fonts needing this, but same reasoning as
for morx (see previos commit.)

5 years ago[aat.morx] Remove set_object() business
Behdad Esfahbod [Sat, 24 Nov 2018 22:11:09 +0000 (17:11 -0500)]
[aat.morx] Remove set_object() business

With OS X 10.13 Apple Chancery fails to ligate if we limit each morx
sub-chain to its declared length.  Perhaps their newer compiler does
object-sharing across sub-chains.  Anyway, since that's a valid, if
unspecified, way to compile tables, remove enforcement.

Probably do the same with kern/kerx.

5 years agoAdd 10.13.6 aat fonts tests and bot (#1409)
Ebrahim Byagowi [Sat, 24 Nov 2018 22:09:00 +0000 (01:39 +0330)]
Add 10.13.6 aat fonts tests and bot (#1409)

5 years ago[aat] Add test for recent regression
Behdad Esfahbod [Sat, 24 Nov 2018 20:56:17 +0000 (15:56 -0500)]
[aat] Add test for recent regression

5 years ago[tests] Redo test runner logging a bit
Behdad Esfahbod [Sat, 24 Nov 2018 20:49:33 +0000 (15:49 -0500)]
[tests] Redo test runner logging a  bit

5 years ago[tests] Minor
Behdad Esfahbod [Sat, 24 Nov 2018 20:42:11 +0000 (15:42 -0500)]
[tests] Minor

5 years ago[tests/shaping] Allow comments in test files
Behdad Esfahbod [Sat, 24 Nov 2018 20:37:01 +0000 (15:37 -0500)]
[tests/shaping] Allow comments in test files

Line should start with "# ".

5 years ago[tests] Rename
Behdad Esfahbod [Sat, 24 Nov 2018 20:22:09 +0000 (15:22 -0500)]
[tests] Rename

5 years ago[morx/kerx] Fix sanitize regression
Behdad Esfahbod [Sat, 24 Nov 2018 19:52:34 +0000 (14:52 -0500)]
[morx/kerx] Fix sanitize regression

Broke in 8dcc1913a1670ede7b124f7b5b775d7ab8791386

If sanitizer is left with another object, it wouldn't work.

Better fix coming soon.

5 years ago[test] Enable more of aots tests (#1408)
Ebrahim Byagowi [Sat, 24 Nov 2018 17:19:21 +0000 (20:49 +0330)]
[test] Enable more of aots tests (#1408)

The ones commented out in this change should've be passed :/
a closer look is needed.

5 years agoAdd Adobe AOTS tests (#1395)
Ebrahim Byagowi [Sat, 24 Nov 2018 16:37:24 +0000 (20:07 +0330)]
Add Adobe AOTS tests (#1395)

Annotated OpenType Specification or aots, https://github.com/adobe-type-tools/aots
provides a set of tests for OpenType specification, this change add those tests in addition
to modified version of their HarfBuzz test runner for generating harfbuzz project specific tests.

5 years ago[color] Use SortedUnsizedArrayOf<>
Behdad Esfahbod [Sat, 24 Nov 2018 15:25:10 +0000 (10:25 -0500)]
[color] Use SortedUnsizedArrayOf<>

5 years ago[trak] Coment
Behdad Esfahbod [Sat, 24 Nov 2018 15:17:59 +0000 (10:17 -0500)]
[trak] Coment

5 years ago[arrays] Add not_found to reference bsearch as well
Behdad Esfahbod [Sat, 24 Nov 2018 15:09:17 +0000 (10:09 -0500)]
[arrays] Add not_found to reference bsearch as well

5 years ago[arrays] Improve bfind() interface
Behdad Esfahbod [Sat, 24 Nov 2018 15:06:13 +0000 (10:06 -0500)]
[arrays] Improve bfind() interface

Much more useful now. :)

5 years ago[fuzzing] Add tests for previous commit
Behdad Esfahbod [Sat, 24 Nov 2018 14:49:21 +0000 (09:49 -0500)]
[fuzzing] Add tests for previous commit

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

5 years ago[kerx/morx] Make sure object length is sanitized before accessing it
Behdad Esfahbod [Sat, 24 Nov 2018 14:47:45 +0000 (09:47 -0500)]
[kerx/morx] Make sure object length is sanitized before accessing it

5 years ago[arrays] Port ArrayOf.qsort() and hb_vector_t.qsort() to hb_array_t
Behdad Esfahbod [Sat, 24 Nov 2018 06:59:50 +0000 (01:59 -0500)]
[arrays] Port ArrayOf.qsort() and hb_vector_t.qsort() to hb_array_t