         }
         let c = CGBitmapContextCreate(
             nil,
-            Int(self.width * kScreenScale),
-            Int(self.height * kScreenScale),
+            Int((self.startPosition.x + self.width) * kScreenScale),
+            Int((self.startPosition.y + self.height) * kScreenScale),
             8,
             0,
             kCGColorSpace,

            // 末尾文字列を考慮して先頭のオフセットを減算
            offset += self.getOffsetTail(range)

            self.draw(range, offset: offset, oshidashi: oshidashi, on: context)

            // 次の行が指定した高さを超える場合は終了
            if overflow {

            options.contains(.UsesLineFragmentOrigin) ? rect.origin.x : 0,
            options.contains(.UsesLineFragmentOrigin) ? rect.origin.y : 0)
        self.currentPosition = CGPointZero
        self.truncateRect = NSString(string: truncateText).boundingRectWithSize(CGSizeMake(kCGFloatHuge, kCGFloatHuge), options: NSStringDrawingOptions(), attributes: attributedText.attributes, context: nil)
        self.lines = 0
        self.location = 0
        self.length = self.attributedText.length
