def colophon
      @title = CGI.escapeHTML(@producer.res.v('colophontitle'))
      @body = <<EOT
  <div class="colophon">
EOT

      if @producer.config['subtitle'].nil?
        @body << <<EOT
    <p class="title">#{CGI.escapeHTML(@producer.config.name_of('title'))}</p>
EOT
      else
        @body << <<EOT
    <p class="title">#{CGI.escapeHTML(@producer.config.name_of('title'))}<br /><span class="subtitle">#{CGI.escapeHTML(@producer.config.name_of('subtitle'))}</span></p>
EOT
      end

      @body << colophon_history if @producer.config['date'] || @producer.config['history']

      @body << %Q(    <table class="colophon">\n)
      @body << @producer.config['colophon_order'].map do |role|
        if @producer.config[role]
          %Q(      <tr><th>#{CGI.escapeHTML(@producer.res.v(role))}</th><td>#{CGI.escapeHTML(join_with_separator(@producer.config.names_of(role), ReVIEW::I18n.t('names_splitter')))}</td></tr>\n)
        else
          ''
        end
      end.join

      @body << %Q(      <tr><th>ISBN</th><td>#{@producer.isbn_hyphen}</td></tr>\n) if @producer.isbn_hyphen
      @body << %Q(    </table>\n)
      if @producer.config['rights'] && !@producer.config['rights'].empty?
        @body << %Q(    <p class="copyright">#{join_with_separator(@producer.config.names_of('rights').map { |m| CGI.escapeHTML(m) }, '<br />')}</p>\n)
      end
      @body << %Q(  </div>\n)

      @language = @producer.config['language']
      @stylesheets = @producer.config['stylesheet']
      tmplfile = if @producer.config['htmlversion'].to_i == 5
                   File.expand_path('./html/layout-html5.html.erb', ReVIEW::Template::TEMPLATE_DIR)
                 else
                   File.expand_path('./html/layout-xhtml1.html.erb', ReVIEW::Template::TEMPLATE_DIR)
                 end
      tmpl = ReVIEW::Template.load(tmplfile)
      tmpl.result(binding)
    end
def colophon
      @title = CGI.escapeHTML(@producer.res.v('colophontitle'))
      @body = <<EOT
  <div class="colophon">
EOT

      if @producer.config['subtitle'].nil?
        @body << <<EOT
    <p class="title">#{CGI.escapeHTML(@producer.config.name_of('title'))}</p>
EOT
      else
        @body << <<EOT
    <p class="title">#{CGI.escapeHTML(@producer.config.name_of('title'))}<br /><span class="subtitle">#{CGI.escapeHTML(@producer.config.name_of('subtitle'))}</span></p>
EOT
      end

      @body << colophon_history if @producer.config['date'] || @producer.config['history']

      @body << %Q(    <table class="colophon">\n)
      @body << @producer.config['colophon_order'].map do |role|
        if @producer.config[role]
          %Q(      <tr><th>#{CGI.escapeHTML(@producer.res.v(role))}</th><td>#{CGI.escapeHTML(join_with_separator(@producer.config.names_of(role), ReVIEW::I18n.t('names_splitter')))}</td></tr>\n)
        else
          ''
        end
      end.join

      @body << %Q(      <tr><th>ISBN</th><td>#{@producer.isbn_hyphen}</td></tr>\n) if @producer.isbn_hyphen
      @body << %Q(    </table>\n)
      if @producer.config['rights'] && !@producer.config['rights'].empty?
        @body << %Q(    <p class="copyright">#{join_with_separator(@producer.config.names_of('rights').map { |m| CGI.escapeHTML(m) }, '<br />')}</p>\n)
      end
      @body << %Q(  </div>\n)

      @language = @producer.config['language']
      @stylesheets = @producer.config['stylesheet']
      tmplfile = if @producer.config['htmlversion'].to_i == 5
                   File.expand_path('./html/layout-html5.html.erb', ReVIEW::Template::TEMPLATE_DIR)
                 else
                   File.expand_path('./html/layout-xhtml1.html.erb', ReVIEW::Template::TEMPLATE_DIR)
                 end
      tmpl = ReVIEW::Template.load(tmplfile)
      tmpl.result(binding)
    end
Return colophon content.