 
     /**
      行末から offset を計算する
+
+     - parameter range: offset を計算するための、現在行の全体における範囲
+     - returns: 行末文字と alignment を考慮した際の行頭オフセット
      */
     private func getOffsetTail(range: NSRange) -> CGFloat {
         guard let alignment = self.attributedText.textAlignment else {

            self.currentLongestTypographicWidth,
            self.currentPosition.y + self.font.ascender - self.font.capHeight)

        // 描画
        self.draw(context, on: canvasContext)


        return context
    }

    /**
     文字を context に描画する

     - parameter on: 文字が描画される canvas
     */
    mutating func drawText(on context: CGContext) {
        self.process(context)

        }
    }

    /**
     文字を生成する。canvasContext を与えると、そこに文字を描画する。

     - parameter canvasContext: 文字が描画される context
     - returns: 描画された context
     */
    private mutating func process(canvasContext: CGContext? = nil) -> CGContext? {

