@class NSDictionary; @protocol NSCoreTypesetterDelegateInternal, NSCoreTypesetterDelegate; @interface NSCoreTypesetter : NSTypesetter { double _lineFragmentOriginYOffset; id<NSCoreTypesetterDelegateInternal> _delegate; BOOL _delegateSupportsTextContainer; } @property (class, readonly) BOOL _allowsFontOverridingTextAttachmentVerticalMetricsForStringDrawing; @property (copy) NSDictionary *_extraLineFragmentAttributes; @property long long layoutOrientation; @property BOOL allowsFontOverridingTextAttachmentVerticalMetrics; @property BOOL requiresCTLineRef; @property struct _NSRange { unsigned long long location; unsigned long long length; } characterRange; @property struct CGSize { double width; double height; } textContainerSize; @property long long maximumNumberOfLines; @property long long containerBreakMode; @property BOOL enforcesMinimumTextLineFragment; @property BOOL wantsExtraLineFragment; @property (copy) id /* block */ laidOutLineFragment; @property (weak) id<NSCoreTypesetterDelegate> delegate; @property BOOL usesDefaultHyphenation; @property BOOL allowsFontSubstitutionAffectingVerticalMetrics; @property BOOL limitsLayoutForSuspiciousContents; @property (getter=isBeginningOfDocument) BOOL beginningOfDocument; @property BOOL typographicBoundsIncludesLineFragmentPadding; @property BOOL breaksLinesForInteractiveText; @property (copy) id /* block */ validateLineBreakIndex; + (void)_maximumAscentAndDescentForRuns:(struct __CFArray { } *)a0 ascender:(double *)a1 descender:(double *)a2; + (void)_minMaxPositionsForLineFragmentWithParagraphStyle:(id)a0 baseWidth:(double)a1 writingDirection:(long long)a2 isBeginningOfParagraph:(BOOL)a3 minPosition:(double *)a4 maxPosition:(double *)a5; + (void)_lineMetricsForAttributes:(id)a0 typesetterBehavior:(long long)a1 usesFontLeading:(BOOL)a2 applySpacings:(BOOL)a3 usesSystemFontLeading:(BOOL)a4 usesNegativeFontLeading:(BOOL)a5 layoutOrientation:(long long)a6 lineHeight:(double *)a7 baselineOffset:(double *)a8 spacing:(double *)a9; - (id)init; - (void)dealloc; - (BOOL)isSimpleRectangularTextContainerForStartingCharacterAtIndex:(long long)a0; - (id)delegate; - (void)beginLine; - (id)_paragraphStyleFromAttributes:(id)a0; - (long long)_getFirstOverflowTabStopIndexInLineRef:(struct __CTLine { } *)a0 range:(struct _NSRange { unsigned long long x0; unsigned long long x1; })a1 string:(id)a2 paragraphStyle:(id)a3 availableWidth:(double)a4 offset:(double)a5; - (struct { double x0; double x1; double x2; })_getLineMetricsForRange:(struct _NSRange { unsigned long long x0; unsigned long long x1; })a0 attributes:(id)a1 attributedString:(id)a2 applySpacing:(BOOL)a3 usesSystemFontLeading:(BOOL)a4 usesNegativeFontLeading:(BOOL)a5; - (BOOL)_shouldShowLineBadges; - (int)_NSFastDrawString:(id)a0 length:(unsigned long long)a1 attributes:(id)a2 paragraphStyle:(id)a3 typesetterBehavior:(long long)a4 lineBreakMode:(long long)a5 rect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a6 padding:(double)a7 graphicsContext:(id)a8 baselineRendering:(BOOL)a9 usesFontLeading:(BOOL)a10 usesScreenFont:(BOOL)a11 scrollable:(BOOL)a12 syncAlignment:(BOOL)a13 mirrored:(BOOL)a14 boundingRectPointer:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } *)a15 baselineOffsetPointer:(double *)a16 drawingContext:(id)a17; - (void)layout; - (void)layoutWithYOrigin:(double)a0; - (void)endLine; - (void)setDelegate:(id)a0; - (id)softHyphen; - (struct __CTLine { } *)_createLayoutLineFragmentStartingWithCharacterIndex:(inout long long *)a0 proposedLineFragmentRect:(inout struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } *)a1 baseLineRef:(inout const struct __CTLine **)a2 range:(struct _NSRange { unsigned long long x0; unsigned long long x1; })a3 paragraphStyle:(id)a4 paragraphArbitrator:(id)a5 lineBreakMode:(long long)a6 hasAttachments:(BOOL)a7 lineFragmentRect:(out struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } *)a8 glyphOrigin:(out struct CGPoint { double x0; double x1; } *)a9 hyphenated:(out BOOL *)a10 forcedClusterBreak:(out BOOL *)a11; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_stringDrawingCoreTextEngineWithOriginalString:(id)a0 rect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1 padding:(double)a2 graphicsContext:(id)a3 forceClipping:(BOOL)a4 attributes:(id)a5 stringDrawingOptions:(long long)a6 drawingContext:(id)a7 stringDrawingInterface:(struct { unsigned char x0; long long x1; BOOL x2; BOOL x3; } *)a8; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })lineFragmentRectForProposedRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 atIndex:(long long)a1 writingDirection:(long long)a2 remainingRect:(out struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } *)a3; - (struct __CTLine { } *)_createLineRefForParentLineRef:(inout const struct __CTLine **)a0 range:(struct _NSRange { unsigned long long x0; unsigned long long x1; })a1 availableWidth:(double)a2 offset:(double)a3 paragraphArbitrator:(id)a4 lineBreakMode:(long long)a5 hyphenated:(out BOOL *)a6 forcedClusterBreak:(out BOOL *)a7; @end