Michiharu Ariza
00970dd242
Removed parsed hint fields from CFF2PrivateDictValues
...
Instead moved & stored uniformly in values vector (renamed from opstrs)
This should be fine as we aren't likely going to use them as hints after all
Templatized DictValues whether to parse them out
For subsetter, they aren't parsed
2018-08-03 14:35:09 -07:00
Behdad Esfahbod
6a0a298aab
[ot] Move code around
2018-08-02 23:13:19 -07:00
Behdad Esfahbod
5e718a751e
[ot] Use switch for checking for blacklisted GDEF tables
...
Faster / more compact code.
2018-08-02 23:04:42 -07:00
Behdad Esfahbod
b5cdf5280d
[ot] In GDEF blacklisting logic, remove the glyph index check for Times
...
Just blacklist based on table sizes like we do for other fonts.
2018-08-02 22:56:42 -07:00
Behdad Esfahbod
c988b11999
Move code around
2018-08-02 22:55:52 -07:00
Michiharu Ariza
76f7397c10
templatized CFF2 accelerator for lean Private dict interpretting for subset
...
also fixed local subrs serialization
2018-08-02 16:28:10 -07:00
Michiharu Ariza
43040564e6
removed TRACE_SERIALIZE from non-member function _write_cff2
2018-08-02 12:23:10 -07:00
Michiharu Ariza
e2fd49e477
Merge branch 'master' into cff-subset
2018-08-02 11:39:22 -07:00
Michiharu Ariza
693ae80474
more silencing fixes
2018-08-02 11:22:42 -07:00
Michiharu Ariza
f6da449831
silence archlinux
2018-08-02 10:52:08 -07:00
Michiharu Ariza
58279c3db4
silence Codacy
2018-08-02 10:18:01 -07:00
Behdad Esfahbod
574b37e933
Minor
2018-08-02 02:22:38 -07:00
Behdad Esfahbod
d4d1bf8177
Fix for recent rename
2018-08-02 02:04:02 -07:00
Behdad Esfahbod
91126aa11a
[uniscribe] Update for recent changes
2018-08-02 02:03:13 -07:00
Behdad Esfahbod
66952ec47b
Remove unused table reference
2018-08-02 01:45:12 -07:00
Behdad Esfahbod
443de26fa5
Minor
2018-08-02 01:43:02 -07:00
Behdad Esfahbod
ee35af738b
Make lazy-loader safe for nil objectification
2018-08-02 01:37:57 -07:00
Behdad Esfahbod
6404c49d07
Minor
2018-08-02 01:36:08 -07:00
Behdad Esfahbod
ff7826e90b
Reduce storage by sharing face amongst lazy_loaders
2018-08-02 01:29:05 -07:00
Behdad Esfahbod
bdd3c11a19
Internal templatization of lazy-loaders
2018-08-02 01:09:14 -07:00
Behdad Esfahbod
ed7b2e58fc
Remove OT namespace from hb-machinery-private.hh
2018-08-02 00:08:08 -07:00
Behdad Esfahbod
cb1491f92e
Minor
2018-08-01 22:50:45 -07:00
Behdad Esfahbod
16ccfafbbd
[face] Sprinkle const in the API
2018-08-01 22:50:06 -07:00
Behdad Esfahbod
3d22aefede
Rename
2018-08-01 18:03:32 -07:00
Behdad Esfahbod
1a624c6e06
Add comment re (our only) race condition
2018-08-01 17:53:30 -07:00
Michiharu Ariza
19ce0b24c0
removed unused field OpStr::update
2018-08-01 17:34:59 -07:00
Michiharu Ariza
3bda54c43b
fixed Index::serialize
...
The bug was causing CharString of the last glyph corrupt
2018-08-01 16:32:27 -07:00
Michiharu Ariza
16f4dc9b73
fixed CFF2VariationStore::serialize
...
also get_size
2018-08-01 16:06:52 -07:00
Behdad Esfahbod
44d1fb37ef
1.8.5
2018-08-01 14:51:51 -07:00
Behdad Esfahbod
13f4c137c6
[atomic] Fix Solaris ones to add proper barriers
2018-08-01 14:15:00 -07:00
Behdad Esfahbod
19dfaa3515
[atomic] Remove volatile from IBM impl signature
2018-08-01 14:15:00 -07:00
Behdad Esfahbod
2093a3e0cb
[atomic] Oops
2018-08-01 14:15:00 -07:00
Behdad Esfahbod
19b98348ff
[atomic] Use read-barrier for get()
2018-08-01 14:15:00 -07:00
Behdad Esfahbod
006d4f031a
[atomic] Some more minor tweaks
2018-08-01 14:15:00 -07:00
Ebrahim Byagowi
28d03a8afc
[ci] Fix Appveyor bot ( #1123 )
2018-08-02 00:11:43 +04:30
Michiharu Ariza
b2ff582c8c
Implemented hb_subset_cff2
...
Added serialize functions to CFF2 structs
Fixed issues & bugs & code cleanup
Now subsetting CFF2 table outputs something
2018-08-01 11:30:38 -07:00
Ebrahim Byagowi
1a7fed6318
Revert "Add a new API, hb_ot_layout_get_feature_name_ids ( #976 )" ( #1121 )
...
This reverts commit 0c1b287b72
.
2018-08-01 12:15:44 +04:30
Behdad Esfahbod
dfc86e4b35
[atomic] Fix cast to fallback ptr_get()
2018-08-01 00:22:18 -07:00
Behdad Esfahbod
7a4d576e81
[gobject] Fix copy/paste error
2018-08-01 00:19:25 -07:00
Behdad Esfahbod
ad27562742
[atomic] On IBM, use light-weight sync for everything
...
lwsync() is a full read/write-barrier. That's all we need, never
need sync(). I'm not sure why an isync() was used in fetch_and_add,
but since that's a read-modify-write, I just changed it to have
lwsync() on both sides.
2018-07-31 23:01:05 -07:00
Behdad Esfahbod
fd638d215f
[atomic] Add XXX items around Solaris ops
...
Since add_int and cas are both read-modify-write, I wonder if we
also need a barrier after them.
2018-07-31 23:00:15 -07:00
Behdad Esfahbod
896ff15ae6
[atomic] Fix get() impl
...
Originally, glib's atomic_get was implemented as "memory_barrier; load".
I copied this into cairo, fontconfig, and harfbuzz. However, that's
wrong. Correct way is "load; memory_barrier". The details are long
and hard to fully grasp. Best to read:
https://www.kernel.org/doc/Documentation/memory-barriers.txt
Also see my report against GNOME:
https://gitlab.gnome.org/GNOME/glib/issues/1449
Note that this is irrelevant if C++11-like atomic ops are available.
2018-07-31 22:51:38 -07:00
Behdad Esfahbod
d7a15799d4
[gobject] Hook up hb_map_t
2018-07-31 22:28:28 -07:00
Behdad Esfahbod
63c74e8d1d
[atomic] Fix fallback impl
2018-07-31 22:21:21 -07:00
Behdad Esfahbod
4bc16aca47
[atomic] Add get_relaxed / set_relaxed
...
To help TSan and be more "correct".
2018-07-31 21:29:18 -07:00
Behdad Esfahbod
3dd1b88765
[atomic] Use CONSUME, not ACQUIRE, memory-order for get()
...
Although, all implementations just elevate that to ACQUIRE.
But requirement for us is just CONSUME.
2018-07-31 20:28:36 -07:00
Behdad Esfahbod
06b91d935d
Revert "[atomic] Make pointer get op relaxed instead of acquire"
...
This reverts commit b1e5650c67
.
After lots of head-scratching and finally finding the only truly
readable source to be the good old:
https://www.kernel.org/doc/Documentation/memory-barriers.txt
I've convinced myself that we need consume memory-ordering on get().
The location of memory-barrier in a load should be after, not before
the load. That needs fixing. I'll do that separately.
2018-07-31 20:28:36 -07:00
Garret Rieger
2bdd903c69
[subset] limit the max codepoint value to the unicode limit.
...
When collecting all codepoints in the cmap avoid using large amount of memory for fonts that declare coverage over all 32 bit integers.
2018-07-31 18:40:38 -07:00
Garret Rieger
7278d9df30
[subset] Add hb_ot_layout_collect_features to harfbuzz-sections.txt.
...
Add the fuzzer test case for feature collection timeout.
2018-07-31 18:26:09 -07:00
Garret Rieger
89733755a4
[subset] use add_array to populate feature_indexes.
...
This is much faster then calling a bunch of individual add()'s.
2018-07-31 18:26:09 -07:00