HarfBuzz text shaping engine
Go to file
Behdad Esfahbod d2998faad3
Merge pull request #3410 from harfbuzz/boring-expansion
[Boring Expansion] >64k loca & hmtx tables

This does two things:

The num-glyphs reported by the face now is the maximum reported by the maxp and that deduced from the length of the loca table; I think this is the right thing to do anyway; According to OpenType such loca tables are invalid.

The interpretation hmtx tables that have excessive bytes at the end, again, invalid according to OpenType, has changed. Previously we were interpreting those excessive bytes as extra lsb values. Now we interpret them as extra advance values, the last of which is repeated for all missing glyphs. Again, these are tables that are invalid according to OpenType, and the advances are for glyph indices beyond maxp table's num-glyphs.

The combined effect is that the font can have shapes and advances for gid's beyond the maxp limit of 64k. In fact, maxp table becomes optional.
2022-02-16 14:37:09 -06:00
.ci [meson] Update cairo subproject 2022-02-13 13:21:14 -06:00
.circleci [ci] Try harder to fix this randomly failing job 2021-12-12 07:50:06 +02:00
.github/workflows [ci] Rename configs-ci to configs-build 2022-02-15 14:31:59 -06:00
docs [ot-layout] Add +hb_ot_layout_get_horizontal_baseline_tag_for_script() 2022-02-16 13:54:22 -06:00
m4 Revert "Remove autotools build support" 2020-08-11 23:51:59 +04:30
perf Remove remaining traces of HB_EXPERIMENTAL_API 2022-02-13 13:21:14 -06:00
src Merge pull request #3410 from harfbuzz/boring-expansion 2022-02-16 14:37:09 -06:00
subprojects [meson] Update Cairo subproject 2022-02-14 02:17:38 +02:00
test Merge pull request #3410 from harfbuzz/boring-expansion 2022-02-16 14:37:09 -06:00
util [util] Implement --sub-font 2022-02-13 13:21:15 -06:00
.clang-format Add an initial .clang-format config 2019-01-09 16:01:11 +03:30
.codecov.yml [ci] Disable patch-level codecov failures 2021-06-04 14:51:49 -06:00
.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
CMakeLists.txt Use freetype from CMake target when present (#3361) 2022-01-11 05:14:44 -07:00
CONFIG.md [CONFIG] Add HB_CONFIG_OVERRIDE_H to simplify config overrides 2021-12-03 11:49:55 -07:00
COPYING Update COPYING 2021-06-05 13:44:51 -06:00
Makefile.am [meson] Add ragel subproject 2021-09-14 18:46:33 -06:00
NEWS Typo 2022-02-13 00:33:12 +02:00
README Rename various references to master branch 2021-06-05 04:18:52 +02:00
README.md Rename various references to master branch 2021-06-05 04:18:52 +02:00
README.mingw.md [mingw] Reinstate win32 cross-compiling with autotools instructions 2021-01-24 12:28:04 -07:00
README.python.md [docs] Update README.python.md with meson 2020-08-03 18:41:49 +04:30
RELEASING.md Fix various typos 2022-01-16 05:39:03 -08:00
TESTING.md [docs] Minor in TESTING.md 2020-08-14 10:19:33 +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 Revert "Remove autotools build support" 2020-08-11 23:51:59 +04:30
configure.ac [util/draw] Render color glyphs if cairo API available 2022-02-13 13:21:14 -06:00
git.mk [git.mk] Update 2022-01-13 11:01:39 -07: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] Update cairo subproject 2022-02-13 13:21:14 -06:00
meson_options.txt [meson] Add graphite2 option and deprecate graphite 2021-10-23 10:59:02 -07:00
mingw-configure.sh [mingw] Reinstate win32 cross-compiling with autotools instructions 2021-01-24 12:28:04 -07:00
replace-enum-strings.cmake Revert "Remove cmake build files" 2020-08-12 01:00:33 +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