Commit graph

17125 commits

Author SHA1 Message Date
Behdad Esfahbod
a79e372935 [matcher] Simplify logic
Another test fails now. Needs to be investigated.
2023-12-06 09:50:45 -07:00
Behdad Esfahbod
0edab286ee [matcher] Make per-syllable explicit
The logic here was made to enable per-syllable matching for input,
and not for backtrack/lookahead. However, if input-length is 1,
this was setting per-syllable for lookahead, which caused the following:

https://github.com/harfbuzz/harfbuzz/discussions/4509

I have no idea why the tests are failing. Needs investigation.

I also have no idea why this was not discovered before.
2023-12-06 09:50:45 -07:00
Behdad Esfahbod
bf84135edd [cff] Support negative offsets
Fixes https://github.com/harfbuzz/harfbuzz/issues/4508
2023-12-06 11:49:02 -05:00
Garret Rieger
7160c5b9e5 [repacker] add tests for multi-duplication.
Further improve the resolution attempt by pre-emptively raising priority of a duplicated shared node.
2023-12-05 16:25:12 -05:00
Garret Rieger
6f64fa75e3 [repacker] improve resolution of overflows to shared nodes.
Prior to this change overflows to shared nodes were handled by duplicating the link from only a single parent on each iteration. However, I've encountered fonts where there is a large number of parents sharing a single child. Using the prior strategy requires large number of overflow resolution iterations to resolve overflows. This changes shared overflow resolution to duplicate the shared child and re-assign multiple overflowing parents in a single iteration. This reduces total packing size in these cases and allows resolution to complete in far fewer iterations.
2023-12-05 16:25:12 -05:00
Behdad Esfahbod
13519b8999 [editorconfig] Make nvim happy 2023-12-05 12:00:38 -05:00
utelle
0d9f497974 Adjust function hb_blob_create_from_file_or_fail
On Windows the filename will be interpreted as UTF-8.
If the filename is NOT valid UTF-8, it will be interpreted according to the system codepage.
2023-12-04 17:08:17 -05:00
خالد حسني (Khaled Hosny)
ce0a46f24c
Merge pull request #4512 from pseiderer/ps-devel-fix-meson-has-function-detection-001
[meson] has_function detection needs suitable includes
2023-12-04 18:48:58 +00:00
dependabot[bot]
7dbc84220a Bump fonttools from 4.45.1 to 4.46.0 in /.ci
Bumps [fonttools](https://github.com/fonttools/fonttools) from 4.45.1 to 4.46.0.
- [Release notes](https://github.com/fonttools/fonttools/releases)
- [Changelog](https://github.com/fonttools/fonttools/blob/main/NEWS.rst)
- [Commits](https://github.com/fonttools/fonttools/compare/4.45.1...4.46.0)

---
updated-dependencies:
- dependency-name: fonttools
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-04 13:19:44 -05:00
Peter Seiderer
773a0c7093 [meson] has_function detection needs suitable includes
- fix meson has_function() detection, needs suitable include to avoid
  false positive (see [1] for details)

[1] https://github.com/mesonbuild/meson/issues/7652

Closes #4266

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
2023-12-04 10:51:31 +01:00
خالد حسني (Khaled Hosny)
85c9eac2a5
Merge pull request #4507 from fanc999-1/cmake-improvements
Improve CMake builds
2023-12-02 07:30:14 +00:00
Chun-wei Fan
5e9710ffc0 CMake: Update introspection cflags
Make the flags between --cflags-[begin|end] correspond to the ones used in the
Meson builds better.
2023-11-30 17:42:46 +08:00
Chun-wei Fan
ea526c3dcb CMake: Generate and install hb-features.h
By the features that are enabled for the build.  The header is installed unless
one chooses not to install it
2023-11-30 17:35:04 +08:00
Chun-wei Fan
86fd6b10c4 CMake: Build the hb-info utility program
...if GObject support is enabled.
2023-11-30 16:39:10 +08:00
Chun-wei Fan
d112ed40fc CMake: Install hb-subset-repacker.h
It ought to be installed.
2023-11-30 16:32:30 +08:00
Chun-wei Fan
1d86b844df CMake: Build libharfbuzz-cairo and fix hb-view build
There is now a separate library that we build if Cairo support is enabled,
which will also be used to build hb-view, so we:

* Add support in the CMake build files to build libharfbuzz-cairo, if enabled
  via HB_HAVE_CAIRO. Move the Cairo detection bits around as a result.
* Generate pkg-config file for libharfbuzz-cairo, and add 'cairo' to
  Requires.private.
* Fix building hb-view, which will now depend on libharfbuzz-cairo, so Cairo
  support must be explicitly enabled.
* Stop depending automatically on Cairo if HB_BUILD_UTILS is enabled unless
  Cairo support is enabled as a result.
2023-11-30 16:31:44 +08:00
dependabot[bot]
d7c4fdfaa2 Bump setuptools from 68.2.2 to 69.0.2 in /.ci
Bumps [setuptools](https://github.com/pypa/setuptools) from 68.2.2 to 69.0.2.
- [Release notes](https://github.com/pypa/setuptools/releases)
- [Changelog](https://github.com/pypa/setuptools/blob/main/NEWS.rst)
- [Commits](https://github.com/pypa/setuptools/compare/v68.2.2...v69.0.2)

---
updated-dependencies:
- dependency-name: setuptools
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-27 13:40:41 -07:00
dependabot[bot]
8e1fd02fdb Bump fonttools from 4.44.3 to 4.45.1 in /.ci
Bumps [fonttools](https://github.com/fonttools/fonttools) from 4.44.3 to 4.45.1.
- [Release notes](https://github.com/fonttools/fonttools/releases)
- [Changelog](https://github.com/fonttools/fonttools/blob/main/NEWS.rst)
- [Commits](https://github.com/fonttools/fonttools/compare/4.44.3...4.45.1)

---
updated-dependencies:
- dependency-name: fonttools
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-27 13:17:01 -07:00
dependabot[bot]
d970b8a327 Bump github/codeql-action from 2.22.7 to 2.22.8
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.22.7 to 2.22.8.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](66b90a5db1...407ffafae6)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-27 12:25:44 -07:00
dependabot[bot]
258f2a2782 Bump meson from 1.2.3 to 1.3.0 in /.ci
Bumps [meson](https://github.com/mesonbuild/meson) from 1.2.3 to 1.3.0.
- [Release notes](https://github.com/mesonbuild/meson/releases)
- [Commits](https://github.com/mesonbuild/meson/compare/1.2.3...1.3.0)

---
updated-dependencies:
- dependency-name: meson
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-20 05:45:42 -07:00
dependabot[bot]
bec9fa702d Bump fonttools from 4.44.0 to 4.44.3 in /.ci
Bumps [fonttools](https://github.com/fonttools/fonttools) from 4.44.0 to 4.44.3.
- [Release notes](https://github.com/fonttools/fonttools/releases)
- [Changelog](https://github.com/fonttools/fonttools/blob/main/NEWS.rst)
- [Commits](https://github.com/fonttools/fonttools/compare/4.44.0...4.44.3)

---
updated-dependencies:
- dependency-name: fonttools
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-20 05:45:33 -07:00
dependabot[bot]
16dc733841 Bump github/codeql-action from 2.22.5 to 2.22.7
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.22.5 to 2.22.7.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](74483a38d3...66b90a5db1)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-20 05:45:23 -07:00
Behdad Esfahbod
df635ab78a
Merge pull request #4473 from googlefonts/help
[instancer] add the option to leave blanks in the min:def:max syntax.
2023-11-15 14:55:11 -07:00
Garret Rieger
66a404cad4 [subset] Fix hb_subset_input_get_axis_range documentation. 2023-11-15 21:41:30 +00:00
Garret Rieger
ffa643c5aa [subset] Add helper-subset.hh to Makefile sources. 2023-11-15 21:36:02 +00:00
Garret Rieger
0dd7a47621 Add hb_subset_input_get_axis_range to docs. 2023-11-15 21:23:06 +00:00
Garret Rieger
15a3889ee1 Add hb_subset_input_get_axis_range to experimental symbols list. 2023-11-15 21:13:59 +00:00
Qunxin Liu
f1ac36ba7f [instancer] update hhea vertical metrics with OS/2 ones 2023-11-15 13:25:43 -07:00
Garret Rieger
d30c1dacf5 Add test suite for instancing option parsing. 2023-11-15 20:16:07 +00:00
Garret Rieger
43236ce345 [instancer] add the option to leave blanks in the min:def:max syntax.
When parsing axis positions in the --variations flag recognize empty values as meaning the existing value for that part. For example:

:300:500

Specifies min = existing, def = 300, max = 500.

See: https://github.com/fonttools/fonttools/issues/3322
2023-11-15 17:54:56 +00:00
Behdad Esfahbod
6a3ca37373 [map] Optimize storage
Such that population isn't a bitfield as we access it often.
2023-11-13 16:36:56 -07:00
Khaled Hosny
894a1f72ee 8.3.0 2023-11-11 16:07:57 +02:00
Behdad Esfahbod
2b5af6f42e [subset-plan] Micro-optimize set iteration
Getting ranges is faster even with the current trivial implementation.
2023-11-10 15:23:27 -07:00
Behdad Esfahbod
90fc809f15 [set] Minor likely and __prev__ 2023-11-10 15:05:08 -07:00
Behdad Esfahbod
6d3b7931fd [subset-plan] Add a couple of allocs 2023-11-10 14:51:34 -07:00
Behdad Esfahbod
d46cd93b6a [map] Speed up copy-constructor 2023-11-10 14:36:37 -07:00
Behdad Esfahbod
e7879d6c55 [map] Micro-optimize destruction 2023-11-10 14:13:20 -07:00
Behdad Esfahbod
d9357a1a67 [cmap] Speed up Format12/13 collect_mapping 2023-11-10 14:08:03 -07:00
Behdad Esfahbod
ae6ea6f4b7 [cmap] Micro-optimize 2023-11-10 13:52:34 -07:00
Behdad Esfahbod
330c32f902 [graph] Another preallocation 2023-11-10 12:27:48 -07:00
Behdad Esfahbod
9c4d3c3c70 [graph] Pre-alloc priority-heap array 2023-11-10 12:26:02 -07:00
Behdad Esfahbod
29f8d9f795 [gen-use-table] Fix __doc__ 2023-11-10 12:26:02 -07:00
خالد حسني (Khaled Hosny)
aaf632581a
Merge pull request #4492 from dalboris/fix-cmake-darwin-library-location
[cmake] Fix double dots in CMake library location on macOS
2023-11-10 17:28:48 +02:00
Boris Dalstein
32ee89dd48 [cmake] Fix double dots in CMake library location on macOS 2023-11-10 13:48:24 +01:00
Qunxin Liu
2d001a0adc [subset] OTS doesn't allow ligature attachment offset to be 0 2023-11-08 14:10:06 -07:00
Behdad Esfahbod
0cbbed57e3 [README] Add Godot Engine 2023-11-07 09:51:46 -07:00
Garret Rieger
9701b0024e [subset] Always place CFF1/2 char strings at the end of the packed table.
Makes the behaviour from HB_SUBSET_FLAGS_IFTB_REQUIREMENTS the default.
2023-11-06 16:49:09 -07:00
Garret Rieger
c6884377ec [subset] Add HB_SUBSET_FLAGS_IFTB_REQUIREMENTS flag.
When enabled the output subset conforms to the requirements for a base font to be patched by IFTB patches. IFTB is a proposed incremental font transfer patch. This new flag is set as experimental. Currently, setting this flag causes the output subset to also use long offsets for outline data in loca/glyf, gvar, CFF, and CFF2.

This change is a version of 3ae2fe2084 rebased onto head w/ tests added.
2023-11-06 16:49:09 -07:00
Behdad Esfahbod
c3c32b0176 Add xkcd.png 2023-11-06 13:25:42 -07:00
Qunxin Liu
c2f42fbb14 fix meson compiled_tests 2023-11-06 13:12:04 -07:00