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
Behdad Esfahbod
cc7ebb0ffa
Remove remaining mention to complex shapers in the code
...
https://github.com/harfbuzz/harfbuzz/pull/3628#issuecomment-1146248037
2022-06-04 05:42:58 -06:00
Behdad Esfahbod
b39b5f2f31
[name] Implement approximate language matching
...
Very rudimentary.
Fixes https://github.com/harfbuzz/harfbuzz/issues/3354
2022-06-03 13:00:33 +01:00
Behdad Esfahbod
40d7d56e53
[subset-input] Minor move
2022-06-03 05:40:18 -06:00
Behdad Esfahbod
40193adbfc
[subset] Update default features list
2022-06-03 05:35:19 -06:00
Khaled Hosny
26d8066a41
[test/shape] Remove texts subdirectory
...
These texts were never hooked into the test suite, they however
represent a good collection of test texts, but one can always access
them from git history.
Fixes https://github.com/harfbuzz/harfbuzz/issues/3123
2022-06-03 12:12:13 +01:00
Khaled Hosny
cd41557a96
[test/shape] Add PhagsPa tests
...
Adopted from texts/in-house/shaper-arabic/script-phags-pa/misc/misc.txt.
Using Noto Sans PhagsPa.
2022-06-03 12:12:13 +01:00
Khaled Hosny
1ab12e314a
[test/shape] Add Malayalam dot-reph tests
...
Adopted from texts/in-house/shaper-indic/script-malayalam/misc/dot-reph.txt.
Using Noto Sans Malayalam.
2022-06-03 12:12:13 +01:00
Khaled Hosny
6b2f3b5a99
[test/shape] Add Javanese tests
...
Adopted from texts/in-house/shaper-use/script-javanese/misc.txt.
I don’t know what font this was originally tested against, so I used
Noto Sans Javanese.
2022-06-03 12:12:13 +01:00
Khaled Hosny
c9c47dd8ad
[test/shape] Add Hebrew diacritics tests
...
Adopted from 406044986a
. Using
TaameyFrankCLM.ttf from the Mozilla issue.
2022-06-03 12:12:13 +01:00
Khaled Hosny
ef5d7febc8
[test/shape] Allow using hb-subset in record-test.sh
...
I think it is about time we use our own subsetter here. FontTools can
still be used.
2022-06-03 12:12:13 +01:00
Behdad Esfahbod
5bfb0b721c
Rename s/shape-complex/shaper/g
2022-06-03 10:30:34 +01:00
Behdad Esfahbod
44be1e5dfb
s/SHAPE_COMPLEX/SHAPER/g
2022-06-03 10:30:34 +01:00
Behdad Esfahbod
6fbb552156
s/FLAG_COMPLEX/FLAG_SHAPER/g
2022-06-03 10:30:34 +01:00