Skip to content
This repository was archived by the owner on Aug 19, 2019. It is now read-only.

Add missing support for <s> tags for striketrough #26

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 14 additions & 13 deletions NSAttributedString+DDHTML/NSAttributedString+DDHTML.m
Original file line number Diff line number Diff line change
Expand Up @@ -125,33 +125,34 @@ + (NSAttributedString *)attributedStringFromNode:(xmlNodePtr)xmlNode normalFont:
}

// Bold Tag
if (strncmp("b", (const char *)xmlNode->name, strlen((const char *)xmlNode->name)) == 0 ||
strncmp("strong", (const char *)xmlNode->name, strlen((const char *)xmlNode->name)) == 0) {
if (strcmp("b", (const char *)xmlNode->name) == 0 ||
strcmp("strong", (const char *)xmlNode->name) == 0) {
if (boldFont) {
[nodeAttributedString addAttribute:NSFontAttributeName value:boldFont range:nodeAttributedStringRange];
}
}

// Italic Tag
else if (strncmp("i", (const char *)xmlNode->name, strlen((const char *)xmlNode->name)) == 0 ||
strncmp("em", (const char *)xmlNode->name, strlen((const char *)xmlNode->name)) == 0) {
else if (strcmp("i", (const char *)xmlNode->name) == 0 ||
strcmp("em", (const char *)xmlNode->name) == 0) {
if (italicFont) {
[nodeAttributedString addAttribute:NSFontAttributeName value:italicFont range:nodeAttributedStringRange];
}
}

// Underline Tag
else if (strncmp("u", (const char *)xmlNode->name, strlen((const char *)xmlNode->name)) == 0) {
else if (strcmp("u", (const char *)xmlNode->name) == 0) {
[nodeAttributedString addAttribute:NSUnderlineStyleAttributeName value:@(NSUnderlineStyleSingle) range:nodeAttributedStringRange];
}

// Stike Tag
else if (strncmp("strike", (const char *)xmlNode->name, strlen((const char *)xmlNode->name)) == 0) {
else if (strcmp("strike", (const char *)xmlNode->name) == 0 ||
strcmp("s", (const char *)xmlNode->name) == 0) {
[nodeAttributedString addAttribute:NSStrikethroughStyleAttributeName value:@(YES) range:nodeAttributedStringRange];
}

// Stoke Tag
else if (strncmp("stroke", (const char *)xmlNode->name, strlen((const char *)xmlNode->name)) == 0) {
else if (strcmp("stroke", (const char *)xmlNode->name) == 0) {
UIColor *strokeColor = [UIColor purpleColor];
NSNumber *strokeWidth = @(1.0);

Expand All @@ -170,7 +171,7 @@ + (NSAttributedString *)attributedStringFromNode:(xmlNodePtr)xmlNode normalFont:
}

// Shadow Tag
else if (strncmp("shadow", (const char *)xmlNode->name, strlen((const char *)xmlNode->name)) == 0) {
else if (strcmp("shadow", (const char *)xmlNode->name) == 0) {
#if __has_include(<UIKit/NSShadow.h>)
NSShadow *shadow = [[NSShadow alloc] init];
shadow.shadowOffset = CGSizeMake(0, 0);
Expand All @@ -192,7 +193,7 @@ + (NSAttributedString *)attributedStringFromNode:(xmlNodePtr)xmlNode normalFont:
}

// Font Tag
else if (strncmp("font", (const char *)xmlNode->name, strlen((const char *)xmlNode->name)) == 0) {
else if (strcmp("font", (const char *)xmlNode->name) == 0) {
NSString *fontName = nil;
NSNumber *fontSize = nil;
UIColor *foregroundColor = nil;
Expand Down Expand Up @@ -230,7 +231,7 @@ + (NSAttributedString *)attributedStringFromNode:(xmlNodePtr)xmlNode normalFont:
}

// Paragraph Tag
else if (strncmp("p", (const char *)xmlNode->name, strlen((const char *)xmlNode->name)) == 0) {
else if (strcmp("p", (const char *)xmlNode->name) == 0) {
NSMutableParagraphStyle *paragraphStyle = [[NSParagraphStyle defaultParagraphStyle] mutableCopy];

if ([attributeDictionary objectForKey:@"align"]) {
Expand Down Expand Up @@ -311,7 +312,7 @@ + (NSAttributedString *)attributedStringFromNode:(xmlNodePtr)xmlNode normalFont:


// Links
else if (strncmp("a href", (const char *)xmlNode->name, strlen((const char *)xmlNode->name)) == 0) {
else if (strcmp("a href", (const char *)xmlNode->name) == 0) {

xmlChar *value = xmlNodeListGetString(xmlNode->doc, xmlNode->xmlChildrenNode, 1);
if (value)
Expand All @@ -323,12 +324,12 @@ + (NSAttributedString *)attributedStringFromNode:(xmlNodePtr)xmlNode normalFont:
}

// New Lines
else if (strncmp("br", (const char *)xmlNode->name, strlen((const char *)xmlNode->name)) == 0) {
else if (strcmp("br", (const char *)xmlNode->name) == 0) {
[nodeAttributedString appendAttributedString:[[NSAttributedString alloc] initWithString:@"\n"]];
}

// Images
else if (strncmp("img", (const char *)xmlNode->name, strlen((const char *)xmlNode->name)) == 0) {
else if (strcmp("img", (const char *)xmlNode->name) == 0) {
#if __has_include(<UIKit/NSTextAttachment.h>)
NSString *src = attributeDictionary[@"src"];
NSString *width = attributeDictionary[@"width"];
Expand Down