Behdad Esfahbod
0969614865
[ot-shape] Rewrite loop without foreach_grapheme()
...
We were not using the graphemes, and that's costlier than just for().
2021-06-26 08:52:53 -06:00
Qunxin Liu
eee7b459ee
[subset] add option --no-prune-unicode-ranges
2021-06-24 11:44:20 -07:00
Khaled Hosny
c3be28ea26
[ot-shape] Numeric runs native direction is LTR
...
See inline comments. Slightly modified version of the code from Jonathan
Kew on the linked issue.
Fixes https://github.com/harfbuzz/harfbuzz/issues/501
2021-06-23 13:11:27 -07:00
Khaled Hosny
71a6296620
[tests] Make record-test.sh work with .otf files
...
It hard-codes the file extension, but fonttools sunset will use .otf for
CFF fonts, so hard-code the output file from subset as well.
2021-06-23 13:11:27 -07:00
Behdad Esfahbod
cc9bb29491
[blob] Fix-up recent mistake in hb_blob_create() destroy(user_data)
...
https://github.com/harfbuzz/harfbuzz/pull/3026#discussion_r653437491
2021-06-20 18:47:03 -06:00
Garret Rieger
bc06af977f
[subset] speed up feature collection when tags are specified.
...
Precompute a feature index filter to avoid needing to iterate the feature tag list for each encountered feature index. For this particular fuzzer case speeds up feature collection from 50s to 2s.
2021-06-20 17:45:19 -07:00
Khaled Hosny
14f220b761
[directwrite] Support feature ranges
...
Code copied from hb-uniscribe.cc and adapted to use DirectWrite types.
May be there is a better way to de-duplicate the code, though I'm not
exactly sure how or if it is worth it.
2021-06-20 17:22:27 -07:00
Garret Rieger
d2397d91f3
[subset] Add additional colrv1 subsetting tests that has a glyph with components.
2021-06-18 22:34:00 -07:00
Garret Rieger
26c80adb61
[subset] do colrv1 glyph closure before glyf composite closure.
2021-06-18 22:34:00 -07:00
Qunxin Liu
d07f789ae3
[subset] support option "--notdef-outline"
2021-06-18 15:35:02 -07:00
Garret Rieger
10ad185932
[subset] add comment to copy_bytes().
2021-06-16 17:35:39 -06:00
Garret Rieger
675ebbeb3a
[subset] don't alloc zero bytes.
...
It will be leaked later since hb_blob_create() won't set up the blob to cleanup since it has length zero.
2021-06-16 17:35:39 -06:00
Behdad Esfahbod
93e6a9bc4e
Revert "Remove unneeded buffer clear_output / remove_output calls"
...
This reverts commit 06175b7143
.
One of the sanitizers is failing. Pushing again as PR to debug.
I have suspicions.
2021-06-15 15:38:49 -06:00
Behdad Esfahbod
06175b7143
Remove unneeded buffer clear_output / remove_output calls
...
Made sure clear_output is always paired with swap_buffers.
Trying to see if we can move towards RAII-like buffer iterators
instead of the buffer keeping an iterator internally.
2021-06-15 14:33:27 -06:00
Behdad Esfahbod
bdfed8f113
[blob] Add failing versions of create API
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/2567
New API:
+hb_blob_create_or_fail()
+hb_blob_create_from_file_or_fail()
Use these in util/ to distinguish empty file from not-found file.
Only err on the latter.
2021-06-15 13:56:30 -06:00
Behdad Esfahbod
2fc8d0e6f0
Merge pull request #3020 from googlefonts/serialize_serialize
...
[subset] Always serialize objects point to by OffsetTo to a new serializer object.
2021-06-15 12:56:17 -07:00
Garret Rieger
085aa65e09
[subset] Convert offset serialization in gsubgpos and gdef to serialize_serialize().
2021-06-14 16:47:45 -07:00
Garret Rieger
cc96c4e87e
[shaping] Update shaping substituion lookup serialization to use serializer pop()/pack().
2021-06-14 16:43:23 -07:00
Behdad Esfahbod
d3dd936309
[coretext] Round position info
...
Test:
Before:
$ ./hb-shape /System/Library/Fonts/ヒラギノ丸ゴ\ ProN\ W4.ttc 1 --features="+palt" --shaper=coretext
[gid781=0@-78,0+841]
$ ./hb-shape /System/Library/Fonts/ヒラギノ丸ゴ\ ProN\ W4.ttc 1 --features="+palt" --shaper=ot
[gid781=0@-78,0+842]
After:
$ ./hb-shape /System/Library/Fonts/ヒラギノ丸ゴ\ ProN\ W4.ttc 1 --features="+palt" --shaper=coretext
[gid781=0@-78,0+842]
$ ./hb-shape /System/Library/Fonts/ヒラギノ丸ゴ\ ProN\ W4.ttc 1 --features="+palt" --shaper=ot
[gid781=0@-78,0+842]
I've verified in the font that 842 is correct.
2021-06-14 13:24:23 -07:00
Garret Rieger
8443cc85cb
[subset] Correct OffsetTo serialization in GPOS to use serialize_serialize ().
2021-06-14 12:18:06 -07:00
Garret Rieger
5ba46ed067
[subset] Correct OffsetTo serialization in GSUB to use serialize_serialize ().
2021-06-14 12:18:06 -07:00
Garret Rieger
35458b6b66
[subset] Add serialize_serialize to OffsetTo.
...
Similar to serialize_subset() this will serialize the new object and then link it to the offset.
2021-06-14 12:18:06 -07:00
Behdad Esfahbod
2b0ced28b6
Cluster Regional_Indicator pairs (aka emoji flags)
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/2265
2021-06-14 06:34:58 -07:00
Behdad Esfahbod
4e72d5e35d
[src/check-static-init] Ignore objdump "file format not recognized" error
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3019
2021-06-13 05:46:17 -06:00
Behdad Esfahbod
5bc05ba155
Prefer GPOS over kerx, if GSUB was applied
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3008
2021-06-13 05:28:20 -06:00
Behdad Esfahbod
13c6ad980f
[src/check-*] Pickup $(NM), $(OBJDUMP), $(LDD), $(OTOOL)
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3019
2021-06-12 10:13:49 -07:00
Behdad Esfahbod
c61ce962cf
[buffer] In hb_buffer_get_positions(), return NULL if inside message callback
...
As discussed in https://github.com/harfbuzz/harfbuzz/issues/2468#issuecomment-645666066
Part of fixing https://github.com/harfbuzz/harfbuzz/issues/2468
2021-06-10 17:36:38 -06:00
Behdad Esfahbod
855a3f478e
[emoji] Fix emoji table generation
...
Previously, the last of each range having Extended_Pictograph property
was not processed as so. Ouch!
Test:
$ echo x > null; hb-shape null -u U+1f43b,U+200d,U+2744,U+fe0f
Before:
[gid0=0+1000|gid0=2+1000]
After:
[gid0=0+1000|gid0=0+1000]
Caught by https://github.com/harfbuzz/harfbuzz/issues/3017
2021-06-09 15:10:52 -06:00
Behdad Esfahbod
bd5502f09f
[set] Oops. Fix compile
2021-06-09 14:03:25 -06:00
Behdad Esfahbod
3962225a72
[set] Add hb_set_copy()
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3016
2021-06-09 14:02:31 -06:00
Behdad Esfahbod
bc33b87f5e
[set] Use references, not pointers, in internal C++ API
2021-06-09 11:54:12 -06:00
Behdad Esfahbod
9cfac093aa
[set] Add copy constructor/assignment
2021-06-09 11:43:35 -06:00
Behdad Esfahbod
a83b9b0fec
Merge pull request #3011 from harfbuzz/directwrite-cleanup
...
Some directwrite cleanups
2021-06-07 16:41:27 -07:00
Khaled Hosny
4811e8f5d7
Trigger doc rebuild
2021-06-07 10:54:36 +02:00
Khaled Hosny
09a2eb65d7
Revert "Temporarily always push the docs commit"
...
This reverts commit 6612fd39ae
.
2021-06-07 10:52:27 +02:00
Khaled Hosny
6612fd39ae
Temporarily always push the docs commit
2021-06-07 10:36:29 +02:00
Khaled Hosny
b39b047505
Try to fix doc deployment
...
https://github.com/harfbuzz/harfbuzz.github.io/issues/4
From CI logs at https://github.com/harfbuzz/harfbuzz/runs/2758234200 :
+ git init
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: git branch -m <name>
We want the branch too be main not master.
2021-06-07 10:29:04 +02:00
David Corbett
5585ea02eb
[syllabic] Set position of dotted circle for Indic
2021-06-06 10:35:59 -07:00
Khaled Hosny
a9fb6a0c3c
[aat] Add start table/end table to buffer messages
...
Related to https://github.com/harfbuzz/harfbuzz/issues/3008
2021-06-06 10:35:28 -07:00
Behdad Esfahbod
19cb449358
Update COPYING
...
Mainly just to push any commit to see if it fixes our github.io site.
https://github.com/harfbuzz/harfbuzz.github.io/issues/4
2021-06-05 13:44:51 -06:00
Behdad Esfahbod
cf9538e808
Removal remaining uses of "blacklist" terminology
2021-06-04 22:33:16 -06:00
Khaled Hosny
6119ff9d80
[hb-directwrite] Don't load dwrit.dll dynamically
...
We already link to it, so I don't see the point of trying to load it
dynamically.
2021-06-05 04:22:46 +02:00
Khaled Hosny
b2070a509c
[hb-directwrite] Don’t override new/delete
...
This is a testing shaper, we don’t care for overridden malloc/free here.
Use malloc/free in the code called from hb_directwrite_face_create().
2021-06-05 04:22:46 +02:00
Khaled Hosny
221d642b19
[hb-directwrite] Remove _hb_directwrite_shape_experimental_width
...
Not used anywhere.
2021-06-05 04:22:46 +02:00
Khaled Hosny
fa432a121e
Rename various references to master branch
2021-06-05 04:18:52 +02:00
Qunxin Liu
35d6af6943
[subset] fix fuzzer testcase: https://oss-fuzz.com/testcase-detail/5965777994907648
2021-06-04 18:16:23 -06:00
Behdad Esfahbod
92206345a3
[ci] Disable patch-level codecov failures
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3004
2021-06-04 14:51:49 -06:00
Peter Williams
3d48bfc187
Avoid a deprecation warning in graphite2
...
As of graphite2 1.3.7, `gr_make_face` is deprecated in favor of
`gr_make_face_with_ops`. It's a one-liner to port over to using it.
This is potentially a compatibility break since I'm not sure when the
`with_ops` API was added, but the minimum version of graphite2 that's
supported by Harfbuzz doesn't seem to be documented anywhere anyway.
2021-06-03 09:51:43 -06:00
Qunxin Liu
1b6008ca62
fix fuzzer testcase: https://oss-fuzz.com/testcase-detail/5417934246772736
2021-06-02 17:32:16 -06:00
Garret Rieger
18f61210a4
Add public api methods to get/set the layout features to retain.
2021-06-02 15:18:45 -06:00