# File lib/spreadsheet/format.rb, line 75
    def initialize opts={}
      @font             = Font.new client("Arial", 'UTF-8'), :family => :swiss
      @number_format    = client 'GENERAL', 'UTF-8'
      @rotation         = 0
      @pattern          = 0
      @bottom_color     = :builtin_black
      @top_color        = :builtin_black
      @left_color       = :builtin_black
      @right_color      = :builtin_black
      @diagonal_color   = :builtin_black
      @pattern_fg_color = :border
      @pattern_bg_color = :pattern_bg
      @regexes = {
        :date         => Regexp.new(client("[YMD]", 'UTF-8')),
        :date_or_time => Regexp.new(client("[hmsYMD]", 'UTF-8')),
        :datetime     => Regexp.new(client("([YMD].*[HS])|([HS].*[YMD])", 'UTF-8')),
        :time         => Regexp.new(client("[hms]", 'UTF-8'))
      }
      # Temp code to prevent merged formats in non-merged cells.
      @used_merge    = 0
      opts.each do |key, val|
        writer = "#{key}="
        if @font.respond_to? writer
          @font.send writer, val
        else
          self.send writer, val
        end
      end
      yield self if block_given?
    end