|
9b6da299
|
2025-03-02T17:00:14
|
|
[font/var] Try to regain performance of all-normalized-coords=0
|
|
aaecaa4c
|
2025-02-24T22:03:00
|
|
[vector] Disallow accidental creation of transient vectors
Fix sites that were doing this under our feet.
This lowers precision of some instancing operations from double
to float, which modifies a few results by rounding error.
TODO: Update tests.
|
|
0037ee28
|
2024-05-24T08:10:15
|
|
Merge pull request #4578 from harfbuzz/varc-table
`VARC` table
|
|
3609ebb0
|
2024-05-13T11:05:04
|
|
[htmx] Return non-variable advance if no glyf table available
Fixes https://github.com/harfbuzz/harfbuzz/issues/4706
|
|
11388c16
|
2024-03-16T13:16:20
|
|
Fix build
|
|
1cb47eff
|
2024-02-06T14:49:31
|
|
Rename VariationStore to ItemVariationStore
|
|
f1ac36ba
|
2023-11-15T11:38:41
|
|
[instancer] update hhea vertical metrics with OS/2 ones
|
|
04ee306b
|
2023-07-09T07:37:57
|
|
[subset/hmtx] Another TODO
|
|
caef35b3
|
2023-07-09T07:23:16
|
|
[subset/hmtx] TODO
|
|
82741304
|
2023-06-04T09:41:41
|
|
[subset] start_embed never returns nullptr
Remove checks.
|
|
f014112d
|
2023-06-03T18:27:24
|
|
Revert "[subset] Allow adding table directly from subset()"
This reverts commit 25a6514887ebe899bd4ede1e283e067f97e15def.
|
|
25a65148
|
2023-06-03T18:26:36
|
|
[subset] Allow adding table directly from subset()
And do it for hmtx. Going to revert since it slows things down.
Apparently the serializer buffer is in caches and hot, so faster
to write to and copy even.
|
|
8dab4441
|
2023-06-03T17:06:30
|
|
[subset/hmtx] Micro-optimize last commit
hb_zip has its own overhead...
|
|
e981dc24
|
2023-06-03T17:01:52
|
|
[subset/hmtx] Rewrite loop faster for retaingid
|
|
4a9da026
|
2023-06-03T16:46:29
|
|
[subset/hmtx] Micro-optimize
|
|
ca27925d
|
2023-06-03T16:18:15
|
|
Use hb_codepoint_pair_t in more places
|
|
841e86fd
|
2023-06-03T16:09:45
|
|
[subset/hmtx] Further speedup!
|
|
13a4c7b3
|
2023-06-03T15:12:53
|
|
[subset/hmtx] Comment
|
|
cd249d23
|
2023-06-02T16:15:05
|
|
[subset/hmtx] Micro-optimize
|
|
916629d1
|
2023-06-02T16:08:49
|
|
[subset/hmtx] Don't clear allocation
|
|
b67e464b
|
2023-06-02T15:11:06
|
|
[subset/retaingid] Regain perf lost
In 0f12fd5a66a5dd1c3c9ac5ea8a52341bafcfe567
|
|
ad872e23
|
2023-06-02T18:32:09
|
|
[subset] Optimize hmtx/vmtx serialization.
Make serializer allocation up front to avoid bounds checking overhead for each metric.
Benchmarks:
BM_subset/subset_glyphs/Mplus1p-Regular.ttf/retaingids/10_median -0.1005 -0.1005 0 0 0 0
BM_subset/subset_glyphs/Mplus1p-Regular.ttf/retaingids/64_median -0.0693 -0.0692 0 0 0 0
BM_subset/subset_glyphs/Mplus1p-Regular.ttf/retaingids/512_median -0.0294 -0.0293 1 1 1 1
BM_subset/subset_glyphs/Mplus1p-Regular.ttf/retaingids/4096_median -0.0033 -0.0032 3 3 3 3
BM_subset/subset_glyphs/Mplus1p-Regular.ttf/retaingids/10000_median +0.0170 +0.0171 7 7 7 7
|
|
9f54ab92
|
2023-06-01T17:45:03
|
|
[subset-plan] Keep a reverse-gid vector
To speed up iteration.
|
|
aa7dd70a
|
2023-06-01T14:24:33
|
|
[hmtx] Reduce map usage slightly
|
|
5543d058
|
2023-05-17T17:29:44
|
|
[subset] Use vector instead of map for glyph bounds (#4232)
* [subset] Use vector instead of map for glyph bounds
Is faster.
Part of https://github.com/harfbuzz/harfbuzz/issues/4231
* [subset] initialize bounds_vec value to 0xFFFFFFFF
Some non-EMPTY glyph might have 0 bounds width/height
---------
Co-authored-by: Qunxin Liu <qxliu@google.com>
|
|
0e4bcf90
|
2023-04-20T16:23:41
|
|
[hmtx] Add TODO
|
|
639f45ef
|
2023-04-20T16:21:08
|
|
[beyond-64k/subset] Implement subsetting of hmtx beyond64k
|
|
000a3c5d
|
2023-04-20T15:53:10
|
|
[beyond-64k/subset] Fetch lsb from glyph table if not available
The beyond-64k hmtx table doesn't encode LSB. If subsetting brings
the glyph under 64k (which currently is the only mode we support),
then we need to encode the LSB, which wasn't available. We need to
fetch xMin from glyf table and set it as LSB.
|
|
317e3693
|
2023-04-20T11:48:43
|
|
[beyond-64k] Fail hmtx subsetting if subset too large
|
|
7a47a369
|
2023-01-22T09:09:45
|
|
[hmtx] Fix typo
|
|
92122421
|
2023-01-13T11:42:58
|
|
[instancer] update vhea/hhea tables
|
|
ca190915
|
2023-01-11T14:36:02
|
|
[hhea/vhea] Add MVAR during instancing
|
|
1135f0b8
|
2023-01-11T13:45:16
|
|
Another try at fixing arm build
|
|
41352c08
|
2023-01-11T12:42:14
|
|
[hmtx] Fix types
|
|
75b33cb0
|
2023-01-11T12:24:35
|
|
[subset-plan] Simplify hmtx_map / vmtx_map allocation
|
|
626def03
|
2023-01-10T17:12:50
|
|
[hmtx] Remove TODO items
|
|
ac0e22fa
|
2022-07-22T09:37:09
|
|
[instance] update glyf/hmtx/vmtx tables
|
|
5a9c7930
|
2022-07-22T21:33:15
|
|
Add HB_NO_BEYOND_64K
|
|
b0cb9a1a
|
2022-07-03T15:32:32
|
|
Make get_leading_bearing return bool
Fixes https://github.com/harfbuzz/harfbuzz/issues/3496
Part of supporting >64k glyphs correctly.
|
|
f46ddeba
|
2022-07-03T13:12:49
|
|
[hmtx/glyf] Rename side-bearing functions for clarity
|
|
23435d52
|
2022-07-03T13:04:27
|
|
[hvar] Rename advance function for clarity
|
|
9f974cae
|
2022-07-03T13:03:12
|
|
[hvar] Rename lsb function for clarity
|
|
b2d60cbd
|
2022-07-03T12:56:48
|
|
[glyf] Rename advance functions for clarity
|
|
35c00c12
|
2022-07-03T12:54:17
|
|
[hmtx] Rename advance functions for clarity
|
|
71d52e10
|
2022-07-02T11:21:36
|
|
[var] Fix getting side-bearing variations
In HVAR/VVAR, if the side-bearing mappings are null, it means the
table does not have them and they should be loaded from glyf table.
Previous logic was returning zer0.
Part of fixing https://github.com/harfbuzz/harfbuzz/issues/1694
|
|
13c499cb
|
2022-06-30T14:25:09
|
|
[hvar] Minor internal rewiring
Not passing font to functions makes it more clear that they don't
scale values.
|
|
eee29f73
|
2022-06-30T14:03:07
|
|
[hmtx] Specialize var_table
|
|
5336ba70
|
2022-05-20T17:03:18
|
|
[HVAR] Cache VarStore region scalars
|
|
df42d28d
|
2022-03-21T21:17:15
|
|
[hmtx] Change default advance for horizontal direction to upem/2 again
|
|
6d0e67de
|
2022-03-21T21:07:11
|
|
[ot-font] Only use vmtx side-bearing if table exists
Part of fixing https://github.com/harfbuzz/harfbuzz/issues/537
|
|
67eb9acf
|
2022-02-15T17:17:49
|
|
[config] Add HB_NO_BORING_EXPANSION
|
|
8b7ccc41
|
2022-02-15T14:15:12
|
|
[hmtx] Implement [boring-expansion] >64k expansion
This implements https://github.com/be-fonts/boring-expansion-spec/issues/7
|
|
431c948e
|
2022-02-14T14:13:04
|
|
[hmtx] Document
|
|
be4ddcc3
|
2022-02-14T14:12:07
|
|
[hmtx] Rename internal num_advances to num_long_metrics
|
|
622cbc48
|
2022-02-14T14:09:40
|
|
[hmtx] Internal rename num_metrics to num_bearings
|
|
ed6d287d
|
2022-02-02T14:10:16
|
|
[ot-face] Load num-glyphs from `loca` table before `maxp`
Implements [boring-expansion] [maxp] Relax
https://github.com/be-fonts/boring-expansion-spec/issues/6
|
|
42b119ed
|
2022-02-12T14:18:02
|
|
[hmtx] Remove other subset-specific method from hmtx accelerator
|
|
9ba520b5
|
2022-02-12T13:57:03
|
|
[hmtx] Remove one subset-specific method from hmtx accelerator
Looks ugly but is the right thing to do.
|
|
ac1bb3e3
|
2022-01-20T11:47:17
|
|
[machinery] Move accelerators to constructor/destructor
|
|
e062376e
|
2022-01-19T17:09:34
|
|
[machinery] Make accelerator lazy-loader call Xinit/Xfini
Instead of init/fini. To isolate those functions. To be turned into
constructor/destructors, ideally one per commit (after some SFINAE
foo.)
|
|
53eebc7c
|
2021-12-08T08:32:41
|
|
[CONFIG] Add HB_NO_VERTICAL
|
|
b14475d2
|
2021-03-18T10:51:26
|
|
[subset] further changes to serializer error handling.
- Rename enum type and enum members.
- in_errors() now returns true for any error having been set. hb-subset now looks for offset overflow only errors to divert to repacker.
- Added INT_OVERFLOW and ARRAY_OVERFLOW enum values.
|
|
73ed59f7
|
2021-03-17T15:53:10
|
|
[subset] store errors in the serializer as a flag set.
Make check_assign/check_equal specify the type of error to set.
|
|
e541fb47
|
2020-06-21T09:49:48
|
|
minor, replace single hb_apply daggers with foreach
|
|
08428a15
|
2020-04-24T23:45:17
|
|
minor, spacing
|
|
2dda6dd7
|
2020-04-20T14:12:45
|
|
minor, tweak spacing
turn 8 spaces to tab, add space before Null/Crap
|
|
ba22df36
|
2020-03-10T10:42:20
|
|
minor
makes search for sanitize calls easier for me
|
|
453050ad
|
2019-10-13T08:38:56
|
|
Merge remote-tracking branch 'upstream/master' into var-subset
|
|
b068e25f
|
2019-10-08T16:29:15
|
|
[glyf] Address Behdad's reviews
Addresses https://github.com/harfbuzz/harfbuzz/pull/1999#issuecomment-539298559
* Don't check against Null pool
* Remove cryptic _tt suffix
|
|
d73cdcf3
|
2019-10-06T18:09:14
|
|
[ot-font] Apply font scaling before turning to int
|
|
74a2dbbc
|
2019-10-06T17:06:40
|
|
minor
|
|
100dbcca
|
2019-10-06T09:18:22
|
|
Merge remote-tracking branch 'upstream/master' into var-subset
|
|
57528636
|
2019-10-05T23:51:50
|
|
[glyf][gvar] Make HB_NO_VAR buildable
|
|
ee761018
|
2019-10-03T15:59:45
|
|
[hmtx] Use more conventional internal API style
|
|
c9577a63
|
2019-10-03T15:48:35
|
|
[hmtx] Use more optimal way to access glyf table
|
|
b9ff43c1
|
2019-10-01T16:13:40
|
|
Implement gvar table and variable glyf
Split from Ariza's "[subset] TrueType/CFF2 variable font" work on #1594
|
|
19d45dca
|
2019-10-03T13:39:17
|
|
Merge remote-tracking branch 'upstream/master' into var-subset
|
|
3fd555be
|
2019-10-03T13:02:41
|
|
[hmtx] Prepare to fix and minor fixes
|
|
6d09b5a8
|
2019-10-03T12:01:39
|
|
Implement hmtx/vmtx metrics read from hvar/vvar
|
|
9ff32b79
|
2019-08-29T19:53:18
|
|
Merge remote-tracking branch 'upstream/master' into glyf-rebase
|
|
a0b4ac4d
|
2019-08-24T17:57:14
|
|
Turn 8 spaces to tab across the project
According to the current code style of the project
|
|
5988ab8a
|
2019-07-22T14:36:16
|
|
Merge branch 'master' into var-subset
|
|
29444d7e
|
2019-07-20T13:52:21
|
|
Don't cache ascender/descender metrics
|
|
9675a067
|
2019-07-18T14:15:08
|
|
[ot-metrics] Touch up
|
|
87e62843
|
2018-11-20T23:26:46
|
|
Implement a simple API for fetching opentype metrics
Fixes https://github.com/harfbuzz/harfbuzz/pull/1432
|
|
8f8e8a84
|
2019-06-05T12:59:09
|
|
fix build
|
|
4ddab6fa
|
2019-06-05T11:21:27
|
|
Merge branch 'master' into var-subset
|
|
209491fc
|
2019-05-29T14:03:17
|
|
[subset] Hmtx/vmtx tables to use subset2 and new iterator frameworks
|
|
41248cce
|
2019-05-07T20:54:31
|
|
Remove MIN/MAX in favor of hb_min/hb_max
|
|
ab9d3096
|
2019-04-10T17:21:37
|
|
Add tt var metrics test cases & bug fixes
|
|
a1177fec
|
2019-03-29T08:43:47
|
|
Merge branch 'master' into var-subset
rebase master
|
|
b986c6a3
|
2019-03-29T20:17:46
|
|
[C++11] Remove IntType::set() in favor of operator=
|
|
511518c7
|
2019-03-18T15:39:10
|
|
add api test for tt var advance widths
stripped HVAR from SourceSansVariable-Roman.abc.ttf so glyf gets parsed
|
|
bee8d866
|
2019-03-18T10:48:53
|
|
fix build
|
|
c302ec6d
|
2019-03-17T15:36:26
|
|
moved most of var code from gvar to glyf
initialize phantom points from metrics from htmx/vmtx & glyf bbox before execution
added source file hb-ot-hmtx-table.cc to call glyf from hmtx/vmtx indirectly & temporarily, workaround a cyclic reference between the two
|
|
40dfca72
|
2019-03-01T15:14:22
|
|
calculate VF advance widths from gvar & glyf
|
|
9d3a2520
|
2019-03-18T15:39:10
|
|
add api test for tt var advance widths
stripped HVAR from SourceSansVariable-Roman.abc.ttf so glyf gets parsed
|
|
9d9d5c70
|
2019-03-18T10:48:53
|
|
fix build
|
|
8a7998fd
|
2019-03-17T15:36:26
|
|
moved most of var code from gvar to glyf
initialize phantom points from metrics from htmx/vmtx & glyf bbox before execution
added source file hb-ot-hmtx-table.cc to call glyf from hmtx/vmtx indirectly & temporarily, workaround a cyclic reference between the two
|
|
baf2ccf1
|
2019-03-01T15:14:22
|
|
calculate VF advance widths from gvar & glyf
|