     // MARK: - NSTextAttachmentContainer
 
     override open func image(forBounds imageBounds: CGRect, textContainer: NSTextContainer?, characterIndex charIndex: Int) -> UIImage? {
-        
+
         ensureImageIsUpToDate(in: textContainer)
 
         guard let image = image else {

    /// Otherwise, we'll always take the whole container's width.
    ///
    override open func attachmentBounds(for textContainer: NSTextContainer?, proposedLineFragment lineFrag: CGRect, glyphPosition position: CGPoint, characterIndex charIndex: Int) -> CGRect {
        
        ensureImageIsUpToDate(in: textContainer)
        
        if image == nil {
            return .zero
        }

        var padding = (textContainer?.lineFragmentPadding ?? 0)
        if let storage = textContainer?.layoutManager?.textStorage,
           let paragraphStyle = storage.attribute(NSParagraphStyleAttributeName, at: charIndex, effectiveRange: nil) as? NSParagraphStyle {
            padding += paragraphStyle.firstLineHeadIndent + paragraphStyle.tailIndent
        }
        let width = floor(lineFrag.width - (padding * 2))

        let size = CGSize(width: width, height: onScreenHeight(width))
        
        return CGRect(origin: CGPoint.zero, size: size)
    }
}

        public var imageMargin = CGFloat(10.0)
    }
}

