1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
// Take a look at the license at the top of the repository in the LICENSE file.
use crate::AttrType;
use glib::translate::*;
define_attribute_struct!(
AttrFontFeatures,
ffi::PangoAttrFontFeatures,
&[AttrType::FontFeatures]
);
impl AttrFontFeatures {
/// Create a new font features tag attribute.
///
/// You can use this attribute to select OpenType font features like small-caps,
/// alternative glyphs, ligatures, etc. for fonts that support them.
/// ## `features`
/// a string with OpenType font features, with the syntax of the [CSS
/// font-feature-settings property](https://www.w3.org/TR/css-fonts-4/#font-rend-desc)
///
/// # Returns
///
/// the newly allocated
/// [`Attribute`][crate::Attribute], which should be freed with
/// `Pango::Attribute::destroy()`
#[doc(alias = "pango_attr_font_features_new")]
pub fn new(features: &str) -> Self {
unsafe { from_glib_full(ffi::pango_attr_font_features_new(features.to_glib_none().0)) }
}
pub fn features(&self) -> glib::GString {
unsafe { from_glib_none(self.inner.features) }
}
}