Skip to content

CoreText iOS xcode13.0 beta1

Manuel de la Pena edited this page Jun 21, 2021 · 3 revisions

#CoreText.framework https://github.com/xamarin/xamarin-macios/pull/11993

diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTDefines.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTDefines.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTDefines.h	2021-03-16 08:46:15.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTDefines.h	2021-06-02 12:45:49.000000000 -0400
@@ -20,7 +20,7 @@
 # define __has_attribute(x) 0
 #endif
 
-#if defined(CT_BUILDING_CoreText) || 0
+#if defined(CT_BUILDING_CoreText) || TARGET_OS_WIN32
 # define CT_AVAILABLE(...)
 # define CT_UNAVAILABLE(...)
 # define CT_DEPRECATED(...)
@@ -59,8 +59,28 @@
 # endif /* defined(__OBJC__) */
 #endif /*  __has_attribute(objc_bridge) */
 
-
+#if TARGET_OS_WIN32
+#define _Nullable
+#define _Nonnull
+
+#define CF_BRIDGED_TYPE(T)
+#define CF_BRIDGED_MUTABLE_TYPE(T)
+#define CF_RELATED_TYPE(T,C,I)
+
+#define CF_ASSUME_NONNULL_BEGIN
+#define CF_ASSUME_NONNULL_END
+
+# if defined(CT_BUILDING_CoreText) && defined(__cplusplus)
+#  define CT_EXPORT extern "C" __declspec(dllexport)
+# elif defined(CT_BUILDING_CoreText) && !defined(__cplusplus)
+#  define CT_EXPORT extern __declspec(dllexport)
+# elif defined(__cplusplus)
+#  define CT_EXPORT extern "C" __declspec(dllimport)
+# else
+#  define CT_EXPORT extern __declspec(dllimport)
+# endif
+#else
 # define CT_EXPORT extern
-
+#endif
 
 #endif
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTFont.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTFont.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTFont.h	2021-03-16 05:17:26.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTFont.h	2021-06-02 07:33:19.000000000 -0400
@@ -169,6 +169,20 @@
     CGFloat                     size,
     const CGAffineTransform * _Nullable matrix ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
+#ifdef __swift__
+
+static inline CF_SWIFT_NAME(CTFont.init(_:size:)) CTFontRef _CTFontCreateWithName(CFStringRef name, CGFloat size)
+{
+    return CTFontCreateWithName(name, size, NULL);
+}
+
+static inline CF_SWIFT_NAME(CTFont.init(_:transform:)) CTFontRef _CTFontCreateWithNameAndMatrix(CFStringRef name, CGAffineTransform matrix)
+{
+    return CTFontCreateWithName(name, 1.0, &matrix);
+}
+
+#endif // __swift__
+
 /*!
     @function   CTFontCreateWithFontDescriptor
     @abstract   Returns a new font reference that best matches the font descriptor.
@@ -189,6 +203,20 @@
     CGFloat                 size,
     const CGAffineTransform * _Nullable matrix ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
+#ifdef __swift__
+
+static inline CF_SWIFT_NAME(CTFont.init(_:size:)) CTFontRef _CTFontCreateWithFontDescriptor(CTFontDescriptorRef descriptor, CGFloat size)
+{
+    return CTFontCreateWithFontDescriptor(descriptor, size, NULL);
+}
+
+static inline CF_SWIFT_NAME(CTFont.init(_:transform:)) CTFontRef _CTFontCreateWithFontDescriptorAndMatrix(CTFontDescriptorRef descriptor, CGAffineTransform matrix)
+{
+    return CTFontCreateWithFontDescriptor(descriptor, 1.0, &matrix);
+}
+
+#endif // __swift__
+
 /*!
     @enum       CTFontOptions
     @abstract   Options for descriptor match and font creation.
@@ -367,6 +395,20 @@
     CGFloat             size,
     CFStringRef _Nullable language ) CT_AVAILABLE(macos(10.5), ios(3.2), watchos(2.0), tvos(9.0));
 
+#ifdef __swift__
+
+static inline CF_SWIFT_NAME(CTFont.init(_:size:)) CTFontRef _CTFontCreateUIFont(CTFontUIFontType uiType, CGFloat size)
+{
+    return CTFontCreateUIFontForLanguage(uiType, size, NULL);
+}
+
+static inline CF_SWIFT_NAME(CTFont.init(_:size:language:)) CTFontRef _CTFontCreateUIFontForLanguage(CTFontUIFontType uiType, CGFloat size, CFStringRef _Nullable language)
+{
+    return CTFontCreateUIFontForLanguage(uiType, size, language);
+}
+
+#endif // __swift__
+
 /*!
     @function   CTFontCreateCopyWithAttributes
     @abstract   Returns a new font with additional attributes based on the original font.
@@ -505,6 +547,20 @@
     CFRange                 range,
     CFStringRef _Nullable   language ) CT_AVAILABLE(macos(10.9), ios(7.0), watchos(2.0), tvos(9.0));
 
+#ifdef __swift__
+
+static inline CF_SWIFT_NAME(CTFont.init(font:string:range:)) CTFontRef _CTFontCreateForString(CTFontRef currentFont, CFStringRef string, CFRange range)
+{
+    return CTFontCreateForString(currentFont, string, range);
+}
+
+static inline CF_SWIFT_NAME(CTFont.init(font:string:range:language:)) CTFontRef _CTFontCreateForStringWithLanguage(CTFontRef currentFont, CFStringRef string, CFRange range, CFStringRef _Nullable language)
+{
+    return CTFontCreateForStringWithLanguage(currentFont, string, range, language);
+}
+
+#endif // __swift__
+
 /*! --------------------------------------------------------------------------
     @group Font Accessors
 *///--------------------------------------------------------------------------
@@ -1546,7 +1602,7 @@
 CT_EXPORT const CFStringRef kCTBaselineClassHanging CT_AVAILABLE(macos(10.8), ios(6.0), watchos(2.0), tvos(9.0));
 
 /*!
-    @defined    kCTBaselineClassMathKey
+    @defined    kCTBaselineClassMath
 
     @abstract   Key to reference the Math baseline class.
 
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTFontCollection.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTFontCollection.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTFontCollection.h	2021-03-16 13:57:42.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTFontCollection.h	2021-06-02 05:36:47.000000000 -0400
@@ -296,7 +296,7 @@
     kCTFontCollectionCopyDefaultOptions = 0,
     kCTFontCollectionCopyUnique = (1 << 0),
     kCTFontCollectionCopyStandardSort = (1 << 1)
-} CT_AVAILABLE(macos(10.7));
+} CT_AVAILABLE(macos(10.7), ios(12.0), watchos(5.0), tvos(12.0));
 
 /*!
     @function   CTFontCollectionCopyFontAttribute
@@ -316,7 +316,7 @@
 CFArrayRef CTFontCollectionCopyFontAttribute(
     CTFontCollectionRef         collection,
     CFStringRef                 attributeName,
-    CTFontCollectionCopyOptions options ) CT_AVAILABLE(macos(10.7)) CT_UNAVAILABLE(ios, watchos, tvos);
+    CTFontCollectionCopyOptions options ) CT_AVAILABLE(macos(10.7), ios(15.0), watchos(8.0), tvos(15.0));
 
 /*!
     @function   CTFontCollectionCopyFontAttributes
@@ -336,7 +336,7 @@
 CFArrayRef CTFontCollectionCopyFontAttributes(
     CTFontCollectionRef         collection,
     CFSetRef                    attributeNames,
-    CTFontCollectionCopyOptions options ) CT_AVAILABLE(macos(10.7)) CT_UNAVAILABLE(ios, watchos, tvos);
+    CTFontCollectionCopyOptions options ) CT_AVAILABLE(macos(10.7), ios(15.0), watchos(8.0), tvos(15.0));
 
 CF_ASSUME_NONNULL_END
 CF_EXTERN_C_END
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTFontManager.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTFontManager.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTFontManager.h	2021-03-16 08:43:26.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTFontManager.h	2021-06-02 07:33:18.000000000 -0400
@@ -2,7 +2,7 @@
  *  CTFontManager.h
  *  CoreText
  *
- *  Copyright (c) 2008-2020 Apple Inc. All rights reserved.
+ *  Copyright (c) 2008-2021 Apple Inc. All rights reserved.
  *
  */
 
@@ -134,7 +134,8 @@
     kCTFontManagerScopeSession     CT_ENUM_AVAILABLE(macos(10.6)) CT_ENUM_UNAVAILABLE(ios, watchos, tvos)
                                    = 3,
     
-    kCTFontManagerScopeUser        = kCTFontManagerScopePersistent
+    kCTFontManagerScopeUser        CT_ENUM_AVAILABLE(macos(10.6), ios(13.0), watchos(6.0), tvos(13.0))
+                                   = 2,
 };
 
 /*!
@@ -239,7 +240,7 @@
 bool CTFontManagerRegisterFontsForURLs(
     CFArrayRef              fontURLs,
     CTFontManagerScope      scope,
-    CFArrayRef _Nullable * _Nullable errors ) API_DEPRECATED_WITH_REPLACEMENT("CTFontManagerRegisterFontURLs", macos(10.6, 10.15), ios(4.1, 13.0), watchos(2.0, 6.0), tvos(9.0, 13.0));
+    CFArrayRef _Nullable * _Nullable errors ) CT_DEPRECATED_WITH_REPLACEMENT("CTFontManagerRegisterFontURLs", macos(10.6, 10.15), ios(4.1, 13.0), watchos(2.0, 6.0), tvos(9.0, 13.0));
 
 /*!
     @function   CTFontManagerUnregisterFontsForURLs
@@ -260,7 +261,7 @@
 bool CTFontManagerUnregisterFontsForURLs(
     CFArrayRef              fontURLs,
     CTFontManagerScope      scope,
-    CFArrayRef _Nullable * _Nullable errors ) API_DEPRECATED_WITH_REPLACEMENT("CTFontManagerUnregisterFontURLs", macos(10.6, 10.15), ios(4.1, 13.0), watchos(2.0, 6.0), tvos(9.0, 13.0));
+    CFArrayRef _Nullable * _Nullable errors ) CT_DEPRECATED_WITH_REPLACEMENT("CTFontManagerUnregisterFontURLs", macos(10.6, 10.15), ios(4.1, 13.0), watchos(2.0, 6.0), tvos(9.0, 13.0));
 
 #if defined(__BLOCKS__)
 /*!
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/SFNTLayoutTypes.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/SFNTLayoutTypes.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/SFNTLayoutTypes.h	2021-03-16 05:15:11.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/SFNTLayoutTypes.h	2021-06-02 05:36:47.000000000 -0400
@@ -2,14 +2,17 @@
  *  SFNTLayoutTypes.h
  *  CoreText
  *
- *  Copyright 1994-2016 Apple Inc. All rights reserved.
+ *  Copyright 1994-2021 Apple Inc. All rights reserved.
  *
  */
 
 #ifndef __SFNTLAYOUTTYPES__
 #define __SFNTLAYOUTTYPES__
 
-#if !0
+#include <TargetConditionals.h>
+#include <Availability.h>
+
+#if !TARGET_OS_WIN32
 #include <MacTypes.h>
 #elif !defined(__MACTYPES__)
 typedef SInt32 Fixed;
@@ -1743,7 +1746,7 @@
 
   SFNTLookupTable     lookup;                 /* lookup table */
 };
-typedef struct ALMXHeader               ALMXHeader;
+typedef struct ALMXHeader               ALMXHeader API_DEPRECATED("Superseded by OpenType", macos(10.0, 12.0), ios(1.0, 15.0), watchos(1.0, 8.0), tvos(1.0, 15.0));
 struct ALMXGlyphEntry {                       /* lookup data for ALMX table */
   SInt16              GlyphIndexOffset;
   SInt16              HorizontalAdvance;
@@ -1751,7 +1754,7 @@
   SInt16              VerticalAdvance;
   SInt16              YOffsetToVOrigin;
 };
-typedef struct ALMXGlyphEntry           ALMXGlyphEntry;
+typedef struct ALMXGlyphEntry           ALMXGlyphEntry API_DEPRECATED("Superseded by OpenType", macos(10.0, 12.0), ios(1.0, 15.0), watchos(1.0, 8.0), tvos(1.0, 15.0));
 /* --------------------------------------------------------------------------- */
 /* FORMATS FOR TABLE: 'ROTA' */
 /* TYPES */
@@ -1764,13 +1767,13 @@
 
   SFNTLookupTable     lookup;                 /* lookup table */
 };
-typedef struct ROTAHeader               ROTAHeader;
+typedef struct ROTAHeader               ROTAHeader API_DEPRECATED("Superseded by OpenType", macos(10.0, 12.0), ios(1.0, 15.0), watchos(1.0, 8.0), tvos(1.0, 15.0));
 struct ROTAGlyphEntry {                       /* lookup data for ROTA table */
   SInt16              GlyphIndexOffset;
   SInt16              HBaselineOffset;        /* y offset to the rotated horizontal baseline */
   SInt16              VBaselineOffset;        /* x offset to the rotated vertical baseline */
 };
-typedef struct ROTAGlyphEntry           ROTAGlyphEntry;
+typedef struct ROTAGlyphEntry           ROTAGlyphEntry API_DEPRECATED("Superseded by OpenType", macos(10.0, 12.0), ios(1.0, 15.0), watchos(1.0, 8.0), tvos(1.0, 15.0));
 /* --------------------------------------------------------------------------- */
 /* FORMATS FOR TABLE 'ankr' */
 /* CONSTANTS */
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/SFNTTypes.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/SFNTTypes.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/SFNTTypes.h	2021-03-16 05:15:10.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/SFNTTypes.h	2021-06-01 20:59:10.000000000 -0400
@@ -2,14 +2,16 @@
  *  SFNTTypes.h
  *  CoreText
  *
- *  Copyright 1994-2013 Apple Inc. All rights reserved.
+ *  Copyright 1994-2021 Apple Inc. All rights reserved.
  *
  */
 
 #ifndef __SFNTTYPES__
 #define __SFNTTYPES__
 
-#if !0
+#include <TargetConditionals.h>
+
+#if !TARGET_OS_WIN32
 #include <MacTypes.h>
 #elif !defined(__MACTYPES__)
 typedef SInt32 Fixed;
@@ -19,9 +21,6 @@
 extern "C" {
 #endif
 
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wfour-char-constants"
-
 #pragma pack(push, 2)
 
 struct sfntDirectoryEntry {
@@ -47,7 +46,7 @@
 
 /* Cmap - character id to glyph id mapping */
 enum {
-  cmapFontTableTag              = 'cmap'
+  cmapFontTableTag              = 0x636D6170  /* 'cmap' */
 };
 
 enum {
@@ -289,7 +288,7 @@
 
 /* Name table */
 enum {
-  nameFontTableTag              = 'name'
+  nameFontTableTag              = 0x6E616D65  /* 'name' */
 };
 
 enum {
@@ -348,7 +347,7 @@
 
 /* Fvar table - font variations */
 enum {
-  variationFontTableTag         = 'fvar'
+  variationFontTableTag         = 0x66766172  /* 'fvar' */
 };
 
 /* These define each font variation */
@@ -396,7 +395,7 @@
 
 /* Fdsc table - font descriptor */
 enum {
-  descriptorFontTableTag        = 'fdsc'
+  descriptorFontTableTag        = 0x66647363  /* 'fdsc' */
 };
 
 struct sfntFontDescriptor {
@@ -416,7 +415,7 @@
 
 /* Feat Table - layout feature table */
 enum {
-  featureFontTableTag           = 'feat'
+  featureFontTableTag           = 0x66656174  /* 'feat' */
 };
 
 struct sfntFeatureName {
@@ -449,7 +448,7 @@
 typedef struct sfntFeatureHeader        sfntFeatureHeader;
 /* OS/2 Table */
 enum {
-  os2FontTableTag               = 'OS/2'
+  os2FontTableTag               = 0x4F532F32  /* 'OS/2' */
 };
 
 /*  Special invalid glyph ID value, useful as a sentinel value, for example */
@@ -476,8 +475,6 @@
 
 #pragma pack(pop)
 
-#pragma clang diagnostic pop
-
 #ifdef __cplusplus
 }
 #endif
Clone this wiki locally