src


Log

Author Commit Date CI Message
Qunxin Liu c330c291 2023-09-18T12:14:21 [instancer] add a unit testcase for instantiating item variations
Qunxin Liu 7741fa32 2023-09-18T10:44:47 [instancer] bug fix: dont add duplicate rows into delta_row_encoding_t Also fix compile_varidx_map()
Qunxin Liu 11cc4796 2023-09-11T09:57:14 [instancer] fix columns and get_chars_overhead() in delta_row_encoding_t make columns a vector of uint8_t so it supports more than 32 columns
Qunxin Liu e4e1ac44 2023-08-31T15:34:26 [instancer] add serialize() for VariationStore Input region_list and encoding_rows are from item_variations_t
Qunxin Liu 23268792 2023-08-31T15:28:06 [instancer] add serialize() for VarRegionList The region list argument comes from item_variations_t.get_region_list()
Qunxin Liu 6e49128a 2023-09-01T10:27:40 [instancer] always check and update default wght/width/slnt if necessary Sometimes default values in original file are incorrect, and if default value for an axis is not changed, then these values won't be updated
Qunxin Liu b153af85 2023-08-31T13:12:08 [instancer] add optimize(), which optimizes varstore's storage
Qunxin Liu 3565ad81 2023-08-31T13:07:54 [instancer] add build_region_list() method
Qunxin Liu 6c658b41 2023-09-15T11:49:47 [instancer] bug fix
Qunxin Liu 45c2d05d 2023-08-31T15:45:22 [instancer] add subset() for MVAR
Qunxin Liu e4db29b1 2023-08-31T12:59:39 [instancer] add instantiate() method Also make change_tuple_variations_axis_limits() deterministic, use sorted vector instead of iterating map keys
Qunxin Liu 5f058a93 2023-08-31T12:55:04 [instancer] add create_from_item_varstore () method
Qunxin Liu 15244888 2023-08-31T12:40:30 [instancer] add struct definition item_variations_t And struct delta_row_encoding_t
Khaled Hosny 0967a3e2 2023-09-18T21:18:27 8.2.1
David Corbett c6d53ab5 2023-09-16T10:21:11 [Unicode 15.1] Update the vowel constraint table
David Corbett f318e104 2023-09-16T10:20:14 [Unicode 15.1] Update the Indic table
David Corbett c03e4c10 2023-09-16T10:06:24 [Unicode 15.1] Update emoji table and cluster test
David Corbett d8d4a192 2023-09-16T10:00:07 Update IANA Language Subtag Registry to 2023-08-02
David Corbett 6ed6ccac 2023-09-16T09:54:21 [Unicode 15.1] Update the USE table
David Corbett f485b6a9 2023-09-16T09:49:29 [Unicode 15.1] Update the Arabic joining script list
David Corbett f15fe524 2023-09-16T09:45:51 [Unicode 15.1] Update the Arabic table
David Corbett b3705cbf 2023-09-16T09:40:56 [Unicode 15.1] Update the UCD table
David Corbett 767f9378 2023-09-15T23:11:26 [USE] Update the data files This uses the data files from <https://github.com/microsoft/font-tools/tree/9e02b86c85d1a98a1d411e565d36723468f9e884/USE> and closes #4404.
David Corbett 02c2e247 2023-09-16T09:22:43 Regenerate files using Ragel 6.10
Behdad Esfahbod 978918c3 2023-09-11T11:04:08 [aat] Simplify complex condition Based on https://github.com/RazrFalcon/rustybuzz/discussions/79#discussioncomment-6960324
Vincent Torri 17ee3cd7 2023-09-10T07:29:08 fix warning with unsigned long
Khaled Hosny c1eb66d4 2023-09-08T21:54:32 8.2.0
L. E. Segovia 15bc9e34 2023-08-31T23:37:08 [meson] Detect Microsoft compilers through _MSC_FULL_VER Microsoft ships three compilers nowadays: MSVC, clang-cl, and Clang. The latter is always skipped by `compiler.get_argument_syntax()`, which leads to the incorrect export macro being applied. This commit also removes the tests that are affected in Microsoft Clang.
Qunxin Liu fd3eb2c6 2023-08-24T08:59:18 fuzzer fix: https://oss-fuzz.com/testcase-detail/6032126569742336
Behdad Esfahbod 0340ba1c 2023-09-05T14:56:09 [bit-page] Add a few operators
Ben Wagner 4cfc6d8e 2023-08-31T13:54:34 Specify tuple_variations_t special member functions Building with clang complains about the use of `tuple_variations_t`'s implicit copy constructor and copy assignment operator, since automatic generation of these is deprecated when declaring a non-default destructor. This is a good warning because it isn't obvious that copies were being made instead of the object being moved and this struct should be moved and not copied. Declare all the special member functions, defaulting the moves and deleting the copies. After making `tuple_variations_t` move only, an issue is revealed in `hb_vector_t::push` which has been requiring that objects be copyable. Remove the old non-emplacing `push` now that this works with all existing objects and make a single `push` which is more like `std::vector::emplace_back` since that is somewhat what the newer `push` is attempting to do.
Garret Rieger 8d22a570 2023-08-28T18:33:31 [repacker] fix potential use after free in repacker. During table splitting we iterate over the lookups map which can be modified during table splitting. This can result in a use after free in the iterator. Create a local copy of the lookup indices to avoid this.
Garret Rieger a1f034ea 2023-08-28T21:10:16 [repacker] fix fuzzer failure. Fixes: https://oss-fuzz.com/testcase-detail/6490945267564544
Bruce Mitchener f380a328 2023-08-25T14:01:01 Fix some typos.
Garret Rieger c28fdc39 2023-08-23T22:16:39 [repacker] fix bot failure.
Garret Rieger d7ee328f 2023-08-23T22:06:55 [repacker] include the size of all lookup tables in the layer size estimates from the start. In extension promotion previously we incrementally added the contribution of the lookup table to the layer size estimates as the lookups were processed. However, this isn't quite correct as regardless of the promotion decision the full lookup table size will be incurred. So the size should be added to the initial sizes.
Garret Rieger 5587247d 2023-08-23T21:54:15 [repacker] create only one extension subtable per physical subtable. During extension promotion when multiple lookups refer to a shared subtable node create and reuse a single extension subtable for it. Fixes: https://github.com/fonttools/fonttools/issues/3260.
Behdad Esfahbod 56e8a290 2023-08-22T15:49:00 Fix static_size declaration I have a vague memory that it was intentionally written that way, but I can't recall :-(.
Behdad Esfahbod 2023384b 2023-08-22T13:09:26 Merge pull request #4368 from googlefonts/support_gvar Initial implementation for gvar partial instancing
Qunxin Liu dd8d3576 2023-08-22T12:54:50 [instancer] enable partial instancing tests when experimental api is on
Garret Rieger ca906e87 2023-08-16T23:37:03 [repacker] fix fuzzer timeout. Corrects some mistakes in the handling of incoming_edges_ when memory allocation failures happen.
Qunxin Liu bea26446 2023-08-15T14:20:54 [instancer] reference all points for gvar If a point is not referenced and delta is not inferred, set delta to 0
Behdad Esfahbod 06ff3bcb 2023-08-15T14:41:18 [COLR,glyf] Use map instead of set for tracking current glyphs / layers
Behdad Esfahbod b530e485 2023-08-15T14:31:40 [glyf] Don't recuse into alread-active composite glyphs Deny loops.
Behdad Esfahbod 8f039ab4 2023-08-15T11:27:19 [COLR] Avoid infinite-loop through PaintColrLayers Fixes https://github.com/harfbuzz/harfbuzz/issues/4376 Fixes https://oss-fuzz.com/testcase-detail/5717524023738368
Behdad Esfahbod 0c80aec1 2023-08-15T10:30:38 [COLR] Move cycle-detection to the renderer instead of cairo Alternative fix for https://github.com/harfbuzz/harfbuzz/issues/4375
Behdad Esfahbod 21a894f0 2023-08-15T10:21:26 [cairo] Protect against infinite loops Fixes https://github.com/harfbuzz/harfbuzz/issues/4375 Maybe we should do this in hb-ft and COLR instead?
Behdad Esfahbod 5560eb60 2023-08-14T17:05:22 [paint] Fix docs
Behdad Esfahbod 47231bdc 2023-08-14T16:52:44 [COLR/cairo/ft] Fixups to paint-color-glyph and implement for hb-ft
Behdad Esfahbod 58effbcc 2023-08-14T16:47:01 .
Behdad Esfahbod 74527670 2023-08-14T15:57:24 [COLR/cairo] Add paint_color_glyph func Implement in cairo to use scaled-font's glyph cache.
Behdad Esfahbod 8d19274c 2023-08-14T14:40:26 [layout] Speed up VarStoreInstancer
Behdad Esfahbod e8eb1dc5 2023-08-09T15:35:59 [parse_tag] Accept non-ALNUM in tag name
Behdad Esfahbod 077c4308 2023-08-09T10:41:04 [limits] Increase COLRv1 edge-count We have a "pixel" color font that was easily hitting the limit...
Behdad Esfahbod 45c1ad05 2023-08-09T10:27:45 [paint] Add tracing
Behdad Esfahbod 483bc0a3 2023-08-08T15:58:20 [arabic/stch] Center the stretched group over the digits Mostly relevant when there's one digit only. https://github.com/harfbuzz/harfbuzz/issues/4369#issuecomment-1670361856
Behdad Esfahbod 313c7729 2023-08-08T13:06:12 [arabic/stch] Also work in left-to-right direction Fixes https://github.com/harfbuzz/harfbuzz/issues/4369
Behdad Esfahbod 40bfabd1 2023-08-08T12:17:25 [arabic/stch] Zero advances This was working for our test suite because those glyphs were declared mark and their advances zeroed automatically. But is not the case in eg. the font posted at: https://github.com/harfbuzz/harfbuzz/issues/4369
Qunxin Liu 32cfa37e 2023-05-08T13:30:39 [instancer] command line support for partial instancing -Also updated hb_subset_input_set_axis_range (), so user can define default value as well
Qunxin Liu 0065658e 2023-08-07T11:12:02 [instancer] enable cvar instancing code
Qunxin Liu 366ffd1e 2023-08-07T10:32:47 [instancer] fix move constructor for tuple_delta_t
Qunxin Liu 1d91622d 2023-07-18T09:52:40 [instancer] add a hashing impl for floating point type
Qunxin Liu 5a4694b6 2023-08-07T09:55:30 [instancer] add calc_inferred_deltas() for gvar
Qunxin Liu fb447274 2023-08-07T09:44:41 [instancer] add instantiate () for gvar
Qunxin Liu 746b112f 2023-08-07T09:26:42 [instancer] add serialize () for gvar
Qunxin Liu 3c86b096 2023-07-28T16:18:51 [instancer] Add instantiate () and compile_bytes() for gvar -Also add support for using shared_points and shared_tuples
Qunxin Liu 198612c1 2023-07-28T15:41:54 [instancer] add decompile_glyph_variations () for gvar
Qunxin Liu eb116e16 2023-07-28T15:27:07 [instancer] Add new_gid->contour_points vector map in subset plan - Add an API in Glyph to export original contour_points vector, which is needed by infer_deltas when merging tuple variations with the same tent
Qunxin Liu a0f810ef 2023-07-28T15:04:47 [instancer] add struct glyph_variations_t for gvar -Add compile_peak_coords () in tuple_delta_t -Add compile_shared_tuples () for glyph_variations_t
Behdad Esfahbod 49dbe0cd 2023-08-06T15:07:57 Another try
Behdad Esfahbod 483d4a87 2023-08-06T14:40:45 Fix bot
Behdad Esfahbod 7989702a 2023-08-06T14:17:50 Audit and fix up serialize_subset uses Fixes https://github.com/harfbuzz/harfbuzz/issues/4362
Khaled Hosny 1d665c2b 2023-08-02T23:44:56 8.1.1
Behdad Esfahbod 91c449a6 2023-08-02T14:40:55 [graph] Make space_for non-recursive It was tail-recursive so perhaps the compiler did the same. Anyway, make it explicit now.
Behdad Esfahbod dcd3afca 2023-08-01T20:09:34 [skippy-iter] Remove unused num_items
Behdad Esfahbod 39048099 2023-08-01T19:41:12 [skippy-iter] Remove early stop The optimization in (Chain)RuleSet matching relies on matching one, even if num_items is out of range. Fixes https://github.com/harfbuzz/harfbuzz/issues/4358
Behdad Esfahbod 70b3fbed 2023-08-01T15:16:16 [graph] Fix invalid read when map gets resized I don't fully understand how the old code was wrong, since *v should be evaluated before the set() method call. Yet this seems to fix a bug that could be reproduced with HB_DEBUG_SUBSET_REPACK enabled and the following: $ hb-repacker-fuzzer test/fuzzing/graphs/clusterfuzz-testcase-minimized-hb-repacker-fuzzer-6419865171525632
Behdad Esfahbod 94d4283b 2023-08-01T15:05:17 [graph] Handle a malloc fail Fixes https://oss-fuzz.com/testcase-detail/4579249263345664
Behdad Esfahbod 603920e9 2023-08-01T14:58:33 [graph] Minor asserts
Behdad Esfahbod 8d00476f 2023-08-01T14:27:37 [graph] Minor restructure a condition
Behdad Esfahbod 7946984b 2023-08-01T14:18:03 [graph] More assert
Behdad Esfahbod 3b386c37 2023-08-01T14:12:43 [graph] Minor assert
Behdad Esfahbod 07e70330 2023-08-01T12:25:45 [graph] Error check
Behdad Esfahbod 7a9aac1a 2023-08-01T12:05:22 [graph] Fixes to parent handling
Behdad Esfahbod 2feac50b 2023-07-31T19:53:06 Revert "[gsubgpos] Keep another digest in the applicable_t" This reverts commit fd79c7cecdf68fe4626943f29bd5edf1e603d2b2.
Behdad Esfahbod fd79c7ce 2023-07-31T19:52:15 [gsubgpos] Keep another digest in the applicable_t The digest for all the remaining subtables combined. The idea is to get out of the subtable look as soon as no more can be applied. Doesn't seem to speed up anything I tested. Going to revert.
Behdad Esfahbod e3fd69c8 2023-07-31T19:07:42 [layout] Inline another function Code is smaller too.
Behdad Esfahbod 9cdc043c 2023-07-31T18:53:29 [Cursive] Only sanitize what we use
Behdad Esfahbod 25e9defa 2023-07-31T17:12:07 [sanitize] Inline check_struct Though seems like the compiler was always inlining it anyway.
Behdad Esfahbod 44026aa8 2023-07-31T16:47:06 [Cursive] Minor, adjust unsafe-to-concat if prev didn't sanitize
Behdad Esfahbod b382e616 2023-07-31T16:29:28 [GPOS] Sanitize Cursive positioning anchors lazily Speeds up Duployan-Regular.otf load time by 30%. Doesn't seem to slow down shaping in a measurable way.
Khaled Hosny fcb9e591 2023-08-01T00:57:06 8.1.0
Behdad Esfahbod d9c4d3ed 2023-07-31T12:43:12 [uniscribe] Fix warnings
Behdad Esfahbod 29ad9304 2023-07-30T17:06:25 [layout] Minor add prealloc
Behdad Esfahbod a41368bd 2023-07-30T17:04:02 [buffer] Minor micro-optimize
Behdad Esfahbod dc35a0fb 2023-07-30T16:32:11 [ot-map] Speed up feature finding New API: - hb_ot_layout_collect_feature_map()
Behdad Esfahbod 202888ec 2023-07-30T11:49:08 Fix mac bot I think the new unsafe-to-concat is correct...
Behdad Esfahbod 35a026c8 2023-07-30T11:28:59 [shape] Unsafe-to-concat around fraction slash
Behdad Esfahbod f19ca24a 2023-07-30T11:26:11 Revert "Revert "Require numerator and denominator in auto fraction"" This reverts commit 8fe506e153c530affd529e7175e813c3a878faed.
Behdad Esfahbod b2a73166 2023-07-30T11:23:19 [buffer] Fix unsafe_to_concat() Ouch!