         }
         return paragraph
     }
-    
-    
-    var rawAttributes: RawAttributes {
-        var result: RawAttributes = [:]
-        result[NSBackgroundColorAttributeName] = backgroundColor
-        result[NSBaselineOffsetAttributeName] = baseline
-        result[NSForegroundColorAttributeName] = color
-        result[NSVerticalGlyphFormAttributeName] = direction?.intValue
-        result[NSExpansionAttributeName] = expansion
-        result[NSFontAttributeName] = font
-        result[NSKernAttributeName] = kern
-        if let ligature = ligature {
-            result[NSLigatureAttributeName] = ligature ? 1 : 0
-        }
-        if let paragraph = retrieveParagraph() {
-            result[NSParagraphStyleAttributeName] = paragraph
-        }
-        result[NSStrikethroughStyleAttributeName] = strikethrough?.rawValue
-        result[NSStrikethroughColorAttributeName] = strikethroughColor
-        result[NSStrokeWidthAttributeName] = stroke?.floatValue
-        result[NSStrokeColorAttributeName] = strokeColor
-        result[NSObliquenessAttributeName] = obliqueness
-        result[NSTextEffectAttributeName] = textEffect?.stringValue
-        result[NSUnderlineStyleAttributeName] = underline?.rawValue
-        result[NSUnderlineColorAttributeName] = underlineColor
-        result[NSLinkAttributeName] = URL
-        
-        return result
-    }
 }
 
 

    }
    
    
    private func retrieveParagraph() -> NSMutableParagraphStyle?{
        if !isAnyNotNil(leading, alignment, lineBreakMode, lineHeightMultiplier,
            paragraphSpacingAfter, paragraphSpacingBefore, headIndent, tailIndent,
            firstLineHeadIndent, minimumLineHeight, maximumLineHeight, hyphenationFactor,

        self.obliqueness = attributes[NSObliquenessAttributeName] as? Float
        
        if let paragraph = attributes[NSParagraphStyleAttributeName] as? NSParagraphStyle {
            self.alignment = paraStyleCompare(paragraph) { $0.alignment }
            self.leading = paraStyleCompare(paragraph) { Float($0.lineSpacing) }
            self.lineHeightMultiplier = paraStyleCompare(paragraph) { Float($0.lineHeightMultiple) }
            self.paragraphSpacingAfter = paraStyleCompare(paragraph) { Float($0.paragraphSpacing) }
            self.paragraphSpacingBefore = paraStyleCompare(paragraph) { Float($0.paragraphSpacingBefore) }
            self.headIndent = paraStyleCompare(paragraph) { Float($0.headIndent) }
            self.tailIndent = paraStyleCompare(paragraph) { Float($0.tailIndent) }
            self.firstLineHeadIndent = paraStyleCompare(paragraph) { Float($0.firstLineHeadIndent) }
            self.minimumLineHeight = paraStyleCompare(paragraph) { Float($0.minimumLineHeight) }
            self.maximumLineHeight = paraStyleCompare(paragraph) { Float($0.maximumLineHeight) }
            self.hyphenationFactor = paraStyleCompare(paragraph) { Float($0.hyphenationFactor) }
            if #available(iOS 9.0, *) {
                self.allowsTighteningForTruncation = paraStyleCompare(paragraph) { $0.allowsDefaultTighteningForTruncation }
            }
        }
        
