1bc421551SDag-Erling Smørgrav#! /bin/sh 2bc421551SDag-Erling Smørgrav# Convert manual page troff stdin to formatted .txt stdout. 3bc421551SDag-Erling Smørgrav 4bc421551SDag-Erling Smørgrav# This file is in the public domain, so clarified as of 5bc421551SDag-Erling Smørgrav# 2009-05-17 by Arthur David Olson. 6bc421551SDag-Erling Smørgrav 7bc421551SDag-Erling Smørgravif (type nroff && type perl) >/dev/null 2>&1; then 8bc421551SDag-Erling Smørgrav 9bc421551SDag-Erling Smørgrav # Tell groff not to emit SGR escape sequences (ANSI color escapes). 10*a979394aSDag-Erling Smørgrav export GROFF_NO_SGR=1 11bc421551SDag-Erling Smørgrav 12bc421551SDag-Erling Smørgrav echo ".am TH 13bc421551SDag-Erling Smørgrav.hy 0 14bc421551SDag-Erling Smørgrav.na 15bc421551SDag-Erling Smørgrav.. 16bc421551SDag-Erling Smørgrav.rm }H 17bc421551SDag-Erling Smørgrav.rm }F" | nroff -man - ${1+"$@"} | perl -ne ' 18bc421551SDag-Erling Smørgrav binmode STDIN, '\'':encoding(utf8)'\''; 19bc421551SDag-Erling Smørgrav binmode STDOUT, '\'':encoding(utf8)'\''; 20bc421551SDag-Erling Smørgrav chomp; 21bc421551SDag-Erling Smørgrav s/.\010//g; 22bc421551SDag-Erling Smørgrav s/\s*$//; 23bc421551SDag-Erling Smørgrav if (/^$/) { 24bc421551SDag-Erling Smørgrav $sawblank = 1; 25bc421551SDag-Erling Smørgrav next; 26bc421551SDag-Erling Smørgrav } else { 27bc421551SDag-Erling Smørgrav if ($sawblank && $didprint) { 28bc421551SDag-Erling Smørgrav print "\n"; 29bc421551SDag-Erling Smørgrav $sawblank = 0; 30bc421551SDag-Erling Smørgrav } 31bc421551SDag-Erling Smørgrav print "$_\n"; 32bc421551SDag-Erling Smørgrav $didprint = 1; 33bc421551SDag-Erling Smørgrav } 34bc421551SDag-Erling Smørgrav ' 35bc421551SDag-Erling Smørgravelif (type mandoc && type col) >/dev/null 2>&1; then 36bc421551SDag-Erling Smørgrav mandoc -man -T ascii "$@" | col -bx 37bc421551SDag-Erling Smørgravelse 38bc421551SDag-Erling Smørgrav echo >&2 "$0: please install nroff and perl, or mandoc and col" 39bc421551SDag-Erling Smørgrav exit 1 40bc421551SDag-Erling Smørgravfi 41