pyobjc-framework-CoreText 12.0__tar.gz → 12.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. {pyobjc_framework_coretext-12.0 → pyobjc_framework_coretext-12.2}/Lib/CoreText/_metadata.py +26 -25
  2. {pyobjc_framework_coretext-12.0 → pyobjc_framework_coretext-12.2}/Lib/pyobjc_framework_CoreText.egg-info/PKG-INFO +6 -7
  3. {pyobjc_framework_coretext-12.0 → pyobjc_framework_coretext-12.2}/Lib/pyobjc_framework_CoreText.egg-info/SOURCES.txt +2 -2
  4. pyobjc_framework_coretext-12.2/Lib/pyobjc_framework_CoreText.egg-info/pyobjc-build-info.txt +3 -0
  5. pyobjc_framework_coretext-12.2/Lib/pyobjc_framework_CoreText.egg-info/requires.txt +3 -0
  6. {pyobjc_framework_coretext-12.0 → pyobjc_framework_coretext-12.2}/Modules/pyobjc-compat.h +24 -50
  7. {pyobjc_framework_coretext-12.0 → pyobjc_framework_coretext-12.2}/PKG-INFO +6 -7
  8. {pyobjc_framework_coretext-12.0 → pyobjc_framework_coretext-12.2}/PyObjCTest/test_ctfont.py +4 -0
  9. {pyobjc_framework_coretext-12.0 → pyobjc_framework_coretext-12.2}/PyObjCTest/test_ctfontdescriptor.py +4 -0
  10. {pyobjc_framework_coretext-12.0 → pyobjc_framework_coretext-12.2}/metadata/CoreText.fwinfo +13 -13
  11. pyobjc_framework_coretext-12.0/metadata/raw/arm64-26.0.fwinfo → pyobjc_framework_coretext-12.2/metadata/raw/arm64-26.5.fwinfo +4335 -1061
  12. pyobjc_framework_coretext-12.0/metadata/raw/x86_64-26.0.fwinfo → pyobjc_framework_coretext-12.2/metadata/raw/x86_64-26.5.fwinfo +4335 -1061
  13. {pyobjc_framework_coretext-12.0 → pyobjc_framework_coretext-12.2}/pyobjc_setup.py +4 -5
  14. {pyobjc_framework_coretext-12.0 → pyobjc_framework_coretext-12.2}/setup.py +1 -1
  15. pyobjc_framework_coretext-12.0/Lib/pyobjc_framework_CoreText.egg-info/pyobjc-build-info.txt +0 -3
  16. pyobjc_framework_coretext-12.0/Lib/pyobjc_framework_CoreText.egg-info/requires.txt +0 -3
  17. {pyobjc_framework_coretext-12.0 → pyobjc_framework_coretext-12.2}/LICENSE.txt +0 -0
  18. {pyobjc_framework_coretext-12.0 → pyobjc_framework_coretext-12.2}/Lib/CoreText/__init__.py +0 -0
  19. {pyobjc_framework_coretext-12.0 → pyobjc_framework_coretext-12.2}/Lib/pyobjc_framework_CoreText.egg-info/dependency_links.txt +0 -0
  20. {pyobjc_framework_coretext-12.0 → pyobjc_framework_coretext-12.2}/Lib/pyobjc_framework_CoreText.egg-info/not-zip-safe +0 -0
  21. {pyobjc_framework_coretext-12.0 → pyobjc_framework_coretext-12.2}/Lib/pyobjc_framework_CoreText.egg-info/top_level.txt +0 -0
  22. {pyobjc_framework_coretext-12.0 → pyobjc_framework_coretext-12.2}/MANIFEST.in +0 -0
  23. {pyobjc_framework_coretext-12.0 → pyobjc_framework_coretext-12.2}/Modules/_manual.m +0 -0
  24. {pyobjc_framework_coretext-12.0 → pyobjc_framework_coretext-12.2}/Modules/pyobjc-api.h +0 -0
  25. {pyobjc_framework_coretext-12.0 → pyobjc_framework_coretext-12.2}/PyObjCTest/__init__.py +0 -0
  26. {pyobjc_framework_coretext-12.0 → pyobjc_framework_coretext-12.2}/PyObjCTest/test_coretext.py +0 -0
  27. {pyobjc_framework_coretext-12.0 → pyobjc_framework_coretext-12.2}/PyObjCTest/test_ctfontcollection.py +0 -0
  28. {pyobjc_framework_coretext-12.0 → pyobjc_framework_coretext-12.2}/PyObjCTest/test_ctfontmanager.py +0 -0
  29. {pyobjc_framework_coretext-12.0 → pyobjc_framework_coretext-12.2}/PyObjCTest/test_ctfontmanagererrors.py +0 -0
  30. {pyobjc_framework_coretext-12.0 → pyobjc_framework_coretext-12.2}/PyObjCTest/test_ctfonttraits.py +0 -0
  31. {pyobjc_framework_coretext-12.0 → pyobjc_framework_coretext-12.2}/PyObjCTest/test_ctframe.py +0 -0
  32. {pyobjc_framework_coretext-12.0 → pyobjc_framework_coretext-12.2}/PyObjCTest/test_ctframesetter.py +0 -0
  33. {pyobjc_framework_coretext-12.0 → pyobjc_framework_coretext-12.2}/PyObjCTest/test_ctglyphinfo.py +0 -0
  34. {pyobjc_framework_coretext-12.0 → pyobjc_framework_coretext-12.2}/PyObjCTest/test_ctline.py +0 -0
  35. {pyobjc_framework_coretext-12.0 → pyobjc_framework_coretext-12.2}/PyObjCTest/test_ctparagraphstyle.py +0 -0
  36. {pyobjc_framework_coretext-12.0 → pyobjc_framework_coretext-12.2}/PyObjCTest/test_ctrubyannotation.py +0 -0
  37. {pyobjc_framework_coretext-12.0 → pyobjc_framework_coretext-12.2}/PyObjCTest/test_ctrun.py +0 -0
  38. {pyobjc_framework_coretext-12.0 → pyobjc_framework_coretext-12.2}/PyObjCTest/test_ctrundelegate.py +0 -0
  39. {pyobjc_framework_coretext-12.0 → pyobjc_framework_coretext-12.2}/PyObjCTest/test_ctstringattributes.py +0 -0
  40. {pyobjc_framework_coretext-12.0 → pyobjc_framework_coretext-12.2}/PyObjCTest/test_cttexttab.py +0 -0
  41. {pyobjc_framework_coretext-12.0 → pyobjc_framework_coretext-12.2}/PyObjCTest/test_cttypesetter.py +0 -0
  42. {pyobjc_framework_coretext-12.0 → pyobjc_framework_coretext-12.2}/README.txt +0 -0
  43. {pyobjc_framework_coretext-12.0 → pyobjc_framework_coretext-12.2}/metadata/metadata.ini +0 -0
  44. {pyobjc_framework_coretext-12.0 → pyobjc_framework_coretext-12.2}/pyproject.toml +0 -0
  45. {pyobjc_framework_coretext-12.0 → pyobjc_framework_coretext-12.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  # This file is generated by objective.metadata
2
2
  #
3
- # Last update: Mon Jun 9 16:06:54 2025
3
+ # Last update: Thu May 28 21:36:10 2026
4
4
  #
5
5
  # flake8: noqa
6
6
 
@@ -156,7 +156,7 @@ misc.update(
156
156
  ),
157
157
  }
158
158
  )
159
- constants = """$kCTAdaptiveImageProviderAttributeName$kCTBackgroundColorAttributeName$kCTBaselineClassAttributeName$kCTBaselineClassHanging$kCTBaselineClassIdeographicCentered$kCTBaselineClassIdeographicHigh$kCTBaselineClassIdeographicLow$kCTBaselineClassMath$kCTBaselineClassRoman$kCTBaselineInfoAttributeName$kCTBaselineOffsetAttributeName$kCTBaselineOriginalFont$kCTBaselineReferenceFont$kCTBaselineReferenceInfoAttributeName$kCTCharacterShapeAttributeName$kCTFontAttributeName$kCTFontBaselineAdjustAttribute$kCTFontCascadeListAttribute$kCTFontCharacterSetAttribute$kCTFontCollectionDisallowAutoActivationOption$kCTFontCollectionIncludeDisabledFontsOption$kCTFontCollectionRemoveDuplicatesOption$kCTFontCopyrightNameKey$kCTFontDescriptionNameKey$kCTFontDescriptorMatchingCurrentAssetSize$kCTFontDescriptorMatchingDescriptors$kCTFontDescriptorMatchingError$kCTFontDescriptorMatchingPercentage$kCTFontDescriptorMatchingResult$kCTFontDescriptorMatchingSourceDescriptor$kCTFontDescriptorMatchingTotalAssetSize$kCTFontDescriptorMatchingTotalDownloadedSize$kCTFontDesignerNameKey$kCTFontDesignerURLNameKey$kCTFontDisplayNameAttribute$kCTFontDownloadableAttribute$kCTFontDownloadedAttribute$kCTFontEnabledAttribute$kCTFontFamilyNameAttribute$kCTFontFamilyNameKey$kCTFontFeatureSampleTextKey$kCTFontFeatureSelectorDefaultKey$kCTFontFeatureSelectorIdentifierKey$kCTFontFeatureSelectorNameKey$kCTFontFeatureSelectorSettingKey$kCTFontFeatureSettingsAttribute$kCTFontFeatureTooltipTextKey$kCTFontFeatureTypeExclusiveKey$kCTFontFeatureTypeIdentifierKey$kCTFontFeatureTypeNameKey$kCTFontFeatureTypeSelectorsKey$kCTFontFeaturesAttribute$kCTFontFixedAdvanceAttribute$kCTFontFormatAttribute$kCTFontFullNameKey$kCTFontLanguagesAttribute$kCTFontLicenseNameKey$kCTFontLicenseURLNameKey$kCTFontMacintoshEncodingsAttribute$kCTFontManagerBundleIdentifier$kCTFontManagerErrorDomain$kCTFontManagerErrorFontAssetNameKey$kCTFontManagerErrorFontDescriptorsKey$kCTFontManagerErrorFontURLsKey$kCTFontManagerRegisteredFontsChangedNotification$kCTFontManufacturerNameKey$kCTFontMatrixAttribute$kCTFontNameAttribute$kCTFontOpenTypeFeatureTag$kCTFontOpenTypeFeatureValue$kCTFontOpticalSizeAttribute$kCTFontOrientationAttribute$kCTFontPostScriptCIDNameKey$kCTFontPostScriptNameKey$kCTFontPriorityAttribute$kCTFontRegistrationScopeAttribute$kCTFontRegistrationUserInfoAttribute$kCTFontSampleTextNameKey$kCTFontSizeAttribute$kCTFontSlantTrait$kCTFontStyleNameAttribute$kCTFontStyleNameKey$kCTFontSubFamilyNameKey$kCTFontSymbolicTrait$kCTFontTrademarkNameKey$kCTFontTraitsAttribute$kCTFontURLAttribute$kCTFontUniqueNameKey$kCTFontVariationAttribute$kCTFontVariationAxesAttribute$kCTFontVariationAxisDefaultValueKey$kCTFontVariationAxisHiddenKey$kCTFontVariationAxisIdentifierKey$kCTFontVariationAxisMaximumValueKey$kCTFontVariationAxisMinimumValueKey$kCTFontVariationAxisNameKey$kCTFontVendorURLNameKey$kCTFontVersionNameKey$kCTFontWeightTrait$kCTFontWidthTrait$kCTForegroundColorAttributeName$kCTForegroundColorFromContextAttributeName$kCTFrameClippingPathsAttributeName$kCTFramePathClippingPathAttributeName$kCTFramePathFillRuleAttributeName$kCTFramePathWidthAttributeName$kCTFrameProgressionAttributeName$kCTGlyphInfoAttributeName$kCTHorizontalInVerticalFormsAttributeName$kCTKernAttributeName$kCTLanguageAttributeName$kCTLigatureAttributeName$kCTParagraphStyleAttributeName$kCTRubyAnnotationAttributeName$kCTRubyAnnotationScaleToFitAttributeName$kCTRubyAnnotationSizeFactorAttributeName$kCTRunDelegateAttributeName$kCTStrokeColorAttributeName$kCTStrokeWidthAttributeName$kCTSuperscriptAttributeName$kCTTabColumnTerminatorsAttributeName$kCTTrackingAttributeName$kCTTypesetterOptionAllowUnboundedLayout$kCTTypesetterOptionDisableBidiProcessing$kCTTypesetterOptionForcedEmbeddingLevel$kCTUnderlineColorAttributeName$kCTUnderlineStyleAttributeName$kCTVerticalFormsAttributeName$kCTWritingDirectionAttributeName$"""
159
+ constants = """$kCTAdaptiveImageProviderAttributeName$kCTBackgroundColorAttributeName$kCTBaselineClassAttributeName$kCTBaselineClassHanging$kCTBaselineClassIdeographicCentered$kCTBaselineClassIdeographicHigh$kCTBaselineClassIdeographicLow$kCTBaselineClassMath$kCTBaselineClassRoman$kCTBaselineInfoAttributeName$kCTBaselineOffsetAttributeName$kCTBaselineOriginalFont$kCTBaselineReferenceFont$kCTBaselineReferenceInfoAttributeName$kCTCharacterShapeAttributeName$kCTFontAttributeName$kCTFontBaselineAdjustAttribute$kCTFontCascadeListAttribute$kCTFontCharacterSetAttribute$kCTFontCollectionDisallowAutoActivationOption$kCTFontCollectionIncludeDisabledFontsOption$kCTFontCollectionRemoveDuplicatesOption$kCTFontCopyrightNameKey$kCTFontDescriptionNameKey$kCTFontDescriptorLanguageAttribute$kCTFontDescriptorMatchingCurrentAssetSize$kCTFontDescriptorMatchingDescriptors$kCTFontDescriptorMatchingError$kCTFontDescriptorMatchingPercentage$kCTFontDescriptorMatchingResult$kCTFontDescriptorMatchingSourceDescriptor$kCTFontDescriptorMatchingTotalAssetSize$kCTFontDescriptorMatchingTotalDownloadedSize$kCTFontDesignerNameKey$kCTFontDesignerURLNameKey$kCTFontDisplayNameAttribute$kCTFontDownloadableAttribute$kCTFontDownloadedAttribute$kCTFontEnabledAttribute$kCTFontFamilyNameAttribute$kCTFontFamilyNameKey$kCTFontFeatureSampleTextKey$kCTFontFeatureSelectorDefaultKey$kCTFontFeatureSelectorIdentifierKey$kCTFontFeatureSelectorNameKey$kCTFontFeatureSelectorSettingKey$kCTFontFeatureSettingsAttribute$kCTFontFeatureTooltipTextKey$kCTFontFeatureTypeExclusiveKey$kCTFontFeatureTypeIdentifierKey$kCTFontFeatureTypeNameKey$kCTFontFeatureTypeSelectorsKey$kCTFontFeaturesAttribute$kCTFontFixedAdvanceAttribute$kCTFontFormatAttribute$kCTFontFullNameKey$kCTFontLanguagesAttribute$kCTFontLicenseNameKey$kCTFontLicenseURLNameKey$kCTFontMacintoshEncodingsAttribute$kCTFontManagerBundleIdentifier$kCTFontManagerErrorDomain$kCTFontManagerErrorFontAssetNameKey$kCTFontManagerErrorFontDescriptorsKey$kCTFontManagerErrorFontURLsKey$kCTFontManagerRegisteredFontsChangedNotification$kCTFontManufacturerNameKey$kCTFontMatrixAttribute$kCTFontNameAttribute$kCTFontOpenTypeFeatureTag$kCTFontOpenTypeFeatureValue$kCTFontOpticalSizeAttribute$kCTFontOrientationAttribute$kCTFontPostScriptCIDNameKey$kCTFontPostScriptNameKey$kCTFontPriorityAttribute$kCTFontRegistrationScopeAttribute$kCTFontRegistrationUserInfoAttribute$kCTFontSampleTextNameKey$kCTFontSizeAttribute$kCTFontSlantTrait$kCTFontStyleNameAttribute$kCTFontStyleNameKey$kCTFontSubFamilyNameKey$kCTFontSymbolicTrait$kCTFontTrademarkNameKey$kCTFontTraitsAttribute$kCTFontURLAttribute$kCTFontUniqueNameKey$kCTFontVariationAttribute$kCTFontVariationAxesAttribute$kCTFontVariationAxisDefaultValueKey$kCTFontVariationAxisHiddenKey$kCTFontVariationAxisIdentifierKey$kCTFontVariationAxisMaximumValueKey$kCTFontVariationAxisMinimumValueKey$kCTFontVariationAxisNameKey$kCTFontVendorURLNameKey$kCTFontVersionNameKey$kCTFontWeightTrait$kCTFontWidthTrait$kCTForegroundColorAttributeName$kCTForegroundColorFromContextAttributeName$kCTFrameClippingPathsAttributeName$kCTFramePathClippingPathAttributeName$kCTFramePathFillRuleAttributeName$kCTFramePathWidthAttributeName$kCTFrameProgressionAttributeName$kCTGlyphInfoAttributeName$kCTHorizontalInVerticalFormsAttributeName$kCTKernAttributeName$kCTLanguageAttributeName$kCTLigatureAttributeName$kCTParagraphStyleAttributeName$kCTRubyAnnotationAttributeName$kCTRubyAnnotationScaleToFitAttributeName$kCTRubyAnnotationSizeFactorAttributeName$kCTRunDelegateAttributeName$kCTStrokeColorAttributeName$kCTStrokeWidthAttributeName$kCTSuperscriptAttributeName$kCTTabColumnTerminatorsAttributeName$kCTTrackingAttributeName$kCTTypesetterOptionAllowUnboundedLayout$kCTTypesetterOptionDisableBidiProcessing$kCTTypesetterOptionForcedEmbeddingLevel$kCTUnderlineColorAttributeName$kCTUnderlineStyleAttributeName$kCTVerticalFormsAttributeName$kCTWritingDirectionAttributeName$"""
160
160
  enums = """$cmapFontTableTag@1668112752$descriptorFontTableTag@1717859171$featureFontTableTag@1717920116$kANKRCurrentVersion@0$kAbbrevSquaredLigaturesOffSelector@15$kAbbrevSquaredLigaturesOnSelector@14$kAllCapsSelector@1$kAllLowerCaseSelector@2$kAllTypeFeaturesOffSelector@1$kAllTypeFeaturesOnSelector@0$kAllTypographicFeaturesType@0$kAltHalfWidthTextSelector@6$kAltProportionalTextSelector@5$kAlternateHorizKanaOffSelector@1$kAlternateHorizKanaOnSelector@0$kAlternateKanaType@34$kAlternateVertKanaOffSelector@3$kAlternateVertKanaOnSelector@2$kAnnotationType@24$kAsteriskToMultiplyOffSelector@3$kAsteriskToMultiplyOnSelector@2$kBSLNControlPointFormatNoMap@2$kBSLNControlPointFormatWithMap@3$kBSLNCurrentVersion@65536$kBSLNDistanceFormatNoMap@0$kBSLNDistanceFormatWithMap@1$kBSLNHangingBaseline@3$kBSLNIdeographicCenterBaseline@1$kBSLNIdeographicHighBaseline@5$kBSLNIdeographicLowBaseline@2$kBSLNLastBaseline@31$kBSLNMathBaseline@4$kBSLNNoBaseline@255$kBSLNNoBaselineOverride@255$kBSLNNumBaselineClasses@32$kBSLNRomanBaseline@0$kBSLNTag@1651731566$kBoxAnnotationSelector@1$kCJKItalicRomanOffSelector@3$kCJKItalicRomanOnSelector@2$kCJKItalicRomanSelector@1$kCJKRomanSpacingType@103$kCJKSymbolAltFiveSelector@5$kCJKSymbolAltFourSelector@4$kCJKSymbolAltOneSelector@1$kCJKSymbolAltThreeSelector@3$kCJKSymbolAltTwoSelector@2$kCJKSymbolAlternativesType@29$kCJKVerticalRomanCenteredSelector@0$kCJKVerticalRomanHBaselineSelector@1$kCJKVerticalRomanPlacementType@31$kCTAdobeCNS1CharacterCollection@1$kCTAdobeGB1CharacterCollection@2$kCTAdobeJapan1CharacterCollection@3$kCTAdobeJapan2CharacterCollection@4$kCTAdobeKorea1CharacterCollection@5$kCTCenterTextAlignment@2$kCTCharacterCollectionAdobeCNS1@1$kCTCharacterCollectionAdobeGB1@2$kCTCharacterCollectionAdobeJapan1@3$kCTCharacterCollectionAdobeJapan2@4$kCTCharacterCollectionAdobeKorea1@5$kCTCharacterCollectionIdentityMapping@0$kCTFontAlertHeaderFontType@18$kCTFontApplicationFontType@9$kCTFontBoldTrait@2$kCTFontClarendonSerifsClass@1073741824$kCTFontClassClarendonSerifs@1073741824$kCTFontClassFreeformSerifs@1879048192$kCTFontClassMaskShift@28$kCTFontClassMaskTrait@4026531840$kCTFontClassModernSerifs@805306368$kCTFontClassOldStyleSerifs@268435456$kCTFontClassOrnamentals@2415919104$kCTFontClassSansSerif@2147483648$kCTFontClassScripts@2684354560$kCTFontClassSlabSerifs@1342177280$kCTFontClassSymbolic@3221225472$kCTFontClassTransitionalSerifs@536870912$kCTFontClassUnknown@0$kCTFontCollectionCopyDefaultOptions@0$kCTFontCollectionCopyStandardSort@2$kCTFontCollectionCopyUnique@1$kCTFontColorGlyphsTrait@8192$kCTFontCompositeTrait@16384$kCTFontCondensedTrait@64$kCTFontControlContentFontType@26$kCTFontDefaultOrientation@0$kCTFontDescriptorMatchingDidBegin@0$kCTFontDescriptorMatchingDidFailWithError@8$kCTFontDescriptorMatchingDidFinish@1$kCTFontDescriptorMatchingDidFinishDownloading@6$kCTFontDescriptorMatchingDidMatch@7$kCTFontDescriptorMatchingDownloading@5$kCTFontDescriptorMatchingStalled@3$kCTFontDescriptorMatchingWillBeginDownloading@4$kCTFontDescriptorMatchingWillBeginQuerying@2$kCTFontEmphasizedSystemDetailFontType@20$kCTFontEmphasizedSystemFontType@3$kCTFontExpandedTrait@32$kCTFontFormatBitmap@5$kCTFontFormatOpenTypePostScript@1$kCTFontFormatOpenTypeTrueType@2$kCTFontFormatPostScript@4$kCTFontFormatTrueType@3$kCTFontFormatUnrecognized@0$kCTFontFreeformSerifsClass@1879048192$kCTFontHorizontalOrientation@1$kCTFontItalicTrait@1$kCTFontLabelFontType@10$kCTFontManagerAutoActivationDefault@0$kCTFontManagerAutoActivationDisabled@1$kCTFontManagerAutoActivationEnabled@2$kCTFontManagerAutoActivationPromptUser@3$kCTFontManagerErrorAlreadyRegistered@105$kCTFontManagerErrorAssetNotFound@107$kCTFontManagerErrorCancelledByUser@304$kCTFontManagerErrorDuplicatedName@305$kCTFontManagerErrorExceededResourceLimit@106$kCTFontManagerErrorFileNotFound@101$kCTFontManagerErrorInUse@202$kCTFontManagerErrorInsufficientInfo@303$kCTFontManagerErrorInsufficientPermissions@102$kCTFontManagerErrorInvalidFilePath@306$kCTFontManagerErrorInvalidFontData@104$kCTFontManagerErrorMissingEntitlement@302$kCTFontManagerErrorNotRegistered@201$kCTFontManagerErrorRegistrationFailed@301$kCTFontManagerErrorSystemRequired@203$kCTFontManagerErrorUnrecognizedFormat@103$kCTFontManagerErrorUnsupportedScope@307$kCTFontManagerScopeNone@0$kCTFontManagerScopePersistent@2$kCTFontManagerScopeProcess@1$kCTFontManagerScopeSession@3$kCTFontManagerScopeUser@2$kCTFontMenuItemCmdKeyFontType@14$kCTFontMenuItemFontType@12$kCTFontMenuItemMarkFontType@13$kCTFontMenuTitleFontType@11$kCTFontMessageFontType@23$kCTFontMiniEmphasizedSystemFontType@7$kCTFontMiniSystemFontType@6$kCTFontModernSerifsClass@805306368$kCTFontMonoSpaceTrait@1024$kCTFontNoFontType@4294967295$kCTFontOldStyleSerifsClass@268435456$kCTFontOptionsDefault@0$kCTFontOptionsPreferSystemFont@4$kCTFontOptionsPreventAutoActivation@1$kCTFontOptionsPreventAutoDownload@2$kCTFontOrientationDefault@0$kCTFontOrientationHorizontal@1$kCTFontOrientationVertical@2$kCTFontOrnamentalsClass@2415919104$kCTFontPaletteFontType@24$kCTFontPriorityComputer@30000$kCTFontPriorityDynamic@50000$kCTFontPriorityNetwork@20000$kCTFontPriorityProcess@60000$kCTFontPrioritySystem@10000$kCTFontPriorityUser@40000$kCTFontPushButtonFontType@16$kCTFontSansSerifClass@2147483648$kCTFontScriptsClass@2684354560$kCTFontSlabSerifsClass@1342177280$kCTFontSmallEmphasizedSystemFontType@5$kCTFontSmallSystemFontType@4$kCTFontSmallToolbarFontType@22$kCTFontSymbolicClass@3221225472$kCTFontSystemDetailFontType@19$kCTFontSystemFontType@2$kCTFontTableAcnt@1633906292$kCTFontTableAnkr@1634626418$kCTFontTableAvar@1635148146$kCTFontTableBASE@1111577413$kCTFontTableBdat@1650745716$kCTFontTableBhed@1651008868$kCTFontTableBloc@1651273571$kCTFontTableBsln@1651731566$kCTFontTableCBDT@1128416340$kCTFontTableCBLC@1128418371$kCTFontTableCFF@1128678944$kCTFontTableCFF2@1128678962$kCTFontTableCOLR@1129270354$kCTFontTableCPAL@1129333068$kCTFontTableCidg@1667851367$kCTFontTableCmap@1668112752$kCTFontTableCvar@1668702578$kCTFontTableCvt@1668707360$kCTFontTableDSIG@1146308935$kCTFontTableEBDT@1161970772$kCTFontTableEBLC@1161972803$kCTFontTableEBSC@1161974595$kCTFontTableFdsc@1717859171$kCTFontTableFeat@1717920116$kCTFontTableFmtx@1718449272$kCTFontTableFond@1718578788$kCTFontTableFpgm@1718642541$kCTFontTableFvar@1719034226$kCTFontTableGDEF@1195656518$kCTFontTableGPOS@1196445523$kCTFontTableGSUB@1196643650$kCTFontTableGasp@1734439792$kCTFontTableGlyf@1735162214$kCTFontTableGvar@1735811442$kCTFontTableHVAR@1213612370$kCTFontTableHdmx@1751412088$kCTFontTableHead@1751474532$kCTFontTableHhea@1751672161$kCTFontTableHmtx@1752003704$kCTFontTableHsty@1752396921$kCTFontTableJSTF@1246975046$kCTFontTableJust@1786082164$kCTFontTableKern@1801810542$kCTFontTableKerx@1801810552$kCTFontTableLTSH@1280594760$kCTFontTableLcar@1818452338$kCTFontTableLoca@1819239265$kCTFontTableLtag@1819566439$kCTFontTableMATH@1296127048$kCTFontTableMERG@1296388679$kCTFontTableMVAR@1297498450$kCTFontTableMaxp@1835104368$kCTFontTableMeta@1835365473$kCTFontTableMort@1836020340$kCTFontTableMorx@1836020344$kCTFontTableName@1851878757$kCTFontTableOS2@1330851634$kCTFontTableOpbd@1869636196$kCTFontTableOptionExcludeSynthetic@1$kCTFontTableOptionNoOptions@0$kCTFontTablePCLT@1346587732$kCTFontTablePost@1886352244$kCTFontTablePrep@1886545264$kCTFontTableProp@1886547824$kCTFontTableSTAT@1398030676$kCTFontTableSVG@1398163232$kCTFontTableSbit@1935829364$kCTFontTableSbix@1935829368$kCTFontTableTrak@1953653099$kCTFontTableVDMX@1447316824$kCTFontTableVORG@1448038983$kCTFontTableVVAR@1448493394$kCTFontTableVhea@1986553185$kCTFontTableVmtx@1986884728$kCTFontTableXref@2020762982$kCTFontTableZapf@1516335206$kCTFontToolTipFontType@25$kCTFontToolbarFontType@21$kCTFontTraitBold@2$kCTFontTraitClassMask@4026531840$kCTFontTraitColorGlyphs@8192$kCTFontTraitComposite@16384$kCTFontTraitCondensed@64$kCTFontTraitExpanded@32$kCTFontTraitItalic@1$kCTFontTraitMonoSpace@1024$kCTFontTraitUIOptimized@4096$kCTFontTraitVertical@2048$kCTFontTransitionalSerifsClass@536870912$kCTFontUIFontAlertHeader@18$kCTFontUIFontApplication@9$kCTFontUIFontControlContent@26$kCTFontUIFontEmphasizedSystem@3$kCTFontUIFontEmphasizedSystemDetail@20$kCTFontUIFontLabel@10$kCTFontUIFontMenuItem@12$kCTFontUIFontMenuItemCmdKey@14$kCTFontUIFontMenuItemMark@13$kCTFontUIFontMenuTitle@11$kCTFontUIFontMessage@23$kCTFontUIFontMiniEmphasizedSystem@7$kCTFontUIFontMiniSystem@6$kCTFontUIFontNone@4294967295$kCTFontUIFontPalette@24$kCTFontUIFontPushButton@16$kCTFontUIFontSmallEmphasizedSystem@5$kCTFontUIFontSmallSystem@4$kCTFontUIFontSmallToolbar@22$kCTFontUIFontSystem@2$kCTFontUIFontSystemDetail@19$kCTFontUIFontToolTip@25$kCTFontUIFontToolbar@21$kCTFontUIFontUser@0$kCTFontUIFontUserFixedPitch@1$kCTFontUIFontUtilityWindowTitle@17$kCTFontUIFontViews@8$kCTFontUIFontWindowTitle@15$kCTFontUIOptimizedTrait@4096$kCTFontUnknownClass@0$kCTFontUserFixedPitchFontType@1$kCTFontUserFontType@0$kCTFontUtilityWindowTitleFontType@17$kCTFontVerticalOrientation@2$kCTFontVerticalTrait@2048$kCTFontViewsFontType@8$kCTFontWindowTitleFontType@15$kCTFramePathFillEvenOdd@0$kCTFramePathFillWindingNumber@1$kCTFrameProgressionLeftToRight@2$kCTFrameProgressionRightToLeft@1$kCTFrameProgressionTopToBottom@0$kCTIdentityMappingCharacterCollection@0$kCTJustifiedTextAlignment@3$kCTLeftTextAlignment@0$kCTLineBoundsExcludeTypographicLeading@1$kCTLineBoundsExcludeTypographicShifts@2$kCTLineBoundsIncludeLanguageExtents@32$kCTLineBoundsUseGlyphPathBounds@8$kCTLineBoundsUseHangingPunctuation@4$kCTLineBoundsUseOpticalBounds@16$kCTLineBreakByCharWrapping@1$kCTLineBreakByClipping@2$kCTLineBreakByTruncatingHead@3$kCTLineBreakByTruncatingMiddle@5$kCTLineBreakByTruncatingTail@4$kCTLineBreakByWordWrapping@0$kCTLineTruncationEnd@1$kCTLineTruncationMiddle@2$kCTLineTruncationStart@0$kCTNaturalTextAlignment@4$kCTParagraphStyleSpecifierAlignment@0$kCTParagraphStyleSpecifierBaseWritingDirection@13$kCTParagraphStyleSpecifierCount@18$kCTParagraphStyleSpecifierDefaultTabInterval@5$kCTParagraphStyleSpecifierFirstLineHeadIndent@1$kCTParagraphStyleSpecifierHeadIndent@2$kCTParagraphStyleSpecifierLineBoundsOptions@17$kCTParagraphStyleSpecifierLineBreakMode@6$kCTParagraphStyleSpecifierLineHeightMultiple@7$kCTParagraphStyleSpecifierLineSpacing@10$kCTParagraphStyleSpecifierLineSpacingAdjustment@16$kCTParagraphStyleSpecifierMaximumLineHeight@8$kCTParagraphStyleSpecifierMaximumLineSpacing@14$kCTParagraphStyleSpecifierMinimumLineHeight@9$kCTParagraphStyleSpecifierMinimumLineSpacing@15$kCTParagraphStyleSpecifierParagraphSpacing@11$kCTParagraphStyleSpecifierParagraphSpacingBefore@12$kCTParagraphStyleSpecifierTabStops@4$kCTParagraphStyleSpecifierTailIndent@3$kCTRightTextAlignment@1$kCTRubyAlignmentAuto@0$kCTRubyAlignmentCenter@2$kCTRubyAlignmentDistributeLetter@4$kCTRubyAlignmentDistributeSpace@5$kCTRubyAlignmentEnd@3$kCTRubyAlignmentInvalid@255$kCTRubyAlignmentLineEdge@6$kCTRubyAlignmentStart@1$kCTRubyOverhangAuto@0$kCTRubyOverhangEnd@2$kCTRubyOverhangInvalid@255$kCTRubyOverhangNone@3$kCTRubyOverhangStart@1$kCTRubyPositionAfter@1$kCTRubyPositionBefore@0$kCTRubyPositionCount@4$kCTRubyPositionInline@3$kCTRubyPositionInterCharacter@2$kCTRunDelegateCurrentVersion@1$kCTRunDelegateVersion1@1$kCTRunStatusHasNonIdentityMatrix@4$kCTRunStatusNoStatus@0$kCTRunStatusNonMonotonic@2$kCTRunStatusRightToLeft@1$kCTTextAlignmentCenter@2$kCTTextAlignmentJustified@3$kCTTextAlignmentLeft@0$kCTTextAlignmentNatural@4$kCTTextAlignmentRight@1$kCTUnderlinePatternDash@512$kCTUnderlinePatternDashDot@768$kCTUnderlinePatternDashDotDot@1024$kCTUnderlinePatternDot@256$kCTUnderlinePatternSolid@0$kCTUnderlineStyleDouble@9$kCTUnderlineStyleNone@0$kCTUnderlineStyleSingle@1$kCTUnderlineStyleThick@2$kCTVersionNumber10_10@458752$kCTVersionNumber10_11@524288$kCTVersionNumber10_12@589824$kCTVersionNumber10_13@655360$kCTVersionNumber10_14@720896$kCTVersionNumber10_15@786432$kCTVersionNumber10_5@131072$kCTVersionNumber10_5_2@131073$kCTVersionNumber10_5_3@131074$kCTVersionNumber10_5_5@131075$kCTVersionNumber10_6@196608$kCTVersionNumber10_7@262144$kCTVersionNumber10_8@327680$kCTVersionNumber10_9@393216$kCTVersionNumber11_0@851968$kCTWritingDirectionEmbedding@0$kCTWritingDirectionLeftToRight@0$kCTWritingDirectionNatural@-1$kCTWritingDirectionOverride@2$kCTWritingDirectionRightToLeft@1$kCanonicalCompositionOffSelector@1$kCanonicalCompositionOnSelector@0$kCaseSensitiveLayoutOffSelector@1$kCaseSensitiveLayoutOnSelector@0$kCaseSensitiveLayoutType@33$kCaseSensitiveSpacingOffSelector@3$kCaseSensitiveSpacingOnSelector@2$kCharacterAlternativesType@17$kCharacterShapeType@20$kCircleAnnotationSelector@3$kCommonLigaturesOffSelector@3$kCommonLigaturesOnSelector@2$kCompatibilityCompositionOffSelector@3$kCompatibilityCompositionOnSelector@2$kContextualAlternatesOffSelector@1$kContextualAlternatesOnSelector@0$kContextualAlternatesType@36$kContextualLigaturesOffSelector@19$kContextualLigaturesOnSelector@18$kContextualSwashAlternatesOffSelector@5$kContextualSwashAlternatesOnSelector@4$kCursiveConnectionType@2$kCursiveSelector@2$kDecomposeDiacriticsSelector@2$kDecorativeBordersSelector@4$kDefaultCJKRomanSelector@2$kDefaultLowerCaseSelector@0$kDefaultUpperCaseSelector@0$kDesignComplexityType@18$kDesignLevel1Selector@0$kDesignLevel2Selector@1$kDesignLevel3Selector@2$kDesignLevel4Selector@3$kDesignLevel5Selector@4$kDiacriticsType@9$kDiagonalFractionsSelector@2$kDiamondAnnotationSelector@8$kDingbatsSelector@1$kDiphthongLigaturesOffSelector@11$kDiphthongLigaturesOnSelector@10$kDisplayTextSelector@1$kEngravedTextSelector@2$kExpertCharactersSelector@10$kExponentsOffSelector@9$kExponentsOnSelector@8$kFleuronsSelector@3$kFontAlbanianLanguage@36$kFontAmharicLanguage@85$kFontAmharicScript@28$kFontArabicLanguage@12$kFontArabicScript@4$kFontArmenianLanguage@51$kFontArmenianScript@24$kFontAssameseLanguage@68$kFontAymaraLanguage@134$kFontAzerbaijanArLanguage@50$kFontAzerbaijaniLanguage@49$kFontBasqueLanguage@129$kFontBengaliLanguage@67$kFontBengaliScript@13$kFontBulgarianLanguage@44$kFontBurmeseLanguage@77$kFontBurmeseScript@19$kFontByelorussianLanguage@46$kFontCatalanLanguage@130$kFontChewaLanguage@92$kFontChineseScript@2$kFontCopyrightName@0$kFontCroatianLanguage@18$kFontCustom16BitScript@2$kFontCustom816BitScript@1$kFontCustom8BitScript@0$kFontCustomPlatform@4$kFontCyrillicScript@7$kFontCzechLanguage@38$kFontDanishLanguage@7$kFontDescriptionName@10$kFontDesignerName@9$kFontDesignerURLName@12$kFontDevanagariScript@9$kFontDutchLanguage@4$kFontDzongkhaLanguage@137$kFontEastEuropeanRomanScript@29$kFontEnglishLanguage@0$kFontEsperantoLanguage@94$kFontEstonianLanguage@27$kFontEthiopicScript@28$kFontExtendedArabicScript@31$kFontFaeroeseLanguage@30$kFontFamilyName@1$kFontFarsiLanguage@31$kFontFinnishLanguage@13$kFontFlemishLanguage@34$kFontFrenchLanguage@1$kFontFullName@4$kFontGallaLanguage@87$kFontGeezScript@28$kFontGeorgianLanguage@52$kFontGeorgianScript@23$kFontGermanLanguage@2$kFontGreekLanguage@14$kFontGreekScript@6$kFontGuaraniLanguage@133$kFontGujaratiLanguage@69$kFontGujaratiScript@11$kFontGurmukhiScript@10$kFontHebrewLanguage@10$kFontHebrewScript@5$kFontHindiLanguage@21$kFontHungarianLanguage@26$kFontISO10646_1993Semantics@2$kFontIcelandicLanguage@15$kFontIndonesianLanguage@81$kFontIrishLanguage@35$kFontItalianLanguage@3$kFontJapaneseLanguage@11$kFontJapaneseScript@1$kFontJavaneseRomLanguage@138$kFontKannadaLanguage@73$kFontKannadaScript@16$kFontKashmiriLanguage@61$kFontKazakhLanguage@48$kFontKhmerLanguage@78$kFontKhmerScript@20$kFontKirghizLanguage@54$kFontKoreanLanguage@23$kFontKoreanScript@3$kFontKurdishLanguage@60$kFontLaoLanguage@79$kFontLaotianScript@22$kFontLappishLanguage@29$kFontLastReservedName@255$kFontLatinLanguage@131$kFontLatvianLanguage@28$kFontLettishLanguage@28$kFontLicenseDescriptionName@13$kFontLicenseInfoURLName@14$kFontLithuanianLanguage@24$kFontMacCompatibleFullName@18$kFontMacedonianLanguage@43$kFontMacintoshPlatform@1$kFontMalagasyLanguage@93$kFontMalayArabicLanguage@84$kFontMalayRomanLanguage@83$kFontMalayalamLanguage@72$kFontMalayalamScript@17$kFontMalteseLanguage@16$kFontManufacturerName@8$kFontMarathiLanguage@66$kFontMicrosoftPlatform@3$kFontMicrosoftStandardScript@1$kFontMicrosoftSymbolScript@0$kFontMicrosoftUCS4Script@10$kFontMoldavianLanguage@53$kFontMongolianCyrLanguage@58$kFontMongolianLanguage@57$kFontMongolianScript@27$kFontNepaliLanguage@64$kFontNoLanguageCode@4294967295$kFontNoNameCode@4294967295$kFontNoPlatformCode@4294967295$kFontNoScriptCode@4294967295$kFontNorwegianLanguage@9$kFontOriyaLanguage@71$kFontOriyaScript@12$kFontOromoLanguage@87$kFontPashtoLanguage@59$kFontPersianLanguage@31$kFontPolishLanguage@25$kFontPortugueseLanguage@8$kFontPostScriptCIDName@20$kFontPostscriptName@6$kFontPreferredFamilyName@16$kFontPreferredSubfamilyName@17$kFontPunjabiLanguage@70$kFontQuechuaLanguage@132$kFontRSymbolScript@8$kFontReservedPlatform@2$kFontRomanScript@0$kFontRomanianLanguage@37$kFontRuandaLanguage@90$kFontRundiLanguage@91$kFontRussian@7$kFontRussianLanguage@32$kFontSaamiskLanguage@29$kFontSampleTextName@19$kFontSanskritLanguage@65$kFontSerbianLanguage@42$kFontSimpChineseLanguage@33$kFontSimpleChineseScript@25$kFontSindhiLanguage@62$kFontSindhiScript@31$kFontSinhaleseLanguage@76$kFontSinhaleseScript@18$kFontSlavicScript@29$kFontSlovakLanguage@39$kFontSlovenianLanguage@40$kFontSomaliLanguage@88$kFontSpanishLanguage@6$kFontStyleName@2$kFontSundaneseRomLanguage@139$kFontSwahiliLanguage@89$kFontSwedishLanguage@5$kFontTagalogLanguage@82$kFontTajikiLanguage@55$kFontTamilLanguage@74$kFontTamilScript@14$kFontTatarLanguage@135$kFontTeluguLanguage@75$kFontTeluguScript@15$kFontThaiLanguage@22$kFontThaiScript@21$kFontTibetanLanguage@63$kFontTibetanScript@26$kFontTigrinyaLanguage@86$kFontTradChineseLanguage@19$kFontTrademarkName@7$kFontTraditionalChineseScript@2$kFontTurkishLanguage@17$kFontTurkmenLanguage@56$kFontUighurLanguage@136$kFontUkrainianLanguage@45$kFontUnicodeDefaultSemantics@0$kFontUnicodePlatform@0$kFontUnicodeV1_1Semantics@1$kFontUnicodeV2_0BMPOnlySemantics@3$kFontUnicodeV2_0FullCoverageSemantics@4$kFontUnicodeV4_0VariationSequenceSemantics@5$kFontUnicode_FullRepertoire@6$kFontUninterpretedScript@32$kFontUniqueName@3$kFontUrduLanguage@20$kFontUzbekLanguage@47$kFontVendorURLName@11$kFontVersionName@5$kFontVietnameseLanguage@80$kFontVietnameseScript@30$kFontWelshLanguage@128$kFontYiddishLanguage@41$kFormInterrobangOffSelector@7$kFormInterrobangOnSelector@6$kFractionsType@11$kFullWidthCJKRomanSelector@3$kFullWidthIdeographsSelector@0$kFullWidthKanaSelector@0$kHalfWidthCJKRomanSelector@0$kHalfWidthIdeographsSelector@2$kHalfWidthTextSelector@2$kHanjaToHangulAltOneSelector@7$kHanjaToHangulAltThreeSelector@9$kHanjaToHangulAltTwoSelector@8$kHanjaToHangulSelector@1$kHideDiacriticsSelector@1$kHiraganaToKatakanaSelector@2$kHistoricalLigaturesOffSelector@21$kHistoricalLigaturesOnSelector@20$kHojoCharactersSelector@12$kHyphenToEnDashOffSelector@3$kHyphenToEnDashOnSelector@2$kHyphenToMinusOffSelector@1$kHyphenToMinusOnSelector@0$kHyphensToEmDashOffSelector@1$kHyphensToEmDashOnSelector@0$kIdeographicAltFiveSelector@5$kIdeographicAltFourSelector@4$kIdeographicAltOneSelector@1$kIdeographicAltThreeSelector@3$kIdeographicAltTwoSelector@2$kIdeographicAlternativesType@30$kIdeographicSpacingType@26$kIlluminatedCapsSelector@3$kInequalityLigaturesOffSelector@7$kInequalityLigaturesOnSelector@6$kInferiorsSelector@2$kInitialCapsAndSmallCapsSelector@5$kInitialCapsSelector@4$kInternationalSymbolsSelector@5$kInvertedBoxAnnotationSelector@9$kInvertedCircleAnnotationSelector@4$kInvertedRoundedBoxAnnotationSelector@10$kItalicCJKRomanType@32$kJIS1978CharactersSelector@2$kJIS1983CharactersSelector@3$kJIS1990CharactersSelector@4$kJIS2004CharactersSelector@11$kJUSTCurrentVersion@65536$kJUSTKashidaPriority@0$kJUSTLetterPriority@2$kJUSTNullPriority@3$kJUSTOverrideLimits@16384$kJUSTOverridePriority@32768$kJUSTOverrideUnlimited@8192$kJUSTPriorityCount@4$kJUSTPriorityMask@3$kJUSTSpacePriority@1$kJUSTStandardFormat@0$kJUSTTag@1786082164$kJUSTUnlimited@4096$kJUSTnoGlyphcode@65535$kJUSTpcConditionalAddAction@2$kJUSTpcDecompositionAction@0$kJUSTpcDuctilityAction@4$kJUSTpcGlyphRepeatAddAction@5$kJUSTpcGlyphStretchAction@3$kJUSTpcUnconditionalAddAction@1$kKERNCrossStream@16384$kKERNCrossStreamResetNote@2$kKERNCurrentVersion@65536$kKERNFormatMask@255$kKERNIndexArray@3$kKERNLineEndKerning@2$kKERNLineStart@1$kKERNNoCrossKerning@4$kKERNNoStakeNote@1$kKERNNotApplied@1$kKERNNotesRequested@8$kKERNOrderedList@0$kKERNResetCrossStream@32768$kKERNSimpleArray@2$kKERNStateTable@1$kKERNTag@1801810542$kKERNUnusedBits@7936$kKERNVariation@8192$kKERNVertical@32768$kKERXActionOffsetMask@16777215$kKERXActionTypeAnchorPoints@1073741824$kKERXActionTypeControlPoints@0$kKERXActionTypeCoordinates@2147483648$kKERXActionTypeMask@3221225472$kKERXControlPoint@4$kKERXCrossStream@1073741824$kKERXCrossStreamResetNote@2$kKERXCurrentVersion@131072$kKERXDescending@268435456$kKERXFormatMask@255$kKERXLineEndKerning@2$kKERXLineStart@1$kKERXNoCrossKerning@4$kKERXNoStakeNote@1$kKERXNotApplied@1$kKERXNotesRequested@8$kKERXOrderedList@0$kKERXResetCrossStream@32768$kKERXSimpleArray@2$kKERXStateTable@1$kKERXTag@1801810552$kKERXUnusedBits@268435200$kKERXUnusedFlags@1056964608$kKERXValuesAreLong@1$kKERXVariation@536870912$kKERXVertical@-2147483648$kKanaSpacingType@25$kKanaToRomanizationSelector@4$kKatakanaToHiraganaSelector@3$kLCARCtlPointFormat@1$kLCARCurrentVersion@65536$kLCARLinearFormat@0$kLCARTag@1818452338$kLTAGCurrentVersion@1$kLanguageTagType@39$kLastFeatureType@-1$kLetterCaseType@3$kLigaturesType@1$kLineFinalSwashesOffSelector@7$kLineFinalSwashesOnSelector@6$kLineInitialSwashesOffSelector@5$kLineInitialSwashesOnSelector@4$kLinguisticRearrangementOffSelector@1$kLinguisticRearrangementOnSelector@0$kLinguisticRearrangementType@5$kLogosOffSelector@7$kLogosOnSelector@6$kLowerCaseNumbersSelector@0$kLowerCasePetiteCapsSelector@2$kLowerCaseSmallCapsSelector@1$kLowerCaseType@37$kMORTContextualType@1$kMORTCoverDescending@16384$kMORTCoverIgnoreVertical@8192$kMORTCoverTypeMask@15$kMORTCoverVertical@32768$kMORTCurrInsertBefore@2048$kMORTCurrInsertCountMask@992$kMORTCurrInsertCountShift@5$kMORTCurrInsertKashidaLike@8192$kMORTCurrJustTableCountMask@127$kMORTCurrJustTableCountShift@0$kMORTCurrentVersion@65536$kMORTDoInsertionsBefore@128$kMORTInsertionType@5$kMORTInsertionsCountMask@63$kMORTIsSplitVowelPiece@64$kMORTLigFormOffsetMask@1073741823$kMORTLigFormOffsetShift@2$kMORTLigLastAction@-2147483648$kMORTLigStoreLigature@1073741824$kMORTLigatureType@2$kMORTMarkInsertBefore@1024$kMORTMarkInsertCountMask@31$kMORTMarkInsertCountShift@0$kMORTMarkInsertKashidaLike@4096$kMORTMarkJustTableCountMask@16256$kMORTMarkJustTableCountShift@7$kMORTRearrangementType@0$kMORTSwashType@4$kMORTTag@1836020340$kMORTraCDx@6$kMORTraCDxA@8$kMORTraCDxAB@12$kMORTraCDxBA@13$kMORTraDCx@7$kMORTraDCxA@9$kMORTraDCxAB@14$kMORTraDCxBA@15$kMORTraDx@2$kMORTraDxA@3$kMORTraDxAB@10$kMORTraDxBA@11$kMORTraNoAction@0$kMORTraxA@1$kMORTraxAB@4$kMORTraxBA@5$kMORXCoverDescending@1073741824$kMORXCoverIgnoreVertical@536870912$kMORXCoverLogicalOrder@268435456$kMORXCoverTypeMask@255$kMORXCoverVertical@-2147483648$kMORXCurrentVersion@131072$kMORXTag@1836020344$kMathSymbolsSelector@6$kMathematicalExtrasType@15$kMathematicalGreekOffSelector@11$kMathematicalGreekOnSelector@10$kMonospacedNumbersSelector@0$kMonospacedTextSelector@1$kNLCCharactersSelector@13$kNoAlternatesSelector@0$kNoAnnotationSelector@0$kNoCJKItalicRomanSelector@0$kNoCJKSymbolAlternativesSelector@0$kNoFractionsSelector@0$kNoIdeographicAlternativesSelector@0$kNoOrnamentsSelector@0$kNoRubyKanaSelector@0$kNoStyleOptionsSelector@0$kNoStylisticAlternatesSelector@0$kNoTransliterationSelector@0$kNonFinalSwashesOffSelector@9$kNonFinalSwashesOnSelector@8$kNormalPositionSelector@0$kNumberCaseType@21$kNumberSpacingType@6$kOPBDControlPointFormat@1$kOPBDCurrentVersion@65536$kOPBDDistanceFormat@0$kOPBDTag@1869636196$kOrdinalsSelector@3$kOrnamentSetsType@16$kOverlappingCharactersType@13$kPROPALDirectionClass@2$kPROPANDirectionClass@6$kPROPBNDirectionClass@19$kPROPCSDirectionClass@7$kPROPCanHangLTMask@16384$kPROPCanHangRBMask@8192$kPROPCurrentVersion@196608$kPROPDirectionMask@31$kPROPENDirectionClass@3$kPROPESDirectionClass@4$kPROPETDirectionClass@5$kPROPIsFloaterMask@32768$kPROPLDirectionClass@0$kPROPLREDirectionClass@13$kPROPLRODirectionClass@14$kPROPNSMDirectionClass@18$kPROPNumDirectionClasses@20$kPROPONDirectionClass@11$kPROPPDFDirectionClass@17$kPROPPSDirectionClass@8$kPROPPairOffsetMask@3840$kPROPPairOffsetShift@8$kPROPPairOffsetSign@7$kPROPRDirectionClass@1$kPROPRLEDirectionClass@15$kPROPRLODirectionClass@16$kPROPRightConnectMask@128$kPROPSDirectionClass@9$kPROPSENDirectionClass@12$kPROPTag@1886547824$kPROPUseRLPairMask@4096$kPROPWSDirectionClass@10$kPROPZeroReserved@96$kParenthesisAnnotationSelector@5$kPartiallyConnectedSelector@1$kPeriodAnnotationSelector@6$kPeriodsToEllipsisOffSelector@11$kPeriodsToEllipsisOnSelector@10$kPiCharactersSelector@2$kPreventOverlapOffSelector@1$kPreventOverlapOnSelector@0$kProportionalCJKRomanSelector@1$kProportionalIdeographsSelector@1$kProportionalKanaSelector@1$kProportionalNumbersSelector@1$kProportionalTextSelector@0$kQuarterWidthNumbersSelector@3$kQuarterWidthTextSelector@4$kRareLigaturesOffSelector@5$kRareLigaturesOnSelector@4$kRebusPicturesOffSelector@9$kRebusPicturesOnSelector@8$kRequiredLigaturesOffSelector@1$kRequiredLigaturesOnSelector@0$kRomanNumeralAnnotationSelector@7$kRomanizationToHiraganaSelector@5$kRomanizationToKatakanaSelector@6$kRoundedBoxAnnotationSelector@2$kRubyKanaOffSelector@3$kRubyKanaOnSelector@2$kRubyKanaSelector@1$kRubyKanaType@28$kSFNTLookupSegmentArray@4$kSFNTLookupSegmentSingle@2$kSFNTLookupSimpleArray@0$kSFNTLookupSingleTable@6$kSFNTLookupTrimmedArray@8$kSFNTLookupVector@10$kSTClassDeletedGlyph@2$kSTClassEndOfLine@3$kSTClassEndOfText@0$kSTClassOutOfBounds@1$kSTKCrossStreamReset@8192$kSTLigActionMask@16383$kSTMarkEnd@8192$kSTNoAdvance@16384$kSTRearrVerbMask@15$kSTSetMark@32768$kSTXHasLigAction@8192$kScientificInferiorsSelector@4$kShowDiacriticsSelector@0$kSimplifiedCharactersSelector@1$kSlashToDivideOffSelector@5$kSlashToDivideOnSelector@4$kSlashedZeroOffSelector@5$kSlashedZeroOnSelector@4$kSmallCapsSelector@3$kSmartQuotesOffSelector@9$kSmartQuotesOnSelector@8$kSmartSwashType@8$kSquaredLigaturesOffSelector@13$kSquaredLigaturesOnSelector@12$kStyleOptionsType@19$kStylisticAltEightOffSelector@17$kStylisticAltEightOnSelector@16$kStylisticAltEighteenOffSelector@37$kStylisticAltEighteenOnSelector@36$kStylisticAltElevenOffSelector@23$kStylisticAltElevenOnSelector@22$kStylisticAltFifteenOffSelector@31$kStylisticAltFifteenOnSelector@30$kStylisticAltFiveOffSelector@11$kStylisticAltFiveOnSelector@10$kStylisticAltFourOffSelector@9$kStylisticAltFourOnSelector@8$kStylisticAltFourteenOffSelector@29$kStylisticAltFourteenOnSelector@28$kStylisticAltNineOffSelector@19$kStylisticAltNineOnSelector@18$kStylisticAltNineteenOffSelector@39$kStylisticAltNineteenOnSelector@38$kStylisticAltOneOffSelector@3$kStylisticAltOneOnSelector@2$kStylisticAltSevenOffSelector@15$kStylisticAltSevenOnSelector@14$kStylisticAltSeventeenOffSelector@35$kStylisticAltSeventeenOnSelector@34$kStylisticAltSixOffSelector@13$kStylisticAltSixOnSelector@12$kStylisticAltSixteenOffSelector@33$kStylisticAltSixteenOnSelector@32$kStylisticAltTenOffSelector@21$kStylisticAltTenOnSelector@20$kStylisticAltThirteenOffSelector@27$kStylisticAltThirteenOnSelector@26$kStylisticAltThreeOffSelector@7$kStylisticAltThreeOnSelector@6$kStylisticAltTwelveOffSelector@25$kStylisticAltTwelveOnSelector@24$kStylisticAltTwentyOffSelector@41$kStylisticAltTwentyOnSelector@40$kStylisticAltTwoOffSelector@5$kStylisticAltTwoOnSelector@4$kStylisticAlternativesType@35$kSubstituteVerticalFormsOffSelector@1$kSubstituteVerticalFormsOnSelector@0$kSuperiorsSelector@1$kSwashAlternatesOffSelector@3$kSwashAlternatesOnSelector@2$kSymbolLigaturesOffSelector@17$kSymbolLigaturesOnSelector@16$kTRAKCurrentVersion@65536$kTRAKTag@1953653099$kTRAKUniformFormat@0$kTallCapsSelector@5$kTextSpacingType@22$kThirdWidthNumbersSelector@2$kThirdWidthTextSelector@3$kTitlingCapsSelector@4$kTraditionalAltFiveSelector@9$kTraditionalAltFourSelector@8$kTraditionalAltOneSelector@5$kTraditionalAltThreeSelector@7$kTraditionalAltTwoSelector@6$kTraditionalCharactersSelector@0$kTraditionalNamesCharactersSelector@14$kTranscodingCompositionOffSelector@5$kTranscodingCompositionOnSelector@4$kTransliterationType@23$kTypographicExtrasType@14$kUnconnectedSelector@0$kUnicodeDecompositionType@27$kUpperAndLowerCaseSelector@0$kUpperCaseNumbersSelector@1$kUpperCasePetiteCapsSelector@2$kUpperCaseSmallCapsSelector@1$kUpperCaseType@38$kVerticalFractionsSelector@1$kVerticalPositionType@10$kVerticalSubstitutionType@4$kWordFinalSwashesOffSelector@3$kWordFinalSwashesOnSelector@2$kWordInitialSwashesOffSelector@1$kWordInitialSwashesOnSelector@0$nameFontTableTag@1851878757$nonGlyphID@65535$os2FontTableTag@1330851634$sizeof_sfntCMapEncoding@8$sizeof_sfntCMapExtendedSubHeader@12$sizeof_sfntCMapHeader@4$sizeof_sfntCMapSubHeader@6$sizeof_sfntDescriptorHeader@8$sizeof_sfntDirectory@12$sizeof_sfntInstance@4$sizeof_sfntNameHeader@6$sizeof_sfntNameRecord@12$sizeof_sfntVariationAxis@20$sizeof_sfntVariationHeader@16$variationFontTableTag@1719034226$"""
161
161
  misc.update(
162
162
  {
@@ -244,8 +244,8 @@ functions = {
244
244
  "",
245
245
  {
246
246
  "arguments": {
247
- 1: {"c_array_length_in_arg": 3, "type_modifier": "n"},
248
- 2: {"c_array_length_in_arg": 3, "type_modifier": "o"},
247
+ 1: {"type_modifier": "n", "c_array_length_in_arg": 3},
248
+ 2: {"type_modifier": "o", "c_array_length_in_arg": 3},
249
249
  }
250
250
  },
251
251
  ),
@@ -266,9 +266,9 @@ functions = {
266
266
  {
267
267
  "arguments": {
268
268
  2: {
269
+ "null_accepted": True,
269
270
  "already_cfretained": True,
270
271
  "type_modifier": "o",
271
- "null_accepted": True,
272
272
  }
273
273
  }
274
274
  },
@@ -323,9 +323,9 @@ functions = {
323
323
  "callable": {
324
324
  "retval": {"type": b"B"},
325
325
  "arguments": {
326
- 0: {"type": "^v"},
327
- 1: {"type": "I"},
328
- 2: {"type": "@"},
326
+ 0: {"type": b"^v"},
327
+ 1: {"type": b"I"},
328
+ 2: {"type": b"@"},
329
329
  },
330
330
  }
331
331
  }
@@ -401,9 +401,9 @@ functions = {
401
401
  {
402
402
  "arguments": {
403
403
  1: {
404
+ "null_accepted": True,
404
405
  "already_cfretained": True,
405
406
  "type_modifier": "o",
406
- "null_accepted": True,
407
407
  }
408
408
  }
409
409
  },
@@ -482,8 +482,8 @@ functions = {
482
482
  "",
483
483
  {
484
484
  "arguments": {
485
- 1: {"c_array_length_in_arg": 3, "type_modifier": "n"},
486
- 2: {"c_array_length_in_arg": 3, "type_modifier": "o"},
485
+ 1: {"type_modifier": "n", "c_array_length_in_arg": 3},
486
+ 2: {"type_modifier": "o", "c_array_length_in_arg": 3},
487
487
  }
488
488
  },
489
489
  ),
@@ -519,8 +519,8 @@ functions = {
519
519
  "",
520
520
  {
521
521
  "arguments": {
522
- 1: {"c_array_length_in_arg": 3, "type_modifier": "n"},
523
- 2: {"c_array_length_in_arg": 3, "type_modifier": "o"},
522
+ 1: {"type_modifier": "n", "c_array_length_in_arg": 3},
523
+ 2: {"type_modifier": "o", "c_array_length_in_arg": 3},
524
524
  }
525
525
  },
526
526
  ),
@@ -582,7 +582,7 @@ functions = {
582
582
  "",
583
583
  {
584
584
  "retval": {"already_cfretained": True},
585
- "arguments": {0: {"c_array_length_in_arg": 1, "type_modifier": "n"}},
585
+ "arguments": {0: {"type_modifier": "n", "c_array_length_in_arg": 1}},
586
586
  },
587
587
  ),
588
588
  "CTRunGetImageBounds": (
@@ -661,8 +661,8 @@ functions = {
661
661
  "",
662
662
  {
663
663
  "arguments": {
664
- 2: {"c_array_length_in_arg": 4, "type_modifier": "n"},
665
- 3: {"c_array_length_in_arg": 4, "type_modifier": "o"},
664
+ 2: {"type_modifier": "n", "c_array_length_in_arg": 4},
665
+ 3: {"type_modifier": "o", "c_array_length_in_arg": 4},
666
666
  }
667
667
  },
668
668
  ),
@@ -692,8 +692,8 @@ functions = {
692
692
  "",
693
693
  {
694
694
  "arguments": {
695
- 2: {"c_array_length_in_arg": 4, "type_modifier": "n"},
696
- 3: {"c_array_length_in_arg": 4, "type_modifier": "o"},
695
+ 2: {"type_modifier": "n", "c_array_length_in_arg": 4},
696
+ 3: {"type_modifier": "o", "c_array_length_in_arg": 4},
697
697
  }
698
698
  },
699
699
  ),
@@ -722,9 +722,9 @@ functions = {
722
722
  {
723
723
  "arguments": {
724
724
  1: {
725
+ "null_accepted": True,
725
726
  "already_cfretained": True,
726
727
  "type_modifier": "o",
727
- "null_accepted": True,
728
728
  }
729
729
  }
730
730
  },
@@ -734,6 +734,7 @@ functions = {
734
734
  "",
735
735
  {"retval": {"already_cfretained": True}},
736
736
  ),
737
+ "CTFontGetUIFontType": (b"I^{__CTFont=}",),
737
738
  "CTTypesetterSuggestClusterBreakWithOffset": (b"q^{__CTTypesetter=}qdd",),
738
739
  "CTRunGetTypeID": (b"Q",),
739
740
  "CTRubyAnnotationGetTextForPosition": (b"^{__CFString=}^{__CTRubyAnnotation=}C",),
@@ -760,9 +761,9 @@ functions = {
760
761
  {
761
762
  "arguments": {
762
763
  2: {
764
+ "null_accepted": True,
763
765
  "already_cfretained": True,
764
766
  "type_modifier": "o",
765
- "null_accepted": True,
766
767
  }
767
768
  }
768
769
  },
@@ -792,7 +793,7 @@ functions = {
792
793
  "CTRunGetAdvances": (
793
794
  b"v^{__CTRun=}{CFRange=qq}^{CGSize=dd}",
794
795
  "",
795
- {"arguments": {2: {"c_array_length_in_arg": 1, "type_modifier": "o"}}},
796
+ {"arguments": {2: {"type_modifier": "o", "c_array_length_in_arg": 1}}},
796
797
  ),
797
798
  "CTFontCollectionCreateMatchingFontDescriptorsSortedWithCallback": (
798
799
  b"^{__CFArray=}^{__CTFontCollection=}^?@",
@@ -822,7 +823,7 @@ functions = {
822
823
  "CTParagraphStyleGetValueForSpecifier": (
823
824
  b"B^{__CTParagraphStyle=}IQ^v",
824
825
  "",
825
- {"arguments": {3: {"c_array_length_in_arg": 2, "type_modifier": "o"}}},
826
+ {"arguments": {3: {"type_modifier": "o", "c_array_length_in_arg": 2}}},
826
827
  ),
827
828
  "CTTextTabGetOptions": (b"^{__CFDictionary=}^{__CTTextTab=}",),
828
829
  "CTLineGetOffsetForStringIndex": (
@@ -950,7 +951,7 @@ functions = {
950
951
  "CTFrameGetLineOrigins": (
951
952
  b"v^{__CTFrame=}{CFRange=qq}^{CGPoint=dd}",
952
953
  "",
953
- {"arguments": {2: {"c_array_length_in_arg": 1, "type_modifier": "o"}}},
954
+ {"arguments": {2: {"type_modifier": "o", "c_array_length_in_arg": 1}}},
954
955
  ),
955
956
  "CTFontCreateWithName": (
956
957
  b"^{__CTFont=}^{__CFString=}d^{CGAffineTransform=dddddd}",
@@ -989,7 +990,7 @@ functions = {
989
990
  "CTRunGetPositions": (
990
991
  b"v^{__CTRun=}{CFRange=qq}^{CGPoint=dd}",
991
992
  "",
992
- {"arguments": {2: {"c_array_length_in_arg": 1, "type_modifier": "o"}}},
993
+ {"arguments": {2: {"type_modifier": "o", "c_array_length_in_arg": 1}}},
993
994
  ),
994
995
  "CTFontDescriptorCreateCopyWithVariation": (
995
996
  b"^{__CTFontDescriptor=}^{__CTFontDescriptor=}^{__CFNumber=}d",
@@ -1037,7 +1038,7 @@ functions = {
1037
1038
  "CTRunGetGlyphs": (
1038
1039
  b"v^{__CTRun=}{CFRange=qq}^S",
1039
1040
  "",
1040
- {"arguments": {2: {"c_array_length_in_arg": 1, "type_modifier": "o"}}},
1041
+ {"arguments": {2: {"type_modifier": "o", "c_array_length_in_arg": 1}}},
1041
1042
  ),
1042
1043
  "CTFontCollectionCreateWithFontDescriptors": (
1043
1044
  b"^{__CTFontCollection=}^{__CFArray=}^{__CFDictionary=}",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyobjc-framework-CoreText
3
- Version: 12.0
3
+ Version: 12.2
4
4
  Summary: Wrappers for the framework CoreText on macOS
5
5
  Home-page: https://github.com/ronaldoussoren/pyobjc
6
6
  Author: Ronald Oussoren
@@ -17,7 +17,6 @@ Classifier: Operating System :: MacOS :: MacOS X
17
17
  Classifier: Programming Language :: Python
18
18
  Classifier: Programming Language :: Python :: 3
19
19
  Classifier: Programming Language :: Python :: 3 :: Only
20
- Classifier: Programming Language :: Python :: 3.9
21
20
  Classifier: Programming Language :: Python :: 3.10
22
21
  Classifier: Programming Language :: Python :: 3.11
23
22
  Classifier: Programming Language :: Python :: 3.12
@@ -25,16 +24,16 @@ Classifier: Programming Language :: Python :: 3.13
25
24
  Classifier: Programming Language :: Python :: 3.14
26
25
  Classifier: Programming Language :: Python :: 3.15
27
26
  Classifier: Programming Language :: Python :: Implementation :: CPython
28
- Classifier: Programming Language :: Python :: Free Threading :: 2 - Beta
27
+ Classifier: Programming Language :: Python :: Free Threading :: 3 - Stable
29
28
  Classifier: Programming Language :: Objective C
30
29
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
31
30
  Classifier: Topic :: Software Development :: User Interfaces
32
- Requires-Python: >=3.9
31
+ Requires-Python: >=3.10
33
32
  Description-Content-Type: text/x-rst; charset=UTF-8
34
33
  License-File: LICENSE.txt
35
- Requires-Dist: pyobjc-core>=12.0
36
- Requires-Dist: pyobjc-framework-Cocoa>=12.0
37
- Requires-Dist: pyobjc-framework-Quartz>=12.0
34
+ Requires-Dist: pyobjc-core>=12.2
35
+ Requires-Dist: pyobjc-framework-Cocoa>=12.2
36
+ Requires-Dist: pyobjc-framework-Quartz>=12.2
38
37
  Dynamic: author
39
38
  Dynamic: author-email
40
39
  Dynamic: classifier
@@ -37,5 +37,5 @@ PyObjCTest/test_cttexttab.py
37
37
  PyObjCTest/test_cttypesetter.py
38
38
  metadata/CoreText.fwinfo
39
39
  metadata/metadata.ini
40
- metadata/raw/arm64-26.0.fwinfo
41
- metadata/raw/x86_64-26.0.fwinfo
40
+ metadata/raw/arm64-26.5.fwinfo
41
+ metadata/raw/x86_64-26.5.fwinfo
@@ -0,0 +1,3 @@
1
+ macOS 26.5 (25F71)
2
+ Apple clang version 21.0.0 (clang-2100.1.1.101)
3
+ SDK: macOS 26.5
@@ -0,0 +1,3 @@
1
+ pyobjc-core>=12.2
2
+ pyobjc-framework-Cocoa>=12.2
3
+ pyobjc-framework-Quartz>=12.2
@@ -22,12 +22,14 @@ NS_ASSUME_NONNULL_BEGIN
22
22
  * Start of compiler definitions
23
23
  *
24
24
  */
25
+ #if 0
25
26
  #ifndef __has_feature
26
27
  #define __has_feature(x) 0
27
28
  #endif
28
29
  #ifndef __has_extension
29
30
  #define __has_extension(x) __has_feature(x)
30
31
  #endif
32
+ #endif
31
33
 
32
34
  #if __has_extension(c_static_assert)
33
35
  #define STATIC_ASSERT(test, message) _Static_assert(test, message)
@@ -55,46 +57,10 @@ NS_ASSUME_NONNULL_BEGIN
55
57
  /*
56
58
  *
57
59
  * Start of compiler support helpers
58
- *
59
- * XXX: Are these needed?
60
60
  */
61
61
 
62
- #ifdef __GNUC__
63
62
  #define unlikely(x) __builtin_expect(!!(x), 0)
64
63
  #define likely(x) __builtin_expect(!!(x), 1)
65
- #else
66
- #define likely(x) x
67
- #define likely(x) x
68
- #endif
69
-
70
- /* On some versions of GCC <limits.h> defines LONG_LONG_MAX but not LLONG_MAX, compensate.
71
- */
72
- #ifndef LLONG_MIN
73
- #ifdef LONG_LONG_MIN
74
- #define LLONG_MIN LONG_LONG_MIN
75
- #define LLONG_MAX LONG_LONG_MAX
76
- #define ULLONG_MAX ULONG_LONG_MAX
77
- #endif
78
- #endif
79
-
80
- /*
81
- *
82
- * End of compiler support helpers
83
- *
84
- * XXX: These two are no longer needed, all supported platforms
85
- * are 64-bit
86
- */
87
-
88
- #if __LP64__
89
- #define Py_ARG_NSInteger "l"
90
- #define Py_ARG_NSUInteger "k"
91
- #else
92
- #define Py_ARG_NSInteger "i"
93
- #define Py_ARG_NSUInteger "I"
94
- #endif
95
-
96
- #define PyObjC__STR(x) #x
97
- #define PyObjC_STR(x) PyObjC__STR(x)
98
64
 
99
65
  /*
100
66
  *
@@ -131,20 +97,6 @@ NS_ASSUME_NONNULL_BEGIN
131
97
 
132
98
  extern int PyObjC_Cmp(PyObject* o1, PyObject* o2, int* result);
133
99
 
134
- /*
135
- * A micro optimization: when using Python 3.3 or later it
136
- * is possible to access a 'char*' with an ASCII representation
137
- * of a unicode object without first converting it to a bytes
138
- * string (if the string can be encoded as ASCII in the first
139
- * place.
140
- *
141
- * This slightly reduces the object allocation rate during
142
- * attribute access.
143
- *
144
- * XXX: Use PyUnicode_AsUTF8 instead.
145
- */
146
- extern const char* _Nullable PyObjC_Unicode_Fast_Bytes(PyObject* object);
147
-
148
100
  #ifdef __clang__
149
101
 
150
102
  #ifndef Py_LIMITED_API
@@ -286,6 +238,23 @@ static inline PyObject* _Nullable PyList_GetItemRef(PyObject* l, Py_ssize_t i)
286
238
  Py_XINCREF(result);
287
239
  return result;
288
240
  }
241
+
242
+ static inline int
243
+ PyDict_SetDefaultRef(PyObject* p, PyObject* key, PyObject* default_value,
244
+ PyObject* _Nonnull* _Nullable result)
245
+ {
246
+ *result = PyDict_SetDefault(p, key, default_value);
247
+ if (*result == NULL) {
248
+ return -1;
249
+ }
250
+ Py_INCREF(*result);
251
+
252
+ /* This does not follow the spec, should return 1 when the key was already
253
+ * in the dict. That part of the API is not used in PyObjC though.
254
+ */
255
+ return 0;
256
+ }
257
+
289
258
  #endif
290
259
 
291
260
  #if PY_VERSION_HEX < 0x030c0000
@@ -392,6 +361,11 @@ PyUnstable_TryIncRef(PyObject* op __attribute__((__unused__)))
392
361
  }
393
362
  #endif
394
363
 
364
+ #if PY_VERSION_HEX < 0x030f00a7
365
+ #define PyAnyDict_CheckExact PyDict_CheckExact
366
+ #define PyAnyDict_Check PyDict_Check
367
+ #endif
368
+
395
369
  NS_ASSUME_NONNULL_END
396
370
 
397
371
  #endif /* PyObjC_COMPAT_H */
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyobjc-framework-CoreText
3
- Version: 12.0
3
+ Version: 12.2
4
4
  Summary: Wrappers for the framework CoreText on macOS
5
5
  Home-page: https://github.com/ronaldoussoren/pyobjc
6
6
  Author: Ronald Oussoren
@@ -17,7 +17,6 @@ Classifier: Operating System :: MacOS :: MacOS X
17
17
  Classifier: Programming Language :: Python
18
18
  Classifier: Programming Language :: Python :: 3
19
19
  Classifier: Programming Language :: Python :: 3 :: Only
20
- Classifier: Programming Language :: Python :: 3.9
21
20
  Classifier: Programming Language :: Python :: 3.10
22
21
  Classifier: Programming Language :: Python :: 3.11
23
22
  Classifier: Programming Language :: Python :: 3.12
@@ -25,16 +24,16 @@ Classifier: Programming Language :: Python :: 3.13
25
24
  Classifier: Programming Language :: Python :: 3.14
26
25
  Classifier: Programming Language :: Python :: 3.15
27
26
  Classifier: Programming Language :: Python :: Implementation :: CPython
28
- Classifier: Programming Language :: Python :: Free Threading :: 2 - Beta
27
+ Classifier: Programming Language :: Python :: Free Threading :: 3 - Stable
29
28
  Classifier: Programming Language :: Objective C
30
29
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
31
30
  Classifier: Topic :: Software Development :: User Interfaces
32
- Requires-Python: >=3.9
31
+ Requires-Python: >=3.10
33
32
  Description-Content-Type: text/x-rst; charset=UTF-8
34
33
  License-File: LICENSE.txt
35
- Requires-Dist: pyobjc-core>=12.0
36
- Requires-Dist: pyobjc-framework-Cocoa>=12.0
37
- Requires-Dist: pyobjc-framework-Quartz>=12.0
34
+ Requires-Dist: pyobjc-core>=12.2
35
+ Requires-Dist: pyobjc-framework-Cocoa>=12.2
36
+ Requires-Dist: pyobjc-framework-Quartz>=12.2
38
37
  Dynamic: author
39
38
  Dynamic: author-email
40
39
  Dynamic: classifier
@@ -480,6 +480,10 @@ class TestCTFont(TestCase):
480
480
  CoreText.CTFontDrawImageFromAdaptiveImageProviderAtPoint
481
481
  CoreText.CTFontHasTable
482
482
 
483
+ @min_os_level("26.4")
484
+ def testFunctions26_4(self):
485
+ CoreText.CTFontGetUIFontType
486
+
483
487
  @min_os_level("10.10")
484
488
  def testConstants10_10(self):
485
489
  self.assertIsInstance(CoreText.kCTFontOpenTypeFeatureTag, str)
@@ -104,6 +104,10 @@ class TestCTFontDescriptor(TestCase):
104
104
  def testConstants10_13(self):
105
105
  self.assertIsInstance(CoreText.kCTFontVariationAxesAttribute, str)
106
106
 
107
+ @min_os_level("26.4")
108
+ def testConstants26_4(self):
109
+ self.assertIsInstance(CoreText.kCTFontDescriptorLanguageAttribute, str)
110
+
107
111
  @min_os_level("10.9")
108
112
  def testFunctions10_9(self):
109
113
  CoreText.CTFontDescriptorProgressHandler = (
@@ -215,7 +215,7 @@
215
215
  "callable": {
216
216
  "arguments": {
217
217
  "0": { "type": "^v" },
218
- "1": { "type": "@" },
218
+ "1": { "type": "^{__CFArray=}" },
219
219
  "2": { "type": "B" }
220
220
  },
221
221
  "retval": { "type": "B" }
@@ -229,7 +229,7 @@
229
229
  "callable": {
230
230
  "arguments": {
231
231
  "0": { "type": "^v" },
232
- "1": { "type": "@" },
232
+ "1": { "type": "^{__CFArray=}" },
233
233
  "2": { "type": "B" }
234
234
  },
235
235
  "retval": { "type": "B" }
@@ -243,7 +243,7 @@
243
243
  "callable": {
244
244
  "arguments": {
245
245
  "0": { "type": "^v" },
246
- "1": { "type": "@" },
246
+ "1": { "type": "^{__CFArray=}" },
247
247
  "2": { "type": "B" }
248
248
  },
249
249
  "retval": { "type": "B" }
@@ -257,7 +257,7 @@
257
257
  "callable": {
258
258
  "arguments": {
259
259
  "0": { "type": "^v" },
260
- "1": { "type": "@" },
260
+ "1": { "type": "^{__CFArray=}" },
261
261
  "2": { "type": "B" }
262
262
  },
263
263
  "retval": { "type": "B" }
@@ -328,20 +328,20 @@
328
328
  "CTFontCollectionCreateMatchingFontDescriptorsSortedWithCallback": {
329
329
  "args": {
330
330
  "1": {
331
- "function": {
332
- "args": {
331
+ "callable": {
332
+ "arguments": {
333
333
  "0": {
334
- "typestr": "^{__CTFontDescriptor=}"
334
+ "type": "^{__CTFontDescriptor=}"
335
335
  },
336
336
  "1": {
337
- "typestr": "^{__CTFontDescriptor=}"
337
+ "type": "^{__CTFontDescriptor=}"
338
338
  },
339
339
  "2": {
340
- "typestr": "@"
340
+ "type": "@"
341
341
  }
342
342
  },
343
343
  "retval": {
344
- "typestr": "i"
344
+ "type": "i"
345
345
  }
346
346
  },
347
347
  "callable_retained": false
@@ -1026,10 +1026,10 @@
1026
1026
  "callable": {
1027
1027
  "arguments": {
1028
1028
  "0": { "type": "^v" },
1029
- "1": { "type": "@" },
1029
+ "1": { "type": "^{__CFDictionary=}" },
1030
1030
  "2": { "type": "i" }
1031
1031
  },
1032
- "retval": { "type": "@" }
1032
+ "retval": { "type": "^{__CFArray=}" }
1033
1033
  }
1034
1034
  }
1035
1035
  },
@@ -1762,7 +1762,7 @@
1762
1762
  "arguments": {
1763
1763
  "0": { "type": "^v" },
1764
1764
  "1": { "type": "d" },
1765
- "2": { "type": "L" },
1765
+ "2": { "type": "q" },
1766
1766
  "3": { "type": "B" },
1767
1767
  "4": { "type": "o^B" }
1768
1768
  },