Log

Author Commit Date CI Message
Behdad Esfahbod da48aca1 2018-08-06T05:52:12 [BASE] Misc fixes The code was badly broken. In better shape now, but still, needs a full review before ever working.
Behdad Esfahbod f9cfa5cb 2018-08-06T05:29:15 Change null-pool specialization to min_size again
Behdad Esfahbod 25147ff8 2018-08-06T05:01:52 Move Null system to hb-null.hh
Behdad Esfahbod f800368d 2018-08-06T04:58:34 Remove unused macros
Behdad Esfahbod 19e00912 2018-08-06T04:54:31 Minor
Behdad Esfahbod 37be774a 2018-08-06T04:51:38 Minor
Behdad Esfahbod e1acff80 2018-08-06T04:42:46 Move hb_vector_t to hb-vector-private.hh
Behdad Esfahbod be336dad 2018-08-06T04:32:51 Move some more code around
Behdad Esfahbod 92806ee0 2018-08-05T21:41:52 Move null data definitions to hb-static.cc Also remove " " null data for Tag. Just use zeroes.
Behdad Esfahbod 1b4d5a24 2018-08-03T19:55:09 Minor
Behdad Esfahbod 7df7963b 2018-08-03T19:54:33 Make lazy loader deal with OOM
Behdad Esfahbod 30ff8ac8 2018-08-03T17:32:00 Rename
Behdad Esfahbod 85ba4a19 2018-08-03T17:06:42 [ot] Comment
Behdad Esfahbod 07afc1a2 2018-08-03T17:03:32 [ot] Add misc tables to tables_t Most unused.
Behdad Esfahbod 74b4df2c 2018-08-03T16:57:40 [ot] Move GDEF into tables_t
Behdad Esfahbod 0271c7ab 2018-08-03T16:45:57 [ot] Move GSUB/GPOS into tables_t
Behdad Esfahbod f73d2775 2018-08-03T16:34:25 [ot] More shuffling Misc. table loading now properly automated.
Behdad Esfahbod 52fbd23d 2018-08-03T16:22:16 [ot] Minor
Behdad Esfahbod 6a0a298a 2018-08-02T23:13:19 [ot] Move code around
Behdad Esfahbod 5e718a75 2018-08-02T23:04:42 [ot] Use switch for checking for blacklisted GDEF tables Faster / more compact code.
Behdad Esfahbod b5cdf528 2018-08-02T22:56:42 [ot] In GDEF blacklisting logic, remove the glyph index check for Times Just blacklist based on table sizes like we do for other fonts.
Behdad Esfahbod c988b119 2018-08-02T20:04:37 Move code around
Behdad Esfahbod 574b37e9 2018-08-02T02:22:38 Minor
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 13f4c137 2018-08-01T14:13:59 [atomic] Fix Solaris ones to add proper barriers
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
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); }