window_printf_c

	num_chars.i4.v = window_printf_c(window_id.i2.v, format_string.i1a.r
					 [,value_1, value_2, ...])

	This routine emulates the action of printf in a TV window.
	The first call to this routine for a window writes the output
	to the first line in the window's visible scroll buffer.  Each
	successive line is output to the next row in the window until
	the visible scroll region is filled.  Each additional line is
	written to the last visible row of the scroll buffer with the
	previous lines all being scrolled up by one as on a terminal.
	In addition to the standard printf conversion types, the
	format string can contain "%C" conversions which will change
	the color for subsequent output characters.  This type requires
	one integer argument whose value is a valid TV color.  The
	constants for these colors can be found in 'cnsparam'.  Note that
	the initial color is always WHITE.  There is an additional special
	conversion type supported which is "%F".  This type allows access
	to all of the site-specific conversion types provided by the
	routine numeric_to_ascii(_c).  This type requires a minimum of two
	arguments.  The first is an integer which contains the conversion
	type.  These constants can be found in 'cbslib'.  Please, see the
	help for numeric_to_ascii(_c) for further information on these
	types.  The second argument is the actual data.  The field width
	for a "%F" conversion can either be specified by an integer in
	the format string or by an asterisk operator.  If the asterisk
	operator is used, its value is the first argument with the
	conversion type being the second argument and the value being
	converted being the third argument.  There is no precision
	specification supported for "%F" conversions.  If the field width,
	is specified, that will determine the width of the corresponding
	field in the output.  A field width with a leading zero will result
	in padding the output with zeroes.  In addition to field width, the
	justification of an output field can be specified by inserting a
	minus character ('-') for left, a plus character ('+') for right,
	or a caret ('^') character for center justification.  The "%F"
	operator is most appropriate if used only with site-specific
	conversion types.  Another special format specifier available from
	this routine is "%P".  This allows the caller to specify that the
	output pointer be positioned to a particular character cell.  This
	type requires one integer argument which is the character cell number
	(starting at 1).  If the desired position is greater than the present
	position of the pointer, the interim characters will be filled with
	blanks.  This feature is useful for producing aligned output columns.
	A string of like characters can be included in the output text
	through the use of the %I format specifier.  This specifier requires
	two arguments.  The first is the character to insert, and the
	second is the number of characters to insert.  If the number of
	characters is negative, this format specifier works similarly to
	the %P format specifier except for the fact that the specified fill
	character is used in place of blanks.  Capitalization of text can be
	altered with the "%K" format specifier.  This takes a single argument
	which indicates the desired character case for future output text.
	The values for this argument are the same as those for the routine
	str_case_c.

	window_id	window ID (use WMNGR_BACKGROUND for background window)
	format_string	null terminated string which contains the
			characters to be written literally or converted
			as specified by the optional value arguments
	[value_1...]	optional values which correspond to conversion
			expressions in the format string

	This function returns status values as follows:

	number of characters output

	This function requires the following include files:

	cnsparam_h, cbslib_h, extchrset_h

	Related functions:

	window_printf_at_c, window_printf_noscroll_c, clib_printf,
	clib_fprintf, clib_sprintf, clib_sprintfx, clib_vsprintf,
	clib_vsprintfx, window_display_value(_c), numeric_to_ascii(_c),
	numeric_default_length_c, window_tvm(_c), window_write_scroll_c,
	window_enable_scroll_io_c, str_case_c

	C/C++ usage:

	static const char	format_string[] = "%CThe device name is %C%F%C.";
	short	window_id;
	int	num_chars;

	num_chars = window_printf_c(window_id,format_string,
				    CYAN,GREEN,CNV_DEVICE,27235,CYAN);