 		paragraphStyle.lineBreakMode = .ByWordWrapping
 		paragraphStyle.lineHeightMultiple = lineHeightMultiple
 
-		let attributedText = self.attributedText
-		let finalizedText = NSMutableAttributedString(string: attributedText.string, attributes: [
+		var defaultAttributes = [
 			NSFontAttributeName: font,
 			NSForegroundColorAttributeName: UIColor(CGColor: finalTextColor),
 			NSParagraphStyleAttributeName: paragraphStyle
-		])
+		]
+
+		if let kerning = kerning {
+			let kerningValue: CGFloat
+			switch kerning {
+			case let .Absolute(value): kerningValue = value
+			case let .Relative(value): kerningValue = font.pointSize * value
+			}
+
+			defaultAttributes[NSKernAttributeName] = kerningValue
+		}
+
+		let attributedText = self.attributedText
+		let finalizedText = NSMutableAttributedString(string: attributedText.string, attributes: defaultAttributes)
 
 		var attributedTextUsesTintColor = false
 		var hasLinks = false

				return
			}

			setNeedsUpdateFinalizedText()
		}
	}

}


extension Label.DelegateProxy: UIGestureRecognizerDelegate {

	@objc
