Commits

Dwayne Litzenberger  committed 55dce27 Merge

merge from upstream

  • Participants
  • Parent commits 4acd826, 47407f3

Comments (0)

Files changed (73)

File pyobjc-core/Modules/objc/OC_PythonString.m

 
 - (id)initWithPythonObject:(PyObject*)v
 {
+	self = [super init];
+	if (unlikely(self == nil)) return nil;
 	Py_INCREF(v);
 	Py_XDECREF(value);
 	value = v;

File pyobjc-core/Modules/objc/OC_PythonUnicode.m

 	OC_PythonUnicode* res;
 
 	res = [[OC_PythonUnicode alloc] initWithPythonObject:v];
-//	[res autorelease];
+	[res autorelease];
 	return res;
 }
 
 - (id)initWithPythonObject:(PyObject*)v
 {
+	self = [super init];
+	if (unlikely(self == nil)) return nil;
 	Py_INCREF(v);
 	Py_XDECREF(value);
 	value = v;
 
 #else // !PyObjC_UNICODE_FAST_PATH */
 
-/* XXX: Add __realObject__ implementation tuned for Python 3.3 (choose right
- *      NSString constructor based on unicode representation size
- */
-
 -(id)__realObject__
 {
 	if (!realObject) {

File pyobjc-core/Modules/objc/formal-protocol.m

 	for (i = 0; i < len; i++) {
 		PyObject* sel = PySequence_Fast_GET_ITEM(selectors, i);
 		SEL theSel = PyObjCSelector_GetSelector(sel);
-		const char* theSignature = PyObjCSelector_Signature(sel);
-
-		protocol_addMethodDescription(theProtocol, theSel, theSignature, 
-				PyObjCSelector_Required(sel), !PyObjCSelector_IsClassMethod(sel));
+		const char* theSignature = strdup(PyObjCSelector_Signature(sel));
+		if (theSignature == NULL) {
+			goto error;
+		}
+		protocol_addMethodDescription(
+			theProtocol, 
+			theSel, 
+			theSignature, 
+			(BOOL)PyObjCSelector_Required(sel), 
+			(BOOL)!PyObjCSelector_IsClassMethod(sel));
 	}
 
 	objc_registerProtocol(theProtocol);

File pyobjc-core/Modules/objc/fsref.m

 #include "pyobjc.h"
 #import <CoreServices/CoreServices.h>
 
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+
 
 #if USE_TOOLBOX_OBJECT_GLUE
 #include "pymactoolbox.h"

File pyobjc-core/Modules/objc/libffi_support.m

 	switch (*argtype) {
 	case _C_CHR: case _C_SHT: case _C_UNICHAR:
 		return signature_to_ffi_type(long_type);
-	case _C_UCHR: case _C_USHT: //case _C_UNICHAR:
+	case _C_UCHR: case _C_USHT: 
 		return signature_to_ffi_type(ulong_type);
 #ifdef _C_BOOL
 	case _C_BOOL: return signature_to_ffi_type(long_type);
 	case _C_NSBOOL: return &ffi_type_schar;
 	case _C_UCHR: return &ffi_type_uchar;
 	case _C_SHT: return &ffi_type_sshort;
-	case _C_UNICHAR: return &ffi_type_sshort;
+	case _C_UNICHAR: return &ffi_type_ushort;
 	case _C_USHT: return &ffi_type_ushort;
 	case _C_INT: return &ffi_type_sint;
 	case _C_UINT: return &ffi_type_uint;

File pyobjc-core/Modules/objc/objc-object.m

      },			/* as_buffer */
      0,					/* name */
      0,					/* slots */
+#else /* Python 3 */
+     { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 
+     }, /* as_number */
+     { 0,0,0
+     }, /* as_mapping */
+     { 0,0,0,0,0,0,0,0,0,0
+     }, /* as_sequence */
+     { 0,0
+     }, /* as_buffer */
+     0, 0 /* ht_name, ht_slots */
+#if PY_VERSION_HEX >= 0x03030000
+     , 0, 0 /* ht_qualname, ht_cached_keys */
 #endif
+
+
+#endif /* Python 3 */
    }, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 };
 

File pyobjc-core/Modules/objc/objc-runtime-compat.m

 	SETUP(ivar_getOffset);
 #endif /* MIN_REQUIRED < 10.5 && !OBJC2 */
 
+#ifdef SETUP 
+#undef SETUP
+#endif
+
 
 #if (MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_7)
 	/* Compat definitions for protocol creation
 	PyObjC_protocol_addProtocol = compat_protocol_addProtocol;
 #endif
 
-#ifdef SETUP 
-#undef SETUP
-#endif
 
 #elif defined(__LP64__)
 	PyObjC_objc_allocateProtocol = objc_allocateProtocol;

File pyobjc-core/Modules/objc/test/copying.m

 @end
 
 @interface OC_CopyHelper : NSObject
-{ }
+{}
 +(NSObject<NSCopying>*)doCopySetup:(Class)aClass;
 +(NSObject*)newObjectOfClass:(Class)aClass;
 @end
 +(NSObject<NSCopying>*)doCopySetup:(Class)aClass
 {
 	NSObject<NSCopying>* tmp;
-	NSObject* retval;
+	NSObject<NSCopying>* retval;
 
 	tmp = (NSObject<NSCopying>*)[[aClass alloc] init];
 	[tmp modify];
 	[tmp release];
 	return [retval autorelease];
 }
+
 +(NSObject*)newObjectOfClass:(Class)aClass
 {
 	return [[aClass alloc] init];
 {
 	int intVal;
 }
--init;
--initWithInt:(int)intVal;
+-(instancetype)init;
+-(instancetype)initWithInt:(int)intVal;
 -(int)intVal;
 -(void)setIntVal:(int)val;
--copyWithZone:(NSZone*)zone;
+-(instancetype)copyWithZone:(NSZone*)zone;
 @end
 
 @implementation OC_CopyBase
--init
+-(instancetype)init
 {
 	return [self initWithInt:0];
 }
 
--initWithInt:(int)value
+-(instancetype)initWithInt:(int)value
 {
 	self = [super init];
 	if (self == nil) return nil;
 	intVal = val;
 }
 
--copyWithZone:(NSZone*)zone
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+
+-(instancetype)copyWithZone:(NSZone*)zone
 {
 	return NSCopyObject(self, 0, zone);
 	

File pyobjc-core/Modules/objc/test/corefoundation.m

 	CFLocaleRef currentLocale = CFLocaleCopyCurrent();
 	CFDateFormatterRef formatter = CFDateFormatterCreate(
 			NULL, currentLocale, 
-			kCFDateFormatterShortStyle, NSDateFormatterNoStyle  );
+			kCFDateFormatterShortStyle, kCFDateFormatterNoStyle  );
 
 	if (currentLocale != NULL) {
 		CFRelease(currentLocale);

File pyobjc-core/Modules/objc/test/fsref.m

 #include "Python.h"
 #include "pyobjc-api.h"
 
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+
 #import <CoreServices/CoreServices.h>
 
 #import <Foundation/Foundation.h>

File pyobjc-core/Modules/objc/test/initialize.m

 {
 	int       isInitialized;
 }
--init;
--retain;
+-(instancetype)init;
+-(instancetype)retain;
 -(void)release;
--autorelease;
+-(instancetype)autorelease;
 -(int)isInitialized;
 +(int)numUninitialized;
 -(id)dummy;
 
 @implementation OC_TestInitialize 
 
--init
+-(instancetype)init
 {
 	self = [super init];
 	if (!self) return self;
 	return self;
 }
 
--retain
+-(instancetype)retain
 {
 	if (!isInitialized) {
 		numUninitialized ++;
 	[super release];
 }
 
--(id)autorelease
+-(instancetype)autorelease
 {
 	if (!isInitialized) {
 		numUninitialized ++;

File pyobjc-core/Modules/objc/test/instanceVariables.m

 	PyObject* pyValue;
 	NSObject* objValue;
 }
--init;
+-(instancetype)init;
 -(void)dealloc;
 @end
 
 @implementation ClassWithVariables
--init
+-(instancetype)init
 {
 	self = [super init];
 	if (self == nil) return nil;

File pyobjc-core/Modules/objc/test/metadata.m

 			NULL];
 }
 
+#pragma GCC diagnostic push
+#pragma clang diagnostic push
+#pragma GCC diagnostic ignored "-Wformat-nonliteral"
+#pragma clang diagnostic ignored "-Wformat-nonliteral"
+
 -(NSArray*)makeArrayWithCFormat:(char*)fmt, ...
 {
 	va_list ap;
 			[NSString stringWithUTF8String:buffer], 
 			NULL];
 }
+#pragma GCC diagnostic pop
+#pragma clang diagnostic pop
 
 -(NSArray*)makeArrayWithArguments:(id)arg, ...
 {

File pyobjc-core/Modules/objc/test/metadatafunction.m

 			NULL];
 }
 
+#pragma GCC   diagnostic push
+#pragma clang   diagnostic push
+#pragma GCC   diagnostic ignored "-Wformat-nonliteral"
+#pragma clang diagnostic ignored "-Wformat-nonliteral"
+
 static NSArray* makeArrayWithCFormat_(char* fmt, ...)
 {
 	va_list ap;
 			NULL];
 }
 
+#pragma GCC   diagnostic pop
+#pragma clang   diagnostic pop
+
 static int maybeFillArray_(int* data)
 {       
 	int i;  

File pyobjc-core/Modules/objc/test/properties.m

 
 #if (PyObjC_BUILD_RELEASE >= 1005) 
 
+#pragma message "Ignore warnings about properties in this file."
 @property int prop1;
 @property float prop2;
 @property struct_s prop3;

File pyobjc-core/Modules/objc/test/protected.m

 
 @interface PyObjCTest_Protected : NSObject
 {}
--publicMethod;
--_protectedMethod;
+-(id)publicMethod;
+-(id)_protectedMethod;
 @end
 
 @implementation PyObjCTest_Protected 
--publicMethod
+-(id)publicMethod
 {
 	return nil;
 }
 
--_protectedMethod
+-(id)_protectedMethod
 {
 	return nil;
 }
 	}
 	INITDONE();
 }
-

File pyobjc-core/Modules/objc/test/pyobjc-unittest.h

 
 #define FAIL_IF(expr) do { if ((expr)) goto error; } while(0)
 
+#pragma GCC diagnostic push
+#pragma clang diagnostic push
+#pragma GCC diagnostic ignored "-Wformat-nonliteral"
+#pragma clang diagnostic ignored "-Wformat-nonliteral"
+
 static inline void
 unittest_assert_failed(const char* file, int line, char* msg, ...)
 {
 	PyErr_Format(PyExc_AssertionError, "%s:%d %s", file, line, buf);
 }
 
+#pragma GCC diagnostic pop
+#pragma clang diagnostic pop
+
 #define ASSERT(expr) \
 	do { \
 		if (!(expr)) { \

File pyobjc-core/Modules/objc/test/specialtypecodes.m

 static char gTextCharValues[] = { 'a', 55, 'z' };
 static char gNumCharValues[] = { 1, 2, 3, 4 };
 
--init 
+-(instancetype)init 
 {
 	[super init];
 	_idx = 0;

File pyobjc-core/Modules/objc/test/testbndl.m

 @interface PyObjC_TestClass3 : NSObject
 {
 }
-+createAHostWithAddress:(NSString*)address;
-+copyValue:source;
-#if 0
-+newDataWithBytes:(Class)cls method:(int)i;
-+makeDictFromClass:(Class)cls method:(int)i;
-#endif
-+getBytes:(NSData*)data;
-+keyValue:(int)idx forObject: value key: id;
++(NSHost*)createAHostWithAddress:(NSString*)address;
++(id)copyValue:(id<NSCopying>)source;
++(NSData*)getBytes:(NSData*)data;
++(id)keyValue:(int)idx forObject: value key: id;
 +(void)setKeyValue:(int)idx forObject: object key: key value: value;
 @end
 
 @implementation PyObjC_TestClass3
 
-+createAHostWithAddress:(NSString*)address
++(NSHost*)createAHostWithAddress:(NSString*)address
 {
 	return [NSHost hostWithAddress:address];
 }
 
-+getBytes:(NSData*)data
++(NSData*)getBytes:(NSData*)data
 {
 	const void* bytes = [data bytes];
 
 	}
 }
 
-#if 0
-+newDataWithBytes:(Class)cls method:(int)i
-{
-	if (i == 0) {
-		return [cls dataWithBytes:"hello world" length:sizeof("hello world")-1];
-	} else {
-		id o = [cls alloc];
-		return [o initWithBytes:"hello world" length:sizeof("hello world")-1];
-	}
-}
-#endif
-
-#if 0
-+makeDictFromClass:(Class)cls method:(int)i
-{
-	id objects[4];
-	id keys[4];
-
-	objects[0] = [[NSObject alloc] init];
-	objects[1] = [[NSObject alloc] init];
-	objects[2] = [[NSObject alloc] init];
-	objects[3] = [[NSObject alloc] init];
-
-	keys[0] = [[NSObject alloc] init];
-	keys[1] = [[NSObject alloc] init];
-	keys[2] = [[NSObject alloc] init];
-	keys[3] = [[NSObject alloc] init];
-
-	if (i == 0) {
-		return [cls 
-				dictionaryWithObjects:objects 
-				forKeys:keys count:4];
-	} else {
-		return [[cls alloc] 
-				initWithObjects:objects 
-				forKeys:keys count:4];
-	}
-}
-#endif
-
-
-+copyValue:source
++(id)copyValue:(NSObject<NSCopying>*)source
 {
 	id theCopy;
 	id pool;
 	return theCopy;
 }
 
-+keyValue:(int)idx forObject: object key: key
++(id)keyValue:(int)idx forObject: object key: key
 {
 	switch (idx) {
 	case 0: return [object valueForKey: key];
 @end
 
 @interface NSObject (IKnowWhatImDoing)
-- call;
+- (id)call;
 @end
 
 @implementation PyObjC_TestClass4
 @end
 
 @implementation PyObjCTest_KVBaseClass
-- init
+- (instancetype)init
 {
     self = [super init];
     if (!self) return nil;
 @end
 
 @implementation PyObjCTest_KVPathClass
-- init
+- (instancetype)init
 {
     self = [super init];
     if (!self) return nil;
 	NSString* key;
 	id value;
 }
--initWithInstanceOfClass:(Class)cls withKey:(NSString*)key;
--getValue;
+-(instancetype)initWithInstanceOfClass:(Class)cls withKey:(NSString*)key;
+-(id)getValue;
 -(void)dealloc;
 -(void)observeValueForKeyPath:(NSString*)keyPath ofObject:(id)object change:(NSDictionary*)change context:(void*)context;
 @end
 
 @implementation PyObjCTest_KeyValueObserver
 
--initWithInstanceOfClass:(Class)cls withKey:(NSString*)aKey
+-(instancetype)initWithInstanceOfClass:(Class)cls withKey:(NSString*)aKey
 {
 	self = [super init];
 	if (self == nil) return nil;
 	[super dealloc];
 }
 
--getValue
+-(id)getValue
 {
 	return value;
 }

File pyobjc-core/Modules/objc/test/testclassandinst.m

 @end
 
 @implementation PyObjC_TestUnallocatable
-+ allocWithZone:(NSZone *)zone 
++ (id)allocWithZone:(NSZone *)zone 
 {
     (void)&zone; /* Force use */
     return nil;

File pyobjc-core/Modules/objc/test/testoutputinitializer.m

     int _priv;
 }
 
--initWithBooleanOutput:(BOOL *)outBool;
+-(instancetype)initWithBooleanOutput:(BOOL *)outBool;
 -(BOOL)isInitialized;
 @end
 
 @implementation PyObjC_TestOutputInitializer
--initWithBooleanOutput:(BOOL *)outBool
+-(instancetype)initWithBooleanOutput:(BOOL *)outBool
 {
     self = [self init];
     *outBool = YES;

File pyobjc-core/Modules/objc/test/voidpointer.m

 @end
 
 @implementation OC_TestVoidPointer
--init 
+-(instancetype)init 
 {
 	self = [super init];
 	if (self) {

File pyobjc-core/NEWS.txt

 Version 2.4  (or 3.0)
 ---------------------
 
+- Add missing calls to ``[super init]`` in the implementation of
+  OC_PythonUnicode and OC_PythonString (the ObjC proxies for python's
+  unicode and str types)
+
 - ``objc.addConvenienceForSelector`` is deprecated, primarily to make 
   it possible to restructure the pyobjc internals.
 

File pyobjc-core/PyObjCTest/test3_protocol.py

     from PyObjCTest.protocol import OC_TestProtocol
 
 
-MyProto = objc.informal_protocol("MyProto", (
+MyProto3 = objc.informal_protocol("MyProto3", (
     objc.selector(None, selector=b"testMethod", signature=b"I@:", isRequired=1),
     objc.selector(None, selector=b"testMethod2:", signature=b"v@:i", isRequired=0)
 ))
 
 class Test3InformalProtocols(TestCase):
     def testOptional(self):
-        class ProtoClass3 (NSObject, protocols=[MyProto]):
+        class ProtoClass3 (NSObject, protocols=[MyProto3]):
             def testMethod(self):
                 pass
 
 
 
 if (sys.maxsize < 2 ** 32) or (platform.mac_ver()[0] >= '10.7'):
-    EmptyProtocol = objc.formal_protocol("EmptyProtocol", None, ())
+    EmptyProtocol3 = objc.formal_protocol("EmptyProtocol3", None, ())
 
-    MyProtocol = objc.formal_protocol("MyProtocol", None, (
+
+    MyProtocol3 = objc.formal_protocol("MyProtocol3", None, (
         objc.selector(None, selector=b"protoMethod", signature=b"I@:"),
         objc.selector(None, selector=b"anotherProto:with:", signature=b"v@:ii"),
     ))
 
-    MyOtherProtocol = objc.formal_protocol("MyOtherProtocol", 
-            (MyProtocol,), [
+    MyOtherProtocol3 = objc.formal_protocol("MyOtherProtocol3", 
+            (MyProtocol3,), [
                 objc.selector(None, selector=b"yetAnother:", signature=b"i@:I")
             ])
 
-    MyClassProtocol = objc.formal_protocol("MyClassProtocol", None, [
+    MyClassProtocol3 = objc.formal_protocol("MyClassProtocol3", None, [
         objc.selector(None, selector=b"anAnotherOne:", signature=b"i@:i"),
         objc.selector(None, selector=b"aClassOne:", signature=b"@@:i", isClassMethod=1),
     ])
 
         def testMethodInfo(self):
             self.assertEqual(
-                    MyProtocol.descriptionForInstanceMethod_("protoMethod"),
+                    MyProtocol3.descriptionForInstanceMethod_("protoMethod"),
                         ("protoMethod", "I@:"))
 
             self.assertEqual(
-                    MyProtocol.descriptionForInstanceMethod_("nosuchmethod"),
+                    MyProtocol3.descriptionForInstanceMethod_("nosuchmethod"),
                         None)
 
             self.assertEqual(
-                    MyClassProtocol.descriptionForClassMethod_("aClassOne:"),
+                    MyClassProtocol3.descriptionForClassMethod_("aClassOne:"),
                         ("aClassOne:", "@@:i"))
 
             self.assertEqual(
-                    MyClassProtocol.descriptionForClassMethod_("nosuchmethod"),
+                    MyClassProtocol3.descriptionForClassMethod_("nosuchmethod"),
                         None)
 
 

File pyobjc-core/distribute_setup.py

             args = [quote(arg) for arg in args]
         return os.spawnl(os.P_WAIT, sys.executable, *args) == 0
 
-DEFAULT_VERSION = "0.6.19"
+DEFAULT_VERSION = "0.6.28"
 DEFAULT_URL = "http://pypi.python.org/packages/source/d/distribute/"
 SETUPTOOLS_PKG_INFO = """\
 Metadata-Version: 1.0

File pyobjc-core/libffi-src/powerpc/ppc-ffi_darwin.c

 #include <ppc-darwin.h>
 #include <architecture/ppc/mode_independent_asm.h>
 
+#if 0 /* branch below doesn't work with 10.4u SDK */
+
 #if defined(POWERPC_DARWIN)
 #include <libkern/OSCacheControl.h>	// for sys_icache_invalidate()
 #endif
 
+#else
+
+#pragma weak sys_icache_invalidate
+extern void sys_icache_invalidate(void *start, size_t len);
+
+#endif
+
 extern void ffi_closure_ASM(void);
 
 // The layout of a function descriptor.  A C function pointer really
 }
 
 #endif	/*	defined(__ppc64__)	*/
-#endif	/* __ppc__ || __ppc64__ */
+#endif	/* __ppc__ || __ppc64__ */

File pyobjc-core/setup.py

 # Enable 'PyObjC_STRICT_DEBUGGING' to enable some costly internal 
 # assertions. 
 CFLAGS.extend([
+    "-fdiagnostics-show-option",
     
     # Use this to analyze with clang
     #"--analyze",

File pyobjc-framework-Cocoa/Doc/api-notes-AppKit.txt

 
     { "button1": button1, "button2": button2 }
 
+or::
 
-Note: it is possible to implement this macro as a Python function with a slightly different
-API: pass the variable names as strings instead of identifiers.
+    AppKit.NSDictionaryOfVariableBindings("button1", "button2")
+
+The first alternative is preferable because it is cleaner Python code, and
+the implementation of ``NSDictionaryOfVariableBindings`` has to use an
+unstable API of CPython.

File pyobjc-framework-Cocoa/Lib/AppKit/__init__.py

 from AppKit import _metadata
 from AppKit._inlines import _inline_list_
 
+def NSDictionaryOfVariableBindings(*names):
+    """
+    Return a dictionary with the given names and there values.
+    """
+    import sys
+    variables = sys._getframe(1).f_locals
+
+    return {
+        nm: variables[nm] 
+        for nm in names 
+    }
+
 
 sys.modules['AppKit'] = mod = objc.ObjCLazyModule('AppKit',
         "com.apple.AppKit", objc.pathForFramework("/System/Library/Frameworks/AppKit.framework"),
         _metadata.__dict__, _inline_list_, {
             '__doc__': __doc__,
             'objc': objc,
+            'NSDictionaryOfVariableBindings': NSDictionaryOfVariableBindings,
             '__path__': __path__,
         }, (Foundation,))
 

File pyobjc-framework-Cocoa/PyObjCTest/test_cfbase.py

 
 
 class TestBase (TestCase):
+    @expectedFailure
     @min_os_level('10.8')
     def testConstants10_8(self):
         self.assertEqual(kCFCoreFoundationVersionNumber10_6_6, 550.42)
         self.assertEqual(kCFCoreFoundationVersionNumber10_5_5,    476.15)
         self.assertEqual(kCFCoreFoundationVersionNumber10_5_6,    476.17)
         self.assertEqual(kCFCoreFoundationVersionNumber10_5_7,    476.18)
-        self.assertEqual(CFCoreFoundationVersionNumber10_5_8,    476.19)
+        #XXX
+        #self.assertEqual(CFCoreFoundationVersionNumber10_5_8,    476.19)
         self.assertEqual(kCFCoreFoundationVersionNumber10_6,      550.00)
         self.assertEqual(kCFCoreFoundationVersionNumber10_6_1,    550.00)
         self.assertEqual(kCFCoreFoundationVersionNumber10_6_2,    550.13)

File pyobjc-framework-Cocoa/PyObjCTest/test_cffilesecurity.py

     def testConstants(self):
         self.fail("kCFFileSecurityRemoveACL")
 
+    @expectedFailure
     @min_os_level('10.8')
     def testConstants10_8(self):
         self.assertEqual(kCFFileSecurityClearOwner, 1<<0)
         # There are no usable wrappers for sys/acl.h at this time
         self.fail("ACL Handling")
 
+    @expectedFailure
     @min_os_level('10.8')
     def testFunctions10_8(self):
         security = CoreFoundation.CFFileSecurityCreate(None)
-        self.assertIsInstance(v, CoreFoundation.CFFileSecurityRef)
+        self.assertIsInstance(security, CoreFoundation.CFFileSecurityRef)
 
         CoreFoundation.CFFileSecurityClearProperties(security, CoreFoundation.kCFFileSecurityClearGroup)
         

File pyobjc-framework-Cocoa/PyObjCTest/test_cfstring.py

 from CoreFoundation import *
 import CoreFoundation
 import sys
+import AppKit
 
 try:
     unicode
         self.assertFalse(CFStringIsSurrogateHighCharacter(unichr(0x0600)))
         self.assertTrue(CFStringIsSurrogateLowCharacter(unichr(0xDC00)))
         self.assertFalse(CFStringIsSurrogateLowCharacter(unichr(0x0600)))
-        v = CFStringGetLongCharacterForSurrogatePair(unichr(0xD801), unichr(0xDC01))
-        self.assertEqual(v, ((1 << 10) | 1) + 0x0010000)
+        v = CFStringGetLongCharacterForSurrogatePair(
+                unichr(0xD801), unichr(0xDC01))
+        #self.assertEqual(v, ((1 << 10) | 1) + 0x0010000)
+        self.assertEqual(v, 66561)
 
         self.assertResultIsBOOL(CFStringGetSurrogatePairForLongCharacter)
         ok, chars = CFStringGetSurrogatePairForLongCharacter(v, None)

File pyobjc-framework-Cocoa/PyObjCTest/test_cfurl.py

             if os.path.exists('/tmp/pyobjc.test.2'):
                 os.unlink('/tmp/pyobjc.test.2')
 
+    @expectedFailure
     @min_os_level('10.8')
     def testFunctions10_8(self):
         self.assertResultIsBOOL(CFURLStartAccessingSecurityScopedResource)
         self.assertResultIsBOOL(CFURLStopAccessingSecurityScopedResource)
 
+    @expectedFailure
     @min_os_level('10.8')
     def testConstants10_8(self):
         self.assertIsInstance(kCFURLPathKey, unicode)

File pyobjc-framework-Cocoa/PyObjCTest/test_nslayoutcontraint.py

+from PyObjCTools.TestSupport import *
+from AppKit import *
+
+class TestNSLayoutContraintManual (TestCase):
+    def testNSDictionaryOfVariableBindings(self):
+        var1 = 'foo'
+        var2 = 'bar'
+
+        self.assertEqual(NSDictionaryOfVariableBindings('var1', 'var2'),
+                {'var1': 'foo', 'var2': 'bar'})
+
+        self.assertRaises(KeyError, NSDictionaryOfVariableBindings, 'var1', 'var3')
+if __name__ == "__main__":
+    main()

File pyobjc-framework-CoreText/Lib/CoreText/_metadata.py

 # This file is generated by objective.metadata
 #
-# Last update: Wed Jun  6 16:38:20 2012
+# Last update: Mon Aug 27 19:14:10 2012
 
 import objc, sys
 
 
 misc = {
 }
-misc.update({'CTParagraphStyleSetting': objc.createStructType('CTParagraphStyleSetting', b'{CTParagraphStyleSetting=IL^v}', ['spec', 'valueSize', 'value'])})
-constants = '''$kCTCharacterShapeAttributeName@^{__CFString=}$kCTFontAttributeName@^{__CFString=}$kCTFontBaselineAdjustAttribute@^{__CFString=}$kCTFontCascadeListAttribute@^{__CFString=}$kCTFontCharacterSetAttribute@^{__CFString=}$kCTFontCollectionDisallowAutoActivationOption@^{__CFString=}$kCTFontCollectionIncludeDisabledFontsOption@^{__CFString=}$kCTFontCollectionRemoveDuplicatesOption@^{__CFString=}$kCTFontCopyrightNameKey@^{__CFString=}$kCTFontDescriptionNameKey@^{__CFString=}$kCTFontDesignerNameKey@^{__CFString=}$kCTFontDesignerURLNameKey@^{__CFString=}$kCTFontDisplayNameAttribute@^{__CFString=}$kCTFontEnabledAttribute@^{__CFString=}$kCTFontFamilyNameAttribute@^{__CFString=}$kCTFontFamilyNameKey@^{__CFString=}$kCTFontFeatureSelectorDefaultKey@^{__CFString=}$kCTFontFeatureSelectorIdentifierKey@^{__CFString=}$kCTFontFeatureSelectorNameKey@^{__CFString=}$kCTFontFeatureSelectorSettingKey@^{__CFString=}$kCTFontFeatureSettingsAttribute@^{__CFString=}$kCTFontFeatureTypeExclusiveKey@^{__CFString=}$kCTFontFeatureTypeIdentifierKey@^{__CFString=}$kCTFontFeatureTypeNameKey@^{__CFString=}$kCTFontFeatureTypeSelectorsKey@^{__CFString=}$kCTFontFeaturesAttribute@^{__CFString=}$kCTFontFixedAdvanceAttribute@^{__CFString=}$kCTFontFormatAttribute@^{__CFString=}$kCTFontFullNameKey@^{__CFString=}$kCTFontLanguagesAttribute@^{__CFString=}$kCTFontLicenseNameKey@^{__CFString=}$kCTFontLicenseURLNameKey@^{__CFString=}$kCTFontMacintoshEncodingsAttribute@^{__CFString=}$kCTFontManagerBundleIdentifier@^{__CFString=}$kCTFontManagerErrorDomain@^{__CFString=}$kCTFontManagerErrorFontURLsKey@^{__CFString=}$kCTFontManagerRegisteredFontsChangedNotification@^{__CFString=}$kCTFontManufacturerNameKey@^{__CFString=}$kCTFontMatrixAttribute@^{__CFString=}$kCTFontNameAttribute@^{__CFString=}$kCTFontOrientationAttribute@^{__CFString=}$kCTFontPostScriptCIDNameKey@^{__CFString=}$kCTFontPostScriptNameKey@^{__CFString=}$kCTFontPriorityAttribute@^{__CFString=}$kCTFontRegistrationScopeAttribute@^{__CFString=}$kCTFontSampleTextNameKey@^{__CFString=}$kCTFontSizeAttribute@^{__CFString=}$kCTFontSlantTrait@^{__CFString=}$kCTFontStyleNameAttribute@^{__CFString=}$kCTFontStyleNameKey@^{__CFString=}$kCTFontSubFamilyNameKey@^{__CFString=}$kCTFontSymbolicTrait@^{__CFString=}$kCTFontTrademarkNameKey@^{__CFString=}$kCTFontTraitsAttribute@^{__CFString=}$kCTFontURLAttribute@^{__CFString=}$kCTFontUniqueNameKey@^{__CFString=}$kCTFontVariationAttribute@^{__CFString=}$kCTFontVariationAxisDefaultValueKey@^{__CFString=}$kCTFontVariationAxisIdentifierKey@^{__CFString=}$kCTFontVariationAxisMaximumValueKey@^{__CFString=}$kCTFontVariationAxisMinimumValueKey@^{__CFString=}$kCTFontVariationAxisNameKey@^{__CFString=}$kCTFontVendorURLNameKey@^{__CFString=}$kCTFontVersionNameKey@^{__CFString=}$kCTFontWeightTrait@^{__CFString=}$kCTFontWidthTrait@^{__CFString=}$kCTForegroundColorAttributeName@^{__CFString=}$kCTForegroundColorFromContextAttributeName@^{__CFString=}$kCTFrameClippingPathsAttributeName@^{__CFString=}$kCTFramePathClippingPathAttributeName@^{__CFString=}$kCTFramePathFillRuleAttributeName@^{__CFString=}$kCTFramePathWidthAttributeName@^{__CFString=}$kCTFrameProgressionAttributeName@^{__CFString=}$kCTGlyphInfoAttributeName@^{__CFString=}$kCTKernAttributeName@^{__CFString=}$kCTLigatureAttributeName@^{__CFString=}$kCTParagraphStyleAttributeName@^{__CFString=}$kCTRunDelegateAttributeName@^{__CFString=}$kCTStrokeColorAttributeName@^{__CFString=}$kCTStrokeWidthAttributeName@^{__CFString=}$kCTSuperscriptAttributeName@^{__CFString=}$kCTTabColumnTerminatorsAttributeName@^{__CFString=}$kCTTypesetterOptionDisableBidiProcessing@^{__CFString=}$kCTTypesetterOptionForcedEmbeddingLevel@^{__CFString=}$kCTUnderlineColorAttributeName@^{__CFString=}$kCTUnderlineStyleAttributeName@^{__CFString=}$kCTVerticalFormsAttributeName@^{__CFString=}$'''
-enums = '''$kCTAdobeCNS1CharacterCollection@1$kCTAdobeGB1CharacterCollection@2$kCTAdobeJapan1CharacterCollection@3$kCTAdobeJapan2CharacterCollection@4$kCTAdobeKorea1CharacterCollection@5$kCTCenterTextAlignment@2$kCTFontAlertHeaderFontType@18$kCTFontApplicationFontType@9$kCTFontBoldTrait@2$kCTFontClarendonSerifsClass@1073741824$kCTFontClassMaskShift@28$kCTFontClassMaskTrait@4026531840$kCTFontCollectionCopyDefaultOptions@0$kCTFontCollectionCopyStandardSort@2$kCTFontCollectionCopyUnique@1$kCTFontColorGlyphsTrait@8192$kCTFontCondensedTrait@64$kCTFontControlContentFontType@26$kCTFontDefaultOrientation@0$kCTFontEmphasizedSystemDetailFontType@20$kCTFontEmphasizedSystemFontType@3$kCTFontExpandedTrait@32$kCTFontFormatBitmap@5$kCTFontFormatOpenTypePostScript@1$kCTFontFormatOpenTypeTrueType@2$kCTFontFormatPostScript@4$kCTFontFormatTrueType@3$kCTFontFormatUnrecognized@0$kCTFontFreeformSerifsClass@1879048192$kCTFontHorizontalOrientation@1$kCTFontItalicTrait@1$kCTFontLabelFontType@10$kCTFontManagerAutoActivationDefault@0$kCTFontManagerAutoActivationDisabled@1$kCTFontManagerAutoActivationEnabled@2$kCTFontManagerAutoActivationPromptUser@3$kCTFontManagerErrorAlreadyRegistered@105$kCTFontManagerErrorFileNotFound@101$kCTFontManagerErrorInUse@202$kCTFontManagerErrorInsufficientPermissions@102$kCTFontManagerErrorInvalidFontData@104$kCTFontManagerErrorNotRegistered@201$kCTFontManagerErrorSystemRequired@202$kCTFontManagerErrorUnrecognizedFormat@103$kCTFontManagerScopeNone@0$kCTFontManagerScopeProcess@1$kCTFontManagerScopeSession@3$kCTFontManagerScopeUser@2$kCTFontMenuItemCmdKeyFontType@14$kCTFontMenuItemFontType@12$kCTFontMenuItemMarkFontType@13$kCTFontMenuTitleFontType@11$kCTFontMessageFontType@23$kCTFontMiniEmphasizedSystemFontType@7$kCTFontMiniSystemFontType@6$kCTFontModernSerifsClass@805306368$kCTFontMonoSpaceTrait@1024$kCTFontNoFontType@4294967295$kCTFontOldStyleSerifsClass@268435456$kCTFontOptionsDefault@0$kCTFontOptionsPreferSystemFont@4$kCTFontOptionsPreventAutoActivation@1$kCTFontOrnamentalsClass@2415919104$kCTFontPaletteFontType@24$kCTFontPriorityComputer@30000$kCTFontPriorityDynamic@50000$kCTFontPriorityNetwork@20000$kCTFontPriorityProcess@60000$kCTFontPrioritySystem@10000$kCTFontPriorityUser@40000$kCTFontPushButtonFontType@16$kCTFontSansSerifClass@2147483648$kCTFontScriptsClass@2684354560$kCTFontSlabSerifsClass@1342177280$kCTFontSmallEmphasizedSystemFontType@5$kCTFontSmallSystemFontType@4$kCTFontSmallToolbarFontType@22$kCTFontSymbolicClass@3221225472$kCTFontSystemDetailFontType@19$kCTFontSystemFontType@2$kCTFontTableAcnt@1633906292$kCTFontTableAvar@1635148146$kCTFontTableBASE@1111577413$kCTFontTableBdat@1650745716$kCTFontTableBhed@1651008868$kCTFontTableBloc@1651273571$kCTFontTableBsln@1651731566$kCTFontTableCFF@1128678944$kCTFontTableCmap@1668112752$kCTFontTableCvar@1668702578$kCTFontTableCvt@1668707360$kCTFontTableDSIG@1146308935$kCTFontTableEBDT@1161970772$kCTFontTableEBLC@1161972803$kCTFontTableEBSC@1161974595$kCTFontTableFdsc@1717859171$kCTFontTableFeat@1717920116$kCTFontTableFmtx@1718449272$kCTFontTableFpgm@1718642541$kCTFontTableFvar@1719034226$kCTFontTableGDEF@1195656518$kCTFontTableGPOS@1196445523$kCTFontTableGSUB@1196643650$kCTFontTableGasp@1734439792$kCTFontTableGlyf@1735162214$kCTFontTableGvar@1735811442$kCTFontTableHdmx@1751412088$kCTFontTableHead@1751474532$kCTFontTableHhea@1751672161$kCTFontTableHmtx@1752003704$kCTFontTableHsty@1752396921$kCTFontTableJSTF@1246975046$kCTFontTableJust@1786082164$kCTFontTableKern@1801810542$kCTFontTableKerx@1801810552$kCTFontTableLTSH@1280594760$kCTFontTableLcar@1818452338$kCTFontTableLoca@1819239265$kCTFontTableMaxp@1835104368$kCTFontTableMort@1836020340$kCTFontTableMorx@1836020344$kCTFontTableName@1851878757$kCTFontTableOS2@1330851634$kCTFontTableOpbd@1869636196$kCTFontTableOptionExcludeSynthetic@1$kCTFontTableOptionNoOptions@0$kCTFontTablePCLT@1346587732$kCTFontTablePost@1886352244$kCTFontTablePrep@1886545264$kCTFontTableProp@1886547824$kCTFontTableSbit@1935829364$kCTFontTableSbix@1935829368$kCTFontTableTrak@1953653099$kCTFontTableVDMX@1447316824$kCTFontTableVORG@1448038983$kCTFontTableVhea@1986553185$kCTFontTableVmtx@1986884728$kCTFontTableZapf@1516335206$kCTFontToolTipFontType@25$kCTFontToolbarFontType@21$kCTFontTransitionalSerifsClass@536870912$kCTFontUIOptimizedTrait@4096$kCTFontUnknownClass@0$kCTFontUserFixedPitchFontType@1$kCTFontUserFontType@0$kCTFontUtilityWindowTitleFontType@17$kCTFontVerticalOrientation@2$kCTFontVerticalTrait@2048$kCTFontViewsFontType@8$kCTFontWindowTitleFontType@15$kCTFramePathFillEvenOdd@0$kCTFramePathFillWindingNumber@1$kCTFrameProgressionRightToLeft@1$kCTFrameProgressionTopToBottom@0$kCTIdentityMappingCharacterCollection@0$kCTJustifiedTextAlignment@3$kCTLeftTextAlignment@0$kCTLineBreakByCharWrapping@1$kCTLineBreakByClipping@2$kCTLineBreakByTruncatingHead@3$kCTLineBreakByTruncatingMiddle@5$kCTLineBreakByTruncatingTail@4$kCTLineBreakByWordWrapping@0$kCTLineTruncationEnd@1$kCTLineTruncationMiddle@2$kCTLineTruncationStart@0$kCTNaturalTextAlignment@4$kCTParagraphStyleSpecifierAlignment@0$kCTParagraphStyleSpecifierBaseWritingDirection@13$kCTParagraphStyleSpecifierCount@17$kCTParagraphStyleSpecifierDefaultTabInterval@5$kCTParagraphStyleSpecifierFirstLineHeadIndent@1$kCTParagraphStyleSpecifierHeadIndent@2$kCTParagraphStyleSpecifierLineBreakMode@6$kCTParagraphStyleSpecifierLineHeightMultiple@7$kCTParagraphStyleSpecifierLineSpacing@10$kCTParagraphStyleSpecifierLineSpacingAdjustment@16$kCTParagraphStyleSpecifierMaximumLineHeight@8$kCTParagraphStyleSpecifierMaximumLineSpacing@14$kCTParagraphStyleSpecifierMinimumLineHeight@9$kCTParagraphStyleSpecifierMinimumLineSpacing@15$kCTParagraphStyleSpecifierParagraphSpacing@11$kCTParagraphStyleSpecifierParagraphSpacingBefore@12$kCTParagraphStyleSpecifierTabStops@4$kCTParagraphStyleSpecifierTailIndent@3$kCTRightTextAlignment@1$kCTRunStatusHasNonIdentityMatrix@4$kCTRunStatusNoStatus@0$kCTRunStatusNonMonotonic@2$kCTRunStatusRightToLeft@1$kCTUnderlinePatternDash@512$kCTUnderlinePatternDashDot@768$kCTUnderlinePatternDashDotDot@1024$kCTUnderlinePatternDot@256$kCTUnderlinePatternSolid@0$kCTUnderlineStyleDouble@9$kCTUnderlineStyleNone@0$kCTUnderlineStyleSingle@1$kCTUnderlineStyleThick@2$kCTVersionNumber10_5@131072$kCTVersionNumber10_5_2@131073$kCTVersionNumber10_5_3@131074$kCTVersionNumber10_5_5@131075$kCTVersionNumber10_6@196608$kCTVersionNumber10_6_7@196615$kCTVersionNumber10_7@262144$kCTWritingDirectionLeftToRight@0$kCTWritingDirectionNatural@-1$kCTWritingDirectionRightToLeft@1$'''
+misc.update({'CTParagraphStyleSetting': objc.createStructType('CTParagraphStyleSetting', sel32or64(b'{CTParagraphStyleSetting=IL^v}', b'{CTParagraphStyleSetting=IQ^v}'), ['spec', 'valueSize', 'value'])})
+constants = '''$kCTBaselineClassAttributeName@^{__CFString=}$kCTBaselineClassHanging@^{__CFString=}$kCTBaselineClassIdeographicCentered@^{__CFString=}$kCTBaselineClassIdeographicHigh@^{__CFString=}$kCTBaselineClassIdeographicLow@^{__CFString=}$kCTBaselineClassMath@^{__CFString=}$kCTBaselineClassRoman@^{__CFString=}$kCTBaselineInfoAttributeName@^{__CFString=}$kCTBaselineOriginalFont@^{__CFString=}$kCTBaselineReferenceFont@^{__CFString=}$kCTBaselineReferenceInfoAttributeName@^{__CFString=}$kCTCharacterShapeAttributeName@^{__CFString=}$kCTFontAttributeName@^{__CFString=}$kCTFontBaselineAdjustAttribute@^{__CFString=}$kCTFontCascadeListAttribute@^{__CFString=}$kCTFontCharacterSetAttribute@^{__CFString=}$kCTFontCollectionDisallowAutoActivationOption@^{__CFString=}$kCTFontCollectionIncludeDisabledFontsOption@^{__CFString=}$kCTFontCollectionRemoveDuplicatesOption@^{__CFString=}$kCTFontCopyrightNameKey@^{__CFString=}$kCTFontDescriptionNameKey@^{__CFString=}$kCTFontDesignerNameKey@^{__CFString=}$kCTFontDesignerURLNameKey@^{__CFString=}$kCTFontDisplayNameAttribute@^{__CFString=}$kCTFontEnabledAttribute@^{__CFString=}$kCTFontFamilyNameAttribute@^{__CFString=}$kCTFontFamilyNameKey@^{__CFString=}$kCTFontFeatureSelectorDefaultKey@^{__CFString=}$kCTFontFeatureSelectorIdentifierKey@^{__CFString=}$kCTFontFeatureSelectorNameKey@^{__CFString=}$kCTFontFeatureSelectorSettingKey@^{__CFString=}$kCTFontFeatureSettingsAttribute@^{__CFString=}$kCTFontFeatureTypeExclusiveKey@^{__CFString=}$kCTFontFeatureTypeIdentifierKey@^{__CFString=}$kCTFontFeatureTypeNameKey@^{__CFString=}$kCTFontFeatureTypeSelectorsKey@^{__CFString=}$kCTFontFeaturesAttribute@^{__CFString=}$kCTFontFixedAdvanceAttribute@^{__CFString=}$kCTFontFormatAttribute@^{__CFString=}$kCTFontFullNameKey@^{__CFString=}$kCTFontLanguagesAttribute@^{__CFString=}$kCTFontLicenseNameKey@^{__CFString=}$kCTFontLicenseURLNameKey@^{__CFString=}$kCTFontMacintoshEncodingsAttribute@^{__CFString=}$kCTFontManagerBundleIdentifier@^{__CFString=}$kCTFontManagerErrorDomain@^{__CFString=}$kCTFontManagerErrorFontURLsKey@^{__CFString=}$kCTFontManagerRegisteredFontsChangedNotification@^{__CFString=}$kCTFontManufacturerNameKey@^{__CFString=}$kCTFontMatrixAttribute@^{__CFString=}$kCTFontNameAttribute@^{__CFString=}$kCTFontOrientationAttribute@^{__CFString=}$kCTFontPostScriptCIDNameKey@^{__CFString=}$kCTFontPostScriptNameKey@^{__CFString=}$kCTFontPriorityAttribute@^{__CFString=}$kCTFontRegistrationScopeAttribute@^{__CFString=}$kCTFontSampleTextNameKey@^{__CFString=}$kCTFontSizeAttribute@^{__CFString=}$kCTFontSlantTrait@^{__CFString=}$kCTFontStyleNameAttribute@^{__CFString=}$kCTFontStyleNameKey@^{__CFString=}$kCTFontSubFamilyNameKey@^{__CFString=}$kCTFontSymbolicTrait@^{__CFString=}$kCTFontTrademarkNameKey@^{__CFString=}$kCTFontTraitsAttribute@^{__CFString=}$kCTFontURLAttribute@^{__CFString=}$kCTFontUniqueNameKey@^{__CFString=}$kCTFontVariationAttribute@^{__CFString=}$kCTFontVariationAxisDefaultValueKey@^{__CFString=}$kCTFontVariationAxisIdentifierKey@^{__CFString=}$kCTFontVariationAxisMaximumValueKey@^{__CFString=}$kCTFontVariationAxisMinimumValueKey@^{__CFString=}$kCTFontVariationAxisNameKey@^{__CFString=}$kCTFontVendorURLNameKey@^{__CFString=}$kCTFontVersionNameKey@^{__CFString=}$kCTFontWeightTrait@^{__CFString=}$kCTFontWidthTrait@^{__CFString=}$kCTForegroundColorAttributeName@^{__CFString=}$kCTForegroundColorFromContextAttributeName@^{__CFString=}$kCTFrameClippingPathsAttributeName@^{__CFString=}$kCTFramePathClippingPathAttributeName@^{__CFString=}$kCTFramePathFillRuleAttributeName@^{__CFString=}$kCTFramePathWidthAttributeName@^{__CFString=}$kCTFrameProgressionAttributeName@^{__CFString=}$kCTGlyphInfoAttributeName@^{__CFString=}$kCTKernAttributeName@^{__CFString=}$kCTLigatureAttributeName@^{__CFString=}$kCTParagraphStyleAttributeName@^{__CFString=}$kCTRunDelegateAttributeName@^{__CFString=}$kCTStrokeColorAttributeName@^{__CFString=}$kCTStrokeWidthAttributeName@^{__CFString=}$kCTSuperscriptAttributeName@^{__CFString=}$kCTTabColumnTerminatorsAttributeName@^{__CFString=}$kCTTypesetterOptionDisableBidiProcessing@^{__CFString=}$kCTTypesetterOptionForcedEmbeddingLevel@^{__CFString=}$kCTUnderlineColorAttributeName@^{__CFString=}$kCTUnderlineStyleAttributeName@^{__CFString=}$kCTVerticalFormsAttributeName@^{__CFString=}$kCTWritingDirectionAttributeName@^{__CFString=}$'''
+enums = '''$kCTAdobeCNS1CharacterCollection@1$kCTAdobeGB1CharacterCollection@2$kCTAdobeJapan1CharacterCollection@3$kCTAdobeJapan2CharacterCollection@4$kCTAdobeKorea1CharacterCollection@5$kCTCenterTextAlignment@2$kCTCharacterCollectionAdobeCNS1@1$kCTCharacterCollectionAdobeGB1@2$kCTCharacterCollectionAdobeJapan1@3$kCTCharacterCollectionAdobeJapan2@4$kCTCharacterCollectionAdobeKorea1@5$kCTCharacterCollectionIdentityMapping@0$kCTFontAlertHeaderFontType@18$kCTFontApplicationFontType@9$kCTFontBoldTrait@2$kCTFontClarendonSerifsClass@1073741824$kCTFontClassClarendonSerifs@1073741824$kCTFontClassFreeformSerifs@1879048192$kCTFontClassMaskShift@28$kCTFontClassMaskTrait@4026531840$kCTFontClassModernSerifs@805306368$kCTFontClassOldStyleSerifs@268435456$kCTFontClassOrnamentals@2415919104$kCTFontClassSansSerif@2147483648$kCTFontClassScripts@2684354560$kCTFontClassSlabSerifs@1342177280$kCTFontClassSymbolic@3221225472$kCTFontClassTransitionalSerifs@536870912$kCTFontClassUnknown@0$kCTFontCollectionCopyDefaultOptions@0$kCTFontCollectionCopyStandardSort@2$kCTFontCollectionCopyUnique@1$kCTFontColorGlyphsTrait@8192$kCTFontCompositeTrait@16384$kCTFontCondensedTrait@64$kCTFontControlContentFontType@26$kCTFontDefaultOrientation@0$kCTFontEmphasizedSystemDetailFontType@20$kCTFontEmphasizedSystemFontType@3$kCTFontExpandedTrait@32$kCTFontFormatBitmap@5$kCTFontFormatOpenTypePostScript@1$kCTFontFormatOpenTypeTrueType@2$kCTFontFormatPostScript@4$kCTFontFormatTrueType@3$kCTFontFormatUnrecognized@0$kCTFontFreeformSerifsClass@1879048192$kCTFontHorizontalOrientation@1$kCTFontItalicTrait@1$kCTFontLabelFontType@10$kCTFontManagerAutoActivationDefault@0$kCTFontManagerAutoActivationDisabled@1$kCTFontManagerAutoActivationEnabled@2$kCTFontManagerAutoActivationPromptUser@3$kCTFontManagerErrorAlreadyRegistered@105$kCTFontManagerErrorFileNotFound@101$kCTFontManagerErrorInUse@202$kCTFontManagerErrorInsufficientPermissions@102$kCTFontManagerErrorInvalidFontData@104$kCTFontManagerErrorNotRegistered@201$kCTFontManagerErrorSystemRequired@202$kCTFontManagerErrorUnrecognizedFormat@103$kCTFontManagerScopeNone@0$kCTFontManagerScopeProcess@1$kCTFontManagerScopeSession@3$kCTFontManagerScopeUser@2$kCTFontMenuItemCmdKeyFontType@14$kCTFontMenuItemFontType@12$kCTFontMenuItemMarkFontType@13$kCTFontMenuTitleFontType@11$kCTFontMessageFontType@23$kCTFontMiniEmphasizedSystemFontType@7$kCTFontMiniSystemFontType@6$kCTFontModernSerifsClass@805306368$kCTFontMonoSpaceTrait@1024$kCTFontNoFontType@4294967295$kCTFontOldStyleSerifsClass@268435456$kCTFontOptionsDefault@0$kCTFontOptionsPreferSystemFont@4$kCTFontOptionsPreventAutoActivation@1$kCTFontOrientationDefault@0$kCTFontOrientationHorizontal@1$kCTFontOrientationVertical@2$kCTFontOrnamentalsClass@2415919104$kCTFontPaletteFontType@24$kCTFontPriorityComputer@30000$kCTFontPriorityDynamic@50000$kCTFontPriorityNetwork@20000$kCTFontPriorityProcess@60000$kCTFontPrioritySystem@10000$kCTFontPriorityUser@40000$kCTFontPushButtonFontType@16$kCTFontSansSerifClass@2147483648$kCTFontScriptsClass@2684354560$kCTFontSlabSerifsClass@1342177280$kCTFontSmallEmphasizedSystemFontType@5$kCTFontSmallSystemFontType@4$kCTFontSmallToolbarFontType@22$kCTFontSymbolicClass@3221225472$kCTFontSystemDetailFontType@19$kCTFontSystemFontType@2$kCTFontTableAcnt@1633906292$kCTFontTableAnkr@1634626418$kCTFontTableAvar@1635148146$kCTFontTableBASE@1111577413$kCTFontTableBdat@1650745716$kCTFontTableBhed@1651008868$kCTFontTableBloc@1651273571$kCTFontTableBsln@1651731566$kCTFontTableCFF@1128678944$kCTFontTableCmap@1668112752$kCTFontTableCvar@1668702578$kCTFontTableCvt@1668707360$kCTFontTableDSIG@1146308935$kCTFontTableEBDT@1161970772$kCTFontTableEBLC@1161972803$kCTFontTableEBSC@1161974595$kCTFontTableFdsc@1717859171$kCTFontTableFeat@1717920116$kCTFontTableFmtx@1718449272$kCTFontTableFpgm@1718642541$kCTFontTableFvar@1719034226$kCTFontTableGDEF@1195656518$kCTFontTableGPOS@1196445523$kCTFontTableGSUB@1196643650$kCTFontTableGasp@1734439792$kCTFontTableGlyf@1735162214$kCTFontTableGvar@1735811442$kCTFontTableHdmx@1751412088$kCTFontTableHead@1751474532$kCTFontTableHhea@1751672161$kCTFontTableHmtx@1752003704$kCTFontTableHsty@1752396921$kCTFontTableJSTF@1246975046$kCTFontTableJust@1786082164$kCTFontTableKern@1801810542$kCTFontTableKerx@1801810552$kCTFontTableLTSH@1280594760$kCTFontTableLcar@1818452338$kCTFontTableLoca@1819239265$kCTFontTableMaxp@1835104368$kCTFontTableMort@1836020340$kCTFontTableMorx@1836020344$kCTFontTableName@1851878757$kCTFontTableOS2@1330851634$kCTFontTableOpbd@1869636196$kCTFontTableOptionExcludeSynthetic@1$kCTFontTableOptionNoOptions@0$kCTFontTablePCLT@1346587732$kCTFontTablePost@1886352244$kCTFontTablePrep@1886545264$kCTFontTableProp@1886547824$kCTFontTableSbit@1935829364$kCTFontTableSbix@1935829368$kCTFontTableTrak@1953653099$kCTFontTableVDMX@1447316824$kCTFontTableVORG@1448038983$kCTFontTableVhea@1986553185$kCTFontTableVmtx@1986884728$kCTFontTableZapf@1516335206$kCTFontToolTipFontType@25$kCTFontToolbarFontType@21$kCTFontTraitBold@2$kCTFontTraitClassMask@4026531840$kCTFontTraitColorGlyphs@8192$kCTFontTraitComposite@16384$kCTFontTraitCondensed@64$kCTFontTraitExpanded@32$kCTFontTraitItalic@1$kCTFontTraitMonoSpace@1024$kCTFontTraitUIOptimized@4096$kCTFontTraitVertical@2048$kCTFontTransitionalSerifsClass@536870912$kCTFontUIFontAlertHeader@18$kCTFontUIFontApplication@9$kCTFontUIFontControlContent@26$kCTFontUIFontEmphasizedSystem@3$kCTFontUIFontEmphasizedSystemDetail@20$kCTFontUIFontLabel@10$kCTFontUIFontMenuItem@12$kCTFontUIFontMenuItemCmdKey@14$kCTFontUIFontMenuItemMark@13$kCTFontUIFontMenuTitle@11$kCTFontUIFontMessage@23$kCTFontUIFontMiniEmphasizedSystem@7$kCTFontUIFontMiniSystem@6$kCTFontUIFontNone@4294967295$kCTFontUIFontPalette@24$kCTFontUIFontPushButton@16$kCTFontUIFontSmallEmphasizedSystem@5$kCTFontUIFontSmallSystem@4$kCTFontUIFontSmallToolbar@22$kCTFontUIFontSystem@2$kCTFontUIFontSystemDetail@19$kCTFontUIFontToolTip@25$kCTFontUIFontToolbar@21$kCTFontUIFontUser@0$kCTFontUIFontUserFixedPitch@1$kCTFontUIFontUtilityWindowTitle@17$kCTFontUIFontViews@8$kCTFontUIFontWindowTitle@15$kCTFontUIOptimizedTrait@4096$kCTFontUnknownClass@0$kCTFontUserFixedPitchFontType@1$kCTFontUserFontType@0$kCTFontUtilityWindowTitleFontType@17$kCTFontVerticalOrientation@2$kCTFontVerticalTrait@2048$kCTFontViewsFontType@8$kCTFontWindowTitleFontType@15$kCTFramePathFillEvenOdd@0$kCTFramePathFillWindingNumber@1$kCTFrameProgressionRightToLeft@1$kCTFrameProgressionTopToBottom@0$kCTIdentityMappingCharacterCollection@0$kCTJustifiedTextAlignment@3$kCTLeftTextAlignment@0$kCTLineBoundsExcludeTypographicLeading@1$kCTLineBoundsExcludeTypographicShifts@2$kCTLineBoundsUseGlyphPathBounds@8$kCTLineBoundsUseHangingPunctuation@4$kCTLineBoundsUseOpticalBounds@16$kCTLineBreakByCharWrapping@1$kCTLineBreakByClipping@2$kCTLineBreakByTruncatingHead@3$kCTLineBreakByTruncatingMiddle@5$kCTLineBreakByTruncatingTail@4$kCTLineBreakByWordWrapping@0$kCTLineTruncationEnd@1$kCTLineTruncationMiddle@2$kCTLineTruncationStart@0$kCTNaturalTextAlignment@4$kCTParagraphStyleSpecifierAlignment@0$kCTParagraphStyleSpecifierBaseWritingDirection@13$kCTParagraphStyleSpecifierCount@18$kCTParagraphStyleSpecifierDefaultTabInterval@5$kCTParagraphStyleSpecifierFirstLineHeadIndent@1$kCTParagraphStyleSpecifierHeadIndent@2$kCTParagraphStyleSpecifierLineBoundsOptions@17$kCTParagraphStyleSpecifierLineBreakMode@6$kCTParagraphStyleSpecifierLineHeightMultiple@7$kCTParagraphStyleSpecifierLineSpacing@10$kCTParagraphStyleSpecifierLineSpacingAdjustment@16$kCTParagraphStyleSpecifierMaximumLineHeight@8$kCTParagraphStyleSpecifierMaximumLineSpacing@14$kCTParagraphStyleSpecifierMinimumLineHeight@9$kCTParagraphStyleSpecifierMinimumLineSpacing@15$kCTParagraphStyleSpecifierParagraphSpacing@11$kCTParagraphStyleSpecifierParagraphSpacingBefore@12$kCTParagraphStyleSpecifierTabStops@4$kCTParagraphStyleSpecifierTailIndent@3$kCTRightTextAlignment@1$kCTRunStatusHasNonIdentityMatrix@4$kCTRunStatusNoStatus@0$kCTRunStatusNonMonotonic@2$kCTRunStatusRightToLeft@1$kCTTextAlignmentCenter@2$kCTTextAlignmentJustified@3$kCTTextAlignmentLeft@0$kCTTextAlignmentNatural@4$kCTTextAlignmentRight@1$kCTUnderlinePatternDash@512$kCTUnderlinePatternDashDot@768$kCTUnderlinePatternDashDotDot@1024$kCTUnderlinePatternDot@256$kCTUnderlinePatternSolid@0$kCTUnderlineStyleDouble@9$kCTUnderlineStyleNone@0$kCTUnderlineStyleSingle@1$kCTUnderlineStyleThick@2$kCTVersionNumber10_5@131072$kCTVersionNumber10_5_2@131073$kCTVersionNumber10_5_3@131074$kCTVersionNumber10_5_5@131075$kCTVersionNumber10_6@196608$kCTVersionNumber10_6_7@196615$kCTVersionNumber10_7@262144$kCTVersionNumber10_8@327680$kCTWritingDirectionEmbedding@0$kCTWritingDirectionLeftToRight@0$kCTWritingDirectionNatural@-1$kCTWritingDirectionOverride@2$kCTWritingDirectionRightToLeft@1$'''
 misc.update({})
-functions={'CTFontManagerCreateFontDescriptorsFromURL': (b'^{__CFArray=}^{__CFURL=}', '', {'retval': {'already_cfretained': True}}), 'CTLineCreateTruncatedLine': (b'^{__CTLine=}^{__CTLine=}dI^{__CTLine=}', '', {'retval': {'already_cfretained': True}}), 'CTFramesetterCreateFrame': (sel32or64(b'^{__CTFrame=}^{__CTFramesetter=}{_CFRange=ll}^{CGPath=}^{__CFDictionary=}', b'^{__CTFrame=}^{__CTFramesetter=}{_CFRange=qq}^{CGPath=}^{__CFDictionary=}'), '', {'retval': {'already_cfretained': True}}), 'CTTypesetterSuggestClusterBreak': (b'l^{__CTTypesetter=}ld',), 'CTFontCreateCopyWithFamily': (sel32or64(b'^{__CTFont=}^{__CTFont=}f^{CGAffineTransform=ffffff}^{__CFString=}', b'^{__CTFont=}^{__CTFont=}d^{CGAffineTransform=dddddd}^{__CFString=}'), '', {'retval': {'already_cfretained': True}}), 'CTFontGetGlyphsForCharacters': (b'B^{__CTFont=}^T^Sl', '', {'arguments': {1: {'c_array_length_in_arg': 3, 'type_modifier': 'n'}, 2: {'c_array_length_in_arg': 3, 'type_modifier': 'o'}}}), 'CTLineGetPenOffsetForFlush': (sel32or64(b'd^{__CTLine=}fd', b'd^{__CTLine=}dd'),), 'CTTypesetterSuggestLineBreak': (b'l^{__CTTypesetter=}ld',), 'CTFontCreateWithGraphicsFont': (sel32or64(b'^{__CTFont=}^{CGFont=}f^{CGAffineTransform=ffffff}^{__CTFontDescriptor=}', b'^{__CTFont=}^{CGFont=}d^{CGAffineTransform=dddddd}^{__CTFontDescriptor=}'), '', {'retval': {'already_cfretained': True}, 'arguments': {2: {'type_modifier': 'n'}}}), 'CTFontCreateWithQuickdrawInstance': (sel32or64(b'^{__CTFont=}*sCf', b'^{__CTFont=}*sCd'), '', {'retval': {'already_cfretained': True}}), 'CTFontManagerUnregisterFontsForURL': (b'B^{__CFURL=}I^^{__CFError=}', '', {'arguments': {2: {'already_cfretained': True, 'type_modifier': 'o', 'null_accepted': True}}}), 'CTFontManagerCreateFontRequestRunLoopSource': (b'^{__CFRunLoopSource=}l@?', '', {'retval': {'already_cfretained': True}, 'arguments': {1: {'block': {'retval': {'type': b'^{__CFArray=}'}, 'arguments': {0: {'type': b'^{__CFDictionary=}'}, 1: {'type': b'i'}}}}}}), 'CTFontManagerSetAutoActivationSetting': (b'v^{__CFString=}I',), 'CTRunGetStringIndices': (sel32or64(b'v^{__CTRun=}{_CFRange=ll}^l', b'v^{__CTRun=}{_CFRange=qq}^l'), '', {'arguments': {2: {'c_array_length_in_arg': 1, 'type_modifier': 'o'}}}), 'CTFontCopyAvailableTables': (b'^{__CFArray=}^{__CTFont=}I', '', {'retval': {'already_cfretained': True}}), 'CTFontManagerCompareFontFamilyNames': (b'l^v^v^v',), 'CTFontGetAscent': (sel32or64(b'f^{__CTFont=}', b'd^{__CTFont=}'),), 'CTFontManagerRegisterGraphicsFont': (b'B^{CGFont=}^^{__CFError=}', '', {'arguments': {1: {'already_cfretained': True, 'type_modifier': 'o', 'null_accepted': True}}}), 'CTFontCollectionCopyQueryDescriptors': (b'^{__CFArray=}^{__CTFontCollection=}', '', {'retval': {'already_cfretained': True}}), 'CTTypesetterCreateLine': (sel32or64(b'^{__CTLine=}^{__CTTypesetter=}{_CFRange=ll}', b'^{__CTLine=}^{__CTTypesetter=}{_CFRange=qq}'), '', {'retval': {'already_cfretained': True}}), 'CTFontGetDescent': (sel32or64(b'f^{__CTFont=}', b'd^{__CTFont=}'),), 'CTFontCreateWithFontDescriptor': (sel32or64(b'^{__CTFont=}^{__CTFontDescriptor=}f^{CGAffineTransform=ffffff}', b'^{__CTFont=}^{__CTFontDescriptor=}d^{CGAffineTransform=dddddd}'), '', {'retval': {'already_cfretained': True}, 'arguments': {2: {'type_modifier': 'n'}}}), 'CTRunGetAttributes': (b'^{__CFDictionary=}^{__CTRun=}',), 'CTFontCopySupportedLanguages': (b'^{__CFArray=}^{__CTFont=}', '', {'retval': {'already_cfretained': True}}), 'CTFontCopyVariationAxes': (b'^{__CFArray=}^{__CTFont=}', '', {'retval': {'already_cfretained': True}}), 'CTTextTabGetLocation': (b'd^{__CTTextTab=}',), 'CTFontCopyPostScriptName': (b'^{__CFString=}^{__CTFont=}', '', {'retval': {'already_cfretained': True}}), 'CTFrameGetVisibleStringRange': (sel32or64(b'{_CFRange=ll}^{__CTFrame=}', b'{_CFRange=qq}^{__CTFrame=}'),), 'CTFontGetVerticalTranslationsForGlyphs': (sel32or64(b'v^{__CTFont=}^S^{_NSSize=ff}l', b'v^{__CTFont=}^S^{CGSize=dd}l'), '', {'arguments': {1: {'c_array_length_in_arg': 3, 'type_modifier': 'n'}, 2: {'c_array_length_in_arg': 3, 'type_modifier': 'o'}}}), 'CTFontCollectionCreateMatchingFontDescriptorsWithOptions': (b'^{__CFArray=}^{__CTFontCollection=}^{__CFDictionary=}', '', {'retval': {'already_cfretained': True}}), 'CTFramesetterCreateWithAttributedString': (b'^{__CTFramesetter=}^{__CFAttributedString=}', '', {'retval': {'already_cfretained': True}}), 'CTFontCreatePathForGlyph': (sel32or64(b'^{CGPath=}^{__CTFont=}S^{CGAffineTransform=ffffff}', b'^{CGPath=}^{__CTFont=}S^{CGAffineTransform=dddddd}'), '', {'retval': {'already_cfretained': True}, 'arguments': {2: {'type_modifier': 'n'}}}), 'CTFrameDraw': (b'v^{__CTFrame=}^{CGContext=}',), 'CTTextTabGetAlignment': (b'C^{__CTTextTab=}',), 'CTFontManagerGetAutoActivationSetting': (b'I^{__CFString=}',), 'CTFontDescriptorCopyAttribute': (b'@^{__CTFontDescriptor=}^{__CFString=}', '', {'retval': {'already_cfretained': True}}), 'CTFontCreateWithFontDescriptorAndOptions': (sel32or64(b'^{__CTFont=}^{__CTFontDescriptor=}f^{CGAffineTransform=ffffff}L', b'^{__CTFont=}^{__CTFontDescriptor=}d^{CGAffineTransform=dddddd}L'), '', {'retval': {'already_cfretained': True}, 'arguments': {2: {'type_modifier': 'n'}}}), 'CTFontGetMatrix': (sel32or64(b'{CGAffineTransform=ffffff}^{__CTFont=}', b'{CGAffineTransform=dddddd}^{__CTFont=}'),), 'CTFontGetSymbolicTraits': (b'I^{__CTFont=}',), 'CTFontCreateCopyWithAttributes': (sel32or64(b'^{__CTFont=}^{__CTFont=}f^{CGAffineTransform=ffffff}^{__CTFontDescriptor=}', b'^{__CTFont=}^{__CTFont=}d^{CGAffineTransform=dddddd}^{__CTFontDescriptor=}'), '', {'retval': {'already_cfretained': True}}), 'CTFontCollectionCopyFontAttribute': (b'^{__CFArray=}^{__CTFontCollection=}^{__CFString=}I', '', {'retval': {'already_cfretained': True}}), 'CTFontCopyFamilyName': (b'^{__CFString=}^{__CTFont=}', '', {'retval': {'already_cfretained': True}}), 'CTGlyphInfoGetTypeID': (b'L',), 'CTParagraphStyleCreate': (sel32or64(b'^{__CTParagraphStyle=}^{CTParagraphStyleSetting=II^v}l', b'^{__CTParagraphStyle=}^{CTParagraphStyleSetting=IQ^v}l'), '', {'retval': {'already_cfretained': True}, 'arguments': {0: {'c_array_length_in_arg': 1, 'type_modifier': 'n'}}}), 'CTRunGetImageBounds': (sel32or64(b'{CGRect={CGPoint=ff}{CGSize=ff}}^{__CTRun=}^{CGContext=}{_CFRange=ll}', b'{CGRect={CGPoint=dd}{CGSize=dd}}^{__CTRun=}^{CGContext=}{_CFRange=qq}'),), 'CTFontManagerIsSupportedFont': (b'B^{__CFURL=}',), 'CTRunGetStatus': (b'I^{__CTRun=}',), 'CTFontGetUnitsPerEm': (b'I^{__CTFont=}',), 'CTFontCopyVariation': (b'^{__CFDictionary=}^{__CTFont=}', '', {'retval': {'already_cfretained': True}}), 'CTFrameGetFrameAttributes': (b'^{__CFDictionary=}^{__CTFrame=}',), 'CTTextTabCreate': (b'^{__CTTextTab=}Cd^{__CFDictionary=}', '', {'retval': {'already_cfretained': True}}), 'CTFontCollectionSetExclusionDescriptors': (b'v^{__CTFontCollection=}^{__CFArray=}',), 'CTFrameGetPath': (b'^{CGPath=}^{__CTFrame=}',), 'CTFrameGetTypeID': (b'L',), 'CTFramesetterGetTypeID': (b'L',), 'CTFontCollectionCreateFromAvailableFonts': (b'^{__CTFontCollection=}^{__CFDictionary=}', '', {'retval': {'already_cfretained': True}}), 'CTRunGetGlyphsPtr': (b'r^S^{__CTRun=}', '', {'retval': {'c_array_of_variable_length': True}}), 'CTFontDrawGlyphs': (sel32or64(b'v^{__CTFont=}^S^{CGPoint=ff}L^{CGContext=}', b'v^{__CTFont=}^S^{CGPoint=dd}L^{CGContext=}'),), 'CTFontGetGlyphCount': (b'l^{__CTFont=}',), 'CTGlyphInfoGetCharacterCollection': (b'S^{__CTGlyphInfo=}',), 'CTFontCopyAttribute': (b'@^{__CTFont=}^{__CFString=}', '', {'retval': {'already_cfretained': True}}), 'CTFontGetBoundingRectsForGlyphs': (sel32or64(b'{CGRect={CGPoint=ff}{CGSize=ff}}^{__CTFont=}I^S^{_NSRect={_NSPoint=ff}{_NSSize=ff}}l', b'{CGRect={CGPoint=dd}{CGSize=dd}}^{__CTFont=}I^S^{CGRect={CGPoint=dd}{CGSize=dd}}l'), '', {'arguments': {2: {'c_array_length_in_arg': 4, 'type_modifier': 'n'}, 3: {'c_array_length_in_arg': 4, 'type_modifier': 'o'}}}), 'CTFontGetBoundingBox': (sel32or64(b'{CGRect={CGPoint=ff}{CGSize=ff}}^{__CTFont=}', b'{CGRect={CGPoint=dd}{CGSize=dd}}^{__CTFont=}'),), 'CTTypesetterCreateWithAttributedStringAndOptions': (b'^{__CTTypesetter=}^{__CFAttributedString=}^{__CFDictionary=}', '', {'retval': {'already_cfretained': True}}), 'CTLineGetImageBounds': (sel32or64(b'{CGRect={CGPoint=ff}{CGSize=ff}}^{__CTLine=}^{CGContext=}', b'{CGRect={CGPoint=dd}{CGSize=dd}}^{__CTLine=}^{CGContext=}'),), 'CTGetCoreTextVersion': (b'I',), 'CTFontCopyDisplayName': (b'^{__CFString=}^{__CTFont=}', '', {'retval': {'already_cfretained': True}}), 'CTParagraphStyleCreateCopy': (b'^{__CTParagraphStyle=}^{__CTParagraphStyle=}', '', {'retval': {'already_cfretained': True}}), 'CTFontGetAdvancesForGlyphs': (sel32or64(b'd^{__CTFont=}I^S^{_NSSize=ff}l', b'd^{__CTFont=}I^S^{CGSize=dd}l'), '', {'arguments': {2: {'c_array_length_in_arg': 4, 'type_modifier': 'n'}, 3: {'c_array_length_in_arg': 4, 'type_modifier': 'o'}}}), 'CTTextTabGetOptions': (b'^{__CFDictionary=}^{__CTTextTab=}',), 'CTGlyphInfoCreateWithGlyph': (b'^{__CTGlyphInfo=}S^{__CTFont=}^{__CFString=}', '', {'retval': {'already_cfretained': True}}), 'CTFontGetSize': (sel32or64(b'f^{__CTFont=}', b'd^{__CTFont=}'),), 'CTFontManagerUnregisterGraphicsFont': (b'B^{CGFont=}^^{__CFError=}', '', {'arguments': {1: {'already_cfretained': True, 'type_modifier': 'o', 'null_accepted': True}}}), 'CTTypesetterSuggestClusterBreakWithOffset': (b'l^{__CTTypesetter=}ldd',), 'CTRunGetTypeID': (b'L',), 'CTLineGetTypographicBounds': (sel32or64(b'd^{__CTLine=}^f^f^f', b'd^{__CTLine=}^d^d^d'), '', {'arguments': {1: {'type_modifier': 'o'}, 2: {'type_modifier': 'o'}, 3: {'type_modifier': 'o'}}}), 'CTFontGetPlatformFont': (sel32or64(b'L^{__CTFont=}^^{__CTFontDescriptor}', b'I^{__CTFont=}^^{__CTFontDescriptor}'), '', {'arguments': {1: {'already_cfretained': True, 'type_modifier': 'o'}}}), 'CTLineGetTrailingWhitespaceWidth': (b'd^{__CTLine=}',), 'CTFontManagerRegisterFontsForURL': (b'B^{__CFURL=}I^^{__CFError=}', '', {'arguments': {2: {'already_cfretained': True, 'type_modifier': 'o', 'null_accepted': True}}}), 'CTFontCopyTable': (b'^{__CFData=}^{__CTFont=}II', '', {'retval': {'already_cfretained': True}}), 'CTTypesetterSuggestLineBreakWithOffset': (b'l^{__CTTypesetter=}ldd',), 'CTGlyphInfoCreateWithCharacterIdentifier': (b'^{__CTGlyphInfo=}SS^{__CFString=}', '', {'retval': {'already_cfretained': True}}), 'CTFontCopyCharacterSet': (b'^{__CFCharacterSet=}^{__CTFont=}', '', {'retval': {'already_cfretained': True}}), 'CTFontGetStringEncoding': (sel32or64(b'L^{__CTFont=}', b'I^{__CTFont=}'),), 'CTRunGetAdvances': (sel32or64(b'v^{__CTRun=}{_CFRange=ll}^{_NSSize=ff}', b'v^{__CTRun=}{_CFRange=qq}^{CGSize=dd}'), '', {'arguments': {2: {'c_array_length_in_arg': 1, 'type_modifier': 'o'}}}), 'CTFontCollectionCreateMatchingFontDescriptorsSortedWithCallback': (b'^{__CFArray=}^{__CTFontCollection=}^?@', '', {'retval': {'already_cfretained': True}, 'arguments': {1: {'callable': {'retval': {'type': b'i'}, 'arguments': {0: {'type': b'^{__CTFontDescriptor=}'}, 1: {'type': b'^{__CTFontDescriptor=}'}, 2: {'type': b'@'}}}, 'callable_retained': False}}}), 'CTFontCopyFullName': (b'^{__CFString=}^{__CTFont=}', '', {'retval': {'already_cfretained': True}}), 'CTParagraphStyleGetValueForSpecifier': (b'B^{__CTParagraphStyle=}IL^v', '', {'arguments': {3: {'c_array_length_in_arg': 2, 'type_modifier': 'o'}}}), 'CTLineGetOffsetForStringIndex': (sel32or64(b'f^{__CTLine=}l^f', b'd^{__CTLine=}l^d'), '', {'arguments': {2: {'type_modifier': 'o'}}}), 'CTFontManagerEnableFontDescriptors': (b'v^{__CFArray=}B',), 'CTFontCopyLocalizedName': (b'^{__CFString=}^{__CTFont=}^{__CFString=}^^{__CFString}', '', {'retval': {'already_cfretained': True}, 'arguments': {2: {'type_modifier': 'o'}}}), 'CTFontGetTypeID': (b'L',), 'CTGlyphInfoGetCharacterIdentifier': (b'S^{__CTGlyphInfo=}',), 'CTFontCreateWithPlatformFont': (sel32or64(b'^{__CTFont=}Lf^{CGAffineTransform=ffffff}^{__CTFontDescriptor=}', b'^{__CTFont=}Id^{CGAffineTransform=dddddd}^{__CTFontDescriptor=}'), '', {'retval': {'already_cfretained': True}, 'arguments': {2: {'type_modifier': 'n'}}}), 'CTFontCollectionGetTypeID': (b'L',), 'CTFontGetGlyphWithName': (b'S^{__CTFont=}^{__CFString=}',), 'CTLineGetGlyphRuns': (b'^{__CFArray=}^{__CTLine=}',), 'CTFontCreateWithNameAndOptions': (sel32or64(b'^{__CTFont=}^{__CFString=}f^{CGAffineTransform=ffffff}L', b'^{__CTFont=}^{__CFString=}d^{CGAffineTransform=dddddd}L'), '', {'retval': {'already_cfretained': True}, 'arguments': {2: {'type_modifier': 'n'}}}), 'CTFontDescriptorCreateCopyWithAttributes': (b'^{__CTFontDescriptor=}^{__CTFontDescriptor=}^{__CFDictionary=}', '', {'retval': {'already_cfretained': True}}), 'CTFontCollectionCreateCopyWithFontDescriptors': (b'^{__CTFontCollection=}^{__CTFontCollection=}^{__CFArray=}^{__CFDictionary=}', '', {'retval': {'already_cfretained': True}}), 'CTFrameGetLineOrigins': (sel32or64(b'v^{__CTFrame=}{_CFRange=ll}^{_NSPoint=ff}', b'v^{__CTFrame=}{_CFRange=qq}^{CGPoint=dd}'), '', {'arguments': {2: {'c_array_length_in_arg': 1, 'type_modifier': 'o'}}}), 'CTFontGetCapHeight': (sel32or64(b'f^{__CTFont=}', b'd^{__CTFont=}'),), 'CTFontGetUnderlineThickness': (sel32or64(b'f^{__CTFont=}', b'd^{__CTFont=}'),), 'CTFontManagerCopyAvailableFontURLs': (b'^{__CFArray=}', '', {'retval': {'already_cfretained': True}}), 'CTFontCopyFeatureSettings': (b'^{__CFArray=}^{__CTFont=}', '', {'retval': {'already_cfretained': True}}), 'CTFontDescriptorCreateMatchingFontDescriptor': (b'^{__CTFontDescriptor=}^{__CTFontDescriptor=}^{__CFSet=}', '', {'retval': {'already_cfretained': True}}), 'CTLineGetGlyphCount': (b'l^{__CTLine=}',), 'CTLineDraw': (b'v^{__CTLine=}^{CGContext=}',), 'CTRunGetStringRange': (sel32or64(b'{_CFRange=ll}^{__CTRun=}', b'{_CFRange=qq}^{__CTRun=}'),), 'CTTypesetterGetTypeID': (b'L',), 'CTFontCollectionCreateMatchingFontDescriptors': (b'^{__CFArray=}^{__CTFontCollection=}', '', {'retval': {'already_cfretained': True}}), 'CTRunGetTextMatrix': (sel32or64(b'{CGAffineTransform=ffffff}^{__CTRun=}', b'{CGAffineTransform=dddddd}^{__CTRun=}'),), 'CTFontGetLigatureCaretPositions': (sel32or64(b'l^{__CTFont=}S^fl', b'l^{__CTFont=}S^dl'),), 'CTFontCollectionCreateMutableCopy': (b'^{__CTFontCollection=}^{__CTFontCollection=}', '', {'retval': {'already_cfretained': True}}), 'CTFontDescriptorCreateWithNameAndSize': (sel32or64(b'^{__CTFontDescriptor=}^{__CFString=}f', b'^{__CTFontDescriptor=}^{__CFString=}d'), '', {'retval': {'already_cfretained': True}}), 'CTLineGetStringRange': (sel32or64(b'{_CFRange=ll}^{__CTLine=}', b'{_CFRange=qq}^{__CTLine=}'),), 'CTFontManagerCopyAvailablePostScriptNames': (b'^{__CFArray=}', '', {'retval': {'already_cfretained': True}}), 'CTLineCreateJustifiedLine': (sel32or64(b'^{__CTLine=}^{__CTLine=}fd', b'^{__CTLine=}^{__CTLine=}dd'), '', {'retval': {'already_cfretained': True}}), 'CTFrameGetLines': (b'^{__CFArray=}^{__CTFrame=}',), 'CTFontCopyFontDescriptor': (b'^{__CTFontDescriptor=}^{__CTFont=}', '', {'retval': {'already_cfretained': True}}), 'CTRunGetGlyphCount': (b'l^{__CTRun=}',), 'CTFontDescriptorCreateMatchingFontDescriptors': (b'^{__CFArray=}^{__CTFontDescriptor=}^{__CFSet=}', '', {'retval': {'already_cfretained': True}}), 'CTFontCollectionSetQueryDescriptors': (b'v^{__CTFontCollection=}^{__CFArray=}',), 'CTFontDescriptorCopyLocalizedAttribute': (b'@^{__CTFontDescriptor=}^{__CFString=}^^{__CFString}', '', {'retval': {'already_cfretained': True}, 'arguments': {2: {'type_modifier': 'o'}}}), 'CTFrameGetStringRange': (sel32or64(b'{_CFRange=ll}^{__CTFrame=}', b'{_CFRange=qq}^{__CTFrame=}'),), 'CTRunDraw': (sel32or64(b'v^{__CTRun=}^{CGContext=}{_CFRange=ll}', b'v^{__CTRun=}^{CGContext=}{_CFRange=qq}'),), 'CTFontCreateWithName': (sel32or64(b'^{__CTFont=}^{__CFString=}f^{CGAffineTransform=ffffff}', b'^{__CTFont=}^{__CFString=}d^{CGAffineTransform=dddddd}'), '', {'retval': {'already_cfretained': True}, 'arguments': {2: {'type_modifier': 'n'}}}), 'CTFramesetterGetTypesetter': (b'^{__CTTypesetter=}^{__CTFramesetter=}',), 'CTGlyphInfoCreateWithGlyphName': (b'^{__CTGlyphInfo=}^{__CFString=}^{__CTFont=}^{__CFString=}', '', {'retval': {'already_cfretained': True}}), 'CTFontCollectionCopyExclusionDescriptors': (b'^{__CFArray=}^{__CTFontCollection=}', '', {'retval': {'already_cfretained': True}}), 'CTFontCopyGraphicsFont': (b'^{CGFont=}^{__CTFont=}^^{__CTFontDescriptor}', '', {'retval': {'already_cfretained': True}, 'arguments': {1: {'already_cfretained': True, 'type_modifier': 'o'}}}), 'CTFontDescriptorCreateCopyWithFeature': (b'^{__CTFontDescriptor=}^{__CTFontDescriptor=}^{__CFNumber=}^{__CFNumber=}', '', {'retval': {'already_cfretained': True}}), 'CTFontGetXHeight': (sel32or64(b'f^{__CTFont=}', b'd^{__CTFont=}'),), 'CTRunGetPositions': (sel32or64(b'v^{__CTRun=}{_CFRange=ll}^{_NSPoint=ff}', b'v^{__CTRun=}{_CFRange=qq}^{CGPoint=dd}'), '', {'arguments': {2: {'c_array_length_in_arg': 1, 'type_modifier': 'o'}}}), 'CTFontDescriptorCreateCopyWithVariation': (sel32or64(b'^{__CTFontDescriptor=}^{__CTFontDescriptor=}^{__CFNumber=}f', b'^{__CTFontDescriptor=}^{__CTFontDescriptor=}^{__CFNumber=}d'), '', {'retval': {'already_cfretained': True}}), 'CTFontDescriptorCreateWithAttributes': (b'^{__CTFontDescriptor=}^{__CFDictionary=}', '', {'retval': {'already_cfretained': True}}), 'CTFontDescriptorGetTypeID': (b'L',), 'CTFontCreateUIFontForLanguage': (sel32or64(b'^{__CTFont=}If^{__CFString=}', b'^{__CTFont=}Id^{__CFString=}'), '', {'retval': {'already_cfretained': True}}), 'CTTextTabGetTypeID': (b'L',), 'CTFontManagerUnregisterFontsForURLs': (b'B^{__CFArray=}I^^{__CFArray=}',), 'CTFontCreateCopyWithSymbolicTraits': (sel32or64(b'^{__CTFont=}^{__CTFont=}f^{CGAffineTransform=ffffff}II', b'^{__CTFont=}^{__CTFont=}d^{CGAffineTransform=dddddd}II'), '', {'retval': {'already_cfretained': True}}), 'CTFontCopyTraits': (b'^{__CFDictionary=}^{__CTFont=}', '', {'retval': {'already_cfretained': True}}), 'CTRunGetStringIndicesPtr': (sel32or64(b'r^i^{__CTRun=}', b'r^q^{__CTRun=}'), '', {'retval': {'c_array_of_variable_length': True}}), 'CTLineGetStringIndexForPosition': (sel32or64(b'l^{__CTLine=}{CGPoint=ff}', b'l^{__CTLine=}{CGPoint=dd}'),), 'CTFontDescriptorCopyAttributes': (b'^{__CFDictionary=}^{__CTFontDescriptor=}', '', {'retval': {'already_cfretained': True}}), 'CTFontGetLeading': (sel32or64(b'f^{__CTFont=}', b'd^{__CTFont=}'),), 'CTRunGetGlyphs': (sel32or64(b'v^{__CTRun=}{_CFRange=ll}^S', b'v^{__CTRun=}{_CFRange=qq}^S'), '', {'arguments': {2: {'c_array_length_in_arg': 1, 'type_modifier': 'o'}}}), 'CTFontCollectionCreateWithFontDescriptors': (b'^{__CTFontCollection=}^{__CFArray=}^{__CFDictionary=}', '', {'retval': {'already_cfretained': True}}), 'CTTypesetterCreateLineWithOffset': (sel32or64(b'^{__CTLine=}^{__CTTypesetter=}{_CFRange=ll}d', b'^{__CTLine=}^{__CTTypesetter=}{_CFRange=qq}d'), '', {'retval': {'already_cfretained': True}}), 'CTFontCollectionCreateMatchingFontDescriptorsForFamily': (b'^{__CFArray=}^{__CTFontCollection=}^{__CFString=}^{__CFDictionary=}', '', {'retval': {'already_cfretained': True}}), 'CTFontGetUnderlinePosition': (sel32or64(b'f^{__CTFont=}', b'd^{__CTFont=}'),), 'CTRunGetTypographicBounds': (sel32or64(b'd^{__CTRun=}{_CFRange=ll}^f^f^f', b'd^{__CTRun=}{_CFRange=qq}^d^d^d'), '', {'arguments': {2: {'type_modifier': 'o'}, 3: {'type_modifier': 'o'}, 4: {'type_modifier': 'o'}}}), 'CTTypesetterCreateWithAttributedString': (b'^{__CTTypesetter=}^{__CFAttributedString=}', '', {'retval': {'already_cfretained': True}}), 'CTLineCreateWithAttributedString': (b'^{__CTLine=}^{__CFAttributedString=}', '', {'retval': {'already_cfretained': True}}), 'CTFontCopyName': (b'^{__CFString=}^{__CTFont=}^{__CFString=}', '', {'retval': {'already_cfretained': True}}), 'CTFontGetSlantAngle': (sel32or64(b'f^{__CTFont=}', b'd^{__CTFont=}'),), 'CTFramesetterSuggestFrameSizeWithConstraints': (sel32or64(b'{CGSize=ff}^{__CTTypesetter=}{_CFRange=ll}@{CGSize=ff}^{_CFRange=ll}', b'{CGSize=dd}^{__CTTypesetter=}{_CFRange=qq}@{CGSize=dd}^{_CFRange=qq}'), '', {'arguments': {4: {'type_modifier': 'o'}}}), 'CTFontCollectionCopyFontAttributes': (b'^{__CFArray=}^{__CTFontCollection=}^{__CFSet=}I', '', {'retval': {'already_cfretained': True}}), 'CTFontManagerRegisterFontsForURLs': (b'B^{__CFArray=}I^^{__CFArray=}',), 'CTFontCopyFeatures': (b'^{__CFArray=}^{__CTFont=}', '', {'retval': {'already_cfretained': True}}), 'CTFontCreateForString': (sel32or64(b'^{__CTFont=}^{__CTFont=}^{__CFString=}{_CFRange=ll}', b'^{__CTFont=}^{__CTFont=}^{__CFString=}{_CFRange=qq}'), '', {'retval': {'already_cfretained': True}}), 'CTGlyphInfoGetGlyphName': (b'^{__CFString=}^{__CTGlyphInfo=}',), 'CTParagraphStyleGetTypeID': (b'L',), 'CTFontManagerGetScopeForURL': (b'I^{__CFURL=}',), 'CTFontManagerCopyAvailableFontFamilyNames': (b'^{__CFArray=}', '', {'retval': {'already_cfretained': True}}), 'CTLineGetTypeID': (b'L',), 'CTRunGetPositionsPtr': (sel32or64(b'r^{_NSPoint=ff}^{__CTRun=}', b'r^{CGPoint=dd}^{__CTRun=}'), '', {'retval': {'c_array_of_variable_length': True}})}
-aliases = {'CT_AVAILABLE_BUT_DEPRECATED': '__OSX_AVAILABLE_BUT_DEPRECATED', 'CT_AVAILABLE_STARTING': '__OSX_AVAILABLE_STARTING'}
+functions={'CTFontManagerCreateFontDescriptorsFromURL': (b'^{__CFArray=}^{__CFURL=}', '', {'retval': {'already_cfretained': True}}), 'CTLineCreateTruncatedLine': (b'^{__CTLine=}^{__CTLine=}dI^{__CTLine=}', '', {'retval': {'already_cfretained': True}}), 'CTFramesetterCreateFrame': (sel32or64(b'^{__CTFrame=}^{__CTFramesetter=}{_CFRange=ll}^{CGPath=}^{__CFDictionary=}', b'^{__CTFrame=}^{__CTFramesetter=}{_CFRange=qq}^{CGPath=}^{__CFDictionary=}'), '', {'retval': {'already_cfretained': True}}), 'CTTypesetterSuggestClusterBreak': (sel32or64(b'l^{__CTTypesetter=}ld', b'q^{__CTTypesetter=}qd'),), 'CTFontCreateCopyWithFamily': (sel32or64(b'^{__CTFont=}^{__CTFont=}f^{CGAffineTransform=ffffff}^{__CFString=}', b'^{__CTFont=}^{__CTFont=}d^{CGAffineTransform=dddddd}^{__CFString=}'), '', {'retval': {'already_cfretained': True}}), 'CTFontGetGlyphsForCharacters': (sel32or64(b'B^{__CTFont=}^T^Sl', b'B^{__CTFont=}^T^Sq'), '', {'arguments': {1: {'c_array_length_in_arg': 3, 'type_modifier': 'n'}, 2: {'c_array_length_in_arg': 3, 'type_modifier': 'o'}}}), 'CTLineGetPenOffsetForFlush': (sel32or64(b'd^{__CTLine=}fd', b'd^{__CTLine=}dd'),), 'CTTypesetterSuggestLineBreak': (sel32or64(b'l^{__CTTypesetter=}ld', b'q^{__CTTypesetter=}qd'),), 'CTFontCreateWithGraphicsFont': (sel32or64(b'^{__CTFont=}^{CGFont=}f^{CGAffineTransform=ffffff}^{__CTFontDescriptor=}', b'^{__CTFont=}^{CGFont=}d^{CGAffineTransform=dddddd}^{__CTFontDescriptor=}'), '', {'retval': {'already_cfretained': True}, 'arguments': {2: {'type_modifier': 'n'}}}), 'CTRunGetStringRange': (sel32or64(b'{_CFRange=ll}^{__CTRun=}', b'{_CFRange=qq}^{__CTRun=}'),), 'CTFontCreateWithQuickdrawInstance': (sel32or64(b'^{__CTFont=}*sCf', b'^{__CTFont=}*sCd'), '', {'retval': {'already_cfretained': True}}), 'CTFontManagerUnregisterFontsForURL': (b'B^{__CFURL=}I^^{__CFError=}', '', {'arguments': {2: {'already_cfretained': True, 'type_modifier': 'o', 'null_accepted': True}}}), 'CTFontManagerCreateFontRequestRunLoopSource': (sel32or64(b'^{__CFRunLoopSource=}l@?', b'^{__CFRunLoopSource=}q@?'), '', {'retval': {'already_cfretained': True}, 'arguments': {1: {'block': {'retval': {'type': b'^{__CFArray=}'}, 'arguments': {0: {'type': b'^{__CFDictionary=}'}, 1: {'type': b'i'}}}}}}), 'CTFontManagerSetAutoActivationSetting': (b'v^{__CFString=}I',), 'CTRunGetStringIndices': (sel32or64(b'v^{__CTRun=}{_CFRange=ll}^l', b'v^{__CTRun=}{_CFRange=qq}^q'), '', {'arguments': {2: {'c_array_length_in_arg': 1, 'type_modifier': 'o'}}}), 'CTFontCopyAvailableTables': (b'^{__CFArray=}^{__CTFont=}I', '', {'retval': {'already_cfretained': True}}), 'CTFontManagerCompareFontFamilyNames': (sel32or64(b'i^v^v^v', b'q^v^v^v'),), 'CTRunGetStringIndicesPtr': (sel32or64(b'r^i^{__CTRun=}', b'r^q^{__CTRun=}'), '', {'retval': {'c_array_of_variable_length': True}}), 'CTFontGetAscent': (sel32or64(b'f^{__CTFont=}', b'd^{__CTFont=}'),), 'CTFontManagerRegisterGraphicsFont': (b'B^{CGFont=}^^{__CFError=}', '', {'arguments': {1: {'already_cfretained': True, 'type_modifier': 'o', 'null_accepted': True}}}), 'CTFontCollectionCopyQueryDescriptors': (b'^{__CFArray=}^{__CTFontCollection=}', '', {'retval': {'already_cfretained': True}}), 'CTTypesetterCreateLine': (sel32or64(b'^{__CTLine=}^{__CTTypesetter=}{_CFRange=ll}', b'^{__CTLine=}^{__CTTypesetter=}{_CFRange=qq}'), '', {'retval': {'already_cfretained': True}}), 'CTFontGetDescent': (sel32or64(b'f^{__CTFont=}', b'd^{__CTFont=}'),), 'CTFontCreateWithFontDescriptor': (sel32or64(b'^{__CTFont=}^{__CTFontDescriptor=}f^{CGAffineTransform=ffffff}', b'^{__CTFont=}^{__CTFontDescriptor=}d^{CGAffineTransform=dddddd}'), '', {'retval': {'already_cfretained': True}, 'arguments': {2: {'type_modifier': 'n'}}}), 'CTRunGetAttributes': (b'^{__CFDictionary=}^{__CTRun=}',), 'CTFontCopySupportedLanguages': (b'^{__CFArray=}^{__CTFont=}', '', {'retval': {'already_cfretained': True}}), 'CTFontCopyVariationAxes': (b'^{__CFArray=}^{__CTFont=}', '', {'retval': {'already_cfretained': True}}), 'CTTextTabGetLocation': (b'd^{__CTTextTab=}',), 'CTFontCopyPostScriptName': (b'^{__CFString=}^{__CTFont=}', '', {'retval': {'already_cfretained': True}}), 'CTFrameGetVisibleStringRange': (sel32or64(b'{_CFRange=ll}^{__CTFrame=}', b'{_CFRange=qq}^{__CTFrame=}'),), 'CTFontGetVerticalTranslationsForGlyphs': (sel32or64(b'v^{__CTFont=}^S^{_NSSize=ff}l', b'v^{__CTFont=}^S^{CGSize=dd}q'), '', {'arguments': {1: {'c_array_length_in_arg': 3, 'type_modifier': 'n'}, 2: {'c_array_length_in_arg': 3, 'type_modifier': 'o'}}}), 'CTFontCollectionCreateMatchingFontDescriptorsWithOptions': (b'^{__CFArray=}^{__CTFontCollection=}^{__CFDictionary=}', '', {'retval': {'already_cfretained': True}}), 'CTFramesetterCreateWithAttributedString': (b'^{__CTFramesetter=}^{__CFAttributedString=}', '', {'retval': {'already_cfretained': True}}), 'CTFontCreatePathForGlyph': (sel32or64(b'^{CGPath=}^{__CTFont=}S^{CGAffineTransform=ffffff}', b'^{CGPath=}^{__CTFont=}S^{CGAffineTransform=dddddd}'), '', {'retval': {'already_cfretained': True}, 'arguments': {2: {'type_modifier': 'n'}}}), 'CTFrameDraw': (b'v^{__CTFrame=}^{CGContext=}',), 'CTFontCollectionCopyExclusionDescriptors': (b'^{__CFArray=}^{__CTFontCollection=}', '', {'retval': {'already_cfretained': True}}), 'CTFontManagerGetAutoActivationSetting': (b'I^{__CFString=}',), 'CTFontGetOpticalBoundsForGlyphs': (sel32or64(b'{CGRect={CGPoint=ff}{CGSize=ff}}^{__CTFont=}^S^{CGRect={CGPoint=ff}{CGSize=ff}}lL', b'{CGRect={CGPoint=dd}{CGSize=dd}}^{__CTFont=}^S^{CGRect={CGPoint=dd}{CGSize=dd}}qQ'),), 'CTFontDescriptorCopyAttribute': (b'@^{__CTFontDescriptor=}^{__CFString=}', '', {'retval': {'already_cfretained': True}}), 'CTFontCreateWithFontDescriptorAndOptions': (sel32or64(b'^{__CTFont=}^{__CTFontDescriptor=}f^{CGAffineTransform=ffffff}L', b'^{__CTFont=}^{__CTFontDescriptor=}d^{CGAffineTransform=dddddd}L'), '', {'retval': {'already_cfretained': True}, 'arguments': {2: {'type_modifier': 'n'}}}), 'CTFontGetMatrix': (sel32or64(b'{CGAffineTransform=ffffff}^{__CTFont=}', b'{CGAffineTransform=dddddd}^{__CTFont=}'),), 'CTFontGetSymbolicTraits': (b'I^{__CTFont=}',), 'CTFontCreateCopyWithAttributes': (sel32or64(b'^{__CTFont=}^{__CTFont=}f^{CGAffineTransform=ffffff}^{__CTFontDescriptor=}', b'^{__CTFont=}^{__CTFont=}d^{CGAffineTransform=dddddd}^{__CTFontDescriptor=}'), '', {'retval': {'already_cfretained': True}}), 'CTFontCollectionCopyFontAttribute': (b'^{__CFArray=}^{__CTFontCollection=}^{__CFString=}I', '', {'retval': {'already_cfretained': True}}), 'CTFontCopyFamilyName': (b'^{__CFString=}^{__CTFont=}', '', {'retval': {'already_cfretained': True}}), 'CTGlyphInfoGetTypeID': (b'L',), 'CTParagraphStyleCreate': (sel32or64(b'^{__CTParagraphStyle=}^{CTParagraphStyleSetting=II^v}l', b'^{__CTParagraphStyle=}^{CTParagraphStyleSetting=IQ^v}q'), '', {'retval': {'already_cfretained': True}, 'arguments': {0: {'c_array_length_in_arg': 1, 'type_modifier': 'n'}}}), 'CTRunGetImageBounds': (sel32or64(b'{CGRect={CGPoint=ff}{CGSize=ff}}^{__CTRun=}^{CGContext=}{_CFRange=ll}', b'{CGRect={CGPoint=dd}{CGSize=dd}}^{__CTRun=}^{CGContext=}{_CFRange=qq}'),), 'CTFontManagerIsSupportedFont': (b'B^{__CFURL=}',), 'CTRunGetStatus': (b'I^{__CTRun=}',), 'CTGlyphInfoGetCharacterIdentifier': (b'S^{__CTGlyphInfo=}',), 'CTFontGetUnitsPerEm': (b'I^{__CTFont=}',), 'CTFontCopyVariation': (b'^{__CFDictionary=}^{__CTFont=}', '', {'retval': {'already_cfretained': True}}), 'CTFrameGetFrameAttributes': (b'^{__CFDictionary=}^{__CTFrame=}',), 'CTTextTabCreate': (b'^{__CTTextTab=}Cd^{__CFDictionary=}', '', {'retval': {'already_cfretained': True}}), 'CTFontCollectionSetExclusionDescriptors': (b'v^{__CTFontCollection=}^{__CFArray=}',), 'CTFrameGetPath': (b'^{CGPath=}^{__CTFrame=}',), 'CTFrameGetTypeID': (b'L',), 'CTFramesetterGetTypeID': (b'L',), 'CTFontCollectionCreateFromAvailableFonts': (b'^{__CTFontCollection=}^{__CFDictionary=}', '', {'retval': {'already_cfretained': True}}), 'CTRunGetGlyphsPtr': (b'r^S^{__CTRun=}', '', {'retval': {'c_array_of_variable_length': True}}), 'CTFontDrawGlyphs': (sel32or64(b'v^{__CTFont=}^S^{CGPoint=ff}L^{CGContext=}', b'v^{__CTFont=}^S^{CGPoint=dd}L^{CGContext=}'),), 'CTFontGetGlyphCount': (sel32or64(b'l^{__CTFont=}', b'q^{__CTFont=}'),), 'CTFontManagerCreateFontDescriptorFromData': (b'^{__CTFontDescriptor=}^{__CFData=}', '', {'retval': {'already_cfretained': True}}), 'CTGlyphInfoGetCharacterCollection': (b'S^{__CTGlyphInfo=}',), 'CTFontCopyAttribute': (b'@^{__CTFont=}^{__CFString=}', '', {'retval': {'already_cfretained': True}}), 'CTFontGetBoundingRectsForGlyphs': (sel32or64(b'{CGRect={CGPoint=ff}{CGSize=ff}}^{__CTFont=}I^S^{_NSRect={_NSPoint=ff}{_NSSize=ff}}l', b'{CGRect={CGPoint=dd}{CGSize=dd}}^{__CTFont=}I^S^{CGRect={CGPoint=dd}{CGSize=dd}}q'), '', {'arguments': {2: {'c_array_length_in_arg': 4, 'type_modifier': 'n'}, 3: {'c_array_length_in_arg': 4, 'type_modifier': 'o'}}}), 'CTFontGetBoundingBox': (sel32or64(b'{CGRect={CGPoint=ff}{CGSize=ff}}^{__CTFont=}', b'{CGRect={CGPoint=dd}{CGSize=dd}}^{__CTFont=}'),), 'CTTypesetterCreateWithAttributedStringAndOptions': (b'^{__CTTypesetter=}^{__CFAttributedString=}^{__CFDictionary=}', '', {'retval': {'already_cfretained': True}}), 'CTLineGetImageBounds': (sel32or64(b'{CGRect={CGPoint=ff}{CGSize=ff}}^{__CTLine=}^{CGContext=}', b'{CGRect={CGPoint=dd}{CGSize=dd}}^{__CTLine=}^{CGContext=}'),), 'CTFontCopyDisplayName': (b'^{__CFString=}^{__CTFont=}', '', {'retval': {'already_cfretained': True}}), 'CTGetCoreTextVersion': (b'I',), 'CTParagraphStyleCreateCopy': (b'^{__CTParagraphStyle=}^{__CTParagraphStyle=}', '', {'retval': {'already_cfretained': True}}), 'CTFontGetAdvancesForGlyphs': (sel32or64(b'd^{__CTFont=}I^S^{_NSSize=ff}l', b'd^{__CTFont=}I^S^{CGSize=dd}q'), '', {'arguments': {2: {'c_array_length_in_arg': 4, 'type_modifier': 'n'}, 3: {'c_array_length_in_arg': 4, 'type_modifier': 'o'}}}), 'CTTextTabGetOptions': (b'^{__CFDictionary=}^{__CTTextTab=}',), 'CTGlyphInfoCreateWithGlyph': (b'^{__CTGlyphInfo=}S^{__CTFont=}^{__CFString=}', '', {'retval': {'already_cfretained': True}}), 'CTFontCreateWithPlatformFont': (sel32or64(b'^{__CTFont=}Lf^{CGAffineTransform=ffffff}^{__CTFontDescriptor=}', b'^{__CTFont=}Id^{CGAffineTransform=dddddd}^{__CTFontDescriptor=}'), '', {'retval': {'already_cfretained': True}, 'arguments': {2: {'type_modifier': 'n'}}}), 'CTFontManagerUnregisterGraphicsFont': (b'B^{CGFont=}^^{__CFError=}', '', {'arguments': {1: {'already_cfretained': True, 'type_modifier': 'o', 'null_accepted': True}}}), 'CTTypesetterSuggestClusterBreakWithOffset': (sel32or64(b'l^{__CTTypesetter=}ldd', b'q^{__CTTypesetter=}qdd'),), 'CTRunGetTypeID': (b'L',), 'CTLineGetTypographicBounds': (sel32or64(b'd^{__CTLine=}^f^f^f', b'd^{__CTLine=}^d^d^d'), '', {'arguments': {1: {'type_modifier': 'o'}, 2: {'type_modifier': 'o'}, 3: {'type_modifier': 'o'}}}), 'CTFontGetPlatformFont': (sel32or64(b'L^{__CTFont=}^^{__CTFontDescriptor}', b'I^{__CTFont=}^^{__CTFontDescriptor}'), '', {'arguments': {1: {'already_cfretained': True, 'type_modifier': 'o'}}}), 'CTLineGetTrailingWhitespaceWidth': (b'd^{__CTLine=}',), 'CTFontManagerRegisterFontsForURL': (b'B^{__CFURL=}I^^{__CFError=}', '', {'arguments': {2: {'already_cfretained': True, 'type_modifier': 'o', 'null_accepted': True}}}), 'CTFontCopyTable': (b'^{__CFData=}^{__CTFont=}II', '', {'retval': {'already_cfretained': True}}), 'CTTypesetterSuggestLineBreakWithOffset': (sel32or64(b'l^{__CTTypesetter=}ldd', b'q^{__CTTypesetter=}qdd'),), 'CTGlyphInfoCreateWithCharacterIdentifier': (b'^{__CTGlyphInfo=}SS^{__CFString=}', '', {'retval': {'already_cfretained': True}}), 'CTFontCopyCharacterSet': (b'^{__CFCharacterSet=}^{__CTFont=}', '', {'retval': {'already_cfretained': True}}), 'CTFontGetStringEncoding': (sel32or64(b'L^{__CTFont=}', b'I^{__CTFont=}'),), 'CTRunGetAdvances': (sel32or64(b'v^{__CTRun=}{_CFRange=ll}^{_NSSize=ff}', b'v^{__CTRun=}{_CFRange=qq}^{CGSize=dd}'), '', {'arguments': {2: {'c_array_length_in_arg': 1, 'type_modifier': 'o'}}}), 'CTFontCollectionCreateMatchingFontDescriptorsSortedWithCallback': (b'^{__CFArray=}^{__CTFontCollection=}^?@', '', {'retval': {'already_cfretained': True}, 'arguments': {1: {'callable': {'retval': {'type': b'i'}, 'arguments': {0: {'type': b'^{__CTFontDescriptor=}'}, 1: {'type': b'^{__CTFontDescriptor=}'}, 2: {'type': b'@'}}}, 'callable_retained': False}}}), 'CTFontCopyFullName': (b'^{__CFString=}^{__CTFont=}', '', {'retval': {'already_cfretained': True}}), 'CTParagraphStyleGetValueForSpecifier': (b'B^{__CTParagraphStyle=}IL^v', '', {'arguments': {3: {'c_array_length_in_arg': 2, 'type_modifier': 'o'}}}), 'CTLineGetOffsetForStringIndex': (sel32or64(b'f^{__CTLine=}l^f', b'd^{__CTLine=}q^d'), '', {'arguments': {2: {'type_modifier': 'o'}}}), 'CTFontManagerEnableFontDescriptors': (b'v^{__CFArray=}B',), 'CTFontCopyLocalizedName': (b'^{__CFString=}^{__CTFont=}^{__CFString=}^^{__CFString}', '', {'retval': {'already_cfretained': True}, 'arguments': {2: {'type_modifier': 'o'}}}), 'CTFontGetTypeID': (b'L',), 'CTFontManagerGetScopeForURL': (b'I^{__CFURL=}',), 'CTFontGetSize': (sel32or64(b'f^{__CTFont=}', b'd^{__CTFont=}'),), 'CTFontCollectionGetTypeID': (b'L',), 'CTFontGetGlyphWithName': (b'S^{__CTFont=}^{__CFString=}',), 'CTLineGetGlyphRuns': (b'^{__CFArray=}^{__CTLine=}',), 'CTFontCreateWithNameAndOptions': (sel32or64(b'^{__CTFont=}^{__CFString=}f^{CGAffineTransform=ffffff}L', b'^{__CTFont=}^{__CFString=}d^{CGAffineTransform=dddddd}L'), '', {'retval': {'already_cfretained': True}, 'arguments': {2: {'type_modifier': 'n'}}}), 'CTFontDescriptorCreateCopyWithAttributes': (b'^{__CTFontDescriptor=}^{__CTFontDescriptor=}^{__CFDictionary=}', '', {'retval': {'already_cfretained': True}}), 'CTFontCopyFontDescriptor': (b'^{__CTFontDescriptor=}^{__CTFont=}', '', {'retval': {'already_cfretained': True}}), 'CTFontGetCapHeight': (sel32or64(b'f^{__CTFont=}', b'd^{__CTFont=}'),), 'CTFontGetUnderlineThickness': (sel32or64(b'f^{__CTFont=}', b'd^{__CTFont=}'),), 'CTFontManagerCopyAvailableFontURLs': (b'^{__CFArray=}', '', {'retval': {'already_cfretained': True}}), 'CTFontCopyFeatureSettings': (b'^{__CFArray=}^{__CTFont=}', '', {'retval': {'already_cfretained': True}}), 'CTFontDescriptorCreateMatchingFontDescriptor': (b'^{__CTFontDescriptor=}^{__CTFontDescriptor=}^{__CFSet=}', '', {'retval': {'already_cfretained': True}}), 'CTLineGetGlyphCount': (sel32or64(b'l^{__CTLine=}', b'q^{__CTLine=}'),), 'CTLineDraw': (b'v^{__CTLine=}^{CGContext=}',), 'CTFontDescriptorCreateCopyWithFeature': (b'^{__CTFontDescriptor=}^{__CTFontDescriptor=}^{__CFNumber=}^{__CFNumber=}', '', {'retval': {'already_cfretained': True}}), 'CTTypesetterGetTypeID': (b'L',), 'CTRunGetTextMatrix': (sel32or64(b'{CGAffineTransform=ffffff}^{__CTRun=}', b'{CGAffineTransform=dddddd}^{__CTRun=}'),), 'CTFontGetLigatureCaretPositions': (sel32or64(b'l^{__CTFont=}S^fl', b'q^{__CTFont=}S^dq'),), 'CTFontCollectionCreateMutableCopy': (b'^{__CTFontCollection=}^{__CTFontCollection=}', '', {'retval': {'already_cfretained': True}}), 'CTFontDescriptorCreateWithNameAndSize': (sel32or64(b'^{__CTFontDescriptor=}^{__CFString=}f', b'^{__CTFontDescriptor=}^{__CFString=}d'), '', {'retval': {'already_cfretained': True}}), 'CTLineGetStringRange': (sel32or64(b'{_CFRange=ll}^{__CTLine=}', b'{_CFRange=qq}^{__CTLine=}'),), 'CTFontManagerCopyAvailablePostScriptNames': (b'^{__CFArray=}', '', {'retval': {'already_cfretained': True}}), 'CTLineCreateJustifiedLine': (sel32or64(b'^{__CTLine=}^{__CTLine=}fd', b'^{__CTLine=}^{__CTLine=}dd'), '', {'retval': {'already_cfretained': True}}), 'CTFrameGetLines': (b'^{__CFArray=}^{__CTFrame=}',), 'CTFontCollectionCreateCopyWithFontDescriptors': (b'^{__CTFontCollection=}^{__CTFontCollection=}^{__CFArray=}^{__CFDictionary=}', '', {'retval': {'already_cfretained': True}}), 'CTRunGetGlyphCount': (sel32or64(b'l^{__CTRun=}', b'q^{__CTRun=}'),), 'CTFontDescriptorCreateMatchingFontDescriptors': (b'^{__CFArray=}^{__CTFontDescriptor=}^{__CFSet=}', '', {'retval': {'already_cfretained': True}}), 'CTFontCollectionSetQueryDescriptors': (b'v^{__CTFontCollection=}^{__CFArray=}',), 'CTFontDescriptorCopyLocalizedAttribute': (b'@^{__CTFontDescriptor=}^{__CFString=}^^{__CFString}', '', {'retval': {'already_cfretained': True}, 'arguments': {2: {'type_modifier': 'o'}}}), 'CTFrameGetStringRange': (sel32or64(b'{_CFRange=ll}^{__CTFrame=}', b'{_CFRange=qq}^{__CTFrame=}'),), 'CTFrameGetLineOrigins': (sel32or64(b'v^{__CTFrame=}{_CFRange=ll}^{_NSPoint=ff}', b'v^{__CTFrame=}{_CFRange=qq}^{CGPoint=dd}'), '', {'arguments': {2: {'c_array_length_in_arg': 1, 'type_modifier': 'o'}}}), 'CTFontCreateWithName': (sel32or64(b'^{__CTFont=}^{__CFString=}f^{CGAffineTransform=ffffff}', b'^{__CTFont=}^{__CFString=}d^{CGAffineTransform=dddddd}'), '', {'retval': {'already_cfretained': True}, 'arguments': {2: {'type_modifier': 'n'}}}), 'CTFramesetterGetTypesetter': (b'^{__CTTypesetter=}^{__CTFramesetter=}',), 'CTGlyphInfoCreateWithGlyphName': (b'^{__CTGlyphInfo=}^{__CFString=}^{__CTFont=}^{__CFString=}', '', {'retval': {'already_cfretained': True}}), 'CTLineGetBoundsWithOptions': (sel32or64(b'{CGRect={CGPoint=ff}{CGSize=ff}}^{__CTLine=}i', b'{CGRect={CGPoint=dd}{CGSize=dd}}^{__CTLine=}i'),), 'CTFontCopyGraphicsFont': (b'^{CGFont=}^{__CTFont=}^^{__CTFontDescriptor}', '', {'retval': {'already_cfretained': True}, 'arguments': {1: {'already_cfretained': True, 'type_modifier': 'o'}}}), 'CTFontCollectionCreateMatchingFontDescriptorsForFamily': (b'^{__CFArray=}^{__CTFontCollection=}^{__CFString=}^{__CFDictionary=}', '', {'retval': {'already_cfretained': True}}), 'CTFontGetXHeight': (sel32or64(b'f^{__CTFont=}', b'd^{__CTFont=}'),), 'CTRunGetPositions': (sel32or64(b'v^{__CTRun=}{_CFRange=ll}^{_NSPoint=ff}', b'v^{__CTRun=}{_CFRange=qq}^{CGPoint=dd}'), '', {'arguments': {2: {'c_array_length_in_arg': 1, 'type_modifier': 'o'}}}), 'CTFontDescriptorCreateCopyWithVariation': (sel32or64(b'^{__CTFontDescriptor=}^{__CTFontDescriptor=}^{__CFNumber=}f', b'^{__CTFontDescriptor=}^{__CTFontDescriptor=}^{__CFNumber=}d'), '', {'retval': {'already_cfretained': True}}), 'CTFontDescriptorCreateWithAttributes': (b'^{__CTFontDescriptor=}^{__CFDictionary=}', '', {'retval': {'already_cfretained': True}}), 'CTFontDescriptorGetTypeID': (b'L',), 'CTFontCollectionCreateMatchingFontDescriptors': (b'^{__CFArray=}^{__CTFontCollection=}', '', {'retval': {'already_cfretained': True}}), 'CTTextTabGetTypeID': (b'L',), 'CTFontManagerUnregisterFontsForURLs': (b'B^{__CFArray=}I^^{__CFArray=}',), 'CTFontCreateCopyWithSymbolicTraits': (sel32or64(b'^{__CTFont=}^{__CTFont=}f^{CGAffineTransform=ffffff}II', b'^{__CTFont=}^{__CTFont=}d^{CGAffineTransform=dddddd}II'), '', {'retval': {'already_cfretained': True}}), 'CTFontCopyTraits': (b'^{__CFDictionary=}^{__CTFont=}', '', {'retval': {'already_cfretained': True}}), 'CTRunDraw': (sel32or64(b'v^{__CTRun=}^{CGContext=}{_CFRange=ll}', b'v^{__CTRun=}^{CGContext=}{_CFRange=qq}'),), 'CTLineGetStringIndexForPosition': (sel32or64(b'l^{__CTLine=}{CGPoint=ff}', b'q^{__CTLine=}{CGPoint=dd}'),), 'CTFontDescriptorCopyAttributes': (b'^{__CFDictionary=}^{__CTFontDescriptor=}', '', {'retval': {'already_cfretained': True}}), 'CTFontGetLeading': (sel32or64(b'f^{__CTFont=}', b'd^{__CTFont=}'),), 'CTRunGetGlyphs': (sel32or64(b'v^{__CTRun=}{_CFRange=ll}^S', b'v^{__CTRun=}{_CFRange=qq}^S'), '', {'arguments': {2: {'c_array_length_in_arg': 1, 'type_modifier': 'o'}}}), 'CTFontCollectionCreateWithFontDescriptors': (b'^{__CTFontCollection=}^{__CFArray=}^{__CFDictionary=}', '', {'retval': {'already_cfretained': True}}), 'CTTypesetterCreateLineWithOffset': (sel32or64(b'^{__CTLine=}^{__CTTypesetter=}{_CFRange=ll}d', b'^{__CTLine=}^{__CTTypesetter=}{_CFRange=qq}d'), '', {'retval': {'already_cfretained': True}}), 'CTFontGetUnderlinePosition': (sel32or64(b'f^{__CTFont=}', b'd^{__CTFont=}'),), 'CTRunGetTypographicBounds': (sel32or64(b'd^{__CTRun=}{_CFRange=ll}^f^f^f', b'd^{__CTRun=}{_CFRange=qq}^d^d^d'), '', {'arguments': {2: {'type_modifier': 'o'}, 3: {'type_modifier': 'o'}, 4: {'type_modifier': 'o'}}}), 'CTTypesetterCreateWithAttributedString': (b'^{__CTTypesetter=}^{__CFAttributedString=}', '', {'retval': {'already_cfretained': True}}), 'CTLineCreateWithAttributedString': (b'^{__CTLine=}^{__CFAttributedString=}', '', {'retval': {'already_cfretained': True}}), 'CTTextTabGetAlignment': (b'C^{__CTTextTab=}',), 'CTFontCopyName': (b'^{__CFString=}^{__CTFont=}^{__CFString=}', '', {'retval': {'already_cfretained': True}}), 'CTFontGetSlantAngle': (sel32or64(b'f^{__CTFont=}', b'd^{__CTFont=}'),), 'CTFramesetterSuggestFrameSizeWithConstraints': (sel32or64(b'{CGSize=ff}^{__CTTypesetter=}{_CFRange=ll}@{CGSize=ff}^{_CFRange=ll}', b'{CGSize=dd}^{__CTTypesetter=}{_CFRange=qq}@{CGSize=dd}^{_CFRange=qq}'), '', {'arguments': {4: {'type_modifier': 'o'}}}), 'CTFontCollectionCopyFontAttributes': (b'^{__CFArray=}^{__CTFontCollection=}^{__CFSet=}I', '', {'retval': {'already_cfretained': True}}), 'CTFontManagerRegisterFontsForURLs': (b'B^{__CFArray=}I^^{__CFArray=}',), 'CTFontCopyFeatures': (b'^{__CFArray=}^{__CTFont=}', '', {'retval': {'already_cfretained': True}}), 'CTFontCreateForString': (sel32or64(b'^{__CTFont=}^{__CTFont=}^{__CFString=}{_CFRange=ll}', b'^{__CTFont=}^{__CTFont=}^{__CFString=}{_CFRange=qq}'), '', {'retval': {'already_cfretained': True}}), 'CTGlyphInfoGetGlyphName': (b'^{__CFString=}^{__CTGlyphInfo=}',), 'CTParagraphStyleGetTypeID': (b'L',), 'CTFontCreateUIFontForLanguage': (sel32or64(b'^{__CTFont=}If^{__CFString=}', b'^{__CTFont=}Id^{__CFString=}'), '', {'retval': {'already_cfretained': True}}), 'CTFontManagerCopyAvailableFontFamilyNames': (b'^{__CFArray=}', '', {'retval': {'already_cfretained': True}}), 'CTLineGetTypeID': (b'L',), 'CTRunGetPositionsPtr': (sel32or64(b'r^{_NSPoint=ff}^{__CTRun=}', b'r^{CGPoint=dd}^{__CTRun=}'), '', {'retval': {'c_array_of_variable_length': True}})}
+aliases = {'CT_DEPRECATED_ENUMERATOR': '__CT_DEPRECATED_ENUMERATOR', 'CT_AVAILABLE_BUT_DEPRECATED': '__OSX_AVAILABLE_BUT_DEPRECATED', 'CT_AVAILABLE_STARTING': '__OSX_AVAILABLE_STARTING'}
 cftypes=[('CTFontCollectionRef', b'^{__CTFontCollection=}', 'CTFontCollectionGetTypeID', 'NSCTFontCollection'), ('CTFontDescriptorRef', b'^{__CTFontDescriptor=}', 'CTFontDescriptorGetTypeID', 'NSCTFontDescriptor'), ('CTFontRef', b'^{__CTFont=}', 'CTFontGetTypeID', 'NSCTFont'), ('CTFrameRef', b'^{__CTFrame=}', 'CTFrameGetTypeID', None), ('CTFramesetterRef', b'^{__CTFramesetter=}', 'CTFramesetterGetTypeID', None), ('CTGlyphInfoRef', b'^{__CTGlyphInfo=}', 'CTGlyphInfoGetTypeID', 'NSCTGlyphInfo'), ('CTLineRef', b'^{__CTLine=}', 'CTLineGetTypeID', None), ('CTParagraphStyleRef', b'^{__CTParagraphStyle=}', 'CTParagraphStyleGetTypeID', None), ('CTRunRef', b'^{__CTRun=}', 'CTRunGetTypeID', None), ('CTTextTabRef', b'^{__CTTextTab=}', 'CTTextTabGetTypeID', None), ('CTTypesetterRef', b'^{__CTTypesetter=}', 'CTTypesetterGetTypeID', None)]
 expressions = {}
 

File pyobjc-framework-CoreText/Modules/_manual.m

 	} 
 
 	result = Py_BuildValue("NN", PyBool_FromLong(b), PyObjC_IdToPython((NSObject*)output));
-	CFRelease(output);
 	return result;
 }
 
 
 	if (py_settings == Py_None) {
 		/* Handle simple case */
+		if (len != 0) {
+			PyErr_SetString(PyExc_ValueError, "settings list is 'None', length is not 0");
+			return NULL;
+		}
 		PyObjC_DURING
-			style = CTParagraphStyleCreate(NULL, len);
+			style = CTParagraphStyleCreate(NULL, 0);
 
 		PyObjC_HANDLER
 			style = NULL;

File pyobjc-framework-CoreText/PyObjCTest/test_ctfont.py

         v = CTFontCreateWithFontDescriptorAndOptions(descr, 14.0, None, 0)
         self.assertIsInstance(v, CTFontRef)
 
+    @expectedFailure
     @min_os_level('10.7')
     def testFunctions10_7(self):
         self.fail("CTFontDrawGlyphs")
 
+    @expectedFailure
     @min_os_level('10.8')
     def testFunctions10_8(self):
         self.fail("CTFontGetOpticalBoundsForGlyps")

File pyobjc-framework-CoreText/PyObjCTest/test_ctfontmanager.py

         self.assertIsInstance(kCTFontManagerRegisteredFontsChangedNotification, unicode)
 
 
+    @expectedFailure
     @min_os_level('10.6')
     def testFunctions10_6(self):
         self.fail("CTFontManagerCopyAvailablePostScriptNames")
         self.fail("CTFontManagerSetAutoActivationSetting")
         self.fail("CTFontManagerGetAutoActivationSetting")
 
+    @expectedFailure
     @min_os_level('10.7')
     def testFunctions10_7(self):
         self.fail("CTFontManagerCreateFontDescriptorFromData")
 
 
 
+    @expectedFailure
     @min_os_level('10.8')
     def testFunctions10_8(self):
         self.fail("CTFontManagerCreateFontDescriptorFromData")

File pyobjc-framework-CoreText/PyObjCTest/test_ctfontmanagererrors.py

 class TestCTFontManagerErrors (TestCase):
     @min_os_level("10.6")
     def testConstants10_6(self):
-        self.assertIsInstancE(kCTFontManagerErrorDomain, unicode)
-        self.assertIsInstancE(kCTFontManagerErrorFontURLsKey, unicode)
+        self.assertIsInstance(kCTFontManagerErrorDomain, unicode)
+        self.assertIsInstance(kCTFontManagerErrorFontURLsKey, unicode)
 
         self.assertEqual(kCTFontManagerErrorFileNotFound, 101)
         self.assertEqual(kCTFontManagerErrorInsufficientPermissions, 102)

File pyobjc-framework-CoreText/PyObjCTest/test_ctline.py

         self.assertIsInstance(v, CTLineRef)
 
         self.assertResultIsCFRetained(CTLineCreateJustifiedLine)
-        v = CTLineCreateJustifiedLine(line, 0.75, 50.0)
+        v = CTLineCreateJustifiedLine(line, 2.0, 123.0)
         self.assertIsInstance(v, CTLineRef)
 
         v = CTLineGetGlyphCount(line)

File pyobjc-framework-CoreText/PyObjCTest/test_ctparagraphstyle.py

 
     @min_os_level("10.8")
     def testConstants10_8(self):
-        self.assertEqual(kCTParagraphStyleSpecifierBoundsOptions, 17)
+        pass
+        #self.assertEqual(kCTParagraphStyleSpecifierBoundsOptions, 17)
 
     def testStructs(self):
         v = CTParagraphStyleSetting()

File pyobjc-framework-CoreText/metadata/raw/i386-10.6.fwinfo

      }
     ], 
     "retval": {
-     "typestr": "l"
+     "typestr": "i"
     }
    }, 
    "CTFontManagerCopyAvailableFontFamilyNames": {
  ], 
  "release": "10.7.3", 
  "sdk": "/Developer/SDKs/MacOSX10.6.sdk"
-}
+}

File pyobjc-framework-CoreText/metadata/raw/i386-10.7.fwinfo

      }
     ], 
     "retval": {
-     "typestr": "l"
+     "typestr": "i"
     }
    }, 
    "CTFontManagerCopyAvailableFontFamilyNames": {
  ], 
  "release": "10.7.3", 
  "sdk": "/Developer/SDKs/MacOSX10.7.sdk"
-}
+}

File pyobjc-framework-CoreText/metadata/raw/i386-10.8.fwinfo

+#             GENERATED FILE DO NOT EDIT
+#
+# This file was generated by objective.metadata
+# Last update: Mon Aug 27 17:08:15 2012
+{
+ "arch": "i386", 
+ "definitions": {
+  "aliases": {
+   "CT_AVAILABLE_BUT_DEPRECATED": "__OSX_AVAILABLE_BUT_DEPRECATED", 
+   "CT_AVAILABLE_STARTING": "__OSX_AVAILABLE_STARTING", 
+   "CT_DEPRECATED_ENUMERATOR": "__CT_DEPRECATED_ENUMERATOR"
+  }, 
+  "called_definitions": {}, 
+  "cftypes": {
+   "CTFontCollectionRef": {
+    "gettypeid_func": "CTFontCollectionGetTypeID", 
+    "typestr": "^{__CTFontCollection=}"
+   }, 
+   "CTFontDescriptorRef": {
+    "gettypeid_func": "CTFontDescriptorGetTypeID", 
+    "typestr": "^{__CTFontDescriptor=}"
+   }, 
+   "CTFontRef": {
+    "gettypeid_func": "CTFontGetTypeID", 
+    "typestr": "^{__CTFont=}"
+   }, 
+   "CTFrameRef": {
+    "gettypeid_func": "CTFrameGetTypeID", 
+    "typestr": "^{__CTFrame=}"
+   }, 
+   "CTFramesetterRef": {
+    "gettypeid_func": "CTFramesetterGetTypeID", 
+    "typestr": "^{__CTFramesetter=}"
+   }, 
+   "CTGlyphInfoRef": {
+    "gettypeid_func": "CTGlyphInfoGetTypeID", 
+    "typestr": "^{__CTGlyphInfo=}"
+   }, 
+   "CTLineRef": {
+    "gettypeid_func": "CTLineGetTypeID", 
+    "typestr": "^{__CTLine=}"
+   }, 
+   "CTMutableFontCollectionRef": {
+    "typestr": "^{__CTFontCollection=}"
+   }, 
+   "CTParagraphStyleRef": {
+    "gettypeid_func": "CTParagraphStyleGetTypeID", 
+    "typestr": "^{__CTParagraphStyle=}"
+   }, 
+   "CTRunRef": {
+    "gettypeid_func": "CTRunGetTypeID", 
+    "typestr": "^{__CTRun=}"
+   }, 
+   "CTTextTabRef": {
+    "gettypeid_func": "CTTextTabGetTypeID", 
+    "typestr": "^{__CTTextTab=}"
+   }, 
+   "CTTypesetterRef": {
+    "gettypeid_func": "CTTypesetterGetTypeID", 
+    "typestr": "^{__CTTypesetter=}"
+   }
+  }, 
+  "classes": {}, 
+  "enum": {
+   "kCTAdobeCNS1CharacterCollection": 1, 
+   "kCTAdobeGB1CharacterCollection": 2, 
+   "kCTAdobeJapan1CharacterCollection": 3, 
+   "kCTAdobeJapan2CharacterCollection": 4, 
+   "kCTAdobeKorea1CharacterCollection": 5, 
+   "kCTCenterTextAlignment": 2, 
+   "kCTCharacterCollectionAdobeCNS1": 1, 
+   "kCTCharacterCollectionAdobeGB1": 2, 
+   "kCTCharacterCollectionAdobeJapan1": 3, 
+   "kCTCharacterCollectionAdobeJapan2": 4, 
+   "kCTCharacterCollectionAdobeKorea1": 5, 
+   "kCTCharacterCollectionIdentityMapping": 0, 
+   "kCTFontAlertHeaderFontType": 18, 
+   "kCTFontApplicationFontType": 9, 
+   "kCTFontBoldTrait": 2, 
+   "kCTFontClarendonSerifsClass": 1073741824, 
+   "kCTFontClassClarendonSerifs": 1073741824, 
+   "kCTFontClassFreeformSerifs": 1879048192, 
+   "kCTFontClassMaskShift": 28, 
+   "kCTFontClassMaskTrait": 4026531840, 
+   "kCTFontClassModernSerifs": 805306368, 
+   "kCTFontClassOldStyleSerifs": 268435456, 
+   "kCTFontClassOrnamentals": 2415919104, 
+   "kCTFontClassSansSerif": 2147483648, 
+   "kCTFontClassScripts": 2684354560, 
+   "kCTFontClassSlabSerifs": 1342177280, 
+   "kCTFontClassSymbolic": 3221225472, 
+   "kCTFontClassTransitionalSerifs": 536870912, 
+   "kCTFontClassUnknown": 0, 
+   "kCTFontCollectionCopyDefaultOptions": 0, 
+   "kCTFontCollectionCopyStandardSort": 2, 
+   "kCTFontCollectionCopyUnique": 1, 
+   "kCTFontColorGlyphsTrait": 8192, 
+   "kCTFontCompositeTrait": 16384, 
+   "kCTFontCondensedTrait": 64, 
+   "kCTFontControlContentFontType": 26, 
+   "kCTFontDefaultOrientation": 0, 
+   "kCTFontEmphasizedSystemDetailFontType": 20, 
+   "kCTFontEmphasizedSystemFontType": 3, 
+   "kCTFontExpandedTrait": 32, 
+   "kCTFontFormatBitmap": 5, 
+   "kCTFontFormatOpenTypePostScript": 1, 
+   "kCTFontFormatOpenTypeTrueType": 2, 
+   "kCTFontFormatPostScript": 4, 
+   "kCTFontFormatTrueType": 3, 
+   "kCTFontFormatUnrecognized": 0, 
+   "kCTFontFreeformSerifsClass": 1879048192, 
+   "kCTFontHorizontalOrientation": 1, 
+   "kCTFontItalicTrait": 1, 
+   "kCTFontLabelFontType": 10, 
+   "kCTFontManagerAutoActivationDefault": 0, 
+   "kCTFontManagerAutoActivationDisabled": 1, 
+   "kCTFontManagerAutoActivationEnabled": 2, 
+   "kCTFontManagerAutoActivationPromptUser": 3, 
+   "kCTFontManagerErrorAlreadyRegistered": 105, 
+   "kCTFontManagerErrorFileNotFound": 101, 
+   "kCTFontManagerErrorInUse": 202, 
+   "kCTFontManagerErrorInsufficientPermissions": 102, 
+   "kCTFontManagerErrorInvalidFontData": 104, 
+   "kCTFontManagerErrorNotRegistered": 201, 
+   "kCTFontManagerErrorSystemRequired": 202, 
+   "kCTFontManagerErrorUnrecognizedFormat": 103, 
+   "kCTFontManagerScopeNone": 0, 
+   "kCTFontManagerScopeProcess": 1, 
+   "kCTFontManagerScopeSession": 3, 
+   "kCTFontManagerScopeUser": 2, 
+   "kCTFontMenuItemCmdKeyFontType": 14, 
+   "kCTFontMenuItemFontType": 12, 
+   "kCTFontMenuItemMarkFontType": 13, 
+   "kCTFontMenuTitleFontType": 11, 
+   "kCTFontMessageFontType": 23, 
+   "kCTFontMiniEmphasizedSystemFontType": 7, 
+   "kCTFontMiniSystemFontType": 6, 
+   "kCTFontModernSerifsClass": 805306368, 
+   "kCTFontMonoSpaceTrait": 1024, 
+   "kCTFontNoFontType": 4294967295, 
+   "kCTFontOldStyleSerifsClass": 268435456, 
+   "kCTFontOptionsDefault": 0, 
+   "kCTFontOptionsPreferSystemFont": 4, 
+   "kCTFontOptionsPreventAutoActivation": 1, 
+   "kCTFontOrientationDefault": 0, 
+   "kCTFontOrientationHorizontal": 1, 
+   "kCTFontOrientationVertical": 2, 
+   "kCTFontOrnamentalsClass": 2415919104, 
+   "kCTFontPaletteFontType": 24, 
+   "kCTFontPriorityComputer": 30000, 
+   "kCTFontPriorityDynamic": 50000, 
+   "kCTFontPriorityNetwork": 20000, 
+   "kCTFontPriorityProcess": 60000, 
+   "kCTFontPrioritySystem": 10000, 
+   "kCTFontPriorityUser": 40000, 
+   "kCTFontPushButtonFontType": 16, 
+   "kCTFontSansSerifClass": 2147483648, 
+   "kCTFontScriptsClass": 2684354560, 
+   "kCTFontSlabSerifsClass": 1342177280, 
+   "kCTFontSmallEmphasizedSystemFontType": 5, 
+   "kCTFontSmallSystemFontType": 4, 
+   "kCTFontSmallToolbarFontType": 22, 
+   "kCTFontSymbolicClass": 3221225472, 
+   "kCTFontSystemDetailFontType": 19, 
+   "kCTFontSystemFontType": 2, 
+   "kCTFontTableAcnt": 1633906292, 
+   "kCTFontTableAnkr": 1634626418, 
+   "kCTFontTableAvar": 1635148146, 
+   "kCTFontTableBASE": 1111577413, 
+   "kCTFontTableBdat": 1650745716, 
+   "kCTFontTableBhed": 1651008868, 
+   "kCTFontTableBloc": 1651273571, 
+   "kCTFontTableBsln": 1651731566, 
+   "kCTFontTableCFF": 1128678944, 
+   "kCTFontTableCmap": 1668112752, 
+   "kCTFontTableCvar": 1668702578, 
+   "kCTFontTableCvt": 1668707360, 
+   "kCTFontTableDSIG": 1146308935, 
+   "kCTFontTableEBDT": 1161970772, 
+   "kCTFontTableEBLC": 1161972803, 
+   "kCTFontTableEBSC": 1161974595, 
+   "kCTFontTableFdsc": 1717859171, 
+   "kCTFontTableFeat": 1717920116, 
+   "kCTFontTableFmtx": 1718449272, 
+   "kCTFontTableFpgm": 1718642541, 
+   "kCTFontTableFvar": 1719034226, 
+   "kCTFontTableGDEF": 1195656518, 
+   "kCTFontTableGPOS": 1196445523, 
+   "kCTFontTableGSUB": 1196643650, 
+   "kCTFontTableGasp": 1734439792, 
+   "kCTFontTableGlyf": 1735162214, 
+   "kCTFontTableGvar": 1735811442, 
+   "kCTFontTableHdmx": 1751412088, 
+   "kCTFontTableHead": 1751474532, 
+   "kCTFontTableHhea": 1751672161, 
+   "kCTFontTableHmtx": 1752003704, 
+   "kCTFontTableHsty": 1752396921, 
+   "kCTFontTableJSTF": 1246975046, 
+   "kCTFontTableJust": 1786082164, 
+   "kCTFontTableKern": 1801810542, 
+   "kCTFontTableKerx": 1801810552, 
+   "kCTFontTableLTSH": 1280594760, 
+   "kCTFontTableLcar": 1818452338, 
+   "kCTFontTableLoca": 1819239265, 
+   "kCTFontTableMaxp": 1835104368, 
+   "kCTFontTableMort": 1836020340, 
+   "kCTFontTableMorx": 1836020344, 
+   "kCTFontTableName": 1851878757, 
+   "kCTFontTableOS2": 1330851634, 
+   "kCTFontTableOpbd": 1869636196, 
+   "kCTFontTableOptionExcludeSynthetic": 1, 
+   "kCTFontTableOptionNoOptions": 0, 
+   "kCTFontTablePCLT": 1346587732, 
+   "kCTFontTablePost": 1886352244, 
+   "kCTFontTablePrep": 1886545264, 
+   "kCTFontTableProp": 1886547824, 
+   "kCTFontTableSbit": 1935829364, 
+   "kCTFontTableSbix": 1935829368, 
+   "kCTFontTableTrak": 1953653099, 
+   "kCTFontTableVDMX": 1447316824, 
+   "kCTFontTableVORG": 1448038983, 
+   "kCTFontTableVhea": 1986553185, 
+   "kCTFontTableVmtx": 1986884728, 
+   "kCTFontTableZapf": 1516335206, 
+   "kCTFontToolTipFontType": 25, 
+   "kCTFontToolbarFontType": 21, 
+   "kCTFontTraitBold": 2, 
+   "kCTFontTraitClassMask": 4026531840, 
+   "kCTFontTraitColorGlyphs": 8192, 
+   "kCTFontTraitComposite": 16384, 
+   "kCTFontTraitCondensed": 64, 
+   "kCTFontTraitExpanded": 32, 
+   "kCTFontTraitItalic": 1, 
+   "kCTFontTraitMonoSpace": 1024, 
+   "kCTFontTraitUIOptimized": 4096, 
+   "kCTFontTraitVertical": 2048, 
+   "kCTFontTransitionalSerifsClass": 536870912, 
+   "kCTFontUIFontAlertHeader": 18, 
+   "kCTFontUIFontApplication": 9, 
+   "kCTFontUIFontControlContent": 26, 
+   "kCTFontUIFontEmphasizedSystem": 3, 
+   "kCTFontUIFontEmphasizedSystemDetail": 20, 
+   "kCTFontUIFontLabel": 10, 
+   "kCTFontUIFontMenuItem": 12, 
+   "kCTFontUIFontMenuItemCmdKey": 14, 
+   "kCTFontUIFontMenuItemMark": 13, 
+   "kCTFontUIFontMenuTitle": 11, 
+   "kCTFontUIFontMessage": 23, 
+   "kCTFontUIFontMiniEmphasizedSystem": 7, 
+   "kCTFontUIFontMiniSystem": 6, 
+   "kCTFontUIFontNone": 4294967295, 
+   "kCTFontUIFontPalette": 24, 
+   "kCTFontUIFontPushButton": 16, 
+   "kCTFontUIFontSmallEmphasizedSystem": 5, 
+   "kCTFontUIFontSmallSystem": 4, 
+   "kCTFontUIFontSmallToolbar": 22, 
+   "kCTFontUIFontSystem": 2, 
+   "kCTFontUIFontSystemDetail": 19, 
+   "kCTFontUIFontToolTip": 25, 
+   "kCTFontUIFontToolbar": 21, 
+   "kCTFontUIFontUser": 0, 
+   "kCTFontUIFontUserFixedPitch": 1, 
+   "kCTFontUIFontUtilityWindowTitle": 17, 
+   "kCTFontUIFontViews": 8, 
+   "kCTFontUIFontWindowTitle": 15, 
+   "kCTFontUIOptimizedTrait": 4096, 
+   "kCTFontUnknownClass": 0, 
+   "kCTFontUserFixedPitchFontType": 1, 
+   "kCTFontUserFontType": 0, 
+   "kCTFontUtilityWindowTitleFontType": 17, 
+   "kCTFontVerticalOrientation": 2, 
+   "kCTFontVerticalTrait": 2048, 
+   "kCTFontViewsFontType": 8, 
+   "kCTFontWindowTitleFontType": 15, 
+   "kCTFramePathFillEvenOdd": 0, 
+   "kCTFramePathFillWindingNumber": 1, 
+   "kCTFrameProgressionRightToLeft": 1, 
+   "kCTFrameProgressionTopToBottom": 0, 
+   "kCTIdentityMappingCharacterCollection": 0, 
+   "kCTJustifiedTextAlignment": 3, 
+   "kCTLeftTextAlignment": 0, 
+   "kCTLineBoundsExcludeTypographicLeading": 1, 
+   "kCTLineBoundsExcludeTypographicShifts": 2, 
+   "kCTLineBoundsUseGlyphPathBounds": 8, 
+   "kCTLineBoundsUseHangingPunctuation": 4, 
+   "kCTLineBoundsUseOpticalBounds": 16, 
+   "kCTLineBreakByCharWrapping": 1, 
+   "kCTLineBreakByClipping": 2, 
+   "kCTLineBreakByTruncatingHead": 3, 
+   "kCTLineBreakByTruncatingMiddle": 5, 
+   "kCTLineBreakByTruncatingTail": 4, 
+   "kCTLineBreakByWordWrapping": 0, 
+   "kCTLineTruncationEnd": 1, 
+   "kCTLineTruncationMiddle": 2, 
+   "kCTLineTruncationStart": 0, 
+   "kCTNaturalTextAlignment": 4, 
+   "kCTParagraphStyleSpecifierAlignment": 0, 
+   "kCTParagraphStyleSpecifierBaseWritingDirection": 13, 
+   "kCTParagraphStyleSpecifierCount": 18, 
+   "kCTParagraphStyleSpecifierDefaultTabInterval": 5, 
+   "kCTParagraphStyleSpecifierFirstLineHeadIndent": 1, 
+   "kCTParagraphStyleSpecifierHeadIndent": 2, 
+   "kCTParagraphStyleSpecifierLineBoundsOptions": 17, 
+   "kCTParagraphStyleSpecifierLineBreakMode": 6, 
+   "kCTParagraphStyleSpecifierLineHeightMultiple": 7, 
+   "kCTParagraphStyleSpecifierLineSpacing": 10, 
+   "kCTParagraphStyleSpecifierLineSpacingAdjustment": 16, 
+   "kCTParagraphStyleSpecifierMaximumLineHeight": 8, 
+   "kCTParagraphStyleSpecifierMaximumLineSpacing": 14, 
+   "kCTParagraphStyleSpecifierMinimumLineHeight": 9, 
+   "kCTParagraphStyleSpecifierMinimumLineSpacing": 15, 
+   "kCTParagraphStyleSpecifierParagraphSpacing": 11, 
+   "kCTParagraphStyleSpecifierParagraphSpacingBefore": 12, 
+   "kCTParagraphStyleSpecifierTabStops": 4, 
+   "kCTParagraphStyleSpecifierTailIndent": 3, 
+   "kCTRightTextAlignment": 1, 
+   "kCTRunStatusHasNonIdentityMatrix": 4, 
+   "kCTRunStatusNoStatus": 0, 
+   "kCTRunStatusNonMonotonic": 2, 
+   "kCTRunStatusRightToLeft": 1, 
+   "kCTTextAlignmentCenter": 2, 
+   "kCTTextAlignmentJustified": 3, 
+   "kCTTextAlignmentLeft": 0, 
+   "kCTTextAlignmentNatural": 4, 
+   "kCTTextAlignmentRight": 1, 
+   "kCTUnderlinePatternDash": 512, 
+   "kCTUnderlinePatternDashDot": 768, 
+   "kCTUnderlinePatternDashDotDot": 1024, 
+   "kCTUnderlinePatternDot": 256, 
+   "kCTUnderlinePatternSolid": 0, 
+   "kCTUnderlineStyleDouble": 9, 
+   "kCTUnderlineStyleNone": 0, 
+   "kCTUnderlineStyleSingle": 1, 
+   "kCTUnderlineStyleThick": 2, 
+   "kCTVersionNumber10_5": 131072, 
+   "kCTVersionNumber10_5_2": 131073, 
+   "kCTVersionNumber10_5_3": 131074, 
+   "kCTVersionNumber10_5_5": 131075, 
+   "kCTVersionNumber10_6": 196608, 
+   "kCTVersionNumber10_7": 262144, 
+   "kCTVersionNumber10_8": 327680, 
+   "kCTWritingDirectionEmbedding": 0, 
+   "kCTWritingDirectionLeftToRight": 0, 
+   "kCTWritingDirectionNatural": -1, 
+   "kCTWritingDirectionOverride": 2, 
+   "kCTWritingDirectionRightToLeft": 1
+  }, 
+  "expressions": {}, 
+  "externs": {
+   "kCTBaselineClassAttributeName": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTBaselineClassHanging": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTBaselineClassIdeographicCentered": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTBaselineClassIdeographicHigh": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTBaselineClassIdeographicLow": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTBaselineClassMath": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTBaselineClassRoman": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTBaselineInfoAttributeName": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTBaselineOriginalFont": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTBaselineReferenceFont": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTBaselineReferenceInfoAttributeName": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTCharacterShapeAttributeName": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontAttributeName": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontBaselineAdjustAttribute": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontCascadeListAttribute": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontCharacterSetAttribute": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontCollectionDisallowAutoActivationOption": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontCollectionIncludeDisabledFontsOption": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontCollectionRemoveDuplicatesOption": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontCopyrightNameKey": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontDescriptionNameKey": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontDesignerNameKey": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontDesignerURLNameKey": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontDisplayNameAttribute": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontEnabledAttribute": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontFamilyNameAttribute": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontFamilyNameKey": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontFeatureSelectorDefaultKey": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontFeatureSelectorIdentifierKey": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontFeatureSelectorNameKey": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontFeatureSelectorSettingKey": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontFeatureSettingsAttribute": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontFeatureTypeExclusiveKey": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontFeatureTypeIdentifierKey": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontFeatureTypeNameKey": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontFeatureTypeSelectorsKey": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontFeaturesAttribute": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontFixedAdvanceAttribute": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontFormatAttribute": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontFullNameKey": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontLanguagesAttribute": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontLicenseNameKey": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontLicenseURLNameKey": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontMacintoshEncodingsAttribute": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontManagerBundleIdentifier": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontManagerErrorDomain": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontManagerErrorFontURLsKey": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontManagerRegisteredFontsChangedNotification": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontManufacturerNameKey": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontMatrixAttribute": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontNameAttribute": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontOrientationAttribute": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontPostScriptCIDNameKey": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontPostScriptNameKey": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontPriorityAttribute": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontRegistrationScopeAttribute": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontSampleTextNameKey": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontSizeAttribute": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontSlantTrait": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontStyleNameAttribute": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontStyleNameKey": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontSubFamilyNameKey": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontSymbolicTrait": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontTrademarkNameKey": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontTraitsAttribute": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontURLAttribute": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontUniqueNameKey": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontVariationAttribute": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontVariationAxisDefaultValueKey": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontVariationAxisIdentifierKey": {
+    "typestr": "^{__CFString=}"
+   }, 
+   "kCTFontVariationAxisMaximumValueKey": {
+    "typestr": "^{__CFString=}"