Behdad Esfahbod
8f2345ca36
Use more vector resize_exact
2023-01-02 18:08:45 -07:00
Behdad Esfahbod
b6be455020
[vector] Add resize_exact()
2023-01-02 18:05:43 -07:00
Behdad Esfahbod
a516ce97e0
[subset-cff] Add a few exact-allocation calls
2023-01-02 17:58:51 -07:00
Behdad Esfahbod
4a435dc024
[subset-cff] Remove an unlikely
2023-01-02 17:41:31 -07:00
Behdad Esfahbod
f8c578fd93
[subset-cff] Remove commented-out line
2023-01-02 17:33:04 -07:00
Behdad Esfahbod
d5e1748f31
[cff] Simplify add_op()
2023-01-02 12:26:43 -07:00
Behdad Esfahbod
27531d853e
[subset-cff] Move code around
2023-01-02 12:05:11 -07:00
Behdad Esfahbod
9afe5f973e
[vector] Fix leak
...
Discovered by https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=54767
2023-01-02 11:46:45 -07:00
Behdad Esfahbod
4f013c42f0
[subset-cff] Always compact charstrings
...
Reduces non-preprocessed subsetting memory footprint significantly.
2023-01-02 10:39:14 -07:00
Behdad Esfahbod
d3ed6eed43
[cff] Initialize a member variable
...
For good hygiene.
2023-01-02 10:39:14 -07:00
Behdad Esfahbod
55a7d81740
[vector] Allocate exact size in operator=
2023-01-01 23:07:42 -07:00
Behdad Esfahbod
449910d431
[vector] Allocate exact size in constructor
2023-01-01 19:27:10 -07:00
Behdad Esfahbod
4dda1f7881
[cff-subset] Compact charstrings just after parsing
...
Massive peak-memory saving when processing face.
2023-01-01 19:00:04 -07:00
Behdad Esfahbod
a7617c3cf1
[cff-subset] Drop hints just after parsing charstring
...
In prep for next commit.
2023-01-01 18:58:08 -07:00
Behdad Esfahbod
b1c4cb0cae
[cff2] Use a shrink instead of resize
...
Such that we can free the allocation.
2023-01-01 18:41:19 -07:00
Behdad Esfahbod
b87360763e
[vector] Support shrinking storage if exact size provided
...
Only do it if requested size is less than quarter of allocated size.
This has massive benefit during CFF subset preprocessing.
2023-01-01 18:38:28 -07:00
Behdad Esfahbod
1119e60296
[subset-cff] Tweak another storage allocation
2023-01-01 18:31:32 -07:00
Behdad Esfahbod
f0b5286b36
[features] Sort
2023-01-01 17:04:59 -07:00
Behdad Esfahbod
4a5bd7a926
[subset] Add hb_subset_input_keep_everything()
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3998
New API:
+ hb_subset_input_keep_everything()
2023-01-01 16:53:28 -07:00
Behdad Esfahbod
52110f13b0
[subset-input] Refactor copy-pasta code
2023-01-01 16:22:02 -07:00
Matthias Clasen
4adc748b13
Move Color tables to src/OT/Color/
2023-01-01 14:57:53 -07:00
Behdad Esfahbod
a5f1f3a05c
[ft] Conditionalize all COLOR code on >= 2.11.1
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3994
2023-01-01 13:14:04 -07:00
Matthias Clasen
dc5179d465
Drop hb-ot-color-colr-table.cc
...
Move everything into the .hh file.
2023-01-01 20:18:33 +02:00
Khaled Hosny
27684f14be
[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.
2023-01-01 20:08:19 +02:00
Matthias Clasen
f60e7e3f8c
Drop an unused file
2023-01-01 09:51:03 -05:00
Behdad Esfahbod
3ff91c449f
[paint] Optimize transform operations again
2022-12-31 14:49:41 -07:00
Behdad Esfahbod
1a0dd49f1e
Merge pull request #3991 from harfbuzz/paint-optimize-transform
...
Paint optimize transform
2022-12-31 14:38:06 -07:00
Behdad Esfahbod
edb812345a
[subset-cff] Another exact allocation
2022-12-31 13:55:41 -07:00
Behdad Esfahbod
54dd01b865
[set] Use exact-allocation in copying
...
Significantly reduces memory consumption.
2022-12-31 13:33:40 -07:00
Behdad Esfahbod
2c64048bc4
[subset] Another exact-allocation
2022-12-31 13:26:00 -07:00
Behdad Esfahbod
0ec0214f10
[cff-subset] Adjust pre-allocation
...
Reduces memory use significantly.
2022-12-31 13:19:38 -07:00
Behdad Esfahbod
b88ca81814
[paint-extents] Minor reorder
2022-12-31 12:53:00 -07:00
Behdad Esfahbod
0c6a721337
[set] Another exact-size allocation
2022-12-31 12:42:29 -07:00
Behdad Esfahbod
b803024caf
[cff2] Another exact-size allocation
2022-12-31 12:40:07 -07:00
Behdad Esfahbod
3d4659beaa
[cff2] Use exact-size vector allocation for blends
2022-12-31 12:38:58 -07:00
Behdad Esfahbod
92e5933ee6
[vector] A couple more exact-size allocations
2022-12-31 12:35:30 -07:00
Behdad Esfahbod
2eacc37e08
[vector] Add internal API for exact-size allocation
...
Use it from a couple of places.
2022-12-31 12:30:31 -07:00
Behdad Esfahbod
a0b46f3f6b
[machinery] Refactor shared code into a macro
2022-12-31 12:15:14 -07:00
Behdad Esfahbod
ebb475bae7
[multimap] Add consts
2022-12-31 12:11:14 -07:00
Behdad Esfahbod
9e3ff0e9f0
[paint] Fixup
2022-12-31 11:55:45 -07:00
Behdad Esfahbod
6b47fcb17a
[paint] Add internal push_skew/pop_skew API
2022-12-31 11:40:12 -07:00
Behdad Esfahbod
46adf31b4c
[paint] Add internal push_rotate/pop_rotate API
2022-12-31 11:35:39 -07:00
Behdad Esfahbod
ce7835124a
[paint] Add internal push_scale/pop_scale API
2022-12-31 11:32:15 -07:00
Behdad Esfahbod
7363eb373a
[paint] Add internal push_translate/pop_translate
2022-12-31 11:24:42 -07:00
Behdad Esfahbod
df91677997
[paint] Call internal API internally
2022-12-31 11:12:02 -07:00
Behdad Esfahbod
99da0e6cc3
[paint] Avoid div-by-zero
2022-12-31 11:04:40 -07:00
Behdad Esfahbod
4e94b65cff
[paint-extents] Const-correctness
2022-12-31 10:53:40 -07:00
Behdad Esfahbod
f6dc4698ef
[paint-extents] Minor move variable
2022-12-31 10:52:32 -07:00
Behdad Esfahbod
4e7807a090
[paint-extents] Rename variable
2022-12-31 10:50:30 -07:00
Behdad Esfahbod
c86d1892ad
[paint-extents] Move code around
2022-12-31 10:46:46 -07:00
Behdad Esfahbod
d9a9bd8fa8
[paint-extents] Add HB_UNUSED
2022-12-31 10:41:30 -07:00
Behdad Esfahbod
37e90c64c1
[cairo] Fix warnings
2022-12-30 15:41:40 -07:00
Behdad Esfahbod
04464c55b2
[pool] Change chunk-len from 16 to 32
2022-12-30 14:55:32 -07:00
Behdad Esfahbod
d7941e04df
[paint-extents] Unlikely
2022-12-30 14:47:47 -07:00
Behdad Esfahbod
ca844b6975
[paint-extents] Whitespace
2022-12-30 14:47:24 -07:00
Behdad Esfahbod
62ca2be39d
[paint-extents] Implement quadratic callback
2022-12-30 14:41:36 -07:00
Behdad Esfahbod
7389efd8e0
[post] Pre-alloc name index array
2022-12-30 13:58:52 -07:00
Behdad Esfahbod
36bef5dccf
[gsubgpos] Prealloc subtables vector
2022-12-30 13:58:52 -07:00
Behdad Esfahbod
a45bf5b04c
[ft-colr] Require FreeType >= 2.11.1
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3989
2022-12-30 11:19:36 -07:00
Behdad Esfahbod
ceba6c9a90
[config] Sort
2022-12-30 10:44:34 -07:00
Behdad Esfahbod
f2a6643fc1
[cairo] Docs
2022-12-29 18:00:39 -07:00
Behdad Esfahbod
bfce4a6046
[cairo] Remove error path
...
Assume cairo API always returns non-NULL.
2022-12-29 10:43:37 -07:00
Behdad Esfahbod
b1de87b7f1
[cairo] Document get_glyphs() arguments as inout
2022-12-29 10:41:35 -07:00
Matthias Clasen
89bd7f64ae
[hb-cairo] Small docs fixes
2022-12-29 10:09:50 -07:00
Khaled Hosny
c9206df166
[hb-cairo] Fix warnings
2022-12-29 10:07:59 -07:00
Khaled Hosny
723e7a48e2
[docs] Small fixes
2022-12-29 15:49:21 +02:00
Matthias Clasen
67456a7a02
[ft] Some more docs clarifications
2022-12-28 11:14:12 -07:00
Matthias Clasen
c612d068e8
[ft] Clarify docs around faces too
2022-12-28 11:14:12 -07:00
Matthias Clasen
4dc955bb46
[ft] Clarify docs
...
Add some clarifications on what fonts these apis
work with.
2022-12-28 11:14:12 -07:00
Matthias Clasen
ef20b5e66f
Typo fix
2022-12-28 08:51:27 -05:00
Behdad Esfahbod
81c04b0c21
[cairo] Add separate x/y scale factors
2022-12-27 17:46:25 -07:00
Behdad Esfahbod
50b7fff0c6
[cairo] Fix text_to_glyphs scale factor
2022-12-27 17:37:42 -07:00
Behdad Esfahbod
8f62b8c6bb
[cairo] Fix cluster conversion
2022-12-27 17:26:39 -07:00
Behdad Esfahbod
326db329f8
[directwrite] Simplify delete
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3981
2022-12-27 14:38:17 -07:00
Behdad Esfahbod
7b0f9abc89
[paint] Add back "remote-control" API
...
This reverts commit f146299a40
.
2022-12-27 12:38:49 -07:00
Behdad Esfahbod
43b0364eda
[paint] Document composition modes
2022-12-27 12:29:53 -07:00
Behdad Esfahbod
ec9e8a5993
[paint] Document extend modes.
2022-12-27 12:22:56 -07:00
Behdad Esfahbod
fa3fa9422d
[cairo] Doc
2022-12-27 11:54:23 -07:00
Behdad Esfahbod
bbf6f42d3b
[cairo] TODO
2022-12-27 11:50:06 -07:00
Behdad Esfahbod
f9fc13287b
[hb-cairo] Return hb_font_t* from init-func
2022-12-27 11:08:55 -07:00
Matthias Clasen
d18903e443
Add def files for libharfbuzz-cairo
2022-12-27 11:00:23 -07:00
Behdad Esfahbod
d88787b6ca
[cairo] Add func to init fonts on creation
...
To set, for example, font-funcs.
2022-12-27 10:59:17 -07:00
Behdad Esfahbod
c52bff2d61
[cairo] Hide internal symbols
2022-12-27 10:42:13 -07:00
Behdad Esfahbod
34aa8b0148
[cairo] Add to library tests
2022-12-26 17:01:08 -07:00
Behdad Esfahbod
5fdfe6ae5d
[cairo] Use hb_qsort
2022-12-26 17:01:08 -07:00
Behdad Esfahbod
21573265e9
[cairo] More namespacing
2022-12-26 17:01:08 -07:00
Behdad Esfahbod
84d1b00cd4
[cairo] More namespacing
2022-12-26 17:01:08 -07:00
Behdad Esfahbod
8f16e98c1b
[cairo] Namespace types
2022-12-26 17:01:08 -07:00
Behdad Esfahbod
488be52467
[cairo] Try fix msvc build
2022-12-26 17:01:08 -07:00
Behdad Esfahbod
c652e8e1b7
[cairo] Docs
2022-12-26 17:01:08 -07:00
Behdad Esfahbod
23980d3cb2
[cairo] Docs
2022-12-26 17:01:08 -07:00
Behdad Esfahbod
f5fd46aa3d
[cairo] Docs
2022-12-26 17:01:08 -07:00
Behdad Esfahbod
36482b684b
[cairo] Err, utf8_clusters
2022-12-26 17:01:08 -07:00
Behdad Esfahbod
48cb25dd36
[cairo] Implement (untested) text_to_glyphs callback
2022-12-26 17:01:08 -07:00
Behdad Esfahbod
c38abcb3fb
[cairo] Add x,y args to get_glyphs
2022-12-26 17:01:08 -07:00
Behdad Esfahbod
847ed69547
[cairo] Reorder arguments of a call
2022-12-26 17:01:08 -07:00
Behdad Esfahbod
726cfffc0d
[cairo] Doc fix
2022-12-26 17:01:08 -07:00
Behdad Esfahbod
0fe0cdf066
[cairo] Document scale-factor business
2022-12-26 17:01:08 -07:00
Behdad Esfahbod
4e3e879c1c
[cairo] Add [sg]et_scale_factor
2022-12-26 17:01:08 -07:00
Behdad Esfahbod
186bfa99f5
[cairo] Make scale_factor a double
2022-12-26 17:01:08 -07:00