Behdad Esfahbod
c13ff39520
[layout] Rename apply_recurse_func to specialization of dispatch_recurse_func
2022-06-08 18:42:09 +01:00
Behdad Esfahbod
6a1edb8c97
[set-digest] One more rename
2022-06-08 11:38:17 -06:00
Behdad Esfahbod
6453737b0e
[set-digest] Rename lowest_bits to bits_pattern
2022-06-08 11:37:12 -06:00
Behdad Esfahbod
2a061cb9cc
[set-digest] Improve documentation
2022-06-08 11:35:50 -06:00
dependabot[bot]
9342adb0d6
Bump actions/checkout from 2 to 3
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v2...v3 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-06-08 13:47:16 +01:00
dependabot[bot]
335d058bf4
Bump codecov/codecov-action from 1 to 3
...
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action ) from 1 to 3.
- [Release notes](https://github.com/codecov/codecov-action/releases )
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md )
- [Commits](https://github.com/codecov/codecov-action/compare/v1...v3 )
---
updated-dependencies:
- dependency-name: codecov/codecov-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-06-08 13:47:08 +01:00
dependabot[bot]
a51c3a66f2
Bump actions/upload-artifact from 1 to 3
...
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact ) from 1 to 3.
- [Release notes](https://github.com/actions/upload-artifact/releases )
- [Commits](https://github.com/actions/upload-artifact/compare/v1...v3 )
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-06-08 13:47:01 +01:00
dependabot[bot]
80bf2b3d2f
Bump actions/setup-python from 1 to 3
...
Bumps [actions/setup-python](https://github.com/actions/setup-python ) from 1 to 3.
- [Release notes](https://github.com/actions/setup-python/releases )
- [Commits](https://github.com/actions/setup-python/compare/v1...v3 )
---
updated-dependencies:
- dependency-name: actions/setup-python
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-06-08 13:46:29 +01:00
naveen
acd2151927
chore: Included githubactions in the dependabot config
...
This should help with keeping the GitHub actions updated on new releases. This will also help with keeping it secure.
Dependabot helps in keeping the supply chain secure https://docs.github.com/en/code-security/dependabot
GitHub actions up to date https://docs.github.com/en/code-security/dependabot/working-with-dependabot/keeping-your-actions-up-to-date-with-dependabot
https://github.com/ossf/scorecard/blob/main/docs/checks.md#dependency-update-tool
Signed-off-by: naveen <172697+naveensrinivasan@users.noreply.github.com>
2022-06-08 12:52:03 +01:00
Behdad Esfahbod
42051fe18a
[layout] s/inplace/always_inplace/g
2022-06-08 04:00:21 -06:00
Behdad Esfahbod
21346af01d
[layout-cache] Adjust cost-function for recent change
2022-06-07 14:41:39 -06:00
Behdad Esfahbod
bfee6839b0
[layout-cache] Cache lookahead, not input, classdef in ChainContextFormat2
...
From the commit:
+ /* For ChainContextFormat2 we cache the LookaheadClassDef instead of InputClassDef.
+ * The reason is that most heavy fonts want to identify a glyph in context and apply
+ * a lookup to it. In this scenario, the length of the input sequence is one, whereas
+ * the lookahead / backtrack are typically longer. The one glyph in input sequence is
+ * looked-up below and no input glyph is looked up in individual rules, whereas the
+ * lookahead and backtrack glyphs are tried. Since we match lookahead before backtrack,
+ * we should cache lookahead. This decisions showed a 20% improvement in shaping of
+ * the Gulzar font.
https://github.com/harfbuzz/harfbuzz/pull/3636
2022-06-07 11:41:05 -06:00
Behdad Esfahbod
39820af72f
[layout] Add HB_NO_OT_LAYOUT_LOOKUP_CACHE to disable caching lookups
...
Enabled when optimize-size profile is enabled.
2022-06-07 10:27:55 -06:00
Behdad Esfahbod
845279c34c
Merge pull request #3636 from harfbuzz/classdef-cache
...
Classdef cache
2022-06-07 16:40:22 +01:00
Behdad Esfahbod
b59e25f25e
[cff] Try fixing Heap-buffer-overflow in CFF::Charset::collect_glyph_to_sid_map
...
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=47790
2022-06-07 09:27:44 -06:00
Behdad Esfahbod
c8fb048f79
[gsubgpos] Document caching
2022-06-07 09:20:27 -06:00
Behdad Esfahbod
5963cf4469
[gsubgpos] Merge cache_enter and cache_leave entry points
...
Saves a pointer per subtable
2022-06-07 09:17:14 -06:00
Behdad Esfahbod
d4c09e9a87
[gsubgpos] Remove apply_cached() entry point
...
Just use a bool to apply()
2022-06-07 09:17:14 -06:00
Behdad Esfahbod
b96622d15c
[layout] Use a cache for main input ClassDef of (Chain)ContextLookupFormat2
...
This commit adds a per-lookup caching infrastructure to GSUB/GPOS, and
uses it to cache input ClassDef.get_class value for (Chain)ContextLookupFormat2.
For fonts heavy on use of heave class-based2 context matching, this shows
a good speedup. For NotoNastaliqUrdu for example, I observe 17% speedup.
Unfortunately not many other lookups can use a cache like this :(.
https://github.com/harfbuzz/harfbuzz/pull/3636
2022-06-07 09:14:38 -06:00
neilnaveen
356c1f8336
chore: Set permissions for GitHub actions
...
Restrict the GitHub token permissions only to the required ones; this way, even if the attackers will succeed in compromising your workflow, they won’t be able to do much.
- Included permissions for the action. https://github.com/ossf/scorecard/blob/main/docs/checks.md#token-permissions
https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions
https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs
[Keeping your GitHub Actions and workflows secure Part 1: Preventing pwn requests](https://securitylab.github.com/research/github-actions-preventing-pwn-requests/ )
Signed-off-by: neilnaveen <42328488+neilnaveen@users.noreply.github.com>
2022-06-07 14:32:11 +01:00
Xavier Claessens
4266f4e29a
Fix check-* scripts when harfbuzz is a subproject
...
When harfbuzz is a subproject paths are in the form
"subprojects/harfbuzz/src/...". Instead of removing "src/" prefix, take
the absolute path and make it relative to current source dir.
This fix regression introduced in
https://github.com/harfbuzz/harfbuzz/pull/3394 .
2022-06-06 16:53:29 +01:00
Behdad Esfahbod
15543f70e0
[indic-like] Move allocation of syllable() buffer var to shapers that use it
...
In indic, we don't have a pause location release the var.
2022-06-05 08:15:47 -06:00
Behdad Esfahbod
104dc85a22
[buffer] Add try_allocate for buffer variables
2022-06-05 08:15:46 -06:00
Behdad Esfahbod
b5f621b08d
[cplusplus] Internally allow using hb_unique_ptr with hb_free()
...
...for arbitrary types.
2022-06-05 08:15:31 -06:00
Behdad Esfahbod
f18eb000d3
[buffer] Mark a variable as unused
...
Weird. Somehow our HB_TINY bot started erring as this var being unused
in non-debug builds. Not sure why now...
In file included from src/hb-ot-map.hh:32:0,
from src/hb-ot-shape.hh:32,
from src/hb-aat-layout.hh:32,
from src/hb-aat-layout.cc:30,
from src/harfbuzz.cc:1:
src/hb-buffer.hh: In member function ‘void hb_buffer_t::assert_var(unsigned int, unsigned int)’:
src/hb-buffer.hh:192:18: error: unused variable ‘bits’ [-Werror=unused-variable]
unsigned int bits = (1u<<end) - (1u<<start);
^~~~
cc1plus: some warnings being treated as errors
Error: Process completed with exit code 1.
2022-06-05 07:06:07 -06:00
Behdad Esfahbod
e6409d3905
Revert "[layout] Use a cache for main input ClassDef of (Chain)ContextLookups"
...
This reverts commit 57d1c08739
.
Err. This was an accident.
2022-06-05 06:57:37 -06:00
Behdad Esfahbod
57d1c08739
[layout] Use a cache for main input ClassDef of (Chain)ContextLookups
2022-06-05 06:54:19 -06:00
Behdad Esfahbod
697287fbd7
[benchmark-shape,hb-shape-threads] Fix argument parsing order
...
After recent change.
2022-06-05 06:53:42 -06:00
Behdad Esfahbod
c03a31417b
[hb-shape-threads] Adjustments similar to benchmark-shape
...
Duplication sighz.
2022-06-05 02:31:21 -06:00
Behdad Esfahbod
d7c9cc34ae
Fix build
2022-06-05 02:30:11 -06:00
Behdad Esfahbod
2dec742070
[benchmark-shape] Remove a few tests
...
They were not adding value.
2022-06-05 02:04:02 -06:00
Behdad Esfahbod
3c258e1373
[benchmark-shape] Reorder text vs font order for better output
2022-06-05 02:01:17 -06:00
Behdad Esfahbod
92e81ab1df
[indic/khmer/myanmar] Shift category numbers around to avoid overlap
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3632
2022-06-05 01:14:32 -06:00
Behdad Esfahbod
d6dbc0d175
[gi/ft] Silence warnings
...
gi doesn't understand that FT_Face is a pointer, and not bare struct.
So it skips these APIs anyway. Mark skip to silense the warning.
../src/hb-ft.cc:242: Warning: HarfBuzz: hb_ft_font_get_face: return value: Invalid non-constant return of bare structure or union; register as boxed type or (skip)
../src/hb-ft.cc:264: Warning: HarfBuzz: hb_ft_font_lock_face: return value: Invalid non-constant return of bare structure or union; register as boxed type or (skip)
2022-06-05 00:58:53 -06:00
Behdad Esfahbod
f78a25098a
[gi] Remove Xconstructor annotations
2022-06-05 00:55:35 -06:00
Behdad Esfahbod
aef92b2846
[ci] Better compiler specification in configs-build job
2022-06-05 00:45:38 -06:00
Behdad Esfahbod
cb961eac5c
[configs] Fix builds with HB_NO_BUFFER_SERIALIZE but not HB_NO_BUFFER_VERIFY
...
e986c12075 (commitcomment-75339317)
2022-06-05 00:45:29 -06:00
Behdad Esfahbod
67852504f6
[indic/myanmar] No-op update to machines
2022-06-04 09:27:45 -06:00
Behdad Esfahbod
20a61ca447
[myanmar] Fold D category into GB
...
Trying to free a byte the buffer vars, for caching of lookups.
Part of https://github.com/harfbuzz/harfbuzz/issues/3633
2022-06-04 09:27:37 -06:00
Behdad Esfahbod
f9b643f6b2
[layout] s/hb_get_subtables_context_t/hb_accelerate_subtables_context_t/g
2022-06-04 09:27:31 -06:00
Behdad Esfahbod
d4dfb8c1f1
[arabic] Free up buffer variable earlier
2022-06-04 09:27:23 -06:00
Behdad Esfahbod
0c3d8c0d0f
[README] Test adding as a symlink
...
Autoconf requires README
2022-06-04 06:05:23 -06:00
Behdad Esfahbod
4510d9a928
[README] Delete. We ship README.md
2022-06-04 06:02:25 -06:00
Behdad Esfahbod
01337e7a64
[README.md] minor
2022-06-04 06:01:52 -06:00
Behdad Esfahbod
3972ec7340
[TESTING.md] Update profiling instructions.
2022-06-04 06:01:17 -06:00
Khaled Hosny
af41be6fa7
Move freedesktop.org/wiki/HarfBuzz content to README.md
2022-06-04 12:59:22 +01:00
Khaled Hosny
9622337b52
Move old harfbuzz.org content to README.md
...
Copied from:
https://web.archive.org/web/20191221151847/https://freedesktop.org/wiki/Software/HarfBuzz/
Edited lightly trying to merge it with existing README.md content and
remove grossly outdated bits. Might still need more editing.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1919
2022-06-04 12:59:22 +01:00
Khaled Hosny
e2ece939fb
[doc] Expand a little bit on Uniscribe compatibility
...
https://github.com/harfbuzz/harfbuzz/issues/3556#issuecomment-1130247124
2022-06-04 12:46:37 +01:00
Khaled Hosny
8d36300154
[doc] Talk less about “complex” scripts
...
Use more neutral terms and don’t make it like some scripts are outliers.
2022-06-04 12:46:37 +01:00
Khaled Hosny
bd44840fab
[doc] s/complexshapers/shapers/g
2022-06-04 12:46:37 +01:00