#!/usr/local/bin/nawk -f function quit() { system("rm -f " tmpfile) exit } BEGIN { while ((getline < (ENVIRON["HOME"] "/share/gsfonts/Fontmap")) > 0) { sub(/^\//, "", $1) fonts[n++] = $1 } if (! n) { print "No fonts found" exit } if (("mktemp ~/.mktext.XXXXXX" | getline tmpfile) == 0) exit for (i = 0; i < n; i++) printf "%3d: %s\n", i + 1, fonts[i] > tmpfile font = 0; size = 1; text = 2; file = 3 v[size] = 10 v[text] = "Sample" v[file] = "text.ps" for (;;) { system("less " tmpfile) for (i = 0; i < 4; i++) { if (i == font) prompt = "Font (1-" n ")" else if (i == size) prompt = "Size" else if (i == text) prompt = "Text" else prompt = "File" if (v[i] != "") prompt = (prompt " [" v[i] "]") prompt = (prompt ": ") printf prompt if ((getline < "/dev/tty") <= 0) quit() if ($0 != "") v[i] = $0 else if (v[i] == "") { print "Error: empty value" i-- } } system("mkpstext -f " fonts[v[font] - 1] " -s " v[size] \ " -t '" v[text] "' >'" v[file] "'; psview '" v[file] "' &") } } .