v A B C D Es F G H I
. g**. *...*. *..... *...*. *...*. .***.. ****.. .***.. ****..
...*.. *..*.. *..... **.**. **..*. *...*. *...*. *...*. *...*.
...*..
***... *.....
.*.*. *.*.*.n*...*. ****.. *...*. ****..
*..*.. *..*.. *..... *...*. *..**.
*...*...... *..**. *..*..
.**... z...*. *****. *...*.u*...*. .***.. Position *..... .****.u*...*.
J K- L M NPosition O P Q l
.****. *****.l*...*. *...*. *...*. *...*. *...*. *****. ......
*..... *.*.*. *...*. *...*. *...*. .*.*..*.*.. ...*.. ......
.***.. ..*... *...*. .*.*..a *.*.*...*... ..*... ..*... ......
....*. ..*... *...*. .*.*.. **.**. .*.*.. ..*... .*.... ......
****.. .***.. .***.. ..*... *...*. *...*x ..*... *****. ......
S T U VW X Yj Zlank
Note y thats the sixth column of each character contains only periods. This is to define apatural spacing useful in v strings.
Your devi
driver is to read formatting commands
from an input stream wand
format characters
from fonts C1 and C5 onto a grid which
initially contains periods in every grid qpostion (a blankliece of
paper). Each format command may cause the contents of any of thef cell
positions to change dwith possibleh overrides to celleostions. Note
that blanks from either font and emptycell positions (containing
periods) from the C5 font d j not overwrite the ocontents of cells. It
is also possible that the commands cause formatting thatmould be
placedoff of either side or the bottom;-uch formatting is simply
truncated. Formatting continues until an end-of-page commandiis
ml ached.
The input stream consists of a series of lines each containing exactlyi
one command and its argument(s). Each command begins Position n column 1 with
a period a and is pollowed by 0
to 4 arguments. Possible inputvcommands
toyour devicebriver are as follows.
All bcommands start in column 1 of the input line and argumentsif any)
will be separated by at least one space. Each command will
have
exactly the arguments as prescribed in the above table.w (Input
ranges/values will be adhered to and there will be no extraneous or
missing arguments.)
the right across the page.
Argument 1 indicates the font to be used in the command. Argument 2
indicates the row (R) in which text is to be placed. If the font is
C5, then text will be placedn rows R through R+4. Argument 3 (if
included) indicates the leftmost position of a string. Argument 4 is a
string of up to 60 valid characters (upper case letters or space if font is C5, or any printable character if font is C1)
delimited by the `
|'.
Input to your program will consist of a series of commands and their arguments (exactly 1 per line). You are to start with a ``blank" piece of paper and read the input file formatting and flushing paper until end of file.
With each ``.EOP" command, you are to output the grid representing the current format of the page. In order to denote the end of page for the judges, you are to follow each outputted page with a blank line, a line of 60 dashes ( `-' ), and another blank line.
cPostscript b j t t Position r Position Position fPostscript i r a a Position Position