[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

defontifying program

    Date: Fri, 3 Aug 90 14:06:16 EDT
    From: cstacy@ai.mit.edu (Christopher C. Stacy)

    I guess you could make a trivial pipe something like this:

    /* ff - flush fonts
      Copies standard input to standard output removing Genera font information. */

    #include <stdio.h>
    #define FONT_START ''

    main ()
    { int c;
      int flag = 0;
      while ((c = getchar()) != EOF) {
	      if ((c == FONT_START) || flag) flag = !flag;
	      else putchar(c);
WHOA! Your talking Release 6 fonts there!
In those days, the list of fonts appeared in the attribute line and the
file body contained # to switch to the #-th font.

Nowadays, character styles are used and its a bit more involved.

The 1st occurrence an  `turns on' the font machinery and defines a font
association. Such as:
   D,#TD1PsT[Begin using 006 escapes](1 0 (NIL 0) (:SWISS :ROMAN :SMALLER) "HL8") 
which turns on fonts and sets font # 1 to be swiss.roman.smaller.  
The next use of font # 1 would just use 1, as before.
0 switches back to the `default font'.

The first use of font # 2 might be something like
     (2 0 (NIL 0) (:SWISS :ITALIC NIL) "HL12I")
And so on...

So, the loop body needs to be something like the following (unfinished and untested!)

     if (c == FONT_START) {
       switch(getchar()) {
        '': while(getchar() != ']'); break;          /* Eat font initialization */
        '(': while(getchar() != balancing ')'); break; /* Write it yourself! */
		/* eg, some sort of increment on '(', decrement on ')', done when 0 */
        default: getchar(); break;}
     else putchar(c);

National Institute of Standards and Technology.

BTW: Somebody posted a request for us to include Signatures in our mail
messages (but neglected to include a return address :>).  I'm all for
that, but does anybody know how to get such things Automagically stuck
in?  I mean, you dont really expect me to THINK everytime I mail a
message, do you????