|
a6d295fa
|
2025-03-05T18:00:13
|
|
[fontations] Disable symbol check
Since all of rust crates become public symbols. Sigh.
|
|
7871ee5b
|
2025-03-04T15:04:26
|
|
[fontations/meson] Use link_whole instead of link_with
Instead of passing `--whole-archive` manually to the linker which has a
different name on macOS linker.
|
|
9d754188
|
2025-03-04T03:55:09
|
|
[meson] Fix unintended change to coretext
|
|
9439e1fd
|
2025-03-04T03:43:10
|
|
[fontations] Links finally
|
|
395270e4
|
2025-03-04T02:28:51
|
|
[fontations] Try folding into libharfbuzz
|
|
2a06b85d
|
2025-03-04T02:10:21
|
|
[fontations] Try using an intermediate library
Still doesn't link.
|
|
f28daba5
|
2025-03-04T01:36:21
|
|
[fontations] I don't know...
|
|
161b20f3
|
2025-03-04T01:17:53
|
|
Try building with cargo
|
|
26da19f6
|
2025-03-03T23:36:33
|
|
Kinda builds now with bindgen
Requires nightly.
|
|
3ba4266d
|
2025-03-03T23:02:45
|
|
[fontations] bindgen hb.rs
|
|
2abe54fc
|
2025-03-03T21:58:48
|
|
Almost works!
|
|
ad8e4a29
|
2025-03-03T21:13:05
|
|
[fontations] Start building a libharfbuzz-fontations
|
|
d5faabe7
|
2025-02-16T09:47:58
|
|
[decycler] Add test
|
|
0aa400b1
|
2025-02-15T23:19:44
|
|
[decycler] Implement an efficient graph cycle detector
This is an algorithm I came up with, based on the Floyd's
Tortoise-Hare constant-memory linear-time linked-list cycle-detection
algorithm.
https://en.wikipedia.org/wiki/Cycle_detection#Floyd's_tortoise_and_hare
It is linear-time and malloc-free. It *eventually* detects cycles,
not immediately.
The main different with Floyd's algorithm is that this algorithm
detects cycles when one is traversing down a graph, not just a
linked list.
Our existing cycle-detection algorithms use a set-of-integers,
either hb_set_t, or more efficient in this case, hb_map_t. Those
include at least one malloc, and as such show up on profiles.
Port hb-ot-font COLRv1 to use the decycler instead of previous
hb_map_t usage for cycle detection.
benchmark-font paint_glyph on NotoColorEmoji-Regular.ttf:
Before: 8ms; After: 5.5ms. No cycle detection: 5.5ms.
FT COLRv1 API is so slow (174ms) it's not worth porting to this.
Other graphs (VARC, etc) to be ported.
Test and documentation to be added.
|
|
05650416
|
2025-01-07T19:56:25
|
|
[repacker] rename hb-subset-repacker -> hb-subset-serialize.
Also hb_link_t and hb_object_t to hb_subset_serialize_link_t and hb_subset_serialize_object_t.
|
|
780aaca8
|
2024-11-27T16:12:51
|
|
set harfbuzz version in cmake config file
|
|
8a805271
|
2024-10-10T12:56:31
|
|
[coretext] Start implementing CoreText font-funcs
Does nominal glyph mapping, horiz advances, and draw so far.
|
|
064b2417
|
2024-10-09T15:12:59
|
|
[coretext] Rename hb-coretext.cc to hb-coretext-shape.cc
|
|
700ef11c
|
2024-08-23T11:29:34
|
|
[meson] Add back with_libstdcxx build option
Building harfbuzz when targeting Android API<=20 would need libstdc++
due to lack of uselocale and freelocale in C library but present in
libstdc++.
This reverts commit 0151da23d605c7709d432ebfb17a337a5f662839.
|
|
0037ee28
|
2024-05-24T08:10:15
|
|
Merge pull request #4578 from harfbuzz/varc-table
`VARC` table
|
|
bba0c0e2
|
2024-05-11T23:15:35
|
|
Add test-cff.cc
|
|
fb333ce4
|
2024-03-16T12:24:02
|
|
[varc] Move some code to VARC.cc
|
|
745ff05a
|
2024-03-16T11:11:30
|
|
[varc] Add coord-setter
Copied from glyf.
|
|
c6ae8d58
|
2024-03-15T21:17:29
|
|
Add hb-geometry.hh
|
|
0d6f77e6
|
2024-03-15T18:57:07
|
|
[varc] Add table
|
|
6864769c
|
2024-02-25T13:46:05
|
|
[meson] Block uses of hb-static throughout Microsoft compilers
PE-COFF cannot export extern, non-dllexport symbols.
|
|
f072de93
|
2024-01-30T10:31:14
|
|
[instancer] move iup code to a seprate file
|
|
32ee89dd
|
2023-11-10T13:48:24
|
|
[cmake] Fix double dots in CMake library location on macOS
|
|
c2f42fbb
|
2023-11-06T11:49:11
|
|
fix meson compiled_tests
|
|
b8121ccb
|
2023-09-21T15:41:09
|
|
[meson] keep asserts in test programs
|
|
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
|
|
da9b8389
|
2023-08-08T14:33:03
|
|
Re-do and clean up CMake support, making it use relocatable paths
Closes #4025.
|
|
b5a1c2b4
|
2023-08-07T01:55:10
|
|
Revert "Pass through absolute paths to cmake config directly"
This reverts commit db292f6f0238581a489aa8cddc585129b6e920cd.
|
|
c330c291
|
2023-09-18T12:14:21
|
|
[instancer] add a unit testcase for instantiating item variations
|
|
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.
|
|
43d0aff6
|
2023-07-04T09:22:53
|
|
[introspection] Pass both libharfbuzz_gobject & libharfbuzz as positional parameters
Fixes #4304
|
|
ad025ddf
|
2023-06-22T20:09:36
|
|
[subset-cff] Simplify a bit
|
|
9fd36766
|
2023-06-08T12:27:36
|
|
[instancer] add testing code for change_tuple_variation_axis_limits()
Also fixed a small bug
|
|
01f9b797
|
2023-06-05T17:26:20
|
|
address review comments
|
|
ed6bee20
|
2023-06-05T14:03:22
|
|
[instancer] add a test for decompile cvar tuple variations data
|
|
ccfd7ef0
|
2023-05-17T16:00:33
|
|
Merge pull request #4131 from harfbuzz/wasm
[wasm] WebAssembly shaper
|
|
f37941bb
|
2023-05-09T11:53:15
|
|
[instancer] add tests for instancer-solver from python test suite
Also fix bug in the solver code
|
|
22cca43d
|
2023-04-20T14:37:29
|
|
[instancer ]update internal hashmap to use Triple instead of single value
-Added hb-subset-instancer-solver.hh file and moved Triple struct to the
head file
|
|
5468b08c
|
2023-05-05T15:49:38
|
|
[subset-plan] Move all object members to a new file
To automatically check for their errors.
|
|
4f537df6
|
2023-02-25T15:29:35
|
|
[wasm] Disable check-libstdc++ test
Since libiwasm.so links to it.
|
|
f95c2cc6
|
2023-02-25T11:10:28
|
|
[wasm] Infra for iwasm llvm build
|
|
c5af08c0
|
2023-02-24T15:57:10
|
|
[wasm] Add to harfbuzz.cc and hb-features
|
|
ec3270c7
|
2023-02-24T13:31:10
|
|
[wasm-graphite] Ensure native direction here too
Binds buffer_get_script and script_get_horizontal_direction.
|
|
2bde2f66
|
2023-02-24T11:03:13
|
|
[wasm-api] Bind shape_with
|
|
cbd5c554
|
2023-02-23T14:54:46
|
|
[wasm-api] Add blob_free
|
|
5cecfe86
|
2023-02-23T13:58:40
|
|
[wasm-api] Bind buffer_copy_contents
|
|
42d121ae
|
2023-02-23T11:05:19
|
|
[wasm] Add hb-wasm-api.cc
|
|
fcc8be40
|
2023-02-22T12:57:19
|
|
[wasm] Add meson build option
Autotools support missing.
|
|
425fc7f3
|
2023-02-22T12:19:06
|
|
[wasm] Add wasm shaper skeleton
|
|
69183217
|
2023-03-07T20:56:56
|
|
Add test-gsub-get-alternates.cc
|
|
8b0c7b95
|
2023-02-10T09:49:09
|
|
[instance] Add struct definition for cvar table
Also add functions to add cvt tables with cvar deltas applied
|
|
552f0714
|
2023-02-13T09:21:05
|
|
[meson] Fix test failure with experimental_api
Pass --experimental-api to all gen-def.py when generating all .def
files, not only harfbuzz.def.
Fixes https://github.com/harfbuzz/harfbuzz/issues/4117
|
|
ae522a13
|
2023-02-01T16:24:44
|
|
[embolden] Rename to hb-outline
|
|
e25e4c9a
|
2023-01-28T00:10:47
|
|
Move GDEF table to src/OT/Layout/GDEF
|
|
f89fa6dc
|
2023-01-27T23:54:34
|
|
Move name table to src/OT/name
|
|
223abd72
|
2023-01-25T11:36:47
|
|
[subset] Add unfinished port of fonttools instancer solver
|
|
328ee9b4
|
2023-01-23T21:06:27
|
|
[hb-buffer-deserialize-text-unicodes] Rename
|
|
2c29b81e
|
2023-01-23T20:49:19
|
|
[buffer-deserialize-text] Separate glyphs / unicodes machines
|
|
699485b3
|
2023-01-24T00:07:45
|
|
[meson] Further simplify generating hb-features.h
|
|
2486d6d2
|
2023-01-23T23:57:16
|
|
[meson] Reduce repetitions
|
|
12f2ecbd
|
2023-01-23T23:41:11
|
|
[doc] Generate hb-supported-features.h
See inline comment.
|
|
1cf61f30
|
2023-01-23T13:43:35
|
|
[meson] Fix build with -Dgobject=disabled
|
|
def94aa8
|
2023-01-22T14:01:34
|
|
[features] Add HB_HAS_GOBJECT
|
|
8b12c195
|
2023-01-05T11:42:21
|
|
[face] Split hb-face-builder.cc
|
|
4adc748b
|
2023-01-01T09:46:11
|
|
Move Color tables to src/OT/Color/
|
|
dc5179d4
|
2023-01-01T09:23:07
|
|
Drop hb-ot-color-colr-table.cc
Move everything into the .hh file.
|
|
27684f14
|
2023-01-01T00:41:55
|
|
[introspection] Skip sources not usable with GObject Introspection
There is no point in generating GIR for code interfacing with libraries
without introspection integration. This fixes spurious warnings on macOS
when g-ir-scanner mistakenly tries to scan system headers.
|
|
ef20b5e6
|
2022-12-28T08:51:27
|
|
Typo fix
|
|
d18903e4
|
2022-12-27T09:25:05
|
|
Add def files for libharfbuzz-cairo
|
|
c4f7563f
|
2022-12-25T19:40:44
|
|
[cairo] Fix build
|
|
2e897cc9
|
2022-12-25T20:03:59
|
|
Add a pc file for harfbuzz-cairo
|
|
30664550
|
2022-12-25T19:03:50
|
|
Work on proper build integration
Install hb-cairo.h and define HB_HAS_CAIRO.
|
|
1ad24421
|
2022-12-25T15:55:14
|
|
[hb-cairo] Rename files to C++
|
|
767bdd43
|
2022-12-25T10:32:33
|
|
wip: Add libharfbuzz-cairo
This library will provide integration with cairo
for font rendering.
|
|
ae208963
|
2022-12-26T12:30:39
|
|
Add hb-limits.hh
|
|
11036ed7
|
2022-12-24T11:30:45
|
|
[paint] Add hb-paint-extents.cc
|
|
268d8b7d
|
2022-12-23T14:45:56
|
|
[paint-extents] Start out
|
|
e2546f5a
|
2022-12-22T15:50:43
|
|
[ft] Add hb-ft-colr.hh
|
|
8377341b
|
2022-12-14T22:03:52
|
|
wip: implement paint_glyph
|
|
83d0a49f
|
2022-12-13T21:14:25
|
|
wip: hb-paint
|
|
7be06f63
|
2022-12-18T07:10:32
|
|
meson: Override dependencies to improve usage as a subproject
With this change, harfbuzz can be consumed as a subproject without
making any changes to the build files of a project. All you need to do
is provide a wrap file with a `[provide]` section:
https://mesonbuild.com/Wrap-dependency-system-manual.html#provide-section
This is also necessary because otherwise projects need to hard-code
the subproject name, which might be `harfbuzz` when using `wrap-git` or
`harfbuzz-6.0.0` when using `wrap-file` (to build from a release
tarball). This can cause conflicts between different subprojects that
consume harfbuzz differently.
Other projects like glib, cairo, pango, etc already do this.
|
|
2c0abf02
|
2022-12-04T15:03:36
|
|
Revert "[harfbuzz-subset.cc] Trim down!"
This reverts commit a335458d5776135f8672bfc98681b8862f657d5c.
While this can be vastly trimmed down, what I did is not right.
It still depends on hb-face, hb-font, hb-blob, hb-set, and hb-map.
|
|
a335458d
|
2022-12-04T14:56:20
|
|
[harfbuzz-subset.cc] Trim down!
|
|
9704f835
|
2022-12-04T13:58:52
|
|
Merge branch 'config-header'
|
|
10c8fc55
|
2022-12-02T15:34:34
|
|
[multimap] Add a multimap datastructure
|
|
c6d616cc
|
2022-10-17T22:41:51
|
|
Generate and install hb-features.h
This header has defines for all the optional
dependendencies that come with their own Harfbuzz
headers, so you can do:
#include <hb-features.h>
#ifdef HB_HAS_DIRECTWRITE
#include <hb-directwrite.h>
#endif
|
|
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.
|
|
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.
|
|
4418beac
|
2022-08-11T19:08:04
|
|
[repacker] start implmenting MarkBasePos splitting.
|
|
f4f7d691
|
2022-08-09T22:23:23
|
|
Merge pull request #3779 from harfbuzz/split_pair_pos_2
[repacker] Add PairPosFormat2 table splitting in the repacker.
|
|
2264df6d
|
2022-08-05T18:33:03
|
|
[repacker] add utility that can calculate the size of Coverage+ClassDef via incremental class inclusion.
|
|
b154b1e4
|
2022-08-04T01:37:21
|
|
[repacker] pull out PairPosFormat1,2::do_split() into a common helper method.
|
|
16bfe653
|
2022-08-02T23:46:04
|
|
[meson] use cpp.get_argument_syntax not cpp.get_id
To account for both MSVC and clang-cl.
Fixes https://github.com/harfbuzz/harfbuzz/issues/3756
|
|
68b90153
|
2022-08-02T20:58:35
|
|
[repacker] Add class def sanitize and range cloning.
|
|
826639fa
|
2022-08-02T12:18:18
|
|
[src] Add test-use-table
Fixes https://github.com/harfbuzz/harfbuzz/issues/3758
|