Skip to main content

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}