pub struct FragmentParams {Show 25 fields
pub text: String,
pub offset: usize,
pub length: usize,
pub font_family: Option<String>,
pub font_weight: Option<u32>,
pub font_bold: Option<bool>,
pub font_italic: Option<bool>,
pub font_point_size: Option<u32>,
pub underline_style: UnderlineStyle,
pub overline: bool,
pub strikeout: bool,
pub is_link: bool,
pub letter_spacing: f32,
pub word_spacing: f32,
pub foreground_color: Option<[f32; 4]>,
pub underline_color: Option<[f32; 4]>,
pub background_color: Option<[f32; 4]>,
pub anchor_href: Option<String>,
pub tooltip: Option<String>,
pub vertical_alignment: VerticalAlignment,
pub image_name: Option<String>,
pub image_width: f32,
pub image_height: f32,
pub footnote_marker: Option<String>,
pub features: Vec<FontFeature>,
}Expand description
A text fragment with its formatting parameters.
Fields§
§text: String§offset: usizeByte offset of this fragment’s first character inside the
owning block’s text. Lifted into glyph clusters by
paragraph::flatten_runs so glyph clusters
can be compared directly against unicode-linebreak break
positions (also bytes) and against the block-level text used
for byte_offset_to_char_offset conversion. Hosts threading
text-document FragmentContent through the bridge must
translate the char-based FragmentContent::offset into bytes
before assigning here.
length: usize§font_family: Option<String>§font_weight: Option<u32>§font_bold: Option<bool>§font_italic: Option<bool>§font_point_size: Option<u32>§underline_style: UnderlineStyle§overline: bool§strikeout: bool§is_link: bool§letter_spacing: f32Extra space added after each glyph (in pixels). From TextFormat::letter_spacing.
word_spacing: f32Extra space added after space glyphs (in pixels). From TextFormat::word_spacing.
foreground_color: Option<[f32; 4]>Text foreground color (RGBA). None means default (black).
underline_color: Option<[f32; 4]>Underline color (RGBA). None means use foreground_color.
background_color: Option<[f32; 4]>Text-level background highlight color (RGBA). None means transparent.
anchor_href: Option<String>Hyperlink destination URL.
tooltip: Option<String>Tooltip text.
vertical_alignment: VerticalAlignmentVertical alignment (normal, superscript, subscript).
image_name: Option<String>If Some, this fragment represents an inline image placeholder.
image_width: f32Image width in pixels. Only meaningful when image_name is Some.
image_height: f32Image height in pixels. Only meaningful when image_name is Some.
footnote_marker: Option<String>If Some, this fragment is a footnote reference and this is the marker to draw at its position — a number, usually, but the host decides.
The fragment still occupies exactly the one U+FFFC character its
text holds, however many glyphs the marker shapes to. That mismatch is
the whole point and the whole hazard: the marker is presentation, and
the document must not grow a character because a footnote reached two
digits. So the marker is shaped on its own and every resulting glyph is
pinned to the sentinel’s cluster, which is what stops the caret landing
between the 1 and the 2 of note twelve.
Distinct from Self::image_name rather than folded in with it: an
image reserves a box of a size the host measured, a marker reserves
whatever its own glyphs advance to, and only the latter needs a font.
features: Vec<FontFeature>Discretionary OpenType features to toggle during shaping. Empty =
font defaults. See crate::types::FontFeature.
Trait Implementations§
Source§impl Clone for FragmentParams
impl Clone for FragmentParams
Source§fn clone(&self) -> FragmentParams
fn clone(&self) -> FragmentParams
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more