mirror of
https://github.com/9fans/plan9port.git
synced 2025-01-12 11:10:07 +00:00
src/cmd: rm dformat
Unclear why it is here (wkj added it long ago). It has never been installed into $PLAN9/bin, so it's doubtful that anyone has ever used it. Arnold Robbins has an alternate version at https://github.com/arnoldrobbins/dformat. Fixes #421.
This commit is contained in:
parent
329831171d
commit
95ab1308b4
1 changed files with 0 additions and 108 deletions
108
src/cmd/dformat
108
src/cmd/dformat
|
@ -1,108 +0,0 @@
|
||||||
awk '
|
|
||||||
function error(s) { print "dformat error: " s " near input line " NR | "cat 1>&2" }
|
|
||||||
|
|
||||||
BEGIN { s = "recht 0.3 addrht 0.055 recspread 0.15 "
|
|
||||||
s = s "charwid 0.07 textht 0.167 addrdelta 4 "
|
|
||||||
s = s "bitwid 0.125 linedisp 0.04 addr both "
|
|
||||||
s = s "fill off linethrutext 1"
|
|
||||||
n = split(s, x)
|
|
||||||
for (i = 1; i <= n-1; i += 2) oparm[x[i]] = parm[x[i]] = x[i+1]
|
|
||||||
}
|
|
||||||
|
|
||||||
inlang == 0 { if ($0 !~ /^\.begin[ \t]/ || $2 != "dformat") print
|
|
||||||
else {
|
|
||||||
inlang = 1; print ".PS"; boxacnt = 0
|
|
||||||
if (firstpic != 1) { firstpic = 1; print "fillval = 0.9" }
|
|
||||||
}
|
|
||||||
next
|
|
||||||
}
|
|
||||||
/^\.end/ { inlang = 0; print ".PE"; next }
|
|
||||||
|
|
||||||
$1 == "style" { if (!($2 in parm)) error("unrecognized name: " $2)
|
|
||||||
else if ($3 == "reset") {
|
|
||||||
t = oparm[$2]; oparm[$2] = parm[$2]; parm[$2] = t
|
|
||||||
} else {
|
|
||||||
oparm[$2] = parm[$2]; parm[$2] = $3
|
|
||||||
}
|
|
||||||
next
|
|
||||||
}
|
|
||||||
|
|
||||||
$1 == "pic" { $1 = ""; print $0; next }
|
|
||||||
|
|
||||||
/^[^ \t]/ { printf "BoxA: box invis ht %g wid 0", parm["recht"]
|
|
||||||
if (boxacnt++) printf " with .n at BoxA.s - (0,%g)",
|
|
||||||
parm["recspread"] + maxdy*parm["textht"]
|
|
||||||
printf "\n"
|
|
||||||
maxdy = sumboxlen = 0
|
|
||||||
gsub(/[ \t]+$/, "")
|
|
||||||
if ($0 != "noname") {
|
|
||||||
printf " \"%s \" rjust at BoxA.w\n", $0
|
|
||||||
printf " box invis with .e at BoxA.w ht 0 wid %g\n",
|
|
||||||
parm["charwid"] * (length($0) + 3)
|
|
||||||
}
|
|
||||||
printf " BoxB: box invis ht %g wid 0 at BoxA\n", parm["recht"]
|
|
||||||
next
|
|
||||||
}
|
|
||||||
/./ { boxname = ""
|
|
||||||
if ($1 ~ /:$/) {
|
|
||||||
boxname = substr($1, 1, length($1)-1)
|
|
||||||
$1 = ""; $0 = " " $0
|
|
||||||
}
|
|
||||||
range = $1; $1 = ""
|
|
||||||
gsub(/^[ \t]+/, ""); gsub(/[ \t]+$/, ""); text = $0
|
|
||||||
n = split(range, x, "-")
|
|
||||||
rlo = x[1]
|
|
||||||
rhi = (n >= 2) ? x[2] : rlo
|
|
||||||
cwid = (rhi >= rlo) ? rhi - rlo + 1 : rlo - rhi + 1
|
|
||||||
rwid = (n >= 3) ? (0 + x[3]) : cwid
|
|
||||||
btype = x[4]
|
|
||||||
if (btype !~ /^(dot|dash|invis)/) btype = "solid"
|
|
||||||
textlen = parm["charwid"] * length(text)
|
|
||||||
boxlen = parm["bitwid"] * rwid
|
|
||||||
dy = 0
|
|
||||||
if (textlen > boxlen) { # set dy, the channel for this text
|
|
||||||
chan[maxdy+1] = -999
|
|
||||||
for (dy = 1; chan[dy]+textlen > sumboxlen; dy++) ;
|
|
||||||
if (dy > maxdy) maxdy = dy
|
|
||||||
if (parm["linethrutext"] == 0)
|
|
||||||
for (k = 1; k <= dy; k++)
|
|
||||||
chan[k] = sumboxlen+boxlen
|
|
||||||
else
|
|
||||||
chan[dy] = sumboxlen
|
|
||||||
}
|
|
||||||
sumboxlen += boxlen
|
|
||||||
fill = ""
|
|
||||||
if (parm["fill"] == "on") fill = " fill "
|
|
||||||
if (boxname != "") printf " %s:", boxname
|
|
||||||
printf " BoxB: box %s %s ht %g wid %g with .w at BoxB.e\n",
|
|
||||||
fill, btype, parm["recht"], boxlen
|
|
||||||
if (dy == 0) printf " \"%s\" at BoxB.c\n", text
|
|
||||||
else { if (rwid < 2) start = "BoxB.s"
|
|
||||||
else start = "BoxB.se - (" parm["linedisp"] ",0)"
|
|
||||||
printf " line from %s down %g\n",
|
|
||||||
start, dy*parm["textht"]
|
|
||||||
printf " \"%s\\|\" at last line .s rjust\n", text
|
|
||||||
printf " box invis with .e at last line .s ht 0 wid %g\n",
|
|
||||||
textlen
|
|
||||||
}
|
|
||||||
|
|
||||||
if (parm["addr"] ~ /^(left|right|both)$/) {
|
|
||||||
dp = int(parm["addrdelta"]) # Delta Point size
|
|
||||||
if (dp < 0 || dp > 9) error("bad addrdelta value: " dp)
|
|
||||||
dah = parm["addrht"] # Delta Addr Height
|
|
||||||
pb = parm["addr"] # Parameter for Bits
|
|
||||||
if (rlo == rhi) {
|
|
||||||
printf " \"\\s-%d%s\\s+%d\" at BoxB.s + (0,%g)\n",
|
|
||||||
dp, rlo, dp, dah
|
|
||||||
} else {
|
|
||||||
if (pb == "left" || pb == "both")
|
|
||||||
printf "\t\"\\|\\s-%d%s\\s+%d\" ljust at BoxB.sw + (0,%g)\n",
|
|
||||||
dp, rlo, dp, dah
|
|
||||||
if (pb == "right" || pb == "both")
|
|
||||||
printf "\t\"\\s-%d%s\\s+%d\\|\" rjust at BoxB.se + (0,%g)\n",
|
|
||||||
dp, rhi, dp, dah
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
END { if (inlang) error("eof inside begin/end") }
|
|
||||||
' $*
|
|
Loading…
Reference in a new issue