Sha256: 7e3ae4d7fe104d669d33d9ca96baa015aa25d6debf74f91c0c1d278b2dfaec52

Contents?: true

Size: 1.93 KB

Versions: 5

Compression:

Stored size: 1.93 KB

Contents

require "isodoc"
require_relative "base_convert"

module IsoDoc
  module M3d
    # A {Converter} implementation that generates GB output, and a document
    # schema encapsulation of the document for validation

    class WordConvert < IsoDoc::WordConvert
      def initialize(options)
        @libdir = File.dirname(__FILE__)
        super
      end

      def convert1(docxml, filename, dir)
        FileUtils.cp html_doc_path("logo.jpg"), File.join(@localdir, "logo.jpg")
        super
      end

      def default_fonts(options)
        {
          bodyfont: (options[:script] == "Hans" ? '"SimSun",serif' : '"Garamond",serif'),
          headerfont: (options[:script] == "Hans" ? '"SimHei",sans-serif' : '"Garamond",serif'),
          monospacefont: '"Courier New",monospace'
        }
      end

      def default_file_locations(_options)
        {
          htmlstylesheet: html_doc_path("htmlstyle.scss"),
          htmlcoverpage: html_doc_path("html_m3d_titlepage.html"),
          htmlintropage: html_doc_path("html_m3d_intro.html"),
          scripts: html_doc_path("scripts.html"),
          wordstylesheet: html_doc_path("wordstyle.scss"),
          standardstylesheet: html_doc_path("m3d.scss"),
          header: html_doc_path("header.html"),
          wordintropage: html_doc_path("word_m3d_intro.html"),
          ulstyle: "l3",
          olstyle: "l2",
        }
      end

      def colophon(body, docxml)
        section_break(body)
        body.div **{ class: "colophon" } do |div|
        end
      end

      def make_body(xml, docxml)
        body_attr = { lang: "EN-US", link: "blue", vlink: "#954F72" }
        xml.body **body_attr do |body|
          make_body2(body, docxml)
          make_body3(body, docxml)
          colophon(body, docxml)
        end
      end

      def title(isoxml, _out)
        main = isoxml&.at(ns("//title[@language='en']"))&.text
        set_metadata(:doctitle, main)
      end

      include BaseRender
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
metanorma-m3d-1.2.3 lib/isodoc/m3d/word_convert.rb
metanorma-m3d-1.2.2 lib/isodoc/m3d/word_convert.rb
metanorma-m3d-1.2.1 lib/isodoc/m3d/word_convert.rb
metanorma-m3d-1.2.0 lib/isodoc/m3d/word_convert.rb
metanorma-m3d-1.1.5 lib/isodoc/m3d/word_convert.rb