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