Log

Author Commit Date CI Message
Behdad Esfahbod cc9bb294 2021-06-20T18:47:03 [blob] Fix-up recent mistake in hb_blob_create() destroy(user_data) https://github.com/harfbuzz/harfbuzz/pull/3026#discussion_r653437491
Garret Rieger bc06af97 2021-06-16T15:49:14 [subset] speed up feature collection when tags are specified. Precompute a feature index filter to avoid needing to iterate the feature tag list for each encountered feature index. For this particular fuzzer case speeds up feature collection from 50s to 2s.
Khaled Hosny 14f220b7 2021-06-20T18:59:13 [directwrite] Support feature ranges Code copied from hb-uniscribe.cc and adapted to use DirectWrite types. May be there is a better way to de-duplicate the code, though I'm not exactly sure how or if it is worth it.
Garret Rieger d2397d91 2021-06-18T18:12:19 [subset] Add additional colrv1 subsetting tests that has a glyph with components.
Garret Rieger 26c80adb 2021-06-18T14:14:20 [subset] do colrv1 glyph closure before glyf composite closure.
Qunxin Liu d07f789a 2021-06-09T15:36:40 [subset] support option "--notdef-outline"
Garret Rieger 675ebbeb 2021-06-16T10:40:46 [subset] don't alloc zero bytes. It will be leaked later since hb_blob_create() won't set up the blob to cleanup since it has length zero.
Garret Rieger 10ad1859 2021-06-16T16:34:46 [subset] add comment to copy_bytes().
Behdad Esfahbod 93e6a9bc 2021-06-15T15:38:49 Revert "Remove unneeded buffer clear_output / remove_output calls" This reverts commit 06175b71433bc42edc07d342e6354035e37fb5fd. One of the sanitizers is failing. Pushing again as PR to debug. I have suspicions.
Behdad Esfahbod 06175b71 2021-06-15T14:33:27 Remove unneeded buffer clear_output / remove_output calls Made sure clear_output is always paired with swap_buffers. Trying to see if we can move towards RAII-like buffer iterators instead of the buffer keeping an iterator internally.
Behdad Esfahbod bdfed8f1 2021-06-14T15:46:04 [blob] Add failing versions of create API Fixes https://github.com/harfbuzz/harfbuzz/issues/2567 New API: +hb_blob_create_or_fail() +hb_blob_create_from_file_or_fail() Use these in util/ to distinguish empty file from not-found file. Only err on the latter.
Behdad Esfahbod 2fc8d0e6 2021-06-15T12:56:17 Merge pull request #3020 from googlefonts/serialize_serialize [subset] Always serialize objects point to by OffsetTo to a new serializer object.
Garret Rieger 085aa65e 2021-06-14T16:47:45 [subset] Convert offset serialization in gsubgpos and gdef to serialize_serialize().
Garret Rieger cc96c4e8 2021-06-14T16:43:23 [shaping] Update shaping substituion lookup serialization to use serializer pop()/pack().
Behdad Esfahbod d3dd9363 2021-06-14T12:31:02 [coretext] Round position info Test: Before: $ ./hb-shape /System/Library/Fonts/ヒラギノ丸ゴ\ ProN\ W4.ttc 1 --features="+palt" --shaper=coretext [gid781=0@-78,0+841] $ ./hb-shape /System/Library/Fonts/ヒラギノ丸ゴ\ ProN\ W4.ttc 1 --features="+palt" --shaper=ot [gid781=0@-78,0+842] After: $ ./hb-shape /System/Library/Fonts/ヒラギノ丸ゴ\ ProN\ W4.ttc 1 --features="+palt" --shaper=coretext [gid781=0@-78,0+842] $ ./hb-shape /System/Library/Fonts/ヒラギノ丸ゴ\ ProN\ W4.ttc 1 --features="+palt" --shaper=ot [gid781=0@-78,0+842] I've verified in the font that 842 is correct.
Garret Rieger 8443cc85 2021-06-11T13:40:39 [subset] Correct OffsetTo serialization in GPOS to use serialize_serialize ().
Garret Rieger 5ba46ed0 2021-06-11T13:34:00 [subset] Correct OffsetTo serialization in GSUB to use serialize_serialize ().
Garret Rieger 35458b6b 2021-06-11T13:14:51 [subset] Add serialize_serialize to OffsetTo. Similar to serialize_subset() this will serialize the new object and then link it to the offset.
Behdad Esfahbod 2b0ced28 2021-06-09T19:06:31 Cluster Regional_Indicator pairs (aka emoji flags) Fixes https://github.com/harfbuzz/harfbuzz/issues/2265
Behdad Esfahbod 4e72d5e3 2021-06-13T05:46:17 [src/check-static-init] Ignore objdump "file format not recognized" error Fixes https://github.com/harfbuzz/harfbuzz/issues/3019
Behdad Esfahbod 5bc05ba1 2021-06-13T05:28:20 Prefer GPOS over kerx, if GSUB was applied Fixes https://github.com/harfbuzz/harfbuzz/issues/3008
Behdad Esfahbod 13c6ad98 2021-06-12T11:00:19 [src/check-*] Pickup $(NM), $(OBJDUMP), $(LDD), $(OTOOL) Fixes https://github.com/harfbuzz/harfbuzz/issues/3019
Behdad Esfahbod c61ce962 2021-06-10T17:33:29 [buffer] In hb_buffer_get_positions(), return NULL if inside message callback As discussed in https://github.com/harfbuzz/harfbuzz/issues/2468#issuecomment-645666066 Part of fixing https://github.com/harfbuzz/harfbuzz/issues/2468
Behdad Esfahbod 855a3f47 2021-06-09T15:10:52 [emoji] Fix emoji table generation Previously, the last of each range having Extended_Pictograph property was not processed as so. Ouch! Test: $ echo x > null; hb-shape null -u U+1f43b,U+200d,U+2744,U+fe0f Before: [gid0=0+1000|gid0=2+1000] After: [gid0=0+1000|gid0=0+1000] Caught by https://github.com/harfbuzz/harfbuzz/issues/3017
Behdad Esfahbod bd5502f0 2021-06-09T14:03:25 [set] Oops. Fix compile
Behdad Esfahbod 3962225a 2021-06-09T14:02:31 [set] Add hb_set_copy() Fixes https://github.com/harfbuzz/harfbuzz/issues/3016
Behdad Esfahbod bc33b87f 2021-06-09T11:51:32 [set] Use references, not pointers, in internal C++ API
Behdad Esfahbod 9cfac093 2021-06-09T11:41:59 [set] Add copy constructor/assignment
Behdad Esfahbod a83b9b0f 2021-06-07T16:41:27 Merge pull request #3011 from harfbuzz/directwrite-cleanup Some directwrite cleanups
Khaled Hosny 4811e8f5 2021-06-07T10:54:36 Trigger doc rebuild
Khaled Hosny 09a2eb65 2021-06-07T10:52:27 Revert "Temporarily always push the docs commit" This reverts commit 6612fd39ae6f84446dad1b0507417d6febf22fa0.
Khaled Hosny 6612fd39 2021-06-07T10:36:02 Temporarily always push the docs commit
Khaled Hosny b39b0475 2021-06-07T10:27:33 Try to fix doc deployment https://github.com/harfbuzz/harfbuzz.github.io/issues/4 From CI logs at https://github.com/harfbuzz/harfbuzz/runs/2758234200: + git init hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch <name> hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m <name> We want the branch too be main not master.
David Corbett 5585ea02 2021-06-05T08:35:28 [syllabic] Set position of dotted circle for Indic
Khaled Hosny a9fb6a0c 2021-06-06T14:40:50 [aat] Add start table/end table to buffer messages Related to https://github.com/harfbuzz/harfbuzz/issues/3008
Behdad Esfahbod 19cb4493 2021-06-05T13:44:51 Update COPYING Mainly just to push any commit to see if it fixes our github.io site. https://github.com/harfbuzz/harfbuzz.github.io/issues/4
Behdad Esfahbod cf9538e8 2021-06-04T22:33:16 Removal remaining uses of "blacklist" terminology
Khaled Hosny 6119ff9d 2021-06-03T13:02:53 [hb-directwrite] Don't load dwrit.dll dynamically We already link to it, so I don't see the point of trying to load it dynamically.
Khaled Hosny b2070a50 2021-06-03T10:50:46 [hb-directwrite] Don’t override new/delete This is a testing shaper, we don’t care for overridden malloc/free here. Use malloc/free in the code called from hb_directwrite_face_create().
Khaled Hosny 221d642b 2021-06-03T10:45:23 [hb-directwrite] Remove _hb_directwrite_shape_experimental_width Not used anywhere.
Khaled Hosny fa432a12 2021-06-05T04:06:58 Rename various references to master branch
Qunxin Liu 35d6af69 2021-06-04T10:04:27 [subset] fix fuzzer testcase: https://oss-fuzz.com/testcase-detail/5965777994907648
Behdad Esfahbod 92206345 2021-06-04T14:51:49 [ci] Disable patch-level codecov failures Fixes https://github.com/harfbuzz/harfbuzz/issues/3004
Peter Williams 3d48bfc1 2021-06-02T23:12:53 Avoid a deprecation warning in graphite2 As of graphite2 1.3.7, `gr_make_face` is deprecated in favor of `gr_make_face_with_ops`. It's a one-liner to port over to using it. This is potentially a compatibility break since I'm not sure when the `with_ops` API was added, but the minimum version of graphite2 that's supported by Harfbuzz doesn't seem to be documented anywhere anyway.
Qunxin Liu 1b6008ca 2021-06-02T15:07:18 fix fuzzer testcase: https://oss-fuzz.com/testcase-detail/5417934246772736
Garret Rieger 18f61210 2021-05-27T16:01:17 Add public api methods to get/set the layout features to retain.
Andi-Bogdan Postelnicu 243d056f 2021-06-02T14:08:11 Removed unused variable `supp_size` from plan_subset_encoding(...).
Qunxin Liu 7ab0f4ed 2021-05-27T11:40:34 fuzzer fix
Qunxin Liu cb5a6b5a 2021-05-19T17:33:46 [subset] support option --layout-features
Garret Rieger 0989b555 2021-05-18T17:12:50 [subset] Add test for overlaps flag setting.
Garret Rieger 73ff04a3 2021-05-18T16:54:01 [subset] add option to have the subsetter set the mac overlaps flag on each glyph.
Qunxin Liu f739e1dc 2021-05-11T11:44:32 [subset] subset both CPAL and COLRv1
Garret Rieger 466e1fdf 2021-05-26T14:22:21 [subset] remove unnessecary brackets.
Garret Rieger 58323729 2021-05-26T14:06:02 Add cmp() method for major to page map.
Garret Rieger 2c137045 2021-05-20T16:22:04 [subset] Optimize set iteration by caching the last found page map index. Reuse it if possible on consecutive calls to next(). Will signifcantly speed up cases where the entire set is iterated. In local testing iterating a very large set was 10x faster.
Garret Rieger 1bb00cd5 2021-05-26T14:18:32 [subset] add num-iterations flag to util/hb-subset.
Behdad Esfahbod 9e5738a8 2021-05-26T15:12:39 [set] Okay, giving up on constexpr till C++14 ../src/hb-set.hh:213:89: error: call to non-'constexpr' function 'const elt_t& hb_vector_size_t<elt_t, byte_size>::operator[](unsigned int) const [with elt_t = long long unsigned int; unsigned int byte_size = 64]'
Khaled Hosny fac0bc78 2021-05-26T14:44:58 [meson] Drop more wraps we don’t use directly
Khaled Hosny 21d1034d 2021-05-26T14:31:05 [meson] Remove expat.wrap that we don’t use directly Fixes https://github.com/harfbuzz/harfbuzz/issues/2987
Behdad Esfahbod 90fa558a 2021-05-26T15:05:48 [set] Another try at constexpr to make msvc happy
Behdad Esfahbod bf5d4a63 2021-05-26T14:27:02 [set] Add TODO
Behdad Esfahbod 11d03f1f 2021-05-26T14:26:05 [set] Mark a couple methods as constexpr
Behdad Esfahbod d2829ad3 2021-05-26T14:24:27 [set] Refactor code into page_t::is_subset()
Behdad Esfahbod e47e44a8 2021-05-26T14:19:27 [set] Whitespace
Kurt Kartaltepe 2000f47a 2021-05-19T00:34:09 [set] Compute is_subset by comparing pages. Test subsets one page at a time instead of by codepoints. On my machine this is about 250x faster than the previous implementation.
Dominik Röttsches 1dffb553 2021-05-18T12:31:14 Chromium build fixes for C++ 17 warning and missing _remap_indexes Use class instead of typename, move _remap_indexes out of #ifndef. Fixes #2979
Jonathan Kew 89df3539 2021-05-13T11:45:32 [aat] Add testcase for Apple Color Emoji couple-with-skin-tones sequence.
Jonathan Kew bbc5fc37 2021-05-13T11:39:09 [aat] If shaping via morx, don't adjust mark positioning when zeroing widths.
Jonathan Kew 4f1e8d2b 2021-05-05T11:11:43 [aat] Update glyph properties from GDEF if available when doing a replacement.
Garret Rieger 5e0ec33b 2021-05-12T14:46:54 Error when link width not in [2, 4]
Qunxin Liu b23f29bf 2021-04-17T09:59:45 [subset] Add subset () method for COLRv1 Paint tables, BaseGlyphV1List and LayerV1List Also add support for Offset24 in serializer and repacker
Garret Rieger 413769bf 2021-05-12T14:14:06 Add hb-ot-color-colrv1-closure.hh to sources list.
Garret Rieger de0eba20 2021-05-12T14:05:34 Remove array for visited_paint.
Qunxin Liu e59ffe54 2021-04-01T12:01:19 [subset] COLRv1 layer/palette indices closure
Garret Rieger a08900b7 2021-05-04T16:48:41 [subset] fix failing colrv0 subsetting when font has composite glyphs. Composite glyph collection was happening along side colrv0 glyph collection which meant it was possible to miss grabbing the component glyphs for a glyph added by colrv0.
tstuefe b54d9b69 2021-05-06T06:22:48 start
Garret Rieger b07b97d5 2021-03-29T10:39:38 [subset] Add more Noto Nastaliq test cases.
Khaled Hosny b37f03f1 2021-05-04T02:07:06 2.8.1
Khaled Hosny d3e84413 2021-05-02T01:03:21 [ci] Drop macos-10_13_6-aat-fonts job This version of macOS is no longer supported by Homebrew, it takes 26 minutes to brew the dependencies before it fails.
Khaled Hosny 517d68b2 2021-05-01T23:50:39 [ci] Pin fedora 33 docker image g-ir-scanner is broken on 34 image: FAILED: src/HarfBuzz-0.0.gir /usr/bin/g-ir-scanner --no-libtool --namespace=HarfBuzz --nsversion=0.0 --warn-all --output src/HarfBuzz-0.0.gir --c-include=hb-gobject.h --cflags-begin -DHB_NO_SINGLE_HEADER_ERROR -DHAVE_GOBJECT -DHB_EXTERN= --cflags-end -I/root/project/src -I/root/project/build/src -I./. -I../. --filelist=/root/project/build/src/libharfbuzz-gobject.so.0.20800.0.p/HarfBuzz_0.0_gir_filelist --include=GObject-2.0 --symbol-prefix=hb --symbol-prefix=hb_gobject --identifier-prefix=hb_ --pkg-export=harfbuzz-gobject --cflags-begin -DHAVE_CONFIG_H -I./. -I../. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -I./src/. -I../src/. -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/gobject-introspection-1.0 --cflags-end --add-include-path=/usr/share/gir-1.0 -L/root/project/build/src --extra-library=harfbuzz --library harfbuzz-gobject -L/root/project/build/src -L/root/project/build/src --extra-library=glib-2.0 --extra-library=gobject-2.0 --extra-library=m --extra-library=freetype --extra-library=girepository-1.0 --sources-top-dirs /root/project/subprojects/ --sources-top-dirs /root/project/build/subprojects/ ../src/hb-buffer.cc:641: Warning: HarfBuzz: unknown annotation: xconstructor ../src/hb-face.cc:192: Warning: HarfBuzz: unknown annotation: xconstructor ../src/hb-font.cc:551: Warning: HarfBuzz: unknown annotation: xconstructor ../src/hb-font.cc:1519: Warning: HarfBuzz: unknown annotation: xconstructor ../src/hb-map.cc:43: Warning: HarfBuzz: unknown annotation: xconstructor ../src/hb-ot-name.cc:55: Warning: HarfBuzz: unexpected annotation: out ../src/hb-set.cc:43: Warning: HarfBuzz: unknown annotation: xconstructor ../src/hb-shape-plan.cc:173: Warning: HarfBuzz: unknown annotation: xconstructor ../src/hb-shape-plan.cc:201: Warning: HarfBuzz: unknown annotation: xconstructor ../src/hb-unicode.cc:172: Warning: HarfBuzz: unknown annotation: xconstructor g-ir-scanner: link: gcc -pthread -o /root/project/build/tmp-introspecta9rymai3/HarfBuzz-0.0 /root/project/build/tmp-introspecta9rymai3/HarfBuzz-0.0.o -L. -Wl,-rpath,. -Wl,--no-as-needed -L/root/project/build/src -Wl,-rpath,/root/project/build/src -L/root/project/build/src -Wl,-rpath,/root/project/build/src -L/root/project/build/src -Wl,-rpath,/root/project/build/src -lharfbuzz-gobject -lharfbuzz -lglib-2.0 -lgobject-2.0 -lm -lfreetype -lgirepository-1.0 -lgio-2.0 -lgobject-2.0 -Wl,--export-dynamic -lgmodule-2.0 -pthread -lglib-2.0 -lglib-2.0 ldd: error: you do not have read permission for `/root/project/build/tmp-introspecta9rymai3/HarfBuzz-0.0' Traceback (most recent call last): File "/usr/bin/g-ir-scanner", line 99, in <module> sys.exit(scanner_main(sys.argv)) File "/usr/lib64/gobject-introspection/giscanner/scannermain.py", line 599, in scanner_main shlibs = create_binary(transformer, options, args) File "/usr/lib64/gobject-introspection/giscanner/scannermain.py", line 428, in create_binary shlibs = resolve_shlibs(options, binary, options.libraries) File "/usr/lib64/gobject-introspection/giscanner/shlibs.py", line 170, in resolve_shlibs _resolve_non_libtool(options, binary, non_libtool)) File "/usr/lib64/gobject-introspection/giscanner/shlibs.py", line 106, in _resolve_non_libtool output = subprocess.check_output(args) File "/usr/lib64/python3.9/subprocess.py", line 424, in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, File "/usr/lib64/python3.9/subprocess.py", line 528, in run raise CalledProcessError(retcode, process.args, subprocess.CalledProcessError: Command '['ldd', '/root/project/build/tmp-introspecta9rymai3/HarfBuzz-0.0']' returned non-zero exit status 1. ninja: build stopped: subcommand failed.
Garret Rieger 2b764764 2021-04-30T13:34:16 [subset] update test-subset-gpos expected files.
Garret Rieger be50779c 2021-04-30T12:59:17 [subset] correct ClassDef format determination. It was possible for glyph_min to be a glyph mapped to class zero which threw off the number of glyph calculation.
Khaled Hosny 90713f27 2021-04-30T16:56:39 [hb-ot-layout] Document some return values
Behdad Esfahbod 46362a95 2021-04-30T11:39:47 Merge pull request #2958 from googlefonts/layout_by_default_gr [subset] Enable layout subsetting by default.
Behdad Esfahbod 42bf8e3d 2021-04-26T12:31:44 [util] Disable chafa's truecolor mode See https://github.com/harfbuzz/harfbuzz/pull/2959#issuecomment-827056111
Khaled Hosny c571a96e 2021-04-25T15:43:30 [ci] Disable Chafa on jobs that enables all auto features No suitable versions are available on these setups.
Hans Petter Jansson 8298c2f9 2021-04-23T18:37:58 [hb-view] Use Chafa for terminal graphics if available This produces high-quality terminal graphics using symbols or sixels according to the detected terminal capabilities. Fixes #2430.
Garret Rieger e25efb31 2021-04-23T19:09:37 [subset] consider all value formats when computing effective format.
Qunxin Liu 84dbfacf 2021-04-15T16:52:11 [subset] fix collect_variation_idx in PairPosFormat2
Garret Rieger d356d0f7 2021-04-23T17:41:09 [subset] optimize ValueRecord's for PairPosFormat1.
Garret Rieger f9fbe481 2021-04-23T17:06:06 [subset] implement value record optimization for PairPosFormat2.
Garret Rieger badb8e40 2021-04-23T16:32:56 [subset] use copy_values for PairPos serialize.
Garret Rieger 2f50283c 2021-04-23T15:21:30 [subset] Begin implementing ValueRecord optimization: remove value records which have a zero value.
Garret Rieger 5df7c668 2021-04-22T16:45:14 [subset] In SinglePosFormat1 serialize only 1 value record. Previously one record per glyph in the subset was serialized.
Garret Rieger 92757f68 2021-04-22T15:18:35 [subset] Don't drop anchor device tables when dropping hints. These may contain variation data. Update subseting expected files to match latest version of fontTools.
Garret Rieger 6fddc2bb 2021-04-01T15:34:17 [subset] subset layout tables (G*) by default.
Garret Rieger 425ba1f4 2021-04-19T18:01:24 [subset] fixes infinite loop in hb_set_get_max(). Fixes https://oss-fuzz.com/testcase-detail/5363902507515904
Garret Rieger ec432106 2021-04-19T17:18:05 [subset] fix infinite loop caused by alloc failure in repacker. Fixes: https://oss-fuzz.com/testcase-detail/5609112151916544.
Garret Rieger 0e845d97 2021-04-19T16:09:37 [subset] fix memory leak in repacker caused by failed alloc. Fixes: https://oss-fuzz.com/testcase-detail/5616763250278400.
Garret Rieger 3fb62cdc 2021-04-05T15:48:34 [subset] fail on offset overflow in tables that we don't repack. Fixes: https://oss-fuzz.com/testcase-detail/5229304507138048