Skip to content

CoreText iOS xcode9 beta1

Vincent Dondain edited this page Jun 5, 2017 · 1 revision

#CoreText.framework

diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTDefines.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTDefines.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTDefines.h	2016-09-23 20:28:11.000000000 -0400
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTDefines.h	2017-05-19 22:28:17.000000000 -0400
@@ -2,7 +2,7 @@
  *  CTDefines.h
  *  CoreText
  *
- *  Copyright (c) 2010-2016 Apple Inc. All rights reserved.
+ *  Copyright (c) 2010-2017 Apple Inc. All rights reserved.
  *
  */
 
@@ -20,35 +20,21 @@
 #endif
 
 #if defined(CT_BUILDING_CoreText) || TARGET_OS_WIN32
-# define CT_AVAILABLE(_mac, _ios)
-# define CT_AVAILABLE_MAC(_mac)
-# define CT_AVAILABLE_IOS(_ios)
-# define CT_DEPRECATED(_macIntro, _macDep, _iosIntro, _iosDep)
-# define CT_DEPRECATED_MAC(_macIntro, _macDep)
-# define CT_DEPRECATED_IOS(_iosIntro, _iosDep)
+# define CT_AVAILABLE(...)
+# define CT_UNAVAILABLE(...)
+# define CT_DEPRECATED(...)
 #else /* defined(CT_BUILDING_CoreText) */
-# define CT_AVAILABLE(_mac, _ios) __OSX_AVAILABLE_STARTING(__MAC_##_mac, __IPHONE_##_ios)
-# define CT_AVAILABLE_MAC(_mac) __OSX_AVAILABLE_STARTING(__MAC_##_mac, __IPHONE_NA)
-# define CT_AVAILABLE_IOS(_ios) __OSX_AVAILABLE_STARTING(__MAC_NA, __IPHONE_##_ios)
-# define CT_DEPRECATED(_macIntro, _macDep, _iosIntro, _iosDep) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_##_macIntro, __MAC_##_macDep, __IPHONE_##_iosIntro, __IPHONE_##_iosDep)
-# define CT_DEPRECATED_MAC(_macIntro, _macDep) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_##_macIntro, __MAC_##_macDep, __IPHONE_NA, __IPHONE_NA)
-# define CT_DEPRECATED_IOS(_iosIntro, _iosDep) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_NA, __MAC_NA, __IPHONE_##_iosIntro, __IPHONE_##_iosDep)
+# define CT_AVAILABLE(...) API_AVAILABLE(__VA_ARGS__)
+# define CT_UNAVAILABLE(...) API_UNAVAILABLE(__VA_ARGS__)
+# define CT_DEPRECATED(...) API_DEPRECATED(__VA_ARGS__)
 #endif /* defined(CT_BUILDING_CoreText) */
 
 #if __has_feature(enumerator_attributes) && __has_attribute(availability)
-# define CT_ENUM_AVAILABLE(_mac, _ios) CT_AVAILABLE(_mac, _ios)
-# define CT_ENUM_AVAILABLE_MAC(_mac) CT_AVAILABLE_MAC(_mac)
-# define CT_ENUM_AVAILABLE_IOS(_ios) CT_AVAILABLE_IOS(_ios)
-# define CT_ENUM_DEPRECATED(_macIntro, _macDep, _iosIntro, _iosDep) CT_DEPRECATED(_macIntro, _macDep, _iosIntro, _iosDep)
-# define CT_ENUM_DEPRECATED_MAC(_macIntro, _macDep) CT_DEPRECATED_MAC(_macIntro, _macDep)
-# define CT_ENUM_DEPRECATED_IOS(_iosIntro, _iosDep) CT_DEPRECATED_IOS(_iosIntro, _iosDep)
+# define CT_ENUM_DEPRECATED(...) CT_DEPRECATED(__VA_ARGS__)
+# define CT_ENUM_UNAVAILABLE(...) CT_UNAVAILABLE(__VA_ARGS__)
 #else
-# define CT_ENUM_AVAILABLE(_mac, _ios)
-# define CT_ENUM_AVAILABLE_MAC(_mac)
-# define CT_ENUM_AVAILABLE_IOS(_ios)
-# define CT_ENUM_DEPRECATED(_macIntro, _macDep, _iosIntro, _iosDep)
-# define CT_ENUM_DEPRECATED_MAC(_macIntro, _macDep)
-# define CT_ENUM_DEPRECATED_IOS(_iosIntro, _iosDep)
+# define CT_ENUM_DEPRECATED(...)
+# define CT_ENUM_UNAVAILABLE(...)
 #endif /* __has_feature(enumerator_attributes) && __has_attribute(availability) */
 
 #if __has_attribute(objc_bridge)
@@ -70,6 +56,7 @@
 
 #if TARGET_OS_WIN32
 #define __nullable
+#define _Nonnull
 
 #define CF_BRIDGED_TYPE(T)
 #define CF_BRIDGED_MUTABLE_TYPE(T)
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTFont.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTFont.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTFont.h	2016-09-19 19:19:33.000000000 -0400
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTFont.h	2017-05-19 22:58:11.000000000 -0400
@@ -2,7 +2,7 @@
  *  CTFont.h
  *  CoreText
  *
- *  Copyright (c) 2006-2016 Apple Inc. All rights reserved.
+ *  Copyright (c) 2006-2017 Apple Inc. All rights reserved.
  *
  */
 
@@ -48,7 +48,7 @@
     @abstract   Returns the type identifier for Core Text font references.
     @result     The identifier for the opaque type CTFontRef.
 */
-CFTypeID CTFontGetTypeID( void ) CT_AVAILABLE(10_5, 3_2);
+CFTypeID CTFontGetTypeID( void ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*! --------------------------------------------------------------------------
     @group Font Constants
@@ -59,94 +59,94 @@
     @defined    kCTFontCopyrightNameKey
     @abstract   The name specifier for the copyright name.
 */
-CT_EXPORT const CFStringRef kCTFontCopyrightNameKey CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontCopyrightNameKey CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 /*!
     @defined    kCTFontFamilyNameKey
     @abstract   The name specifier for the family name.
 */
-CT_EXPORT const CFStringRef kCTFontFamilyNameKey CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontFamilyNameKey CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 /*!
     @defined    kCTFontSubFamilyNameKey
     @abstract   The name specifier for the subfamily name.
 */
-CT_EXPORT const CFStringRef kCTFontSubFamilyNameKey CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontSubFamilyNameKey CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 /*!
     @defined    kCTFontStyleNameKey
     @abstract   The name specifier for the style name.
 */
-CT_EXPORT const CFStringRef kCTFontStyleNameKey CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontStyleNameKey CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 /*!
     @defined    kCTFontUniqueNameKey
     @abstract   The name specifier for the unique name.
     @discussion Note that this name is often not unique and should not be
                 assumed to be truly unique.
 */
-CT_EXPORT const CFStringRef kCTFontUniqueNameKey CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontUniqueNameKey CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 /*!
     @defined    kCTFontFullNameKey
     @abstract   The name specifier for the full name.
 */
-CT_EXPORT const CFStringRef kCTFontFullNameKey CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontFullNameKey CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 /*!
     @defined    kCTFontVersionNameKey
     @abstract   The name specifier for the version name.
 */
-CT_EXPORT const CFStringRef kCTFontVersionNameKey CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontVersionNameKey CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 /*!
     @defined    kCTFontPostScriptNameKey
     @abstract   The name specifier for the PostScript name.
 */
-CT_EXPORT const CFStringRef kCTFontPostScriptNameKey CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontPostScriptNameKey CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 /*!
     @defined    kCTFontTrademarkNameKey
     @abstract   The name specifier for the trademark name.
 */
-CT_EXPORT const CFStringRef kCTFontTrademarkNameKey CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontTrademarkNameKey CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 /*!
     @defined    kCTFontManufacturerNameKey
     @abstract   The name specifier for the manufacturer name.
 */
-CT_EXPORT const CFStringRef kCTFontManufacturerNameKey CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontManufacturerNameKey CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 /*!
     @defined    kCTFontDesignerNameKey
     @abstract   The name specifier for the designer name.
 */
-CT_EXPORT const CFStringRef kCTFontDesignerNameKey CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontDesignerNameKey CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 /*!
     @defined    kCTFontDescriptionNameKey
     @abstract   The name specifier for the description name.
 */
-CT_EXPORT const CFStringRef kCTFontDescriptionNameKey CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontDescriptionNameKey CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 /*!
     @defined    kCTFontVendorURLNameKey
     @abstract   The name specifier for the vendor url name.
 */
-CT_EXPORT const CFStringRef kCTFontVendorURLNameKey CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontVendorURLNameKey CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 /*!
     @defined    kCTFontDesignerURLNameKey
     @abstract   The name specifier for the designer url name.
 */
-CT_EXPORT const CFStringRef kCTFontDesignerURLNameKey CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontDesignerURLNameKey CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 /*!
     @defined    kCTFontLicenseNameKey
     @abstract   The name specifier for the license name.
 */
-CT_EXPORT const CFStringRef kCTFontLicenseNameKey CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontLicenseNameKey CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 /*!
     @defined    kCTFontLicenseURLNameKey
     @abstract   The name specifier for the license url name.
 */
-CT_EXPORT const CFStringRef kCTFontLicenseURLNameKey CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontLicenseURLNameKey CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 /*!
     @defined    kCTFontSampleTextNameKey
     @abstract   The name specifier for the sample text name string.
 */
-CT_EXPORT const CFStringRef kCTFontSampleTextNameKey CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontSampleTextNameKey CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 /*!
     @defined    kCTFontPostScriptCIDNameKey
     @abstract   The name specifier for the PostScript CID name.
 */
-CT_EXPORT const CFStringRef kCTFontPostScriptCIDNameKey CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontPostScriptCIDNameKey CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*! --------------------------------------------------------------------------
     @group Font Creation
@@ -170,9 +170,9 @@
     @result     This function will return a CTFontRef that best matches the name provided with size and matrix attributes. The name parameter is the only required parameters, and default values will be used for unspecified parameters. A best match will be found if all parameters cannot be matched identically.
 */
 CTFontRef CTFontCreateWithName(
-    CFStringRef __nullable      name,
+    CFStringRef                 name,
     CGFloat                     size,
-    const CGAffineTransform * __nullable matrix ) CT_AVAILABLE(10_5, 3_2);
+    const CGAffineTransform * __nullable matrix ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontCreateWithFontDescriptor
@@ -192,7 +192,7 @@
 CTFontRef CTFontCreateWithFontDescriptor(
     CTFontDescriptorRef     descriptor,
     CGFloat                 size,
-    const CGAffineTransform * __nullable matrix ) CT_AVAILABLE(10_5, 3_2);
+    const CGAffineTransform * __nullable matrix ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @enum       CTFontOptions
@@ -233,7 +233,7 @@
     CFStringRef                 name,
     CGFloat                     size,
     const CGAffineTransform * __nullable matrix,
-    CTFontOptions               options ) CT_AVAILABLE(10_6, 3_2);
+    CTFontOptions               options ) CT_AVAILABLE(macos(10.6), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontCreateWithFontDescriptorAndOptions
@@ -257,7 +257,7 @@
     CTFontDescriptorRef     descriptor,
     CGFloat                 size,
     const CGAffineTransform * __nullable matrix,
-    CTFontOptions           options ) CT_AVAILABLE(10_6, 3_2);
+    CTFontOptions           options ) CT_AVAILABLE(macos(10.6), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @enum       UI Type constants
@@ -265,63 +265,91 @@
     @discussion Use these constants with CTFontCreateUIFontForLanguage to indicate the intended user interface usage of the font reference to be created.
 */
 typedef CF_ENUM(uint32_t, CTFontUIFontType) {
-    kCTFontUIFontNone                   CT_ENUM_AVAILABLE(10_8, 6_0) = (uint32_t)-1,
-    kCTFontUIFontUser                   CT_ENUM_AVAILABLE(10_8, 6_0) =  0,
-    kCTFontUIFontUserFixedPitch         CT_ENUM_AVAILABLE(10_8, 6_0) =  1,
-    kCTFontUIFontSystem                 CT_ENUM_AVAILABLE(10_8, 6_0) =  2,
-    kCTFontUIFontEmphasizedSystem       CT_ENUM_AVAILABLE(10_8, 6_0) =  3,
-    kCTFontUIFontSmallSystem            CT_ENUM_AVAILABLE(10_8, 6_0) =  4,
-    kCTFontUIFontSmallEmphasizedSystem  CT_ENUM_AVAILABLE(10_8, 6_0) =  5,
-    kCTFontUIFontMiniSystem             CT_ENUM_AVAILABLE(10_8, 6_0) =  6,
-    kCTFontUIFontMiniEmphasizedSystem   CT_ENUM_AVAILABLE(10_8, 6_0) =  7,
-    kCTFontUIFontViews                  CT_ENUM_AVAILABLE(10_8, 6_0) =  8,
-    kCTFontUIFontApplication            CT_ENUM_AVAILABLE(10_8, 6_0) =  9,
-    kCTFontUIFontLabel                  CT_ENUM_AVAILABLE(10_8, 6_0) = 10,
-    kCTFontUIFontMenuTitle              CT_ENUM_AVAILABLE(10_8, 6_0) = 11,
-    kCTFontUIFontMenuItem               CT_ENUM_AVAILABLE(10_8, 6_0) = 12,
-    kCTFontUIFontMenuItemMark           CT_ENUM_AVAILABLE(10_8, 6_0) = 13,
-    kCTFontUIFontMenuItemCmdKey         CT_ENUM_AVAILABLE(10_8, 6_0) = 14,
-    kCTFontUIFontWindowTitle            CT_ENUM_AVAILABLE(10_8, 6_0) = 15,
-    kCTFontUIFontPushButton             CT_ENUM_AVAILABLE(10_8, 6_0) = 16,
-    kCTFontUIFontUtilityWindowTitle     CT_ENUM_AVAILABLE(10_8, 6_0) = 17,
-    kCTFontUIFontAlertHeader            CT_ENUM_AVAILABLE(10_8, 6_0) = 18,
-    kCTFontUIFontSystemDetail           CT_ENUM_AVAILABLE(10_8, 6_0) = 19,
-    kCTFontUIFontEmphasizedSystemDetail CT_ENUM_AVAILABLE(10_8, 6_0) = 20,
-    kCTFontUIFontToolbar                CT_ENUM_AVAILABLE(10_8, 6_0) = 21,
-    kCTFontUIFontSmallToolbar           CT_ENUM_AVAILABLE(10_8, 6_0) = 22,
-    kCTFontUIFontMessage                CT_ENUM_AVAILABLE(10_8, 6_0) = 23,
-    kCTFontUIFontPalette                CT_ENUM_AVAILABLE(10_8, 6_0) = 24,
-    kCTFontUIFontToolTip                CT_ENUM_AVAILABLE(10_8, 6_0) = 25,
-    kCTFontUIFontControlContent         CT_ENUM_AVAILABLE(10_8, 6_0) = 26,
-
-    kCTFontNoFontType CT_ENUM_DEPRECATED(10_5, 10_11, 3_2, 9_0) = kCTFontUIFontNone,
-    kCTFontUserFontType CT_ENUM_DEPRECATED(10_5, 10_11, 3_2, 9_0) = kCTFontUIFontUser,
-    kCTFontUserFixedPitchFontType CT_ENUM_DEPRECATED(10_5, 10_11, 3_2, 9_0) = kCTFontUIFontUserFixedPitch,
-    kCTFontSystemFontType CT_ENUM_DEPRECATED(10_5, 10_11, 3_2, 9_0) = kCTFontUIFontSystem,
-    kCTFontEmphasizedSystemFontType CT_ENUM_DEPRECATED(10_5, 10_11, 3_2, 9_0) = kCTFontUIFontEmphasizedSystem,
-    kCTFontSmallSystemFontType CT_ENUM_DEPRECATED(10_5, 10_11, 3_2, 9_0) = kCTFontUIFontSmallSystem,
-    kCTFontSmallEmphasizedSystemFontType CT_ENUM_DEPRECATED(10_5, 10_11, 3_2, 9_0) = kCTFontUIFontSmallEmphasizedSystem,
-    kCTFontMiniSystemFontType CT_ENUM_DEPRECATED(10_5, 10_11, 3_2, 9_0) = kCTFontUIFontMiniSystem,
-    kCTFontMiniEmphasizedSystemFontType CT_ENUM_DEPRECATED(10_5, 10_11, 3_2, 9_0) = kCTFontUIFontMiniEmphasizedSystem,
-    kCTFontViewsFontType CT_ENUM_DEPRECATED(10_5, 10_11, 3_2, 9_0) = kCTFontUIFontViews,
-    kCTFontApplicationFontType CT_ENUM_DEPRECATED(10_5, 10_11, 3_2, 9_0) = kCTFontUIFontApplication,
-    kCTFontLabelFontType CT_ENUM_DEPRECATED(10_5, 10_11, 3_2, 9_0) = kCTFontUIFontLabel,
-    kCTFontMenuTitleFontType CT_ENUM_DEPRECATED(10_5, 10_11, 3_2, 9_0) = kCTFontUIFontMenuTitle,
-    kCTFontMenuItemFontType CT_ENUM_DEPRECATED(10_5, 10_11, 3_2, 9_0) = kCTFontUIFontMenuItem,
-    kCTFontMenuItemMarkFontType CT_ENUM_DEPRECATED(10_5, 10_11, 3_2, 9_0) = kCTFontUIFontMenuItemMark,
-    kCTFontMenuItemCmdKeyFontType CT_ENUM_DEPRECATED(10_5, 10_11, 3_2, 9_0) = kCTFontUIFontMenuItemCmdKey,
-    kCTFontWindowTitleFontType CT_ENUM_DEPRECATED(10_5, 10_11, 3_2, 9_0) = kCTFontUIFontWindowTitle,
-    kCTFontPushButtonFontType CT_ENUM_DEPRECATED(10_5, 10_11, 3_2, 9_0) = kCTFontUIFontPushButton,
-    kCTFontUtilityWindowTitleFontType CT_ENUM_DEPRECATED(10_5, 10_11, 3_2, 9_0) = kCTFontUIFontUtilityWindowTitle,
-    kCTFontAlertHeaderFontType CT_ENUM_DEPRECATED(10_5, 10_11, 3_2, 9_0) = kCTFontUIFontAlertHeader,
-    kCTFontSystemDetailFontType CT_ENUM_DEPRECATED(10_5, 10_11, 3_2, 9_0) = kCTFontUIFontSystemDetail,
-    kCTFontEmphasizedSystemDetailFontType CT_ENUM_DEPRECATED(10_5, 10_11, 3_2, 9_0) = kCTFontUIFontEmphasizedSystemDetail,
-    kCTFontToolbarFontType CT_ENUM_DEPRECATED(10_5, 10_11, 3_2, 9_0) = kCTFontUIFontToolbar,
-    kCTFontSmallToolbarFontType CT_ENUM_DEPRECATED(10_5, 10_11, 3_2, 9_0) = kCTFontUIFontSmallToolbar,
-    kCTFontMessageFontType CT_ENUM_DEPRECATED(10_5, 10_11, 3_2, 9_0) = kCTFontUIFontMessage,
-    kCTFontPaletteFontType CT_ENUM_DEPRECATED(10_5, 10_11, 3_2, 9_0) = kCTFontUIFontPalette,
-    kCTFontToolTipFontType CT_ENUM_DEPRECATED(10_5, 10_11, 3_2, 9_0) = kCTFontUIFontToolTip,
-    kCTFontControlContentFontType CT_ENUM_DEPRECATED(10_5, 10_11, 3_2, 9_0) = kCTFontUIFontControlContent
+    kCTFontUIFontNone                   = (uint32_t)-1,
+    kCTFontUIFontUser                   =  0,
+    kCTFontUIFontUserFixedPitch         =  1,
+    kCTFontUIFontSystem                 =  2,
+    kCTFontUIFontEmphasizedSystem       =  3,
+    kCTFontUIFontSmallSystem            =  4,
+    kCTFontUIFontSmallEmphasizedSystem  =  5,
+    kCTFontUIFontMiniSystem             =  6,
+    kCTFontUIFontMiniEmphasizedSystem   =  7,
+    kCTFontUIFontViews                  =  8,
+    kCTFontUIFontApplication            =  9,
+    kCTFontUIFontLabel                  = 10,
+    kCTFontUIFontMenuTitle              = 11,
+    kCTFontUIFontMenuItem               = 12,
+    kCTFontUIFontMenuItemMark           = 13,
+    kCTFontUIFontMenuItemCmdKey         = 14,
+    kCTFontUIFontWindowTitle            = 15,
+    kCTFontUIFontPushButton             = 16,
+    kCTFontUIFontUtilityWindowTitle     = 17,
+    kCTFontUIFontAlertHeader            = 18,
+    kCTFontUIFontSystemDetail           = 19,
+    kCTFontUIFontEmphasizedSystemDetail = 20,
+    kCTFontUIFontToolbar                = 21,
+    kCTFontUIFontSmallToolbar           = 22,
+    kCTFontUIFontMessage                = 23,
+    kCTFontUIFontPalette                = 24,
+    kCTFontUIFontToolTip                = 25,
+    kCTFontUIFontControlContent         = 26,
+
+    kCTFontNoFontType CT_ENUM_DEPRECATED("Deprecated", macos(10.5, 10.11), ios(3.2, 9.0)) CT_ENUM_UNAVAILABLE(watchos, tvos)
+        = kCTFontUIFontNone,
+    kCTFontUserFontType CT_ENUM_DEPRECATED("Deprecated", macos(10.5, 10.11), ios(3.2, 9.0)) CT_ENUM_UNAVAILABLE(watchos, tvos)
+        = kCTFontUIFontUser,
+    kCTFontUserFixedPitchFontType CT_ENUM_DEPRECATED("Deprecated", macos(10.5, 10.11), ios(3.2, 9.0)) CT_ENUM_UNAVAILABLE(watchos, tvos)
+        = kCTFontUIFontUserFixedPitch,
+    kCTFontSystemFontType CT_ENUM_DEPRECATED("Deprecated", macos(10.5, 10.11), ios(3.2, 9.0)) CT_ENUM_UNAVAILABLE(watchos, tvos)
+        = kCTFontUIFontSystem,
+    kCTFontEmphasizedSystemFontType CT_ENUM_DEPRECATED("Deprecated", macos(10.5, 10.11), ios(3.2, 9.0)) CT_ENUM_UNAVAILABLE(watchos, tvos)
+        = kCTFontUIFontEmphasizedSystem,
+    kCTFontSmallSystemFontType CT_ENUM_DEPRECATED("Deprecated", macos(10.5, 10.11), ios(3.2, 9.0)) CT_ENUM_UNAVAILABLE(watchos, tvos)
+        = kCTFontUIFontSmallSystem,
+    kCTFontSmallEmphasizedSystemFontType CT_ENUM_DEPRECATED("Deprecated", macos(10.5, 10.11), ios(3.2, 9.0)) CT_ENUM_UNAVAILABLE(watchos, tvos)
+        = kCTFontUIFontSmallEmphasizedSystem,
+    kCTFontMiniSystemFontType CT_ENUM_DEPRECATED("Deprecated", macos(10.5, 10.11), ios(3.2, 9.0)) CT_ENUM_UNAVAILABLE(watchos, tvos)
+        = kCTFontUIFontMiniSystem,
+    kCTFontMiniEmphasizedSystemFontType CT_ENUM_DEPRECATED("Deprecated", macos(10.5, 10.11), ios(3.2, 9.0)) CT_ENUM_UNAVAILABLE(watchos, tvos)
+        = kCTFontUIFontMiniEmphasizedSystem,
+    kCTFontViewsFontType CT_ENUM_DEPRECATED("Deprecated", macos(10.5, 10.11), ios(3.2, 9.0)) CT_ENUM_UNAVAILABLE(watchos, tvos)
+        = kCTFontUIFontViews,
+    kCTFontApplicationFontType CT_ENUM_DEPRECATED("Deprecated", macos(10.5, 10.11), ios(3.2, 9.0)) CT_ENUM_UNAVAILABLE(watchos, tvos)
+        = kCTFontUIFontApplication,
+    kCTFontLabelFontType CT_ENUM_DEPRECATED("Deprecated", macos(10.5, 10.11), ios(3.2, 9.0)) CT_ENUM_UNAVAILABLE(watchos, tvos)
+        = kCTFontUIFontLabel,
+    kCTFontMenuTitleFontType CT_ENUM_DEPRECATED("Deprecated", macos(10.5, 10.11), ios(3.2, 9.0)) CT_ENUM_UNAVAILABLE(watchos, tvos)
+        = kCTFontUIFontMenuTitle,
+    kCTFontMenuItemFontType CT_ENUM_DEPRECATED("Deprecated", macos(10.5, 10.11), ios(3.2, 9.0)) CT_ENUM_UNAVAILABLE(watchos, tvos)
+        = kCTFontUIFontMenuItem,
+    kCTFontMenuItemMarkFontType CT_ENUM_DEPRECATED("Deprecated", macos(10.5, 10.11), ios(3.2, 9.0)) CT_ENUM_UNAVAILABLE(watchos, tvos)
+        = kCTFontUIFontMenuItemMark,
+    kCTFontMenuItemCmdKeyFontType CT_ENUM_DEPRECATED("Deprecated", macos(10.5, 10.11), ios(3.2, 9.0)) CT_ENUM_UNAVAILABLE(watchos, tvos)
+        = kCTFontUIFontMenuItemCmdKey,
+    kCTFontWindowTitleFontType CT_ENUM_DEPRECATED("Deprecated", macos(10.5, 10.11), ios(3.2, 9.0)) CT_ENUM_UNAVAILABLE(watchos, tvos)
+        = kCTFontUIFontWindowTitle,
+    kCTFontPushButtonFontType CT_ENUM_DEPRECATED("Deprecated", macos(10.5, 10.11), ios(3.2, 9.0)) CT_ENUM_UNAVAILABLE(watchos, tvos)
+        = kCTFontUIFontPushButton,
+    kCTFontUtilityWindowTitleFontType CT_ENUM_DEPRECATED("Deprecated", macos(10.5, 10.11), ios(3.2, 9.0)) CT_ENUM_UNAVAILABLE(watchos, tvos)
+        = kCTFontUIFontUtilityWindowTitle,
+    kCTFontAlertHeaderFontType CT_ENUM_DEPRECATED("Deprecated", macos(10.5, 10.11), ios(3.2, 9.0)) CT_ENUM_UNAVAILABLE(watchos, tvos)
+        = kCTFontUIFontAlertHeader,
+    kCTFontSystemDetailFontType CT_ENUM_DEPRECATED("Deprecated", macos(10.5, 10.11), ios(3.2, 9.0)) CT_ENUM_UNAVAILABLE(watchos, tvos)
+        = kCTFontUIFontSystemDetail,
+    kCTFontEmphasizedSystemDetailFontType CT_ENUM_DEPRECATED("Deprecated", macos(10.5, 10.11), ios(3.2, 9.0)) CT_ENUM_UNAVAILABLE(watchos, tvos)
+        = kCTFontUIFontEmphasizedSystemDetail,
+    kCTFontToolbarFontType CT_ENUM_DEPRECATED("Deprecated", macos(10.5, 10.11), ios(3.2, 9.0)) CT_ENUM_UNAVAILABLE(watchos, tvos)
+        = kCTFontUIFontToolbar,
+    kCTFontSmallToolbarFontType CT_ENUM_DEPRECATED("Deprecated", macos(10.5, 10.11), ios(3.2, 9.0)) CT_ENUM_UNAVAILABLE(watchos, tvos)
+        = kCTFontUIFontSmallToolbar,
+    kCTFontMessageFontType CT_ENUM_DEPRECATED("Deprecated", macos(10.5, 10.11), ios(3.2, 9.0)) CT_ENUM_UNAVAILABLE(watchos, tvos)
+        = kCTFontUIFontMessage,
+    kCTFontPaletteFontType CT_ENUM_DEPRECATED("Deprecated", macos(10.5, 10.11), ios(3.2, 9.0)) CT_ENUM_UNAVAILABLE(watchos, tvos)
+        = kCTFontUIFontPalette,
+    kCTFontToolTipFontType CT_ENUM_DEPRECATED("Deprecated", macos(10.5, 10.11), ios(3.2, 9.0)) CT_ENUM_UNAVAILABLE(watchos, tvos)
+        = kCTFontUIFontToolTip,
+    kCTFontControlContentFontType CT_ENUM_DEPRECATED("Deprecated", macos(10.5, 10.11), ios(3.2, 9.0)) CT_ENUM_UNAVAILABLE(watchos, tvos)
+        = kCTFontUIFontControlContent
 };
 
 /*!
@@ -342,7 +370,7 @@
 CTFontRef __nullable CTFontCreateUIFontForLanguage(
     CTFontUIFontType    uiType,
     CGFloat             size,
-    CFStringRef __nullable language ) CT_AVAILABLE(10_5, 3_2);
+    CFStringRef __nullable language ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontCreateCopyWithAttributes
@@ -368,7 +396,7 @@
     CTFontRef                   font,
     CGFloat                     size,
     const CGAffineTransform * __nullable matrix,
-    CTFontDescriptorRef __nullable attributes ) CT_AVAILABLE(10_5, 3_2);
+    CTFontDescriptorRef __nullable attributes ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontCreateCopyWithSymbolicTraits
@@ -396,7 +424,7 @@
     CGFloat                     size,
     const CGAffineTransform * __nullable matrix,
     CTFontSymbolicTraits        symTraitValue,
-    CTFontSymbolicTraits        symTraitMask ) CT_AVAILABLE(10_5, 3_2);
+    CTFontSymbolicTraits        symTraitMask ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontCreateCopyWithFamily
@@ -420,7 +448,7 @@
     CTFontRef                   font,
     CGFloat                     size,
     const CGAffineTransform * __nullable matrix,
-    CFStringRef                 family ) CT_AVAILABLE(10_5, 3_2);
+    CFStringRef                 family ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*! --------------------------------------------------------------------------
     @group Font Cascading
@@ -450,7 +478,7 @@
 CTFontRef CTFontCreateForString(
     CTFontRef       currentFont,
     CFStringRef     string,
-    CFRange         range ) CT_AVAILABLE(10_5, 3_2);
+    CFRange         range ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*! --------------------------------------------------------------------------
     @group Font Accessors
@@ -466,7 +494,7 @@
     @result     This function returns a normalized font descriptor for a font. The font descriptor contains enough information to recreate this font at a later time.
 */
 CTFontDescriptorRef CTFontCopyFontDescriptor(
-    CTFontRef       font ) CT_AVAILABLE(10_5, 3_2);
+    CTFontRef       font ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontCopyAttribute
@@ -482,7 +510,7 @@
 */
 CFTypeRef __nullable CTFontCopyAttribute(
     CTFontRef       font,
-    CFStringRef     attribute ) CT_AVAILABLE(10_5, 3_2);
+    CFStringRef     attribute ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontGetSize
@@ -493,7 +521,7 @@
 
     @result     This function returns the point size of the given font reference. This is the point size provided when the font was created.
 */
-CGFloat CTFontGetSize( CTFontRef font ) CT_AVAILABLE(10_5, 3_2);
+CGFloat CTFontGetSize( CTFontRef font ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontGetMatrix
@@ -504,7 +532,7 @@
 
     @result     This function returns the transformation matrix for this given font reference. This is the matrix that was provided when the font was created.
 */
-CGAffineTransform CTFontGetMatrix( CTFontRef font ) CT_AVAILABLE(10_5, 3_2);
+CGAffineTransform CTFontGetMatrix( CTFontRef font ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontGetSymbolicTraits
@@ -515,7 +543,7 @@
 
     @result     This function returns the symbolic traits of the font. This is equivalent to the kCTFontSymbolicTrait of traits dictionary. See CTFontTraits.h for a definition of the font traits.
 */
-CTFontSymbolicTraits CTFontGetSymbolicTraits( CTFontRef font ) CT_AVAILABLE(10_5, 3_2);
+CTFontSymbolicTraits CTFontGetSymbolicTraits( CTFontRef font ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontCopyTraits
@@ -526,7 +554,7 @@
 
     @result     This function returns a retained reference to the font traits dictionary. Individual traits can be accessed with the trait key constants. See CTFontTraits.h for a definition of the font traits.
 */
-CFDictionaryRef CTFontCopyTraits( CTFontRef font ) CT_AVAILABLE(10_5, 3_2);
+CFDictionaryRef CTFontCopyTraits( CTFontRef font ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*! --------------------------------------------------------------------------
     @group Font Names
@@ -541,7 +569,7 @@
 
     @result     This function returns a retained reference to the PostScript name of the font.
 */
-CFStringRef CTFontCopyPostScriptName( CTFontRef font ) CT_AVAILABLE(10_5, 3_2);
+CFStringRef CTFontCopyPostScriptName( CTFontRef font ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontCopyFamilyName
@@ -552,7 +580,7 @@
 
     @result     This function returns a retained reference to the family name of the font.
 */
-CFStringRef CTFontCopyFamilyName( CTFontRef font ) CT_AVAILABLE(10_5, 3_2);
+CFStringRef CTFontCopyFamilyName( CTFontRef font ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontCopyFullName
@@ -563,7 +591,7 @@
 
     @result     This function returns a retained reference to the full name of the font.
 */
-CFStringRef CTFontCopyFullName( CTFontRef font ) CT_AVAILABLE(10_5, 3_2);
+CFStringRef CTFontCopyFullName( CTFontRef font ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontCopyDisplayName
@@ -574,7 +602,7 @@
 
     @result     This function returns a retained reference to the localized display name of the font.
 */
-CFStringRef CTFontCopyDisplayName( CTFontRef font ) CT_AVAILABLE(10_5, 3_2);
+CFStringRef CTFontCopyDisplayName( CTFontRef font ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontCopyName
@@ -590,7 +618,7 @@
 */
 CFStringRef __nullable CTFontCopyName(
     CTFontRef       font,
-    CFStringRef     nameKey ) CT_AVAILABLE(10_5, 3_2);
+    CFStringRef     nameKey ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontCopyLocalizedName
@@ -611,7 +639,7 @@
 CFStringRef __nullable CTFontCopyLocalizedName(
     CTFontRef       font,
     CFStringRef     nameKey,
-    CFStringRef __nullable * __nullable actualLanguage ) CT_AVAILABLE(10_5, 3_2);
+    CFStringRef __nullable * __nullable actualLanguage ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*! --------------------------------------------------------------------------
     @group Font Encoding
@@ -626,7 +654,7 @@
 
     @result     This function returns a retained reference to the font's character set. This character set covers the nominal referenced by the font's Unicode cmap table (or equivalent).
 */
-CFCharacterSetRef CTFontCopyCharacterSet( CTFontRef font ) CT_AVAILABLE(10_5, 3_2);
+CFCharacterSetRef CTFontCopyCharacterSet( CTFontRef font ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontGetStringEncoding
@@ -637,7 +665,7 @@
 
     @result     This function returns the best string encoding for the font.
 */
-CFStringEncoding CTFontGetStringEncoding( CTFontRef font ) CT_AVAILABLE(10_5, 3_2);
+CFStringEncoding CTFontGetStringEncoding( CTFontRef font ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontCopySupportedLanguages
@@ -648,7 +676,7 @@
 
     @result     This function returns a retained reference to an array of languages supported by the font. The array contains language identifier strings as CFStringRefs. The format of the language identifier will conform to UTS #35.
 */
-CFArrayRef CTFontCopySupportedLanguages( CTFontRef font ) CT_AVAILABLE(10_5, 3_2);
+CFArrayRef CTFontCopySupportedLanguages( CTFontRef font ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontGetGlyphsForCharacters
@@ -674,9 +702,9 @@
 */
 bool CTFontGetGlyphsForCharacters(
     CTFontRef       font,
-    const UniChar   characters[],
-    CGGlyph         glyphs[],
-    CFIndex         count ) CT_AVAILABLE(10_5, 3_2);
+    const UniChar   characters[_Nonnull],
+    CGGlyph         glyphs[_Nonnull],
+    CFIndex         count ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*! --------------------------------------------------------------------------
     @group Font Metrics
@@ -691,7 +719,7 @@
 
     @result     This function returns the font ascent metric scaled based on the point size and matrix of the font reference.
 */
-CGFloat CTFontGetAscent( CTFontRef font ) CT_AVAILABLE(10_5, 3_2);
+CGFloat CTFontGetAscent( CTFontRef font ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontGetDescent
@@ -702,7 +730,7 @@
 
     @result     This function returns the font descent metric scaled based on the point size and matrix of the font reference.
 */
-CGFloat CTFontGetDescent( CTFontRef font ) CT_AVAILABLE(10_5, 3_2);
+CGFloat CTFontGetDescent( CTFontRef font ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontGetLeading
@@ -713,7 +741,7 @@
 
     @result     This function returns the font leading metric scaled based on the point size and matrix of the font reference.
 */
-CGFloat CTFontGetLeading( CTFontRef font ) CT_AVAILABLE(10_5, 3_2);
+CGFloat CTFontGetLeading( CTFontRef font ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontGetUnitsPerEm
@@ -724,7 +752,7 @@
 
     @result     This function returns the units per em of the font.
 */
-unsigned CTFontGetUnitsPerEm( CTFontRef font ) CT_AVAILABLE(10_5, 3_2);
+unsigned CTFontGetUnitsPerEm( CTFontRef font ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontGetGlyphCount
@@ -735,7 +763,7 @@
 
     @result     This function returns the number of glyphs in the font.
 */
-CFIndex CTFontGetGlyphCount( CTFontRef font ) CT_AVAILABLE(10_5, 3_2);
+CFIndex CTFontGetGlyphCount( CTFontRef font ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontGetBoundingBox
@@ -746,7 +774,7 @@
 
     @result     This will return the design bounding box of the font, which is the rectangle defined by xMin, yMin, xMax, and yMax values for the font.
 */
-CGRect CTFontGetBoundingBox( CTFontRef font ) CT_AVAILABLE(10_5, 3_2);
+CGRect CTFontGetBoundingBox( CTFontRef font ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontGetUnderlinePosition
@@ -757,7 +785,7 @@
 
     @result     This function returns the font underline position metric scaled based on the point size and matrix of the font reference.
 */
-CGFloat CTFontGetUnderlinePosition( CTFontRef font ) CT_AVAILABLE(10_5, 3_2);
+CGFloat CTFontGetUnderlinePosition( CTFontRef font ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontGetUnderlineThickness
@@ -768,7 +796,7 @@
 
     @result     This function returns the font underline thickness metric scaled based on the point size and matrix of the font reference.
 */
-CGFloat CTFontGetUnderlineThickness( CTFontRef font ) CT_AVAILABLE(10_5, 3_2);
+CGFloat CTFontGetUnderlineThickness( CTFontRef font ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontGetSlantAngle
@@ -779,7 +807,7 @@
 
     @result     This function returns the transformed slant angle of the font. This is equivalent to the italic or caret angle with any skew from the transformation matrix applied.
 */
-CGFloat CTFontGetSlantAngle( CTFontRef font ) CT_AVAILABLE(10_5, 3_2);
+CGFloat CTFontGetSlantAngle( CTFontRef font ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontGetCapHeight
@@ -790,7 +818,7 @@
 
     @result     This function returns the font cap height metric scaled based on the point size and matrix of the font reference.
 */
-CGFloat CTFontGetCapHeight( CTFontRef font ) CT_AVAILABLE(10_5, 3_2);
+CGFloat CTFontGetCapHeight( CTFontRef font ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontGetXHeight
@@ -801,7 +829,7 @@
 
     @result     This function returns the font X height metric scaled based on the point size and matrix of the font reference.
 */
-CGFloat CTFontGetXHeight( CTFontRef font ) CT_AVAILABLE(10_5, 3_2);
+CGFloat CTFontGetXHeight( CTFontRef font ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*! --------------------------------------------------------------------------
     @group Font Glyphs
@@ -821,7 +849,7 @@
 */
 CGGlyph CTFontGetGlyphWithName(
     CTFontRef           font,
-    CFStringRef         glyphName ) CT_AVAILABLE(10_5, 3_2);
+    CFStringRef         glyphName ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontGetBoundingRectsForGlyphs
@@ -847,9 +875,9 @@
 CGRect CTFontGetBoundingRectsForGlyphs(
     CTFontRef           font,
     CTFontOrientation   orientation,
-    const CGGlyph       glyphs[],
+    const CGGlyph       glyphs[_Nonnull],
     CGRect * __nullable boundingRects,
-    CFIndex             count ) CT_AVAILABLE(10_5, 3_2);
+    CFIndex             count ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontGetOpticalBoundsForGlyphs
@@ -876,10 +904,10 @@
 */
 CGRect CTFontGetOpticalBoundsForGlyphs(
     CTFontRef           font,
-    const CGGlyph       glyphs[],
+    const CGGlyph       glyphs[_Nonnull],
     CGRect * __nullable boundingRects,
     CFIndex             count,
-    CFOptionFlags       options ) CT_AVAILABLE(10_8, 6_0);
+    CFOptionFlags       options ) CT_AVAILABLE(macos(10.8), ios(6.0), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontGetAdvancesForGlyphs
@@ -905,9 +933,9 @@
 double CTFontGetAdvancesForGlyphs(
     CTFontRef           font,
     CTFontOrientation   orientation,
-    const CGGlyph       glyphs[],
+    const CGGlyph       glyphs[_Nonnull],
     CGSize * __nullable advances,
-    CFIndex             count ) CT_AVAILABLE(10_5, 3_2);
+    CFIndex             count ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontGetVerticalTranslationsForGlyphs
@@ -927,9 +955,9 @@
 */
 void CTFontGetVerticalTranslationsForGlyphs(
     CTFontRef       font,
-    const CGGlyph   glyphs[],
-    CGSize          translations[],
-    CFIndex         count ) CT_AVAILABLE(10_5, 3_2);
+    const CGGlyph   glyphs[_Nonnull],
+    CGSize          translations[_Nonnull],
+    CFIndex         count ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontCreatePathForGlyph
@@ -951,7 +979,7 @@
 CGPathRef __nullable CTFontCreatePathForGlyph(
     CTFontRef                   font,
     CGGlyph                     glyph,
-    const CGAffineTransform * __nullable matrix ) CT_AVAILABLE(10_5, 3_2);
+    const CGAffineTransform * __nullable matrix ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*! --------------------------------------------------------------------------
     @group Font Variations
@@ -962,31 +990,31 @@
     @abstract   Key to get the variation axis identifier.
     @discussion This key is used with a variation axis dictionary to get the axis identifier value as a CFNumberRef.
 */
-CT_EXPORT const CFStringRef kCTFontVariationAxisIdentifierKey CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontVariationAxisIdentifierKey CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 /*!
     @defined    kCTFontVariationAxisMinimumValueKey
     @abstract   Key to get the variation axis minimum value.
     @discussion This key is used with a variation axis dictionary to get the minimum axis value as a CFNumberRef.
 */
-CT_EXPORT const CFStringRef kCTFontVariationAxisMinimumValueKey CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontVariationAxisMinimumValueKey CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 /*!
     @defined    kCTFontVariationAxisMaximumValueKey
     @abstract   Key to get the variation axis maximum value.
     @discussion This key is used with a variation axis dictionary to get the maximum axis value as a CFNumberRef.
 */
-CT_EXPORT const CFStringRef kCTFontVariationAxisMaximumValueKey CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontVariationAxisMaximumValueKey CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 /*!
     @defined    kCTFontVariationAxisDefaultValueKey
     @abstract   Key to get the variation axis default value.
     @discussion This key is used with a variation axis dictionary to get the default axis value as a CFNumberRef.
 */
-CT_EXPORT const CFStringRef kCTFontVariationAxisDefaultValueKey CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontVariationAxisDefaultValueKey CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 /*!
     @defined    kCTFontVariationAxisNameKey
     @abstract   Key to get the variation axis name string.
     @discussion This key is used with a variation axis dictionary to get the localized variation axis name.
 */
-CT_EXPORT const CFStringRef kCTFontVariationAxisNameKey CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontVariationAxisNameKey CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontCopyVariationAxes
@@ -997,7 +1025,7 @@
 
     @result     This function returns an array of variation axis dictionaries or null if the font does not support variations. Each variation axis dictionary contains the five kCTFontVariationAxis* keys above.
 */
-CFArrayRef __nullable CTFontCopyVariationAxes( CTFontRef font ) CT_AVAILABLE(10_5, 3_2);
+CFArrayRef __nullable CTFontCopyVariationAxes( CTFontRef font ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontCopyVariation
@@ -1012,7 +1040,7 @@
     @seealso    kCTFontVariationAxisIdentifierKey
     @seealso    kCTFontVariationAxisDefaultValueKey
 */
-CFDictionaryRef __nullable CTFontCopyVariation( CTFontRef font ) CT_AVAILABLE(10_5, 3_2);
+CFDictionaryRef __nullable CTFontCopyVariation( CTFontRef font ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*! --------------------------------------------------------------------------
     @group Font Features
@@ -1023,61 +1051,61 @@
     @abstract   Key to get the OpenType feature tag.
     @discussion This key can be used with a font feature dictionary to get the tag as a CFStringRef.
 */
-CT_EXPORT const CFStringRef kCTFontOpenTypeFeatureTag CT_AVAILABLE(10_10, 8_0);
+CT_EXPORT const CFStringRef kCTFontOpenTypeFeatureTag CT_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0));
 /*!
     @defined    kCTFontOpenTypeFeatureValue
     @abstract   Key to get the OpenType feature value.
     @discussion This key can be used with a font feature dictionary to get the value as a CFNumberRef.
 */
-CT_EXPORT const CFStringRef kCTFontOpenTypeFeatureValue CT_AVAILABLE(10_10, 8_0);
+CT_EXPORT const CFStringRef kCTFontOpenTypeFeatureValue CT_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0));
 /*!
     @defined    kCTFontFeatureTypeIdentifierKey
     @abstract   Key to get the font feature type value.
     @discussion This key can be used with a font feature dictionary to get the type identifier as a CFNumberRef.
 */
-CT_EXPORT const CFStringRef kCTFontFeatureTypeIdentifierKey CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontFeatureTypeIdentifierKey CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 /*!
     @defined    kCTFontFeatureTypeNameKey
     @abstract   Key to get the font feature name.
     @discussion This key can be used with a font feature dictionary to get the localized type name string as a CFString.
 */
-CT_EXPORT const CFStringRef kCTFontFeatureTypeNameKey CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontFeatureTypeNameKey CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 /*!
     @defined    kCTFontFeatureTypeExclusiveKey
     @abstract   Key to get the font feature exclusive setting.
     @discussion This key can be used with a font feature dictionary to get the the exclusive setting of the feature as a CFBoolean. The value associated with this key indicates whether the feature selectors associated with this type should be mutually exclusive.
 */
-CT_EXPORT const CFStringRef kCTFontFeatureTypeExclusiveKey CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontFeatureTypeExclusiveKey CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 /*!
     @defined    kCTFontFeatureTypeSelectorsKey
     @abstract   Key to get the font feature selectors.
     @discussion This key can be used with a font feature dictionary to get the array of font feature selectors as a CFArrayRef. This is an array of selector dictionaries that contain the values for the following selector keys.
 */
-CT_EXPORT const CFStringRef kCTFontFeatureTypeSelectorsKey CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontFeatureTypeSelectorsKey CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 /*!
     @defined    kCTFontFeatureSelectorIdentifierKey
     @abstract   Key to get the font feature selector identifier.
     @discussion This key can be used with a selector dictionary corresponding to a feature type to obtain the selector identifier value as a CFNumberRef.
 */
-CT_EXPORT const CFStringRef kCTFontFeatureSelectorIdentifierKey CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontFeatureSelectorIdentifierKey CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 /*!
     @defined    kCTFontFeatureSelectorNameKey
     @abstract   Key to get the font feature selector name.
     @discussion This key is used with a selector dictionary to get the localized name string for the selector as a CFStringRef.
 */
-CT_EXPORT const CFStringRef kCTFontFeatureSelectorNameKey CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontFeatureSelectorNameKey CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 /*!
     @defined    kCTFontFeatureSelectorDefaultKey
     @abstract   Key to get the font feature selector default setting value.
     @discussion This key is used with a selector dictionary to get the default indicator for the selector. This value is a CFBooleanRef which if present and true indicates that this selector is the default setting for the current feature type.
 */
-CT_EXPORT const CFStringRef kCTFontFeatureSelectorDefaultKey CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontFeatureSelectorDefaultKey CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 /*!
     @defined    kCTFontFeatureSelectorSettingKey
     @abstract   Key to get or specify the current feature setting.
     @discussion This key is used with a selector dictionary to get or specify the current setting for the selector. This value is a CFBooleanRef to indicate whether this selector is on or off. If this key is not present, the default setting is used.
 */
-CT_EXPORT const CFStringRef kCTFontFeatureSelectorSettingKey CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontFeatureSelectorSettingKey CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontCopyFeatures
@@ -1088,7 +1116,7 @@
 
     @result     This function returns an array of font feature dictionaries for the font reference.
 */
-CFArrayRef __nullable CTFontCopyFeatures( CTFontRef font ) CT_AVAILABLE(10_5, 3_2);
+CFArrayRef __nullable CTFontCopyFeatures( CTFontRef font ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontCopyFeatureSettings
@@ -1101,7 +1129,7 @@
 
     @result     This function returns a normalized array of font feature setting dictionaries. The array will only contain the non-default settings that should be applied to the font, or NULL if the default settings should be used.
 */
-CFArrayRef __nullable CTFontCopyFeatureSettings( CTFontRef font ) CT_AVAILABLE(10_5, 3_2);
+CFArrayRef __nullable CTFontCopyFeatureSettings( CTFontRef font ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*! --------------------------------------------------------------------------
     @group Font Conversion
@@ -1121,7 +1149,7 @@
 */
 CGFontRef CTFontCopyGraphicsFont(
     CTFontRef           font,
-    CTFontDescriptorRef __nullable * __nullable attributes ) CT_AVAILABLE(10_5, 3_2);
+    CTFontDescriptorRef __nullable * __nullable attributes ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontCreateWithGraphicsFont
@@ -1145,7 +1173,7 @@
     CGFontRef                   graphicsFont,
     CGFloat                     size,
     const CGAffineTransform * __nullable matrix,
-    CTFontDescriptorRef __nullable attributes ) CT_AVAILABLE(10_5, 3_2);
+    CTFontDescriptorRef __nullable attributes ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 #ifndef ATSFONTREF_DEFINED
 typedef UInt32 ATSFontRef;
@@ -1167,7 +1195,7 @@
 
 ATSFontRef CTFontGetPlatformFont(
     CTFontRef               font,
-    CTFontDescriptorRef __nullable * __nullable attributes ) CT_AVAILABLE_MAC(10_5);
+    CTFontDescriptorRef __nullable * __nullable attributes ) CT_AVAILABLE(macos(10.5)) CT_UNAVAILABLE(ios, watchos, tvos);
 
 /*!
     @function   CTFontCreateWithPlatformFont
@@ -1191,7 +1219,7 @@
     ATSFontRef                  platformFont,
     CGFloat                     size,
     const CGAffineTransform * __nullable matrix,
-    CTFontDescriptorRef __nullable attributes ) CT_AVAILABLE_MAC(10_5);
+    CTFontDescriptorRef __nullable attributes ) CT_AVAILABLE(macos(10.5)) CT_UNAVAILABLE(ios, watchos, tvos);
 
 /*!
     @function   CTFontCreateWithQuickdrawInstance
@@ -1217,48 +1245,61 @@
     ConstStr255Param __nullable name,
     int16_t             identifier,
     uint8_t             style,
-    CGFloat             size ) CT_AVAILABLE_MAC(10_5);
+    CGFloat             size ) CT_AVAILABLE(macos(10.5)) CT_UNAVAILABLE(ios, watchos, tvos);
 
 /*! --------------------------------------------------------------------------
     @group Font Tables
 *///--------------------------------------------------------------------------
 
 enum {
-    kCTFontTableBASE    = 'BASE',   // Baseline
-    kCTFontTableCFF     = 'CFF ',   // PostScript font program
+    kCTFontTableBASE    = 'BASE',   // Baseline data
+    kCTFontTableCBDT    = 'CBDT',   // Color bitmap data
+    kCTFontTableCBLC    = 'CBLC',   // Color bitmap location data
+    kCTFontTableCFF     = 'CFF ',   // Compact Font Format 1.0
+    kCTFontTableCFF2    = 'CFF2',   // Compact Font Format 2.0
+    kCTFontTableCOLR    = 'COLR',   // Color table
+    kCTFontTableCPAL    = 'CPAL',   // Color palette table
     kCTFontTableDSIG    = 'DSIG',   // Digital signature
-    kCTFontTableEBDT    = 'EBDT',   // Embedded bitmap
-    kCTFontTableEBLC    = 'EBLC',   // Embedded bitmap location
-    kCTFontTableEBSC    = 'EBSC',   // Embedded bitmap scaling
-    kCTFontTableGDEF    = 'GDEF',   // Glyph definition
-    kCTFontTableGPOS    = 'GPOS',   // Glyph positioning
-    kCTFontTableGSUB    = 'GSUB',   // Glyph substitution
-    kCTFontTableJSTF    = 'JSTF',   // Justification
-    kCTFontTableLTSH    = 'LTSH',   // Linear threshold
-    kCTFontTableMATH    = 'MATH',   // Math
+    kCTFontTableEBDT    = 'EBDT',   // Embedded bitmap data
+    kCTFontTableEBLC    = 'EBLC',   // Embedded bitmap location data
+    kCTFontTableEBSC    = 'EBSC',   // Embedded bitmap scaling data
+    kCTFontTableGDEF    = 'GDEF',   // Glyph definition data
+    kCTFontTableGPOS    = 'GPOS',   // Glyph positioning data
+    kCTFontTableGSUB    = 'GSUB',   // Glyph substitution data
+    kCTFontTableHVAR    = 'HVAR',   // Horizontal metrics variations
+    kCTFontTableJSTF    = 'JSTF',   // Justification data
+    kCTFontTableLTSH    = 'LTSH',   // Linear threshold data
+    kCTFontTableMATH    = 'MATH',   // Math layout data
+    kCTFontTableMERG    = 'MERG',   // Merge
+    kCTFontTableMVAR    = 'MVAR',   // Metrics variations
     kCTFontTableOS2     = 'OS/2',   // OS/2 and Windows specific metrics
     kCTFontTablePCLT    = 'PCLT',   // PCL 5 data
+    kCTFontTableSTAT    = 'STAT',   // Style attributes
+    kCTFontTableSVG     = 'SVG ',   // Scalable vector graphics
     kCTFontTableVDMX    = 'VDMX',   // Vertical device metrics
     kCTFontTableVORG    = 'VORG',   // Vertical origin
+    kCTFontTableVVAR    = 'VVAR',   // Vertical metrics variations
     kCTFontTableZapf    = 'Zapf',   // Glyph reference
     kCTFontTableAcnt    = 'acnt',   // Accent attachment
     kCTFontTableAnkr    = 'ankr',   // Anchor points
-    kCTFontTableAvar    = 'avar',   // Axis variation
+    kCTFontTableAvar    = 'avar',   // Axis variations
     kCTFontTableBdat    = 'bdat',   // Bitmap data
     kCTFontTableBhed    = 'bhed',   // Bitmap font header
     kCTFontTableBloc    = 'bloc',   // Bitmap location
     kCTFontTableBsln    = 'bsln',   // Baseline
+    kCTFontTableCidg    = 'cidg',   // CID to glyph mapping
     kCTFontTableCmap    = 'cmap',   // Character to glyph mapping
-    kCTFontTableCvar    = 'cvar',   // CVT variation
+    kCTFontTableCvar    = 'cvar',   // CVT variations
     kCTFontTableCvt     = 'cvt ',   // Control value table
     kCTFontTableFdsc    = 'fdsc',   // Font descriptor
     kCTFontTableFeat    = 'feat',   // Layout feature
     kCTFontTableFmtx    = 'fmtx',   // Font metrics
+    kCTFontTableFond    = 'fond',   // 'FOND' and 'NFNT' data
     kCTFontTableFpgm    = 'fpgm',   // Font program
-    kCTFontTableFvar    = 'fvar',   // Font variation
-    kCTFontTableGasp    = 'gasp',   // Grid-fitting/Scan-conversion
+    kCTFontTableFvar    = 'fvar',   // Font variations
+    kCTFontTableGasp    = 'gasp',   // Grid-fitting/scan-conversion
     kCTFontTableGlyf    = 'glyf',   // Glyph data
-    kCTFontTableGvar    = 'gvar',   // Glyph variation
+    kCTFontTableGvar    = 'gvar',   // Glyph variations
     kCTFontTableHdmx    = 'hdmx',   // Horizontal device metrics
     kCTFontTableHead    = 'head',   // Font header
     kCTFontTableHhea    = 'hhea',   // Horizontal header
@@ -1268,9 +1309,10 @@
     kCTFontTableKern    = 'kern',   // Kerning
     kCTFontTableKerx    = 'kerx',   // Extended kerning
     kCTFontTableLcar    = 'lcar',   // Ligature caret
-    kCTFontTableLtag    = 'ltag',   // Language tags
     kCTFontTableLoca    = 'loca',   // Index to location
+    kCTFontTableLtag    = 'ltag',   // Language tags
     kCTFontTableMaxp    = 'maxp',   // Maximum profile
+    kCTFontTableMeta    = 'meta',   // Metadata
     kCTFontTableMort    = 'mort',   // Morph
     kCTFontTableMorx    = 'morx',   // Extended morph
     kCTFontTableName    = 'name',   // Naming table
@@ -1279,16 +1321,17 @@
     kCTFontTablePrep    = 'prep',   // CVT program
     kCTFontTableProp    = 'prop',   // Properties
     kCTFontTableSbit    = 'sbit',   // Bitmap data
-    kCTFontTableSbix    = 'sbix',   // Extended bitmap data
+    kCTFontTableSbix    = 'sbix',   // Standard bitmap graphics
     kCTFontTableTrak    = 'trak',   // Tracking
     kCTFontTableVhea    = 'vhea',   // Vertical header
-    kCTFontTableVmtx    = 'vmtx'    // Vertical metrics
+    kCTFontTableVmtx    = 'vmtx',   // Vertical metrics
+    kCTFontTableXref    = 'xref'    // Cross-reference
 };
 typedef FourCharCode CTFontTableTag;
 
 typedef CF_OPTIONS(uint32_t, CTFontTableOptions) {
-    kCTFontTableOptionNoOptions CT_ENUM_AVAILABLE(10_5, 3_2) = 0,
-    kCTFontTableOptionExcludeSynthetic CT_ENUM_DEPRECATED(10_5, 10_8, 3_2, 6_0) = (1 << 0)
+    kCTFontTableOptionNoOptions = 0,
+    kCTFontTableOptionExcludeSynthetic CT_ENUM_DEPRECATED("Unsupported", macos(10.5, 10.8), ios(3.2, 6.0)) CT_ENUM_UNAVAILABLE(watchos, tvos) = (1 << 0)
 };
 
 /*!
@@ -1306,7 +1349,7 @@
 */
 CFArrayRef __nullable CTFontCopyAvailableTables(
     CTFontRef           font,
-    CTFontTableOptions  options ) CT_AVAILABLE(10_5, 3_2);
+    CTFontTableOptions  options ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontCopyTable
@@ -1326,7 +1369,7 @@
 CFDataRef __nullable CTFontCopyTable(
     CTFontRef           font,
     CTFontTableTag      table,
-    CTFontTableOptions  options ) CT_AVAILABLE(10_5, 3_2);
+    CTFontTableOptions  options ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -1352,10 +1395,10 @@
 */
 void CTFontDrawGlyphs(
     CTFontRef       font, 
-    const CGGlyph   glyphs[], 
-    const CGPoint   positions[], 
+    const CGGlyph   glyphs[_Nonnull],
+    const CGPoint   positions[_Nonnull],
     size_t          count, 
-    CGContextRef    context ) CT_AVAILABLE(10_7, 4_2);
+    CGContextRef    context ) CT_AVAILABLE(macos(10.7), ios(4.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -1386,7 +1429,7 @@
     CTFontRef       font,
     CGGlyph         glyph,
     CGFloat * __nullable positions,
-    CFIndex         maxPositions ) CT_AVAILABLE(10_5, 3_2);
+    CFIndex         maxPositions ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*! --------------------------------------------------------------------------
     @group Baseline Alignment
@@ -1399,7 +1442,7 @@
  
     @discussion This key can be used with a baseline info dictionary to offset to the Roman baseline as a CFNumberRef float. It can also be used as the value for kCTBaselineClassAttributeName.
 */
-CT_EXPORT const CFStringRef kCTBaselineClassRoman CT_AVAILABLE(10_8, 6_0);
+CT_EXPORT const CFStringRef kCTBaselineClassRoman CT_AVAILABLE(macos(10.8), ios(6.0), watchos(2.0), tvos(9.0));
 
 /*!
     @defined    kCTBaselineClassIdeographicCentered
@@ -1408,7 +1451,7 @@
  
     @discussion This key can be used with a baseline info dictionary to offset to the Ideographic Centered baseline as a CFNumberRef float. It can also be used as the value for kCTBaselineClassAttributeName.
 */
-CT_EXPORT const CFStringRef kCTBaselineClassIdeographicCentered CT_AVAILABLE(10_8, 6_0);
+CT_EXPORT const CFStringRef kCTBaselineClassIdeographicCentered CT_AVAILABLE(macos(10.8), ios(6.0), watchos(2.0), tvos(9.0));
     
 /*!
     @defined    kCTBaselineClassIdeographicLow
@@ -1417,7 +1460,7 @@
  
     @discussion This key can be used with a baseline info dictionary to offset to the Ideographic Low baseline as a CFNumberRef float. It can also be used as the value for kCTBaselineClassAttributeName.
 */
-CT_EXPORT const CFStringRef kCTBaselineClassIdeographicLow CT_AVAILABLE(10_8, 6_0);
+CT_EXPORT const CFStringRef kCTBaselineClassIdeographicLow CT_AVAILABLE(macos(10.8), ios(6.0), watchos(2.0), tvos(9.0));
     
 /*!
     @defined    kCTBaselineClassIdeographicHigh
@@ -1426,7 +1469,7 @@
 
     @discussion This key can be used with a baseline info dictionary to offset to the Ideographic High baseline as a CFNumberRef float. It can also be used as the value for kCTBaselineClassAttributeName.
 */
-CT_EXPORT const CFStringRef kCTBaselineClassIdeographicHigh CT_AVAILABLE(10_8, 6_0);
+CT_EXPORT const CFStringRef kCTBaselineClassIdeographicHigh CT_AVAILABLE(macos(10.8), ios(6.0), watchos(2.0), tvos(9.0));
 
 /*!
     @defined    kCTBaselineClassHanging
@@ -1435,7 +1478,7 @@
  
     @discussion This key can be used with a baseline info dictionary to offset to the Hanging baseline as a CFNumberRef float. It can also be used as the value for kCTBaselineClassAttributeName.
 */
-CT_EXPORT const CFStringRef kCTBaselineClassHanging CT_AVAILABLE(10_8, 6_0);
+CT_EXPORT const CFStringRef kCTBaselineClassHanging CT_AVAILABLE(macos(10.8), ios(6.0), watchos(2.0), tvos(9.0));
 
 /*!
     @defined    kCTBaselineClassMathKey
@@ -1444,7 +1487,7 @@
 
     @discussion This key can be used with a baseline info dictionary to offset to the Math baseline as a CFNumberRef float. It can also be used as the value for kCTBaselineClassAttributeName.
 */
-CT_EXPORT const CFStringRef kCTBaselineClassMath CT_AVAILABLE(10_8, 6_0);
+CT_EXPORT const CFStringRef kCTBaselineClassMath CT_AVAILABLE(macos(10.8), ios(6.0), watchos(2.0), tvos(9.0));
 
 /*!
     @defined    kCTBaselineReferenceFont
@@ -1453,7 +1496,7 @@
  
     @discussion This key can be used to specify a font for the reference baseline. The value is a CTFontRef or the kCTBaselineOriginalFont constant.
 */
-CT_EXPORT const CFStringRef kCTBaselineReferenceFont CT_AVAILABLE(10_8, 6_0);
+CT_EXPORT const CFStringRef kCTBaselineReferenceFont CT_AVAILABLE(macos(10.8), ios(6.0), watchos(2.0), tvos(9.0));
 
 /*!
     @defined    kCTBaselineOriginalFont
@@ -1462,7 +1505,7 @@
  
     @discussion This constant can be used as the value for kCTBaselineReferenceFont to specify that the original font should be used for the reference baseline.
 */
-CT_EXPORT const CFStringRef kCTBaselineOriginalFont CT_AVAILABLE(10_8, 6_0);
+CT_EXPORT const CFStringRef kCTBaselineOriginalFont CT_AVAILABLE(macos(10.8), ios(6.0), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -1477,7 +1520,7 @@
 
     @result     The ordered list of fallback fonts - ordered array of CTFontDescriptors.
 */
-CFArrayRef __nullable CTFontCopyDefaultCascadeListForLanguages( CTFontRef font, CFArrayRef __nullable languagePrefList ) CT_AVAILABLE(10_8, 6_0);
+CFArrayRef __nullable CTFontCopyDefaultCascadeListForLanguages( CTFontRef font, CFArrayRef __nullable languagePrefList ) CT_AVAILABLE(macos(10.8), ios(6.0), watchos(2.0), tvos(9.0));
 
 CF_ASSUME_NONNULL_END
 CF_EXTERN_C_END
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTFontCollection.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTFontCollection.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTFontCollection.h	2016-09-23 20:32:38.000000000 -0400
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTFontCollection.h	2017-05-18 21:54:32.000000000 -0400
@@ -2,7 +2,7 @@
  *  CTFontCollection.h
  *  CoreText
  *
- *  Copyright (c) 2006-2015 Apple Inc. All rights reserved.
+ *  Copyright (c) 2006-2017 Apple Inc. All rights reserved.
  *
  */
 
@@ -55,7 +55,7 @@
     @abstract   Returns the type identifier for Core Text font collection references.
     @result     The identifier for the opaque types CTFontCollectionRef or CTMutableFontCollectionRef.
 */
-CFTypeID CTFontCollectionGetTypeID( void ) CT_AVAILABLE(10_5, 3_2);
+CFTypeID CTFontCollectionGetTypeID( void ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @typedef    CTFontCollectionSortDescriptorsCallback
@@ -76,21 +76,21 @@
     @abstract   Option key to specify filtering of duplicates.
     @discussion Specify this option key in the options dictionary with a non- zero value to enable automatic filtering of duplicate font descriptors.
 */
-CT_EXPORT const CFStringRef kCTFontCollectionRemoveDuplicatesOption CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontCollectionRemoveDuplicatesOption CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @defined    kCTFontCollectionIncludeDisabledFontsOption
     @abstract   Option key to include disabled fonts in the matching results.
     @discussion Specify this option key in the options dictionary with a non-zero value to enable matching of disabled fonts. You can pass font descriptors specifying disabled fonts to CTFontManagerEnableFontDescriptors, but you cannot use such a font descriptor to query font attributes from the system database or create a CTFontRef.
 */
-CT_EXPORT const CFStringRef kCTFontCollectionIncludeDisabledFontsOption CT_AVAILABLE_MAC(10_7);
+CT_EXPORT const CFStringRef kCTFontCollectionIncludeDisabledFontsOption CT_AVAILABLE(macos(10.7)) CT_UNAVAILABLE(ios, watchos, tvos);
 
 /*!
     @defined    kCTFontCollectionDisallowAutoActivationOption
     @abstract   Option key to avoid auto-activating fonts.
     @discussion Specify this option key in the options dictionary with a non-zero value to disallow searches for missing fonts (font descriptors returning no results).
 */
-CT_EXPORT const CFStringRef kCTFontCollectionDisallowAutoActivationOption CT_AVAILABLE_MAC(10_7);
+CT_EXPORT const CFStringRef kCTFontCollectionDisallowAutoActivationOption CT_AVAILABLE(macos(10.7)) CT_UNAVAILABLE(ios, watchos, tvos);
 
 /*! --------------------------------------------------------------------------
     @group Collection Creation
@@ -106,7 +106,7 @@
     @result     This function creates a new collection containing all fonts available to the current application.
 */
 CTFontCollectionRef CTFontCollectionCreateFromAvailableFonts(
-    CFDictionaryRef __nullable options ) CT_AVAILABLE(10_5, 3_2);
+    CFDictionaryRef __nullable options ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontCollectionCreateWithFontDescriptors
@@ -122,7 +122,7 @@
 */
 CTFontCollectionRef CTFontCollectionCreateWithFontDescriptors(
     CFArrayRef __nullable queryDescriptors,
-    CFDictionaryRef __nullable options ) CT_AVAILABLE(10_5, 3_2);
+    CFDictionaryRef __nullable options ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontCollectionCreateCopyWithFontDescriptors
@@ -142,7 +142,7 @@
 CTFontCollectionRef CTFontCollectionCreateCopyWithFontDescriptors(
     CTFontCollectionRef original,
     CFArrayRef __nullable queryDescriptors,
-    CFDictionaryRef __nullable options ) CT_AVAILABLE(10_5, 3_2);
+    CFDictionaryRef __nullable options ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontCollectionCreateMutableCopy
@@ -154,7 +154,7 @@
     @result     This function creates a mutable copy of the original font collection.
 */
 CTMutableFontCollectionRef CTFontCollectionCreateMutableCopy(
-    CTFontCollectionRef original ) CT_AVAILABLE_MAC(10_7);
+    CTFontCollectionRef original ) CT_AVAILABLE(macos(10.7)) CT_UNAVAILABLE(ios, watchos, tvos);
 
 /*! --------------------------------------------------------------------------
     @group Editing the query descriptors
@@ -170,7 +170,7 @@
     @result     This function returns a retained reference to the array of descriptors to be used to query (match) the system font database. The return value is undefined if CTFontCollectionCreateFromAvailableFonts was used to create the collection.
 */
 CFArrayRef __nullable CTFontCollectionCopyQueryDescriptors(
-    CTFontCollectionRef collection ) CT_AVAILABLE_MAC(10_7);
+    CTFontCollectionRef collection ) CT_AVAILABLE(macos(10.7)) CT_UNAVAILABLE(ios, watchos, tvos);
 
 /*!
     @function   CTFontCollectionSetQueryDescriptors
@@ -184,7 +184,7 @@
 */
 void CTFontCollectionSetQueryDescriptors(
     CTMutableFontCollectionRef  collection,
-    CFArrayRef __nullable       descriptors ) CT_AVAILABLE_MAC(10_7);
+    CFArrayRef __nullable       descriptors ) CT_AVAILABLE(macos(10.7)) CT_UNAVAILABLE(ios, watchos, tvos);
 
 /*!
     @function   CTFontCollectionCopyExclusionDescriptors
@@ -195,7 +195,7 @@
 
     @result     This function returns a retained reference to the array of descriptors to be used to query (match) the system font database.
 */
-CFArrayRef __nullable CTFontCollectionCopyExclusionDescriptors( CTFontCollectionRef collection ) CT_AVAILABLE_MAC(10_7);
+CFArrayRef __nullable CTFontCollectionCopyExclusionDescriptors( CTFontCollectionRef collection ) CT_AVAILABLE(macos(10.7)) CT_UNAVAILABLE(ios, watchos, tvos);
 
 /*!
     @function   CTFontCollectionSetExclusionDescriptors
@@ -209,7 +209,7 @@
 */
 void CTFontCollectionSetExclusionDescriptors(
     CTMutableFontCollectionRef  collection,
-    CFArrayRef __nullable       descriptors ) CT_AVAILABLE_MAC(10_7);
+    CFArrayRef __nullable       descriptors ) CT_AVAILABLE(macos(10.7)) CT_UNAVAILABLE(ios, watchos, tvos);
 
 /*! --------------------------------------------------------------------------
     @group Retrieving Matching Descriptors
@@ -225,7 +225,7 @@
     @result     An array of CTFontDescriptors matching the collection definition or NULL if there are none.
 */
 CFArrayRef __nullable CTFontCollectionCreateMatchingFontDescriptors(
-    CTFontCollectionRef collection ) CT_AVAILABLE(10_5, 3_2);
+    CTFontCollectionRef collection ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontCollectionCreateMatchingFontDescriptorsSortedWithCallback
@@ -245,7 +245,7 @@
 CFArrayRef __nullable CTFontCollectionCreateMatchingFontDescriptorsSortedWithCallback(
     CTFontCollectionRef                     collection,
     CTFontCollectionSortDescriptorsCallback __nullable sortCallback,
-    void * __nullable                       refCon ) CT_AVAILABLE(10_5, 3_2);
+    void * __nullable                       refCon ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontCollectionCreateMatchingFontDescriptorsWithOptions
@@ -261,7 +261,7 @@
 */
 CFArrayRef __nullable CTFontCollectionCreateMatchingFontDescriptorsWithOptions(
     CTFontCollectionRef collection,
-    CFDictionaryRef __nullable options ) CT_AVAILABLE_MAC(10_7);
+    CFDictionaryRef __nullable options ) CT_AVAILABLE(macos(10.7)) CT_UNAVAILABLE(ios, watchos, tvos);
 
 /*!
     @function   CTFontCollectionCreateMatchingFontDescriptorsForFamily
@@ -278,7 +278,7 @@
 CFArrayRef __nullable CTFontCollectionCreateMatchingFontDescriptorsForFamily(
     CTFontCollectionRef collection,
     CFStringRef         familyName,
-    CFDictionaryRef __nullable options ) CT_AVAILABLE_MAC(10_7);
+    CFDictionaryRef __nullable options ) CT_AVAILABLE(macos(10.7)) CT_UNAVAILABLE(ios, watchos, tvos);
 
 /*! --------------------------------------------------------------------------
     @group Bulk attribute access
@@ -297,7 +297,7 @@
     kCTFontCollectionCopyDefaultOptions = 0,
     kCTFontCollectionCopyUnique = (1 << 0),
     kCTFontCollectionCopyStandardSort = (1 << 1)
-} CT_AVAILABLE_MAC(10_7);
+} CT_AVAILABLE(macos(10.7));
 
 /*!
     @function   CTFontCollectionCopyFontAttribute
@@ -317,7 +317,7 @@
 CFArrayRef CTFontCollectionCopyFontAttribute(
     CTFontCollectionRef         collection,
     CFStringRef                 attributeName,
-    CTFontCollectionCopyOptions options ) CT_AVAILABLE_MAC(10_7);
+    CTFontCollectionCopyOptions options ) CT_AVAILABLE(macos(10.7)) CT_UNAVAILABLE(ios, watchos, tvos);
 
 /*!
     @function   CTFontCollectionCopyFontAttributes
@@ -337,7 +337,7 @@
 CFArrayRef CTFontCollectionCopyFontAttributes(
     CTFontCollectionRef         collection,
     CFSetRef                    attributeNames,
-    CTFontCollectionCopyOptions options ) CT_AVAILABLE_MAC(10_7);
+    CTFontCollectionCopyOptions options ) CT_AVAILABLE(macos(10.7)) CT_UNAVAILABLE(ios, watchos, tvos);
 
 CF_ASSUME_NONNULL_END
 CF_EXTERN_C_END
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTFontDescriptor.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTFontDescriptor.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTFontDescriptor.h	2016-09-23 20:32:38.000000000 -0400
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTFontDescriptor.h	2017-05-19 01:39:37.000000000 -0400
@@ -2,7 +2,7 @@
  *  CTFontDescriptor.h
  *  CoreText
  *
- *  Copyright (c) 2006-2016 Apple Inc. All rights reserved.
+ *  Copyright (c) 2006-2017 Apple Inc. All rights reserved.
  *
  */
 
@@ -52,7 +52,7 @@
                 references.
     @result     The identifier for the opaque type CTFontDescriptorRef.
 */
-CFTypeID CTFontDescriptorGetTypeID( void ) CT_AVAILABLE(10_5, 3_2);
+CFTypeID CTFontDescriptorGetTypeID( void ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*! --------------------------------------------------------------------------
     @group Descriptor Constants
@@ -63,91 +63,91 @@
     @abstract   The font URL.
     @discussion This is the key for accessing the font URL from the font descriptor. The value associated with this key is a CFURLRef.
 */
-CT_EXPORT const CFStringRef kCTFontURLAttribute CT_AVAILABLE(10_6, 3_2);
+CT_EXPORT const CFStringRef kCTFontURLAttribute CT_AVAILABLE(macos(10.6), ios(3.2), watchos(2.0), tvos(9.0));
 /*!
     @defined    kCTFontNameAttribute
     @abstract   The PostScript name.
     @discussion This is the key for retrieving the PostScript name from the font descriptor. When matching, this is treated more generically: the system first tries to find fonts with this PostScript name. If none is found, the system tries to find fonts with this family name, and, finally, if still nothing, tries to find fonts with this display name. The value associated with this key is a CFStringRef. If unspecified, defaults to "Helvetica", if unavailable falls back to global font cascade list.
 */
-CT_EXPORT const CFStringRef kCTFontNameAttribute CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontNameAttribute CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 /*!
     @defined    kCTFontDisplayNameAttribute
     @abstract   The display name.
     @discussion This is the key for accessing the name used to display the font. Most commonly this is the full name. The value associated with this key is a CFStringRef.
 */
-CT_EXPORT const CFStringRef kCTFontDisplayNameAttribute CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontDisplayNameAttribute CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 /*!
     @defined    kCTFontFamilyNameAttribute
     @abstract   The family name.
     @discussion This is the key for accessing the family name from the font descriptor. The value associated with this key is a CFStringRef.
 */
-CT_EXPORT const CFStringRef kCTFontFamilyNameAttribute CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontFamilyNameAttribute CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 /*!
     @defined    kCTFontStyleNameAttribute
     @abstract   The style name.
     @discussion This is the key for accessing the style name of the font. This name represents the designer's description of the font's style. The value associated with this key is a CFStringRef.
 */
-CT_EXPORT const CFStringRef kCTFontStyleNameAttribute CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontStyleNameAttribute CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 /*!
     @defined    kCTFontTraitsAttribute
     @abstract   The font traits dictionary.
     @discussion This is the key for accessing the dictionary of font traits for stylistic information. See CTFontTraits.h for the list of font traits. The value associated with this key is a CFDictionaryRef.
 */
-CT_EXPORT const CFStringRef kCTFontTraitsAttribute CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontTraitsAttribute CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 /*!
     @defined    kCTFontVariationAttribute
     @abstract   The font variation dictionary.
     @discussion This key is used to obtain the font variation instance as a CFDictionaryRef. If specified in a font descriptor, fonts with the specified axes will be primary match candidates, if no such fonts exist, this attribute will be ignored.
 */
-CT_EXPORT const CFStringRef kCTFontVariationAttribute CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontVariationAttribute CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 /*!
     @defined    kCTFontSizeAttribute
     @abstract   The font point size.
     @discussion This key is used to obtain or specify the font point size. Creating a font with this unspecified will default to a point size of 12.0. The value for this key is represented as a CFNumberRef.
 */
-CT_EXPORT const CFStringRef kCTFontSizeAttribute CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontSizeAttribute CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 /*!
     @defined    kCTFontMatrixAttribute
     @abstract   The font transformation matrix.
     @discussion This key is used to specify the font transformation matrix when creating a font. The default value is CGAffineTransformIdentity. The value for this key is a CFDataRef containing a CGAffineTransform, of which only the a, b, c, and d fields are used.
 */
-CT_EXPORT const CFStringRef kCTFontMatrixAttribute CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontMatrixAttribute CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 /*!
     @defined    kCTFontCascadeListAttribute
     @abstract   The font cascade list.
     @discussion This key is used to specify or obtain the cascade list used for a font reference. The cascade list is a CFArrayRef containing CTFontDescriptorRefs. If unspecified, the global cascade list is used. This list is not consulted for private-use characters on OS X 10.10, iOS 8, or earlier.
 */
-CT_EXPORT const CFStringRef kCTFontCascadeListAttribute CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontCascadeListAttribute CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 /*!
     @defined    kCTFontCharacterSetAttribute
     @abstract   The font unicode character coverage set.
     @discussion This key is used to specify or obtain the character set for a font reference. This value for this key is a CFCharacterSetRef. If specified this can be used to restrict the font to a subset of its actual character set. If unspecified this attribute is ignored and the actual character set is used.
 */
-CT_EXPORT const CFStringRef kCTFontCharacterSetAttribute CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontCharacterSetAttribute CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 /*!
     @defined    kCTFontLanguagesAttribute
     @abstract   The list of supported languages.
     @discussion This key is used to specify or obtain a list of covered languages for a font reference. The value for this key is a CFArrayRef of CFStringRefs. If specified this restricts the search to matching fonts that support the specified languages. The language identifier string should conform to UTS #35. If unspecified this attribute is ignored.
 */
-CT_EXPORT const CFStringRef kCTFontLanguagesAttribute CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontLanguagesAttribute CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 /*!
     @defined    kCTFontBaselineAdjustAttribute
     @abstract   The baseline adjustment to apply to font metrics.
     @discussion This key is used to specify or obtain the baseline adjustment for a font reference. This is primary used when defining font descriptors for a cascade list to keep the baseline of all fonts even. The value associated with this is a float represented as a CFNumberRef.
 */
-CT_EXPORT const CFStringRef kCTFontBaselineAdjustAttribute CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontBaselineAdjustAttribute CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 /*!
     @defined    kCTFontMacintoshEncodingsAttribute
     @abstract   The macintosh encodings attribute.
     @discussion This key is used to specify or obtain the Macintosh encodings for a font reference. The value associated with this key is a CFNumberRef containing a bitfield of the script codes in <CoreText/SFNTTypes.h>; bit 0 corresponds to kFontRomanScript, and so on. This attribute is provided for legacy compatibility.
 */
-CT_EXPORT const CFStringRef kCTFontMacintoshEncodingsAttribute CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontMacintoshEncodingsAttribute CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 /*!
     @defined    kCTFontFeaturesAttribute
     @abstract   The array of font features.
     @discussion This key is used to specify or obtain the font features for a font reference. The value associated with this key is a CFArrayRef of font feature dictionaries. This features list contains the feature information from the 'feat' table of the font. See the CTFontCopyFeatures() API in   CTFont.h.
 */
-CT_EXPORT const CFStringRef kCTFontFeaturesAttribute CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontFeaturesAttribute CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 /*!
     @defined    kCTFontFeatureSettingsAttribute
     @abstract   The array of typographic feature settings.
@@ -159,32 +159,35 @@
                 An OpenType setting can be either an array pair of tag string and value number, or a tag string on its own. For example: @[ @"c2sc", @1 ] or simply @"c2sc". An unspecified value enables the feature and a value of zero disables it.
                 An AAT setting can be specified as an array pair of type and selector numbers. For example: @[ @(kUpperCaseType), @(kUpperCaseSmallCapsSelector) ].
 */
-CT_EXPORT const CFStringRef kCTFontFeatureSettingsAttribute CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontFeatureSettingsAttribute CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 /*!
     @defined    kCTFontFixedAdvanceAttribute
     @abstract   Specifies advance width.
     @discussion This key is used to specify a constant advance width, which affects the glyph metrics of any font instance created with this key; it overrides font values and the font transformation matrix, if any. The value associated with this key must be a CFNumberRef.
 */
-CT_EXPORT const CFStringRef kCTFontFixedAdvanceAttribute CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontFixedAdvanceAttribute CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 /*!
     @defined    kCTFontOrientationAttribute
     @abstract   The orientation attribute.
     @discussion This key is used to specify a particular orientation for the glyphs of the font. The value associated with this key is a int as a CFNumberRef. If you want to receive vertical metrics from a font for vertical rendering, specify kCTFontVerticalOrientation. If unspecified, the font will use its native orientation.
 */
-CT_EXPORT const CFStringRef kCTFontOrientationAttribute CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontOrientationAttribute CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @enum       CTFontOrientation
     @abstract   Specifies the intended rendering orientation of the font for obtaining glyph metrics.
 */
 typedef CF_ENUM(uint32_t, CTFontOrientation) {
-    kCTFontOrientationDefault    CT_ENUM_AVAILABLE(10_8, 6_0) = 0,
-    kCTFontOrientationHorizontal CT_ENUM_AVAILABLE(10_8, 6_0) = 1,
-    kCTFontOrientationVertical   CT_ENUM_AVAILABLE(10_8, 6_0) = 2,
-
-    kCTFontDefaultOrientation CT_ENUM_DEPRECATED(10_5, 10_11, 3_2, 9_0) = kCTFontOrientationDefault,
-    kCTFontHorizontalOrientation CT_ENUM_DEPRECATED(10_5, 10_11, 3_2, 9_0) = kCTFontOrientationHorizontal,
-    kCTFontVerticalOrientation CT_ENUM_DEPRECATED(10_5, 10_11, 3_2, 9_0) = kCTFontOrientationVertical
+    kCTFontOrientationDefault    = 0,
+    kCTFontOrientationHorizontal = 1,
+    kCTFontOrientationVertical   = 2,
+
+    kCTFontDefaultOrientation CT_ENUM_DEPRECATED("Deprecated", macos(10.5, 10.11), ios(3.2, 9.0)) CT_ENUM_UNAVAILABLE(watchos, tvos)
+        = kCTFontOrientationDefault,
+    kCTFontHorizontalOrientation CT_ENUM_DEPRECATED("Deprecated", macos(10.5, 10.11), ios(3.2, 9.0)) CT_ENUM_UNAVAILABLE(watchos, tvos)
+        = kCTFontOrientationHorizontal,
+    kCTFontVerticalOrientation CT_ENUM_DEPRECATED("Deprecated", macos(10.5, 10.11), ios(3.2, 9.0)) CT_ENUM_UNAVAILABLE(watchos, tvos)
+        = kCTFontOrientationVertical
 };
 
 /*!
@@ -192,7 +195,7 @@
     @abstract   Specifies the recognized format of the font.
     @discussion The attribute is used to specify or obtain the format of the font. The returned value is a CFNumber containing one of the constants defined below.
 */
-CT_EXPORT const CFStringRef kCTFontFormatAttribute CT_AVAILABLE(10_6, 3_2);
+CT_EXPORT const CFStringRef kCTFontFormatAttribute CT_AVAILABLE(macos(10.6), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @constant   kCTFontFormatUnrecognized
@@ -222,13 +225,13 @@
     @abstract   Specifies the font descriptor's registration scope.
     @discussion The attribute is used to specify or obtain the font registration scope. The value returned is a CFNumberRef containing one of the CTFontManagerScope enumerated values. A value of NULL can be returned for font descriptors that are not registered.
 */
-CT_EXPORT const CFStringRef kCTFontRegistrationScopeAttribute CT_AVAILABLE(10_6, 3_2);
+CT_EXPORT const CFStringRef kCTFontRegistrationScopeAttribute CT_AVAILABLE(macos(10.6), ios(3.2), watchos(2.0), tvos(9.0));
 /*!
     @defined    kCTFontPriorityAttribute
     @abstract   The font descriptors priority when resolving duplicates and sorting match results.
     @discussion This key is used to obtain or specify the font priority. The value returned is a CFNumberRef containing an integer value as defined below. The higher the value, the higher the priority of the font. Only registered fonts will have a priority. Unregistered font descriptors will return NULL.
 */
-CT_EXPORT const CFStringRef kCTFontPriorityAttribute CT_AVAILABLE(10_6, 3_2);
+CT_EXPORT const CFStringRef kCTFontPriorityAttribute CT_AVAILABLE(macos(10.6), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @constant   kCTFontPrioritySystem
@@ -259,21 +262,21 @@
     @abstract   The font enabled state.
     @discussion This key is used to obtain the font state. The returned value is a CFNumberRef representing a boolean value. Unregistered font descriptors will return NULL, which is equivalent to false.
 */
-CT_EXPORT const CFStringRef kCTFontEnabledAttribute CT_AVAILABLE(10_6, 3_2);
+CT_EXPORT const CFStringRef kCTFontEnabledAttribute CT_AVAILABLE(macos(10.6), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
 	@defined    kCTFontDownloadableAttribute
 	@abstract   The font downloadable state.
 	@discussion The value associated with this key is a CFBoolean.  If it is kCFBooleanTrue, CoreText attempts to download a font if necessary when matching a descriptor.
 */
-CT_EXPORT const CFStringRef kCTFontDownloadableAttribute CT_AVAILABLE(10_8, 6_0);
+CT_EXPORT const CFStringRef kCTFontDownloadableAttribute CT_AVAILABLE(macos(10.8), ios(6.0), watchos(2.0), tvos(9.0));
 
 /*!
     @defined    kCTFontDownloadedAttribute
     @abstract   The download state.
     @discussion The value associated with this key is a CFBoolean.  If it is kCFBooleanTrue, corresponding FontAsset has been downloaded. (but still it may be necessary to call appropriate API in order to use the font in the FontAsset.)
 */
-CT_EXPORT const CFStringRef kCTFontDownloadedAttribute CT_AVAILABLE(10_12, 7_0);
+CT_EXPORT const CFStringRef kCTFontDownloadedAttribute CT_AVAILABLE(macos(10.12), ios(7.0), watchos(2.0), tvos(9.0));
 
 /*! --------------------------------------------------------------------------
     @group Descriptor Creation
@@ -293,7 +296,7 @@
 */
 CTFontDescriptorRef CTFontDescriptorCreateWithNameAndSize(
     CFStringRef         name,
-    CGFloat             size ) CT_AVAILABLE(10_5, 3_2);
+    CGFloat             size ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontDescriptorCreateWithAttributes
@@ -305,7 +308,7 @@
     @result     This function creates a new font descriptor with the attributes specified. This dictionary can contain arbitrary attributes that will be preserved, however unrecognized attributes will be ignored on font creation and and may not be preserved over the round trip (descriptor -> font -> descriptor).
 */
 CTFontDescriptorRef CTFontDescriptorCreateWithAttributes(
-    CFDictionaryRef     attributes ) CT_AVAILABLE(10_5, 3_2);
+    CFDictionaryRef     attributes ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontDescriptorCreateCopyWithAttributes
@@ -323,7 +326,7 @@
 */
 CTFontDescriptorRef CTFontDescriptorCreateCopyWithAttributes(
     CTFontDescriptorRef     original,
-    CFDictionaryRef         attributes ) CT_AVAILABLE(10_5, 3_2);
+    CFDictionaryRef         attributes ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontCreateCopyWithFamily
@@ -339,7 +342,7 @@
 */
 CTFontDescriptorRef __nullable CTFontDescriptorCreateCopyWithFamily(
     CTFontDescriptorRef     original,
-    CFStringRef             family ) CT_AVAILABLE(10_9, 7_0);
+    CFStringRef             family ) CT_AVAILABLE(macos(10.9), ios(7.0), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontDescriptorCreateCopyWithSymbolicTraits
@@ -359,7 +362,7 @@
 CTFontDescriptorRef __nullable CTFontDescriptorCreateCopyWithSymbolicTraits(
     CTFontDescriptorRef     original,
     CTFontSymbolicTraits    symTraitValue,
-    CTFontSymbolicTraits    symTraitMask ) CT_AVAILABLE(10_9, 7_0);
+    CTFontSymbolicTraits    symTraitMask ) CT_AVAILABLE(macos(10.9), ios(7.0), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontDescriptorCreateCopyWithVariation
@@ -379,7 +382,7 @@
 CTFontDescriptorRef CTFontDescriptorCreateCopyWithVariation(
     CTFontDescriptorRef     original,
     CFNumberRef             variationIdentifier,
-    CGFloat                 variationValue ) CT_AVAILABLE(10_5, 3_2);
+    CGFloat                 variationValue ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontDescriptorCreateCopyWithFeature
@@ -401,7 +404,7 @@
 CTFontDescriptorRef CTFontDescriptorCreateCopyWithFeature(
     CTFontDescriptorRef     original,
     CFNumberRef             featureTypeIdentifier,
-    CFNumberRef             featureSelectorIdentifier ) CT_AVAILABLE(10_5, 3_2);
+    CFNumberRef             featureSelectorIdentifier ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontDescriptorCreateMatchingFontDescriptors
@@ -417,7 +420,7 @@
 */
 CFArrayRef __nullable CTFontDescriptorCreateMatchingFontDescriptors(
     CTFontDescriptorRef     descriptor,
-    CFSetRef __nullable     mandatoryAttributes ) CT_AVAILABLE(10_5, 3_2);
+    CFSetRef __nullable     mandatoryAttributes ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontDescriptorCreateMatchingFontDescriptor
@@ -433,7 +436,7 @@
 */
 CTFontDescriptorRef __nullable CTFontDescriptorCreateMatchingFontDescriptor(
     CTFontDescriptorRef     descriptor,
-    CFSetRef __nullable     mandatoryAttributes ) CT_AVAILABLE(10_5, 3_2);
+    CFSetRef __nullable     mandatoryAttributes ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
     
 /*!
@@ -461,28 +464,28 @@
  */
 
 /* CTFontDescriptorRef; The current font descriptor.   Valid when state is kCTFontDescriptorMatchingDidMatch. */
-CT_EXPORT const CFStringRef kCTFontDescriptorMatchingSourceDescriptor CT_AVAILABLE(10_8, 6_0);
+CT_EXPORT const CFStringRef kCTFontDescriptorMatchingSourceDescriptor CT_AVAILABLE(macos(10.8), ios(6.0), watchos(2.0), tvos(9.0));
 
 /* CFArray; Array of descriptors to be queried.   Valid while downloading or when state is kCTFontDescriptorMatchingWillBeginQuerying. */
-CT_EXPORT const CFStringRef kCTFontDescriptorMatchingDescriptors CT_AVAILABLE(10_8, 6_0);
+CT_EXPORT const CFStringRef kCTFontDescriptorMatchingDescriptors CT_AVAILABLE(macos(10.8), ios(6.0), watchos(2.0), tvos(9.0));
 
 /* CFArray; Array of matched font descriptors.   Valid when state is kCTFontDescriptorMatchingDidMatch or CTFontDescriptorMatchingEnd. */
-CT_EXPORT const CFStringRef kCTFontDescriptorMatchingResult CT_AVAILABLE(10_8, 6_0);
+CT_EXPORT const CFStringRef kCTFontDescriptorMatchingResult CT_AVAILABLE(macos(10.8), ios(6.0), watchos(2.0), tvos(9.0));
 
 /* CFNumber; Download progress in 0 - 100.   Valid during Downloading state. */
-CT_EXPORT const CFStringRef kCTFontDescriptorMatchingPercentage CT_AVAILABLE(10_8, 6_0);
+CT_EXPORT const CFStringRef kCTFontDescriptorMatchingPercentage CT_AVAILABLE(macos(10.8), ios(6.0), watchos(2.0), tvos(9.0));
 
 /* CFNumber; Byte size to download for the current descriptor.   Valid during Downloading state. */
-CT_EXPORT const CFStringRef kCTFontDescriptorMatchingCurrentAssetSize CT_AVAILABLE(10_8, 6_0);
+CT_EXPORT const CFStringRef kCTFontDescriptorMatchingCurrentAssetSize CT_AVAILABLE(macos(10.8), ios(6.0), watchos(2.0), tvos(9.0));
 
 /* CFNumber; Total downloaded byte size.   Valid during Downloading state. */
-CT_EXPORT const CFStringRef kCTFontDescriptorMatchingTotalDownloadedSize CT_AVAILABLE(10_8, 6_0);
+CT_EXPORT const CFStringRef kCTFontDescriptorMatchingTotalDownloadedSize CT_AVAILABLE(macos(10.8), ios(6.0), watchos(2.0), tvos(9.0));
 
 /* CFNumber; Total byte size to download.   Always valid, but may be Zero when information is not available. */
-CT_EXPORT const CFStringRef kCTFontDescriptorMatchingTotalAssetSize CT_AVAILABLE(10_8, 6_0);
+CT_EXPORT const CFStringRef kCTFontDescriptorMatchingTotalAssetSize CT_AVAILABLE(macos(10.8), ios(6.0), watchos(2.0), tvos(9.0));
 
 /* CFError; Valid when state kCTFontDescriptorMatchingDidFailWithError. */
-CT_EXPORT const CFStringRef kCTFontDescriptorMatchingError CT_AVAILABLE(10_8, 6_0);
+CT_EXPORT const CFStringRef kCTFontDescriptorMatchingError CT_AVAILABLE(macos(10.8), ios(6.0), watchos(2.0), tvos(9.0));
 
 #if defined(__BLOCKS__)
 
@@ -508,7 +511,7 @@
 bool CTFontDescriptorMatchFontDescriptorsWithProgressHandler(
     CFArrayRef                          descriptors,
     CFSetRef __nullable                 mandatoryAttributes,
-    CTFontDescriptorProgressHandler     progressBlock) CT_AVAILABLE(10_9, 6_0);
+    CTFontDescriptorProgressHandler     progressBlock) CT_AVAILABLE(macos(10.9), ios(6.0), watchos(2.0), tvos(9.0));
 
 #endif // defined(__BLOCKS__)
 
@@ -526,7 +529,7 @@
     @result     A retained reference to the font descriptor attributes dictionary. This dictionary will contain the minimum number of attributes to fully specify this particular font descriptor.
 */
 CFDictionaryRef CTFontDescriptorCopyAttributes(
-    CTFontDescriptorRef     descriptor ) CT_AVAILABLE(10_5, 3_2);
+    CTFontDescriptorRef     descriptor ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontDescriptorCopyAttribute
@@ -542,7 +545,7 @@
 */
 CFTypeRef __nullable CTFontDescriptorCopyAttribute(
     CTFontDescriptorRef     descriptor,
-    CFStringRef             attribute ) CT_AVAILABLE(10_5, 3_2);
+    CFStringRef             attribute ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     function    CTFontDescriptorCopyLocalizedAttribute
@@ -565,7 +568,7 @@
 CFTypeRef __nullable CTFontDescriptorCopyLocalizedAttribute(
     CTFontDescriptorRef     descriptor,
     CFStringRef             attribute,
-    CFStringRef __nullable * __nullable language ) CT_AVAILABLE(10_5, 3_2);
+    CFStringRef __nullable * __nullable language ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 CF_ASSUME_NONNULL_END
 CF_EXTERN_C_END
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTFontManager.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTFontManager.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTFontManager.h	2016-09-12 22:54:20.000000000 -0400
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTFontManager.h	2017-05-19 22:58:11.000000000 -0400
@@ -2,7 +2,7 @@
  *  CTFontManager.h
  *  CoreText
  *
- *  Copyright (c) 2008-2016 Apple Inc. All rights reserved.
+ *  Copyright (c) 2008-2017 Apple Inc. All rights reserved.
  *
  */
 
@@ -40,7 +40,7 @@
  
     @result     An array of CFStrings.
 */
-CFArrayRef CTFontManagerCopyAvailablePostScriptNames( void ) CT_AVAILABLE(10_6, 10_0);
+CFArrayRef CTFontManagerCopyAvailablePostScriptNames( void ) CT_AVAILABLE(macos(10.6), ios(10.0), watchos(3.0), tvos(10.0));
 
 /*!
     @function   CTFontManagerCopyAvailableFontFamilyNames
@@ -48,7 +48,7 @@
 
     @result     An array of CFStrings.
 */
-CFArrayRef CTFontManagerCopyAvailableFontFamilyNames( void ) CT_AVAILABLE(10_6, 10_0);
+CFArrayRef CTFontManagerCopyAvailableFontFamilyNames( void ) CT_AVAILABLE(macos(10.6), ios(10.0), watchos(3.0), tvos(10.0));
 
 /*!
     @function   CTFontManagerCopyAvailableFontURLs
@@ -56,7 +56,7 @@
 
     @result     An array of CFURLs.
 */
-CFArrayRef CTFontManagerCopyAvailableFontURLs( void ) CT_AVAILABLE_MAC(10_6);
+CFArrayRef CTFontManagerCopyAvailableFontURLs( void ) CT_AVAILABLE(macos(10.6)) CT_UNAVAILABLE(ios, watchos, tvos);
 
 /*!
     @function   CTFontManagerCompareFontFamilyNames
@@ -73,7 +73,7 @@
 CFComparisonResult CTFontManagerCompareFontFamilyNames(
     const void *        family1,
     const void *        family2,
-    void * __nullable   context ) CT_AVAILABLE_MAC(10_6);
+    void * __nullable   context ) CT_AVAILABLE(macos(10.6)) CT_UNAVAILABLE(ios, watchos, tvos);
 
 /*!
     @function   CTFontManagerCreateFontDescriptorsFromURL
@@ -86,20 +86,22 @@
     @result     An array of CTFontDescriptors or NULL if there are no valid fonts.
 */
 CFArrayRef __nullable CTFontManagerCreateFontDescriptorsFromURL(
-    CFURLRef            fileURL ) CT_AVAILABLE(10_6, 7_0);
+    CFURLRef            fileURL ) CT_AVAILABLE(macos(10.6), ios(7.0), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontManagerCreateFontDescriptorFromData
     @abstract   Returns a font descriptor representing the font in the supplied data.
                 Note: the font descriptor is not available through font descriptor matching.
 
+    @discussion If the data contains a font collection (TTC or OTC), only the first font in the collection will be returned.
+
     @param      data
                 A CFData containing font data.
 
     @result     A font descriptor created from the data or NULL if it is not a valid font.
 */
 CTFontDescriptorRef __nullable CTFontManagerCreateFontDescriptorFromData(
-    CFDataRef               data ) CT_AVAILABLE(10_7, 7_0);
+    CFDataRef               data ) CT_AVAILABLE(macos(10.7), ios(7.0), watchos(2.0), tvos(9.0));
 
 /*!
     @enum       CTFontManagerScope
@@ -138,7 +140,7 @@
 bool CTFontManagerRegisterFontsForURL(
     CFURLRef                fontURL,
     CTFontManagerScope      scope,
-    CFErrorRef *            error ) CT_AVAILABLE(10_6, 4_1);
+    CFErrorRef *            error ) CT_AVAILABLE(macos(10.6), ios(4.1), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontManagerUnregisterFontsForURL
@@ -160,7 +162,7 @@
 bool CTFontManagerUnregisterFontsForURL(
     CFURLRef                fontURL,
     CTFontManagerScope      scope,
-    CFErrorRef *            error ) CT_AVAILABLE(10_6, 4_1);
+    CFErrorRef *            error ) CT_AVAILABLE(macos(10.6), ios(4.1), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontManagerRegisterGraphicsFont
@@ -179,7 +181,7 @@
 */
 bool CTFontManagerRegisterGraphicsFont(
     CGFontRef               font,
-    CFErrorRef *            error ) CT_AVAILABLE(10_8, 4_1);
+    CFErrorRef *            error ) CT_AVAILABLE(macos(10.8), ios(4.1), watchos(2.0), tvos(9.0));
     
 /*!
     @function   CTFontManagerUnregisterGraphicsFont
@@ -195,7 +197,7 @@
 */
 bool CTFontManagerUnregisterGraphicsFont(
     CGFontRef               font,
-    CFErrorRef *            error ) CT_AVAILABLE(10_8, 4_1);
+    CFErrorRef *            error ) CT_AVAILABLE(macos(10.8), ios(4.1), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontManagerRegisterFontsForURLs
@@ -215,7 +217,7 @@
 bool CTFontManagerRegisterFontsForURLs(
     CFArrayRef              fontURLs,
     CTFontManagerScope      scope,
-    CFArrayRef __nullable * __nullable errors ) CT_AVAILABLE(10_6, 4_1);
+    CFArrayRef __nullable * __nullable errors ) CT_AVAILABLE(macos(10.6), ios(4.1), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontManagerUnregisterFontsForURLs
@@ -236,7 +238,7 @@
 bool CTFontManagerUnregisterFontsForURLs(
     CFArrayRef              fontURLs,
     CTFontManagerScope      scope,
-    CFArrayRef __nullable * __nullable errors ) CT_AVAILABLE(10_6, 4_1);
+    CFArrayRef __nullable * __nullable errors ) CT_AVAILABLE(macos(10.6), ios(4.1), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTFontManagerEnableFontDescriptors
@@ -250,7 +252,7 @@
 */
 void CTFontManagerEnableFontDescriptors(
     CFArrayRef              descriptors,
-    bool                    enable ) CT_AVAILABLE_MAC(10_6);
+    bool                    enable ) CT_AVAILABLE(macos(10.6)) CT_UNAVAILABLE(ios, watchos, tvos);
 
 /*!
     @function   CTFontManagerGetScopeForURL
@@ -262,7 +264,7 @@
     @result     Returns the registration scope of the specified URL, will return kCTFontManagerScopeNone if not currently registered.
 */
 CTFontManagerScope CTFontManagerGetScopeForURL(
-    CFURLRef                fontURL ) CT_AVAILABLE_MAC(10_6);
+    CFURLRef                fontURL ) CT_AVAILABLE(macos(10.6)) CT_UNAVAILABLE(ios, watchos, tvos);
 
 /*!
     @function   CTFontManagerIsSupportedFontFile
@@ -274,7 +276,7 @@
     @result     This function returns true if the URL represents a valid font that can be used on the current platform.
 */
 bool CTFontManagerIsSupportedFont(
-    CFURLRef                fontURL ) CT_AVAILABLE_MAC(10_6);
+    CFURLRef                fontURL ) CT_AVAILABLE(macos(10.6)) CT_UNAVAILABLE(ios, watchos, tvos);
 
 /*! --------------------------------------------------------------------------
     @group Manager Auto-Activation
@@ -292,7 +294,7 @@
 */
 CFRunLoopSourceRef __nullable CTFontManagerCreateFontRequestRunLoopSource(
     CFIndex         sourceOrder,
-    CFArrayRef    (^createMatchesCallback)(CFDictionaryRef requestAttributes, pid_t requestingProcess)) CT_AVAILABLE_MAC(10_6);
+    CFArrayRef    (^createMatchesCallback)(CFDictionaryRef requestAttributes, pid_t requestingProcess)) CT_AVAILABLE(macos(10.6)) CT_UNAVAILABLE(ios, watchos, tvos);
 #endif // defined(__BLOCKS__)
 
 /*!
@@ -300,7 +302,7 @@
     @abstract   CTFontManage bundle identifier
     @discussion The CTFontManager bundle identifier to be used with get or set global auto-activation settings.
 */
-CT_EXPORT const CFStringRef kCTFontManagerBundleIdentifier CT_AVAILABLE_MAC(10_6);
+CT_EXPORT const CFStringRef kCTFontManagerBundleIdentifier CT_AVAILABLE(macos(10.6)) CT_UNAVAILABLE(ios, watchos, tvos);
 
 /*!
     @enum
@@ -311,7 +313,7 @@
                 Disables auto-activation.
     @constant   kCTFontManagerAutoActivationEnabled
                 Enables auto-activation.
-    @constant   kCTFontManagerAutoActivationPromptUser
+    @constant   kCTFontManagerAutoActivationPromptUser - deprecated and treated as kCTFontManagerAutoActivationDefault on 10.13.
                 Requires user input for auto-activation. A dialog will be presented to the user to confirm auto
                 activation of the font.
 */
@@ -319,7 +321,7 @@
     kCTFontManagerAutoActivationDefault     = 0,
     kCTFontManagerAutoActivationDisabled    = 1,
     kCTFontManagerAutoActivationEnabled     = 2,
-    kCTFontManagerAutoActivationPromptUser  = 3
+    kCTFontManagerAutoActivationPromptUser CT_ENUM_DEPRECATED("Deprecated", macos(10.6, 10.13)) CT_ENUM_UNAVAILABLE(ios, watchos, tvos) = 3
 };
 
 /*!
@@ -335,7 +337,7 @@
 */
 void CTFontManagerSetAutoActivationSetting(
     CFStringRef __nullable              bundleIdentifier,
-    CTFontManagerAutoActivationSetting  setting ) CT_AVAILABLE_MAC(10_6);
+    CTFontManagerAutoActivationSetting  setting ) CT_AVAILABLE(macos(10.6)) CT_UNAVAILABLE(ios, watchos, tvos);
 
 /*!
     @function   CTFontManagerGetAutoActivationSetting
@@ -347,7 +349,7 @@
     @result     Will return the auto-activation setting for specified bundle identifier.
 */
 CTFontManagerAutoActivationSetting CTFontManagerGetAutoActivationSetting(
-    CFStringRef __nullable bundleIdentifier ) CT_AVAILABLE_MAC(10_6);
+    CFStringRef __nullable bundleIdentifier ) CT_AVAILABLE(macos(10.6)) CT_UNAVAILABLE(ios, watchos, tvos);
 
 /*! --------------------------------------------------------------------------
     @group Manager Notifications
@@ -362,7 +364,7 @@
                 for changes in session or user scopes and with the local notification center for changes in process scope.
                 iOS clients should register as an observer of the notification with the local notification center for all changes.
 */
-CT_EXPORT const CFStringRef kCTFontManagerRegisteredFontsChangedNotification CT_AVAILABLE(10_6, 7_0);
+CT_EXPORT const CFStringRef kCTFontManagerRegisteredFontsChangedNotification CT_AVAILABLE(macos(10.6), ios(7.0), watchos(2.0), tvos(9.0));
 
 CF_ASSUME_NONNULL_END
 CF_EXTERN_C_END
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTFontManagerErrors.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTFontManagerErrors.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTFontManagerErrors.h	2016-09-23 20:28:11.000000000 -0400
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTFontManagerErrors.h	2017-05-19 22:28:17.000000000 -0400
@@ -20,14 +20,14 @@
     @abstract   CFError domain for CTFontManager errors
     @discussion CFErrors with this domain will have error codes corresponding to one of the CTFontManagerErrors above.
 */
-CT_EXPORT const CFStringRef kCTFontManagerErrorDomain CT_AVAILABLE(10_6, 3_2);
+CT_EXPORT const CFStringRef kCTFontManagerErrorDomain CT_AVAILABLE(macos(10.6), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @constant   kCTFontManagerErrorFontURLsKey
     @abstract   User info key to be used with CFError references returned from registration functions.
     @discussion The value associated with this key in the user info dictionary of a CFError is a CFArray of font URLs that failed with given error.
 */
-CT_EXPORT const CFStringRef kCTFontManagerErrorFontURLsKey CT_AVAILABLE(10_6, 3_2);
+CT_EXPORT const CFStringRef kCTFontManagerErrorFontURLsKey CT_AVAILABLE(macos(10.6), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @enum
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTFontTraits.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTFontTraits.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTFontTraits.h	2016-08-04 02:17:46.000000000 -0400
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTFontTraits.h	2017-05-25 04:59:57.000000000 -0400
@@ -2,7 +2,7 @@
  *  CTFontTraits.h
  *  CoreText
  *
- *  Copyright (c) 2006-2015 Apple Inc. All rights reserved.
+ *  Copyright (c) 2006-2017 Apple Inc. All rights reserved.
  *
  */
 
@@ -21,25 +21,25 @@
     @abstract   Dictionary key to access the symbolic traits value.
     @discussion Use this key to access the symbolic traits value from the font traits dictionary. The value is returned as a CFNumberRef.
 */
-CT_EXPORT const CFStringRef kCTFontSymbolicTrait CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontSymbolicTrait CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 /*!
     @defined    kCTFontWeightTrait
     @abstract   Dictionary key to access the weight trait value.
     @discussion Use this key to access the normalized weight trait from the font traits dictionary. The value returned is a CFNumberRef representing a float value between -1.0 and 1.0 for normalized weight. The value of 0.0 corresponds to the regular or medium font weight.
 */
-CT_EXPORT const CFStringRef kCTFontWeightTrait CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontWeightTrait CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 /*!
     @defined    kCTFontWidthTrait
     @abstract   Dictionary key to access the width (condense/expand) trait value.
     @discussion Use this key to access the normalized proportion trait from the font traits dictionary. This value corresponds to the relative inter-glyph spacing for a given font. The value returned is a CFNumberRef representing a float between -1.0 and 1.0. The value of 0.0 corresponds to regular glyph spacing while negative values represent condensed glyph spacing.
 */
-CT_EXPORT const CFStringRef kCTFontWidthTrait CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontWidthTrait CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 /*!
     @defined    kCTFontSlantTrait
     @abstract   Dictionary key to access the slant trait value.
     @discussion Use this key to access the normalized slant angle from the font traits dictionary. The value returned is a CFNumberRef representing a float value between -1.0 and 1.0 for normalized slant angle. The value or 0.0 corresponds to 0 degree clockwise rotation from the vertical and 1.0 corresponds to 30 degrees clockwise rotation.
 */
-CT_EXPORT const CFStringRef kCTFontSlantTrait CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontSlantTrait CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @const      kCTFontClassMaskShift
@@ -63,7 +63,7 @@
     kCTFontTraitMonoSpace           = (1 << 10),    // Use fixed-pitch glyphs if available. May have multiple glyph advances (most CJK glyphs may contain two spaces)
     kCTFontTraitVertical            = (1 << 11),    // Use vertical glyph variants and metrics
     kCTFontTraitUIOptimized         = (1 << 12),    // Synthesize appropriate attributes for UI rendering such as control titles if necessary
-    kCTFontTraitColorGlyphs         = (1 << 13),    // Color bitmap glyphs are available. 
+    kCTFontTraitColorGlyphs         = (1 << 13),    // Color glyphs ('sbix' or 'COLR') are available. 
     kCTFontTraitComposite           = (1 << 14),    // The font is a CFR (Composite font reference), a cascade list is expected per font. 
 
     kCTFontTraitClassMask           = (15U << kCTFontClassMaskShift),
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTFrame.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTFrame.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTFrame.h	2016-09-19 19:19:33.000000000 -0400
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTFrame.h	2017-05-19 01:35:51.000000000 -0400
@@ -40,7 +40,7 @@
 	@abstract	Returns the CFType of the frame object
 */
 
-CFTypeID CTFrameGetTypeID( void ) CT_AVAILABLE(10_5, 3_2);
+CFTypeID CTFrameGetTypeID( void ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /* --------------------------------------------------------------------------- */
@@ -86,7 +86,7 @@
 	@seealso	CTFramesetterCreateFrame
 */
 
-CT_EXPORT const CFStringRef kCTFrameProgressionAttributeName CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFrameProgressionAttributeName CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
 	@enum		CTFramePathFillRule
@@ -121,7 +121,7 @@
 	@seealso	CTFramesetterCreateFrame
  */
 
-CT_EXPORT const CFStringRef kCTFramePathFillRuleAttributeName CT_AVAILABLE(10_7, 4_2);
+CT_EXPORT const CFStringRef kCTFramePathFillRuleAttributeName CT_AVAILABLE(macos(10.7), ios(4.2), watchos(2.0), tvos(9.0));
 
 /*!
 	@const		kCTFramePathWidthAttributeName
@@ -134,7 +134,7 @@
 	@seealso	CTFramesetterCreateFrame
  */
 
-CT_EXPORT const CFStringRef kCTFramePathWidthAttributeName CT_AVAILABLE(10_7, 4_2);
+CT_EXPORT const CFStringRef kCTFramePathWidthAttributeName CT_AVAILABLE(macos(10.7), ios(4.2), watchos(2.0), tvos(9.0));
 
 	
 /*!
@@ -148,7 +148,7 @@
 	@seealso	CTFramesetterCreateFrame
 */
 
-CT_EXPORT const CFStringRef kCTFrameClippingPathsAttributeName CT_AVAILABLE(10_7, 4_3);
+CT_EXPORT const CFStringRef kCTFrameClippingPathsAttributeName CT_AVAILABLE(macos(10.7), ios(4.3), watchos(2.0), tvos(9.0));
 
 /*!
 	@const		kCTFramePathClippingPathAttributeName
@@ -160,7 +160,7 @@
 	@seealso	kCTFrameClippingPathsAttributeName
  */
 
-CT_EXPORT const CFStringRef kCTFramePathClippingPathAttributeName CT_AVAILABLE(10_7, 4_3);
+CT_EXPORT const CFStringRef kCTFramePathClippingPathAttributeName CT_AVAILABLE(macos(10.7), ios(4.3), watchos(2.0), tvos(9.0));
 
 /* --------------------------------------------------------------------------- */
 /* Frame Accessors */
@@ -181,7 +181,7 @@
 */
 
 CFRange CTFrameGetStringRange(
-	CTFrameRef frame ) CT_AVAILABLE(10_5, 3_2);
+	CTFrameRef frame ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -204,7 +204,7 @@
 */
 
 CFRange CTFrameGetVisibleStringRange(
-	CTFrameRef frame ) CT_AVAILABLE(10_5, 3_2);
+	CTFrameRef frame ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -216,7 +216,7 @@
 */
 
 CGPathRef CTFrameGetPath(
-	CTFrameRef frame ) CT_AVAILABLE(10_5, 3_2);
+	CTFrameRef frame ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -238,7 +238,7 @@
 */
 
 CFDictionaryRef __nullable CTFrameGetFrameAttributes(
-	CTFrameRef frame ) CT_AVAILABLE(10_5, 3_2);
+	CTFrameRef frame ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -260,7 +260,7 @@
 */
 
 CFArrayRef CTFrameGetLines(
-	CTFrameRef frame ) CT_AVAILABLE(10_5, 3_2);
+	CTFrameRef frame ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -297,7 +297,7 @@
 void CTFrameGetLineOrigins(
 	CTFrameRef frame,
 	CFRange range,
-	CGPoint origins[] ) CT_AVAILABLE(10_5, 3_2);
+	CGPoint origins[_Nonnull] ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -320,7 +320,7 @@
 
 void CTFrameDraw(
 	CTFrameRef frame,
-	CGContextRef context ) CT_AVAILABLE(10_5, 3_2);
+	CGContextRef context ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 CF_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTFramesetter.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTFramesetter.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTFramesetter.h	2016-05-03 18:21:24.000000000 -0400
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTFramesetter.h	2017-05-25 04:33:16.000000000 -0400
@@ -37,7 +37,7 @@
 	@abstract	Returns the CFType of the framesetter object
 */
 
-CFTypeID CTFramesetterGetTypeID( void ) CT_AVAILABLE(10_5, 3_2);
+CFTypeID CTFramesetterGetTypeID( void ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /* --------------------------------------------------------------------------- */
@@ -61,7 +61,7 @@
 */
 
 CTFramesetterRef CTFramesetterCreateWithAttributedString(
-	CFAttributedStringRef string ) CT_AVAILABLE(10_5, 3_2);
+	CFAttributedStringRef string ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /* --------------------------------------------------------------------------- */
@@ -103,7 +103,7 @@
 	CTFramesetterRef framesetter,
 	CFRange stringRange,
 	CGPathRef path,
-	CFDictionaryRef __nullable frameAttributes ) CT_AVAILABLE(10_5, 3_2);
+	CFDictionaryRef __nullable frameAttributes ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -124,7 +124,7 @@
 */
 
 CTTypesetterRef CTFramesetterGetTypesetter(
-	CTFramesetterRef framesetter ) CT_AVAILABLE(10_5, 3_2);
+	CTFramesetterRef framesetter ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /* --------------------------------------------------------------------------- */
@@ -169,7 +169,7 @@
 	CFRange stringRange,
 	CFDictionaryRef __nullable frameAttributes,
 	CGSize constraints,
-	CFRange * __nullable fitRange ) CT_AVAILABLE(10_5, 3_2);
+	CFRange * __nullable fitRange ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 CF_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTGlyphInfo.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTGlyphInfo.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTGlyphInfo.h	2016-09-12 22:54:20.000000000 -0400
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTGlyphInfo.h	2017-05-25 04:59:57.000000000 -0400
@@ -2,7 +2,7 @@
  *	CTGlyphInfo.h
  *	CoreText
  *
- *	Copyright (c) 2006-2015 Apple Inc. All rights reserved.
+ *	Copyright (c) 2006-2017 Apple Inc. All rights reserved.
  *
  */
 
@@ -39,7 +39,7 @@
 	@abstract	Returns the CFType of the glyph info object
 */
 
-CFTypeID CTGlyphInfoGetTypeID( void ) CT_AVAILABLE(10_5, 3_2);
+CFTypeID CTGlyphInfoGetTypeID( void ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /* --------------------------------------------------------------------------- */
@@ -71,19 +71,25 @@
 */
 
 typedef CF_ENUM(uint16_t, CTCharacterCollection) {
-	kCTCharacterCollectionIdentityMapping CT_ENUM_AVAILABLE(10_8, 6_0) = 0,
-	kCTCharacterCollectionAdobeCNS1       CT_ENUM_AVAILABLE(10_8, 6_0) = 1,
-	kCTCharacterCollectionAdobeGB1        CT_ENUM_AVAILABLE(10_8, 6_0) = 2,
-	kCTCharacterCollectionAdobeJapan1     CT_ENUM_AVAILABLE(10_8, 6_0) = 3,
-	kCTCharacterCollectionAdobeJapan2     CT_ENUM_AVAILABLE(10_8, 6_0) = 4,
-	kCTCharacterCollectionAdobeKorea1     CT_ENUM_AVAILABLE(10_8, 6_0) = 5,
-
-	kCTIdentityMappingCharacterCollection CT_ENUM_DEPRECATED(10_5, 10_11, 3_2, 9_0) = kCTCharacterCollectionIdentityMapping,
-	kCTAdobeCNS1CharacterCollection CT_ENUM_DEPRECATED(10_5, 10_11, 3_2, 9_0) = kCTCharacterCollectionAdobeCNS1,
-	kCTAdobeGB1CharacterCollection CT_ENUM_DEPRECATED(10_5, 10_11, 3_2, 9_0) = kCTCharacterCollectionAdobeGB1,
-	kCTAdobeJapan1CharacterCollection CT_ENUM_DEPRECATED(10_5, 10_11, 3_2, 9_0) = kCTCharacterCollectionAdobeJapan1,
-	kCTAdobeJapan2CharacterCollection CT_ENUM_DEPRECATED(10_5, 10_11, 3_2, 9_0) = kCTCharacterCollectionAdobeJapan2,
-	kCTAdobeKorea1CharacterCollection CT_ENUM_DEPRECATED(10_5, 10_11, 3_2, 9_0) = kCTCharacterCollectionAdobeKorea1
+	kCTCharacterCollectionIdentityMapping = 0,
+	kCTCharacterCollectionAdobeCNS1       = 1,
+	kCTCharacterCollectionAdobeGB1        = 2,
+	kCTCharacterCollectionAdobeJapan1     = 3,
+	kCTCharacterCollectionAdobeJapan2     = 4,
+	kCTCharacterCollectionAdobeKorea1     = 5,
+
+	kCTIdentityMappingCharacterCollection CT_ENUM_DEPRECATED("Deprecated", macos(10.5, 10.11), ios(3.2, 9.0)) CT_ENUM_UNAVAILABLE(watchos, tvos)
+        = kCTCharacterCollectionIdentityMapping,
+	kCTAdobeCNS1CharacterCollection CT_ENUM_DEPRECATED("Deprecated", macos(10.5, 10.11), ios(3.2, 9.0)) CT_ENUM_UNAVAILABLE(watchos, tvos)
+        = kCTCharacterCollectionAdobeCNS1,
+	kCTAdobeGB1CharacterCollection CT_ENUM_DEPRECATED("Deprecated", macos(10.5, 10.11), ios(3.2, 9.0)) CT_ENUM_UNAVAILABLE(watchos, tvos)
+        = kCTCharacterCollectionAdobeGB1,
+	kCTAdobeJapan1CharacterCollection CT_ENUM_DEPRECATED("Deprecated", macos(10.5, 10.11), ios(3.2, 9.0)) CT_ENUM_UNAVAILABLE(watchos, tvos)
+        = kCTCharacterCollectionAdobeJapan1,
+	kCTAdobeJapan2CharacterCollection CT_ENUM_DEPRECATED("Deprecated", macos(10.5, 10.11), ios(3.2, 9.0)) CT_ENUM_UNAVAILABLE(watchos, tvos)
+        = kCTCharacterCollectionAdobeJapan2,
+	kCTAdobeKorea1CharacterCollection CT_ENUM_DEPRECATED("Deprecated", macos(10.5, 10.11), ios(3.2, 9.0)) CT_ENUM_UNAVAILABLE(watchos, tvos)
+        = kCTCharacterCollectionAdobeKorea1
 };
 
 
@@ -114,7 +120,7 @@
 CTGlyphInfoRef CTGlyphInfoCreateWithGlyphName(
 	CFStringRef glyphName,
 	CTFontRef font,
-	CFStringRef baseString ) CT_AVAILABLE(10_5, 3_2);
+	CFStringRef baseString ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -140,7 +146,7 @@
 CTGlyphInfoRef CTGlyphInfoCreateWithGlyph(
 	CGGlyph glyph,
 	CTFontRef font,
-	CFStringRef baseString ) CT_AVAILABLE(10_5, 3_2);
+	CFStringRef baseString ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -166,7 +172,7 @@
 CTGlyphInfoRef CTGlyphInfoCreateWithCharacterIdentifier(
 	CGFontIndex cid,
 	CTCharacterCollection collection,
-	CFStringRef baseString ) CT_AVAILABLE(10_5, 3_2);
+	CFStringRef baseString ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /* --------------------------------------------------------------------------- */
@@ -187,7 +193,7 @@
 */
 
 CFStringRef __nullable CTGlyphInfoGetGlyphName(
-	CTGlyphInfoRef glyphInfo ) CT_AVAILABLE(10_5, 3_2);
+	CTGlyphInfoRef glyphInfo ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -204,7 +210,7 @@
 */
 
 CGFontIndex CTGlyphInfoGetCharacterIdentifier(
-	CTGlyphInfoRef glyphInfo ) CT_AVAILABLE(10_5, 3_2);
+	CTGlyphInfoRef glyphInfo ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -224,7 +230,7 @@
 */
 
 CTCharacterCollection CTGlyphInfoGetCharacterCollection(
-	CTGlyphInfoRef glyphInfo ) CT_AVAILABLE(10_5, 3_2);
+	CTGlyphInfoRef glyphInfo ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 CF_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTLine.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTLine.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTLine.h	2016-05-03 18:21:25.000000000 -0400
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTLine.h	2017-05-19 01:39:37.000000000 -0400
@@ -2,7 +2,7 @@
  *  CTLine.h
  *  CoreText
  *
- *  Copyright (c) 2003-2015 Apple Inc. All rights reserved.
+ *  Copyright (c) 2003-2017 Apple Inc. All rights reserved.
  *
  */
 
@@ -74,7 +74,7 @@
     kCTLineBoundsUseHangingPunctuation      = 1 << 2,
     kCTLineBoundsUseGlyphPathBounds         = 1 << 3,
     kCTLineBoundsUseOpticalBounds           = 1 << 4,
-    kCTLineBoundsIncludeLanguageExtents CT_ENUM_AVAILABLE(10_11, 8_0) = 1 << 5,
+    kCTLineBoundsIncludeLanguageExtents     = 1 << 5,
 };
 
 
@@ -109,7 +109,7 @@
     @abstract   Returns the CFType of the line object
 */
 
-CFTypeID CTLineGetTypeID( void ) CT_AVAILABLE(10_5, 3_2);
+CFTypeID CTLineGetTypeID( void ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /* --------------------------------------------------------------------------- */
@@ -134,7 +134,7 @@
 */
 
 CTLineRef CTLineCreateWithAttributedString(
-    CFAttributedStringRef attrString ) CT_AVAILABLE(10_5, 3_2);
+    CFAttributedStringRef attrString ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -170,7 +170,7 @@
     CTLineRef line,
     double width,
     CTLineTruncationType truncationType,
-    CTLineRef __nullable truncationToken ) CT_AVAILABLE(10_5, 3_2);
+    CTLineRef __nullable truncationToken ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -200,7 +200,7 @@
 CTLineRef __nullable CTLineCreateJustifiedLine(
     CTLineRef line,
     CGFloat justificationFactor,
-    double justificationWidth ) CT_AVAILABLE(10_5, 3_2);
+    double justificationWidth ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /* --------------------------------------------------------------------------- */
@@ -221,7 +221,7 @@
 */
 
 CFIndex CTLineGetGlyphCount(
-    CTLineRef line ) CT_AVAILABLE(10_5, 3_2);
+    CTLineRef line ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -235,7 +235,7 @@
 */
 
 CFArrayRef CTLineGetGlyphRuns(
-    CTLineRef line ) CT_AVAILABLE(10_5, 3_2);
+    CTLineRef line ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -252,7 +252,7 @@
 */
 
 CFRange CTLineGetStringRange(
-    CTLineRef line ) CT_AVAILABLE(10_5, 3_2);
+    CTLineRef line ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -279,7 +279,7 @@
 double CTLineGetPenOffsetForFlush(
     CTLineRef line,
     CGFloat flushFactor,
-    double flushWidth ) CT_AVAILABLE(10_5, 3_2);
+    double flushWidth ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -301,7 +301,7 @@
 
 void CTLineDraw(
     CTLineRef line,
-    CGContextRef context ) CT_AVAILABLE(10_5, 3_2);
+    CGContextRef context ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /* --------------------------------------------------------------------------- */
@@ -341,7 +341,7 @@
     CTLineRef line,
     CGFloat * __nullable ascent,
     CGFloat * __nullable descent,
-    CGFloat * __nullable leading ) CT_AVAILABLE(10_5, 3_2);
+    CGFloat * __nullable leading ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -362,7 +362,7 @@
 
 CGRect CTLineGetBoundsWithOptions(
     CTLineRef line,
-    CTLineBoundsOptions options ) CT_AVAILABLE(10_8, 6_0);
+    CTLineBoundsOptions options ) CT_AVAILABLE(macos(10.8), ios(6.0), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -382,7 +382,7 @@
 */
 
 double CTLineGetTrailingWhitespaceWidth(
-    CTLineRef line ) CT_AVAILABLE(10_5, 3_2);
+    CTLineRef line ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -414,7 +414,7 @@
 
 CGRect CTLineGetImageBounds(
     CTLineRef line,
-    CGContextRef __nullable context ) CT_AVAILABLE(10_5, 3_2);
+    CGContextRef __nullable context ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /* --------------------------------------------------------------------------- */
@@ -446,7 +446,7 @@
 
 CFIndex CTLineGetStringIndexForPosition(
     CTLineRef line,
-    CGPoint position ) CT_AVAILABLE(10_5, 3_2);
+    CGPoint position ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -484,7 +484,7 @@
 CGFloat CTLineGetOffsetForStringIndex(
     CTLineRef line,
     CFIndex charIndex,
-    CGFloat * __nullable secondaryOffset ) CT_AVAILABLE(10_5, 3_2);
+    CGFloat * __nullable secondaryOffset ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 #if defined(__BLOCKS__)
@@ -501,7 +501,7 @@
 
 void CTLineEnumerateCaretOffsets(
     CTLineRef line,
-    void (^block)(double offset, CFIndex charIndex, bool leadingEdge, bool* stop) ) CT_AVAILABLE(10_11, 9_0);
+    void (^block)(double offset, CFIndex charIndex, bool leadingEdge, bool* stop) ) CT_AVAILABLE(macos(10.11), ios(9.0), watchos(2.0), tvos(9.0));
 
 #endif // defined(__BLOCKS__)
 
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTParagraphStyle.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTParagraphStyle.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTParagraphStyle.h	2016-08-04 02:21:24.000000000 -0400
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTParagraphStyle.h	2017-05-19 22:28:17.000000000 -0400
@@ -2,7 +2,7 @@
  *  CTParagraphStyle.h
  *  CoreText
  *
- *  Copyright (c) 2004-2015 Apple Inc. All rights reserved.
+ *  Copyright (c) 2004-2017 Apple Inc. All rights reserved.
  *
  */
 
@@ -37,7 +37,7 @@
     @abstract   Returns the CFType of the paragraph style object
 */
 
-CFTypeID CTParagraphStyleGetTypeID( void ) CT_AVAILABLE(10_5, 3_2);
+CFTypeID CTParagraphStyleGetTypeID( void ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /* --------------------------------------------------------------------------- */
@@ -66,17 +66,22 @@
 */
 
 typedef CF_ENUM(uint8_t, CTTextAlignment) {
-    kCTTextAlignmentLeft      CT_ENUM_AVAILABLE(10_8, 6_0) = 0,
-    kCTTextAlignmentRight     CT_ENUM_AVAILABLE(10_8, 6_0) = 1,
-    kCTTextAlignmentCenter    CT_ENUM_AVAILABLE(10_8, 6_0) = 2,
-    kCTTextAlignmentJustified CT_ENUM_AVAILABLE(10_8, 6_0) = 3,
-    kCTTextAlignmentNatural   CT_ENUM_AVAILABLE(10_8, 6_0) = 4,
-
-    kCTLeftTextAlignment CT_ENUM_DEPRECATED(10_5, 10_11, 3_2, 9_0) = kCTTextAlignmentLeft,
-    kCTRightTextAlignment CT_ENUM_DEPRECATED(10_5, 10_11, 3_2, 9_0) = kCTTextAlignmentRight,
-    kCTCenterTextAlignment CT_ENUM_DEPRECATED(10_5, 10_11, 3_2, 9_0) = kCTTextAlignmentCenter,
-    kCTJustifiedTextAlignment CT_ENUM_DEPRECATED(10_5, 10_11, 3_2, 9_0) = kCTTextAlignmentJustified,
-    kCTNaturalTextAlignment CT_ENUM_DEPRECATED(10_5, 10_11, 3_2, 9_0) = kCTTextAlignmentNatural
+    kCTTextAlignmentLeft      = 0,
+    kCTTextAlignmentRight     = 1,
+    kCTTextAlignmentCenter    = 2,
+    kCTTextAlignmentJustified = 3,
+    kCTTextAlignmentNatural   = 4,
+
+    kCTLeftTextAlignment CT_ENUM_DEPRECATED("Deprecated", macos(10.5, 10.11), ios(3.2, 9.0)) CT_ENUM_UNAVAILABLE(watchos, tvos)
+        = kCTTextAlignmentLeft,
+    kCTRightTextAlignment CT_ENUM_DEPRECATED("Deprecated", macos(10.5, 10.11), ios(3.2, 9.0)) CT_ENUM_UNAVAILABLE(watchos, tvos)
+    = kCTTextAlignmentRight,
+    kCTCenterTextAlignment CT_ENUM_DEPRECATED("Deprecated", macos(10.5, 10.11), ios(3.2, 9.0)) CT_ENUM_UNAVAILABLE(watchos, tvos)
+        = kCTTextAlignmentCenter,
+    kCTJustifiedTextAlignment CT_ENUM_DEPRECATED("Deprecated", macos(10.5, 10.11), ios(3.2, 9.0)) CT_ENUM_UNAVAILABLE(watchos, tvos)
+        = kCTTextAlignmentJustified,
+    kCTNaturalTextAlignment CT_ENUM_DEPRECATED("Deprecated", macos(10.5, 10.11), ios(3.2, 9.0)) CT_ENUM_UNAVAILABLE(watchos, tvos)
+        = kCTTextAlignmentNatural
 };
 
 
@@ -339,7 +344,7 @@
     kCTParagraphStyleSpecifierLineHeightMultiple = 7,
     kCTParagraphStyleSpecifierMaximumLineHeight = 8,
     kCTParagraphStyleSpecifierMinimumLineHeight = 9,
-    kCTParagraphStyleSpecifierLineSpacing CT_ENUM_DEPRECATED(10_5, 10_8, 3_2, 6_0) = 10,
+    kCTParagraphStyleSpecifierLineSpacing CT_ENUM_DEPRECATED("See documentation for replacements", macos(10.5, 10.8), ios(3.2, 6.0)) CT_ENUM_UNAVAILABLE(watchos, tvos) = 10,
     kCTParagraphStyleSpecifierParagraphSpacing = 11,
     kCTParagraphStyleSpecifierParagraphSpacingBefore = 12,
     kCTParagraphStyleSpecifierBaseWritingDirection = 13,
@@ -413,7 +418,7 @@
 
 CTParagraphStyleRef CTParagraphStyleCreate(
     const CTParagraphStyleSetting * __nullable settings,
-    size_t settingCount ) CT_AVAILABLE(10_5, 3_2);
+    size_t settingCount ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -430,7 +435,7 @@
 */
 
 CTParagraphStyleRef CTParagraphStyleCreateCopy(
-    CTParagraphStyleRef paragraphStyle ) CT_AVAILABLE(10_5, 3_2);
+    CTParagraphStyleRef paragraphStyle ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /* --------------------------------------------------------------------------- */
@@ -476,7 +481,7 @@
     CTParagraphStyleRef paragraphStyle,
     CTParagraphStyleSpecifier spec,
     size_t valueBufferSize,
-    void * valueBuffer ) CT_AVAILABLE(10_5, 3_2);
+    void * valueBuffer ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 CF_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTRubyAnnotation.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTRubyAnnotation.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTRubyAnnotation.h	2016-08-04 02:21:24.000000000 -0400
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTRubyAnnotation.h	2017-05-19 22:58:11.000000000 -0400
@@ -37,7 +37,7 @@
     @abstract	Returns the CFType of the ruby annotation object
 */
 
-CFTypeID CTRubyAnnotationGetTypeID( void ) CT_AVAILABLE(10_10, 8_0);
+CFTypeID CTRubyAnnotationGetTypeID( void ) CT_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0));
 
 
 /* --------------------------------------------------------------------------- */
@@ -79,7 +79,7 @@
     kCTRubyAlignmentDistributeLetter = 4,
     kCTRubyAlignmentDistributeSpace = 5,
     kCTRubyAlignmentLineEdge = 6
-} CT_AVAILABLE(10_10, 8_0);
+} CT_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0));
 
 
 /* --------------------------------------------------------------------------- */
@@ -109,7 +109,7 @@
     kCTRubyOverhangStart = 1,
     kCTRubyOverhangEnd = 2,
     kCTRubyOverhangNone = 3
-} CT_AVAILABLE(10_10, 8_0);
+} CT_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0));
 
 
 /* --------------------------------------------------------------------------- */
@@ -139,7 +139,7 @@
     kCTRubyPositionInterCharacter = 2,
     kCTRubyPositionInline = 3,
     kCTRubyPositionCount
-} CT_AVAILABLE(10_10, 8_0);
+} CT_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0));
 
 
 /* --------------------------------------------------------------------------- */
@@ -172,7 +172,7 @@
     CTRubyAlignment alignment,
     CTRubyOverhang overhang,
     CGFloat sizeFactor,
-    CFStringRef text[kCTRubyPositionCount] ) CT_AVAILABLE(10_10, 8_0);
+    CFStringRef __nullable text[_Nonnull kCTRubyPositionCount] ) CT_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0));
 
 /*!
     @const      kCTRubyAnnotationSizeFactorAttributeName
@@ -181,7 +181,7 @@
     @discussion Value must be a CFNumberRef.
 */
 
-CT_EXPORT const CFStringRef kCTRubyAnnotationSizeFactorAttributeName CT_AVAILABLE(10_12, 10_0);
+CT_EXPORT const CFStringRef kCTRubyAnnotationSizeFactorAttributeName CT_AVAILABLE(macos(10.12), ios(10.0), watchos(3.0), tvos(10.0));
 
 /*!
     @const      kCTRubyAnnotationScaleToFitAttributeName
@@ -193,7 +193,7 @@
     @discussion Value must be a CFBooleanRef. Default is false.
 */
 
-CT_EXPORT const CFStringRef kCTRubyAnnotationScaleToFitAttributeName CT_AVAILABLE(10_12, 10_0);
+CT_EXPORT const CFStringRef kCTRubyAnnotationScaleToFitAttributeName CT_AVAILABLE(macos(10.12), ios(10.0), watchos(3.0), tvos(10.0));
 
 /*!
     @function   CTRubyAnnotationCreateWithAttributes
@@ -228,7 +228,7 @@
     CTRubyOverhang overhang,
     CTRubyPosition position,
     CFStringRef string,
-    CFDictionaryRef attributes ) CT_AVAILABLE(10_12, 10_0);
+    CFDictionaryRef attributes ) CT_AVAILABLE(macos(10.12), ios(10.0), watchos(3.0), tvos(10.0));
 
 /*!
     @function   CTRubyAnnotationCreateCopy
@@ -244,7 +244,7 @@
 */
 
 CTRubyAnnotationRef CTRubyAnnotationCreateCopy(
-    CTRubyAnnotationRef rubyAnnotation ) CT_AVAILABLE(10_10, 8_0);
+    CTRubyAnnotationRef rubyAnnotation ) CT_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -259,7 +259,7 @@
 */
 
 CTRubyAlignment CTRubyAnnotationGetAlignment(
-    CTRubyAnnotationRef rubyAnnotation ) CT_AVAILABLE(10_10, 8_0);
+    CTRubyAnnotationRef rubyAnnotation ) CT_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -274,7 +274,7 @@
 */
 
 CTRubyOverhang CTRubyAnnotationGetOverhang(
-    CTRubyAnnotationRef rubyAnnotation ) CT_AVAILABLE(10_10, 8_0);
+    CTRubyAnnotationRef rubyAnnotation ) CT_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0));
 
 /*!
     @function   CTRubyAnnotationGetSizeFactor
@@ -288,7 +288,7 @@
 */
 
 CGFloat CTRubyAnnotationGetSizeFactor(
-    CTRubyAnnotationRef rubyAnnotation ) CT_AVAILABLE(10_10, 8_0);
+    CTRubyAnnotationRef rubyAnnotation ) CT_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -307,7 +307,7 @@
 
 CFStringRef __nullable CTRubyAnnotationGetTextForPosition(
     CTRubyAnnotationRef rubyAnnotation,
-    CTRubyPosition position ) CT_AVAILABLE(10_10, 8_0);
+    CTRubyPosition position ) CT_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0));
 
 
 CF_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTRun.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTRun.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTRun.h	2016-05-03 18:21:23.000000000 -0400
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTRun.h	2017-05-19 01:35:51.000000000 -0400
@@ -68,7 +68,7 @@
     @abstract   Returns the CFType of the run object
 */
 
-CFTypeID CTRunGetTypeID( void ) CT_AVAILABLE(10_5, 3_2);
+CFTypeID CTRunGetTypeID( void ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /* --------------------------------------------------------------------------- */
@@ -88,7 +88,7 @@
 */
 
 CFIndex CTRunGetGlyphCount(
-    CTRunRef run ) CT_AVAILABLE(10_5, 3_2);
+    CTRunRef run ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -109,7 +109,7 @@
 */
 
 CFDictionaryRef CTRunGetAttributes(
-    CTRunRef run ) CT_AVAILABLE(10_5, 3_2);
+    CTRunRef run ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -131,7 +131,7 @@
 */
 
 CTRunStatus CTRunGetStatus(
-    CTRunRef run ) CT_AVAILABLE(10_5, 3_2);
+    CTRunRef run ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -152,7 +152,7 @@
 */
 
 const CGGlyph * __nullable CTRunGetGlyphsPtr(
-    CTRunRef run ) CT_AVAILABLE(10_5, 3_2);
+    CTRunRef run ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -176,7 +176,7 @@
 void CTRunGetGlyphs(
     CTRunRef run,
     CFRange range,
-    CGGlyph buffer[] ) CT_AVAILABLE(10_5, 3_2);
+    CGGlyph buffer[_Nonnull] ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -199,7 +199,7 @@
 */
 
 const CGPoint * __nullable CTRunGetPositionsPtr(
-    CTRunRef run ) CT_AVAILABLE(10_5, 3_2);
+    CTRunRef run ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -227,7 +227,7 @@
 void CTRunGetPositions(
     CTRunRef run,
     CFRange range,
-    CGPoint buffer[] ) CT_AVAILABLE(10_5, 3_2);
+    CGPoint buffer[_Nonnull] ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -252,7 +252,7 @@
 */
 
 const CGSize * __nullable CTRunGetAdvancesPtr(
-    CTRunRef run ) CT_AVAILABLE(10_5, 3_2);
+    CTRunRef run ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -277,7 +277,7 @@
 void CTRunGetAdvances(
     CTRunRef run,
     CFRange range,
-    CGSize buffer[] ) CT_AVAILABLE(10_5, 3_2);
+    CGSize buffer[_Nonnull] ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -301,7 +301,7 @@
 */
 
 const CFIndex * __nullable CTRunGetStringIndicesPtr(
-    CTRunRef run ) CT_AVAILABLE(10_5, 3_2);
+    CTRunRef run ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -330,7 +330,7 @@
 void CTRunGetStringIndices(
     CTRunRef run,
     CFRange range,
-    CFIndex buffer[] ) CT_AVAILABLE(10_5, 3_2);
+    CFIndex buffer[_Nonnull] ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -346,7 +346,7 @@
 */
 
 CFRange CTRunGetStringRange(
-    CTRunRef run ) CT_AVAILABLE(10_5, 3_2);
+    CTRunRef run ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -383,7 +383,7 @@
     CFRange range,
     CGFloat * __nullable ascent,
     CGFloat * __nullable descent,
-    CGFloat * __nullable leading ) CT_AVAILABLE(10_5, 3_2);
+    CGFloat * __nullable leading ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -422,7 +422,7 @@
 CGRect CTRunGetImageBounds(
     CTRunRef run,
     CGContextRef __nullable context,
-    CFRange range ) CT_AVAILABLE(10_5, 3_2);
+    CFRange range ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -440,7 +440,7 @@
 */
 
 CGAffineTransform CTRunGetTextMatrix(
-    CTRunRef run ) CT_AVAILABLE(10_5, 3_2);
+    CTRunRef run ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -471,7 +471,7 @@
 void CTRunDraw(
     CTRunRef run,
     CGContextRef context,
-    CFRange range ) CT_AVAILABLE(10_5, 3_2);
+    CFRange range ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 CF_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTRunDelegate.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTRunDelegate.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTRunDelegate.h	2016-09-19 19:19:33.000000000 -0400
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTRunDelegate.h	2017-05-25 04:33:16.000000000 -0400
@@ -27,7 +27,7 @@
 	@abstract	Returns the CFType of CTRunDelegate objects.
 */
 
-CFTypeID CTRunDelegateGetTypeID( void ) CT_AVAILABLE(10_5, 3_2);
+CFTypeID CTRunDelegateGetTypeID( void ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /* --------------------------------------------------------------------------- */
@@ -168,7 +168,7 @@
 
 CTRunDelegateRef __nullable CTRunDelegateCreate(
 	const CTRunDelegateCallbacks* callbacks,
-	void * __nullable refCon ) CT_AVAILABLE(10_5, 3_2);
+	void * __nullable refCon ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /* --------------------------------------------------------------------------- */
@@ -189,7 +189,7 @@
 */
 
 void * CTRunDelegateGetRefCon(
-	CTRunDelegateRef runDelegate ) CT_AVAILABLE(10_5, 3_2);
+	CTRunDelegateRef runDelegate ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 CF_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTStringAttributes.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTStringAttributes.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTStringAttributes.h	2016-09-19 19:19:33.000000000 -0400
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTStringAttributes.h	2017-05-25 04:59:57.000000000 -0400
@@ -2,7 +2,7 @@
  *  CTStringAttributes.h
  *  CoreText
  *
- *  Copyright (c) 2004-2015 Apple Inc. All rights reserved.
+ *  Copyright (c) 2004-2017 Apple Inc. All rights reserved.
  *
  */
 
@@ -34,7 +34,7 @@
     @discussion Value must be a CTFontRef. Default is Helvetica 12.
 */
 
-CT_EXPORT const CFStringRef kCTFontAttributeName CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTFontAttributeName CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -52,7 +52,7 @@
                 overrides the foreground color.
 */
 
-CT_EXPORT const CFStringRef kCTForegroundColorFromContextAttributeName CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTForegroundColorFromContextAttributeName CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -69,7 +69,7 @@
                 set to 0.0, no kerning will be done at all.
 */
 
-CT_EXPORT const CFStringRef kCTKernAttributeName CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTKernAttributeName CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -95,7 +95,7 @@
                 shaping tables (or the lack thereof) are treated as definitive.
 */
 
-CT_EXPORT const CFStringRef kCTLigatureAttributeName CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTLigatureAttributeName CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -105,7 +105,7 @@
     @discussion Value must be a CGColorRef. Default value is black.
 */
 
-CT_EXPORT const CFStringRef kCTForegroundColorAttributeName CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTForegroundColorAttributeName CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
     @const      kCTBackgroundColorAttributeName
@@ -114,7 +114,7 @@
     @discussion Value must be a CGColorRef. Default is no background color.
 */
 
-CT_EXPORT const CFStringRef kCTBackgroundColorAttributeName CT_AVAILABLE(10_12, 10_0);
+CT_EXPORT const CFStringRef kCTBackgroundColorAttributeName CT_AVAILABLE(macos(10.12), ios(10.0), watchos(3.0), tvos(10.0));
 
 
 /*!
@@ -130,7 +130,7 @@
     @seealso    CFStringGetParagraphBounds
 */
 
-CT_EXPORT const CFStringRef kCTParagraphStyleAttributeName CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTParagraphStyleAttributeName CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -144,7 +144,7 @@
                 typical value for outlined text is 3.0.
 */
 
-CT_EXPORT const CFStringRef kCTStrokeWidthAttributeName CT_AVAILABLE(10_6, 3_2);
+CT_EXPORT const CFStringRef kCTStrokeWidthAttributeName CT_AVAILABLE(macos(10.6), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -154,7 +154,7 @@
     @discussion Value must be a CGColorRef. Default is the foreground color.
 */
 
-CT_EXPORT const CFStringRef kCTStrokeColorAttributeName CT_AVAILABLE(10_6, 3_2);
+CT_EXPORT const CFStringRef kCTStrokeColorAttributeName CT_AVAILABLE(macos(10.6), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -169,7 +169,7 @@
                 will be determined by the text's foreground color.
 */
 
-CT_EXPORT const CFStringRef kCTUnderlineStyleAttributeName CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTUnderlineStyleAttributeName CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -181,7 +181,7 @@
                 value of -1 enables subscripting.
 */
 
-CT_EXPORT const CFStringRef kCTSuperscriptAttributeName CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTSuperscriptAttributeName CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -191,7 +191,7 @@
     @discussion Value must be a CGColorRef. Default is the foreground color.
 */
 
-CT_EXPORT const CFStringRef kCTUnderlineColorAttributeName CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTUnderlineColorAttributeName CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -203,7 +203,8 @@
                 indicates that vertical glyph forms are to be used.
 */
 
-CT_EXPORT const CFStringRef kCTVerticalFormsAttributeName CT_AVAILABLE(10_5, 4_3);
+CT_EXPORT const CFStringRef kCTVerticalFormsAttributeName CT_AVAILABLE(macos(10.5), ios(4.3), watchos(2.0), tvos(9.0));
+
 
 /*!
     @const      kCTHorizontalInVerticalFormsAttributeName
@@ -216,7 +217,8 @@
                 to true.
 */
 
-CT_EXPORT const CFStringRef kCTHorizontalInVerticalFormsAttributeName CT_AVAILABLE(10_12, 10_0);
+CT_EXPORT const CFStringRef kCTHorizontalInVerticalFormsAttributeName CT_AVAILABLE(macos(10.12), ios(10.0), watchos(3.0), tvos(10.0));
+
 
 /*!
     @const      kCTGlyphInfoAttributeName
@@ -229,7 +231,7 @@
                 kCTFontAttributeName. See CTGlyphInfo.h for more information.
 */
 
-CT_EXPORT const CFStringRef kCTGlyphInfoAttributeName CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTGlyphInfoAttributeName CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -242,7 +244,7 @@
                 an attribute value of 1 corresponds to kTraditionalCharactersSelector.
 */
 
-CT_EXPORT const CFStringRef kCTCharacterShapeAttributeName CT_DEPRECATED(10_5, 10_11, 3_2, 9_0);
+CT_EXPORT const CFStringRef kCTCharacterShapeAttributeName CT_DEPRECATED("Use feature type kCharacterShapeType with the appropriate selector", macos(10.5, 10.11), ios(3.2, 9.0)) CT_UNAVAILABLE(watchos, tvos);
 
 
 /*!
@@ -255,7 +257,7 @@
                 locale-specific line breaking rules.
 */
 
-CT_EXPORT const CFStringRef kCTLanguageAttributeName CT_AVAILABLE(10_9, 7_0);
+CT_EXPORT const CFStringRef kCTLanguageAttributeName CT_AVAILABLE(macos(10.9), ios(7.0), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -274,7 +276,7 @@
                 CTRunDelegate.h for more information.
 */
 
-CT_EXPORT const CFStringRef kCTRunDelegateAttributeName CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTRunDelegateAttributeName CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -329,7 +331,7 @@
     @seealso    kCTBaselineClassMath
 */
 
-CT_EXPORT const CFStringRef kCTBaselineClassAttributeName CT_AVAILABLE(10_8, 6_0);
+CT_EXPORT const CFStringRef kCTBaselineClassAttributeName CT_AVAILABLE(macos(10.8), ios(6.0), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -351,7 +353,7 @@
     @seealso    kCTBaselineClassMath
 */
 
-CT_EXPORT const CFStringRef kCTBaselineInfoAttributeName CT_AVAILABLE(10_8, 6_0);
+CT_EXPORT const CFStringRef kCTBaselineInfoAttributeName CT_AVAILABLE(macos(10.8), ios(6.0), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -375,7 +377,25 @@
     @seealso    kCTBaselineReferenceFont
 */
 
-CT_EXPORT const CFStringRef kCTBaselineReferenceInfoAttributeName CT_AVAILABLE(10_8, 6_0);
+CT_EXPORT const CFStringRef kCTBaselineReferenceInfoAttributeName CT_AVAILABLE(macos(10.8), ios(6.0), watchos(2.0), tvos(9.0));
+
+
+/*!
+    @const      kCTBaselineOffsetAttributeName
+    @abstract   Controls vertical text positioning.
+
+    @discussion Value must be a CFNumberRef float. Default is standard positioning.
+                The baseline attribute indicates how many points the characters
+                should be shifted perpendicular to their baseline. A positive
+                baseline value indicates a shift above (or to the right for vertical
+                text) the text baseline and a negative baseline value indicates a
+                shift below (or to the left for vertical text) the text baseline.
+                If this value is set to 0.0, no baseline shift will be performed.
+
+    @seealso    NSBaselineOffsetAttributeName
+*/
+
+CT_EXPORT const CFStringRef kCTBaselineOffsetAttributeName CT_AVAILABLE(macos(10.13), ios(11.0), watchos(4.0), tvos(11.0));
 
 
 /*!
@@ -405,7 +425,7 @@
     @seealso    kCTWritingDirectionOverride
 */
 
-CT_EXPORT const CFStringRef kCTWritingDirectionAttributeName CT_AVAILABLE(10_8, 6_0);
+CT_EXPORT const CFStringRef kCTWritingDirectionAttributeName CT_AVAILABLE(macos(10.8), ios(6.0), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -432,7 +452,7 @@
                 more information.
  */
 
-CT_EXPORT const CFStringRef kCTRubyAnnotationAttributeName CT_AVAILABLE(10_10, 8_0);
+CT_EXPORT const CFStringRef kCTRubyAnnotationAttributeName CT_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0));
 
 
 CF_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTTextTab.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTTextTab.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTTextTab.h	2016-09-23 20:32:38.000000000 -0400
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTTextTab.h	2017-05-25 04:59:57.000000000 -0400
@@ -50,7 +50,7 @@
 	@abstract	Returns the CFType of the text tab object
 */
 
-CFTypeID CTTextTabGetTypeID( void ) CT_AVAILABLE(10_5, 3_2);
+CFTypeID CTTextTabGetTypeID( void ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /* --------------------------------------------------------------------------- */
@@ -69,7 +69,7 @@
 				optional.
 */
 
-CT_EXPORT const CFStringRef kCTTabColumnTerminatorsAttributeName CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTTabColumnTerminatorsAttributeName CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /* --------------------------------------------------------------------------- */
@@ -99,7 +99,7 @@
 CTTextTabRef CTTextTabCreate(
 	CTTextAlignment alignment,
 	double location,
-	CFDictionaryRef __nullable options ) CT_AVAILABLE(10_5, 3_2);
+	CFDictionaryRef __nullable options ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /* --------------------------------------------------------------------------- */
@@ -117,7 +117,7 @@
 */
 
 CTTextAlignment CTTextTabGetAlignment(
-	CTTextTabRef tab ) CT_AVAILABLE(10_5, 3_2);
+	CTTextTabRef tab ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -131,7 +131,7 @@
 */
 
 double CTTextTabGetLocation(
-	CTTextTabRef tab ) CT_AVAILABLE(10_5, 3_2);
+	CTTextTabRef tab ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -146,7 +146,7 @@
 */
 
 CFDictionaryRef __nullable CTTextTabGetOptions(
-	CTTextTabRef tab ) CT_AVAILABLE(10_5, 3_2);
+	CTTextTabRef tab ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 CF_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTTypesetter.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTTypesetter.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTTypesetter.h	2016-08-04 02:17:46.000000000 -0400
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTTypesetter.h	2017-05-19 01:35:51.000000000 -0400
@@ -2,7 +2,7 @@
  *	CTTypesetter.h
  *	CoreText
  *
- *	Copyright (c) 2003-2015 Apple Inc. All rights reserved.
+ *	Copyright (c) 2003-2017 Apple Inc. All rights reserved.
  *
  */
 
@@ -36,7 +36,7 @@
 	@abstract	Returns the CFType of the typesetter object
 */
 
-CFTypeID CTTypesetterGetTypeID( void ) CT_AVAILABLE(10_5, 3_2);
+CFTypeID CTTypesetterGetTypeID( void ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /* --------------------------------------------------------------------------- */
@@ -53,7 +53,7 @@
 				performed and any directional control characters are ignored.
 */
 
-CT_EXPORT const CFStringRef kCTTypesetterOptionDisableBidiProcessing CT_DEPRECATED(10_5, 10_8, 3_2, 6_0);
+CT_EXPORT const CFStringRef kCTTypesetterOptionDisableBidiProcessing CT_DEPRECATED("Deprecated", macos(10.5, 10.8), ios(3.2, 6.0)) CT_UNAVAILABLE(watchos, tvos);
 
 /*!
 	@const		kCTTypesetterOptionForcedEmbeddingLevel
@@ -64,7 +64,7 @@
 				level and any directional control characters are ignored.
 */
 
-CT_EXPORT const CFStringRef kCTTypesetterOptionForcedEmbeddingLevel CT_AVAILABLE(10_5, 3_2);
+CT_EXPORT const CFStringRef kCTTypesetterOptionForcedEmbeddingLevel CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /* --------------------------------------------------------------------------- */
@@ -88,7 +88,7 @@
 */
 
 CTTypesetterRef CTTypesetterCreateWithAttributedString(
-	CFAttributedStringRef string ) CT_AVAILABLE(10_5, 3_2);
+	CFAttributedStringRef string ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -112,7 +112,7 @@
 
 CTTypesetterRef CTTypesetterCreateWithAttributedStringAndOptions(
 	CFAttributedStringRef string,
-	CFDictionaryRef __nullable options ) CT_AVAILABLE(10_5, 3_2);
+	CFDictionaryRef __nullable options ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /* --------------------------------------------------------------------------- */
@@ -145,7 +145,7 @@
 CTLineRef CTTypesetterCreateLineWithOffset(
 	CTTypesetterRef typesetter,
 	CFRange stringRange,
-	double offset ) CT_AVAILABLE(10_6, 3_2);
+	double offset ) CT_AVAILABLE(macos(10.6), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
 	@function	CTTypesetterCreateLine
@@ -154,7 +154,7 @@
 
 CTLineRef CTTypesetterCreateLine(
 	CTTypesetterRef typesetter,
-	CFRange stringRange ) CT_AVAILABLE(10_5, 3_2);
+	CFRange stringRange ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /* --------------------------------------------------------------------------- */
@@ -191,7 +191,7 @@
 	CTTypesetterRef typesetter,
 	CFIndex startIndex,
 	double width,
-	double offset ) CT_AVAILABLE(10_6, 3_2);
+	double offset ) CT_AVAILABLE(macos(10.6), ios(3.2), watchos(2.0), tvos(9.0));
 
 /*!
 	@function	CTTypesetterSuggestLineBreak
@@ -201,7 +201,7 @@
 CFIndex CTTypesetterSuggestLineBreak(
 	CTTypesetterRef typesetter,
 	CFIndex startIndex,
-	double width ) CT_AVAILABLE(10_5, 3_2);
+	double width ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -239,7 +239,7 @@
 	CTTypesetterRef typesetter,
 	CFIndex startIndex,
 	double width,
-	double offset ) CT_AVAILABLE(10_6, 3_2);
+	double offset ) CT_AVAILABLE(macos(10.6), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 /*!
@@ -250,7 +250,7 @@
 CFIndex CTTypesetterSuggestClusterBreak(
 	CTTypesetterRef typesetter,
 	CFIndex startIndex,
-	double width ) CT_AVAILABLE(10_5, 3_2);
+	double width ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 
 CF_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CoreText.apinotes /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CoreText.apinotes
--- /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CoreText.apinotes	1969-12-31 19:00:00.000000000 -0500
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CoreText.apinotes	2017-05-19 22:28:17.000000000 -0400
@@ -0,0 +1,66 @@
+---
+Name: CoreText
+Enumerators:
+- Name: kCTUnderlinePatternSolid
+  SwiftName: patternSolid
+SwiftVersions:
+- Version: 3
+  Functions:
+  - Name: CTFontCreateWithName
+    Parameters:
+    - Position: 0
+      Nullability: O
+  - Name: CTFontDrawGlyphs
+    Parameters:
+    - Position: 1
+      Nullability: U
+    - Position: 2
+      Nullability: U
+  - Name: CTFontGetAdvancesForGlyphs
+    Parameters:
+    - Position: 2
+      Nullability: U
+  - Name: CTFontGetBoundingRectsForGlyphs
+    Parameters:
+    - Position: 2
+      Nullability: U
+  - Name: CTFontGetGlyphsForCharacters
+    Parameters:
+    - Position: 1
+      Nullability: U
+    - Position: 2
+      Nullability: U
+  - Name: CTFontGetOpticalBoundsForGlyphs
+    Parameters:
+    - Position: 1
+      Nullability: U
+  - Name: CTFontGetVerticalTranslationsForGlyphs
+    Parameters:
+    - Position: 1
+      Nullability: U
+    - Position: 2
+      Nullability: U
+  - Name: CTFrameGetLineOrigins
+    Parameters:
+    - Position: 2
+      Nullability: U
+  - Name: CTRubyAnnotationCreate
+    Parameters:
+    - Position: 3
+      Type: "CFStringRef _Nonnull * _Null_unspecified"
+  - Name: CTRunGetAdvances
+    Parameters:
+    - Position: 2
+      Nullability: U
+  - Name: CTRunGetGlyphs
+    Parameters:
+    - Position: 2
+      Nullability: U
+  - Name: CTRunGetPositions
+    Parameters:
+    - Position: 2
+      Nullability: U
+  - Name: CTRunGetStringIndices
+    Parameters:
+    - Position: 2
+      Nullability: U
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CoreText.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CoreText.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CoreText.h	2016-09-23 20:28:11.000000000 -0400
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CoreText.h	2017-05-19 22:28:17.000000000 -0400
@@ -2,7 +2,7 @@
  *  CoreText.h
  *  CoreText
  *
- *  Copyright (c) 2006-2015 Apple Inc. All rights reserved.
+ *  Copyright (c) 2006-2017 Apple Inc. All rights reserved.
  *
  */
 
@@ -58,7 +58,7 @@
                 constants beginning with kCTVersionNumber.
 */
 
-uint32_t CTGetCoreTextVersion( void ) CT_AVAILABLE(10_5, 3_2);
+uint32_t CTGetCoreTextVersion( void ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
 #define kCTVersionNumber10_5 0x00020000
 #define kCTVersionNumber10_5_2 0x00020001
@@ -71,6 +71,7 @@
 #define kCTVersionNumber10_10 0x00070000
 #define kCTVersionNumber10_11 0x00080000
 #define kCTVersionNumber10_12 0x00090000
+#define kCTVersionNumber10_13 0x000A0000
 
 CF_EXTERN_C_END
 
Clone this wiki locally