module Metanorma::Utils

def smartformat(text)

TODO needs internationalisation of quote
def smartformat(text)
  ret = HTMLEntities.new.decode(
    text.gsub(/ --? /, " — ")
    .gsub("--", "—"),
  )
  ret = ret.gsub(%r{(#{CJK})(["'])}o, "\\1\u200a\\2")
    .gsub(%r{(["'])(#{CJK})}o, "\\1\u200a\\2")
  ret = ret.smart_format
  ret = ret.gsub(%r{(#{CJK})\u200a}o, "\\1")
    .gsub(%r{\u200a(#{CJK})}o, "\\1")
  HTMLEntities.new.encode(ret, :basic)
end