40 lines
1.1 KiB
Rust
40 lines
1.1 KiB
Rust
#[derive(Clone, 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()),
|
|
Font::UnicodeAsian => Ok("unicode_asian".to_string()),
|
|
Font::Arabic => Ok("arabic".to_string()),
|
|
_ => Err("No string available for this Font"),
|
|
}
|
|
}
|
|
}
|
|
|
|
#[derive(Clone, Debug, Eq, PartialEq)]
|
|
pub enum TextDirection {
|
|
LeftToRight, // default
|
|
RightToLeft,
|
|
}
|