class Ronn::RoffFilter

def escape(text)

def escape(text)
  return text.to_s if text.nil? || text.empty?
  ent = HTML_ROFF_ENTITIES
  text = text.dup
  text.gsub!(/&#x([0-9A-Fa-f]+);/) { $1.to_i(16).chr }  # hex entities
  text.gsub!(/&#(\d+);/) { $1.to_i.chr }                # dec entities
  text.gsub!('\\', '\e')                                # backslash
  text.gsub!(/['.-]/) { |m| "\\#{m}" }                  # control chars
  text.gsub!(/(&[A-Za-z]+;)/) { ent[$1] || $1 }         # named entities
  text.gsub!('&',  '&')                             # amps
  text
end