mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-24 07:05:35 +00:00
Added ASTextNodeWordKerner support to ASTextNode
* Added a member to `ASTextKitAttributes` that is an optional delegate to the struct's NSLayoutManager. * Changed ASTextNode to set this delegate to an instance of ASTextNodeWordKerner. * Updated init method of `ASTextKitContext` to take an optional NSLayoutManager delegate * Added the files in TextKit folder to the public headers (so we can include ASTextNodeTypes.h)
This commit is contained in:
@@ -42,7 +42,8 @@
|
||||
maximumNumberOfLines:0
|
||||
exclusionPaths:nil
|
||||
constrainedSize:constrainedSize
|
||||
layoutManagerFactory:nil];
|
||||
layoutManagerFactory:nil
|
||||
layoutManagerDelegate:nil];
|
||||
__block NSRange textKitVisibleRange;
|
||||
[context performBlockWithLockedTextKitComponents:^(NSLayoutManager *layoutManager, NSTextStorage *textStorage, NSTextContainer *textContainer) {
|
||||
textKitVisibleRange = [layoutManager characterRangeForGlyphRange:[layoutManager glyphRangeForTextContainer:textContainer]
|
||||
@@ -63,7 +64,8 @@
|
||||
maximumNumberOfLines:0
|
||||
exclusionPaths:nil
|
||||
constrainedSize:constrainedSize
|
||||
layoutManagerFactory:nil];
|
||||
layoutManagerFactory:nil
|
||||
layoutManagerDelegate:nil];
|
||||
ASTextKitTailTruncater *tailTruncater = [[ASTextKitTailTruncater alloc] initWithContext:context
|
||||
truncationAttributedString:[self _simpleTruncationAttributedString]
|
||||
avoidTailTruncationSet:[NSCharacterSet characterSetWithCharactersInString:@""]];
|
||||
@@ -85,7 +87,8 @@
|
||||
maximumNumberOfLines:0
|
||||
exclusionPaths:nil
|
||||
constrainedSize:constrainedSize
|
||||
layoutManagerFactory:nil];
|
||||
layoutManagerFactory:nil
|
||||
layoutManagerDelegate:nil];
|
||||
ASTextKitTailTruncater *tailTruncater = [[ASTextKitTailTruncater alloc] initWithContext:context
|
||||
truncationAttributedString:[self _simpleTruncationAttributedString]
|
||||
avoidTailTruncationSet:[NSCharacterSet characterSetWithCharactersInString:@"."]];
|
||||
@@ -108,7 +111,8 @@
|
||||
maximumNumberOfLines:0
|
||||
exclusionPaths:nil
|
||||
constrainedSize:constrainedSize
|
||||
layoutManagerFactory:nil];
|
||||
layoutManagerFactory:nil
|
||||
layoutManagerDelegate:nil];
|
||||
ASTextKitTailTruncater *tailTruncater = [[ASTextKitTailTruncater alloc] initWithContext:context
|
||||
truncationAttributedString:[self _simpleTruncationAttributedString]
|
||||
avoidTailTruncationSet:[NSCharacterSet characterSetWithCharactersInString:@"."]];
|
||||
@@ -132,7 +136,9 @@
|
||||
maximumNumberOfLines:0
|
||||
exclusionPaths:nil
|
||||
constrainedSize:constrainedSize
|
||||
layoutManagerFactory:nil];
|
||||
layoutManagerFactory:nil
|
||||
layoutManagerDelegate:nil];
|
||||
|
||||
XCTAssertNoThrow([[ASTextKitTailTruncater alloc] initWithContext:context
|
||||
truncationAttributedString:[self _simpleTruncationAttributedString]
|
||||
avoidTailTruncationSet:[NSCharacterSet characterSetWithCharactersInString:@"."]]);
|
||||
|
||||
Reference in New Issue
Block a user