45 lines
1.2 KiB
Rust
45 lines
1.2 KiB
Rust
//! Load and use fonts.
|
|
use std::hash::Hash;
|
|
|
|
/// A font.
|
|
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
|
pub enum Font {
|
|
/// The name of a font family of choice.
|
|
Name(&'static str),
|
|
|
|
/// Serif fonts represent the formal text style for a script.
|
|
Serif,
|
|
|
|
/// Glyphs in sans-serif fonts, as the term is used in CSS, are generally low
|
|
/// contrast and have stroke endings that are plain — without any flaring,
|
|
/// cross stroke, or other ornamentation.
|
|
SansSerif,
|
|
|
|
/// Glyphs in cursive fonts generally use a more informal script style, and
|
|
/// the result looks more like handwritten pen or brush writing than printed
|
|
/// letterwork.
|
|
Cursive,
|
|
|
|
/// Fantasy fonts are primarily decorative or expressive fonts that contain
|
|
/// decorative or expressive representations of characters.
|
|
Fantasy,
|
|
|
|
/// The sole criterion of a monospace font is that all glyphs have the same
|
|
/// fixed width.
|
|
Monospace,
|
|
}
|
|
|
|
/// The weight of some text.
|
|
#[allow(missing_docs)]
|
|
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
|
pub enum Weight {
|
|
Thin,
|
|
ExtraLight,
|
|
Light,
|
|
Normal,
|
|
Medium,
|
|
Semibold,
|
|
Bold,
|
|
ExtraBold,
|
|
Black,
|
|
}
|