14616d0f9Sopenharmony_ci#! /bin/sh
24616d0f9Sopenharmony_ci# Convert manual page troff stdin to formatted .txt stdout.
34616d0f9Sopenharmony_ci
44616d0f9Sopenharmony_ci# This file is in the public domain, so clarified as of
54616d0f9Sopenharmony_ci# 2009-05-17 by Arthur David Olson.
64616d0f9Sopenharmony_ci
74616d0f9Sopenharmony_ciif (type nroff && type perl) >/dev/null 2>&1; then
84616d0f9Sopenharmony_ci
94616d0f9Sopenharmony_ci  # Tell groff not to emit SGR escape sequences (ANSI color escapes).
104616d0f9Sopenharmony_ci  GROFF_NO_SGR=1
114616d0f9Sopenharmony_ci  export GROFF_NO_SGR
124616d0f9Sopenharmony_ci
134616d0f9Sopenharmony_ci  echo ".am TH
144616d0f9Sopenharmony_ci.hy 0
154616d0f9Sopenharmony_ci.na
164616d0f9Sopenharmony_ci..
174616d0f9Sopenharmony_ci.rm }H
184616d0f9Sopenharmony_ci.rm }F" | nroff -man - ${1+"$@"} | perl -ne '
194616d0f9Sopenharmony_ci	binmode STDIN, '\'':encoding(utf8)'\'';
204616d0f9Sopenharmony_ci	binmode STDOUT, '\'':encoding(utf8)'\'';
214616d0f9Sopenharmony_ci	chomp;
224616d0f9Sopenharmony_ci	s/.\010//g;
234616d0f9Sopenharmony_ci	s/\s*$//;
244616d0f9Sopenharmony_ci	if (/^$/) {
254616d0f9Sopenharmony_ci		$sawblank = 1;
264616d0f9Sopenharmony_ci		next;
274616d0f9Sopenharmony_ci	} else {
284616d0f9Sopenharmony_ci		if ($sawblank && $didprint) {
294616d0f9Sopenharmony_ci			print "\n";
304616d0f9Sopenharmony_ci			$sawblank = 0;
314616d0f9Sopenharmony_ci		}
324616d0f9Sopenharmony_ci		print "$_\n";
334616d0f9Sopenharmony_ci		$didprint = 1;
344616d0f9Sopenharmony_ci	}
354616d0f9Sopenharmony_ci  '
364616d0f9Sopenharmony_cielif (type mandoc && type col) >/dev/null 2>&1; then
374616d0f9Sopenharmony_ci  mandoc -man -T ascii "$@" | col -bx
384616d0f9Sopenharmony_cielse
394616d0f9Sopenharmony_ci  echo >&2 "$0: please install nroff and perl, or mandoc and col"
404616d0f9Sopenharmony_ci  exit 1
414616d0f9Sopenharmony_cifi
42