An introduction to PyObjC describes the general method for translating Objective-C calls into Python calls, including the handling of pass-by-reference arguments and buffers.
This document describes where the PyObjC bindings for this framework are different from the general rule, such as mentioning APIs that are not supported or where the interface is different than expected.
This function is not supported by PyObjC.
The length of the range argument must not be 0.
This structure is not yet supported.
This function is not supported, because the ATS framework does not have wrappers.
This function returns a python tuple, not a CFArrayRef. That’s because the C version returns a CFArray that doesn’t contain objects.
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 and CTParagraphStyleGetValueForSpecifier
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 example sizeof_CGFloat.
A special case is kCTParagraphStyleSpecifierTabStops, it’s value should be an instance of NSArray when using with CTParagraphStyleCreate. Note that arbitrary Python sequences won’t work here.
Use CTParagraphStyleGetTabStops to fetch the tabstops from a style object, using CTParagraphStyleGetValueSpecifieker is not supported with key kCTParagraphStyleSpecifierTabStops.
CTRunGetAdvancesPtr is not supported, use CTRunGetAdvances instead.