Skip to content

Converts NSAttributedStrings between AppKit, CoreText, UIKit and HTML.

Notifications You must be signed in to change notification settings

aquarius/Ashton

 
 

Repository files navigation

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

About

Converts NSAttributedStrings between AppKit, CoreText, UIKit and HTML.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Objective-C 99.0%
  • Ruby 1.0%