Commit Graph

9167 Commits

Author SHA1 Message Date
Behdad Esfahbod edc69ec935 [algs] Rewrite bind API
And add a partialization API use example to hb_add()
2019-05-15 21:09:56 -07:00
Behdad Esfahbod 16a3540ea4 [algs] Add hb_bind0 and hb_bind1 2019-05-15 20:48:20 -07:00
Behdad Esfahbod d214b07883 Fix clang build
Ugh.

In file included from hb-ot-face.cc:41:
./hb-ot-layout-gsub-table.hh:293:7: error: template parameter redefines default argument
         hb_requires (hb_is_sorted_source_of (Iterator,
         ^
./hb-meta.hh:59:27: note: expanded from macro 'hb_requires'
 define hb_requires(Cond) hb_enable_if((Cond))
                          ^
./hb-meta.hh:57:67: note: expanded from macro 'hb_enable_if'
 define hb_enable_if(Cond) typename hb_enable_if<(Cond)>::type* = nullptr
                                                                  ^
./hb-ot-layout-gsub-table.hh:40:5: note: previous default template argument defined here
    hb_requires (hb_is_sorted_source_of (Iterator,
    ^
./hb-meta.hh:59:27: note: expanded from macro 'hb_requires'
 define hb_requires(Cond) hb_enable_if((Cond))
                          ^
./hb-meta.hh:57:67: note: expanded from macro 'hb_enable_if'
 define hb_enable_if(Cond) typename hb_enable_if<(Cond)>::type* = nullptr
                                                                  ^
2019-05-15 19:07:39 -07:00
Behdad Esfahbod 371b55c7a0 Fix clang build
In file included from hb-ot-face.cc:41:
./hb-ot-layout-gsub-table.hh:293:7: error: template parameter redefines default argument
         hb_requires (hb_is_sorted_source_of (Iterator,
         ^
./hb-meta.hh:59:27: note: expanded from macro 'hb_requires'
 define hb_requires(Cond) hb_enable_if((Cond))
                          ^
./hb-meta.hh:57:67: note: expanded from macro 'hb_enable_if'
 define hb_enable_if(Cond) typename hb_enable_if<(Cond)>::type* = nullptr
                                                                  ^
./hb-ot-layout-gsub-table.hh:40:5: note: previous default template argument defined here
    hb_requires (hb_is_sorted_source_of (Iterator,
    ^
./hb-meta.hh:59:27: note: expanded from macro 'hb_requires'
 define hb_requires(Cond) hb_enable_if((Cond))
                          ^
./hb-meta.hh:57:67: note: expanded from macro 'hb_enable_if'
 define hb_enable_if(Cond) typename hb_enable_if<(Cond)>::type* = nullptr
                                                                  ^
1 error generated.
2019-05-15 19:04:24 -07:00
Behdad Esfahbod 243a5a6af2 [algs] Remove pair copy constructor
Use default.
2019-05-15 19:04:24 -07:00
Behdad Esfahbod f92d188d77 Whitespace 2019-05-15 18:52:57 -07:00
Garret Rieger 962f95cf80 [subset] Switch SingleSubst to use iterators in serialize. 2019-05-15 18:37:32 -07:00
Behdad Esfahbod 78d35f0e78 Reduce captures of lambdas 2019-05-15 18:15:05 -07:00
Behdad Esfahbod 5266ca86b6 Fix tests
Oops.
2019-05-15 17:59:00 -07:00
Behdad Esfahbod 5da8a3a90d Remove variadic form of hb_min/hb_max
Unused, and why here and not in other functions...
2019-05-15 17:11:18 -07:00
Behdad Esfahbod e5cfe9d582 Add arithmetic operators 2019-05-15 16:59:36 -07:00
Behdad Esfahbod f7a458510d Add hb_bitwise_* ops 2019-05-15 16:53:12 -07:00
Behdad Esfahbod d822e0a16f [array] Adjust operator!=
See comments.
2019-05-15 16:30:08 -07:00
Behdad Esfahbod 203ea58bf6 More adjustment to OffsetTo<>::friend opeator+
Let's see if I break any bots.  But yeah, it wasn't accepting a
non-const pointer.  It just happens that we don't use that in the
code it seems.
2019-05-15 16:14:40 -07:00
Behdad Esfahbod ebf47a95f2 [iter] Simplify operator!= of iterator filters
Both to save ops, and also because lambdas don't implement operator!=,
so this was failing in range-based for loop if a lambda was passed to
hb_map() or hb_filter().  Just check end-condition assuming that we
are comparing to .end() or iterators that are otherwise derived from
current iterator.  Ie. don't compare things that are expected to be
in common.
2019-05-15 15:14:26 -07:00
Behdad Esfahbod d3e1d5044f Add all pair_t comparison operators 2019-05-15 14:34:36 -07:00
Behdad Esfahbod f244224dbb [iter] Use default operators instead of redefining empty ones 2019-05-15 14:34:36 -07:00
David Corbett 125c45ed36 Convert Consonant_Initial_Postfixed to CONS_MED 2019-05-15 14:34:25 -07:00
David Corbett 99ca956c13 Fix record-test.sh on machines without sha1sum 2019-05-15 14:34:25 -07:00
Ebrahim Byagowi e2767e438c
[ci][test] Ignore other gcov symbols also
To fix https://travis-ci.org/harfbuzz/harfbuzz/jobs/532693197
2019-05-15 13:14:09 +04:30
Ebrahim Byagowi 397cbbd5ff
[ci][travis] Update its distribution
It may break things, lets see
2019-05-15 13:03:28 +04:30
Behdad Esfahbod 763ea4224b Another try 2019-05-15 01:21:32 -07:00
Behdad Esfahbod e1b2edb04a Completely revert the thing back 2019-05-15 01:12:04 -07:00
Behdad Esfahbod c58eeb5fb3 Another try at fix
Fails locally.  Trying to understand.  Sigh
2019-05-15 01:10:31 -07:00
Behdad Esfahbod 004edf3bda Ugh. How was the Travis bot happy before, but isn't now?! :( 2019-05-15 01:02:50 -07:00
Behdad Esfahbod e01c7b1648 Move OffsetTo operator+ back out of class
Apparently there's different overload resolution rules that apply, at
least with some (older?) version of gcc.

hb-ot-name-table.hh: In member function ‘void OT::name::accelerator_t::init(hb_face_t*)’:
hb-ot-name-table.hh:244:62: error: ambiguous overload for ‘operator+’ (operand types are ‘hb_blob_ptr_t<OT::name>’ and ‘OT::NNOffsetTo<OT::UnsizedArrayOf<OT::IntType<unsigned char, 1u> > > {aka const OT::OffsetTo<OT::UnsizedArrayOf<OT::IntType<unsigned char, 1u> >, OT::IntType<short unsigned int, 2u>, false>}’)
       this->pool = (const char *) (const void *) (this->table+this->table->stringOffset);
                                                              ^
hb-ot-name-table.hh:244:62: note: candidates are:
hb-ot-name-table.hh:244:62: note: operator+(const C*, long int) <built-in>
hb-ot-name-table.hh:244:62: note: operator+(const char*, long int) <built-in>
2019-05-15 00:52:17 -07:00
Behdad Esfahbod b213042f87 Revert "Revert symmetric OffsetTo overloads"
This reverts commit 01912efb74.

Actually this didn't break things.  Fixing
2019-05-15 00:50:48 -07:00
Behdad Esfahbod 01912efb74 Revert symmetric OffsetTo overloads
Reverts 57f65ae935

Caused ambiguous-overload on some gcc...
2019-05-15 00:42:47 -07:00
Behdad Esfahbod d0df996cdc Use implicit lambda return type 2019-05-15 00:32:41 -07:00
Behdad Esfahbod 57f65ae935 Add symmetric friend operator+ for OffsetTo 2019-05-14 22:52:59 -07:00
Behdad Esfahbod 71208e5047 Move OffsetTo<> deref operators in-class as friends 2019-05-14 22:51:59 -07:00
Behdad Esfahbod e6d6f4b96d Whitespace 2019-05-14 22:46:31 -07:00
Behdad Esfahbod 889dc1eb06 [iter] Remove sort categorization
See comments.
2019-05-14 22:28:07 -07:00
Behdad Esfahbod b4eff38397 Start of gen-ucd.py, to replace UCDN 2019-05-14 14:44:27 -07:00
Qunxin Liu 02e5e5d939 [subset] retian nameids from STAT and fvar tables 2019-05-14 14:44:17 -07:00
Behdad Esfahbod ff7995200e Hopefully last warning fix 2019-05-14 07:44:03 -07:00
Ebrahim Byagowi d1baf99697
[ci] add HB_TINY to asmjs builder 2019-05-14 16:16:46 +04:30
Ebrahim Byagowi 9e7c9c3adb
Fix -Wunused-function on HB_NO_SHAPE_AAT
We should add a bot for it
Part of #1652
2019-05-14 15:58:51 +04:30
Dominik Röttsches c73d7ba75d Fix building with HB_NO_SUBSET_LAYOUT
Fixes an unused function warning when building with HB_NO_SUBSET_LAYOUT
as part of the Chrome build.
2019-05-14 13:31:44 +03:00
Behdad Esfahbod f39934983f [ucdn] Fix Hangul composition
https://github.com/grigorig/ucdn/issues/23
2019-05-14 00:13:21 -07:00
Behdad Esfahbod b2ab15a78c Fix more warnings 2019-05-13 23:47:28 -07:00
Behdad Esfahbod 42ae468a8a [config] Add NDEBUG and HB_NDEBUG
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-05-13 23:43:45 -07:00
Behdad Esfahbod 0a01deb76f One more warning fix
No idea where these appear from...
2019-05-13 18:04:09 -07:00
Behdad Esfahbod f76e9f2ede [icu] Comment 2019-05-13 17:39:46 -07:00
Behdad Esfahbod 70fe9e7355 Fix moreeeeeeeeeee 2019-05-13 17:35:02 -07:00
Behdad Esfahbod 68e12e68f8 Fix more semi-colon issues 2019-05-13 17:28:59 -07:00
Behdad Esfahbod 4d3cf2adb6 [iter] Fix zip iterator sortedness classification logic 2019-05-13 17:25:07 -07:00
Behdad Esfahbod c572732f29 Fix more excess semi-colon errors 2019-05-13 15:41:09 -07:00
Behdad Esfahbod 513762849a [iter] Track strictly-sorted iterators
This make output of hb_enumerate() sorted regardless of input iterator.
2019-05-13 15:36:14 -07:00
Behdad Esfahbod 7e02063f32 [iter] Minor 2019-05-13 15:26:00 -07:00