HarfBuzz text shaping engine
Go to file
Ebrahim Byagowi 1f519c2567
[glyf] Optimize retrieval of hmtx/vmtx/gvar
This should make glyf/gvar faster as makes it to invoke less table wrapper atomic operations and things.

$ meson build -Dexperimental_api=true --buildtype=release && ninja -Cbuild && build/perf/perf "--benchmark_filter=glyf.*- ot -"

Before:
extents/glyf - ot - SourceSerifVariable         46091 ns      46036 ns      16173
extents/glyf/vf - ot - SourceSerifVariable    4160142 ns    4154913 ns        174
extents/glyf - ot - Comfortaa                   25754 ns      25726 ns      27030
extents/glyf/vf - ot - Comfortaa              2627804 ns    2624596 ns        265
extents/glyf - ot - Roboto                      33556 ns      33540 ns      18513
draw/glyf - ot - SourceSerifVariable          2716848 ns    2715438 ns        256
draw/glyf/vf - ot - SourceSerifVariable       4602379 ns    4598907 ns        151
draw/glyf - ot - Comfortaa                    1659364 ns    1658142 ns        417
draw/glyf/vf - ot - Comfortaa                 2845100 ns    2842549 ns        246
draw/glyf - ot - Roboto                       1571509 ns    1570060 ns        442

After:
extents/glyf - ot - SourceSerifVariable         34738 ns      34713 ns      21332
extents/glyf/vf - ot - SourceSerifVariable    3700510 ns    3698104 ns        187
extents/glyf - ot - Comfortaa                   21604 ns      21595 ns      31907
extents/glyf/vf - ot - Comfortaa              2324787 ns    2323440 ns        296
extents/glyf - ot - Roboto                      31259 ns      31246 ns      21814
draw/glyf - ot - SourceSerifVariable          2689230 ns    2687589 ns        260
draw/glyf/vf - ot - SourceSerifVariable       4625135 ns    4622036 ns        131
draw/glyf - ot - Comfortaa                    1690336 ns    1689454 ns        402
draw/glyf/vf - ot - Comfortaa                 2898748 ns    2897074 ns        241
draw/glyf - ot - Roboto                       1570911 ns    1570138 ns        440
2020-08-07 01:21:19 +04:30
.ci [ci] Disable Travis CI 2020-08-02 11:08:12 +04:30
.circleci [ci] Disable Travis CI 2020-08-02 11:08:12 +04:30
.github/workflows [ci] don't install rustc on linux-ci 2020-07-31 09:28:51 +04:30
docs [docs] meson related updates on install 2020-08-04 15:25:48 +04:30
m4 minor 2020-02-19 16:41:13 +03:30
meson-cc-tests Add Meson build definitions 2020-03-11 19:18:57 +03:30
perf [perf] Enable ttf-parser build just with experimental_api 2020-08-02 11:40:47 +04:30
src [glyf] Optimize retrieval of hmtx/vmtx/gvar 2020-08-07 01:21:19 +04:30
subprojects Add comparison against ttf-parser 2020-07-30 16:18:17 +04:30
test Skip hb_shape if buffer object is immutable 2020-08-06 23:47:35 +04:30
util minor spacing tweak 2020-07-29 08:44:23 +04:30
.clang-format Add an initial .clang-format config 2019-01-09 16:01:11 +03:30
.codecov.yml [ci] Add .codecov.yml 2018-11-26 18:58:39 +03:30
.editorconfig [meson] Minor, replace tabs with spaces 2020-03-24 19:06:09 +00:00
AUTHORS Update AUTHORS / COPYING 2019-04-21 12:26:07 -04:00
BUILD.md [docs] Remove packagers related part 2020-08-02 11:15:15 +04:30
CONFIG.md [docs] Adopt CONFIG.md with meson 2020-08-02 11:22:09 +04:30
COPYING Update COPYING 2020-01-26 00:07:28 +03:30
Makefile.am Remove cmake build files 2020-07-30 16:19:15 +04:30
NEWS 2.7.0 2020-07-25 12:40:57 +04:30
README Copy parts of README.md to README 2020-07-30 23:18:57 +04:30
README.md [ci] Disable Travis CI 2020-08-02 11:08:12 +04:30
README.mingw.md Build win32 artifacts using meson 2020-06-01 12:58:31 +04:30
README.python.md [docs] Update README.python.md with meson 2020-08-03 18:41:49 +04:30
RELEASING.md [RELEASE] Rely to GitHub's tarball generation 2020-07-06 11:48:59 +04:30
TESTING.md [docs] minor on TESTING.md 2020-08-04 16:49:27 +04:30
THANKS [THANKS] Add Ivan Kuckir <https://photopea.com/> 2019-04-24 15:08:27 -07:00
TODO [TODO] Remove BCP 47 language handling item 2018-10-20 21:13:25 +03:30
autogen.sh Add Ragel-generated files to git 2018-02-20 14:36:14 -08:00
configure.ac Remove cmake-config support of HarfBuzz 2020-08-03 16:45:17 +04:30
git.mk [git.mk] Update 2017-10-27 10:23:01 -06:00
harfbuzz.doap Move all references of old url to the new address (#622) 2017-11-20 14:49:22 -05:00
meson.build [meson] minor note 2020-08-04 15:14:59 +04:30
meson_options.txt [meson] Rename 'gtk_doc' option to 'docs' 2020-07-22 17:53:04 +04:30

README.md

Linux CI Status CircleCI Build Status OSS-Fuzz Status Coverity Code Health Codacy Code Health Codecov Code Coverage Coverals Code Coverage Packaging status ABI Tracker

This is HarfBuzz, a text shaping library.

For bug reports, mailing list, and other information please visit:

http://harfbuzz.org/

For license information, see COPYING.

For build information, see BUILD.md.

For custom configurations, see CONFIG.md.

For test execution, see TESTING.md.

Documentation: https://harfbuzz.github.io

Packaging status of HarfBuzz

Packaging status