Gallery › Printmaking and etching

Out of Register

A three-plate risograph sunset, misregistered on purpose: every tone is a halftone dot.

Out of Register, a three-colour risograph-style sunset made of halftone dots in teal and orange with dark line ridges, printed slightly misaligned
Click the picture for the full-size render.

How it is made

Every tonal mark is a halftonekit cell, and none is placed by hand. A teal dot plate (sky and water, at 15 degrees), an orange dot plate (the sun's halo and a horizon band, at 75 degrees) and a dark line plate (two ridges shaded by height, at 45 degrees) are each shifted a few units, so the dot lattice moves while the image stays. The flat sun core, the registration crosshairs, the colour bars and the letterpress title are all there too.

Details

Category
Printmaking and etching
Libraries
halftonekit
Added
2026-09-03
Built in
issue #126
Page size
720 × 900 points

Source

View source the whole program in a scrolling window, or read gallery/out_of_register.ps on GitHub. To draw it yourself, from a checkout of the repository:

pscat --page 720x900 gallery/out_of_register.ps
The first 40 of 145 lines of the source
%!PS-Adobe-3.0
%%Title: Out of Register
%%BoundingBox: 0 0 720 900
%%Creator: Muse Code, after the risograph printers
%%EndComments

% Out of Register — a three-plate sunset misregistered on purpose.
% Every tonal mark on this page is a halftone cell, not a hand-placed
% dot: the screening *is* the picture, which is the point the piece
% exists to make about lib/halftonekit.ps (issue #53).
%
%   teal plate    dot screen, 15 degrees, offset [4 2]: a sky gradient
%                 and a water gradient, one /Tone field in page space
%   orange plate  dot screen, 75 degrees, offset [-3 3]: a linear-cone
%                 sun halo plus a warm horizon band, maxed together
%   key plate     LINE screen, 45 degrees, offset [2 -2]: two tent
%                 ridges shaded by height fraction (continuous rules
%                 at uniform tone read as structure — the reviewer's
%                 A2, taken)
%   solids        parchment ground first, then a flat orange sun core
%                 under the halo, a deliberately shifted key ring
%                 around it, two teal water rules, key registration
%                 crosshairs, plate color bars, letterpress title
%
% Misregistration comes purely from per-call /Offset (+/Angle): every
% /Tone field is defined once in page space and stays registered to
% the page while the lattice shifts (the plate-moves-not-image
% contract — no offset compensation inside any /Tone proc). One
% `<path> clip` up front, explicit inflated /Boxes per plate, opaque
% overprint in paint order, light plates first and key last.
%
% Run from the repo root:
%   pscat --page 720x900 gallery/out_of_register.ps

(lib/halftonekit.ps) run

% v oorclamp01 -> v clamped into [0,1]: plain arithmetic, total.
/oorclamp01 {
  dup 0 lt { pop 0 } if
  dup 1 gt { pop 1 } if