Log

Author Commit Date CI Message
Garret Rieger e30511a8 2022-01-14T16:20:31 [map] Correct previous commit, if (...) was reversed.
Garret Rieger ff4e8c7e 2022-01-14T16:20:31 [map] Fix bad memory access if hb_map.fini() was called twice.
Behdad Esfahbod 8a69e006 2022-01-13T16:17:34 [meta] Use std::addressof() instead of hb_addressof()
Behdad Esfahbod b7b0a15f 2022-01-13T15:33:27 [meta] Remove hb_add_const
Behdad Esfahbod 3b2e6042 2022-01-13T15:32:46 [meta] Use std::is_const instead of hb_is_const
Behdad Esfahbod 909dde9d 2022-01-13T15:30:10 [meta] Use std::is_reference instead of hb_is_reference
Behdad Esfahbod 47afb3ef 2022-01-13T15:26:07 [meta] Replace hb_is_pointer with std::is_pointer
Behdad Esfahbod 956e0a4d 2022-01-13T15:06:58 [map] Destruct objects
Jussi Pakkanen 726b1a8b 2022-01-13T18:30:52 Convert fallback kwargs to [provide] entries.
Behdad Esfahbod bc0a5fdf 2022-01-13T13:34:22 [test-map] Add disabled tests with std::string
Behdad Esfahbod 985b63b3 2022-01-13T13:33:07 [map] Allow invalid items to be pointer to static object By derefencing them when necessary. Also, we do not rely on trivially-copyable, so remove that assertion.
Behdad Esfahbod 98b26eed 2022-01-13T13:12:10 [check-static-inits] Only check library object files
Behdad Esfahbod 1e27f95d 2022-01-13T13:10:47 [algs] Add hb_coerce()
Behdad Esfahbod 5a91db11 2022-01-13T12:44:48 [map] Remove constexpr invalid items These were non-workable in the general case, eg std::string.
Behdad Esfahbod 114046dc 2022-01-13T12:38:26 [map] Construct objects
Matthias Clasen b15e497d 2022-01-13T14:10:23 Fix the docs build This was inadvertendly broken in f956ecdbaffbb8643. Sorry
Behdad Esfahbod ca4f56bd 2022-01-13T11:48:34 [map] Massage some more Towards being able to store arbitrary types.
Behdad Esfahbod cfe2b661 2022-01-13T11:42:48 [algs] Fix hash chaining to std::hash()
Garret Rieger 87496bf6 2022-01-13T11:03:45 [subset] fix fuzzer timeout if visisted_paint goes into error.
Matthias Clasen 4ced2e8a 2022-01-13T09:05:04 docs: Add some details Mention immutability in the object model section.
Matthias Clasen bb330c6a 2022-01-13T08:57:56 docs: Fix a typo
Behdad Esfahbod 16cfe34a 2022-01-13T11:01:22 [git.mk] Update
Khaled Hosny 0acf466c 2022-01-13T01:29:22 [doc] Fix hb_font_set_synthetic_slant param name
Behdad Esfahbod 0b2c514f 2022-01-12T11:20:58 More macro cleanup
Behdad Esfahbod 0a42f46c 2022-01-12T11:16:02 Fix compiler warning Fixes https://github.com/harfbuzz/harfbuzz/issues/3364
Matthias Clasen 72f0b24e 2022-01-12T13:08:02 docs: Clarify variation apis (#3363) Make it explicit that the variations setters replace all existing variations, even if not all axes are included in the provided values. Co-authored-by: Matthias Clasen <mclasen@redhat.com>
Matthias Clasen befe3b5d 2022-01-12T13:07:25 color: Document empty returns (#3362) Document that the SVG and PNG getters return the singleton empty blob if the glyph has no color. Fixes: #1413 Co-authored-by: Matthias Clasen <mclasen@redhat.com>
Behdad Esfahbod 13643934 2022-01-12T10:54:28 Clean up HB_NO_SETLOCALE https://github.com/harfbuzz/harfbuzz/pull/3358#pullrequestreview-850500143
Behdad Esfahbod 53847dba 2022-01-10T15:04:47 [algs] Call std::hash from hb_hash()
Behdad Esfahbod 74811c50 2022-01-10T14:57:38 [map] Map == / != use correct types
Timo Suoranta b8c2c1ab 2022-01-11T13:14:44 Use freetype from CMake target when present (#3361) Add check for Freetype CMake target. If it is found: - enable HB_HAVE_FREETYPE option - add HAVE_FREETYPE=1 define - bypass finding Freetype as cmake package - add Freetype CMake target as dependency to harfbuzz
Behdad Esfahbod ce7f19a2 2022-01-10T14:40:27 Revert "[map] Actually use k/v invalid types for declaration!" This reverts commit 6f559346ac70fd188cb22d41f4b03ec227feee25. Err. My bad.
Behdad Esfahbod 6f559346 2022-01-10T14:29:36 [map] Actually use k/v invalid types for declaration!
Behdad Esfahbod a45a6305 2022-01-08T15:47:33 Fix unintentional locale dependency (#3358) Avoid unintentional locale dependency hb_variation_to_string uses sprintf with %g, which will produce a locale-dependent decimal point, which is not desired here. The output is supposed to be compatible with CSS syntax, and that always uses '.' for the decimal point. Fix this by changing the per-thread locale to "C" around sprintf call. Fixes https://github.com/harfbuzz/harfbuzz/issues/3355 Fixes https://github.com/harfbuzz/harfbuzz/pull/3357 Fixes https://github.com/harfbuzz/harfbuzz/pull/3358 Co-authored-by: Matthias Clasen <mclasen@redhat.com>
Matthias Clasen d70825a6 2022-01-02T11:28:28 docs: Add some details about coordinates Mention what the effective values are when coordinates have not been set.
Behdad Esfahbod 0a5c1c97 2022-01-04T14:18:38 [failing-alloc] Make it compile as C++ as well
Behdad Esfahbod bea5369c 2022-01-04T10:52:05 [buffer] Rename swap_buffers() to sync()
Behdad Esfahbod c5e5d5e0 2022-01-04T07:33:59 Merge pull request #3353 from harfbuzz/buffer-create-similar Add `hb_buffer_create_similar()`; use it in util
Behdad Esfahbod d1e7df5c 2022-01-04T07:32:04 [buffer] Add enter()/leave() pair around shape()
Behdad Esfahbod 43be5ba4 2022-01-04T07:26:53 [buffer] Group shape-related members together
Behdad Esfahbod 52f5711e 2022-01-03T11:57:42 [buffer] Add hb_buffer_create_similar() Fixes https://github.com/harfbuzz/harfbuzz/issues/1555
Behdad Esfahbod 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
Behdad Esfahbod d0c3515c 2022-01-03T11:26:41 [util] Copy unicode_funcs in copy_buffer_properties() Part of https://github.com/harfbuzz/harfbuzz/issues/1555
Behdad Esfahbod 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
Behdad Esfahbod 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
Behdad Esfahbod 36e9f467 2022-01-03T11:23:14 [buffer] Overlay segment-properties in hb_buffer_append() Part of https://github.com/harfbuzz/harfbuzz/issues/1555
Behdad Esfahbod 6a669928 2022-01-03T11:21:29 Add hb_segment_properties_overlay() New API: + hb_segment_properties_overlay()
Behdad Esfahbod 165a6073 2022-01-02T12:02:20 Merge pull request #3338 from harfbuzz/slant [font] Add public API for synthetic slant
Behdad Esfahbod 3fc2e654 2022-01-02T11:56:45 [metrics] Fix slant calc
Behdad Esfahbod a7751277 2022-01-02T11:50:02 [docs] Add hb_font_[gs]et_synthetic_slant()
Behdad Esfahbod 4ab94443 2022-01-02T11:26:45 [metrics] Ouch. Fix slant code
Behdad Esfahbod f7d49d9c 2022-01-02T11:16:33 [metrics] Simplify
Behdad Esfahbod f1ba1f94 2022-01-02T10:58:25 [metrics] Only scale caret rise/run if font is slanted
Behdad Esfahbod 45c2b6e3 2022-01-02T10:55:11 [metrics] Harden math
Behdad Esfahbod fa008a02 2022-01-02T10:46:38 [metrics] Implement synthetic slant for caret slope Part of https://github.com/harfbuzz/harfbuzz/pull/3338
Behdad Esfahbod 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
Behdad Esfahbod a3265e1e 2022-01-02T10:02:41 Typo
Behdad Esfahbod 0df83f52 2022-01-02T08:01:11 Fix test
Behdad Esfahbod 6356da88 2022-01-02T07:55:56 [docs] Update
Behdad Esfahbod 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
Behdad Esfahbod 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
Behdad Esfahbod da7dba00 2022-01-01T11:20:20 [face] Clarify face_index handling Fixes https://github.com/harfbuzz/harfbuzz/issues/3347
Behdad Esfahbod 6da4b80e 2021-12-22T21:51:03 [hb-ot-var] Specify normalized 2.14 docs Fixes https://github.com/harfbuzz/harfbuzz/issues/3345
Behdad Esfahbod 1b51be57 2021-12-22T21:43:48 [hb-ot-var] Actually set in/out argument Fixes https://github.com/harfbuzz/harfbuzz/pull/3344
Behdad Esfahbod 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.
Behdad Esfahbod 602bd396 2021-12-19T21:40:25 [style] Adjust font slant angle for synthetic slant value Part of https://github.com/harfbuzz/harfbuzz/pull/3338
Behdad Esfahbod ff697deb 2021-12-19T07:25:37 [GPOS] Apply font synthetic slant Part of fixing https://github.com/harfbuzz/harfbuzz/issues/3196
Behdad Esfahbod 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
Garret Rieger 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.
Garret Rieger 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
Khaled Hosny 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).
Khaled Hosny 52a33a15 2021-12-12T07:43:58 [ci] Try to fix the randomly failing valgrind job
Khaled Hosny be91d291 2021-12-12T04:45:54 3.2.0
Garret Rieger 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.
Garret Rieger d6702570 2021-12-10T13:52:05 [subset] reset the visited lookup count before each closure iteration.
Behdad Esfahbod 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
Behdad Esfahbod 5b995526 2021-12-10T14:59:56 [buffer] Fix reverse_group() to reverse() at the end
Behdad Esfahbod 21c4fc10 2021-12-10T13:02:43 [buffer] Add optional merge_clusters arg to reverse_groups()
Behdad Esfahbod e949e512 2021-12-10T12:58:27 [ot-layout] Port foreach_grapheme to buffer foreach_group
Behdad Esfahbod eb96e69d 2021-12-10T12:55:29 [buffer] Add foreach_group()
Behdad Esfahbod 1b78e04c 2021-12-10T12:45:43 [buffer] Add ::reverse_groups()
Behdad Esfahbod 4cd96e73 2021-12-10T12:33:21 [buffer] Inline revers_range() / reverse()
Garret Rieger 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.
Qunxin Liu 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
Garret Rieger 441877f5 2021-12-09T16:38:05 [repacker] add test case for using max priority to resolve an overflow.
Garret Rieger 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.
David Corbett 2404617a 2021-12-08T21:10:22 Update language system tag registry to OT 1.9
Behdad Esfahbod 002a1f70 2021-12-08T10:45:30 [ft] Disable vertical funcs if HB_NO_VERTICAL
Behdad Esfahbod ef14cad7 2021-12-08T10:43:52 [GPOS] Disable vertical advance if HB_NO_VERTICAL
Behdad Esfahbod 6ed22de1 2021-12-08T10:40:40 [CONFIG] Fix HB_NO_VERTICAL build without HB_TINY
Behdad Esfahbod 53eebc7c 2021-12-08T08:32:41 [CONFIG] Add HB_NO_VERTICAL
Behdad Esfahbod 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
Garret Rieger 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.
Garret Rieger 02b12d79 2021-12-06T15:23:35 [repacker] Move all overflowing roots to a new space simultaneously.
Garret Rieger 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.
Qunxin Liu 51655a07 2021-12-05T19:27:57 [subset] COLR : only include glyphs after COLR closure
Behdad Esfahbod 70f8c57e 2021-12-04T19:49:23 [buffer] Rename find_min_cluster
Behdad Esfahbod 94d43c00 2021-12-04T16:56:39 [buffer] Merge and rename clear_glyph_flags()
Behdad Esfahbod b95d252f 2021-12-03T11:49:55 [CONFIG] Add HB_CONFIG_OVERRIDE_H to simplify config overrides
Qunxin Liu 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.