diff --git a/core_text.rc b/core_text.rc index 35b8e57..86cc542 100644 --- a/core_text.rc +++ b/core_text.rc @@ -7,4 +7,6 @@ extern mod std; extern mod core_foundation; extern mod core_graphics; -pub mod font; \ No newline at end of file +pub mod font; +pub mod font_descriptor; +pub mod font_manager; diff --git a/font_descriptor.rs b/font_descriptor.rs new file mode 100644 index 0000000..e69de29 diff --git a/font_manager.rs b/font_manager.rs new file mode 100644 index 0000000..e9a0ab2 --- /dev/null +++ b/font_manager.rs @@ -0,0 +1,26 @@ +use cf = core_foundation; +use cf::array::CFArrayRef; +use cf::url::CFURLRef; + +extern { + /* + * CTFontManager.h + */ + + // Incomplete function bindings are mostly related to CoreText font matching, which + // we implement in a platform-independent manner using FontMatcher. + + //fn CTFontManagerCompareFontFamilyNames + fn CTFontManagerCopyAvailableFontURLs() -> CFArrayRef; + fn CTFontManagerCopyAvailableFontFamilyNames() -> CFArrayRef; + fn CTFontManagerCopyAvailablePostScriptNames() -> CFArrayRef; + fn CTFontManagerCreateFontDescriptorsFromURL(fileURL: CFURLRef) -> CFArrayRef; + //fn CTFontManagerCreateFontRequestRunLoopSource + //fn CTFontManagerEnableFontDescriptors + //fn CTFontManagerGetAutoActivationSetting + //fn CTFontManagerGetScopeForURL + fn CTFontManagerIsSupportedFont(fontURL: CFURLRef) -> bool; + //fn CTFontManagerRegisterFontsForURL + //fn CTFontManagerRegisterFontsForURLs + //fn +} \ No newline at end of file