Skip to content

Latest commit

 

History

History
71 lines (65 loc) · 2.66 KB

README.md

File metadata and controls

71 lines (65 loc) · 2.66 KB

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