Commit Graph

7624 Commits

Author SHA1 Message Date
Behdad Esfahbod 0819f3ca86 Deprecate v_kerning callback again
Part of https://github.com/harfbuzz/harfbuzz/issues/1682
2019-06-17 14:02:47 -07:00
Behdad Esfahbod eb2825c7f1 Minor 2019-06-17 13:42:53 -07:00
Behdad Esfahbod 896416bd4c Partially revert "[ft/ot] Remove implementation of deprecated kerning funcs"
This reverts commit 47030b1855.

Reverts only the hb-ft part, to reinstate non-OpenType kerning with
FreeType.

Fixes https://github.com/harfbuzz/harfbuzz/issues/1682
2019-06-17 13:39:49 -07:00
Behdad Esfahbod 2682efb02d Revert "Deprecate font kern API"
This reverts commit d219f899f4.

API change: Un-deprecate font kern API.

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

We should document that this API is only necessary to hook up
non-OpenType kerning.  hb-ot-font will continue to NOT implement them.
2019-06-17 13:38:49 -07:00
David Corbett d6cb244f7d Canonically reorder U+0C55 and U+0C56 2019-06-16 16:44:45 -07:00
Michiharu Ariza 82d4bfb8f3 enable cff subset tests
add Unicode UCS-4 cmap
fix Unicode bits in OS/2
add Unicode cmap sub-table in SourceHanSans-Regular_subset.otf
regenerate cff subset test expected results
2019-06-14 11:08:59 -07:00
Ebrahim Byagowi 6bcbe495bf
[cff] minor format (#1774) 2019-06-13 15:04:51 +04:30
David Corbett 4f37c0db9b Remove 'mym3' 2019-06-11 15:41:37 -07:00
Michiharu Ariza 90872a29ee change assert(false) to failure 2019-06-11 12:42:28 -07:00
Behdad Esfahbod 0c5da57d1a Fix typo :) 2019-06-10 14:06:25 -07:00
Ebrahim Byagowi 19b8eb08e5
Move HB_NO_SETLOCALE to closer place to its to unbreak HB_TINY build (#1768) 2019-06-11 01:33:30 +04:30
Ebrahim Byagowi b4a5a69ad8
Add HB_NO_OEPN (#1767) 2019-06-11 01:33:09 +04:30
Ebrahim Byagowi a36ff94171 Add HB_NO_SETLOCALE 2019-06-10 12:54:02 -07:00
Ebrahim Byagowi c4cae81a26 Remove round polyfill
Added in 01dff1e and 19256bef, this was targeted at older
msvc versions that don't support C99 but now as we require
C++11 we don't target places those envs thus removing this.
2019-06-10 12:49:50 -07:00
Behdad Esfahbod ff9b9b1c89 Simplify HB_PARTIALIZE impl
+this works on gcc 4.8 as well as default code path.
2019-06-10 12:48:25 -07:00
Behdad Esfahbod 451edbd4d0 Revert "Test new solution for HB_PARTIALIZE"
This reverts commit a0c4900799.
2019-06-10 12:46:54 -07:00
Behdad Esfahbod a0c4900799 Test new solution for HB_PARTIALIZE
Just testing bots.  Will finish based on results.
2019-06-10 12:33:23 -07:00
Ebrahim Byagowi 9407ef8d4b
minor, add HB_USE_INTERNAL_QSORT
The only thing I need for a working wasm in a minimum libc,
otherwise I have to provide the very same qsort inside that libc
2019-06-10 15:17:43 +04:30
Ebrahim Byagowi 7dcfc5357d
[stat] minor format 2019-06-09 11:58:08 +04:30
Ebrahim Byagowi 2646c7149c
[stat] minor 2019-06-09 11:51:58 +04:30
Ebrahim Byagowi c4669fda78
[algs] minor 2019-06-09 11:50:36 +04:30
Ebrahim Byagowi 9b853f755d
[cff] Use switch on multi-format structs (#1762) 2019-06-09 11:49:25 +04:30
Ebrahim Byagowi eff579f743 Update and use internal qsort everywhere 2019-06-08 12:53:27 -07:00
Behdad Esfahbod 5074d665a8 [ucd] Save another 1.5kb
https://github.com/harfbuzz/harfbuzz/issues/1652
2019-06-07 14:21:40 -07:00
Behdad Esfahbod 973699c49b Disable clang gcc impersonator 2019-06-07 12:49:06 -07:00
Behdad Esfahbod e4e518f33d Fix build on gcc 4.8
Fixes https://github.com/harfbuzz/harfbuzz/issues/1724
2019-06-07 12:41:09 -07:00
Behdad Esfahbod 3c240bd3dc Downgrade double-promotion from error to warning
https://github.com/harfbuzz/harfbuzz/issues/1740
2019-06-07 10:56:24 -07:00
Ebrahim Byagowi 385e436692 Minor, fix gcc maybe-uninitialized complain
I guess all of its field will be initialized anyway here but lets make it more defensive
2019-06-07 10:49:57 -07:00
Ebrahim Byagowi 1bada656a8
Minor, remove unnecessary semicolon
Causing -Wextra-semi-stmt build error when no primitive has chosen
Interesting that nobody has noticed it yet.
2019-06-07 02:01:27 +04:30
Garret Rieger f9b1ae7336 [subset] Move OS/2 to subset2. 2019-06-06 12:33:42 -07:00
Qunxin Liu 93d592e0e1 [subset] post table to use _subset2 2019-06-06 10:55:25 -07:00
Qunxin Liu db938479d7 [subset] maxp table to use _subset2 2019-06-05 14:56:21 -07:00
Eli Zaretskii d5e5f37832 This makes minor changes to allow building HarfBuzz with
mingw.org's MinGW.

src/hb-algs.hh: Don't compile _BitScanForward and _BitScanReverse
for GCC >= 4.  mingw.org's MinGW doesn't have these functions.

src/hb-atomic.hh: MemoryBarrier does exist in mingw.org's MinGW,
but it is not a macro, it is an inline function.  __MINGW32_VERSION
is a macro that exists only in mingw.org's MinGW, so conditioning
on it should not affect MinGW64, where MemoryBarrier is a macro.

src/hb-uniscribe.cc: Define E_NOT_SUFFICIENT_BUFFER if it is not
defined (mingw.org's MinGW doesn't).

src/hb.hh: Don't include intrin.h for mingw.org's MinGW, since that
header is not available; instead, include windows.h.  Conditioned
on __MINGW32_VERSION to avoid affecting MinGW64.
2019-06-05 14:37:51 -07:00
Behdad Esfahbod c7439d4e3a Slightly massage buffer-messaging commit
Saves a few bytes.
2019-06-05 12:15:09 -07:00
Ebrahim Byagowi 4b1b0bf2f5
Merge pull request #1755 from ebraminio/slim
Don't use vsnprintf when HB_NO_BUFFER_MESSAGE is defined
2019-06-05 12:57:28 +04:30
Ebrahim Byagowi 815f002bb9 Don't use vsnprintf when HB_NO_BUFFER_MESSAGE is defined 2019-06-05 10:38:06 +04:30
David Corbett 2e16593b70 [myanmar] Make medial_group match the OT spec
Sometime between [July 2018] and [January 2019], the OpenType Myanmar
grammar changed: one asat is now allowed after a medial ya, before any
other medial consonant.

[July 2018]: http://web.archive.org/web/20180711011550/https://docs.microsoft.com/en-us/typography/script-development/myanmar
[January 2019]: http://web.archive.org/web/20190115044451/https://docs.microsoft.com/en-us/typography/script-development/myanmar

This also reverts commit 439b05867c, which
allowed an asat immediately after a medial ra.
2019-06-04 13:02:04 -07:00
Qunxin Liu 209491fc37 [subset] Hmtx/vmtx tables to use subset2 and new iterator frameworks 2019-06-04 12:08:05 -07:00
Michiharu Ariza 12febd68d6 added parentheses to FDSelect::sanitize as well 2019-06-03 16:40:03 -07:00
Michiharu Ariza be82a2fc0c parenthesized cond-exp in CFF2FDSelect::sanitize 2019-06-03 15:52:23 -07:00
Ebrahim Byagowi 760eb1bf93
Reapply possible bsearch overflow fix
Originally introduced in 21ede86 (#1314) but as it wasn't applied to hb_bsearch
accidentally removed while merging hb_bsearch_r to it.
2019-06-03 05:48:04 -07:00
Bruce Mitchener 5846884f86 test: Use nullptr in C++ code. (#1744) 2019-06-03 12:30:25 +04:30
Ebrahim Byagowi 8278ff7dce
minor 2019-06-02 00:36:30 +04:30
Ebrahim Byagowi 33d38e793e
Use a unified bsearch (#1741)
A part of #593
2019-06-02 00:19:57 +04:30
Ebrahim Byagowi c91f3fa3ea
[dwrite] Replace REPLACEME with release version the symbol had 2019-06-01 10:55:37 +04:30
Behdad Esfahbod 93c455567f 2.5.1 2019-05-31 22:56:56 -07:00
Behdad Esfahbod 619f5f1eb9 Fourth try at building VS bots
Based on https://github.com/harfbuzz/harfbuzz/issues/1730#issuecomment-497151210
2019-05-31 22:49:34 -07:00
Behdad Esfahbod aba3888d93 Third try at fixing VS build
https://github.com/harfbuzz/harfbuzz/issues/1730
2019-05-31 22:49:34 -07:00
Behdad Esfahbod 8aaecbb583 Second VS fix try
https://github.com/harfbuzz/harfbuzz/issues/1730
2019-05-31 22:49:34 -07:00
Behdad Esfahbod 5a1b5c0a8b Try fixing VS builds
Hopefully fixes https://github.com/harfbuzz/harfbuzz/issues/1730
2019-05-31 22:49:34 -07:00
Behdad Esfahbod 92fde3dea2 Whitespace 2019-05-31 22:49:34 -07:00
rsheeter 49879adbfc [subset] Correct calculation of max offset; fixes bug where loca would erroneously be short 2019-05-31 19:43:30 -07:00
Behdad Esfahbod 2ad4ba7bc0 [gsub] Minor 2019-05-31 15:51:29 -07:00
Behdad Esfahbod 2dbdec66a1 [gsub] Porting serialize to iterators 2019-05-31 15:41:54 -07:00
Behdad Esfahbod 1834cf86d4 [serialize] Pass offset to serialize_subset() 2019-05-31 14:39:32 -07:00
Behdad Esfahbod 9260441624 [serialize] Pass offset to serialize_copy() 2019-05-31 14:35:01 -07:00
Behdad Esfahbod 87dd4bff1c [math] Rename HB_MATH_GLYPH_PART_FLAG_EXTENDER
To HB_OT_MATH_GLYPH_PART_FLAG_EXTENDER.  Added a deprecated macro.

Fixes https://github.com/harfbuzz/harfbuzz/issues/1734
2019-05-30 11:26:17 -04:00
Bruce Mitchener da9d43171b Fix some typos. 2019-05-28 17:13:57 +02:00
David Corbett d64fb9db52 [use] Allow U+1A60 TAI THAM SIGN SAKOT after vowel 2019-05-27 13:14:03 -04:00
Behdad Esfahbod 179570d4ca [atomic] Fix warning, second time
Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1554306
2019-05-27 13:08:07 -04:00
Behdad Esfahbod ad17a8bdd5 [ucd] Update for latest packTab 2019-05-25 16:33:37 -04:00
Behdad Esfahbod 771712b3ca [ucd] Update for recent packTab
No need for separate youseedy package.
2019-05-25 16:33:37 -04:00
Behdad Esfahbod 85b68a42af [atomic] Fix warnings
https://bugzilla.mozilla.org/show_bug.cgi?id=1554306
2019-05-25 12:59:01 -04:00
Behdad Esfahbod 210f93c143 [mutex] Prefer pthread over windows
https://github.com/harfbuzz/harfbuzz/issues/1728
2019-05-25 12:49:20 -04:00
Behdad Esfahbod 5fd3ece523 2.5.0 2019-05-24 15:57:57 -04:00
Behdad Esfahbod 1da089179b Put back Since: tags for hb_color_get_* 2019-05-24 15:41:34 -04:00
Qunxin Liu e1a5ce6aa6 Fix fuzzer crash testcase
Add a check for stringOffSet(uint16) overflow,
return early if overflow happens
2019-05-24 15:26:20 -04:00
David Corbett d100ccad02 [use] Allow multiple FMs in a cluster 2019-05-24 15:07:29 -04:00
Behdad Esfahbod 487879e013 Don't compile in UCD if HB_NO_UCD defined 2019-05-24 14:35:26 -04:00
Behdad Esfahbod 1fffe51a29 [blob] Shuffle 2019-05-24 14:35:26 -04:00
rsheeter 96de94768b
Merge pull request #1722 from googlefonts/glyf
[subset] Use iterators in glyf/loca subsetting
2019-05-24 11:22:41 -07:00
Rod Sheeter 1197bef26c [subset] Per code review, use hb_array to avoid duplicated type name 2019-05-24 10:52:49 -07:00
Rod Sheeter 13b3cd307e [subset] Address @behdad review feedback 2019-05-24 10:10:12 -07:00
Behdad Esfahbod 226ab06ec1 [ucd] Add URL to dependencies 2019-05-23 20:39:04 -04:00
Behdad Esfahbod 65392b734e [ucdn] Replace UCDN with a new UCD implementation
UCDN was ~120kb of data.  New implementatoin is 69kb in default builds,
and 49kb if built with HB_OPTIMIZE_SIZE or __OPTIMIZE_SIZE__.  The
latter automatically enabled if built with -Os or -Oz.

There's room to shave off another 10kb or 20kb.  That will follow later.

Fixes https://github.com/harfbuzz/harfbuzz/issues/1652
2019-05-23 20:34:19 -04:00
Behdad Esfahbod 12c59f6c40 [deprecated] Minor 2019-05-23 20:34:19 -04:00
Behdad Esfahbod 36dee9221f [gen-ucd] Rename 2019-05-23 20:34:19 -04:00
Behdad Esfahbod 831c213501 [gen-ucd] Minor 2019-05-23 20:34:19 -04:00
Garret Rieger ff7fc6d488 [subset] Add morx, mort, kern, and kernx to the default layout tables drop list. 2019-05-22 17:36:16 -07:00
Qunxin Liu 993d81b9c5 [subset] Add one ttf file with fvar/STAT tables to integration test
Ignore gvar/MVAR/HVAR table
add support for --nameIDs=* option
2019-05-22 17:20:45 -07:00
Rod Sheeter 58ce477ac1 [subset] Report failure more often 2019-05-21 20:22:40 -07:00
Rod Sheeter 14e3b0cf41 [subset] Code review feedback 2019-05-21 20:09:36 -07:00
Behdad Esfahbod a03ed95e7d [gen-ucd] Generate decomposition tables
Code is ugly.  Ugh.
2019-05-21 16:43:39 -04:00
Behdad Esfahbod 8a48c88fa9 [gen-ucd] Comment 2019-05-21 16:43:39 -04:00
Behdad Esfahbod b71d353cee [gen-ucd] Remove some code 2019-05-21 16:43:39 -04:00
Rod Sheeter 4ea44112b5 [subset] Remove missed reference to hb-subset-glyf, was deleted 2019-05-21 13:07:43 -07:00
Garret Rieger 0af9de13b7 [subset] For gsub subsetting only consider glyphs reachable via gsub closure. 2019-05-21 13:02:11 -07:00
Rod Sheeter 349d692b0e [subset] Iter in and out for loca 2019-05-21 12:38:53 -07:00
Rod Sheeter 95445d79be [subset] Write loca using more idiomatic harfbuzzese 2019-05-21 11:14:31 -07:00
Rod Sheeter d1b12a5465 Merge branch 'master' of https://github.com/harfbuzz/harfbuzz into glyf 2019-05-20 21:29:54 -07:00
Rod Sheeter 3a43603ece [subset] Fix memory leak caused by failure to cleanup glyf accelerator 2019-05-20 21:25:42 -07:00
Rod Sheeter 5cedda5e4a [subset] Fix null pointer deref, tidy up a bit 2019-05-20 21:25:42 -07:00
Rod Sheeter 8a84b540c7 [subset] Tests passing using iterator based glyf 2019-05-20 21:25:42 -07:00
Rod Sheeter 82bbec3063 Merge branch 'master' of https://github.com/harfbuzz/harfbuzz into glyf 2019-05-20 21:25:42 -07:00
rsheeter 9d09ac13a1 [subset] Tweak hint stripping 2019-05-20 21:25:42 -07:00
rsheeter 3a4c928fcf [subset] Fix glyf tests except hint stripping & local test asan 2019-05-20 21:25:42 -07:00
Rod Sheeter b77dde8f13 [subset] Destroy blob 2019-05-20 21:25:35 -07:00
Rod Sheeter 14db6512f8 [subset] Correct flipped use short computation 2019-05-20 21:25:29 -07:00
Rod Sheeter ab3fe5de2b [subset] Glyf by iter now runs but fails tests 2019-05-20 21:25:16 -07:00
rsheeter 0d7fef2d50 [subset] Dinner time, checkpoint 2019-05-20 21:25:11 -07:00
rsheeter 240bc86e3a [subset] Remove subset-glyf; want everything to point to new iter-based edition. Some of the code will resurface as impl builds out. 2019-05-20 21:25:05 -07:00
rsheeter 02d4d4f3e6 [subset] Starting to sketch glyf as iter 2019-05-20 21:24:59 -07:00
Behdad Esfahbod 1aadd1449c [gen-ucd] Generate script order table 2019-05-20 17:29:27 -04:00
Behdad Esfahbod be8de18867 [gen-ucd] Start adding script-order 2019-05-20 17:29:27 -04:00
Behdad Esfahbod 4a0eb066fd [gen-ucd] Add gc order 2019-05-20 17:29:27 -04:00
Behdad Esfahbod d1f9b2f961 [gen-ucd] Flesh out a bit more 2019-05-20 17:29:27 -04:00
Behdad Esfahbod d6de4659aa Add HB_OPTIMIZE_SIZE
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-05-20 17:29:27 -04:00
Garret Rieger 0ff3618c2d [subset] Use hb_subset_input_t inside of subset_options_t so that input defaults are shared between the library and cli. 2019-05-20 13:35:46 -07:00
Garret Rieger 3be0ffe45d [subset] Add drop tables to subset input. 2019-05-20 13:35:46 -07:00
Behdad Esfahbod 0ca7ad4352 [cff] Fix unlikely invocations 2019-05-20 11:39:07 -04:00
Behdad Esfahbod 3efb7af7e2 [STAT] Fix sanitize condition
Oops!

Fixes https://oss-fuzz.com/testcase-detail/5696825891225600
2019-05-20 11:37:16 -04:00
Ebrahim Byagowi e66eb21a46
Don't set _POSIX_C_SOURCE in NetBSD
According to a harfbuzz package patch on NetBSD project
https://github.com/NetBSD/pkgsrc/blob/trunk/fonts/harfbuzz/patches/patch-src_hb-blob.cc
2019-05-18 07:44:48 -07:00
Behdad Esfahbod 08c3648c6e Oops, fix include 2019-05-17 16:21:34 -07:00
Behdad Esfahbod 24958b8868 [set] Use StructAtOffsetUnaligned 2019-05-17 16:20:36 -07:00
Behdad Esfahbod b7be59311f Fix msan issue
The fact that HB_AUTO_RETURN will return rvalue-references for rvalues
is very disturbing.

Even apart from that, I'm totally lost re any hb_move needs or
hb_forward'ing to functions/templates where the type is fixed by
explicitly specifying template parameters.

==1==ERROR: AddressSanitizer: stack-use-after-return on address 0x7f6ad65e51e0 at pc 0x0000005da240 bp 0x7ffc104ab670 sp 0x7ffc104ab668
READ of size 4 at 0x7f6ad65e51e0 thread T0
SCARINESS: 55 (4-byte-read-stack-use-after-return)
     #0 0x5da23f in bool OT::Coverage::serialize<hb_map_iter_t<hb_map_iter_t<hb_filter_iter_t<OT::Coverage::iter_t, hb_set_t const&, $_7&, (void*)0>, OT::SingleSubstFormat1::subset(hb_subset_context_t*) const::'lambda'(unsigned int), (hb_function_sortedness_t)1, (void*)0>, $_20&, (hb_function_sortedness_t)1, (void*)0>, (void*)0>(hb_serialize_context_t*, hb_map_iter_t<hb_map_iter_t<hb_filter_iter_t<OT::Coverage::iter_t, hb_set_t const&, $_7&, (void*)0>, OT::SingleSubstFormat1::subset(hb_subset_context_t*) const::'lambda'(unsigned int), (hb_function_sortedness_t)1, (void*)0>, $_20&, (hb_function_sortedness_t)1, (void*)0>) harfbuzz/src/hb-ot-layout-common.hh:1055:16
     #1 0x5d88f9 in bool OT::SingleSubstFormat1::serialize<hb_map_iter_t<hb_map_iter_t<hb_filter_iter_t<OT::Coverage::iter_t, hb_set_t const&, $_7&, (void*)0>, OT::SingleSubstFormat1::subset(hb_subset_context_t*) const::'lambda'(unsigned int), (hb_function_sortedness_t)1, (void*)0>, $_20&, (hb_function_sortedness_t)1, (void*)0>, (void*)0>(hb_serialize_context_t*, hb_map_iter_t<hb_map_iter_t<hb_filter_iter_t<OT::Coverage::iter_t, hb_set_t const&, $_7&, (void*)0>, OT::SingleSubstFormat1::subset(hb_subset_context_t*) const::'lambda'(unsigned int), (hb_function_sortedness_t)1, (void*)0>, $_20&, (hb_function_sortedness_t)1, (void*)0>, unsigned int) harfbuzz/src/hb-ot-layout-gsub-table.hh:98:9
2019-05-16 13:34:19 -07:00
Behdad Esfahbod bcd3ffc948 Whitespace 2019-05-16 13:27:08 -07:00
Behdad Esfahbod 05bc5f96fb [subset] Remove extra iteration 2019-05-16 13:05:58 -07:00
Garret Rieger 6555f20958 [subset] Truncate empty gids at the end in retain-gids mode. 2019-05-16 10:34:53 -07:00
Behdad Esfahbod 2376867649 Use hb_map(hb_add(this)) to dereference OffsetTo<>'s 2019-05-15 22:01:44 -07:00
Behdad Esfahbod 6f51e55524 [algs] Rename hb_bind to hb_partial
Since our API is the invers of what std::bind is, and closer to Python
functools.partial().
2019-05-15 21:41:12 -07:00
Behdad Esfahbod 0888e7bc86 [algs] Change hb_bind parameter number to be from one
To match std:;bind, even though our interfaces are very different.
2019-05-15 21:36:42 -07:00
Behdad Esfahbod dfa5e42971 Add back symmetric OffsetTo<>::friend operator+
Finally seems to be working now.
2019-05-15 21:18:14 -07:00
Behdad Esfahbod a06a236891 [algs] Partialize all operators 2019-05-15 21:16:09 -07:00
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
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
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