incular_rendering/glyphs.rs
1use incular_assets::FontHandle;
2use incular_core::Offset;
3use std::sync::Arc;
4
5/// A positioned glyph produced by a text shaper. It is intentionally not a
6/// character: a glyph can represent multiple Unicode scalars or none.
7#[derive(Clone, Copy, Debug, PartialEq)]
8pub struct GlyphPosition {
9 pub id: u16,
10 pub offset: Offset,
11 pub advance: f32,
12 pub cluster: u32,
13}
14/// Compact, contiguous shaped glyph data shared by display-list commands.
15#[derive(Clone, Debug, PartialEq)]
16pub struct GlyphRun {
17 pub font: FontHandle,
18 pub font_size: f32,
19 pub origin: Offset,
20 pub glyphs: Arc<[GlyphPosition]>,
21}