 		let padding = self.padding
 		let bounds = self.bounds
 
-		let isRightToLeft: Bool
-		if #available(iOS 9.0, *) {
-			isRightToLeft = UIView.userInterfaceLayoutDirectionForSemanticContentAttribute(semanticContentAttribute) == .RightToLeft
-		}
-		else {
-			isRightToLeft = UIApplication.sharedApplication().userInterfaceLayoutDirection == .RightToLeft
-		}
-
-		let textFrame = layoutManager.usedRectForTextContainer(textContainer)
+		var textFrame = layoutManager.usedRectForTextContainer(textContainer)
 
 		var textContainerOrigin = CGPoint()
-
-		switch horizontalAlignment {
-		case .Right, .Justified where isRightToLeft, .Natural where isRightToLeft:
-			textContainerOrigin.left = bounds.width - padding.right - textFrame.width
-
-		case .Left, .Justified, .Natural:
-			textContainerOrigin.left = padding.left
-
-		case .Center:
-			textContainerOrigin.left = padding.left + ((bounds.width - padding.left - padding.right - textFrame.width) / 2)
-		}
+		textContainerOrigin.left = padding.left
 
 		switch verticalAlignment {
 		case .Bottom:

	public override func drawRect(rect: CGRect) {
		// Although we use drawLayer(_:inContext:) we still need to implement this method.
		// UIKit checks for its presence when it decides whether a call to setNeedsDisplay() is forwarded to its layer.
	}


	public var exclusionPaths: [UIBezierPath] {
		get { return textContainer.exclusionPaths }
		set {
			guard newValue != exclusionPaths else {
				return
			}

			textContainer.exclusionPaths = exclusionPaths

			invalidateIntrinsicContentSize()
			setNeedsDisplay()
		}
	}



		case .Top:
			textContainerOrigin.top = padding.top
		}

		return textContainerOrigin
	}
