did_it.i4.v = window_vertical_text(window_id.i2.r, row.i4.r,
					   column.i4.r, text.i1a.r,
					   num_chars.i4.r, color.i4.r

	did_it.i4.v = window_vertical_text_c(window_id.i2.v, row.i4.v,
					     column.i4.v, text.i1a.r,
					     num_chars.i4.v, color.i4.v

	This routine will display vertical text in the window indicated by
	"window_id" starting at "row", "column".  Each successive character
	will be drawn at the next row in "column".

	window_id	window ID (use WMNGR_BACKGROUND for background window)
	row, column	starting window coordinate location
	text		user buffer of ASCII data to be written,
			one character per byte
	num_chars	number of ASCII characters to be written,
			one per row  (If "num_chars" is 0, the length of the
			string pointed to by "text" is determined and used.)
	color		display color  (If a background color other than
			black is desired, a compound color value can be
			constructed using tv_colors or TV_COLORS_WBLINK.)
			(constants are in 'cnsparam')
	[direction]	drawing direction
			(WMNGR_DOWN -> first character at (row, col) and each
				       following character will be at a higher
				       row number (top to bottom) (default),
			 WMNGR_UP -> first character at (row, col) and each
				     following character will be at a lower
				     row number (bottom to top))

	This function returns status values as follows:

	CBS_MEMFAIL		dynamic memory allocation failure
	TRUE			window I/O actually done
	FALSE			no window I/O done

	This function requires the following include files:

	cnsparam_h, cbslib_h, acnet_errors_h

	Related functions:

	window_tvm(_c), window_tvmx(_c), tv_colors, TV_COLORS_WBLINK,

	C/C++ usage:

	static const char	text[] = "Vertical text";
	short	window_id;
	int	did_it;
	int	row = 1;
	int	column = 1;
	int	num_chars = 0;
	int	color = CYAN;
	int	direction = WMNGR_DOWN;

	did_it = window_vertical_text_c(window_id,row,column,text,