    # File lib/prawn/text/box.rb, line 128
          def initialize(string, options={})
            @inked          = false
            Prawn.verify_options(VALID_OPTIONS, options)
            options          = options.dup
            @overflow        = options[:overflow] || :truncate
            @original_string = string
            @text            = nil

            @document        = options[:document]
            @at              = options[:at] ||
                               [@document.bounds.left, @document.bounds.top]
            @width           = options[:width] ||
                               @document.bounds.right - @at[0]
            @height          = options[:height] ||
                               @at[1] - @document.bounds.bottom
            @align           = options[:align] || :left
            @vertical_align  = options[:valign] || :top
            @leading         = options[:leading] || 0
            @rotate          = options[:rotate] || 0
            @rotate_around   = options[:rotate_around] || :upper_left
            @single_line     = options[:single_line]
            @skip_encoding   = options[:skip_encoding] || @document.skip_encoding

            if @overflow == :expand
              # if set to expand, then we simply set the bottom
              # as the bottom of the document bounds, since that
              # is the maximum we should expand to
              @height = @at[1] - @document.bounds.bottom
              @overflow = :truncate
            end
            @min_font_size  = options[:min_font_size] || 5
            @line_wrap    = options [:line_wrap] || @document.default_line_wrap
            @options = @document.text_options.merge(:kerning => options[:kerning],
                                                    :size    => options[:size],
                                                    :style   => options[:style])
          end