|
d4d1bf81
|
2018-08-02T02:04:02
|
|
Fix for recent rename
|
|
91126aa1
|
2018-08-02T02:03:13
|
|
[uniscribe] Update for recent changes
|
|
66952ec4
|
2018-08-02T01:44:20
|
|
Remove unused table reference
|
|
443de26f
|
2018-08-02T01:41:19
|
|
Minor
|
|
ee35af73
|
2018-08-02T01:37:57
|
|
Make lazy-loader safe for nil objectification
|
|
6404c49d
|
2018-08-02T01:36:08
|
|
Minor
|
|
ff7826e9
|
2018-08-02T01:27:40
|
|
Reduce storage by sharing face amongst lazy_loaders
|
|
bdd3c11a
|
2018-08-02T00:38:46
|
|
Internal templatization of lazy-loaders
|
|
ed7b2e58
|
2018-08-01T23:59:09
|
|
Remove OT namespace from hb-machinery-private.hh
|
|
cb1491f9
|
2018-08-01T22:50:45
|
|
Minor
|
|
16ccfafb
|
2018-08-01T22:50:06
|
|
[face] Sprinkle const in the API
|
|
3d22aefe
|
2018-08-01T18:03:32
|
|
Rename
|
|
1a624c6e
|
2018-08-01T17:53:30
|
|
Add comment re (our only) race condition
|
|
44d1fb37
|
2018-08-01T14:51:51
|
|
1.8.5
|
|
19dfaa35
|
2018-08-01T14:02:39
|
|
[atomic] Remove volatile from IBM impl signature
|
|
2093a3e0
|
2018-08-01T14:00:46
|
|
[atomic] Oops
|
|
19b98348
|
2018-08-01T13:59:59
|
|
[atomic] Use read-barrier for get()
|
|
006d4f03
|
2018-08-01T13:59:31
|
|
[atomic] Some more minor tweaks
|
|
13f4c137
|
2018-08-01T14:13:59
|
|
[atomic] Fix Solaris ones to add proper barriers
|
|
28d03a8a
|
2018-08-02T00:11:43
|
|
[ci] Fix Appveyor bot (#1123)
|
|
1a7fed63
|
2018-08-01T12:15:44
|
|
Revert "Add a new API, hb_ot_layout_get_feature_name_ids (#976)" (#1121)
This reverts commit 0c1b287b72e91e0898d75acb5d5acf1c6b9a7498.
|
|
dfc86e4b
|
2018-08-01T00:22:18
|
|
[atomic] Fix cast to fallback ptr_get()
|
|
7a4d576e
|
2018-08-01T00:19:25
|
|
[gobject] Fix copy/paste error
|
|
ad275627
|
2018-07-31T23:01:05
|
|
[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.
|
|
fd638d21
|
2018-07-31T23:00:15
|
|
[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.
|
|
896ff15a
|
2018-07-31T22:51:38
|
|
[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.
|
|
d7a15799
|
2018-07-31T22:28:28
|
|
[gobject] Hook up hb_map_t
|
|
63c74e8d
|
2018-07-31T22:21:21
|
|
[atomic] Fix fallback impl
|
|
4bc16aca
|
2018-07-31T21:05:51
|
|
[atomic] Add get_relaxed / set_relaxed
To help TSan and be more "correct".
|
|
3dd1b887
|
2018-07-31T19:33:37
|
|
[atomic] Use CONSUME, not ACQUIRE, memory-order for get()
Although, all implementations just elevate that to ACQUIRE.
But requirement for us is just CONSUME.
|
|
06b91d93
|
2018-07-31T19:29:49
|
|
Revert "[atomic] Make pointer get op relaxed instead of acquire"
This reverts commit b1e5650c67266dc158f22355fed206cd1c413f70.
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.
|
|
2bdd903c
|
2018-07-31T17:44:02
|
|
[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.
|
|
7278d9df
|
2018-07-31T17:59:19
|
|
[subset] Add hb_ot_layout_collect_features to harfbuzz-sections.txt.
Add the fuzzer test case for feature collection timeout.
|
|
89733755
|
2018-07-30T18:10:43
|
|
[subset] use add_array to populate feature_indexes.
This is much faster then calling a bunch of individual add()'s.
|
|
7d92bef9
|
2018-07-30T17:17:43
|
|
[subset] collect features first, then use those to collect lookups.
|
|
af876cce
|
2018-07-31T15:27:29
|
|
[indic] Flip default logic for double-halants in old-school
Oriya went down from 9 to 2.
BENGALI: 353725 out of 354188 tests passed. 463 failed (0.130722%)
DEVANAGARI: 707311 out of 707394 tests passed. 83 failed (0.0117332%)
GUJARATI: 366355 out of 366457 tests passed. 102 failed (0.0278341%)
GURMUKHI: 60729 out of 60747 tests passed. 18 failed (0.0296311%)
KANNADA: 951300 out of 951913 tests passed. 613 failed (0.0643966%)
MALAYALAM: 1048136 out of 1048334 tests passed. 198 failed (0.0188871%)
MYANMAR: 1115830 out of 1123883 tests passed. 8053 failed (0.716534%)
ORIYA: 42327 out of 42329 tests passed. 2 failed (0.00472489%)
SINHALA: 271596 out of 271847 tests passed. 251 failed (0.0923313%)
TAMIL: 1091754 out of 1091754 tests passed. 0 failed (0%)
TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%)
|
|
92ba9905
|
2018-07-31T15:19:32
|
|
[indic] Allow double-halant in old-spec Devanagari
Fixes https://github.com/harfbuzz/harfbuzz/issues/1071
|
|
fe099a84
|
2018-07-31T14:20:31
|
|
[test] Add Khmer tests, with NotoSansKhmer-Regular.ttf
Note that there's minor positioning differences, and ONE reordering
difference between what we get for these and what Uniscribe gets.
Probably same as what's described in commit message for
1a96cc825dc9c8e3b6eef1403fe0864a1cfc0245
|
|
5772edc0
|
2018-07-31T14:10:31
|
|
[khmer] Typo
|
|
2d6edc90
|
2018-07-31T13:56:55
|
|
[test] Add Khmer test texts from recent bugs
|
|
df26a32c
|
2018-07-31T13:55:53
|
|
[test] Move things around for shaper updates
|
|
6ddd669e
|
2018-07-31T13:38:07
|
|
[khmer] Clear syllables before presentation features
Probably not what Uniscribe does, but good idea?
|
|
8eef1964
|
2018-07-31T13:35:10
|
|
[khmer] Revert previous change, and remove pauses
This makes test suite happy again (at 44) while fixing the sequences
we were fixing, which were the following with KhmerUI.ttf:
U+1789,U+17BC
U+1789,U+17D2,U+1789
U+1789,U+17D2,U+1789,U+17BC
Fixes rest of https://github.com/harfbuzz/harfbuzz/issues/974
|
|
7c658ea2
|
2018-07-31T12:49:02
|
|
[khmer] Apply ccmp after basic features
Part of https://github.com/harfbuzz/harfbuzz/issues/974
|
|
1a96cc82
|
2018-07-31T11:45:32
|
|
[khmer] Rewrite most of shaper to better follow spec
Khmer spec has only one reordering phase, and only simple prebase
matra and Coeng-Ro reordering. Implement that. Specifically,
this was done to address recognizing different orders of the matra
and Coeng-Ro sequence. That said, some combinations are now
reordered differently from Uniscribe. Not clear if that's intended
or a bug in Uniscribe. The following two sequences render the same
in Uniscribe whereas we reorder them differently:
U+17A0,U+17D2,U+179A,U+17C2
U+17A0,U+17C2,U+17D2,U+179A
For that reason, our test suite numbers regressed slightly. Used
to be at 34 for fails, now at:
KHMER: 299080 out of 299124 tests passed. 44 failed (0.0147096%)
But generally a good change, and removed lots of code.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1026
|
|
f5152cea
|
2018-07-31T01:27:04
|
|
[shaper] Move code around
|
|
36d0fbbc
|
2018-07-31T01:15:04
|
|
[shaper] Remove a macro
|
|
b1e5650c
|
2018-07-31T01:02:31
|
|
[atomic] Make pointer get op relaxed instead of acquire
We only use it before cmpexch, so relaxed is fine and faster for
common case.
|
|
66ccd8ac
|
2018-07-30T17:03:06
|
|
[serialize] Increase stage count from 8 to 32
Indic shaper uses many stages. Now we are provably not limiting
functionality whereas the previous limit of 8 was assuming real-world
practices.
|
|
ee8cf919
|
2018-07-30T16:59:41
|
|
[serialize] Remove unused truncate() method
|
|
5edf454a
|
2018-07-26T17:42:02
|
|
[subset] During lookup collection remember the features we've already processed.
|
|
42c183f8
|
2018-07-27T14:55:29
|
|
Minor
|
|
ecab6604
|
2018-07-25T17:37:38
|
|
[serialize] Allocate for markFilteringSet
|
|
7f08818c
|
2018-07-25T17:22:05
|
|
Minor
|
|
2e25d8f4
|
2018-07-27T13:58:27
|
|
Fix unlikely leaks
|
|
3c2842cb
|
2018-07-25T17:07:17
|
|
Add hb-iter-private.hh
Unused so far.
|
|
92b1e025
|
2018-07-25T16:58:47
|
|
Move some code from hb-open-type-private.hh to hb-machinery-private.hh
|
|
6b11fea9
|
2018-07-25T16:01:37
|
|
[closure] Allocate out set on the stack
|
|
74467b79
|
2018-07-25T14:30:07
|
|
Fix compile
|
|
bf90f353
|
2018-07-24T18:00:14
|
|
[coretext] Add note
|
|
fb58cb4b
|
2018-07-25T13:39:17
|
|
[subset] Only used reachable lookups for gsub closure.
|
|
c38bd402
|
2018-07-24T09:43:27
|
|
[closure] Separate in and out glyphs
Fixes https://github.com/harfbuzz/harfbuzz/issues/1107
|
|
85646fda
|
2018-07-23T15:37:18
|
|
[subset] Limit the iterations of the closure algorithm.
Prevents O(n^2) run times.
|
|
94759d4c
|
2018-07-23T15:01:39
|
|
Fix visibility on mingw32
Should fix bots again.
|
|
61eddbd8
|
2018-07-23T14:44:10
|
|
Fix infinite loop in loading num_glyphs within sanitizer
|
|
e22a48ac
|
2018-07-23T13:24:26
|
|
One more visibility trick
Should fix Windows build again.
|
|
e57a638b
|
2018-07-23T12:00:02
|
|
One more
|
|
36ed163f
|
2018-07-23T11:57:45
|
|
Remove unnecessary OT:: namespace specifiers
|
|
c6bc7c38
|
2018-07-23T11:46:46
|
|
Set num glyphs on sanitizer reference_table()
Move out-of-class definitions of two methods to hb-static so they
are accessible in libharfbuzz-subset.
|
|
9401829d
|
2018-07-22T22:50:58
|
|
Remove Sanitizer<>
|
|
8e3e4127
|
2018-07-22T22:49:26
|
|
Port rest of code away from Sanitizer<>
|
|
d6a8f640
|
2018-07-22T22:47:19
|
|
Port dump-emoji away from Sanitizer<>
|
|
14f78d2b
|
2018-07-22T22:45:26
|
|
.
|
|
4547051f
|
2018-07-22T22:44:22
|
|
Minor
|
|
740ae27d
|
2018-07-22T22:40:56
|
|
Port sbix off of Sanitizer<>
|
|
9583e007
|
2018-07-22T22:40:32
|
|
Port more off of Sanitizer<>
|
|
e7737b41
|
2018-07-22T22:24:31
|
|
Add sanitizer reference_table, also fix clang build
Clang is being really peculiar. Fix with:
- inline hb_blob_t *sanitize (hb_blob_t *blob) { return c->sanitize<Type> (blob); }
+ inline hb_blob_t *sanitize (hb_blob_t *blob) { return c[0].template/*clang idiosyncrasy*/sanitize_blob<Type> (blob); }
|
|
62fa7cd1
|
2018-04-13T18:45:37
|
|
Order Chakma split vowels in accordance with NFC
Fixes #1105.
|
|
0c1b287b
|
2018-07-21T21:14:48
|
|
Add a new API, hb_ot_layout_get_feature_name_ids (#976)
This new API returns cvXX and ssXX related NameId, things like
featUiLabelNameId, featUiTooltipTextNameId, sampleTextNameId, ... of cvXX
and UINameId of ssXX, in a unified way.
However HarfBuzz currently doesn't expose an API for retrieving the actual
information associated with NameId from the `name` table and that should be
done separately.
|
|
93b65d9f
|
2018-07-17T23:29:16
|
|
Remove dump-fon (#1100)
It had interesting stuffs like EXE parsing and
big-endian parsers but added in an attempt to find
a solution for #681 which later found not related.
|
|
d5cd47a6
|
2018-07-17T22:32:37
|
|
Remove AAT's gcid/fmtx (#1099)
We are not going to use them, at least in the foreseeable future
|
|
1e9e344b
|
2018-07-17T19:17:59
|
|
Fix hb_face_count() sanitize referencing
|
|
a8cc0b59
|
2018-07-17T19:09:03
|
|
Remove TODO that is not gonna be done
Previously the idea was to cache sanitize results externally (think,
in Fontconfig) and avoid resanitizing every time. That's, not a good
idea.
|
|
be707384
|
2018-07-17T18:45:25
|
|
Move sanitizer code around a bit
|
|
db5d430e
|
2018-07-17T18:14:45
|
|
[aat] Update for blob changes
Also, uncomment code again, just "if (0)" it out, so it doesn't get stale again.
|
|
68310a65
|
2018-07-17T13:20:40
|
|
1.8.4
|
|
04b7b81b
|
2018-07-17T10:57:01
|
|
Reland "Implement C++11-style GCC builtin atomic ops"
Fixed the crasher in it.
|
|
019d18e9
|
2018-07-17T10:59:19
|
|
Minor
|
|
3edef5a1
|
2018-07-17T10:50:01
|
|
Revert "Implement C++11-style GCC builtin atomic ops"
This reverts commit 21fa170f0bfb0109c506ed17f5aff8b062564ffa.
Is crashing. Oops.
|
|
21fa170f
|
2018-07-16T17:58:02
|
|
Implement C++11-style GCC builtin atomic ops
Hopefully fixes bots.
|
|
804b59cf
|
2018-07-16T15:44:58
|
|
Relax C++11 atomic ops memory order to acquire-release
|
|
bda24240
|
2018-07-16T15:41:09
|
|
Implement C++11 <atomic> operations
Fixes https://github.com/harfbuzz/harfbuzz/issues/345
|
|
52441122
|
2018-07-16T14:42:43
|
|
Merge pull request #1094 from anthrotype/fix-appveyor-msys2
appveyor.yml: try updating msys2 to fix failing mingw-w64-x86_64 build
|
|
269eb456
|
2018-07-16T14:14:42
|
|
appveyor.yml: try only updating msys2 core, not the rest of the packages
maybe it'll get a bit faster
|
|
3ab52c6c
|
2018-07-16T12:57:27
|
|
appveyor.yml: pass --needed option to pacman
so it won't attempt reinstalling packages which are already installed
|
|
5631d70d
|
2018-07-16T12:41:59
|
|
appveyor.yml: try updating msys2 to fix failing mingw-w64-x86_64 build
https://github.com/harfbuzz/harfbuzz/pull/1093#issuecomment-405201903
https://ci.appveyor.com/project/harfbuzz/harfbuzz/build/job/ky7lao1ii1bi7ew4#L71
|
|
2aae617a
|
2018-07-11T17:27:23
|
|
Move _hb_alignof later again
It uses constexpr...
|
|
f3a74c16
|
2018-07-11T17:23:53
|
|
Make hb_vector_t 8 bytes smaller
|
|
44999f8b
|
2018-07-11T17:00:59
|
|
Align NullPool and CrapPool to HB_VECTOR_SIZE
|
|
20a318d0
|
2018-07-11T17:00:13
|
|
Fix return type of alignof() fallback
|