src


Log

Author Commit Date CI Message
Michiharu Ariza a97ed342 2018-08-10T12:55:22 fixed inclusion of excluded Private & local Subrs It was bloating a multi-FD subset font unnecessarily defined a wrapper struct FDMap for fdmap
Michiharu Ariza 64c54122 2018-08-10T11:07:07 Added CFF support Added sources hb-ot-cff-table.hh, hb-subset-cff.cc & hh Templatized Index because CFF uses 16-bit count while CFF2 uses 32-bit Misc code cleanup & bug fixes
Michiharu Ariza 161ece4c 2018-08-06T11:23:50 Merge branch 'master' into cff-subset
Michiharu Ariza 9fae33b9 2018-08-06T10:44:12 Silence Codacy
Michiharu Ariza 5561b818 2018-08-06T10:04:53 subset FDSelect and FDArray Added a set of sources hb-subset-cff-common-private.cc & .hh for FDSelect subseting code. Added FDSelect format 4 (CFF2 only) support. Shared its implementation with format 3 as a template.
Behdad Esfahbod 79e21984 2018-08-06T09:45:17 Add batch advance width callback function New API: +hb_font_funcs_set_glyph_h_advances_func +hb_font_funcs_set_glyph_v_advances_func +hb_font_get_glyph_h_advances +hb_font_get_glyph_h_advances_func_t +hb_font_get_glyph_v_advances +hb_font_get_glyph_v_advances_func_t
Koji Ishii 9533364c 2018-08-01T13:01:08 batchwidth
Behdad Esfahbod b912fbea 2018-08-06T06:30:12 Remove most uses of direct comparison to Null objects
Behdad Esfahbod 3506672c 2018-08-06T06:17:48 Port _nil objects to Null() machinery Finally, unified!
Behdad Esfahbod 1abd427a 2018-08-06T05:53:35 [BASE] Rename horzi/vert to h/v
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
Michiharu Ariza cc3f4e00 2018-08-03T15:00:37 silence gcc
Michiharu Ariza 00970dd2 2018-08-03T14:35:09 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
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
Michiharu Ariza 76f7397c 2018-08-02T16:28:10 templatized CFF2 accelerator for lean Private dict interpretting for subset also fixed local subrs serialization
Michiharu Ariza 43040564 2018-08-02T12:23:10 removed TRACE_SERIALIZE from non-member function _write_cff2
Michiharu Ariza e2fd49e4 2018-08-02T11:39:22 Merge branch 'master' into cff-subset
Michiharu Ariza 693ae804 2018-08-02T11:22:42 more silencing fixes
Michiharu Ariza f6da4498 2018-08-02T10:52:08 silence archlinux
Michiharu Ariza 58279c3d 2018-08-02T10:18:01 silence Codacy
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
Michiharu Ariza 19ce0b24 2018-08-01T17:34:59 removed unused field OpStr::update
Michiharu Ariza 3bda54c4 2018-08-01T16:32:27 fixed Index::serialize The bug was causing CharString of the last glyph corrupt
Michiharu Ariza 16f4dc9b 2018-08-01T16:06:52 fixed CFF2VariationStore::serialize also get_size
Behdad Esfahbod 44d1fb37 2018-08-01T14:51:51 1.8.5
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
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()
Michiharu Ariza b2ff582c 2018-08-01T11:30:38 Implemented hb_subset_cff2 Added serialize functions to CFF2 structs Fixed issues & bugs & code cleanup Now subsetting CFF2 table outputs something
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 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 5772edc0 2018-07-31T14:10:31 [khmer] Typo
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
Michiharu Ariza 8782f80c 2018-07-30T15:27:20 fixed FDSelect0::sanitize
Michiharu Ariza 9c4cadae 2018-07-30T14:28:40 Added sanitize functions & calls Added sanitize functions to FDSelect Added satnitize calls for FDSelect, VariationStore, FDArray, TopDict
Michiharu Ariza 161b642e 2018-07-30T12:22:09 Merge branch 'master' into cff-subset
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