bitsy-parser/src/text.rs

40 lines
1.1 KiB
Rust
Raw Normal View History

#[derive(Debug, Eq, PartialEq)]
pub enum Font {
AsciiSmall, // default - does not appear in game data
UnicodeEuropeanSmall,
UnicodeEuropeanLarge,
UnicodeAsian,
Arabic,
Custom,
}
impl Font {
#[inline]
pub(crate) fn from(str: &str) -> Font {
match str {
"unicode_european_small" => Font::UnicodeEuropeanSmall,
"unicode_european_large" => Font::UnicodeEuropeanLarge,
"unicode_asian" => Font::UnicodeAsian,
"arabic" => Font::Arabic,
_ => Font::Custom,
}
}
#[inline]
pub(crate) fn to_string(&self) -> Result<String, &'static str> {
match &self {
Font::UnicodeEuropeanSmall => Ok("unicode_european_small".to_string()),
Font::UnicodeEuropeanLarge => Ok("unicode_european_large".to_string()),
2020-04-18 15:58:30 +00:00
Font::UnicodeAsian => Ok("unicode_asian".to_string()),
Font::Arabic => Ok("arabic".to_string()),
_ => Err("No string available for this Font"),
}
}
}
#[derive(Debug, Eq, PartialEq)]
pub enum TextDirection {
LeftToRight, // default
RightToLeft,
}