]> git.saurik.com Git - wxWidgets.git/commitdiff
CoreText font enumeration support for iOS
authorStefan Csomor <csomor@advancedconcepts.ch>
Thu, 14 Jun 2012 21:46:34 +0000 (21:46 +0000)
committerStefan Csomor <csomor@advancedconcepts.ch>
Thu, 14 Jun 2012 21:46:34 +0000 (21:46 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71765 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/osx/core/fontenum.cpp
src/osx/iphone/utils.mm

index c4326e8319146ff2a129bd2fb331e8e290a4af5f..f6afd4954590e5046461a8017dfde452c895498f 100644 (file)
 // 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++)
index e1e80ad5eb2a04b5bdd5a6514cc30917228fd7da..f453992216acc728fdcc066dd1fe8b2f271d4260 100644 (file)
@@ -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 );