Pinstripe/Printer: Difference between revisions

→‎Tcl: Added implementation
m (Use pixels if you must)
(→‎Tcl: Added implementation)
Line 3:
 
After the first inch of printing, we switch to a wider 2 point wide vertical pinstripe pattern. alternating two points white, two points black. We then switch to 3 points wide for the next inch, and then 4 points wide, etc. This trend continues for the entire length of the page (or for 12 inches of run length in the case of a printer using continuous roll stationery). After printing the test pattern the page is ejected (or the test pattern is rolled clear of the printer enclosure, in the case of continuous roll printers).
 
=={{header|Tcl}}==
This code assumes that the page's printable area is 8.5"×11".
{{libheader|Tk}}
<lang tcl>package require Tk
# Allocate a temporary drawing surface
canvas .c
# Draw the output we want
for {set y 0;set dx 1} {$y < 11*72} {incr y 72;incr dx} {
for {set x 0;set c 0} {$x < 8.5*72} {incr x $dx;set c [expr {!$c}]} {
.c create rectangle $x $y [expr {$x+$dx+1}] [expr {$y+73}] \
-fill [lindex {black white} $c] -outline {}
}
}
# Send postscript to default printer, scaled 1 pixel -> 1 point
exec lp - << [.c postscript -height $y -width $x -pageheight $y -pagewidth $x]
# Explicit exit; no GUI desired
exit</lang>
Anonymous user