Commit Graph

10892 Commits

Author SHA1 Message Date
Ebrahim Byagowi d38eb49f46 Move the iteration logic to FeatureParamsCharacterVariants
Hopefully I can make members protected also.
2020-06-19 23:46:49 +04:30
Ebrahim Byagowi 9b3d4f457e Use dagger in hb_ot_layout_feature_get_characters
The way it used to work was a bit nonidiomatic but the replacment
is idiomatic way of iterating used elsewhere.

The new code just doesn't check nullability of "characters", which isn't
what we do anywhere else.
2020-06-19 23:46:44 +04:30
Ebrahim Byagowi 675854b2ba [test] Add one more test for hb_ot_layout_feature_get_characters 2020-06-19 23:27:39 +04:30
Ebrahim Byagowi 63422c4cbc [ot-layout] simplify 2020-06-19 23:26:18 +04:30
Ebrahim Byagowi 407bba3e0d minor
move FeatureParamsCharacterVariants::sanitize method right above members
2020-06-19 23:12:56 +04:30
Ebrahim Byagowi f1488152bd [doc] Remove the not needed comment
All the other similar iterating API are like this and don't have such
comment, written at the time I wasn't familiar enough with the way such
API are shaped.
2020-06-19 23:07:30 +04:30
Behdad Esfahbod 1535440b48 [dispatch] Fix debug builds 2020-06-19 08:32:57 -07:00
Ebrahim Byagowi bb9a40da65 [lcar] Use dagger 2020-06-19 19:22:47 +04:30
Behdad Esfahbod 6fbb59aba6 Use daggers in a few get_array functions
As I review https://github.com/harfbuzz/harfbuzz/pull/2471
2020-06-19 00:05:52 -07:00
Ebrahim Byagowi a512ca8eae
Merge pull request #2473 from harfbuzz/gsub-alternate
fixes #673
2020-06-19 10:46:12 +04:30
Ebrahim Byagowi 03bd3efaa7
[meson] Write git revision to .tarball-revision on dist tarball 2020-06-19 10:32:46 +04:30
Behdad Esfahbod 70d6696cc6 [dispatch] Don't require debug_depth for untraced objects 2020-06-18 17:09:39 -07:00
Behdad Esfahbod 5bc4cedde6 Rename 2020-06-18 17:04:35 -07:00
Behdad Esfahbod dc492d7c8a [dispatch] Comment 2020-06-18 17:03:05 -07:00
Behdad Esfahbod 25aec0265c [dispatch] Default return type to hb_empty_t 2020-06-18 16:58:01 -07:00
Behdad Esfahbod 8d0a90ac1b [dispatch] Default debug level to 0 2020-06-18 16:53:54 -07:00
Behdad Esfahbod d7d8604ec8 Remove excessive trace routes 2020-06-18 16:51:24 -07:00
Behdad Esfahbod e47a2ab8f8 Remove unused dispatcher names 2020-06-18 16:48:07 -07:00
Behdad Esfahbod b2a1acccd9 Simplify get_glyph_alternates() dispatcher
Trying to make it **very simple** to add a specialized dispatcher for
one API to be routed to just a few objects (one in this case).
2020-06-18 16:41:31 -07:00
Behdad Esfahbod ffe8d3f39d Use dispatch for get_glyph_alternates_t
First time we do this in a way that if target object doesn't have the matching
function we basically "ignore".  Risky but I feel like is the right decision
for this case.

I'm going to put back the template varargs and use those, which would make
the dispatcher be just that: "dispatcher", and wouldn't need to carry the
call context.  That would be a refreshing change I think.
2020-06-18 16:31:39 -07:00
Behdad Esfahbod bedf417121 Push get_glyph_alternates() work all the way down 2020-06-18 15:49:01 -07:00
Behdad Esfahbod 5bede33885 Whitespace 2020-06-18 15:25:19 -07:00
Behdad Esfahbod e13aaaaa45 Move API to right place in header 2020-06-18 15:22:54 -07:00
Behdad Esfahbod 26514ad70e Fix API comment 2020-06-18 15:22:07 -07:00
Ebrahim Byagowi 1bac85828c [layout] Rename _get_alternates to _get_glyph_alternates 2020-06-18 22:56:07 +04:30
Behdad Esfahbod 9ef9ac3749 [gpos] Break cycle-of-2 when cursive attaching
Fix thinko this time around.

Fixes https://github.com/harfbuzz/harfbuzz/issues/2469
2020-06-17 22:59:10 -07:00
Ebrahim Byagowi d3c169792b [layout] move alternate buffer iteration logic to AlternateSet 2020-06-18 09:23:13 +04:30
Ebrahim Byagowi 1348a2c865 [layout] hb_ot_layout_lookup_get_alternates, a new API
An API to retrieve one-to-one alternates from a given GSUB lookup index.
2020-06-18 09:11:07 +04:30
Ebrahim Byagowi a4955e21fd
[ci] install gobject-instrospection on linux ci 2020-06-18 08:59:49 +04:30
Behdad Esfahbod 3fe7195713 Revert "[gpos] Break cycle-of-2 when cursive attaching"
This reverts commit 7090707de6.
2020-06-17 17:51:08 -07:00
Behdad Esfahbod 7090707de6 [gpos] Break cycle-of-2 when cursive attaching
Fixes https://github.com/harfbuzz/harfbuzz/issues/2469
2020-06-17 17:41:48 -07:00
Khaled Hosny 09dedb1b38 [tests] I’m an idiot 2020-06-18 02:29:12 +02:00
Khaled Hosny 2598855454 [tests] Add test for ReverseChainSingleSubstFormat1 missing substitute
https://github.com/harfbuzz/harfbuzz/issues/2467
2020-06-18 02:16:57 +02:00
Behdad Esfahbod e5de3918f7 [indic] Add comment
https://github.com/harfbuzz/harfbuzz/issues/2298#issuecomment-615318654
2020-06-17 16:54:23 -07:00
Behdad Esfahbod 41ef75f64a [gsub] Don't substitute in ReverseChainSingleSubstFormat1 if missing substitute
Fixes https://github.com/harfbuzz/harfbuzz/issues/2467
2020-06-17 16:29:09 -07:00
Behdad Esfahbod e7c79e16b8
Merge pull request #2287 from simoncozens/instrumentation
Add messages for GPOS/GSUB (take 2)
2020-06-17 15:32:40 -07:00
Simon Cozens fe926970bc Reformat messages again
Messages can be:

start/end table  XXXX
start/end lookup NNNN
start/end subtable NNNN (for kerx/kern)
start/end chainsubtable NNNN (for morx)
2020-06-16 09:12:44 +01:00
Ebrahim Byagowi f31e3d426d
[ci] raise subset fuzzer timeout for asan and valgrind bots 2020-06-12 17:33:11 +04:30
Ebrahim Byagowi cccdaf45df
[docs] minor
revealed now that we turned gobject/gir build to 'auto'
2020-06-12 11:15:37 +04:30
Ebrahim Byagowi be278acf44 [ci] raise subset fuzzer cases runner timeout
the bots are either not optimized ones or sanitizer ones so not much value
on trying to optimize them further.
2020-06-12 10:41:07 +04:30
Ebrahim Byagowi b86bfe5291 minor, fix lists sorting 2020-06-12 01:42:50 +04:30
Ebrahim Byagowi 4e7cb7e2c4 minor, fix lists sorting 2020-06-12 01:38:16 +04:30
Qunxin Liu 973c47f6c9 [subset] Move 2 experimental public api methods to be private methods in GSUB/GPOS.
2 methods are: hb_ot_layout_closure_lookups and hb_ot_layout_closure_features
2020-06-12 01:20:30 +04:30
Ebrahim Byagowi 62de2f749c [meson] Remove spaces before named parameter colons
meson documentations sometimes adds the space and sometimes don't and we
aren't adding it most of the times unconsciously so let's the cases and
be consistent.
2020-06-12 01:11:06 +04:30
Ebrahim Byagowi 2d91662294 [meson] move tests lists to their directories
We had to do so for text-rendering-tests list, let's apply the same for the rest also.
2020-06-12 01:11:06 +04:30
Ebrahim Byagowi b8454c3d61 [meson] use if blocks to separate different dependencies 2020-06-12 01:11:06 +04:30
Ebrahim Byagowi 8571b3551c [releasing] Remove tar signing procedure
https://github.com/harfbuzz/harfbuzz/issues/2449#issuecomment-639898473
2020-06-10 20:16:00 +04:30
Ebrahim Byagowi ebab4b8658 [meson] Implement disabled state for cairo/freetype/icu
'disabled' wasn't implemented for some of the features so they were
getting found even with explicit -Dfeature=disabled, this implements it.

Run the following command to test this change and check whether 'disabled'
was actually effective,
  meson build -Dglib=disabled -Dgobject=disabled -Dcairo=disabled -Dfontconfig=disabled -Dicu=disabled -Dfreetype=disabled -Dintrospection=disabled -Dgtk_doc=disabled

This is useful when one wants to integrate harfbuzz into another project via
meson's subproject mechanism.
2020-06-10 20:15:42 +04:30
Nirbheek Chauhan b88f1096ad meson: Export symbols for a DLL when not building statically
`default_library` might be 'both', in which case we will fail to link
when building with MSVC.
2020-06-09 20:22:28 +04:30
Khaled Hosny 5c8900efe4 [coretext] Properly check for macOS 10.10
Fixes https://github.com/harfbuzz/harfbuzz/issues/2452
2020-06-08 03:20:54 +02:00