1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
//! Building outlines from `glyf` data.
//!
//! There are two entry points:
//!
//! - [`Outline`] owns its buffers and grows them as needed. A caller supplies
//! a glyph and a size.
//! - [`OutlinePlan`] allocates nothing. It walks the composite tree, reports
//! how much space the result needs through [`buffer_lengths`], and
//! [`load`s][load] into buffers the caller supplies. Use it to control where
//! the memory comes from, or to supply a [`Hinter`].
//!
//! Both read through an [`OutlineContext`], which states the tables and the
//! variation location. [`OutlineTables`] implements it by reading a font.
//!
//! A load produces an [`OutlineRef`], which borrows the caller's buffers.
//!
//! [`buffer_lengths`]: OutlinePlan::buffer_lengths
//! [load]: OutlinePlan::load
pub use OutlineRef;
pub use ;
pub use ;
pub use ;
pub use Outline;
pub use ;
pub use OutlinePlan;
pub use ;