summaryrefslogtreecommitdiff
path: root/rc/bin/doctype
diff options
context:
space:
mode:
authorTaru Karttunen <taruti@taruti.net>2011-03-30 17:14:36 +0300
committerTaru Karttunen <taruti@taruti.net>2011-03-30 17:14:36 +0300
commit2959e1ede0ebc6fdffd7b8660f43c2ce14c9696f (patch)
treef6343b1ce11a8c87251dd27cf3d3e26b50693fa7 /rc/bin/doctype
parente463eb40363ff4c68b1d903f4e0cdd0ac1c5977f (diff)
Import sources from 2011-03-30 iso image - rc
Diffstat (limited to 'rc/bin/doctype')
-rwxr-xr-xrc/bin/doctype76
1 files changed, 76 insertions, 0 deletions
diff --git a/rc/bin/doctype b/rc/bin/doctype
new file mode 100755
index 000000000..6a2a27d3c
--- /dev/null
+++ b/rc/bin/doctype
@@ -0,0 +1,76 @@
+#!/bin/rc
+# doctype: synthesize proper command line for troff
+
+troff=troff
+eqn=eqn
+prefer=prefer
+opt=''
+dev=''
+while(~ $1 -*){
+ switch($1){
+ case -n;
+ troff=nroff
+ eqn=neqn
+ prefer='prefer -n'
+ case -T
+ dev=$1
+ case -*
+ opt=$opt' $1'
+ }
+ shift
+}
+ifs='
+'{
+ files=`{echo $*}
+}
+grep -h '\$LIST|\|reference|Jp|^\.(EQ|TS|\[|PS|IS|GS|G1|GD|PP|BM|LP|BP|PI|cstart|begin|TH...)|^\.P$' $* |
+sort -u |
+awk '
+BEGIN { files = "'$files'" }
+/\$LIST/ { e++ }
+/^\.PP/ { ms++ }
+/^\.LP/ { ms++ }
+/^\.EQ/ { eqn++ }
+/^\.TS/ { tbl++ }
+/^\.PS/ { pic++ }
+/^\.IS/ { ideal++ }
+/^\.GS/ { tped++ }
+/^\.G1/ { grap++; pic++ }
+/^\.GD/ { dag++; pic++ }
+/^\.\[/ { refer++ }
+/\|reference/ { prefer++ }
+/^\.cstart/ { chem++; pic++ }
+/^\.begin +dformat/ { dformat++; pic++ }
+/^\.TH.../ { man++ }
+/^\.BM/ { lbits++ }
+/^\.P$/ { mm++ }
+/^\.BP/ { pictures++ }
+/^\.PI/ { pictures++ }
+/^\.ft *Jp|\\f\(Jp/ { nihongo++ }
+END {
+ x = ""
+ if (refer) {
+ if (e) x = "refer/refer -e " files " | "
+ else x = "refer/refer " files "| "
+ files = ""
+ }
+ else if (prefer) { x = "cat " files "| '$prefer'| "; files = "" }
+ if (tped) { x = x "tped " files " | "; files = "" }
+ if (dag) { x = x "dag " files " | "; files = "" }
+ if (ideal) { x = x "ideal -q " files " | "; files = "" }
+ if (grap) { x = x "grap " files " | "; files = "" }
+ if (chem) { x = x "chem " files " | "; files = "" }
+ if (dformat) { x = x "dformat " files " | "; files = "" }
+ if (pic) { x = x "pic " files " | "; files = "" }
+ if (tbl) { x = x "tbl " files " | "; files = "" }
+ if (eqn) { x = x "'$eqn' '$dev' " files " | "; files = "" }
+ x = x "'$troff' "
+ if (man) x = x "-man"
+ else if (ms) x = x "-ms"
+ else if (mm) x = x "-mm"
+ if (lbits) x = x " -mbits"
+ if (pictures) x = x " -mpictures"
+ if (nihongo) x = x " -mnihongo"
+ x = x " '$opt' '$dev' " files
+ print x
+}'