[net.std] How to store video attributes in a t

apratt@iuvax.UUCP (05/02/84)

It makes the code look a little worse, but in a C program, the "accepted"
modular-programming method would be:

#define ON 1
#define OFF 0

	printf("This is ");
	highlight(ON);
	underline(ON);
	printf("very");
	highlight(OFF);
	underline(OFF);
	printf("important\n");

That way, the functions could take care of sending the apropriate code.
Redefining putc will *not* work if you use printf, unless you redefine printf
as well. This is because the library version of printf would not use your
new and improved putc as a filter/translator/interpreter.

In text files, however, the ANSI standard is as good as any, but a little
verbose; writing an interpreter for it (to include cursor motion, screen
clearing, etc.) is not trivial. Also, you should keep in mind that not a lot
of terminals have such features as double height/double width lines.
Of course, these files would have to be run through a filter which interprets
the embedded ANSI codes and sends the appropriate termcap-supported codes.
This all is assuming, of course, that you want portability from UNIX to UNIX
as well as terminal to terminal.

I suppose there is nothing intrinsically wrong with embedding control 
characters in a file, but I would be wary of transmitting it over the net.
After all, *somewhere* there might be a mailer which gags on ASCII 27 (ESC).
For local use with your own package, of course, you can do whatever you want.
----
						-- Allan Pratt
					...ihnp4!inuxc!iuvax!apratt