Behdad Esfahbod
|
27d24212db
|
[>64k:layout:AlternateSubst] Implement format 2
Implements rest of https://github.com/be-fonts/boring-expansion-spec/issues/32
Subset does NOT lower format.
|
2022-07-12 13:42:52 -06:00 |
Behdad Esfahbod
|
c53d3ad51e
|
[>64k:layout] Templatize AlternateSet
|
2022-07-12 13:42:52 -06:00 |
Behdad Esfahbod
|
a58a48622a
|
[>64k:layout:MultipleSubst] Implement format 2
Implements part of https://github.com/be-fonts/boring-expansion-spec/issues/32
Subset is NOT updated to lower format.
|
2022-07-12 13:42:52 -06:00 |
Behdad Esfahbod
|
684c8fcea7
|
[>64k:layout] Templatize MultipleSubst
|
2022-07-12 13:42:52 -06:00 |
Behdad Esfahbod
|
8775e9b4a4
|
[>64k:layout:SingleSubst] Implement format 3/4
Implements https://github.com/be-fonts/boring-expansion-spec/issues/31
|
2022-07-12 13:42:52 -06:00 |
Behdad Esfahbod
|
e3caf8d50a
|
[>64k:layout] Templatize SingleSubst
|
2022-07-12 13:42:52 -06:00 |
Behdad Esfahbod
|
d15041be7d
|
[GSUB/GPOS] Trace toplevel sanitize
|
2022-07-12 11:11:22 -06:00 |
Behdad Esfahbod
|
5192294f83
|
.
|
2022-07-08 14:09:04 -06:00 |
Behdad Esfahbod
|
8a107125a5
|
[layout] Make SubstLookup:serialize_single take iterators
|
2022-07-08 12:02:11 -06:00 |
Behdad Esfahbod
|
ea11029a6e
|
[GPOS] Split LigatureArray.hh
|
2022-07-08 11:58:43 -06:00 |
Behdad Esfahbod
|
68b2742fe4
|
[GPOS] Move code around
|
2022-07-07 16:11:15 -06:00 |
Behdad Esfahbod
|
6a3043a0c1
|
Fix tests
|
2022-07-07 14:51:37 -06:00 |
Behdad Esfahbod
|
0b0e3b30ce
|
[GPOS] Break down PairPosFormat1 into new layout
|
2022-07-07 14:06:44 -06:00 |
Kleis Auke Wolthuizen
|
79eb0f7486
|
[GSUB] Fix build on GCC < 7
|
2022-07-06 14:00:16 +02:00 |
Kleis Auke Wolthuizen
|
3238cb744b
|
[GPOS] Fix build on GCC < 7
|
2022-07-06 14:00:16 +02:00 |
Behdad Esfahbod
|
d9ab805e61
|
Fix LookupFlag negation
Fixes https://github.com/harfbuzz/harfbuzz/issues/3703
|
2022-07-05 11:45:10 -06:00 |
Behdad Esfahbod
|
b0cb9a1a63
|
Make get_leading_bearing return bool
Fixes https://github.com/harfbuzz/harfbuzz/issues/3496
Part of supporting >64k glyphs correctly.
|
2022-07-03 15:32:32 -06:00 |
Behdad Esfahbod
|
115e1a03e7
|
[glyf] Relax condition for matching number of coords
|
2022-07-03 14:45:12 -06:00 |
Behdad Esfahbod
|
800760c5bd
|
[glyf] Rename get_extents functions for clarity
|
2022-07-03 13:21:06 -06:00 |
Behdad Esfahbod
|
ab327f93b7
|
[glyf] Fix another bug with scaling
Of advances this time.
That codepath is never exercised though, if font has HVAR table.
|
2022-07-03 13:17:03 -06:00 |
Behdad Esfahbod
|
f46ddeba48
|
[hmtx/glyf] Rename side-bearing functions for clarity
|
2022-07-03 13:12:49 -06:00 |
Behdad Esfahbod
|
b2d60cbd6e
|
[glyf] Rename advance functions for clarity
|
2022-07-03 12:56:48 -06:00 |
Behdad Esfahbod
|
35c00c1216
|
[hmtx] Rename advance functions for clarity
|
2022-07-03 12:54:17 -06:00 |
Behdad Esfahbod
|
6b82d4faa1
|
[glyf] Make an optional argument non-optional
|
2022-07-03 12:45:27 -06:00 |
Behdad Esfahbod
|
3ef590808f
|
[glyf] Internal flip a variable
|
2022-07-03 12:44:24 -06:00 |
Behdad Esfahbod
|
78b4f39821
|
[glyf] Fix confusion between scaled vs unscaled lsb
Was always broken.
|
2022-07-03 12:39:55 -06:00 |
Behdad Esfahbod
|
6665881c7d
|
[glyf] Change side-bearing rounding
|
2022-07-03 12:39:55 -06:00 |
Garret Rieger
|
900476c635
|
Move GSUB.hh GPOS.hh back into the GPOS/GSUB sub directories.
|
2022-06-30 15:33:20 -06:00 |
Garret Rieger
|
5fdae68481
|
[reorg] Move GSUB.hh up one level and change GSUB namespace to GSUB_impl.
|
2022-06-30 15:33:20 -06:00 |
Garret Rieger
|
910a137f4e
|
[reorg] Fix propagate_attachment_offsets definition.
|
2022-06-28 18:47:50 -06:00 |
Garret Rieger
|
3fbf2dece7
|
[reorg] Move OT::Layout::GPOS_impl::GPOS to OT::Layout::GPOS.
|
2022-06-28 18:47:50 -06:00 |
Garret Rieger
|
88ef3c5a9a
|
[reorg] Change OT::Layout::GPOS to OT::Layout::GPOS_impl.
|
2022-06-28 18:47:50 -06:00 |
Garret Rieger
|
49ddf069e0
|
[reorg] Move GPOS reverse_cursive_minor_offset implementation into new directory layout.
|
2022-06-28 18:47:50 -06:00 |
Garret Rieger
|
74f45f7c2a
|
[reorg] Move remaining GPOS lookup types to new directory.
|
2022-06-28 18:47:50 -06:00 |
Garret Rieger
|
197d9a5c99
|
[reorg] Move more GPOS lookups to new directory.
|
2022-06-28 18:47:50 -06:00 |
Garret Rieger
|
c7307ca06a
|
[reorg] Begin moving GPOS into the new directory layout.
|
2022-06-28 18:47:50 -06:00 |
Behdad Esfahbod
|
34c6c0193c
|
[glyf] Fix byterange check again
|
2022-06-27 20:26:57 -06:00 |
Behdad Esfahbod
|
20572f914c
|
[glyf] Move read_flags into a function
|
2022-06-27 20:22:09 -06:00 |
Behdad Esfahbod
|
6e72c2e3fa
|
[glyf] Add an assertion
|
2022-06-27 15:09:25 -06:00 |
Behdad Esfahbod
|
3a0e27e794
|
[glyf] Move comment
|
2022-06-27 13:07:39 -06:00 |
Behdad Esfahbod
|
d0836dee7a
|
[glyf] Minor typo change
|
2022-06-27 13:05:58 -06:00 |
Behdad Esfahbod
|
5cca25e5d0
|
[glyf] Accumulate points as int
Everything is int at this stage.
Doesn't seem to matter for performance though.
|
2022-06-27 13:03:06 -06:00 |
Behdad Esfahbod
|
d6f60b3c19
|
[glyf] Minor optimization
|
2022-06-27 13:00:08 -06:00 |
Behdad Esfahbod
|
b30a3dcba3
|
[glyf] Another bounds check
Very unlikely that is needed but technically possible.
|
2022-06-27 12:56:54 -06:00 |
Behdad Esfahbod
|
2e9dbdcbbe
|
[glyf] Protect against an unlikely overflow
|
2022-06-27 12:55:13 -06:00 |
Behdad Esfahbod
|
f1fb8c4489
|
[glyf] Optimize Glyph layout
|
2022-06-27 12:41:46 -06:00 |
Behdad Esfahbod
|
34e3f561b5
|
[glyf] Fix a bug I introduced recently
Pass gid to Glyph in trim_padding codepath.
|
2022-06-27 12:39:35 -06:00 |
Behdad Esfahbod
|
19cbfb9ce9
|
[glyf] Relax a condition that font num_coords be equal to gvar's
gvar itself still checks the same.
|
2022-06-27 12:32:18 -06:00 |
Behdad Esfahbod
|
d5cfbaa068
|
[glyf] Optimize composite points loading
|
2022-06-27 12:24:20 -06:00 |
Behdad Esfahbod
|
32dc0641e1
|
[glyf] Remove an unnecessary condition
|
2022-06-27 12:22:06 -06:00 |
Behdad Esfahbod
|
3c49a6a60a
|
[glyf] Fix an allocation error
Try fixing assertion failure found by fuzzers:
hb-draw-fuzzer: ../../src/harfbuzz/src/OT/glyf/glyf.hh:175: bool OT::glyf_accelerator_t::get_points(hb_font_t *, hb_codepoint_t, T) const [T = OT::glyf_impl::path_builder_t]: Assertion `count >= glyf_impl::PHANTOM_COUNT' failed.
|
2022-06-27 10:57:51 -06:00 |
Behdad Esfahbod
|
a1c45bbb55
|
[glyf] Minor simplify
|
2022-06-26 17:30:16 -06:00 |
Behdad Esfahbod
|
a21a9bb855
|
[glyf] Optimize flags decoding byte range checking
|
2022-06-26 17:24:29 -06:00 |
Behdad Esfahbod
|
0f1fdf461c
|
[glyf] Optimize points decoding byte range checking
|
2022-06-26 17:22:45 -06:00 |
Behdad Esfahbod
|
51cfcf2957
|
[glyf] Optimize points decoding
|
2022-06-26 17:04:47 -06:00 |
Behdad Esfahbod
|
86b7022503
|
[glyf] Optimize flag decoding
|
2022-06-26 17:02:32 -06:00 |
Behdad Esfahbod
|
2bb0fa878a
|
[glyf] Remove unneeded point init()
|
2022-06-26 16:43:05 -06:00 |
Behdad Esfahbod
|
fc72a1d22d
|
[glyf] Add a pre-allocation for phantom points
|
2022-06-26 16:42:01 -06:00 |
Behdad Esfahbod
|
8d242aaa8b
|
[glyf] Rewrite a loop harmlessly
I hope...
|
2022-06-26 16:36:08 -06:00 |
Behdad Esfahbod
|
cf57f04ddb
|
[glyf/path-builder] Optimize scaling code
Scale each point once upon entry to function.
This makes our shape fetching code as fast as FreeType for all
benchmark cases now.
|
2022-06-26 16:26:17 -06:00 |
Behdad Esfahbod
|
b095df1343
|
[glyf/path-builder] Use operator bool for style
|
2022-06-26 16:12:50 -06:00 |
Behdad Esfahbod
|
abb433d0f4
|
[glyf] Avoid a copy of points in shape fetching for simple glyphs
Matches performance with freetype now.
|
2022-06-26 16:09:32 -06:00 |
Behdad Esfahbod
|
7eac779abf
|
Revert "Revert "[glyf] Optimize shape loading""
This reverts commit 164bd288cf .
|
2022-06-26 16:02:27 -06:00 |
Behdad Esfahbod
|
164bd288cf
|
Revert "[glyf] Optimize shape loading"
This reverts commit f0819301b7 .
Broke tests. To be debugged and redone.
|
2022-06-26 16:01:15 -06:00 |
Behdad Esfahbod
|
f0819301b7
|
[glyf] Optimize shape loading
Do away with a copy for simple glyph load.
|
2022-06-26 15:52:54 -06:00 |
Behdad Esfahbod
|
65b066f18e
|
[glyf/path-builder] Simplify initialization
|
2022-06-26 13:18:00 -06:00 |
Behdad Esfahbod
|
2d4557fe04
|
[glyf/SimpleGlyph] Use member pointer instead of lambda
|
2022-06-26 13:08:37 -06:00 |
Behdad Esfahbod
|
9ce9773040
|
[glyf/SimpleGlyph] Minor use constructor for contour_point_t
|
2022-06-26 13:08:37 -06:00 |
Behdad Esfahbod
|
f897978f21
|
[glyf] Adjust a check-range
|
2022-06-26 13:08:37 -06:00 |
Behdad Esfahbod
|
db039d97ff
|
[glyf/Composite] Make glyphIndex public
|
2022-06-26 13:08:37 -06:00 |
Behdad Esfahbod
|
1b14bf8aa8
|
[glyf] Rename CompositeGlyphChain to CompositeGlyphRecord
|
2022-06-26 13:08:37 -06:00 |
Behdad Esfahbod
|
a5ac7f2ea6
|
[glyf/composite_iter_t] Renames
|
2022-06-26 13:08:37 -06:00 |
Behdad Esfahbod
|
449bdeed5f
|
[glyf] Rename get_iterator() to iter()
That's the standard name.
|
2022-06-25 18:32:30 -06:00 |
Behdad Esfahbod
|
11d2670676
|
[glyf] Split off glyf-helpers.hh
|
2022-06-25 18:19:09 -06:00 |
Behdad Esfahbod
|
7c4b8c9bf4
|
[glyf] path-builder minor header guards fix test
|
2022-06-25 18:14:42 -06:00 |
Behdad Esfahbod
|
499c637922
|
[glyf] Split off path-builder.hh
|
2022-06-25 18:07:49 -06:00 |
Behdad Esfahbod
|
13aadc8961
|
[glyf] Split off CompositeGlyph.hh
|
2022-06-25 18:03:15 -06:00 |
Behdad Esfahbod
|
f0ec2b728e
|
[glyf] Split off SimpleGlyph.hh
|
2022-06-25 17:55:16 -06:00 |
Behdad Esfahbod
|
8ed78627f0
|
[glyf] Split off GlyphHeader.hh
|
2022-06-25 17:53:13 -06:00 |
Behdad Esfahbod
|
81315a3016
|
[glyf] Namespace implementation in glyf_impl
Part of https://github.com/harfbuzz/harfbuzz/issues/3677
|
2022-06-25 17:50:44 -06:00 |
Behdad Esfahbod
|
be1d4bcf29
|
[glyf] Add fast __end__ to composite iterator
|
2022-06-25 17:45:21 -06:00 |
Behdad Esfahbod
|
ef250eea7e
|
[glyf] Move a few structs out of Glyph{}
|
2022-06-25 17:37:59 -06:00 |
Behdad Esfahbod
|
ae75f066b5
|
[glyf] Split SubsetGlyph
|
2022-06-25 17:12:10 -06:00 |
Behdad Esfahbod
|
0031069f47
|
[glyf] Fix includes
|
2022-06-25 17:05:18 -06:00 |
Behdad Esfahbod
|
36373ee15c
|
[glyf] Move add_gid_and_children to subset-plan where it belongs
|
2022-06-25 16:55:26 -06:00 |
Behdad Esfahbod
|
ba1c9eda38
|
[glyf] Use a range for loop
|
2022-06-25 16:51:33 -06:00 |
Behdad Esfahbod
|
e4f2bc9342
|
[glyf] Split Glyph.hh
|
2022-06-25 16:47:06 -06:00 |
Behdad Esfahbod
|
3f9c6bf3fc
|
[glyf] Minor in _write_loca()
|
2022-06-25 14:46:26 -06:00 |
Behdad Esfahbod
|
852985da0f
|
[glyf] Split loca.hh
|
2022-06-25 14:41:51 -06:00 |
Behdad Esfahbod
|
100576b7b7
|
[glyf] Start splitting file
|
2022-06-25 14:38:43 -06:00 |
Behdad Esfahbod
|
9fc9b1ece4
|
[layout] Minor, add using Lookup to GSUB/GPOS
|
2022-06-08 12:37:31 -06:00 |
Behdad Esfahbod
|
4119f73c21
|
[subset/layout] Rename dispatch_closure_lookups_recurse_func to dispatch_recurse_func<>
|
2022-06-08 18:42:09 +01:00 |
Behdad Esfahbod
|
c13ff39520
|
[layout] Rename apply_recurse_func to specialization of dispatch_recurse_func
|
2022-06-08 18:42:09 +01:00 |
Garret Rieger
|
444c2375a1
|
[reorg] Use relative includes for hb-ot-layout-gsubgpos.hh
|
2022-03-23 18:05:24 -06:00 |
Garret Rieger
|
b342adeb96
|
[reorg] Move GSUB into OT::Layout::GSUB namespace.
|
2022-03-23 18:05:24 -06:00 |
Garret Rieger
|
a9910e258f
|
[reorg] Move SubstLookup and GSUB into the new layout.
|
2022-03-23 18:05:24 -06:00 |
Garret Rieger
|
90af2143d5
|
[reorg] Move ReverseChainSingleSubst to new layout.
|
2022-03-23 18:05:24 -06:00 |
Garret Rieger
|
403feb3804
|
[reorg] Move LigatureSubst to new layout.
|
2022-03-23 18:05:24 -06:00 |
Garret Rieger
|
6a369389d6
|
[reorg] Move AlternateSubst to new layout.
|
2022-03-23 18:05:24 -06:00 |
Garret Rieger
|
dea0681db2
|
[reorg] Move MultipleSubst into new layout.
|
2022-03-23 18:05:24 -06:00 |
Behdad Esfahbod
|
7243bf3e41
|
[reorg] Use relative include
|
2022-03-23 18:05:24 -06:00 |
Behdad Esfahbod
|
c180f93766
|
[reorg] Move sanitize/dispatch and size macros to top
|
2022-03-23 18:05:24 -06:00 |
Garret Rieger
|
f577d02f4a
|
[reorg] Fix check-* scripts to work with sources files in directories.
|
2022-03-23 18:05:24 -06:00 |
Garret Rieger
|
3ef180db44
|
[reorg] Move SingleSubst opentype fields to top of the classes.
|
2022-03-23 18:05:24 -06:00 |
Garret Rieger
|
7dfd9e7001
|
[reorganization] WIP move single substitution into separate files.
|
2022-03-23 18:05:24 -06:00 |