A:=Array new:1056.#[],'\x12\x0f\x07\x08\x0e\x04 \x01\x09'with:'abcdefghi'do:[:v :c|I:=A indexOf:Z. 0to:v*v- 1 do:[:j|A at:j\\v+I+(j//v*33)put:' ',{c},(j\\v+I\\33>0or:[' '])]].A do:[:x|x display]
Note that non-ascii characters in the above source code will be escaped (such as \x9f).