@@ -52,9 +52,12 @@ extension ASAttributedString.Attribute {
5252 case lineHeightMultiple // CGFloat
5353 case paragraphSpacingBefore // CGFloat
5454 case hyphenationFactor // Float
55+ @available ( macOS 12 . 0 , iOS 15 . 0 , tvOS 15 . 0 , watchOSApplicationExtension 8 . 0 , * )
56+ case usesDefaultHyphenation // Bool
5557 case tabStops // [NSTextTab]
5658 case defaultTabInterval // CGFloat
5759 case allowsDefaultTighteningForTruncation // Bool
60+ case lineBreakStrategy // NSParagraphStyle.LineBreakStrategy
5861 }
5962
6063 fileprivate let style : [ Key : Any ]
@@ -82,9 +85,13 @@ extension ASAttributedString.Attribute {
8285 fetch ( . lineHeightMultiple) { paragraph. lineHeightMultiple = $0 }
8386 fetch ( . paragraphSpacingBefore) { paragraph. paragraphSpacingBefore = $0 }
8487 fetch ( . hyphenationFactor) { paragraph. hyphenationFactor = $0 }
88+ if #available( macOS 12 . 0 , iOS 15 . 0 , tvOS 15 . 0 , watchOSApplicationExtension 8 . 0 , * ) {
89+ fetch ( . usesDefaultHyphenation) { paragraph. usesDefaultHyphenation = $0 }
90+ }
8591 fetch ( . tabStops) { paragraph. tabStops = $0 }
8692 fetch ( . defaultTabInterval) { paragraph. defaultTabInterval = $0 }
8793 fetch ( . allowsDefaultTighteningForTruncation) { paragraph. allowsDefaultTighteningForTruncation = $0 }
94+ fetch ( . lineBreakStrategy) { paragraph. lineBreakStrategy = $0 }
8895 return paragraph
8996 }
9097 }
@@ -144,6 +151,11 @@ extension ASAttributedString.Attribute.ParagraphStyle {
144151 return . init( style: [ . hyphenationFactor: value] )
145152 }
146153
154+ @available ( macOS 12 . 0 , iOS 15 . 0 , tvOS 15 . 0 , watchOSApplicationExtension 8 . 0 , * )
155+ public static func usesDefaultHyphenation( _ value: Bool ) -> Self {
156+ return . init( style: [ . usesDefaultHyphenation: value] )
157+ }
158+
147159 public static func tabStops( _ value: [ NSTextTab ] ) -> Self {
148160 return . init( style: [ . tabStops: value] )
149161 }
@@ -155,6 +167,10 @@ extension ASAttributedString.Attribute.ParagraphStyle {
155167 public static func allowsDefaultTighteningForTruncation( _ value: Bool ) -> Self {
156168 return . init( style: [ . allowsDefaultTighteningForTruncation: value] )
157169 }
170+
171+ public static func lineBreakStrategy( _ value: NSParagraphStyle . LineBreakStrategy ) -> Self {
172+ return . init( style: [ . lineBreakStrategy: value] )
173+ }
158174}
159175
160176extension ASAttributedString . Attribute . ParagraphStyle {
0 commit comments