1*15492Sralph #ifndef lint 2*15492Sralph static char sccsid[] = "@(#)linemod.c 4.1 (Berkeley) 11/10/83"; 3*15492Sralph #endif 4*15492Sralph 5*15492Sralph #include "gigi.h" 6*15492Sralph 7*15492Sralph linemod( line ) 8*15492Sralph char *line; 9*15492Sralph { 10*15492Sralph /* 11*15492Sralph * Note that the bit patterns could be compacted using the 12*15492Sralph * repeat field conventions. They aren't for clarity. 13*15492Sralph * Examples of almost identical packed patterns are in the 14*15492Sralph * comments. 15*15492Sralph * If linemod is changed really often, a ~15% savings 16*15492Sralph * could be achieved. 17*15492Sralph */ 18*15492Sralph if ( *(line) == 's' ) { 19*15492Sralph if ( *(++line) == 'o' ) { 20*15492Sralph /* 21*15492Sralph * solid mode 1 22*15492Sralph */ 23*15492Sralph printf( "W(P1)" ); 24*15492Sralph return; 25*15492Sralph } 26*15492Sralph else if ( *(line) == 'h' ) { 27*15492Sralph /* 28*15492Sralph * shortdashed mode 4 29*15492Sralph * printf( "W(P000111)" ); 30*15492Sralph */ 31*15492Sralph printf( "W(P00011100)" ); 32*15492Sralph return; 33*15492Sralph } 34*15492Sralph } 35*15492Sralph else if ( *(line) == 'd' ) { 36*15492Sralph if ( *(++line) == 'o' && *(++line) == 't' ) { 37*15492Sralph if ( *(++line) == 't' ) { 38*15492Sralph /* 39*15492Sralph * dotted mode 2 40*15492Sralph * printf( "W(P00001)" ); 41*15492Sralph */ 42*15492Sralph printf( "W(P10000000)" ); 43*15492Sralph return; 44*15492Sralph } 45*15492Sralph else if ( *(line) == 'd' ) { 46*15492Sralph /* 47*15492Sralph * dotdashed mode 3 48*15492Sralph * printf( "W(P0110010)" ); 49*15492Sralph */ 50*15492Sralph printf( "W(P10001100)" ); 51*15492Sralph return; 52*15492Sralph } 53*15492Sralph } 54*15492Sralph } 55*15492Sralph else if ( *(line) == 'l' ) { 56*15492Sralph /* 57*15492Sralph * longdashed mode 5 58*15492Sralph * printf( "W(P11100)" ); 59*15492Sralph */ 60*15492Sralph printf( "W(P11111100)" ); 61*15492Sralph return; 62*15492Sralph } 63*15492Sralph printf( "W(P1)" ); /* default to solid */ 64*15492Sralph return; 65*15492Sralph } 66