Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Converts NSAttributedStrings between AppKit, CoreText, UIKit and HTML.
Objective-C HTML
branch: master


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
@"font": @{ @"traitBold":@YES, @"traitItalic":@NO,
    @"features":@[@[@5, @1], @[@14, @1]],
    @"pointSize":@12, @"familyName":@"Helvetica" }
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": @"" NSLinkAttributeName
Something went wrong with that request. Please try again.