src


Log

Author Commit Date CI Message
Behdad Esfahbod dff1b809 2022-11-16T16:19:05 [buffer] Add .digest() and use
Behdad Esfahbod 654a2eaf 2022-11-16T16:09:04 [layout] Use buffer-digest for GSUB as well Combined with previous commit, this shows up to 12% speed up with Roboto and the en-words (ie. short strings) benchmark, about 5% for longer English tests, and no adverse effect on heavier fonts.
Behdad Esfahbod 15b6c325 2022-11-16T15:59:13 [layout] Use a buffer digest for GPOS to skip whole lookups
Behdad Esfahbod a053b84c 2022-11-16T14:39:25 [gsubgpos] Optimize set-digest initialization Previously we were once collecting set-digest for each subtable, and another time for each lookup. Now we compute the one for each lookup simply from the ones for its subtables.
Behdad Esfahbod 20654cd8 2022-11-16T14:15:58 [set-digest] Minor no logic change
Behdad Esfahbod 95b9763d 2022-11-16T14:15:01 [set-digest] Minor simplify
Behdad Esfahbod 9855b678 2022-11-16T13:37:34 [cache] Minor rewrite assertion
Behdad Esfahbod a10ff205 2022-11-16T13:34:37 [ft] Comment
Behdad Esfahbod 557be950 2022-11-16T12:47:05 [test-vector] Fix test
Behdad Esfahbod 9027d154 2022-11-16T12:39:30 [test-iter] Fix leak
Behdad Esfahbod afd716d4 2022-11-16T12:28:56 [serialize] Don't free object-pool in reset()
Behdad Esfahbod 02949cf6 2022-11-16T12:06:44 [priority-queue] More assert adjustment
Behdad Esfahbod 620ddd76 2022-11-16T12:04:35 [priority-queue] Fix asserts
Behdad Esfahbod 57de568a 2022-11-16T11:50:05 [indic-table] Minor adjust empty lines
Behdad Esfahbod 281a2602 2022-11-16T11:36:33 Update generated file
Behdad Esfahbod f734c26c 2022-11-15T16:27:56 [test-vector] Test inserting set and map
Behdad Esfahbod 0a97d27c 2022-11-15T16:23:48 [test-iter] Add another test
Behdad Esfahbod e9e98568 2022-11-15T16:11:57 [fallback-shape] Remove TODO
Behdad Esfahbod 6df8498d 2022-11-15T15:52:04 [sample.py] Fix warning
Behdad Esfahbod 49fe5c1e 2022-11-15T15:37:23 [glib] Remove old cruft from pre-2011
Behdad Esfahbod 1bd1a378 2022-11-15T15:18:36 [test] Minor
Behdad Esfahbod 35aa492e 2022-11-15T15:05:15 [main] sprintf -> snprintf
Behdad Esfahbod 72c69620 2022-11-14T21:34:16 [buffer-deserialize-text] Fix glyph name for glyph flags Skip "#" in glyph names.
Behdad Esfahbod dee26de7 2022-11-14T16:24:25 [test-buffer-serialize] Allow no font
Behdad Esfahbod f6076890 2022-11-14T16:06:39 Hide all mentions of name_table_overrides behind EXPERIMENTAL_API Fixes https://github.com/harfbuzz/harfbuzz/issues/3872
Behdad Esfahbod ebc382a8 2022-11-14T15:59:46 Revert "Avoid use values () in hb-hashmap if value_t has an overriden operator &" This reverts commit b92e4cc0091e093f6941019e1a53cc04a137017a.
Behdad Esfahbod ff0d0d02 2022-11-14T14:34:20 [meta] Use std::decay
Behdad Esfahbod 24cf86b0 2022-11-14T13:33:06 [array] Fix MSVC fail
Behdad Esfahbod a87843be 2022-11-14T13:43:58 [array] Another try at sizeof sorted_array
Behdad Esfahbod 72ba0b2a 2022-11-14T13:33:06 [array] Fix MSVC fail
Qunxin Liu b92e4cc0 2022-11-14T08:54:24 Avoid use values () in hb-hashmap if value_t has an overriden operator &
Behdad Esfahbod ea63e95e 2022-11-11T12:45:12 [GPOS.PairPos] Adjust unsafe-to-break for non-zero ValueFormat2 Fixes https://github.com/harfbuzz/harfbuzz/issues/3824
Behdad Esfahbod 85e0be13 2022-11-13T17:28:09 [vector/array] Add simple test for sorted size
Behdad Esfahbod 4e618557 2022-11-13T17:23:25 [vector] Don't subclass sorted vector from unsorted Was doubling the size unnecessarily.
Behdad Esfahbod 630f09c8 2022-11-09T11:32:30 Another hb_memcpy instead of strncpy use
Behdad Esfahbod cd011cea 2022-11-09T11:30:44 Use hb_memcpy instead of strncpy Nul-termination is not intended.
Behdad Esfahbod c158b626 2022-11-08T14:15:56 [name] Simplify buffer-length calculation
Behdad Esfahbod 55edf59d 2022-11-08T14:53:27 [name] Typo
Behdad Esfahbod 27c8bbcb 2022-11-08T14:48:38 Revert "[name] Simplify buffer-length calculation" This reverts commit d70595657e8d56b52d5714d082092d8eb104093e.
Behdad Esfahbod d7059565 2022-11-08T14:15:56 [name] Simplify buffer-length calculation
Qunxin Liu 6314aa7d 2022-10-28T10:44:48 [subset] add an experimental API that can override name strings for specified name_id
Behdad Esfahbod f53ef69d 2022-11-04T16:00:34 [indic] Order left-matras inside-out Fixes https://github.com/harfbuzz/harfbuzz/issues/3863
Qunxin Liu dbb7f47b 2022-11-03T11:55:41 fix bug in hb_hashmap_t has() interface It was not working when the value type is hb_bytes_t because hb_array_t overloaded operator &
Behdad Esfahbod d1f445ec 2022-11-02T12:24:04 [name] Typo
Behdad Esfahbod fc935fb8 2022-11-01T14:39:33 Fix snprintf use https://github.com/harfbuzz/harfbuzz/pull/3495#issuecomment-1299107964
Lorenz Wildberg 2ee42bba 2022-11-01T13:00:18 hb_variation_to_string: Fix GIR annotation
Behdad Esfahbod 02b76393 2022-10-29T11:15:03 [config] Re-enable BORING_EXPANSION Only the non-experimental parts (currently avar2) are enabled by default.
Behdad Esfahbod 6a47ef34 2022-10-29T11:14:27 [config] If not HB_EXPERIMENTAL, then HB_NO_BEYOND_64K
Behdad Esfahbod a0f999cd 2022-10-29T11:13:40 [config] Rename HB_NO_VARIATIONS2 to HB_NO_AVAR2
Behdad Esfahbod 60c6b778 2022-10-28T14:19:39 Disable -Wcast-function-type-strict https://github.com/harfbuzz/harfbuzz/pull/3859#issuecomment-1295409126
Martin Storsjö d88269c8 2022-10-28T22:17:15 freetype: Fix function signatures to match without casts Clang 16 has got a new stricter warning for casts of function types (see https://github.com/llvm/llvm-project/commit/1aad641c793090b4d036c03e737df2ebe2c32c57). This new warning gets included as part of the existing error diagnostic setting of -Wcast-function-type. This fixes errors like these: ../src/hb-ft.cc:1011:34: error: cast from 'void (*)(FT_Face)' (aka 'void (*)(FT_FaceRec_ *)') to 'FT_Generic_Finalizer' (aka 'void (*)(void *)') converts to incompatible function type [-Werror,-Wcast-function-type-strict] ft_face->generic.finalizer = (FT_Generic_Finalizer) hb_ft_face_finalize; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Qunxin Liu 8a552483 2022-10-27T09:43:07 [instance] update OS2/.usWeightClass and .usWidthClass when no-prune-unicode-ranges option is enabled
خالد حسني (Khaled Hosny) fddeba26 2022-10-26T22:34:02 Merge pull request #3857 from 2xsaiko/outgoing/cmake-abs-path Pass through absolute paths to cmake config directly
Marco Rebhan db292f6f 2022-10-26T20:49:52 Pass through absolute paths to cmake config directly The previous code concatenates includedir to _harfbuzz_prefix verbatim, which results in a wrong final include path in case includedir is an absolute path. Instead, we can let meson determine the absolute include and lib paths in advance and save them in the cmake config. This is an issue in nixpkgs, where includedir is set to the final (absolute) path of the built library in the Nix store, which causes CMake projects depending on harfbuzz to not configure. See https://github.com/NixOS/nixpkgs/issues/180054.
Behdad Esfahbod 477d7172 2022-10-26T13:11:47 [glyf] Limit points in a glyf to 10000 roughly Only enforced when components are being expanded. Fixes https://github.com/harfbuzz/harfbuzz/issues/3838
Behdad Esfahbod 9aad3dba 2022-10-26T13:04:02 [SingleSubst] Fix degenerate-lookup test Part of https://github.com/harfbuzz/harfbuzz/issues/3853
Garret Rieger 83769b9c 2022-10-21T22:37:32 [subset] add comment for why we retain empty lookups.
Garret Rieger 70e2de2b 2022-10-21T22:33:17 [subset] Always output Lookup's even if they are empty. The rest of layout subsetting depends on lookup indices being consistent with those computed during planning. So if an empty lookup is discarded during the subset phase it will invalidate all subsequent lookup indices. Generally we shouldn't end up with an empty lookup as we pre-prune them during the planning phase, but it can happen in rare cases such as when a subtable is considered degenerate (eg. #3853)
Joel Auterson c813f842 2022-10-20T19:45:23 Make build work for arm-none-eabi
Behdad Esfahbod b0b7a653 2022-10-20T17:13:26 [subset] Fix check-symbols failure Fixes https://github.com/harfbuzz/harfbuzz/issues/3850
Khaled Hosny 970321db 2022-10-19T22:06:46 5.3.1
Behdad Esfahbod a73137d1 2022-10-17T12:18:16 [face] Fix annotation
Behdad Esfahbod d65af602 2022-10-15T14:26:02 [shape] Adjust Grapheme clusters for Katakana voiced sound marks Fixes https://github.com/harfbuzz/harfbuzz/issues/3844
Behdad Esfahbod bda42fc3 2022-10-14T15:08:22 Merge pull request #3842 from harfbuzz/patch_mode [subset] Begin implementing a subset accelerator
Garret Rieger f53ebf55 2022-10-14T19:38:19 [subset] Add hb_subset_preprocess to experimental symbol list for check-symbols.
Garret Rieger fdb98ed8 2022-10-14T18:30:39 [subset] add missing HB_EXTERN.
Garret Rieger 515863e5 2022-10-13T23:42:00 [subset] Remove add accelerator flag, replace with new api method. Adds hb_subset_preprocess() which preprocesses the face and attaches accelerator data.
Garret Rieger 573640c9 2022-10-13T23:21:35 [subset] Add hb-subset-accelerator.hh to Make soure list.
Behdad Esfahbod a756bd19 2022-10-13T17:18:19 [glyf] Use component phantom points after transformation
Behdad Esfahbod 82d19c08 2022-10-13T17:17:03 Revert "[glyf/Composite] Remove phantom points when not needed anymore" This reverts commit 527e63a3bd8487d21e423a8a358eee30672eddb6.
Behdad Esfahbod 527e63a3 2022-10-13T17:13:40 [glyf/Composite] Remove phantom points when not needed anymore
Garret Rieger f4903def 2022-10-13T21:38:54 [subset] use the accelerator in the subsetting benchmark.
Garret Rieger 01481db5 2022-10-13T21:12:22 [subset] use accelerator unicode to gid map if available.
Garret Rieger 4ec5eb95 2022-10-13T19:40:31 [subset] add a subset accelerator. Can be optionally attached to the face during subsetting. Contains data which can accelerate future subsets.
Garret Rieger f105c287 2022-10-13T18:53:41 [subset] Suggested flags to enable more performant subset production for use in incxfer.
Behdad Esfahbod 5769d422 2022-10-13T12:12:24 [type] Add HBFixed template
Behdad Esfahbod 8c29dcae 2022-10-13T12:04:32 s/HBFixed/F16DOT16/g
Behdad Esfahbod 294b1c9f 2022-10-13T11:30:02 Use snprintf instead of sprintf
Garret Rieger 9559d3c1 2022-10-11T19:49:01 [repacker] fix incorrect coverage table size estimation. During splitting of PairPosFormat2 the code was assuming the maximum size of the generated coverage table would be equal too the current size. This is incorrect size the new coverage table may not preserve the ranges found in the original coverage table (since we are splitting based on class, not coverage) and in the worst case may convert from format2 to format1. So use the size of a format1 table as the max size.
Khaled Hosny 3ce4b8f5 2022-10-08T19:10:07 5.3.0
Garret Rieger 99f4668e 2022-09-29T19:39:59 [repacker] use mutable copies of Coverage/ClassDef in MarkBasePos shrink operation. Also make mutable copies (when needed) of the top level subtables during a split operation.
Garret Rieger 8f1bf23c 2022-09-27T22:50:54 [subset] optimize glyf subsetting w/ retain gids. When retain gids is enabled the subset plan may require the output of many empty glyphs. This change optimizes the glyf subsetting code when the number of retained glyphs << number of output glyphs. Unnessecary lookups to the glyph map are reduced by iterating through the glyph map instead of the output glyph set.
Qunxin Liu e94fe2ad 2022-09-20T13:14:26 [instance] minor optimizations to glyf instancing
Qunxin Liu b90ce34a 2022-09-14T11:26:32 [instance] fix for non-empty .notdef glyph metrics update we need pass in source glyph's outline data to calculate boundaries, and then drop the outline data if notdef-outline is specified. Also disable shifting points for instancing in get_points () API
Qunxin Liu b706c6f7 2022-09-12T13:58:55 [instance] update FeatureList with variations
Qunxin Liu 8f3a7017 2022-09-09T15:00:37 [instance] support FeatureVariations table
Qunxin Liu f4813e3b 2022-09-09T10:34:09 [instance] update collect_lookups/prune_features()/closure_features() with variations Some features will be substituted with variations, so we do not collect lookups from the original feature tables.
Qunxin Liu 64e2f2fc 2022-09-09T09:36:19 [instance] store active featurevariation record/condition idxes in the plan
Qunxin Liu 0a6c16a3 2022-08-08T13:47:39 [instance] instantiate fvar table Added an old->new axes_indices mapping in the subset plan
Behdad Esfahbod 486fc227 2022-09-28T15:11:23 [cplusplus] Add missing const
Qunxin Liu c335bf46 2022-09-26T13:01:20 support dereferencing shared_ptrs and unique_ptrs
Garret Rieger 8cd7d1c3 2022-09-20T22:04:39 [subset] Allow table ordering on the face builder to be overriden.
Behdad Esfahbod b70032ed 2022-09-22T15:59:16 [layout] Fix typo in docs
Khaled Hosny d2966d39 2022-09-22T23:30:50 [ot-font] Try CBDT extents before outline tables Like we do for sbix table. Fixes https://github.com/harfbuzz/harfbuzz/issues/3827
Behdad Esfahbod 1fdf0464 2022-09-22T12:03:17 Merge pull request #3799 from harfbuzz/optical-bounds Optical bounds
David Corbett 3ca5fbda 2022-09-21T18:13:17 [USE] Update the data files This uses the data files from <https://github.com/microsoft/font-tools/tree/3254c94606d1d6737370deedae0ee3e08d1e100d/USE> and closes #3817.
Behdad Esfahbod b78d4b1e 2022-09-21T13:27:12 [color] Fix documentation re UPEM vs PPEM Fixes https://github.com/harfbuzz/harfbuzz/issues/3826
Behdad Esfahbod 56c46709 2022-09-20T17:39:54 [subset] Fix compiler warning Fixes https://github.com/harfbuzz/harfbuzz/issues/3823
Behdad Esfahbod c02a1a4a 2022-09-10T10:44:16 [ot-font] Remove unused include
David Corbett d7cc82ad 2022-09-20T11:22:54 Update the language system tag registry URL