|
bea5369c
|
2022-01-04T10:52:05
|
|
[buffer] Rename swap_buffers() to sync()
|
|
c5e5d5e0
|
2022-01-04T07:33:59
|
|
Merge pull request #3353 from harfbuzz/buffer-create-similar
Add `hb_buffer_create_similar()`; use it in util
|
|
d1e7df5c
|
2022-01-04T07:32:04
|
|
[buffer] Add enter()/leave() pair around shape()
|
|
43be5ba4
|
2022-01-04T07:26:53
|
|
[buffer] Group shape-related members together
|
|
52f5711e
|
2022-01-03T11:57:42
|
|
[buffer] Add hb_buffer_create_similar()
Fixes https://github.com/harfbuzz/harfbuzz/issues/1555
|
|
f643b81f
|
2022-01-03T11:45:31
|
|
[buffer] Clean up internal state bookkeeping
hb_buffer_reset() was NOT resetting cluster_level. Ouch! Fix that.
Part of https://github.com/harfbuzz/harfbuzz/issues/1555
|
|
d0c3515c
|
2022-01-03T11:26:41
|
|
[util] Copy unicode_funcs in copy_buffer_properties()
Part of https://github.com/harfbuzz/harfbuzz/issues/1555
|
|
34f5b855
|
2022-01-03T11:25:06
|
|
[util] Simplify copy_buffer_properties()
Now that hb_buffer_append() overlays segment_properties we can do this.
Part of https://github.com/harfbuzz/harfbuzz/issues/1555
|
|
101d07ef
|
2022-01-03T11:24:07
|
|
[util] Move copy_buffer_properties() out of loop
Now that hb_buffer_append() overlays properties, we can do this.
Part of https://github.com/harfbuzz/harfbuzz/issues/1555
|
|
36e9f467
|
2022-01-03T11:23:14
|
|
[buffer] Overlay segment-properties in hb_buffer_append()
Part of https://github.com/harfbuzz/harfbuzz/issues/1555
|
|
6a669928
|
2022-01-03T11:21:29
|
|
Add hb_segment_properties_overlay()
New API:
+ hb_segment_properties_overlay()
|
|
165a6073
|
2022-01-02T12:02:20
|
|
Merge pull request #3338 from harfbuzz/slant
[font] Add public API for synthetic slant
|
|
3fc2e654
|
2022-01-02T11:56:45
|
|
[metrics] Fix slant calc
|
|
a7751277
|
2022-01-02T11:50:02
|
|
[docs] Add hb_font_[gs]et_synthetic_slant()
|
|
4ab94443
|
2022-01-02T11:26:45
|
|
[metrics] Ouch. Fix slant code
|
|
f7d49d9c
|
2022-01-02T11:16:33
|
|
[metrics] Simplify
|
|
f1ba1f94
|
2022-01-02T10:58:25
|
|
[metrics] Only scale caret rise/run if font is slanted
|
|
45c2b6e3
|
2022-01-02T10:55:11
|
|
[metrics] Harden math
|
|
fa008a02
|
2022-01-02T10:46:38
|
|
[metrics] Implement synthetic slant for caret slope
Part of https://github.com/harfbuzz/harfbuzz/pull/3338
|
|
fc329f66
|
2022-01-02T10:41:41
|
|
[metrics] Scale up horizontal caret rise/run
Eg. if rise/run are 1/0, we now return upem/0. This is equivalent.
Part of https://github.com/harfbuzz/harfbuzz/pull/3338
|
|
a3265e1e
|
2022-01-02T10:02:41
|
|
Typo
|
|
0df83f52
|
2022-01-02T08:01:11
|
|
Fix test
|
|
6356da88
|
2022-01-02T07:55:56
|
|
[docs] Update
|
|
5b87c30d
|
2022-01-02T07:53:45
|
|
[font] Mark hb_font_get_var_coords_design() non-experimental
Any remaining issue with the API will address later by deprecating it.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1865
|
|
2d42fc9f
|
2022-01-02T07:45:10
|
|
[font] Load named-instance if face index top bits are set
This matches FreeType behavior.
Fixes https://github.com/harfbuzz/harfbuzz/issues/3348
|
|
da7dba00
|
2022-01-01T11:20:20
|
|
[face] Clarify face_index handling
Fixes https://github.com/harfbuzz/harfbuzz/issues/3347
|
|
6da4b80e
|
2021-12-22T21:51:03
|
|
[hb-ot-var] Specify normalized 2.14 docs
Fixes https://github.com/harfbuzz/harfbuzz/issues/3345
|
|
1b51be57
|
2021-12-22T21:43:48
|
|
[hb-ot-var] Actually set in/out argument
Fixes https://github.com/harfbuzz/harfbuzz/pull/3344
|
|
06ee4021
|
2021-12-21T14:14:09
|
|
Use invisible-glyph for spaces if font has no ASCII space
Fixes https://github.com/harfbuzz/harfbuzz/issues/3340
Should add tests ideally.
|
|
602bd396
|
2021-12-19T21:40:25
|
|
[style] Adjust font slant angle for synthetic slant value
Part of https://github.com/harfbuzz/harfbuzz/pull/3338
|
|
810f5d71
|
2021-12-18T15:12:26
|
|
[font] Add public API for slant
Not hooked up internally to anything.
New API:
+ hb_font_set_synthetic_slant()
+ hb_font_get_synthetic_slant()
Part of fixing https://github.com/harfbuzz/harfbuzz/issues/3196
|
|
ff697deb
|
2021-12-19T07:25:37
|
|
[GPOS] Apply font synthetic slant
Part of fixing https://github.com/harfbuzz/harfbuzz/issues/3196
|
|
067f90a8
|
2021-12-14T16:24:38
|
|
[subset] Fix for fuzzer timeout.
Fixes https://oss-fuzz.com/testcase-detail/5549945449480192
In prune_langsys: move LangSys visited check up before any work is done for a LangSys. In this particular case the compare() method is responsible for the majority of the time spent and wasn't being guarded with a visisted check.
|
|
c4573c2e
|
2021-12-14T14:49:15
|
|
[repacker] don't infinite loop if visited or roots is in error.
Fixes https://oss-fuzz.com/testcase-detail/5205038086094848
|
|
449c4296
|
2021-12-12T07:50:06
|
|
[ci] Try harder to fix this randomly failing job
The default --num-processes is the number of CPUs multiplied by 5,
which seems to give this VM a hard-time. Even the number of CPUs is too
much, so lets use half of that (I’m adding one just in case the division
gives zero).
|
|
52a33a15
|
2021-12-12T07:43:58
|
|
[ci] Try to fix the randomly failing valgrind job
|
|
be91d291
|
2021-12-12T04:45:54
|
|
3.2.0
|
|
77507a1d
|
2021-12-10T14:10:04
|
|
[subset] Don't double count visit lookups in closure_lookups
Each recursed lookup was getting counted once in closure_lookups() and then again in hb_closure_lookups_context_t::recurse.
|
|
d6702570
|
2021-12-10T13:52:05
|
|
[subset] reset the visited lookup count before each closure iteration.
|
|
23159084
|
2021-12-10T15:00:16
|
|
[morx] Reverse graphemese, not whole buffer
Fixes https://github.com/harfbuzz/harfbuzz/issues/3314
Supersedes https://github.com/harfbuzz/harfbuzz/pull/3315
|
|
5b995526
|
2021-12-10T14:59:56
|
|
[buffer] Fix reverse_group() to reverse() at the end
|
|
21c4fc10
|
2021-12-10T13:02:43
|
|
[buffer] Add optional merge_clusters arg to reverse_groups()
|
|
e949e512
|
2021-12-10T12:58:27
|
|
[ot-layout] Port foreach_grapheme to buffer foreach_group
|
|
eb96e69d
|
2021-12-10T12:55:29
|
|
[buffer] Add foreach_group()
|
|
1b78e04c
|
2021-12-10T12:45:43
|
|
[buffer] Add ::reverse_groups()
|
|
4cd96e73
|
2021-12-10T12:33:21
|
|
[buffer] Inline revers_range() / reverse()
|
|
5914acb3
|
2021-12-10T10:05:47
|
|
[repacker] Clear distance and position cache when assigning a new space.
A change in space will effect the distance assigned to the node and any of it's children so clear the distance cache.
|
|
706014f6
|
2021-12-01T20:20:12
|
|
[subset] (Chain)ContextSubst glyph_closure fix
- When pos_glyphs is empty, use current full glyphs set as input for
subsequent recursive closure process
- Also increase max_lookup_visit_count to 35000 cause a real font file hit
previous limit 20000 and some lookups are dropped unexpectedly
|
|
441877f5
|
2021-12-09T16:38:05
|
|
[repacker] add test case for using max priority to resolve an overflow.
|
|
be2c488e
|
2021-12-09T15:44:06
|
|
[repacker] Improve vertex priority packing.
Previous priority implementation would move a node further back within it's layer, but at max priority was unable to move any further up than that. This updates the implementation to have 3 priority levels:
1. Distance is reduced by half of table size.
2. Distance is reduced by full table size (move to beginning of the layer).
3. Distance is set to 0. Vertex will be packed as soon as possible.
Also makes the iterative resolutions aware of max priority, so it won't keep trying to raise priority beyond the maximum.
|
|
2404617a
|
2021-12-08T21:10:22
|
|
Update language system tag registry to OT 1.9
|
|
002a1f70
|
2021-12-08T10:45:30
|
|
[ft] Disable vertical funcs if HB_NO_VERTICAL
|
|
ef14cad7
|
2021-12-08T10:43:52
|
|
[GPOS] Disable vertical advance if HB_NO_VERTICAL
|
|
6ed22de1
|
2021-12-08T10:40:40
|
|
[CONFIG] Fix HB_NO_VERTICAL build without HB_TINY
|
|
53eebc7c
|
2021-12-08T08:32:41
|
|
[CONFIG] Add HB_NO_VERTICAL
|
|
9bc5d290
|
2021-12-08T08:16:17
|
|
[TINY] Don't disable VORG table in any config profile
Is needed for vertical layout of CFF fonts.
Fixes https://github.com/harfbuzz/harfbuzz/discussions/3294#discussioncomment-1770313
|
|
3e4a2509
|
2021-12-06T16:00:15
|
|
[repacker] add a maximum number of roots that can be moved in one iteration.
Set to half of the roots in a space. This prevents the repacker from moving all roots in a space to a new space if their are overflows in every root.
|
|
02b12d79
|
2021-12-06T15:23:35
|
|
[repacker] Move all overflowing roots to a new space simultaneously.
|
|
fa966bcc
|
2021-12-06T12:54:19
|
|
[repacker] create repacker output buffer after final length is known.
Don't rely on a buffer provided by the caller, as it may not be large enough.
|
|
51655a07
|
2021-12-05T19:27:57
|
|
[subset] COLR : only include glyphs after COLR closure
|
|
70f8c57e
|
2021-12-04T19:49:23
|
|
[buffer] Rename find_min_cluster
|
|
94d43c00
|
2021-12-04T16:56:39
|
|
[buffer] Merge and rename clear_glyph_flags()
|
|
b95d252f
|
2021-12-03T11:49:55
|
|
[CONFIG] Add HB_CONFIG_OVERRIDE_H to simplify config overrides
|
|
74b46b29
|
2021-12-02T19:50:16
|
|
[subset] MATH: don't serialize coverage table when iterator is empty
when iterator is empty, just set coverage offset to 0.
serialize() in coverage will at lease write out a 16-bit format header.
|
|
1d9ef3a7
|
2021-12-01T10:30:27
|
|
[subset] Actually fix end_cp unitialized warning.
|
|
d8635dfe
|
2021-12-01T10:14:10
|
|
[subset] Fix warning about uninitialized use of end_cp.
|
|
6c81cd95
|
2021-12-01T19:29:34
|
|
[tests] Add tests for platform shapers
Fixes https://github.com/harfbuzz/harfbuzz/issues/3115
|
|
7608b191
|
2021-12-01T18:57:21
|
|
[directwrite] Set unsafe to break flag
Like the rest of platform shapers. Otherwise hb-shape --verify goes
crazy.
|
|
361a4386
|
2021-12-01T03:16:46
|
|
Revert "Revert "[hb-directwrite] Don't load dwrit.dll dynamically""
This reverts commit ecbe224743c205c99aa459b27e7fb241cc4b1dc5.
It was causing directwrite shaper to crash in MSVC builds.
|
|
549e2b70
|
2021-12-01T03:16:26
|
|
Revert "Remove direct link to dwrite from meson scripts"
This reverts commit 6ea6c581edb3cecf1b4b42854e37b40d6d067cd3.
|
|
071aea42
|
2021-11-30T16:16:06
|
|
[iter] add specialized implementation for hb_concat forward when iterators are not random access.
|
|
2e935514
|
2021-11-30T16:02:05
|
|
[iter] fix forward implementation in hb_concat().
Add test coverage for forward.
|
|
39e76af1
|
2021-11-30T15:25:40
|
|
[subset] add all_links () to object_t.
Helper to provide easy access to concatenated real and virtual links iterator.
|
|
9121ed0c
|
2021-11-30T13:45:22
|
|
[subset] Improve sharing of Ligature subtables.
Ligature subtables use virtual links to enforce an ordering constraint between the subtables and the coverage table. Unfortunately this has the sideeffect of prevent the subtables from being shared by another Ligature with a different coverage table since object equality compares all links real and virtual. This change makes virtual links stored separately from real links and updates the equality check to only check real links. If an object is de-duped any virtual links it has are merged into the object that replaces it.
|
|
ca227411
|
2021-11-30T12:53:15
|
|
[iter] add hb_concat (a, b).
Iterates over a, and then over b.
|
|
95329081
|
2021-11-26T16:18:42
|
|
[subset] further optimize cmap4 packing.
|
|
59914382
|
2021-11-26T14:19:39
|
|
[subset] Don't pad glyphs when using long loca.
|
|
d9660fd5
|
2021-11-25T18:15:35
|
|
[subset] Make cmap4 packing more optimal.
The current CMAP4 implementation uses whatever the current codepoint ranges are and then encodes them as indivudal glyph ids or as a delta if possible. However, it's often possible to save bytes by splitting up existing ranges and encoding parts of them using deltas where the cost of splitting the range is less than encoding each glyph individual.
|
|
8aed5c21
|
2021-11-26T17:54:18
|
|
3.1.2
|
|
720ab088
|
2021-11-25T11:49:16
|
|
[util] Add --single-par
Use it in aots tests
Fixes https://github.com/harfbuzz/harfbuzz/issues/3129
Related https://github.com/harfbuzz/harfbuzz/issues/3298
|
|
b58afe58
|
2021-11-25T11:34:24
|
|
[util] Undo treat as single-paragraph text provided on cmdline
Reverts d92ee726ce3b2fc2c249407d977433f0badcc918
except that it does so even in batch mode.
Am going to add a --single-par mode that will affect all input
modes.
Part of https://github.com/harfbuzz/harfbuzz/issues/3129
Fixes https://github.com/harfbuzz/harfbuzz/issues/3298
|
|
903a6bae
|
2021-11-15T19:58:33
|
|
[subset] layout_features filtering fix
we should not use get_size (), which returns length * item_size
|
|
31607897
|
2021-11-22T03:31:50
|
|
[ci] windows-2016 image is going away in a bit
https://github.com/actions/virtual-environments/issues/4312
windows-latest is the same as windows-2019, but we are using explicit
windows-2019 image for when they become different.
|
|
ed65577e
|
2021-11-20T20:51:26
|
|
[ci] Split sanitizers job
It was running four different builds sequentially. Each should have been
its own job.
|
|
69d8f27c
|
2021-11-20T17:09:15
|
|
[meson] Require 0.55.0
We implicitly require it for building ragel subproject. This new version
requirement should satisfied in both Fedora 33 and Debian bullseye, and
not be too cutting edge for us.
|
|
84dc4e85
|
2021-11-08T09:36:31
|
|
[subset] avoid writing out duplicate extra glyph names in post table
Add check for possible duplicate with other name index
|
|
325f2629
|
2021-11-19T17:19:09
|
|
[array] Fix a couple constexpr warnings
./subprojects/harfbuzz/src/hb-array.hh:71:25: warning: 'constexpr' non-static member function will not be implicitly 'const' in C++14; add 'const' to avoid a change in behavior [-Wconstexpr-not-const]
constexpr hb_array_t& operator = (const hb_array_t<U> &o)
^
const
../subprojects/harfbuzz/src/hb-array.hh:72:5: warning: use of this statement in a constexpr function is a C++14 extension [-Wc++14-extensions]
{ arrayZ = o.arrayZ; length = o.length; backwards_length = o.backwards_length; return *this; }
^
../subprojects/harfbuzz/src/hb-array.hh:329:32: warning: 'constexpr' non-static member function will not be implicitly 'const' in C++14; add 'const' to avoid a change in behavior [-Wconstexpr-not-const]
constexpr hb_sorted_array_t& operator = (const hb_array_t<U> &o)
^
const
../subprojects/harfbuzz/src/hb-array.hh:330:5: warning: use of this statement in a constexpr function is a C++14 extension [-Wc++14-extensions]
{ hb_array_t<Type> (*this) = o; return *this; }
^
4 warnings generated.
|
|
98fefd5d
|
2021-11-19T13:34:53
|
|
Merge pull request #3301 from harfbuzz/hashmap-classes
Hashmap classes
|
|
ca418cac
|
2021-11-17T16:42:08
|
|
[subset] keep features that have FeatureParams and the tag is "size"
|
|
e88fc41e
|
2021-11-18T16:53:36
|
|
[subset] inputSequence could be empty, change the sanity check
|
|
4731b107
|
2021-11-19T12:33:37
|
|
[array] Mark constructors constexpr
../src/hb-map.hh:44:38: note: non-constexpr constructor 'hb_array_t' cannot be used in a constant expression
static constexpr K INVALID_KEY = kINVALID;
^
|
|
1da7423e
|
2021-11-19T12:11:41
|
|
[array] Add constructor taking std::nullptr_t
Not all impls implement nullptr_t in a way that would automatically
convert to what we were accepting.
In file included from ../src/test-map.cc:27:
../src/hb-map.hh:44:22: error: no viable conversion from 'nullptr_t' to 'const hb_array_t<const char>'
static constexpr K INVALID_KEY = kINVALID;
^ ~~~~~~~~
|
|
e456922a
|
2021-11-19T12:04:08
|
|
[test] Fix nullptr_t scope issue
|
|
5157cac0
|
2021-11-19T12:03:10
|
|
[test] Silence unused-variable erros in test
|
|
394f7729
|
2021-11-19T11:49:23
|
|
[map] Allow storing classes in the hashmap
Fixes https://github.com/harfbuzz/harfbuzz/issues/3293
The trick was to change the type of the invalid key/value to be non-class.
|
|
cba17fd1
|
2021-11-19T11:49:03
|
|
[array] Add default methods again, this time the full set
Should add tests.
|
|
a75b96f7
|
2021-11-16T14:34:07
|
|
[sanitize] In lookup sanitize don't try to access subtable 0 if it isn't there.
|
|
82a9f544
|
2021-11-10T10:15:38
|
|
[colr] Simplify sanitize
|
|
64b29dbd
|
2021-11-09T09:13:14
|
|
[subset] reuse colrv1 max nesting depth constant for sanitize.
|
|
ace98cc6
|
2021-11-08T15:47:56
|
|
[subset] Only sanitize recursion depth in COLR.
|