1016: def initialize(options = {})
1017: @text = options[:text] || []
1018: @columns = options[:columns] || 72
1019: @tabstop = options[:tabstop] || 8
1020: @first_indent = options[:first_indent] || 4
1021: @body_indent = options[:body_indent] || 0
1022: @format_style = options[:format_style] || LEFT_ALIGN
1023: @left_margin = options[:left_margin] || 0
1024: @right_margin = options[:right_margin] || 0
1025: @extra_space = options[:extra_space] || false
1026: @tag_paragraph = options[:tag_paragraph] || false
1027: @tag_text = options[:tag_text] || []
1028: @abbreviations = options[:abbreviations] || []
1029: @terminal_punctuation = options[:terminal_punctuation] || ""
1030: @terminal_quotes = options[:terminal_quotes] || ""
1031: @nobreak = options[:nobreak] || false
1032: @nobreak_regex = options[:nobreak_regex] || {}
1033: @hard_margins = options[:hard_margins] || false
1034: @split_rules = options[:split_rules] || SPLIT_FIXED
1035: @hyphenator = options[:hyphenator] || self
1036:
1037: @hyphenator_arity = @hyphenator.method(:hyphenate_to).arity
1038: @tag_cur = ""
1039: @split_words = []
1040:
1041: yield self if block_given?
1042: end