Ebrahim Byagowi [Wed, 17 Jul 2019 16:58:25 +0000 (21:28 +0430)]
Improve syntax to make out linux-arm64 a little happy
Decided to apply is we did the same on other places however this won't
fix all of its complains
Ebrahim Byagowi [Wed, 17 Jul 2019 16:52:38 +0000 (21:22 +0430)]
Downgrade -Wdeprecated-declarations to warning
Fixes #1834 at least till fix of #1829
Behdad Esfahbod [Wed, 17 Jul 2019 16:35:56 +0000 (09:35 -0700)]
[amalgam] Fix redundant-declaration warning/error
Ali Javadi [Tue, 16 Jul 2019 17:40:24 +0000 (22:10 +0430)]
Fix C++20 compile warning on implicit capture of this with '=' default capture (#1833)
Happens when compiled with -std=c++2a, the fix just makes the captures explicit to resolve the issue. Just adding this in addition to = doesn't work in C++11.
src/hb-ot-layout-gpos-table.hh:737:18: warning: implicit capture of 'this' with a capture default of '=' is deprecated [-Wdeprecated-this-capture]
{ return (this+_).intersects (glyphs, valueFormat); })
^
src/hb-ot-layout-gpos-table.hh:736:16: note: add an explicit capture of 'this' to capture '*this' by reference
| hb_map ([=] (const OffsetTo<PairSet> &_)
^
, this
Ebrahim Byagowi [Tue, 16 Jul 2019 06:54:29 +0000 (11:24 +0430)]
[usp] define atfree callback only if used
Qunxin Liu [Wed, 26 Jun 2019 20:23:24 +0000 (13:23 -0700)]
[subset] For option "--unicodes", add support for "*" to retain all code points
Behdad Esfahbod [Fri, 12 Jul 2019 22:38:35 +0000 (15:38 -0700)]
Revert "Update Graphite API to latest (#1215)"
This reverts commit
e4e74c2751ac24178086cce2811d34d8019b6f85.
See https://github.com/harfbuzz/harfbuzz/issues/1829
Ebrahim Byagowi [Thu, 11 Jul 2019 10:40:36 +0000 (15:10 +0430)]
[fuzz] Increase subset runner timeout for tsan bot
Now is flaky let's just increase and maybe investigate later
Ebrahim Byagowi [Thu, 11 Jul 2019 10:01:55 +0000 (14:31 +0430)]
[fuzz] Don't fail when blob is empty
And enable more tests able to trig the issue.
Ebrahim Byagowi [Wed, 10 Jul 2019 21:05:06 +0000 (01:35 +0430)]
Fix unintialized memory read in cmap subset (#1826)
Ebrahim Byagowi [Wed, 10 Jul 2019 12:11:40 +0000 (16:41 +0430)]
Don't call memcpy when a table is empty
Ebrahim Byagowi [Wed, 10 Jul 2019 09:58:06 +0000 (14:28 +0430)]
Force blob generation and memory check in hb-subset-fuzzer
Dominik Röttsches [Mon, 8 Jul 2019 07:19:49 +0000 (10:19 +0300)]
Revert "Minor" - revert moving extern "C" definitions in-function
This reverts commit
62e60322cb9e18b3ee75f1b4a2a6d3069f587407 since it
breaks building HarfBuzz as part of Chromium.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1821.
Behdad Esfahbod [Fri, 5 Jul 2019 20:56:45 +0000 (13:56 -0700)]
[font] Remove division when scaling
Yoohoo. This seems to be precise enough! Let's see if it sticks.
I'm asking Dominik to run this in Chrome test suite and report.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1801
Behdad Esfahbod [Fri, 5 Jul 2019 20:52:09 +0000 (13:52 -0700)]
[font] Keep font-space to user-space multiplier
Part of https://github.com/harfbuzz/harfbuzz/issues/1801
Behdad Esfahbod [Fri, 5 Jul 2019 20:45:15 +0000 (13:45 -0700)]
Make face immutable in hb_font_set_face()
Behdad Esfahbod [Fri, 5 Jul 2019 20:18:05 +0000 (13:18 -0700)]
[ot-font] Optimize rounding
Part of https://github.com/harfbuzz/harfbuzz/issues/1801
The assumption that compiler optimizes "upem/2" to a shift only
works if upem is unsigned... Anyway, spoon-feed the compiler.
Simon Sapin [Fri, 5 Jul 2019 17:05:11 +0000 (19:05 +0200)]
Clusters are reversed based on the direction, not script
Fixes https://github.com/harfbuzz/harfbuzz/issues/1818
Simon Sapin [Thu, 4 Jul 2019 19:06:59 +0000 (21:06 +0200)]
Docs: fix a typo in function name
Simon Sapin [Thu, 4 Jul 2019 21:05:50 +0000 (23:05 +0200)]
hb_set_previous_range docs: fix presumed copy/paste error
Simon Sapin [Thu, 4 Jul 2019 21:03:45 +0000 (23:03 +0200)]
Docs typo fix: slower → lower
Ebrahim Byagowi [Fri, 5 Jul 2019 14:16:41 +0000 (18:46 +0430)]
[amalgam] Use it in cmake port and fix conflicts (#1812)
Behdad Esfahbod [Wed, 3 Jul 2019 19:17:57 +0000 (12:17 -0700)]
[amalgam] Include integration source files as well
Just for those that are normally built into libharfbuzz itself.
Part of https://github.com/harfbuzz/harfbuzz/issues/1809
Behdad Esfahbod [Wed, 3 Jul 2019 19:10:03 +0000 (12:10 -0700)]
[amalgam] Rename hb.cc to harfbuzz.cc
Part of https://github.com/harfbuzz/harfbuzz/issues/1809
Behdad Esfahbod [Wed, 3 Jul 2019 02:44:18 +0000 (19:44 -0700)]
Revert "Use constexpr to replace passthru_ bools"
This reverts commit
c4aa10ebc8dc28b1f9c90af2ca2092a7535f8395.
Broke several compilers... Sigh. The version without constexpr
didn't fully optimize out the unreachable code on clang.
So, revert it is...
Behdad Esfahbod [Wed, 3 Jul 2019 02:15:03 +0000 (19:15 -0700)]
Use constexpr to replace passthru_ bools
Behdad Esfahbod [Wed, 3 Jul 2019 00:55:58 +0000 (17:55 -0700)]
Sprinkle constexpr around
Being conservative. Also not sure it makes any real difference
in our codebase.
Behdad Esfahbod [Wed, 3 Jul 2019 00:11:09 +0000 (17:11 -0700)]
Remove unused 'inline' specifier
Behdad Esfahbod [Tue, 2 Jul 2019 23:19:18 +0000 (16:19 -0700)]
[amalgam] Add hb.cc to git
Part of https://github.com/harfbuzz/harfbuzz/issues/1809
Behdad Esfahbod [Tue, 2 Jul 2019 23:07:03 +0000 (16:07 -0700)]
Minor
Behdad Esfahbod [Tue, 2 Jul 2019 23:02:13 +0000 (16:02 -0700)]
[amalgam] Fix UCD issue
This actually makes it build now!
Part https://github.com/harfbuzz/harfbuzz/issues/1809
Keeping open to add tests, CI, etc.
Behdad Esfahbod [Tue, 2 Jul 2019 23:00:58 +0000 (16:00 -0700)]
[amalgam] Fix CFF
Part of https://github.com/harfbuzz/harfbuzz/issues/1809
Behdad Esfahbod [Tue, 2 Jul 2019 22:23:00 +0000 (15:23 -0700)]
[amalgam] Finish fixing Indic-like shapers
Part of https://github.com/harfbuzz/harfbuzz/issues/1809
Behdad Esfahbod [Tue, 2 Jul 2019 22:19:39 +0000 (15:19 -0700)]
[use] Remove Syriac features
This was non-standard, and unused anyway.
Behdad Esfahbod [Tue, 2 Jul 2019 22:17:56 +0000 (15:17 -0700)]
[amalgam] More Indic-like issues
Part of https://github.com/harfbuzz/harfbuzz/issues/1809
Behdad Esfahbod [Tue, 2 Jul 2019 22:09:26 +0000 (15:09 -0700)]
[amalgam] More
Part of https://github.com/harfbuzz/harfbuzz/issues/1809
Behdad Esfahbod [Tue, 2 Jul 2019 21:42:45 +0000 (14:42 -0700)]
[amalgam] Fix most duplicate-id instances in Indic-like shapers
Part of https://github.com/harfbuzz/harfbuzz/issues/1809
Behdad Esfahbod [Tue, 2 Jul 2019 21:26:45 +0000 (14:26 -0700)]
Add make rule to build hb.cc
Part of https://github.com/harfbuzz/harfbuzz/issues/1809
Behdad Esfahbod [Tue, 2 Jul 2019 21:18:38 +0000 (14:18 -0700)]
Add ucd-table make target
Michiharu Ariza [Sun, 30 Jun 2019 23:13:07 +0000 (16:13 -0700)]
add bimap test along with bug fix/tweaks
Ebrahim Byagowi [Mon, 1 Jul 2019 15:38:22 +0000 (20:08 +0430)]
Merge pull request #1806 from carlo-bramini/master
Make harfbuzz working on all existing versions of Windows
Ebrahim Byagowi [Mon, 1 Jul 2019 15:00:21 +0000 (19:30 +0430)]
[dwrite] Apply minor style improves
Carlo Bramini [Mon, 1 Jul 2019 14:06:43 +0000 (16:06 +0200)]
Fix error rised by GCC8+
Carlo Bramini [Mon, 1 Jul 2019 11:31:26 +0000 (13:31 +0200)]
Use lower case file name with #include
I tried to cross compile harfbuzz for Windows and an error was generated because `DWrite_1.h` was not found.
This happened because the filesystem is case sensitive and for this reason that include file was not found.
The right name of the file to be used is `dwrite_1.h`, with all letters not capitalized:
https://docs.microsoft.com/en-us/windows/desktop/api/dwrite_1/
I also verified in the installation of VS2017 with Windows Kit v10 and in that place it was also lower case.
So, in my opinion it should be better to change this.
Carlo Bramini [Sun, 30 Jun 2019 13:06:30 +0000 (15:06 +0200)]
Empty DIRECTWRITE_LIBS
Not used anymore since DWRITE is loaded dynamically.
Carlo Bramini [Sun, 30 Jun 2019 13:03:44 +0000 (15:03 +0200)]
Dynamically load DWRITE
Also checks if DWriteCreateFactory() has been executed successfully.
Behdad Esfahbod [Fri, 28 Jun 2019 23:00:37 +0000 (16:00 -0700)]
[config] Fix CoreText build with NO_AAT
Ebrahim Byagowi [Fri, 28 Jun 2019 19:30:00 +0000 (00:00 +0430)]
Apply some minor improves on CFFIndex
Ebrahim Byagowi [Fri, 28 Jun 2019 19:14:14 +0000 (23:44 +0430)]
minor, reuse StructAtOffset logic in StructAtOffsetOrNull
Ebrahim Byagowi [Fri, 28 Jun 2019 18:41:52 +0000 (23:11 +0430)]
minor style improve in hb-cff-interp-common.hh
Ebrahim Byagowi [Fri, 28 Jun 2019 18:23:51 +0000 (22:53 +0430)]
style fix for pylint complain
Behdad Esfahbod [Thu, 27 Jun 2019 21:48:10 +0000 (14:48 -0700)]
[config] Add links
Behdad Esfahbod [Thu, 27 Jun 2019 20:42:51 +0000 (13:42 -0700)]
[test] Make Unicode tests strict against internal UCD
https://github.com/harfbuzz/harfbuzz/pull/1799
David Corbett [Thu, 27 Jun 2019 01:10:11 +0000 (21:10 -0400)]
Test at least one character per Unicode version
Ebrahim Byagowi [Thu, 27 Jun 2019 17:39:28 +0000 (22:09 +0430)]
Merge pull request #1800 from harfbuzz/harfbuzz/cffnull_fix2
[CFF] fix for Subrs null ptr access
Michiharu Ariza [Thu, 27 Jun 2019 15:43:31 +0000 (08:43 -0700)]
add test case file
Michiharu Ariza [Wed, 26 Jun 2019 22:58:38 +0000 (15:58 -0700)]
alternate fix for https://crbug.com/971933
Behdad Esfahbod [Wed, 26 Jun 2019 21:57:48 +0000 (14:57 -0700)]
[config] Don't disable emoji sequences in HB_TINY
It makes sense to disable this code these if editing is not needed.
However, this is also necessary to correctly display emoji sequences
in right-to-left direction. For that reason, don't auto-disable it.
Behdad Esfahbod [Wed, 26 Jun 2019 21:51:17 +0000 (14:51 -0700)]
[config] Compile out modified combining-class if HB_NO_OT_SHAPE
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod [Wed, 26 Jun 2019 21:49:15 +0000 (14:49 -0700)]
[emoji] Port generator to packtab
Behdad Esfahbod [Wed, 26 Jun 2019 21:29:39 +0000 (14:29 -0700)]
[config] Add HB_NO_EMOJI
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod [Wed, 26 Jun 2019 20:58:40 +0000 (13:58 -0700)]
[config] Add HB_NO_SHAPER
Don't know who would want when why. But makes sense to have.
Behdad Esfahbod [Wed, 26 Jun 2019 20:49:42 +0000 (13:49 -0700)]
[config] Add HB_NO_OT_TAG
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod [Wed, 26 Jun 2019 20:44:10 +0000 (13:44 -0700)]
[config] Fix build with HB_NO_OT_LAYOUT
Behdad Esfahbod [Wed, 26 Jun 2019 20:38:14 +0000 (13:38 -0700)]
[config] Add dependency
Behdad Esfahbod [Wed, 26 Jun 2019 20:31:51 +0000 (13:31 -0700)]
[config] Add dependency
Behdad Esfahbod [Wed, 26 Jun 2019 20:31:01 +0000 (13:31 -0700)]
[config] Rename HB_NO_SHAPE_AAT to HB_NO_AAT_SHAPE
Behdad Esfahbod [Wed, 26 Jun 2019 20:29:58 +0000 (13:29 -0700)]
[config] Add HB_NO_OT_LAYOUT
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod [Wed, 26 Jun 2019 20:25:02 +0000 (13:25 -0700)]
[config] Enable HB_NO_OT_FONT in HB_NO_OT
Behdad Esfahbod [Wed, 26 Jun 2019 20:21:03 +0000 (13:21 -0700)]
[config] Add HB_NO_OT_SHAPE / HB_NO_OT
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod [Wed, 26 Jun 2019 20:01:58 +0000 (13:01 -0700)]
Fail compile if no shapers enabled
Behdad Esfahbod [Wed, 26 Jun 2019 19:53:57 +0000 (12:53 -0700)]
[src] Add make targets "tiny" and "tinyz"
Behdad Esfahbod [Wed, 26 Jun 2019 17:44:10 +0000 (10:44 -0700)]
2.5.3
Behdad Esfahbod [Wed, 26 Jun 2019 02:07:07 +0000 (19:07 -0700)]
[gen-ucd] Protect against accidents like previous commit
https://github.com/harfbuzz/harfbuzz/pull/1796
David Corbett [Wed, 26 Jun 2019 01:08:14 +0000 (21:08 -0400)]
[ucd] Include scripts added in Unicode 10 or later
Michiharu Ariza [Thu, 20 Jun 2019 23:22:08 +0000 (16:22 -0700)]
minor
Michiharu Ariza [Thu, 20 Jun 2019 21:33:09 +0000 (14:33 -0700)]
add ops & methods to hb_bimap_t making it more like hb_map_t
moved has () to hb_bimap_t from hb_inc_bimap_t
moved identity () to hb_inc_bimap_t
removed forward()
Michiharu Ariza [Tue, 18 Jun 2019 05:12:40 +0000 (22:12 -0700)]
add hb_bimap_t, subclass hb_inc_bimap_t replacing CFF::remap_t
David Corbett [Tue, 25 Jun 2019 14:14:03 +0000 (10:14 -0400)]
Categorize U+1133B for use in Tamil
David Corbett [Tue, 25 Jun 2019 01:54:26 +0000 (21:54 -0400)]
Correct "nonunihan" to "nounihan"
Ebrahim Byagowi [Mon, 24 Jun 2019 21:12:42 +0000 (01:42 +0430)]
Replace create_from_file with empty blob if HB_NO_OPEN is defined
GaryQian [Mon, 24 Jun 2019 19:57:13 +0000 (12:57 -0700)]
Cast long->size_t to ensure comparison of similar types
Behdad Esfahbod [Mon, 24 Jun 2019 19:37:23 +0000 (12:37 -0700)]
[ucd] Use custom encoding to shrink composition data
Saves another 2.5kb.
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod [Mon, 24 Jun 2019 00:14:27 +0000 (17:14 -0700)]
[ucd] Save a few more bytes
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Qunxin Liu [Wed, 12 Jun 2019 18:02:48 +0000 (11:02 -0700)]
[subset] VORG table to use _subset2 method and new iterator frameworks
Ebrahim Byagowi [Sun, 23 Jun 2019 06:49:48 +0000 (11:19 +0430)]
Merge pull request #1788 from jameshilliard/configure-svg
Add missing cairo-svg dependency to test-ot-color
James Hilliard [Sun, 23 Jun 2019 01:38:48 +0000 (19:38 -0600)]
Add missing cairo-svg dependency to test-ot-color
Behdad Esfahbod [Fri, 21 Jun 2019 07:44:29 +0000 (00:44 -0700)]
[config/ucd] Add HB_NO_UNICODE_UNASSIGNED and activate in HB_TINY
Saves another 12kb:
$ python ./gen-ucd-table.py ucd.nounihan.grouped.zip > hb-ucd-table.hh && make -j5 CPPFLAGS='-Os -DHB_TINY' -C ~/hb/build/src/ && size ~/hb/build/src/.libs/libharfbuzz_la-hb-ucd.o
INFO: Loading UCDXML...
INFO: Preparing data tables...
INFO: Generating output...
INFO: Compression=1:
INFO: Dataset=gc FullCost=18612
INFO: Dataset=ccc FullCost=3550
INFO: Dataset=bmg FullCost=1548
INFO: Dataset=sc FullCost=17765
INFO: Dataset=dm FullCost=13325
INFO: Compression=3:
INFO: Dataset=gc FullCost=10726
INFO: Dataset=ccc FullCost=2389
INFO: Dataset=bmg FullCost=1052
INFO: Dataset=sc FullCost=13669
INFO: Dataset=dm FullCost=7780
INFO: Compression=5:
INFO: Dataset=gc FullCost=8274
INFO: Dataset=ccc FullCost=2055
INFO: Dataset=bmg FullCost=908
INFO: Dataset=sc FullCost=4073
INFO: Dataset=dm FullCost=7780
INFO: Done.
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod [Fri, 21 Jun 2019 07:42:06 +0000 (00:42 -0700)]
[config] Make test build under HB_TINY
Ebrahim Byagowi [Fri, 21 Jun 2019 18:09:42 +0000 (22:39 +0430)]
Don't define hb_blob_create_from_file if HB_NO_OPEN is defined
Behdad Esfahbod [Thu, 20 Jun 2019 21:24:43 +0000 (14:24 -0700)]
Fix build with -O0
message_impl was not defined. That causes trouble if compiler didn't
optimize the unreachable call out...
Behdad Esfahbod [Thu, 20 Jun 2019 18:57:19 +0000 (11:57 -0700)]
2.5.2
Behdad Esfahbod [Thu, 20 Jun 2019 18:48:44 +0000 (11:48 -0700)]
[config] Adjust description of HB_LEAN
https://github.com/harfbuzz/harfbuzz/commit/
d84932ba50482b3b47e393714eb77b19173d1f14
Behdad Esfahbod [Thu, 20 Jun 2019 03:34:29 +0000 (20:34 -0700)]
[config] Add HB_NO_LAYOUT_COLLECT_GLYPHS
Part of
Behdad Esfahbod [Thu, 20 Jun 2019 03:12:25 +0000 (20:12 -0700)]
[config] Add HB_NO_LAYOUT_FEATURE_PARAMS
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod [Thu, 20 Jun 2019 03:07:02 +0000 (20:07 -0700)]
[config] Add HB_NO_FACE_COLLECT_UNICODES
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod [Thu, 20 Jun 2019 02:50:54 +0000 (19:50 -0700)]
[config] Add HB_NO_CMAP_LEGACY_SUBTABLES
Part of https://vimeo.com/
331852453/
06eec89c65
Behdad Esfahbod [Thu, 20 Jun 2019 02:58:24 +0000 (19:58 -0700)]
Fix MSVC build
MSVC warning:
c:\projects\harfbuzz\src\hb-ot-layout-gsubgpos.hh(2732): error C2121: '#': invalid character: possibly the result of a macro expansion [C:\projects\harfbuzz\build\harfbuzz.vcxproj]
Clang warning for it:
./hb-ot-layout-gsubgpos.hh:2729:2: error: embedding a directive within macro arguments has undefined behavior [-Werror,-Wembedded-directive]
Behdad Esfahbod [Thu, 20 Jun 2019 02:33:15 +0000 (19:33 -0700)]
[config] Add HB_NO_HINTING, enabled by HB_TINY
Disables HintingDevice tables and Anchors addressing contour points.
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod [Thu, 20 Jun 2019 02:26:22 +0000 (19:26 -0700)]
[config] Add HB_NO_VAR to disable variations support, enabled by HB_TINY
Part of https://github.com/harfbuzz/harfbuzz/issues/1652