|
6dfd4a16
|
2022-11-16T22:44:22
|
|
[ot-font] Remove stale TODO
|
|
d2966d39
|
2022-09-22T23:30:50
|
|
[ot-font] Try CBDT extents before outline tables
Like we do for sbix table.
Fixes https://github.com/harfbuzz/harfbuzz/issues/3827
|
|
c02a1a4a
|
2022-09-10T10:44:16
|
|
[ot-font] Remove unused include
|
|
d7adc55e
|
2022-08-03T13:22:51
|
|
[ot-font] Allow 24bit glyphs in advance cache
|
|
ec90d1e1
|
2022-08-03T13:00:48
|
|
[cache] Add a non-threadsafe version
Use in hb-ft, since already mutex'ed.
|
|
86d1e22d
|
2022-08-03T12:43:28
|
|
[atomic-ptr] Rename get
|
|
d3f2287e
|
2022-08-03T12:37:41
|
|
[atomic-int] Rename get/set
|
|
a5d9012e
|
2022-07-29T19:51:00
|
|
Revert "[ot-font] Minor simplification"
This reverts commit 28c02b37684b41bf584ed81d910a448bdf9f706a.
Old code was used in case of memory allocation failure (as shown
by fuzzers...)
|
|
28c02b37
|
2022-07-29T15:55:16
|
|
[ot-font] Minor simplification
|
|
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
|
|
ab5ce643
|
2022-07-03T13:00:22
|
|
[VVAR] Rename vorg 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
|
|
b07fa2bb
|
2022-07-02T13:43:23
|
|
[ot-font] Respect VORG even if it has no variations
|
|
aba4a495
|
2022-06-30T14:13:44
|
|
[ot-font] Disable VORG variation code in HB_NO_VAR
|
|
d5921b37
|
2022-06-30T14:08:29
|
|
[tt-font] Apply VVAR.vOrg variation to VORG origin
Mostly fixes https://github.com/harfbuzz/harfbuzz/issues/1694
|
|
eee29f73
|
2022-06-30T14:03:07
|
|
[hmtx] Specialize var_table
|
|
a719e678
|
2022-05-24T17:51:24
|
|
[ot-font] Use atomic ops for cache serial number
This guarantees the cache is coherent.
|
|
5248b256
|
2022-05-24T13:55:17
|
|
[ot-font/h-advance] Adjust varStore cache condition
This gives best performance for short strings, now that we have a h-advance cache as well.
The en-words benchmark in particular, now ot-font is faster than ft.
Second to last line is of interest:
Before:
-----------------------------------------------------------------------------------------------------
Benchmark Time CPU Iterations
-----------------------------------------------------------------------------------------------------
BM_Shape/en-words.txt/Roboto-Regular.ttf/hb 29.8 ms 29.8 ms 23
BM_Shape/en-words.txt/Roboto-Regular.ttf/ft 30.4 ms 30.4 ms 23
BM_Shape/en-words.txt/SourceSerifVariable-Roman.ttf/hb 16.3 ms 16.3 ms 43
BM_Shape/en-words.txt/SourceSerifVariable-Roman.ttf/ft 16.5 ms 16.5 ms 42
BM_Shape/en-words.txt/SourceSerifVariable-Roman.ttf/var/hb 18.0 ms 18.0 ms 39
BM_Shape/en-words.txt/SourceSerifVariable-Roman.ttf/var/ft 17.8 ms 17.8 ms 39
After:
behdad@Behdads-MacBook-Pro harfbuzz % ninja -Cbuild && build/perf/benchmark-shape --benchmark_filter=en-words
-----------------------------------------------------------------------------------------------------
Benchmark Time CPU Iterations
-----------------------------------------------------------------------------------------------------
BM_Shape/en-words.txt/Roboto-Regular.ttf/hb 30.0 ms 30.0 ms 23
BM_Shape/en-words.txt/Roboto-Regular.ttf/ft 30.3 ms 30.3 ms 23
BM_Shape/en-words.txt/SourceSerifVariable-Roman.ttf/hb 16.3 ms 16.3 ms 43
BM_Shape/en-words.txt/SourceSerifVariable-Roman.ttf/ft 16.4 ms 16.4 ms 43
BM_Shape/en-words.txt/SourceSerifVariable-Roman.ttf/var/hb 17.6 ms 17.6 ms 40
BM_Shape/en-words.txt/SourceSerifVariable-Roman.ttf/var/ft 17.8 ms 17.8 ms 39
|
|
12fff976
|
2022-05-24T13:42:25
|
|
[ot-var] Use atomic int for cached-serial
|
|
0919eaa6
|
2022-05-24T13:07:24
|
|
[ot-font] Remove lock around cache
Not needed.
|
|
3548b602
|
2022-05-23T19:39:52
|
|
[ot-font] Cache h-advances for variable fonts
|
|
39a07bf3
|
2022-05-23T19:13:05
|
|
[ot-font] Rename cache to varStore_cache
|
|
970e03ec
|
2022-05-23T19:02:36
|
|
[ot-font] Add a hb_ot_font_t struct
|
|
3eb7eff4
|
2022-05-21T15:25:53
|
|
Remove varstore cache use if HB_NO_VAR
|
|
099482a3
|
2022-05-21T15:20:23
|
|
[ot-font] Cache v_advance varstore as well
|
|
5336ba70
|
2022-05-20T17:03:18
|
|
[HVAR] Cache VarStore region scalars
|
|
1449498e
|
2022-03-21T21:40:07
|
|
[ot-font] Vertically center glyph in vertical writing fallback
Fixes https://github.com/harfbuzz/harfbuzz/issues/537
|
|
bf03d7e9
|
2022-03-21T21:27:31
|
|
[ot-font] Use ascent+descent for fallback vertical advance
This matches what FreeType does.
Part of fixing https://github.com/harfbuzz/harfbuzz/issues/537
|
|
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
|
|
59067db9
|
2022-02-07T17:55:01
|
|
[font/draw] Slant drawings
Need to update hb_font_set_synthetic_slant() docs now that we do this.
|
|
370bec93
|
2022-02-04T18:40:44
|
|
[draw] Rename internal draw_session_t to hb_draw_session_t
|
|
c681331c
|
2022-02-03T14:36:12
|
|
[draw] Rename internal draw_helper_t to draw_session_t
|
|
8b4f4290
|
2022-02-03T01:14:47
|
|
[draw] Virtualize hb_font_draw_glyph() into hb_font_get_glyph_shape()
To be implemented in hb-ft.
|
|
53eebc7c
|
2021-12-08T08:32:41
|
|
[CONFIG] Add HB_NO_VERTICAL
|
|
9bc5d290
|
2021-12-08T08:16:17
|
|
[TINY] Don't disable VORG table in any config profile
Is needed for vertical layout of CFF fonts.
Fixes https://github.com/harfbuzz/harfbuzz/discussions/3294#discussioncomment-1770313
|
|
ed116320
|
2021-09-14T07:09:54
|
|
Call atexit() via hb_atexit()
Part of https://github.com/harfbuzz/harfbuzz/issues/3197
|
|
eb10ef46
|
2019-04-22T19:22:24
|
|
[Docs] Add GTK-Doc comments for hb-ot-font and hb-ot-shape.
|
|
82545c5e
|
2019-11-26T10:24:32
|
|
more coding style fixes
|
|
2e7c1239
|
2019-11-26T09:57:53
|
|
minor: coding style
|
|
ff87465b
|
2019-11-19T16:18:33
|
|
add get_glyph_from_name & test. use hb_string_array
|
|
7b49042e
|
2019-11-16T18:20:16
|
|
add cff1::get_glyph_name
|
|
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
|
|
b9ff43c1
|
2019-10-01T16:13:40
|
|
Implement gvar table and variable glyf
Split from Ariza's "[subset] TrueType/CFF2 variable font" work on #1594
|
|
79ec65ae
|
2019-10-03T14:27:51
|
|
[ot-font] Use var vmtx side bearing in calculating v-origin
|
|
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
|
|
6b3e0939
|
2019-07-31T16:04:48
|
|
Merge branch 'master' into var-subset
|
|
20072a2e
|
2019-07-30T03:43:15
|
|
[metrics] Make values match their enum type naming
|
|
5988ab8a
|
2019-07-22T14:36:16
|
|
Merge branch 'master' into var-subset
|
|
77141dff
|
2019-07-22T07:48:32
|
|
[metrics] _-prefix internal symbol
|
|
772e6268
|
2019-07-20T14:50:31
|
|
Make HB_TINY builds work again by separating the always needed part
|
|
29444d7e
|
2019-07-20T13:52:21
|
|
Don't cache ascender/descender metrics
|
|
8bf989ea
|
2019-07-08T17:13:29
|
|
update from master
|
|
230adf2c
|
2019-06-19T18:49:52
|
|
[config] Add HB_NO_OT_FONT_GLYPH_NAMES
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
|
|
1432df10
|
2019-06-19T18:32:40
|
|
[config] Disable hb-ot-font code if HB_NO_OT_FONT
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
|
|
d7e27cd6
|
2019-06-18T14:38:05
|
|
[config] Don't use VORG table if HB_NO_OT_FONT_CFF
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
|
|
eb2825c7
|
2019-06-17T13:42:53
|
|
Minor
|
|
8f8e8a84
|
2019-06-05T12:59:09
|
|
fix build
|
|
4ddab6fa
|
2019-06-05T11:21:27
|
|
Merge branch 'master' into var-subset
|
|
a6048e4c
|
2019-05-11T12:11:22
|
|
Fix build
|
|
32d3c06b
|
2019-05-11T11:59:18
|
|
Disable sbix if no-color or no-ot-font-bitmap
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
|
|
227d85e1
|
2019-05-10T23:15:58
|
|
Minor
|
|
6cde814a
|
2019-04-16T11:35:07
|
|
Merge branch 'master' into var-subset
|
|
60a58aa6
|
2019-04-12T14:58:53
|
|
Add HB_NO_OT_FONT_BITMAP
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
|
|
160c4d8b
|
2019-04-12T14:57:49
|
|
Add HB_NO_OT_FONT_CFF
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
|
|
e8140832
|
2019-04-11T09:59:13
|
|
undo hb_ot_ge_glyph_v_origin to fix test failures
|
|
ab9d3096
|
2019-04-10T17:21:37
|
|
Add tt var metrics test cases & bug fixes
|
|
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
|
|
628d457c
|
2019-03-12T11:03:53
|
|
add gvar::get_extents
|
|
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
|
|
d23c201f
|
2019-03-12T11:03:53
|
|
add gvar::get_extents
|
|
99502b32
|
2019-03-12T11:03:53
|
|
add gvar::get_extents
|
|
d29c8424
|
2019-02-19T18:35:00
|
|
Typo (#1588)
Fixed a small typo.
[skip ci]
|
|
447323b8
|
2019-01-22T12:45:40
|
|
Better fix for -Wcast-align errors
|
|
81ec543d
|
2019-01-22T12:43:12
|
|
More -Wcast-error fixes
|
|
8d05bf7d
|
2019-01-22T12:34:05
|
|
Fix cast-align error
If compiler doesn't inline StructAtOffset, this was an error since we
only disable cast-align at call-site. So, move the cast out.
../src/hb-machinery.hh: In instantiation of 'const Type& StructAtOffset(const void*, unsigned int) [with Type = unsigned int]':
../src/hb-font.cc:146:85: required from here
../src/hb-machinery.hh:63:12: error: cast from 'const char*' to 'const unsigned int*' increases required alignment of target type [-Werror=cast-align]
{ return * reinterpret_cast<const Type*> ((const char *) P + offset); }
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/hb-machinery.hh: In instantiation of 'Type& StructAtOffset(void*, unsigned int) [with Type = unsigned int]':
../src/hb-font.cc:147:79: required from here
../src/hb-machinery.hh:66:12: error: cast from 'char*' to 'unsigned int*' increases required alignment of target type [-Werror=cast-align]
{ return * reinterpret_cast<Type*> ((char *) P + offset); }
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
b900f780
|
2019-01-18T10:08:23
|
|
[pragma] More cast-align whitelist
|
|
e4120085
|
2018-12-17T21:31:01
|
|
Remove redundant void from C++ sources (#1486)
|
|
b2ebaa9a
|
2018-12-16T22:38:10
|
|
Remove redundant 'inline' from methods (#1483)
|
|
32d291ae
|
2018-11-28T16:27:45
|
|
Merge branch 'master' into cff-subset
|
|
b89c7fd3
|
2018-11-21T12:32:48
|
|
Allow defining HB_USE_ATEXIT to 0
That's better use of that value than requiring extra macro HB_NO_ATEXIT
|
|
892ab37e
|
2018-11-14T13:54:07
|
|
Merge branch 'master' into cff-subset
|
|
7867c2ba
|
2018-11-14T22:13:50
|
|
[STAT] Add table parsing (#1384)
|
|
43ee0e4d
|
2018-11-06T09:57:17
|
|
Merge branch 'master' into cff-subset
|
|
9198de7b
|
2018-11-05T23:10:37
|
|
[ot-font] Remove ensure
|
|
0fe7a745
|
2018-11-05T23:08:33
|
|
[ot-face] Simplify more table access
|
|
914b595f
|
2018-11-05T22:39:50
|
|
[ot-face] Include hb-ot-face directly in hb_face_t
Simplifying access coming next.
|
|
56ba998c
|
2018-11-05T19:49:54
|
|
[cmap] Push get_nominal_glyphs down into cmap accelerator
|
|
03348ce0
|
2018-11-05T12:59:32
|
|
Minor
|
|
e600e544
|
2018-11-01T16:13:56
|
|
Merge branch 'master' into cff-subset
|
|
c929ccfc
|
2018-10-29T08:41:13
|
|
[ot-color/png] Consider strike ppem on scaling
|
|
01c7d53f
|
2018-10-28T14:51:18
|
|
[sbix] Select best strike based on ppem
|
|
f9f26bff
|
2018-10-28T14:20:50
|
|
[sbix] Move code around. Add get_extents()
|