2001/10/02
CHAPTER 4 HP-GL/2 - 48
DV - Define variable text path
DV [ path [,line]] [;]
path : text printing path - horizontal or vertical, and left to right, right to left, upwards or downwards.
line: the effect of a line feed.
• This command determines the printing direction for labels and the carriage return point.
• Permissible values of path are 0, 1, 2 and 3. If path = 0 labels are printed horizontally and left to right -
normal printing. If path = 1 labels are printed vertically downwards - characters appear in a vertical
column. If path = 2 labels are printed horizontally and right to left - words appear backwards. If path =
3 labels are printed vertically upwards - characters appear in a vertical column, reading from bottom to
top.
• The value of line must be either 0 or 1. If line = 0, each time a line feed is encountered the current pen
position is moved at an angle of 90° to the path in a clockwise direction. Hence, if path = 1 the second
line of text is printed to the left of the first line. If line = 1 each time a line feed is encountered the
current pen position is moved at an angle of 90° to the path in an anticlockwise direction. Hence, if
path = 2 the second line of text is printed below the first line.
• If you do not use a DV command the default text path is horizontal, left to right: line feeds will move the
pen position at 90° to the text clockwise. This is equivalent to using the command DV0,0;
• If you omit both parameters the text path is horizontal, left to right.
CP - Relative character movement
CP [ spaces [,lines]] [;]
spaces ; the number of text spaces the pen position is moved.
lines ; the number of text lines the pen position is moved.
• Use this command to re-position the pen. The command moves the pen the specified number of lines
and spaces corresponding to the currently selected font's pitch and line spacing. (For proportionally
spaced fonts the width of the space character is used to determine the distance moved horizontally). All
movement is relative to the current label printing direction.
• spaces is the number of spaces that the pen moves. A positive value of spaces moves the pen right
from the current pen location: a negative value moves it to the left.
• lines is the number of lines that the pen moves. A negative value offset moves the pen down from the
current pen location: a positive value moves it upwards.
• Values for spaces and lines are clamped real numbers.
• The command only moves the pen and does not draw lines, irrespective of whether the pen is currently
up or down.
• On completion of the command, the previous pen status (up or down) is restored.
• The height of text lines (the vertical distance that a line feed moves the pen position) is fixed for every
font. However, it can be adjusted using the ES instruction.
• If you omit all parameters, the pen position moves to the carriage return point and then down one line -
hence CP; is equivalent to a carriage return followed by a line feed.
10 '-Character Plot -
20 WIDTH "LPT1:", 255
30 LPRINT CHR$(27); "E";
40 LPRINT CHR$(27); "%0B";
50 LPRINT "IN;SP1;";
60 LPRINT "PA1000,5000;";
70 LPRINT "PD;PR2000,0;PU;";
80 LPRINT "CP-15,1;";
90 LPRINT "LBAbove the line"; CHR$(3);
100 LPRINT "CP-14,-2;";
110 LPRINT "LBBelow the line"; CHR$(3);
120 LPRINT CHR$(27); "%0A";
130 LPRINT CHR$(27); "E";
140 END
<Sample 55>