         }
         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で行頭約物の位置を修正
        CGContextSetTextPosition(
            context,
            self.startPosition.x + self.currentPosition.x - offset,
            self.startPosition.y + self.currentPosition.y)

        // 行を生成
        let ctline = CTTypesetterCreateLine(

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

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

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