diff --git a/core-text/src/font.rs b/core-text/src/font.rs index 45d8b35..a3fb15f 100644 --- a/core-text/src/font.rs +++ b/core-text/src/font.rs @@ -14,7 +14,7 @@ use font_descriptor::{CTFontDescriptor, CTFontDescriptorRef, CTFontOrientation}; use font_descriptor::{CTFontSymbolicTraits, CTFontTraits, SymbolicTraitAccessors, TraitAccessors}; use core_foundation::array::{CFArray, CFArrayRef}; -use core_foundation::base::{CFIndex, CFOptionFlags, CFTypeID, CFTypeRef, TCFType}; +use core_foundation::base::{CFIndex, CFOptionFlags, CFType, CFTypeID, CFTypeRef, TCFType}; use core_foundation::data::{CFData, CFDataRef}; use core_foundation::dictionary::{CFDictionary, CFDictionaryRef}; use core_foundation::number::CFNumber; @@ -316,6 +316,16 @@ impl CTFont { } } + pub fn get_variation_axes(&self) -> Option>> { + unsafe { + let axes = CTFontCopyVariationAxes(self.0); + if axes.is_null() { + return None; + } + Some(TCFType::wrap_under_create_rule(axes)) + } + } + pub fn create_path_for_glyph(&self, glyph: CGGlyph, matrix: &CGAffineTransform) -> Result { unsafe { @@ -491,7 +501,7 @@ extern { //fn CTFontGetVerticalTranslationsForGlyphs /* Working With Font Variations */ - //fn CTFontCopyVariationAxes + fn CTFontCopyVariationAxes(font: CTFontRef) -> CFArrayRef; //fn CTFontCopyVariation /* Getting Font Features */