Nirbheek Chauhan
7be06f6377
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.
2022-12-18 08:28:55 +02:00
Behdad Esfahbod
2c0abf0258
Revert "[harfbuzz-subset.cc] Trim down!"
...
This reverts commit a335458d57
.
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.
2022-12-04 15:03:36 -07:00
Behdad Esfahbod
a335458d57
[harfbuzz-subset.cc] Trim down!
2022-12-04 14:56:20 -07:00
Behdad Esfahbod
9704f8354e
Merge branch 'config-header'
2022-12-04 13:58:52 -07:00
Behdad Esfahbod
10c8fc5553
[multimap] Add a multimap datastructure
2022-12-02 15:50:49 -07:00
Matthias Clasen
c6d616cc41
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
2022-12-01 18:16:55 +08:00
Marco Rebhan
db292f6f02
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 .
2022-10-26 22:13:44 +02:00
Garret Rieger
4ec5eb955f
[subset] add a subset accelerator.
...
Can be optionally attached to the face during subsetting. Contains data which can accelerate future subsets.
2022-10-13 19:40:31 +00:00
Garret Rieger
4418beac93
[repacker] start implmenting MarkBasePos splitting.
2022-08-11 19:08:04 +00:00
Behdad Esfahbod
f4f7d691af
Merge pull request #3779 from harfbuzz/split_pair_pos_2
...
[repacker] Add PairPosFormat2 table splitting in the repacker.
2022-08-09 22:23:23 -06:00
Garret Rieger
2264df6da3
[repacker] add utility that can calculate the size of Coverage+ClassDef via incremental class inclusion.
2022-08-05 18:33:03 +00:00
Garret Rieger
b154b1e4c3
[repacker] pull out PairPosFormat1,2::do_split() into a common helper method.
2022-08-04 01:37:21 +00:00
Khaled Hosny
16bfe6536b
[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
2022-08-03 00:07:40 +02:00
Garret Rieger
68b90153ea
[repacker] Add class def sanitize and range cloning.
2022-08-02 20:58:35 +00:00
Behdad Esfahbod
826639fab2
[src] Add test-use-table
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3758
2022-08-02 12:18:18 -06:00
Garret Rieger
a0b8893e46
[repacker] add Coverage sanitize.
2022-07-29 22:21:31 +00:00
Garret Rieger
f6a242b605
[repacker] begin adding PairPos splitting support.
2022-07-29 22:21:30 +00:00
Garret Rieger
ce03c3538a
[repacker] add make_extension_context_t.
2022-07-26 12:22:17 -06:00
Khaled Hosny
605bb1ee3d
[subset] Add amalgam harfbuzz-subset.cc
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3733
2022-07-19 17:15:35 -06:00
Garret Rieger
5363e40de1
[reorg] update build files.
2022-07-13 20:25:13 -06:00
Behdad Esfahbod
ea11029a6e
[GPOS] Split LigatureArray.hh
2022-07-08 11:58:43 -06:00
Behdad Esfahbod
aa68657434
[Makefile.sources/meson.build] Sort file names
2022-07-07 14:07:45 -06:00
Behdad Esfahbod
0b0e3b30ce
[GPOS] Break down PairPosFormat1 into new layout
2022-07-07 14:06:44 -06:00
Luca Bacci
1abc14b463
Do not link with the DWrite lib
...
It's loaded dynamically now
2022-07-06 17:55:39 +02:00
Garret Rieger
900476c635
Move GSUB.hh GPOS.hh back into the GPOS/GSUB sub directories.
2022-06-30 15:33:20 -06:00
Garret Rieger
5fdae68481
[reorg] Move GSUB.hh up one level and change GSUB namespace to GSUB_impl.
2022-06-30 15:33:20 -06:00
Garret Rieger
3fbf2dece7
[reorg] Move OT::Layout::GPOS_impl::GPOS to OT::Layout::GPOS.
2022-06-28 18:47:50 -06:00
Behdad Esfahbod
11d2670676
[glyf] Split off glyf-helpers.hh
2022-06-25 18:19:09 -06:00
Behdad Esfahbod
499c637922
[glyf] Split off path-builder.hh
2022-06-25 18:07:49 -06:00
Behdad Esfahbod
13aadc8961
[glyf] Split off CompositeGlyph.hh
2022-06-25 18:03:15 -06:00
Behdad Esfahbod
f0ec2b728e
[glyf] Split off SimpleGlyph.hh
2022-06-25 17:55:16 -06:00
Behdad Esfahbod
8ed78627f0
[glyf] Split off GlyphHeader.hh
2022-06-25 17:53:13 -06:00
Behdad Esfahbod
ae75f066b5
[glyf] Split SubsetGlyph
2022-06-25 17:12:10 -06:00
Behdad Esfahbod
e4f2bc9342
[glyf] Split Glyph.hh
2022-06-25 16:47:06 -06:00
Behdad Esfahbod
852985da0f
[glyf] Split loca.hh
2022-06-25 14:41:51 -06:00
Behdad Esfahbod
100576b7b7
[glyf] Start splitting file
2022-06-25 14:38:43 -06:00
Khaled Hosny
c3f590bb1e
[arabic] Support legacy PUA shaping
...
Support legacy pre-OpenType Windows 3.1-era fonts, by remapping PUA code
points in cmap table and letting our fallback shaper build the GSUB
table.
Uniscribe applies also mset-like substitution, but our fallback mark
positioning gives better results, so this is not implemented.
2022-06-19 10:42:05 -06:00
Behdad Esfahbod
899ca24387
[myanmar] Remove duplication of categories in the Myanmar shaper
2022-06-09 07:02:54 -06:00
Behdad Esfahbod
ce0528c0ff
[khmer] Remove duplication of categories in the Khmer shaper
2022-06-09 07:02:54 -06:00
Xavier Claessens
4266f4e29a
Fix check-* scripts when harfbuzz is a subproject
...
When harfbuzz is a subproject paths are in the form
"subprojects/harfbuzz/src/...". Instead of removing "src/" prefix, take
the absolute path and make it relative to current source dir.
This fix regression introduced in
https://github.com/harfbuzz/harfbuzz/pull/3394 .
2022-06-06 16:53:29 +01:00
Behdad Esfahbod
5bfb0b721c
Rename s/shape-complex/shaper/g
2022-06-03 10:30:34 +01:00
Behdad Esfahbod
e0f3cab246
[cplusplus] Add hb-cplusplus.hh
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/2152
2022-06-02 18:22:05 +01:00
Xavier Claessens
334bd013d9
Skip warning when building as subproject and ragel is missing
...
It is unlikely to be a developer build in that case.
2022-05-30 18:27:33 +02:00
Khaled Hosny
3427511988
[gi] Add freetype2-2.0 for g-i-r includes
...
Fixes the warnings:
../src/hb-ft.cc:810: Warning: HarfBuzz: hb_ft_face_create: argument ft_face: Unresolved type: 'FT_Face'
../src/hb-ft.cc:886: Warning: HarfBuzz: hb_ft_face_create_cached: argument ft_face: Unresolved type: 'FT_Face'
../src/hb-ft.cc:855: Warning: HarfBuzz: hb_ft_face_create_referenced: argument ft_face: Unresolved type: 'FT_Face'
../src/hb-ft.cc:920: Warning: HarfBuzz: hb_ft_font_create: argument ft_face: Unresolved type: 'FT_Face'
../src/hb-ft.cc:1029: Warning: HarfBuzz: hb_ft_font_create_referenced: argument ft_face: Unresolved type: 'FT_Face'
../src/hb-ft.cc:240: Warning: HarfBuzz: hb_ft_font_get_face: return value: Unresolved type: 'FT_Face'
../src/hb-ft.cc:262: Warning: HarfBuzz: hb_ft_font_lock_face: return value: Unresolved type: 'FT_Face'
2022-05-30 04:48:22 +02:00
Garret Rieger
a9910e258f
[reorg] Move SubstLookup and GSUB into the new layout.
2022-03-23 18:05:24 -06:00
Garret Rieger
90af2143d5
[reorg] Move ReverseChainSingleSubst to new layout.
2022-03-23 18:05:24 -06:00
Garret Rieger
403feb3804
[reorg] Move LigatureSubst to new layout.
2022-03-23 18:05:24 -06:00
Garret Rieger
6a369389d6
[reorg] Move AlternateSubst to new layout.
2022-03-23 18:05:24 -06:00
Garret Rieger
dea0681db2
[reorg] Move MultipleSubst into new layout.
2022-03-23 18:05:24 -06:00
Garret Rieger
7dfd9e7001
[reorganization] WIP move single substitution into separate files.
2022-03-23 18:05:24 -06:00