Log

Author Commit Date CI Message
Behdad Esfahbod d4d1bf81 2018-08-02T02:04:02 Fix for recent rename
Behdad Esfahbod 91126aa1 2018-08-02T02:03:13 [uniscribe] Update for recent changes
Behdad Esfahbod 66952ec4 2018-08-02T01:44:20 Remove unused table reference
Behdad Esfahbod 443de26f 2018-08-02T01:41:19 Minor
Behdad Esfahbod ee35af73 2018-08-02T01:37:57 Make lazy-loader safe for nil objectification
Behdad Esfahbod 6404c49d 2018-08-02T01:36:08 Minor
Behdad Esfahbod ff7826e9 2018-08-02T01:27:40 Reduce storage by sharing face amongst lazy_loaders
Behdad Esfahbod bdd3c11a 2018-08-02T00:38:46 Internal templatization of lazy-loaders
Behdad Esfahbod ed7b2e58 2018-08-01T23:59:09 Remove OT namespace from hb-machinery-private.hh
Behdad Esfahbod cb1491f9 2018-08-01T22:50:45 Minor
Behdad Esfahbod 16ccfafb 2018-08-01T22:50:06 [face] Sprinkle const in the API
Behdad Esfahbod 3d22aefe 2018-08-01T18:03:32 Rename
Behdad Esfahbod 1a624c6e 2018-08-01T17:53:30 Add comment re (our only) race condition
Behdad Esfahbod 44d1fb37 2018-08-01T14:51:51 1.8.5
Behdad Esfahbod 19dfaa35 2018-08-01T14:02:39 [atomic] Remove volatile from IBM impl signature
Behdad Esfahbod 2093a3e0 2018-08-01T14:00:46 [atomic] Oops
Behdad Esfahbod 19b98348 2018-08-01T13:59:59 [atomic] Use read-barrier for get()
Behdad Esfahbod 006d4f03 2018-08-01T13:59:31 [atomic] Some more minor tweaks
Behdad Esfahbod 13f4c137 2018-08-01T14:13:59 [atomic] Fix Solaris ones to add proper barriers
Ebrahim Byagowi 28d03a8a 2018-08-02T00:11:43 [ci] Fix Appveyor bot (#1123)
Ebrahim Byagowi 1a7fed63 2018-08-01T12:15:44 Revert "Add a new API, hb_ot_layout_get_feature_name_ids (#976)" (#1121) This reverts commit 0c1b287b72e91e0898d75acb5d5acf1c6b9a7498.
Behdad Esfahbod dfc86e4b 2018-08-01T00:22:18 [atomic] Fix cast to fallback ptr_get()
Behdad Esfahbod 7a4d576e 2018-08-01T00:19:25 [gobject] Fix copy/paste error
Behdad Esfahbod 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.
Behdad Esfahbod 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.
Behdad Esfahbod 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.
Behdad Esfahbod d7a15799 2018-07-31T22:28:28 [gobject] Hook up hb_map_t
Behdad Esfahbod 63c74e8d 2018-07-31T22:21:21 [atomic] Fix fallback impl
Behdad Esfahbod 4bc16aca 2018-07-31T21:05:51 [atomic] Add get_relaxed / set_relaxed To help TSan and be more "correct".
Behdad Esfahbod 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.
Behdad Esfahbod 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.
Garret Rieger 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.
Garret Rieger 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.
Garret Rieger 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.
Garret Rieger 7d92bef9 2018-07-30T17:17:43 [subset] collect features first, then use those to collect lookups.
Behdad Esfahbod 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%)
Behdad Esfahbod 92ba9905 2018-07-31T15:19:32 [indic] Allow double-halant in old-spec Devanagari Fixes https://github.com/harfbuzz/harfbuzz/issues/1071
Behdad Esfahbod 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
Behdad Esfahbod 5772edc0 2018-07-31T14:10:31 [khmer] Typo
Behdad Esfahbod 2d6edc90 2018-07-31T13:56:55 [test] Add Khmer test texts from recent bugs
Behdad Esfahbod df26a32c 2018-07-31T13:55:53 [test] Move things around for shaper updates
Behdad Esfahbod 6ddd669e 2018-07-31T13:38:07 [khmer] Clear syllables before presentation features Probably not what Uniscribe does, but good idea?
Behdad Esfahbod 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
Behdad Esfahbod 7c658ea2 2018-07-31T12:49:02 [khmer] Apply ccmp after basic features Part of https://github.com/harfbuzz/harfbuzz/issues/974
Behdad Esfahbod 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
Behdad Esfahbod f5152cea 2018-07-31T01:27:04 [shaper] Move code around
Behdad Esfahbod 36d0fbbc 2018-07-31T01:15:04 [shaper] Remove a macro
Behdad Esfahbod 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.
Behdad Esfahbod 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.
Behdad Esfahbod ee8cf919 2018-07-30T16:59:41 [serialize] Remove unused truncate() method
Garret Rieger 5edf454a 2018-07-26T17:42:02 [subset] During lookup collection remember the features we've already processed.
Behdad Esfahbod 42c183f8 2018-07-27T14:55:29 Minor
Behdad Esfahbod ecab6604 2018-07-25T17:37:38 [serialize] Allocate for markFilteringSet
Behdad Esfahbod 7f08818c 2018-07-25T17:22:05 Minor
prrace 2e25d8f4 2018-07-27T13:58:27 Fix unlikely leaks
Behdad Esfahbod 3c2842cb 2018-07-25T17:07:17 Add hb-iter-private.hh Unused so far.
Behdad Esfahbod 92b1e025 2018-07-25T16:58:47 Move some code from hb-open-type-private.hh to hb-machinery-private.hh
Behdad Esfahbod 6b11fea9 2018-07-25T16:01:37 [closure] Allocate out set on the stack
Behdad Esfahbod 74467b79 2018-07-25T14:30:07 Fix compile
Behdad Esfahbod bf90f353 2018-07-24T18:00:14 [coretext] Add note
Garret Rieger fb58cb4b 2018-07-25T13:39:17 [subset] Only used reachable lookups for gsub closure.
Behdad Esfahbod c38bd402 2018-07-24T09:43:27 [closure] Separate in and out glyphs Fixes https://github.com/harfbuzz/harfbuzz/issues/1107
Garret Rieger 85646fda 2018-07-23T15:37:18 [subset] Limit the iterations of the closure algorithm. Prevents O(n^2) run times.
Behdad Esfahbod 94759d4c 2018-07-23T15:01:39 Fix visibility on mingw32 Should fix bots again.
Behdad Esfahbod 61eddbd8 2018-07-23T14:44:10 Fix infinite loop in loading num_glyphs within sanitizer
Behdad Esfahbod e22a48ac 2018-07-23T13:24:26 One more visibility trick Should fix Windows build again.
Behdad Esfahbod e57a638b 2018-07-23T12:00:02 One more
Behdad Esfahbod 36ed163f 2018-07-23T11:57:45 Remove unnecessary OT:: namespace specifiers
Behdad Esfahbod 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.
Behdad Esfahbod 9401829d 2018-07-22T22:50:58 Remove Sanitizer<>
Behdad Esfahbod 8e3e4127 2018-07-22T22:49:26 Port rest of code away from Sanitizer<>
Behdad Esfahbod d6a8f640 2018-07-22T22:47:19 Port dump-emoji away from Sanitizer<>
Behdad Esfahbod 14f78d2b 2018-07-22T22:45:26 .
Behdad Esfahbod 4547051f 2018-07-22T22:44:22 Minor
Behdad Esfahbod 740ae27d 2018-07-22T22:40:56 Port sbix off of Sanitizer<>
Behdad Esfahbod 9583e007 2018-07-22T22:40:32 Port more off of Sanitizer<>
Behdad Esfahbod 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); }
David Corbett 62fa7cd1 2018-04-13T18:45:37 Order Chakma split vowels in accordance with NFC Fixes #1105.
Ebrahim Byagowi 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.
Ebrahim Byagowi 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.
Ebrahim Byagowi 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
Behdad Esfahbod 1e9e344b 2018-07-17T19:17:59 Fix hb_face_count() sanitize referencing
Behdad Esfahbod 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.
Behdad Esfahbod be707384 2018-07-17T18:45:25 Move sanitizer code around a bit
Behdad Esfahbod 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.
Behdad Esfahbod 68310a65 2018-07-17T13:20:40 1.8.4
Behdad Esfahbod 04b7b81b 2018-07-17T10:57:01 Reland "Implement C++11-style GCC builtin atomic ops" Fixed the crasher in it.
Behdad Esfahbod 019d18e9 2018-07-17T10:59:19 Minor
Behdad Esfahbod 3edef5a1 2018-07-17T10:50:01 Revert "Implement C++11-style GCC builtin atomic ops" This reverts commit 21fa170f0bfb0109c506ed17f5aff8b062564ffa. Is crashing. Oops.
Behdad Esfahbod 21fa170f 2018-07-16T17:58:02 Implement C++11-style GCC builtin atomic ops Hopefully fixes bots.
Behdad Esfahbod 804b59cf 2018-07-16T15:44:58 Relax C++11 atomic ops memory order to acquire-release
Behdad Esfahbod bda24240 2018-07-16T15:41:09 Implement C++11 <atomic> operations Fixes https://github.com/harfbuzz/harfbuzz/issues/345
Cosimo Lupo 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
Cosimo Lupo 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
Cosimo Lupo 3ab52c6c 2018-07-16T12:57:27 appveyor.yml: pass --needed option to pacman so it won't attempt reinstalling packages which are already installed
Cosimo Lupo 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
Behdad Esfahbod 2aae617a 2018-07-11T17:27:23 Move _hb_alignof later again It uses constexpr...
Behdad Esfahbod f3a74c16 2018-07-11T17:23:53 Make hb_vector_t 8 bytes smaller
Behdad Esfahbod 44999f8b 2018-07-11T17:00:59 Align NullPool and CrapPool to HB_VECTOR_SIZE
Behdad Esfahbod 20a318d0 2018-07-11T17:00:13 Fix return type of alignof() fallback