class Metanorma::Iso::Processor

def fonts_manifest

def fonts_manifest
  {
    "Cambria" => nil,
    "Cambria Math" => nil,
    "Times New Roman" => nil,
    "Source Han Sans" => nil,
    "Source Han Sans Normal" => nil,
    "Courier New" => nil,
  }
end

def initialize # rubocop:disable Lint/MissingSuper

rubocop:disable Lint/MissingSuper
def initialize # rubocop:disable Lint/MissingSuper
  @short = :iso
  @input_format = :asciidoc
  @asciidoctor_backend = :iso
end

def output(isodoc_node, inname, outname, format, options={})

def output(isodoc_node, inname, outname, format, options={})
  case format
  when :html
    IsoDoc::Iso::HtmlConvert.new(options)
      .convert(inname, isodoc_node, nil, outname)
  when :html_alt
    IsoDoc::Iso::HtmlConvert.new(options.merge(alt: true))
      .convert(inname, isodoc_node, nil, outname)
  when :doc
    IsoDoc::Iso::WordConvert.new(options)
      .convert(inname, isodoc_node, nil, outname)
  when :pdf
    IsoDoc::Iso::PdfConvert.new(options)
      .convert(inname, isodoc_node, nil, outname)
  when :sts
    IsoDoc::Iso::StsConvert.new(options)
      .convert(inname, isodoc_node, nil, outname)
  when :isosts
    IsoDoc::Iso::IsoStsConvert.new(options)
      .convert(inname, isodoc_node, nil, outname)
  when :presentation
    IsoDoc::Iso::PresentationXMLConvert.new(options)
      .convert(inname, isodoc_node, nil, outname)
  else
    super
  end
end

def output_formats

def output_formats
  super.merge(
    html: "html",
    html_alt: "alt.html",
    doc: "doc",
    pdf: "pdf",
    sts: "sts.xml",
    isosts: "iso.sts.xml",
  )
end

def use_presentation_xml(ext)

def use_presentation_xml(ext)
  return true if ext == :html_alt
  super
end

def version

def version
  "Metanorma::ISO #{Metanorma::ISO::VERSION}"
end