Garret Rieger
e17e744300
Convert existing uses of serialize_append in gsub subsetting to use subset_offset_array.
2019-10-09 13:52:04 -07:00
Garret Rieger
36f18cecbb
Add subset_offset_array helper function which simplifies subsetting offset arrays during stream operations.
2019-10-09 13:52:04 -07:00
Ebrahim Byagowi
d512087e4d
Rename GlyphID to HBGlyphID
...
Avoid collision with macOS's ATSUnicodeTypes.h GlyphID
2019-09-14 11:55:53 +04:30
Behdad Esfahbod
38f95baf6b
[subset] in SingleSubst subsetting, check for substitute in glyphset
...
That matches what fonttools does and allows for specifying exact
glyphset for subset.
2019-08-29 13:40:46 -07:00
Ebrahim Byagowi
499029644f
[gsub] Fix clang's semicolon complains
2019-08-29 15:09:39 +04:30
Behdad Esfahbod
dc9222b1dd
[subset] Implement AlternateSubst subsetting
2019-08-28 15:38:46 -07:00
Behdad Esfahbod
23681b6da4
Minor
2019-08-28 15:30:37 -07:00
Behdad Esfahbod
33c8e2303c
[subset] Implement MultipleSubst subsetting
2019-08-28 15:25:55 -07:00
Behdad Esfahbod
5c43a7ba7e
[GSUB] Use dagger in Ligature::intersects()
2019-08-28 15:10:38 -07:00
Behdad Esfahbod
b8c642c1f5
Minor
2019-08-28 15:06:45 -07:00
Behdad Esfahbod
bc5ef765a8
[subset] Subset ligature substitutes!
...
Test with:
$ ./hb-subset -o out.ttf NotoSansArabic-Regular.ttf --drop-tables= سلام && ./hb-view out.ttf سلام
2019-08-28 14:52:13 -07:00
Behdad Esfahbod
0a18efd766
Minor
2019-07-26 14:34:26 -07:00
Behdad Esfahbod
7dcf8e126e
[config] Fix build with HB_NO_OT_LAYOUT
2019-06-26 13:44:23 -07:00
Behdad Esfahbod
2ad4ba7bc0
[gsub] Minor
2019-05-31 15:51:29 -07:00
Behdad Esfahbod
2dbdec66a1
[gsub] Porting serialize to iterators
2019-05-31 15:41:54 -07:00
Garret Rieger
0af9de13b7
[subset] For gsub subsetting only consider glyphs reachable via gsub closure.
2019-05-21 13:02:11 -07:00
Behdad Esfahbod
bcd3ffc948
Whitespace
2019-05-16 13:27:08 -07:00
Behdad Esfahbod
05bc5f96fb
[subset] Remove extra iteration
2019-05-16 13:05:58 -07:00
Behdad Esfahbod
2376867649
Use hb_map(hb_add(this)) to dereference OffsetTo<>'s
2019-05-15 22:01:44 -07:00
Behdad Esfahbod
d214b07883
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
^
2019-05-15 19:07:39 -07:00
Behdad Esfahbod
371b55c7a0
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.
2019-05-15 19:04:24 -07:00
Behdad Esfahbod
f92d188d77
Whitespace
2019-05-15 18:52:57 -07:00
Garret Rieger
962f95cf80
[subset] Switch SingleSubst to use iterators in serialize.
2019-05-15 18:37:32 -07:00
Behdad Esfahbod
78d35f0e78
Reduce captures of lambdas
2019-05-15 18:15:05 -07:00
Behdad Esfahbod
d0df996cdc
Use implicit lambda return type
2019-05-15 00:32:41 -07:00
Behdad Esfahbod
7df3ecfb40
[meta] hb_void_t -> hb_empty_t
2019-05-10 20:43:26 -07:00
Behdad Esfahbod
83e3eabd84
Whitespace
2019-05-07 20:58:43 -07:00
Behdad Esfahbod
41248cce0e
Remove MIN/MAX in favor of hb_min/hb_max
2019-05-07 20:54:31 -07:00
Behdad Esfahbod
36bb24f7b4
[dispatch] Forward arguments in all dispatch multiplexers
2019-05-05 10:14:17 -07:00
Behdad Esfahbod
b10f65933a
[dispatch] Use functionality from previous commit
...
To remove a couple of unwanted wrapper methods
2019-05-05 09:23:35 -07:00
Behdad Esfahbod
88a4147240
[serializer] Accept exact type in serialize_subset/copy()
2019-05-02 14:22:31 -07:00
Ebrahim Byagowi
92588782d7
Remove space between right angle brackets now that we have C++11 ( #1689 )
2019-04-30 13:05:10 -07:00
Behdad Esfahbod
42526d1697
[serialize] Fix SingleSubstFormat1 failure
2019-04-24 10:24:33 -04:00
Behdad Esfahbod
915b9ea5f4
[serialize] Add c->check_assign()
...
To check for assignment overflows.
2019-04-24 10:07:19 -04:00
Behdad Esfahbod
00a00bc1f2
Fix two TODOs
2019-04-24 10:01:30 -04:00
Behdad Esfahbod
95df00aec1
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++
2019-04-12 17:51:14 -04:00
Behdad Esfahbod
688069bbfb
[iter] One more dagger
2019-03-29 22:17:31 -07:00
Behdad Esfahbod
90b60bd690
Remove HB_DEBUG_WOULD_APPLY
...
Not that useful.
2019-03-29 22:12:42 -07:00
Behdad Esfahbod
4d28267e59
[iter] Port more to daggers
2019-03-29 22:04:15 -07:00
Behdad Esfahbod
418e9d07e2
Simplify code
2019-03-29 21:57:26 -07:00
Behdad Esfahbod
bcab098c8f
[iter] Port more code to daggers
2019-03-29 21:49:18 -07:00
Behdad Esfahbod
4c75158e18
[iter] Port two more functions to daggers
2019-03-29 21:46:13 -07:00
Behdad Esfahbod
f1dad91eb3
Whitespace
2019-03-29 21:17:08 -07:00
Behdad Esfahbod
896b31670d
[iter] Port two more loops to dagger
2019-03-29 21:16:30 -07:00
Behdad Esfahbod
12a4c0441f
Whitespace
2019-03-29 21:06:10 -07:00
Behdad Esfahbod
b986c6a321
[C++11] Remove IntType::set() in favor of operator=
2019-03-29 20:21:21 -07:00
Behdad Esfahbod
f4cfd6b6ad
[iter] A couple more hb_apply() + lambda uses
2019-02-14 13:45:52 -08:00
Behdad Esfahbod
7514a49f21
[iter] Use hb_apply() with lambda functions in a few places
2019-02-14 13:16:33 -08:00
Behdad Esfahbod
f8fcfb263e
[iter] Accept pointers to hb_sink()
2019-02-14 11:03:29 -08:00
Behdad Esfahbod
bb139cb8d0
[iter] Back to dagger formatting for pipelines
2019-02-14 10:52:02 -08:00