From 8ffac5b07b922ea2addd6fbd9083414f2e0c25d1 Mon Sep 17 00:00:00 2001 From: Stefan Csomor Date: Thu, 14 Jun 2012 21:46:34 +0000 Subject: [PATCH] CoreText font enumeration support for iOS git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71765 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/osx/core/fontenum.cpp | 10 +++++++++- src/osx/iphone/utils.mm | 5 +++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/osx/core/fontenum.cpp b/src/osx/core/fontenum.cpp index c4326e8319..f6afd49545 100644 --- a/src/osx/core/fontenum.cpp +++ b/src/osx/core/fontenum.cpp @@ -31,6 +31,10 @@ // wxFontEnumerator // ---------------------------------------------------------------------------- +#if wxOSX_USE_IPHONE +extern CFArrayRef CopyAvailableFontFamilyNames(); +#endif + bool wxFontEnumerator::EnumerateFacenames(wxFontEncoding encoding, bool fixedWidthOnly) { @@ -41,7 +45,8 @@ bool wxFontEnumerator::EnumerateFacenames(wxFontEncoding encoding, #if wxOSX_USE_CORE_TEXT { CFArrayRef cfFontFamilies = nil; - + +#if wxOSX_USE_COCOA_OR_CARBON #if (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6) if ( UMAGetSystemVersion() >= 0x1060 ) cfFontFamilies = CTFontManagerCopyAvailableFontFamilyNames(); @@ -89,6 +94,9 @@ bool wxFontEnumerator::EnumerateFacenames(wxFontEncoding encoding, cfFontFamilies = atsfontnames; #endif } +#elif wxOSX_USE_IPHONE + cfFontFamilies = CopyAvailableFontFamilyNames(); +#endif CFIndex count = CFArrayGetCount(cfFontFamilies); for(CFIndex i = 0; i < count; i++) diff --git a/src/osx/iphone/utils.mm b/src/osx/iphone/utils.mm index e1e80ad5eb..f453992216 100644 --- a/src/osx/iphone/utils.mm +++ b/src/osx/iphone/utils.mm @@ -118,6 +118,11 @@ extern UIFont* CreateUIFont( const wxFont& font ) return [UIFont fontWithName:wxCFStringRef(font.GetFaceName() ).AsNSString() size:font.GetPointSize()]; } +CFArrayRef CopyAvailableFontFamilyNames() +{ + return (CFArrayRef) [[UIFont familyNames] retain]; +} + extern void DrawTextInContext( CGContextRef context, CGPoint where, UIFont *font, NSString* text ) { bool contextChanged = ( UIGraphicsGetCurrentContext() != context ); -- 2.45.2