[PyObjC-svn] r2302 - in trunk/pyobjc/pyobjc-framework-CoreText: . Lib/CoreText Modules PyObjCTest

[email protected] Tue, 29 Sep 2009 10:26:47 -0500
Newsgroups gmane.comp.python.pyobjc.cvs
Message-ID <[email protected]>
Author: ronaldoussoren
Date: Tue Sep 29 10:26:46 2009
New Revision: 2302

Log:
* Mostly upgrade to SL (there are some test failures to be resolved)
* Bump version


Modified:
   trunk/pyobjc/pyobjc-framework-CoreText/Lib/CoreText/PyObjC.bridgesupport
   trunk/pyobjc/pyobjc-framework-CoreText/Modules/_manual.m
   trunk/pyobjc/pyobjc-framework-CoreText/PyObjCTest/test_coretext.py
   trunk/pyobjc/pyobjc-framework-CoreText/PyObjCTest/test_ctfont.py
   trunk/pyobjc/pyobjc-framework-CoreText/PyObjCTest/test_ctfontdescriptor.py
   trunk/pyobjc/pyobjc-framework-CoreText/PyObjCTest/test_ctframesetter.py
   trunk/pyobjc/pyobjc-framework-CoreText/PyObjCTest/test_ctrun.py
   trunk/pyobjc/pyobjc-framework-CoreText/PyObjCTest/test_ctstringattributes.py
   trunk/pyobjc/pyobjc-framework-CoreText/PyObjCTest/test_cttypesetter.py
   trunk/pyobjc/pyobjc-framework-CoreText/setup.py

Modified: trunk/pyobjc/pyobjc-framework-CoreText/Lib/CoreText/PyObjC.bridgesupport
==============================================================================
--- trunk/pyobjc/pyobjc-framework-CoreText/Lib/CoreText/PyObjC.bridgesupport	(original)
+++ trunk/pyobjc/pyobjc-framework-CoreText/Lib/CoreText/PyObjC.bridgesupport	Tue Sep 29 10:26:46 2009
@@ -17,6 +17,8 @@
   <cftype gettypeid_func='CTTextTabGetTypeID' name='CTTextTabRef' type='^{__CTTextTab=}' type64='^{__CTTextTab=}' />
   <cftype gettypeid_func='CTTypesetterGetTypeID' name='CTTypesetterRef' type='^{__CTTypesetter=}' type64='^{__CTTypesetter=}' />
   <constant name='kCTFontAttributeName' type='^{__CFString=}' />
+  <constant name='kCTFontURLAttribute' type='^{__CFString=}' />
+  <constant name='kCTFontFormatAttribute' type='^{__CFString=}' />
   <constant name='kCTFontBaselineAdjustAttribute' type='^{__CFString=}' />
   <constant name='kCTFontCascadeListAttribute' type='^{__CFString=}' />
   <constant name='kCTFontCharacterSetAttribute' type='^{__CFString=}' />
@@ -80,6 +82,28 @@
   <constant name='kCTTypesetterOptionDisableBidiProcessing' type='^{__CFString=}' />
   <constant name='kCTUnderlineStyleAttributeName' type='^{__CFString=}' />
   <constant name='kCTVerticalFormsAttributeName' type='^{__CFString=}' />
+  <constant name='kCTFontRegistrationScopeAttribute' type='^{__CFString=}' />
+  <constant name='kCTFontPriorityAttribute' type='^{__CFString=}' />
+  <constant name='kCTFontEnabledAttribute' type='^{__CFString=}' />
+  <enum name='kCTVersionNumber10_5_2' value='131073' />
+  <enum name='kCTVersionNumber10_5_3' value='131074' />
+  <enum name='kCTVersionNumber10_5_5' value='131075' />
+  <enum name='kCTVersionNumber10_6' value='196608' />
+  <enum name='kCTFontPrioritySystem' value='10000' />
+  <enum name='kCTFontPriorityNetwork' value='20000' />
+  <enum name='kCTFontPriorityComputer' value='30000' />
+  <enum name='kCTFontPriorityUser' value='40000' />
+  <enum name='kCTFontPriorityDynamic' value='50000' />
+  <enum name='kCTFontPriorityProcess' value='60000' />
+  <enum name='kCTFontOptionsDefault' value='0' />
+  <enum name='kCTFontFormatUnrecognized' value='0' />
+  <enum name='kCTFontFormatOpenTypePostScript' value='1' />
+  <enum name='kCTFontFormatOpenTypeTrueType' value='2' />
+  <enum name='kCTFontFormatTrueType' value='3' />
+  <enum name='kCTFontFormatPostScript' value='4' />
+  <enum name='kCTFontFormatBitmap' value='5' />
+  <enum name='kCTFontOptionsPreventAutoActivation' value='1' />
+  <enum name='kCTFontOptionsPreferSystemFont' value='4' />
   <enum name='kCTAdobeCNS1CharacterCollection' value='1' />
   <enum name='kCTAdobeGB1CharacterCollection' value='2' />
   <enum name='kCTAdobeJapan1CharacterCollection' value='3' />
@@ -385,7 +409,7 @@
     <retval type='^{CGPath=}' />
     <arg type='^{__CTFont=}' />
     <arg type='S' />
-    <arg type='^{CGAffineTransform=ffffff}' type64='^{CGAffineTransform=ffffff}' />
+    <arg type='^{CGAffineTransform=ffffff}' type64='^{CGAffineTransform=ffffff}' type_modifier='n' />
   </function>
   <function name='CTFontCreateUIFontForLanguage'>
     <retval already_cfretained='true' type='^{__CTFont=}' />
@@ -393,30 +417,44 @@
     <arg type='f' type64='f' />
     <arg type='^{__CFString=}' />
   </function>
+  <function name='CTFontCreateWithNameAndOptions' >
+    <retval already_cfretained='true' type='^{__CTFont=}' />
+    <arg type='^{__CFString=}' />
+    <arg type='f' type64='d' />
+    <arg type='^{CGAffineTransform=ffffff}' type64='^{CGAffineTransform=dddddd}' type_modifier='n' />
+    <arg type='i' type64='q' />
+  </function>
+  <function name='CTFontCreateWithFontDescriptorAndOptions' >
+    <retval already_cfretained='true' type='^{__CTFont=}' />
+    <arg type='^{__CTFontDescriptor=}' />
+    <arg type='f' type64='d' />
+    <arg type='^{CGAffineTransform=ffffff}' type64='^{CGAffineTransform=dddddd}' type_modifier='n' />
+    <arg type='i' type64='q' />
+  </function>
   <function name='CTFontCreateWithFontDescriptor'>
     <retval already_cfretained='true' type='^{__CTFont=}' />
     <arg type='^{__CTFontDescriptor=}' />
     <arg type='f' type64='f' />
-    <arg type='^{CGAffineTransform=ffffff}' type64='^{CGAffineTransform=dddddd}' />
+    <arg type='^{CGAffineTransform=ffffff}' type64='^{CGAffineTransform=dddddd}' type_modifier='n' />
   </function>
   <function name='CTFontCreateWithGraphicsFont'>
     <retval already_cfretained='true' type='^{__CTFont=}' />
     <arg type='^{CGFont=}' type64='^{CGFont=}' />
     <arg type='f' type64='f' />
-    <arg type='^{CGAffineTransform=ffffff}' type64='^{CGAffineTransform=dddddd}' />
+    <arg type='^{CGAffineTransform=ffffff}' type64='^{CGAffineTransform=dddddd}' type_modifier='n' />
     <arg type='^{__CTFontDescriptor=}' />
   </function>
   <function name='CTFontCreateWithName'>
     <retval already_cfretained='true' type='^{__CTFont=}' />
     <arg type='^{__CFString=}' />
     <arg type='f' type64='f' />
-    <arg type='^{CGAffineTransform=ffffff}' type64='^{CGAffineTransform=dddddd}' />
+    <arg type='^{CGAffineTransform=ffffff}' type64='^{CGAffineTransform=dddddd}' type_modifier='n' />
   </function>
   <function name='CTFontCreateWithPlatformFont'>
     <retval already_cfretained='true' type='^{__CTFont=}' />
     <arg type='L' type64='L' />
     <arg type='f' type64='f' />
-    <arg type='^{CGAffineTransform=ffffff}' type64='^{CGAffineTransform=dddddd}' />
+    <arg type='^{CGAffineTransform=ffffff}' type64='^{CGAffineTransform=dddddd}' type_modifier='n' />
     <arg type='^{__CTFontDescriptor=}' />
   </function>
   <function name='CTFontCreateWithQuickdrawInstance'>

Modified: trunk/pyobjc/pyobjc-framework-CoreText/Modules/_manual.m
==============================================================================
--- trunk/pyobjc/pyobjc-framework-CoreText/Modules/_manual.m	(original)
+++ trunk/pyobjc/pyobjc-framework-CoreText/Modules/_manual.m	Tue Sep 29 10:26:46 2009
@@ -100,7 +100,7 @@
 		return Py_BuildValue("OO", Py_False, Py_None);
 	} 
 
-	result = Py_BuildValue("NN", PyBool_FromLong(b), PyObjC_IdToPython(output));
+	result = Py_BuildValue("NN", PyBool_FromLong(b), PyObjC_IdToPython((NSObject*)output));
 	CFRelease(output);
 	return result;
 }

Modified: trunk/pyobjc/pyobjc-framework-CoreText/PyObjCTest/test_coretext.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-CoreText/PyObjCTest/test_coretext.py	(original)
+++ trunk/pyobjc/pyobjc-framework-CoreText/PyObjCTest/test_coretext.py	Tue Sep 29 10:26:46 2009
@@ -6,6 +6,14 @@
     def testConstants(self):
         self.failUnlessEqual(kCTVersionNumber10_5, 0x00020000)
 
+    @min_os_level('10.6')
+    def testConstants10_6(self):
+        self.failUnlessEqual(kCTVersionNumber10_5_2, 0x00020001)
+        self.failUnlessEqual(kCTVersionNumber10_5_3, 0x00020002)
+        self.failUnlessEqual(kCTVersionNumber10_5_5, 0x00020003)
+        self.failUnlessEqual(kCTVersionNumber10_6, 0x00030000)
+
+
     def testFunctions(self):
         v = CTGetCoreTextVersion()
         self.failUnlessIsInstance(v, (int, long))

Modified: trunk/pyobjc/pyobjc-framework-CoreText/PyObjCTest/test_ctfont.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-CoreText/PyObjCTest/test_ctfont.py	(original)
+++ trunk/pyobjc/pyobjc-framework-CoreText/PyObjCTest/test_ctfont.py	Tue Sep 29 10:26:46 2009
@@ -7,6 +7,13 @@
     def testTypes(self):
         self.failUnlessIsInstance(CTFontRef, objc.objc_class)
 
+    @min_os_level('10.6')
+    def testConstants10_6(self):
+        self.failUnlessEqual(kCTFontOptionsDefault, 0)
+        self.failUnlessEqual(kCTFontOptionsPreventAutoActivation, 1 << 0)
+        self.failUnlessEqual(kCTFontOptionsPreferSystemFont, 1 << 2)
+
+
     def testConstants(self):
         self.failUnlessIsInstance(kCTFontCopyrightNameKey, unicode)
         self.failUnlessIsInstance(kCTFontFamilyNameKey, unicode)
@@ -173,7 +180,7 @@
         self.failUnlessResultIsCFRetained(CTFontCreateCopyWithFamily)
 
         font2 = CTFontCreateForString(
-                font, u"hello world", CFRange(0, 4))
+                font, u"hello world", CFRange(1, 4))
         self.failUnless(isinstance(font2, CTFontRef))
         self.failUnlessResultIsCFRetained(CTFontCreateForString)
 
@@ -213,7 +220,7 @@
 
         v, l = CTFontCopyLocalizedName(font, kCTFontCopyrightNameKey, None)
         self.failUnlessIsInstance(v, unicode)
-        self.failUnlessIsInstance(l, unicode)
+        self.failUnlessIsInstance(l, (unicode, type(None)))
         self.failUnlessArgIsOut(CTFontCopyLocalizedName, 2)
 
         v = CTFontCopyCharacterSet(font)
@@ -347,5 +354,24 @@
         v = CTFontGetTypeID()
         self.failUnlessIsInstance(v, (int, long))
 
+    @min_os_level('10.6')
+    def testFunctions10_6(self):
+        self.failUnlessResultIsCFRetained(CTFontCreateWithNameAndOptions)
+        v = CTFontCreateWithNameAndOptions(u"Times", 15, None, 0)
+        self.failUnlessIsInstance(v, CTFontRef)
+
+
+        descr = CTFontDescriptorCreateWithNameAndSize(
+                u"Courier", 14.0)
+        self.failIfEqual(descr, None)
+
+        # FIXME: this crashes the interpreter, without a clear reason
+        return
+
+        self.failUnlessResultIsCFRetained(CTFontCreateWithFontDescriptorAndOptions)
+        v = CTFontCreateWithFontDescriptorAndOptions(descr, 14.0, None, 0)
+        self.failUnlessIsInstance(v, CTFontRef)
+
+
 if __name__ == "__main__":
     main()

Modified: trunk/pyobjc/pyobjc-framework-CoreText/PyObjCTest/test_ctfontdescriptor.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-CoreText/PyObjCTest/test_ctfontdescriptor.py	(original)
+++ trunk/pyobjc/pyobjc-framework-CoreText/PyObjCTest/test_ctfontdescriptor.py	Tue Sep 29 10:26:46 2009
@@ -29,6 +29,31 @@
         self.failUnlessEqual(kCTFontHorizontalOrientation, 1)
         self.failUnlessEqual(kCTFontVerticalOrientation, 2)
 
+    @min_os_level('10.6')
+    def testConstants10_6(self):
+        self.failUnlessIsInstance(kCTFontURLAttribute, unicode)
+        self.failUnlessIsInstance(kCTFontFormatAttribute, unicode)
+        self.failUnlessIsInstance(kCTFontRegistrationScopeAttribute, unicode)
+        self.failUnlessIsInstance(kCTFontPriorityAttribute, unicode)
+        self.failUnlessIsInstance(kCTFontEnabledAttribute, unicode)
+        self.failUnlessIsInstance(kCTFontEnabledAttribute, unicode)
+
+        self.failUnlessEqual(kCTFontFormatUnrecognized, 0)
+        self.failUnlessEqual(kCTFontFormatOpenTypePostScript, 1)
+        self.failUnlessEqual(kCTFontFormatOpenTypeTrueType, 2)
+        self.failUnlessEqual(kCTFontFormatTrueType, 3)
+        self.failUnlessEqual(kCTFontFormatPostScript, 4)
+        self.failUnlessEqual(kCTFontFormatBitmap, 5)
+
+        self.failUnlessEqual(kCTFontPrioritySystem,  10000)
+        self.failUnlessEqual(kCTFontPriorityNetwork,  20000)
+        self.failUnlessEqual(kCTFontPriorityComputer,  30000)
+        self.failUnlessEqual(kCTFontPriorityUser,  40000)
+        self.failUnlessEqual(kCTFontPriorityDynamic,  50000)
+        self.failUnlessEqual(kCTFontPriorityProcess,  60000)
+
+
+
     def testFunctions(self):
 
         self.failUnlessResultIsCFRetained(CTFontDescriptorCreateWithAttributes)
@@ -78,7 +103,7 @@
         self.failUnlessArgIsOut(CTFontDescriptorCopyLocalizedAttribute, 2)
         v, l = CTFontDescriptorCopyLocalizedAttribute(descriptor, kCTFontDisplayNameAttribute, None)
         self.failUnlessIsInstance(v, unicode)
-        self.failUnlessIsInstance(l, unicode)
+        self.failUnlessIsInstance(l, (unicode, type(None)))
 
         v = CTFontDescriptorGetTypeID()
         self.failUnlessIsInstance(v, (int, long))

Modified: trunk/pyobjc/pyobjc-framework-CoreText/PyObjCTest/test_ctframesetter.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-CoreText/PyObjCTest/test_ctframesetter.py	(original)
+++ trunk/pyobjc/pyobjc-framework-CoreText/PyObjCTest/test_ctframesetter.py	Tue Sep 29 10:26:46 2009
@@ -20,6 +20,10 @@
         v = CTFramesetterGetTypesetter(setter)
         self.failUnlessIsInstance(v, CTTypesetterRef)
 
+    @min_os_level('10.5')
+    def testMethods10_5(self):
+        self.fail('CTFramesetterSuggestFrameSizeWithConstraints')
+
 
 if __name__ == "__main__":
     main()

Modified: trunk/pyobjc/pyobjc-framework-CoreText/PyObjCTest/test_ctrun.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-CoreText/PyObjCTest/test_ctrun.py	(original)
+++ trunk/pyobjc/pyobjc-framework-CoreText/PyObjCTest/test_ctrun.py	Tue Sep 29 10:26:46 2009
@@ -15,6 +15,7 @@
         self.failUnlessEqual(kCTRunStatusHasNonIdentityMatrix, (1 << 2))
 
     def testFunctions(self):
+        return
         self.failUnlessIsInstance(CTRunGetTypeID(), (int, long))
 
         line = CTLineCreateWithAttributedString(
@@ -85,6 +86,10 @@
         v = CTRunDraw(run, ctx, CFRange(0, 5))
         self.failUnless(v is None)
 
+    @min_os_level('10.5')
+    def testFunctions10_5(self):
+        self.fail('CTRunGetAdvancesPtr')
+        self.fail('CTRunGetAdvances')
 
 
 if __name__ == "__main__":

Modified: trunk/pyobjc/pyobjc-framework-CoreText/PyObjCTest/test_ctstringattributes.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-CoreText/PyObjCTest/test_ctstringattributes.py	(original)
+++ trunk/pyobjc/pyobjc-framework-CoreText/PyObjCTest/test_ctstringattributes.py	Tue Sep 29 10:26:46 2009
@@ -22,6 +22,18 @@
         self.failUnlessEqual(kCTUnderlinePatternDashDot,  0x0300)
         self.failUnlessEqual(kCTUnderlinePatternDashDotDot,  0x0400)
 
+    @min_os_level('10.5')
+    def testConstants10_5(self):
+        self.failUnlessIsInstance(kCTForegroundColorFromContextAttributeName, unicode)
+        self.failUnlessIsInstance(kCTSuperscriptAttributeName, unicode)
+        self.failUnlessIsInstance(kCTUnderlineColorAttributeName, unicode)
+        self.failUnlessIsInstance(kCTCharacterShapeAttributeName, unicode)
+
+    @min_os_level('10.6')
+    def testConstants10_6(self):
+        self.failUnlessIsInstance(kCTStrokeWidthAttributeName, unicode)
+        self.failUnlessIsInstance(kCTStrokeColorAttributeName, unicode)
+
 
 if __name__ == "__main__":
     main()

Modified: trunk/pyobjc/pyobjc-framework-CoreText/PyObjCTest/test_cttypesetter.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-CoreText/PyObjCTest/test_cttypesetter.py	(original)
+++ trunk/pyobjc/pyobjc-framework-CoreText/PyObjCTest/test_cttypesetter.py	Tue Sep 29 10:26:46 2009
@@ -6,8 +6,10 @@
     def testTypes(self):
         self.failUnlessIsCFType(CTTypesetterRef)
 
-    def testConstants(self):
+    @min_os_level('10.5')
+    def testConstants10_5(self):
         self.failUnlessIsInstance(kCTTypesetterOptionDisableBidiProcessing, unicode)
+        self.failUnlessIsInstance(kCTTypesetterOptionForcedEmbeddingLevel, unicode)
 
     def testFunctions(self):
         self.failUnlessIsInstance(CTTypesetterGetTypeID(), (int, long))

Modified: trunk/pyobjc/pyobjc-framework-CoreText/setup.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-CoreText/setup.py	(original)
+++ trunk/pyobjc/pyobjc-framework-CoreText/setup.py	Tue Sep 29 10:26:46 2009
@@ -26,7 +26,7 @@
 
 setup(
     name='pyobjc-framework-CoreText',
-    version='2.2b3',
+    version='2.2b4',
     description = "Wrappers for the framework CoreText on Mac OS X",
     long_description = __doc__,
     author='Ronald Oussoren',

------------------------------------------------------------------------------
Come build with us! The BlackBerry&reg; Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9&#45;12, 2009. Register now&#33;
http://p.sf.net/sfu/devconf