src


Log

Author Commit Date CI Message
Qunxin Liu 8ceed6ee 2023-10-18T15:43:40 [subset] fix Lookup.MarkFilteringSet to use the new indices
Qunxin Liu 510456e9 2023-10-18T14:26:11 [subset] don't retain empty coverage in MarkGlyphSetsDef
Qunxin Liu 16ee24c0 2023-10-18T12:43:36 [subset] bug fix for GDEF don't use embed(this), snapshot and revert to lower version if needed
Qunxin Liu 8585d600 2023-10-17T14:30:17 [instancer] update variable device flags in ValueFormat
Qunxin Liu 1a5dd610 2023-10-16T09:47:16 [instancer] retain empty rows when region is empty and item_count is not
David Manthey 45a7f9ce 2023-10-18T08:28:23 Change the shebang used for python The shebang `/usr/bin/python3` assumes python3 is installed in /usr/bin, which isn't always true (e.g., in the manylinux docker image). Using `/usr/bin/env python3` uses the python3 that is in the path, which is more flexible.
Khaled Hosny 18a6e785 2023-10-18T01:10:44 8.2.2
Garret Rieger 52bc78e7 2023-10-10T21:44:52 s/PairPos/MarkBasePos/ in MarkBasePos repacking implementation.
Behdad Esfahbod 6190bb0b 2023-10-16T14:08:31 [layout] Change order of feature collection See comments for rationale. Fixes https://github.com/harfbuzz/harfbuzz/issues/4445
Qunxin Liu 1f395cba 2023-10-12T10:06:00 [instancer] templatize the priority queue, use custom type for varstore when instantiating varstore, we need to pop a tuple like (combined_gain, i, j), if combined gain is the same then we compare the value of i, and then j. So we'd like to use custom type as the key when popping from the queue. This would match fonttool's algorithm cause it uses heappop().
Behdad Esfahbod a7b3fe35 2023-10-05T12:16:00 Fix test
Behdad Esfahbod fc563bb4 2023-10-05T11:07:17 Merge pull request #4421 from googlefonts/GDEF_GPOS [instancer] support GDEF/GPOS tables
jfkthame f360d704 2023-09-29T13:15:01 Check for closing quote in parse_tag Fixes #4414.
Garret Rieger 333946b0 2023-09-28T19:02:37 [subset] Fix fuzzer timeout. Fixes https://oss-fuzz.com/testcase-detail/5458896606855168. Limit iteration over coverage in MarkLigPosFormat1 subsetting to the number of glyphs in the liga array.
Qunxin Liu 9ceb800a 2023-09-28T10:37:48 fuzzer fix https://oss-fuzz.com/testcase-detail/5842152921628672 Access TupleVariationData through blob, because we don't sanitize var_data
Behdad Esfahbod 7cb7a799 2023-09-28T09:24:06 [map] Fix undefined integer-overflow Fixes https://oss-fuzz.com/testcase-detail/5814850435284992
Qunxin Liu f9b04b21 2023-09-27T09:36:52 [instancer] match fonttools'r order when calculating chars Also fix a bug, make sure map set is happening before std::move
Qunxin Liu f39e9bf1 2023-09-25T08:59:11 [instancer] instantiate GPOS Just need to update var_idxes and deltas
Qunxin Liu 5c6795e2 2023-09-21T12:04:03 [instancer] make GPOS depend on GDEF when partial instancing GPOS needs to wait for GDEF remapping layout var idxes
Qunxin Liu c8594baa 2023-09-21T11:45:01 [instancer] instantiate GDEF varStore And update layout var idxes accordingly
Qunxin Liu 77f24d82 2023-09-22T14:47:11 [instancer] remap layout var_idxes code update make hb_collect_variation_indices_context_t only collect layout variation indices.
Qunxin Liu c8c97864 2023-09-21T11:29:43 [instancer] simplify item_variations_t API calls merge create,instantiate and as_item_varstore into one API
inobelar 69da5aae 2023-09-22T21:27:12 Added minor fixes to build without errors with gcc 4.9.2
Duncan Overbruck b8121ccb 2023-09-21T15:41:09 [meson] keep asserts in test programs
Qunxin Liu 5aa4865a 2023-09-20T14:52:58 [instancer] fix compile warnings In constructor ‘OT::delta_row_encoding_t::delta_row_encoding_t(OT::delta_row_encoding_t&&)’, inlined from ‘Type* hb_vector_t<Type, sorted>::push(Args&& ...) [with Args = {OT::delta_row_encoding_t}; Type = OT::delta_row_encoding_t; bool sorted = false]’ at ../src/hb-vector.hh:221:12, inlined from ‘bool OT::item_variations_t::as_item_varstore(bool, bool)’ at ../src/hb-ot-var-common.hh:1985:24: ../src/hb-ot-layout-common.hh:2304:8: warning: ‘obj.OT::delta_row_encoding_t::width’ may be used uninitialized [-Wmaybe-uninitialized] 2304 | struct delta_row_encoding_t | ^~~~~~~~~~~~~~~~~~~~ ../src/hb-ot-var-common.hh: In member function ‘bool OT::item_variations_t::as_item_varstore(bool, bool)’: ../src/hb-ot-var-common.hh:1981:30: note: ‘obj.OT::delta_row_encoding_t::width’ was declared here 1981 | delta_row_encoding_t obj; | ^~~ In constructor ‘OT::delta_row_encoding_t::delta_row_encoding_t(OT::delta_row_encoding_t&&)’, inlined from ‘Type* hb_vector_t<Type, sorted>::push(Args&& ...) [with Args = {OT::delta_row_encoding_t}; Type = OT::delta_row_encoding_t; bool sorted = false]’ at ../src/hb-vector.hh:221:12, inlined from ‘bool OT::item_variations_t::as_item_varstore(bool, bool)’ at ../src/hb-ot-var-common.hh:1985:24: ../src/hb-ot-layout-common.hh:2304:8: warning: ‘obj.OT::delta_row_encoding_t::overhead’ may be used uninitialized [-Wmaybe-uninitialized] 2304 | struct delta_row_encoding_t | ^~~~~~~~~~~~~~~~~~~~ ../src/hb-ot-var-common.hh: In member function ‘bool OT::item_variations_t::as_item_varstore(bool, bool)’: ../src/hb-ot-var-common.hh:1981:30: note: ‘obj.OT::delta_row_encoding_t::overhead’ was declared here 1981 | delta_row_encoding_t obj;
Behdad Esfahbod 4b3aa010 2023-09-20T14:37:42 Merge pull request #4410 from googlefonts/HVAR_instance [instancer] instantiate HVAR/VVAR
Thomas Petillon da2c59d7 2023-09-19T17:01:04 [instancer] Delete redundant code block in cvar subsetting That case is handled in hb-subset.cc. It also made compilation with HB_NO_VAR fail because it accessed table.fvar.
Thomas Petillon 284889b0 2023-09-20T20:17:48 [subset] Drop fvar, avar, cvar, MVAR tables when in HB_NO_VAR mode
Qunxin Liu ef4ff1d6 2023-09-20T11:35:33 [instancer] make varstore items sorting method match fonttool's Also update expected tests
Qunxin Liu b5f7ca1a 2023-09-20T11:28:15 [instancer] fix bots
Qunxin Liu 5ec21d4a 2023-09-20T09:31:03 [instancer] fix delta_row_encoding_t constructor always move chars_
Qunxin Liu 58e5d45d 2023-09-19T10:33:32 [instancer] instantiate HVAR/VVAR
Qunxin Liu e81ad14d 2023-09-19T13:23:58 [instancer] change optimize() to as_item_varstore() which allows another option to skip optimization
Qunxin Liu 97d0e7a1 2023-09-19T11:25:14 [instancer] add inner_maps as optional argument when creating item_variations_t This allows that we create item_variations_t with only a subset of the original varstore
Behdad Esfahbod 005582e0 2023-09-20T09:10:10 Merge pull request #4370 from 2xsaiko/outgoing/cmake-now-for-real Re-do and clean up CMake support, making it use relocatable paths
Marco Rebhan da9b8389 2023-08-08T14:33:03 Re-do and clean up CMake support, making it use relocatable paths Closes #4025.
Marco Rebhan b5a1c2b4 2023-08-07T01:55:10 Revert "Pass through absolute paths to cmake config directly" This reverts commit db292f6f0238581a489aa8cddc585129b6e920cd.
Qunxin Liu c330c291 2023-09-18T12:14:21 [instancer] add a unit testcase for instantiating item variations
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 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 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 6c658b41 2023-09-15T11:49:47 [instancer] bug fix
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 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 45c2d05d 2023-08-31T15:45:22 [instancer] add subset() for MVAR
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 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