def manify str, opts = {}
str = ((opts.fetch :preserve_space, true) ? (str.gsub TAB, ET) : (str.tr_s WHITESPACE, ' ')).
gsub(/(?:\A|[^#{ESC}])\\/, '\&(rs').
gsub(/^\./, '\\\&.').
gsub(/^(?:#{ESC}\\c\n)?#{ESC}\.((?:URL|MTO) ".*?" ".*?" )( |[^\s]*)(.*?)(?: *#{ESC}\\c)?$/) {
(rest = $3.lstrip).empty? ? %(.
}.
gsub('-', '\-').
gsub('<', '<').
gsub('>', '>').
gsub(' ', '\~').
gsub('©', '\(co').
gsub('®', '\(rg').
gsub('™', '\(tm').
gsub(' ', ' ').
gsub('–', '\(en').
gsub(/—(?:;​)?/, '\(em').
gsub('‘', '\(oq').
gsub('’', '\(cq').
gsub('“', '\(lq').
gsub('”', '\(rq').
gsub(/…(?:​)?/, '...').
gsub('←', '\(<-').
gsub('→', '\(->').
gsub('⇐', '\(lA').
gsub('⇒', '\(rA').
gsub('​', '\:').
gsub('\'', '\(aq').
gsub(/<\/?BOUNDARY>/, '').
gsub(ESC_BS, '\\').
rstrip
opts[:append_newline] ? %(#{str}#{LF}) : str
end