Allow creating font descriptor with PostScript name

This commit is contained in:
Birunthan Mohanathas
2018-02-06 17:39:36 -08:00
parent 51a7b0c237
commit c4344498ae
2 changed files with 15 additions and 1 deletions
+7 -1
View File
@@ -9,7 +9,7 @@
use font_descriptor;
use font_descriptor::{CTFontDescriptor, CTFontDescriptorCreateMatchingFontDescriptors};
use font_manager::CTFontManagerCopyAvailableFontFamilyNames;
use font_manager::{CTFontManagerCopyAvailableFontFamilyNames, CTFontManagerCopyAvailablePostScriptNames};
use core_foundation::array::{CFArray, CFArrayRef};
use core_foundation::base::{CFTypeID, TCFType};
@@ -97,6 +97,12 @@ pub fn get_family_names() -> CFArray<CFString> {
}
}
pub fn get_postscript_names() -> CFArray<CFString> {
unsafe {
CFArray::wrap_under_create_rule(CTFontManagerCopyAvailablePostScriptNames())
}
}
extern {
/*
* CTFontCollection.h
+8
View File
@@ -282,6 +282,14 @@ pub fn new_from_variations(variations: &CFDictionary<CFType, CFType>) -> CTFontD
}
}
pub fn new_from_postscript_name(name: &CFString) -> CTFontDescriptor {
unsafe {
let result: CTFontDescriptorRef =
CTFontDescriptorCreateWithNameAndSize(name.as_concrete_TypeRef(), 0.0);
CTFontDescriptor::wrap_under_create_rule(result)
}
}
pub fn debug_descriptor(desc: &CTFontDescriptor) {
println!("family: {}", desc.family_name());
println!("name: {}", desc.font_name());