pub struct FontFace<'a>(&'a FontFaceAtRule);
impl<'a> FontFace<'a>
{
pub fn family(&self) -> &FamilyName
{
self.0.family.as_ref().unwrap()
}
pub fn sources(&self) -> &Vec<Source>
{
self.0.sources.as_ref().unwrap()
}
pub fn style(&self) -> FontStyle
{
if let Some(ref value) = self.0.style
{
value.clone()
}
else
{
FontStyle::normal
}
}
pub fn weight(&self) -> FontWeight
{
if let Some(ref value) = self.0.weight
{
value.clone()
}
else
{
FontWeight::normal
}
}
pub fn stretch(&self) -> FontStretch
{
if let Some(ref value) = self.0.stretch
{
value.clone()
}
else
{
FontStretch::normal
}
}
pub fn display(&self) -> FontDisplay
{
if let Some(ref value) = self.0.display
{
value.clone()
}
else
{
FontDisplay::auto
}
}
pub fn unicode_range(&self) -> Vec<UnicodeRange>
{
if let Some(ref value) = self.0.unicode_range
{
value.clone()
}
else
{
vec!
[
UnicodeRange { start: 0, end: 0x10FFFF }
]
}
}
pub fn feature_settings(&self) -> FontFeatureSettings
{
if let Some(ref value) = self.0.feature_settings
{
value.clone()
}
else
{
FontFeatureSettings::normal()
}
}
pub fn language_override(&self) -> FontLanguageOverride
{
if let Some(ref value) = self.0.language_override
{
value.clone()
}
else
{
FontLanguageOverride::normal
}
}
}