platform/upstream/libHarfBuzzSharp.git
5 years ago[ci] Switch clang-O3-O0 bot to Ubuntu image
Behdad Esfahbod [Wed, 30 Jan 2019 23:02:29 +0000 (15:02 -0800)]
[ci] Switch clang-O3-O0 bot to Ubuntu image

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

5 years ago[iter] Warning fix
Behdad Esfahbod [Wed, 30 Jan 2019 22:54:23 +0000 (14:54 -0800)]
[iter] Warning fix

Not sure why I don't get it, but this warning:

warning: base class ‘struct hb_iter_fallback_mixin_t<hb_array_t<const OT::UVSMapping>, const OT::UVSMapping&>’ should be explicitly initialized in the copy constructor [-Wextra]

5 years ago[ci] Disable -Wunused-template on -Weverything bot
Behdad Esfahbod [Wed, 30 Jan 2019 22:42:48 +0000 (14:42 -0800)]
[ci] Disable -Wunused-template on -Weverything bot

./hb-algs.hh:37:3: error: unused function template 'operator()' [-Werror,-Wunused-template]
  operator () (const T& v) const { return v; }
  ^

5 years ago[iter] Whitespace
Behdad Esfahbod [Wed, 30 Jan 2019 01:15:12 +0000 (17:15 -0800)]
[iter] Whitespace

5 years ago[iter] Add hb_iter_with_fallback_t instead
Behdad Esfahbod [Wed, 30 Jan 2019 01:10:19 +0000 (17:10 -0800)]
[iter] Add hb_iter_with_fallback_t instead

5 years ago[iter] Add hb_iter_with_mixin_t<>
Behdad Esfahbod [Tue, 29 Jan 2019 21:55:23 +0000 (13:55 -0800)]
[iter] Add hb_iter_with_mixin_t<>

5 years ago[iter] Export operator << / >>
Behdad Esfahbod [Tue, 29 Jan 2019 21:44:39 +0000 (13:44 -0800)]
[iter] Export operator << / >>

5 years ago[iter] Rename
Behdad Esfahbod [Tue, 29 Jan 2019 21:39:19 +0000 (13:39 -0800)]
[iter] Rename

5 years agoMove hb_addressof() to hb-meta.hh
Behdad Esfahbod [Tue, 29 Jan 2019 02:26:23 +0000 (21:26 -0500)]
Move hb_addressof() to hb-meta.hh

5 years agoMerge branch 'master' into iter
Behdad Esfahbod [Tue, 29 Jan 2019 02:23:28 +0000 (21:23 -0500)]
Merge branch 'master' into iter

5 years ago[meta] Remove _ft struct names
Behdad Esfahbod [Tue, 29 Jan 2019 02:20:12 +0000 (21:20 -0500)]
[meta] Remove _ft struct names

Using decltype() instead.

5 years ago[pair] Use decltype
Behdad Esfahbod [Tue, 29 Jan 2019 02:16:51 +0000 (21:16 -0500)]
[pair] Use decltype

5 years ago[CI] Peg CircleCI badge link to master branch
Behdad Esfahbod [Tue, 29 Jan 2019 01:47:58 +0000 (20:47 -0500)]
[CI] Peg CircleCI badge link to master branch

[skip ci]

5 years ago[ci] Peg build status badges to master branch
Behdad Esfahbod [Tue, 29 Jan 2019 01:43:43 +0000 (20:43 -0500)]
[ci] Peg build status badges to master branch

[skip ci]

5 years agoSwitch README / README.md
Behdad Esfahbod [Tue, 29 Jan 2019 01:38:15 +0000 (20:38 -0500)]
Switch README / README.md

[skip ci]

5 years ago[iter] Add operator << to set / vector
Behdad Esfahbod [Mon, 28 Jan 2019 21:39:01 +0000 (16:39 -0500)]
[iter] Add operator << to set / vector

5 years ago[iter] Fix operator() impls
Behdad Esfahbod [Mon, 28 Jan 2019 21:34:04 +0000 (16:34 -0500)]
[iter] Fix operator() impls

5 years ago[iter] Add operator>> and operator<<
Behdad Esfahbod [Mon, 28 Jan 2019 21:23:12 +0000 (16:23 -0500)]
[iter] Add operator>> and operator<<

5 years ago[iter] Use auto c = C.iter() internally
Behdad Esfahbod [Mon, 28 Jan 2019 21:17:36 +0000 (16:17 -0500)]
[iter] Use auto c = C.iter() internally

5 years agoMerge branch 'master' into iter
Behdad Esfahbod [Mon, 28 Jan 2019 19:35:41 +0000 (14:35 -0500)]
Merge branch 'master' into iter

5 years ago[uniscribe] Whitelist function type cast
Behdad Esfahbod [Mon, 28 Jan 2019 19:15:18 +0000 (14:15 -0500)]
[uniscribe] Whitelist function type cast

5 years agoFix sign comparison error
Behdad Esfahbod [Mon, 28 Jan 2019 19:12:41 +0000 (14:12 -0500)]
Fix sign comparison error

5 years agoFix warning
Behdad Esfahbod [Mon, 28 Jan 2019 19:09:59 +0000 (14:09 -0500)]
Fix warning

c:\projects\harfbuzz\src\hb-ot-color-cbdt-table.hh(59): warning C4146: unary minus operator applied to unsigned type, result still unsigned [C:\projects\harfbuzz\build\harfbuzz.vcxproj]

5 years ago[pragma] Silence MSVC unknown-pragma warning
Behdad Esfahbod [Mon, 28 Jan 2019 19:09:45 +0000 (14:09 -0500)]
[pragma] Silence MSVC unknown-pragma warning

5 years agoTry fixing MSVC build
Behdad Esfahbod [Mon, 28 Jan 2019 18:41:40 +0000 (13:41 -0500)]
Try fixing MSVC build

5 years ago[iter] Accept C arrays in hb_iter()
Behdad Esfahbod [Sun, 27 Jan 2019 00:03:56 +0000 (01:03 +0100)]
[iter] Accept C arrays in hb_iter()

5 years ago[test] Test unary operator+
Behdad Esfahbod [Sat, 26 Jan 2019 23:51:43 +0000 (00:51 +0100)]
[test] Test unary operator+

"Test" as in compiles..

5 years ago[iter] Fix hb_iter()
Behdad Esfahbod [Sat, 26 Jan 2019 23:50:54 +0000 (00:50 +0100)]
[iter] Fix hb_iter()

5 years ago[iter] Add unary operator+ that returns a copy
Behdad Esfahbod [Sat, 26 Jan 2019 23:49:37 +0000 (00:49 +0100)]
[iter] Add unary operator+ that returns a copy

5 years ago[iter] Add hb_bool() and make hb_filter default to it for predicate
Behdad Esfahbod [Sat, 26 Jan 2019 23:44:45 +0000 (00:44 +0100)]
[iter] Add hb_bool() and make hb_filter default to it for predicate

5 years ago[meta] Back to using _ft suffix for function-object types
Behdad Esfahbod [Sat, 26 Jan 2019 21:58:26 +0000 (22:58 +0100)]
[meta] Back to using _ft suffix for function-object types

Seprate namespace, cleaner, more clear.

5 years ago[iter] Test that default-constructed iterators are empty
Behdad Esfahbod [Sat, 26 Jan 2019 21:54:25 +0000 (22:54 +0100)]
[iter] Test that default-constructed iterators are empty

5 years agopragma GCC diagnostic error "-Winjected-class-name"
Behdad Esfahbod [Sat, 26 Jan 2019 21:50:00 +0000 (22:50 +0100)]
pragma GCC diagnostic error   "-Winjected-class-name"

See 6b6783e1588ebe5772a1edc19552219e9d931bda

5 years ago[iter] Use hb_declval() instead of Null() to get instance
Behdad Esfahbod [Sat, 26 Jan 2019 21:47:35 +0000 (22:47 +0100)]
[iter] Use hb_declval() instead of Null() to get instance

I had used Null to make one of the bots happy before.  Not going
to bend to such demands anymore..

5 years ago[iter/meta] Fix build on newer clang
Behdad Esfahbod [Sat, 26 Jan 2019 21:44:09 +0000 (22:44 +0100)]
[iter/meta] Fix build on newer clang

The mystery failure had to do with SFINAE failure because the template
function involved was accessing ::iter_t of a type that was also named iter_t.
In this context, apparently:

warning: ISO C++ specifies that qualified reference to 'iter_t' is a
constructor name rather than a type in this context, despite preceding 'typename' keyword
[-Winjected-class-name]

We use a new macro, also called hb_iter_t(), to get iterator type of
a type.  This uses declval/hb_decltype, and has the added benefit
that it returns correct type for const vs non-const objects, if they
have different iterators.

5 years ago[meta] Mark function-objects as const
Behdad Esfahbod [Sat, 26 Jan 2019 21:15:59 +0000 (22:15 +0100)]
[meta] Mark function-objects as const

5 years agoMerge branch 'master' into iter
Behdad Esfahbod [Sat, 26 Jan 2019 13:05:39 +0000 (14:05 +0100)]
Merge branch 'master' into iter

5 years agoFix -Wcast-function-type warnings in util/ with gcc 4.8
Behdad Esfahbod [Sat, 26 Jan 2019 13:04:51 +0000 (14:04 +0100)]
Fix -Wcast-function-type warnings in util/ with gcc 4.8

5 years agoFix mac test
Behdad Esfahbod [Fri, 25 Jan 2019 15:11:45 +0000 (16:11 +0100)]
Fix mac test

5 years agoMore static constexpr
Behdad Esfahbod [Fri, 25 Jan 2019 15:08:25 +0000 (16:08 +0100)]
More static constexpr

5 years agoMerge branch 'master' into iter
Behdad Esfahbod [Fri, 25 Jan 2019 14:34:03 +0000 (15:34 +0100)]
Merge branch 'master' into iter

5 years ago[AAT] Add test for recent Ligature stack fix, using Zapfino on Mac
Behdad Esfahbod [Fri, 25 Jan 2019 14:11:47 +0000 (15:11 +0100)]
[AAT] Add test for recent Ligature stack fix, using Zapfino on Mac

5 years ago[AAT] Minor sign
Behdad Esfahbod [Thu, 24 Jan 2019 17:16:17 +0000 (18:16 +0100)]
[AAT] Minor sign

5 years ago[AAT] Use a ring buffer for ligature stack
Behdad Esfahbod [Thu, 24 Jan 2019 17:12:25 +0000 (18:12 +0100)]
[AAT] Use a ring buffer for ligature stack

I think Apple does very similarly, but probably with a stack size of 16.
We do it with a stack size that is currently set to 64.

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

5 years agoWhitespace
Behdad Esfahbod [Thu, 24 Jan 2019 17:06:17 +0000 (18:06 +0100)]
Whitespace

5 years ago[AAT] Handle transition errors during machine operation
Behdad Esfahbod [Thu, 24 Jan 2019 17:01:07 +0000 (18:01 +0100)]
[AAT] Handle transition errors during machine operation

Before we used to give up.  Now, just ignore error and continue processing.

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

5 years ago[AAT] Ignore machine errors and continue
Behdad Esfahbod [Thu, 24 Jan 2019 16:23:11 +0000 (17:23 +0100)]
[AAT] Ignore machine errors and continue

5 years ago[AAT] Minor
Behdad Esfahbod [Thu, 24 Jan 2019 16:21:41 +0000 (17:21 +0100)]
[AAT] Minor

5 years ago[AAT] Handle out-of-bounds classes
Behdad Esfahbod [Thu, 24 Jan 2019 16:17:00 +0000 (17:17 +0100)]
[AAT] Handle out-of-bounds classes

5 years ago[AAT] Minor
Behdad Esfahbod [Thu, 24 Jan 2019 16:10:12 +0000 (17:10 +0100)]
[AAT] Minor

5 years ago[AAT] Minor
Behdad Esfahbod [Thu, 24 Jan 2019 16:06:16 +0000 (17:06 +0100)]
[AAT] Minor

5 years agoMore pragma control
Behdad Esfahbod [Thu, 24 Jan 2019 15:29:09 +0000 (16:29 +0100)]
More pragma control

Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=924848

5 years agoComment
Behdad Esfahbod [Thu, 24 Jan 2019 15:12:52 +0000 (16:12 +0100)]
Comment

5 years agoFix test
Behdad Esfahbod [Thu, 24 Jan 2019 15:11:05 +0000 (16:11 +0100)]
Fix test

5 years agoForm cluster for Emoji sub-region tag sequences
Behdad Esfahbod [Thu, 24 Jan 2019 15:08:33 +0000 (16:08 +0100)]
Form cluster for Emoji sub-region tag sequences

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

5 years agoFix macos tests with previous commit
Behdad Esfahbod [Thu, 24 Jan 2019 11:50:38 +0000 (12:50 +0100)]
Fix macos tests with previous commit

5 years agoAdjust mark offsets when zeroing from fallback mark positioning code
Behdad Esfahbod [Thu, 24 Jan 2019 11:08:23 +0000 (12:08 +0100)]
Adjust mark offsets when zeroing from fallback mark positioning code

Adjust tests.

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

5 years ago[AAT] In InsertionChain, set mark to previous-position if inserting
Behdad Esfahbod [Wed, 23 Jan 2019 19:53:57 +0000 (20:53 +0100)]
[AAT] In InsertionChain, set mark to previous-position if inserting

Fixes MORX-31

5 years ago[AAT] Re-enable tests MORX-31 and MORX-41
Behdad Esfahbod [Wed, 23 Jan 2019 19:45:18 +0000 (20:45 +0100)]
[AAT] Re-enable tests MORX-31 and MORX-41

5 years ago[AAT] Remove mark_set from InsertionChain
Behdad Esfahbod [Wed, 23 Jan 2019 19:36:07 +0000 (20:36 +0100)]
[AAT] Remove mark_set from InsertionChain

5 years ago[test/text-rendering-tests] Update from upstream
Behdad Esfahbod [Wed, 23 Jan 2019 19:30:48 +0000 (20:30 +0100)]
[test/text-rendering-tests] Update from upstream

5 years agoMore of previous
Behdad Esfahbod [Tue, 22 Jan 2019 15:36:00 +0000 (16:36 +0100)]
More of previous

5 years agoFix sign-compare error resulted from promoting unsigned integers to signed larger...
Behdad Esfahbod [Tue, 22 Jan 2019 15:30:07 +0000 (16:30 +0100)]
Fix sign-compare error resulted from promoting unsigned integers to signed larger ints

Clang and gcc know not to warn in these cases, but not nonmainstream compilers

5 years agoCast HB_UNTAG results to uint8_t
Behdad Esfahbod [Tue, 22 Jan 2019 11:55:29 +0000 (12:55 +0100)]
Cast HB_UNTAG results to uint8_t

5 years agoMore -Wcast-error fix
Behdad Esfahbod [Tue, 22 Jan 2019 11:52:23 +0000 (12:52 +0100)]
More -Wcast-error fix

5 years agoBetter fix for -Wcast-align errors
Behdad Esfahbod [Tue, 22 Jan 2019 11:45:40 +0000 (12:45 +0100)]
Better fix for -Wcast-align errors

5 years agoMore -Wcast-error fixes
Behdad Esfahbod [Tue, 22 Jan 2019 11:43:12 +0000 (12:43 +0100)]
More -Wcast-error fixes

5 years agopragma GCC diagnostic error "-Wsign-compare"
Behdad Esfahbod [Tue, 22 Jan 2019 11:40:18 +0000 (12:40 +0100)]
pragma GCC diagnostic error   "-Wsign-compare"

5 years agoFix cast-align error
Behdad Esfahbod [Tue, 22 Jan 2019 11:34:05 +0000 (12:34 +0100)]
Fix cast-align error

If compiler doesn't inline StructAtOffset, this was an error since we
only disable cast-align at call-site.  So, move the cast out.

../src/hb-machinery.hh: In instantiation of 'const Type& StructAtOffset(const void*, unsigned int) [with Type = unsigned int]':
../src/hb-font.cc:146:85:   required from here
../src/hb-machinery.hh:63:12: error: cast from 'const char*' to 'const unsigned int*' increases required alignment of target type [-Werror=cast-align]
 { return * reinterpret_cast<const Type*> ((const char *) P + offset); }
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/hb-machinery.hh: In instantiation of 'Type& StructAtOffset(void*, unsigned int) [with Type = unsigned int]':
../src/hb-font.cc:147:79:   required from here
../src/hb-machinery.hh:66:12: error: cast from 'char*' to 'unsigned int*' increases required alignment of target type [-Werror=cast-align]
 { return * reinterpret_cast<Type*> ((char *) P + offset); }
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

5 years ago[CI] Remove gcc 4.2 bots
Behdad Esfahbod [Tue, 22 Jan 2019 11:29:05 +0000 (12:29 +0100)]
[CI] Remove gcc 4.2 bots

We don't support that version anymore.

5 years agoConvert all other enum class consts to static constexpr
Behdad Esfahbod [Tue, 22 Jan 2019 11:15:23 +0000 (12:15 +0100)]
Convert all other enum class consts to static constexpr

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

5 years agoConvert unsigned enum class consts to static constexpr
Behdad Esfahbod [Tue, 22 Jan 2019 11:11:24 +0000 (12:11 +0100)]
Convert unsigned enum class consts to static constexpr

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

5 years agoConvert tag enum class consts to static constexpr
Behdad Esfahbod [Tue, 22 Jan 2019 11:08:57 +0000 (12:08 +0100)]
Convert tag enum class consts to static constexpr

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

5 years agoConvert boolean enum class consts to static constexpr
Behdad Esfahbod [Tue, 22 Jan 2019 11:07:43 +0000 (12:07 +0100)]
Convert boolean enum class consts to static constexpr

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

5 years agoMake some enum constants unsigned
Behdad Esfahbod [Tue, 22 Jan 2019 11:05:35 +0000 (12:05 +0100)]
Make some enum constants unsigned

5 years agoWhitespace
Behdad Esfahbod [Tue, 22 Jan 2019 11:02:06 +0000 (12:02 +0100)]
Whitespace

5 years agopragma GCC diagnostic error "-Wvla"
Behdad Esfahbod [Tue, 22 Jan 2019 11:00:44 +0000 (12:00 +0100)]
pragma GCC diagnostic error   "-Wvla"

5 years agoFix grammar
Alfie John [Tue, 22 Jan 2019 08:58:36 +0000 (19:58 +1100)]
Fix grammar

5 years agoGrammar fix
Alfie John [Tue, 22 Jan 2019 00:03:02 +0000 (00:03 +0000)]
Grammar fix

5 years agoRemove wrongly added files
Behdad Esfahbod [Mon, 21 Jan 2019 01:09:10 +0000 (20:09 -0500)]
Remove wrongly added files

5 years agoUse enum for class constant
Behdad Esfahbod [Mon, 21 Jan 2019 00:51:08 +0000 (19:51 -0500)]
Use enum for class constant

5 years ago[CFF] Use enum for tableTag
Behdad Esfahbod [Mon, 21 Jan 2019 00:49:59 +0000 (19:49 -0500)]
[CFF] Use enum for tableTag

5 years agoUse static constexpr for large class constants
Behdad Esfahbod [Mon, 21 Jan 2019 00:47:52 +0000 (19:47 -0500)]
Use static constexpr for large class constants

5 years agoRegular spaces will do
Khaled Hosny [Mon, 21 Jan 2019 14:44:48 +0000 (16:44 +0200)]
Regular spaces will do

5 years agoAdding leading space for code example
Alfie John [Mon, 21 Jan 2019 05:00:01 +0000 (05:00 +0000)]
Adding leading space for code example

5 years agoFix description of example
Alfie John [Mon, 21 Jan 2019 04:54:27 +0000 (04:54 +0000)]
Fix description of example

5 years agoAdded option to build docs to docs
Alfie John [Mon, 21 Jan 2019 04:47:05 +0000 (04:47 +0000)]
Added option to build docs to docs

5 years agoWhitespace
Behdad Esfahbod [Thu, 10 Jan 2019 05:24:51 +0000 (21:24 -0800)]
Whitespace

5 years agoUse more iter pipelines
Behdad Esfahbod [Thu, 10 Jan 2019 05:00:13 +0000 (21:00 -0800)]
Use more iter pipelines

5 years ago[algs] Add hb_iter()
Behdad Esfahbod [Thu, 10 Jan 2019 04:58:25 +0000 (20:58 -0800)]
[algs] Add hb_iter()

Makes it nicer in pipelines.

5 years agoUse iter pipelines more
Behdad Esfahbod [Thu, 10 Jan 2019 04:54:21 +0000 (20:54 -0800)]
Use iter pipelines more

5 years ago[iter] Default projection to identity
Behdad Esfahbod [Thu, 10 Jan 2019 03:49:13 +0000 (19:49 -0800)]
[iter] Default projection to identity

5 years ago[algs] Add hb_identity
Behdad Esfahbod [Thu, 10 Jan 2019 03:42:41 +0000 (19:42 -0800)]
[algs] Add hb_identity

5 years agoFix unused-variable warnings
Behdad Esfahbod [Thu, 10 Jan 2019 00:19:40 +0000 (16:19 -0800)]
Fix unused-variable warnings

inline variables are not C++11, so mark them unused...

5 years agoWIP
Behdad Esfahbod [Wed, 9 Jan 2019 21:28:00 +0000 (13:28 -0800)]
WIP

5 years ago[iter] Use forwarding references
Behdad Esfahbod [Wed, 9 Jan 2019 20:42:01 +0000 (12:42 -0800)]
[iter] Use forwarding references

5 years ago[algs] Fix hb_first() / hb_second()
Behdad Esfahbod [Wed, 9 Jan 2019 20:36:17 +0000 (12:36 -0800)]
[algs] Fix hb_first() / hb_second()

5 years ago[iter] Misc fixes to get piping almost work
Behdad Esfahbod [Wed, 9 Jan 2019 20:35:45 +0000 (12:35 -0800)]
[iter] Misc fixes to get piping almost work

5 years agoChange hb_first() and hb_second() to function objects
Behdad Esfahbod [Wed, 9 Jan 2019 20:22:14 +0000 (12:22 -0800)]
Change hb_first() and hb_second() to function objects

5 years ago[iter] Add hb_filter()
Behdad Esfahbod [Wed, 9 Jan 2019 19:32:33 +0000 (11:32 -0800)]
[iter] Add hb_filter()

Untested.