Ebrahim Byagowi [Thu, 25 Jul 2019 10:19:02 +0000 (14:49 +0430)]
Add _MAX_VALUE to hb_ot_metrics_t (#1861)
Ebrahim Byagowi [Thu, 25 Jul 2019 09:57:43 +0000 (14:27 +0430)]
minor
Ebrahim Byagowi [Thu, 25 Jul 2019 09:56:30 +0000 (14:26 +0430)]
Add _MAX_VALUE to disabled baseline types enum
Ebrahim Byagowi [Tue, 23 Jul 2019 20:17:19 +0000 (00:47 +0430)]
Replace 0x7FFFFFFFu in enums with HB_TAG_MAX_SIGNED
Ebrahim Byagowi [Mon, 22 Jul 2019 18:20:21 +0000 (22:50 +0430)]
minor, comment out meta table in list till its use
Khaled Hosny [Mon, 22 Jul 2019 14:44:47 +0000 (16:44 +0200)]
Merge pull request #1851 from khaledhosny/fix-sbix-extents
Fix sbix glyph extents
Ebrahim Byagowi [Mon, 22 Jul 2019 14:16:52 +0000 (18:46 +0430)]
Implement meta table parsing
Ebrahim Byagowi [Mon, 22 Jul 2019 14:05:55 +0000 (18:35 +0430)]
[metrics] Fix _get_variation API to works with actual coord values
Behdad Esfahbod [Mon, 22 Jul 2019 11:48:32 +0000 (07:48 -0400)]
[metrics] _-prefix internal symbol
Behdad Esfahbod [Mon, 22 Jul 2019 11:07:37 +0000 (07:07 -0400)]
Fix warning on IBM compilers
Fixes https://github.com/harfbuzz/harfbuzz/issues/1852
Khaled Hosny [Mon, 22 Jul 2019 01:57:24 +0000 (03:57 +0200)]
Fix sbix glyph extents
* The ‘height’ needs to be negated since the API returns “distance from
top to bottom side”.
* Similarly, the ‘y_offset‘ needs to be added to the height to get the
‘y_bearing’, since sbix’s offset is “the point in the glyph relative
to its lower-left corner which corresponds to the origin” while
‘y_bearing’ is the “top side of glyph from origin”.
With these changes the sbix glyph metrics return values similar to other
tables, as they were otherwise unusable.
Ebrahim Byagowi [Sun, 21 Jul 2019 21:36:07 +0000 (02:06 +0430)]
[metrics] Don't use metrics API in _common
As it is exposed with a different condition
Ebrahim Byagowi [Tue, 16 Jul 2019 17:57:01 +0000 (22:27 +0430)]
Add hb_gdi_face_create API
Based on Konstantin Ritt work posted on mailing list
Ebrahim Byagowi [Sun, 21 Jul 2019 08:08:04 +0000 (12:38 +0430)]
[metrics] minor, tweak comment
Behdad Esfahbod [Fri, 19 Jul 2019 18:19:31 +0000 (11:19 -0700)]
[docs] Minor
Ebrahim Byagowi [Sat, 20 Jul 2019 18:33:51 +0000 (23:03 +0430)]
Revert hhea fallback to OS/2 to its reverse way
As searching number of hhea having fonts beats the number of OS/2
having ones in macOS 10.14.2
Ebrahim Byagowi [Sat, 20 Jul 2019 10:31:37 +0000 (15:01 +0430)]
Bring back asc/desc abs logic used to be in hmtx table
Ebrahim Byagowi [Sat, 20 Jul 2019 10:20:31 +0000 (14:50 +0430)]
Make HB_TINY builds work again by separating the always needed part
Ebrahim Byagowi [Sat, 20 Jul 2019 10:03:57 +0000 (14:33 +0430)]
Merge _get_position_internal into _get_position
Ebrahim Byagowi [Sat, 20 Jul 2019 09:33:36 +0000 (14:03 +0430)]
Define post table only when used
Ebrahim Byagowi [Sat, 20 Jul 2019 09:30:20 +0000 (14:00 +0430)]
Merge ot-metrics-internal.cc with ot-metrics now that isn't needed in subset
Ebrahim Byagowi [Sat, 20 Jul 2019 09:22:21 +0000 (13:52 +0430)]
Don't cache ascender/descender metrics
Ebrahim Byagowi [Sat, 20 Jul 2019 09:38:11 +0000 (14:08 +0430)]
[doc] minor, improve hb-ot-metrics doc a bit
Ebrahim Byagowi [Sat, 20 Jul 2019 08:46:16 +0000 (13:16 +0430)]
Merge pull request #1844 from ebraminio/hhea
Fallback hhea's ascender/descender to OS2
Ebrahim Byagowi [Sat, 20 Jul 2019 08:23:40 +0000 (12:53 +0430)]
[os2] minor spacing tweaks
Ebrahim Byagowi [Sat, 20 Jul 2019 08:21:38 +0000 (12:51 +0430)]
Fallback hhea's ascender/descender to OS2
Behdad Esfahbod [Fri, 19 Jul 2019 18:13:50 +0000 (11:13 -0700)]
[metrics] Fall back to hhea if OS2 metrics are empty
Reinstates previous logic, even if it might be unnecessary.
Ebrahim Byagowi [Fri, 19 Jul 2019 07:11:07 +0000 (11:41 +0430)]
Add HB_NO_METRICS and fix HB_TINY build (#1839)
Ebrahim Byagowi [Fri, 19 Jul 2019 06:03:00 +0000 (10:33 +0430)]
[ci][fuzzer] print valgrind failure if an error happened
Behdad Esfahbod [Thu, 18 Jul 2019 21:25:45 +0000 (14:25 -0700)]
[metrics] Fix weird use of xor
I believe that was a try to use one approach as fallback to other. But
felt wrong. Just believe what's in OS/2 table to be correct.
Behdad Esfahbod [Thu, 18 Jul 2019 21:15:08 +0000 (14:15 -0700)]
[ot-metrics] Touch up
Ebrahim Byagowi [Tue, 20 Nov 2018 19:56:46 +0000 (23:26 +0330)]
Implement a simple API for fetching opentype metrics
Fixes https://github.com/harfbuzz/harfbuzz/pull/1432
David Corbett [Mon, 17 Jun 2019 14:16:24 +0000 (10:16 -0400)]
Revert "[Myanmar] Prevent reordering between Asat and Dot below"
This reverts commit
1c8654ead41ca746d577549c92d2a41c594ab639.
Ebrahim Byagowi [Wed, 17 Jul 2019 18:27:46 +0000 (22:57 +0430)]
[ci] Bring back -linux-arm64 bot
Let's see if 576065b has fixed it
Behdad Esfahbod [Wed, 17 Jul 2019 18:20:08 +0000 (11:20 -0700)]
Revert "Revert previous change"
This reverts commit
b8e90ca1a10fbd472eda1aa8cc3797011da52356.
Works now.
Behdad Esfahbod [Wed, 17 Jul 2019 18:19:34 +0000 (11:19 -0700)]
[iter] Fix reduce type deduction
Ebrahim Byagowi [Wed, 17 Jul 2019 17:38:39 +0000 (22:08 +0430)]
[ci] Disable -linux-arm64 bot
This is its failure https://circleci.com/gh/harfbuzz/harfbuzz/99864
Trying to fix like ee05627, interestingly, makes the bot and the
others to fail like this https://circleci.com/gh/harfbuzz/harfbuzz/99841
Ebrahim Byagowi [Wed, 17 Jul 2019 17:08:19 +0000 (21:38 +0430)]
Revert previous change
Interestingly all of the bots disagreed with the change and the complain is... weird.
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.