src/hb-ot-layout-gsub-table.hh


Log

Author Commit Date CI Message
Ebrahim Byagowi d512087e 2019-09-14T10:36:29 Rename GlyphID to HBGlyphID Avoid collision with macOS's ATSUnicodeTypes.h GlyphID
Behdad Esfahbod 38f95baf 2019-08-29T13:40:46 [subset] in SingleSubst subsetting, check for substitute in glyphset That matches what fonttools does and allows for specifying exact glyphset for subset.
Ebrahim Byagowi 49902964 2019-08-29T15:09:39 [gsub] Fix clang's semicolon complains
Behdad Esfahbod dc9222b1 2019-08-28T15:38:46 [subset] Implement AlternateSubst subsetting
Behdad Esfahbod 23681b6d 2019-08-28T15:30:37 Minor
Behdad Esfahbod 33c8e230 2019-08-28T15:25:55 [subset] Implement MultipleSubst subsetting
Behdad Esfahbod 5c43a7ba 2019-08-28T15:09:58 [GSUB] Use dagger in Ligature::intersects()
Behdad Esfahbod b8c642c1 2019-08-28T15:06:45 Minor
Behdad Esfahbod bc5ef765 2019-08-28T14:51:28 [subset] Subset ligature substitutes! Test with: $ ./hb-subset -o out.ttf NotoSansArabic-Regular.ttf --drop-tables= سلام && ./hb-view out.ttf سلام
Behdad Esfahbod 0a18efd7 2019-07-26T14:34:26 Minor
Behdad Esfahbod 7dcf8e12 2019-06-26T13:44:10 [config] Fix build with HB_NO_OT_LAYOUT
Behdad Esfahbod 2ad4ba7b 2019-05-31T15:48:54 [gsub] Minor
Behdad Esfahbod 2dbdec66 2019-05-31T15:38:11 [gsub] Porting serialize to iterators
Garret Rieger 0af9de13 2019-05-20T15:04:20 [subset] For gsub subsetting only consider glyphs reachable via gsub closure.
Behdad Esfahbod bcd3ffc9 2019-05-16T13:22:09 Whitespace
Behdad Esfahbod 05bc5f96 2019-05-16T13:05:58 [subset] Remove extra iteration
Behdad Esfahbod 23768676 2019-05-15T21:57:26 Use hb_map(hb_add(this)) to dereference OffsetTo<>'s
Behdad Esfahbod d214b078 2019-05-15T19:07:39 Fix clang build Ugh. In file included from hb-ot-face.cc:41: ./hb-ot-layout-gsub-table.hh:293:7: error: template parameter redefines default argument hb_requires (hb_is_sorted_source_of (Iterator, ^ ./hb-meta.hh:59:27: note: expanded from macro 'hb_requires' define hb_requires(Cond) hb_enable_if((Cond)) ^ ./hb-meta.hh:57:67: note: expanded from macro 'hb_enable_if' define hb_enable_if(Cond) typename hb_enable_if<(Cond)>::type* = nullptr ^ ./hb-ot-layout-gsub-table.hh:40:5: note: previous default template argument defined here hb_requires (hb_is_sorted_source_of (Iterator, ^ ./hb-meta.hh:59:27: note: expanded from macro 'hb_requires' define hb_requires(Cond) hb_enable_if((Cond)) ^ ./hb-meta.hh:57:67: note: expanded from macro 'hb_enable_if' define hb_enable_if(Cond) typename hb_enable_if<(Cond)>::type* = nullptr ^
Behdad Esfahbod 371b55c7 2019-05-15T18:54:07 Fix clang build In file included from hb-ot-face.cc:41: ./hb-ot-layout-gsub-table.hh:293:7: error: template parameter redefines default argument hb_requires (hb_is_sorted_source_of (Iterator, ^ ./hb-meta.hh:59:27: note: expanded from macro 'hb_requires' define hb_requires(Cond) hb_enable_if((Cond)) ^ ./hb-meta.hh:57:67: note: expanded from macro 'hb_enable_if' define hb_enable_if(Cond) typename hb_enable_if<(Cond)>::type* = nullptr ^ ./hb-ot-layout-gsub-table.hh:40:5: note: previous default template argument defined here hb_requires (hb_is_sorted_source_of (Iterator, ^ ./hb-meta.hh:59:27: note: expanded from macro 'hb_requires' define hb_requires(Cond) hb_enable_if((Cond)) ^ ./hb-meta.hh:57:67: note: expanded from macro 'hb_enable_if' define hb_enable_if(Cond) typename hb_enable_if<(Cond)>::type* = nullptr ^ 1 error generated.
Behdad Esfahbod f92d188d 2019-05-15T18:52:57 Whitespace
Garret Rieger 962f95cf 2019-05-09T13:04:11 [subset] Switch SingleSubst to use iterators in serialize.
Behdad Esfahbod 78d35f0e 2019-05-15T18:15:05 Reduce captures of lambdas
Behdad Esfahbod d0df996c 2019-05-15T00:32:41 Use implicit lambda return type
Behdad Esfahbod 7df3ecfb 2019-05-10T20:43:26 [meta] hb_void_t -> hb_empty_t
Behdad Esfahbod 83e3eabd 2019-05-07T20:58:43 Whitespace
Behdad Esfahbod 41248cce 2019-05-07T20:54:31 Remove MIN/MAX in favor of hb_min/hb_max
Behdad Esfahbod 36bb24f7 2019-05-05T10:14:17 [dispatch] Forward arguments in all dispatch multiplexers
Behdad Esfahbod b10f6593 2019-05-05T09:23:35 [dispatch] Use functionality from previous commit To remove a couple of unwanted wrapper methods
Behdad Esfahbod 88a41472 2019-05-02T14:22:31 [serializer] Accept exact type in serialize_subset/copy()
Ebrahim Byagowi 92588782 2019-04-30T13:05:10 Remove space between right angle brackets now that we have C++11 (#1689)
Behdad Esfahbod 42526d16 2019-04-24T10:24:33 [serialize] Fix SingleSubstFormat1 failure
Behdad Esfahbod 915b9ea5 2019-04-24T10:07:19 [serialize] Add c->check_assign() To check for assignment overflows.
Behdad Esfahbod 00a00bc1 2019-04-24T10:01:30 Fix two TODOs
Behdad Esfahbod 95df00ae 2019-04-12T17:50:03 Hide a few static methods Looks like static methods that do not get inlined end up exported. We have a lot more. Need to protect all at some point. Wish there was an easier way, like the visibility flag we pass that automatically hides all inline methods. Was exposed by check-symbols.sh when compiling on OS X 10.14 with: $ make CPPFLAGS=-Oz CXXFLAGS=-flto=thin LDFLAGS=-lc++
Behdad Esfahbod 688069bb 2019-03-29T22:17:31 [iter] One more dagger
Behdad Esfahbod 90b60bd6 2019-03-29T22:12:42 Remove HB_DEBUG_WOULD_APPLY Not that useful.
Behdad Esfahbod 4d28267e 2019-03-29T22:04:15 [iter] Port more to daggers
Behdad Esfahbod 418e9d07 2019-03-29T21:57:26 Simplify code
Behdad Esfahbod bcab098c 2019-03-29T21:49:18 [iter] Port more code to daggers
Behdad Esfahbod 4c75158e 2019-03-29T21:46:13 [iter] Port two more functions to daggers
Behdad Esfahbod f1dad91e 2019-03-29T21:17:08 Whitespace
Behdad Esfahbod 896b3167 2019-03-29T21:16:30 [iter] Port two more loops to dagger
Behdad Esfahbod 12a4c044 2019-03-29T21:06:10 Whitespace
Behdad Esfahbod b986c6a3 2019-03-29T20:17:46 [C++11] Remove IntType::set() in favor of operator=
Behdad Esfahbod f4cfd6b6 2019-02-14T13:45:52 [iter] A couple more hb_apply() + lambda uses
Behdad Esfahbod 7514a49f 2019-02-14T13:16:33 [iter] Use hb_apply() with lambda functions in a few places
Behdad Esfahbod f8fcfb26 2019-02-14T11:03:29 [iter] Accept pointers to hb_sink()
Behdad Esfahbod bb139cb8 2019-02-14T10:51:47 [iter] Back to dagger formatting for pipelines
Behdad Esfahbod 16cc313d 2019-02-14T10:40:05 [iter] Use hb_sink()
Behdad Esfahbod 2d940946 2019-01-30T16:03:16 [iter] Fix mystery crash Fuzzer caught it: ==14==ERROR: AddressSanitizer: stack-use-after-return on address 0x7fca2ed7a3e0 at pc 0x0000006057aa bp 0x7ffc3290f1d0 sp 0x7ffc3290f1c8 READ of size 4 at 0x7fca2ed7a3e0 thread T0 SCARINESS: 55 (4-byte-read-stack-use-after-return) #0 0x6057a9 in OT::SingleSubstFormat2::subset(hb_subset_context_t*) const /src/harfbuzz/src/./hb-ot-layout-gsub-table.hh:194:40 #1 0x5ff921 in hb_subset_context_t::return_t OT::SingleSubst::dispatch<hb_subset_context_t>(hb_subset_context_t*) const /src/harfbuzz/src/./hb-ot-layout-gsub-table.hh:256:13 I can't reproduce locally, but many of the bots are failing because of this as well. It's a pity that operator-> must return pointer. Ugh. Why?!
Behdad Esfahbod cbe2118c 2019-01-30T15:07:09 Merge branch 'master' into iter
Garret Rieger 4842294b 2019-01-28T16:51:27 [subset] Update gsub to use glyphset() method of subset plan.
Behdad Esfahbod 090fe56d 2019-01-25T15:34:03 Merge branch 'master' into iter
Behdad Esfahbod ef006549 2019-01-22T12:08:57 Convert tag enum class consts to static constexpr Part of https://github.com/harfbuzz/harfbuzz/issues/1553
Behdad Esfahbod 21c0713a 2019-01-09T21:24:51 Whitespace
Behdad Esfahbod 420d8ac3 2019-01-09T20:58:25 [algs] Add hb_iter() Makes it nicer in pipelines.
Behdad Esfahbod 54ec48ea 2019-01-09T20:54:21 Use iter pipelines more
Behdad Esfahbod f4cbb1ee 2019-01-09T13:28:00 WIP
Behdad Esfahbod ede1a71b 2019-01-09T10:45:53 Minor rename
Behdad Esfahbod af2067e8 2019-01-09T10:17:33 Use hb_zip() moooore
Behdad Esfahbod 0d1fdf93 2019-01-09T10:06:48 Use hb_zip() some mooore
Behdad Esfahbod 83ad0b6d 2019-01-09T09:57:36 Use hb_zip() some more
Behdad Esfahbod f0dd0656 2019-01-09T09:52:10 Use hb_zip() some
Behdad Esfahbod 815cde9f 2019-01-07T18:33:04 [iter] Use is_sorted_iterator
Behdad Esfahbod a46874f1 2018-12-28T21:23:26 [iter] Revert back uses of C++11 auto type deduction
Behdad Esfahbod d6024794 2018-12-27T09:56:41 Change hb_void_t implementation
Behdad Esfahbod e1688424 2018-12-26T22:27:23 [iter] Port Coverage iterator to hb_iter_t
Behdad Esfahbod 89bcfb20 2019-01-18T14:59:18 Remove TRACE_COLLECT_GLYPHS
Behdad Esfahbod 0772c06f 2019-01-18T12:53:06 Remove tracing from closure
Behdad Esfahbod 474a1205 2018-12-21T18:46:51 [array/vector] Rename len to length
Behdad Esfahbod 09740148 2018-12-21T15:56:01 [serialize] Use component_list by reference, as a supplier
Behdad Esfahbod f1e95e40 2018-12-18T16:49:08 [arrays] Remove hb_supplier_t<>
Behdad Esfahbod 9aebfb41 2018-12-18T13:22:17 [serialize] Streamline error propagation
Behdad Esfahbod cf39c242 2018-12-17T22:36:23 [arrays] Rename Supplier to hb_supplier_t
Ebrahim Byagowi e4120085 2018-12-17T21:31:01 Remove redundant void from C++ sources (#1486)
Ebrahim Byagowi b2ebaa9a 2018-12-16T22:38:10 Remove redundant 'inline' from methods (#1483)
Behdad Esfahbod 705e2f50 2018-12-13T17:48:42 [subset] Implement for ClassDef
Behdad Esfahbod 6e33a395 2018-12-13T16:40:01 Minor
Behdad Esfahbod 2cc993e0 2018-12-12T10:07:38 [dispatch] Minor
Behdad Esfahbod 1aea8694 2018-12-11T22:53:58 [subset] Map glyphs during SingleSubst subsetting Ha!
Behdad Esfahbod be45677a 2018-12-01T00:04:29 Minor
Behdad Esfahbod 5c4fead7 2018-11-29T15:04:34 Convert "static const hb_tag_t" constants to enum
Behdad Esfahbod 574d888c 2018-11-25T16:51:22 [aat] Ignore GSUB table of Muthu Foundry if they have morx table Fixes https://github.com/harfbuzz/harfbuzz/issues/1410
Behdad Esfahbod a9e0bdc3 2018-11-22T21:30:04 [GSUB] Don't flush glyphset during recursion in closure() See comment. Supercedes https://github.com/harfbuzz/harfbuzz/pull/1401 Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11366
Ebrahim Byagowi 11aa0468 2018-11-15T23:10:56 [subset] minor, adjust spaces
Behdad Esfahbod 33b006cc 2018-11-05T23:19:04 [ot-layout] Simplify some access
Behdad Esfahbod ca5e5a49 2018-10-29T22:30:21 Port Coverage::Iter off hb_auto_t<>
Behdad Esfahbod 3a4e5dd4 2018-10-29T18:05:25 Remove a few unnecessary hb_auto_t<>'s See a85641446c30247c4e948263f0f8c1147ed4efb9
Bruce Mitchener 257d0e5a 2018-10-19T22:49:21 Fix typos.
Behdad Esfahbod 3cca9787 2018-10-02T15:02:16 Move code around
Behdad Esfahbod effc7ced 2018-09-13T20:21:54 Rename HeadlessArrayOf::len to lenP1 So it doesn't accidentally match our templates, etc.
Behdad Esfahbod 08260c70 2018-09-11T10:51:19 [random] Shuffle
Behdad Esfahbod 71c9f84e 2018-09-10T22:37:19 Make --features rand=1 available to the user Use rand=255 to mean "randomize". Part of https://github.com/harfbuzz/harfbuzz/pull/803
Behdad Esfahbod cc1c4fdf 2018-09-10T16:36:05 Respect user's wish if they set rand feature manually Except if the set it to 1, which would mean "randomize"... Ugly.
Behdad Esfahbod 80de4bcd 2018-09-10T16:24:52 Minor clean up of 'rand' patchset
David Corbett c2a75e07 2018-01-25T14:22:03 Implement 'rand'
Behdad Esfahbod 1e6599f5 2018-09-05T19:29:42 Fix older compilers re '>>' at nested template declarations
Behdad Esfahbod 0d160d5f 2018-09-03T20:50:11 [subset] Implement subsetting of SingleSubst
Behdad Esfahbod dc50493a 2018-09-03T18:23:23 [subset] Towards subsetting SingleSubstFormat1 Why does subset plan not have a hb_set_t of glyphs?
Behdad Esfahbod 339d3603 2018-09-03T17:33:34 [subset] Wire up subset() call down to subtables