code: def prefix(fonts, colours)
           text = StringIO.new
  
           text << '\b' if @bold
           text << '\i' if @italic
           text << '\ul' if @underline
           text << '\super' if @superscript
           text << '\caps' if @capitalise
           text << '\strike' if @strike
           text << '\sub' if @subscript
           text << '\v' if @hidden
           text << "\\cf#{colours.index(@foreground)}" if @foreground != nil
           text << "\\cb#{colours.index(@background)}" if @background != nil
           text << "\\f#{fonts.index(@font)}" if @font != nil
           text << "\\fs#{@font_size.to_i}" if @font_size != nil
           text << '\rtlch' if @flow == RIGHT_TO_LEFT
  
           text.string.length > 0 ? text.string : nil
        end
docs: This method generates a string containing the prefix associated with a
   style object.
  
   ==== Parameters
   fonts::    A reference to a FontTable containing any fonts used by the
              style (may be nil if no fonts used).
   colours::  A reference to a ColourTable containing any colours used by
              the style (may be nil if no colours used).