API Notes: CoreText framework¶
The full API is described in Apple’s documentation, both the C and Objective-C APIs are available (but see the API Notes below).
These bindings are accessed through the CoreText
package (that is, import CoreText
).
API Notes¶
CTFontCreateWithQuickdrawInstance
This function is not supported by PyObjC.
CTFrameGetLineOrigins
The
length
of therange
argument must not be0
.CTParagraphStyleSetting
This structure is not yet supported.
CTFontGetPlatformFont
This function is not supported, because the ATS framework does not have wrappers.
CTFontCopyAvailableTables
This function returns a python tuple, not a
CFArrayRef
. That’s because the C version returns a CFArray that doesn’t contain objects.CTParagraphStyleGetValueForSpecifier
This returns a python string containing the actual value, you’ll have to decode this using the
struct
module to get at the real value.CTParagraphStyleCreate
andCTParagraphStyleGetValueForSpecifier
Both API’s have a rather low-level interface in Python: you’ll have to encode the value to a python buffer (string), or decode it from such a buffer yourself using the
struct
module.As a convenience the sizes of value types are defined as
sizeof_TYPE
, for examplesizeof_CGFloat
.A special case is
kCTParagraphStyleSpecifierTabStops
, it’s value should be an instance ofNSArray
when using withCTParagraphStyleCreate
. Note that arbitrary Python sequences won’t work here.Use
CTParagraphStyleGetTabStops
to fetch the tabstops from a style object, usingCTParagraphStyleGetValueSpecifieker
is not supported with keykCTParagraphStyleSpecifierTabStops
.All types and constants defined in “SFNTLayoutTypes.h” and “SFNTTypes.h” are not yet supported
CTRunDelegateGetRefCon
This function is only supported when the runDelegate argument was created in Python.
CTRunDelegateCreate
The first argument is a tuple with the
getAscent
,getDescent
andgetWidth
functions, the second argument is an arbitrary python object.