Converts NSAttributedStrings between AppKit, CoreText, UIKit and HTML.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Ashton.xcodeproj
Ashton
OSXExample
OSXExampleTests
iOSExample
iOSTests
.gitignore
Ashton.podspec
MIT-LICENSE.txt
README.md

README.md

Ashton

Converts NSAttributedStrings between AppKit, CoreText, UIKit and HTML.

What crazy name is that?

Not crazy at all: AttributedStringHTMLTransformation.

What does it actually do?

Ashton has two parts

a) It can convert the attributes of a AppKit, CoreText or UIKit NSAttributedString to and from an intermediate cross-platform Ashton-specific representation. This allows us to convert e.g. AppKit -> Ashton intermediate -> CoreText.

b) It can convert between a NSAttributedString with intermediate attributes and HTML. This allows us to transfer a NSAttributedString between Mac and iOS.

AppKit Input Intermediate AppKit Output
NSParagraphStyleAttributeName with textAlign
@"paragraph": @{ @"textAlignment":@"left|right|center" }
NSParagraphStyleAttributeName with textAlign
NSFontAttributeName
@"font": @{ @"traitBold":@YES, @"traitItalic":@NO,
    @"features":@[@[@5, @1], @[@14, @1]],
    @"pointSize":@12, @"familyName":@"Helvetica" }
NSFontAttributeName
NSSuperscriptAttributeName with values 1 or -1 @"verticalAlign": @"super|sub" NSSuperscriptAttributeName
NSUnderlineColorAttributeName @"underlineColor": @[@255, @0, @0, @1.0] NSUnderlineColorAttributeName
NSStrikethroughStyleAttributeName @"strikethrough": @"single|thick|double" NSStrikethroughStyleAttributeName
NSStrikethroughColorAttributeName @"strikethroughColor": @[@255, @0, @0, @1.0] NSStrikethroughColorAttributeName
NSForegroundColorAttributeName @"color": @[@255, @0, @0, @1.0] NSForegroundColorAttributeName
NSStrokeColorAttributeName @"color": @[@255, @0, @0, @1.0] NSForegroundColorAttributeName
NSLinkAttributeName @"link": @"http://google.com/" NSLinkAttributeName