diff options
Diffstat (limited to 'Master/texmf-dist/doc/fonts/wntamil/tamilize.c')
-rw-r--r-- | Master/texmf-dist/doc/fonts/wntamil/tamilize.c | 323 |
1 files changed, 0 insertions, 323 deletions
diff --git a/Master/texmf-dist/doc/fonts/wntamil/tamilize.c b/Master/texmf-dist/doc/fonts/wntamil/tamilize.c deleted file mode 100644 index 368bbd573b9..00000000000 --- a/Master/texmf-dist/doc/fonts/wntamil/tamilize.c +++ /dev/null @@ -1,323 +0,0 @@ -/* Convert transliterated Tamil text to codes known to the Tamilmax.tex */ -/* set of macros using the wntml fonts */ - -#include <stdio.h> -#include <ctype.h> - - -/* globally accessible variables */ - -int tamilflag,t_errors,true,false,errorcount,transflag; -char switcher,tdelim; -char tspace[2]; -void changestate(); -FILE *input,*output; -char filename[128]; - - - -/* functions */ - -/* void bracket_err() -{ - printf("\nCharacter '}' read while scanning Tamil; need to edit file.\n"); - printf("Examine end of the output file to find location of problem."); - fclose(input); - fclose(output); - abort(); -} */ - -void haccbox() -{ - puts("Tamilize: Tamil to TeX converter v:0.97 of 4/24/90"); - puts("Humanities And Arts Computing Center, DR-10"); - puts("University of Washington"); - puts("Seattle, Washington, 98195 USA"); - puts("phone (206)-543-4218"); - puts("ridgeway@blake.u.washington.edu"); - puts("Copyright 1990 Humanities and Arts Computing Center"); - puts("You are welcome to use this work-in-progress, but please do not"); - puts("redistribute: rather, refer other interested parties to us."); - puts("Since this is a work in progress, we do not want uncontrolled"); - puts("proliferation of pre-release versions."); - return; -} - -FILE *getopen(char *access) -{ - int temp; - FILE *handle; - gets(filename); - handle=fopen(filename,access); - if (handle == (FILE *) NULL) { - printf("Can't open file %s",filename); - errorcount++; - if (errorcount > 9) { - printf("\n\n\n\n\nToo many errors!\n"); - abort(); - } - } - return handle; -} -FILE *get_file(char *access,char *prompt) -{ - puts(prompt); - return getopen(access); -} - -int isvowel(char thischar) -{ - switch (thischar) { - case 'a' : - case 'e' : - case 'i' : - case 'o' : - case 'u' : return true; - default : return false; - } -} - -void stringout(char *string) -{ - fputs(string,output); -} - -void charout(char thischar) -{ - putc(thischar,output); -} - -void romanout(char thischar) -{ - stringout("{\\roman "); - charout(thischar); - charout('}'); -} - -void transcribe_err(char thischar) -{ - printf("Character %c encountered in Tamil environment.\n",thischar); - romanout(thischar); -} - -void pushback(char thischar) -{ - ungetc(thischar,input); -} - -void processtamil() -{ - char ch; - int newsyl; - newsyl=true; - for (tamilflag=true; tamilflag==true; ) { - ch = getc(input); - if (ch == EOF) abort(); - if (ch == switcher) changestate(); - else if (isspace(ch)) { - stringout(tspace); - charout(ch); - for ( ch=getc(input); isspace(ch); ch=getc(input)) charout(ch); - pushback(ch); - newsyl=true; - } - else if (ispunct(ch) ) { - if (ch == 125) printf("\nCharacter } encountered while scanning tamil -- probable error.\n"); - romanout(ch); - newsyl=true; - } - else { - switch (ch) { - case 'a': - case 'e': - case 'i': - case 'o': - case 'u': if (newsyl==true) { - charout(tdelim); - newsyl=false; - } - charout(ch); - break; - case 'c': - case 't': - case 'p': - case 'm': - case 'y': - case 'r': - case 'l': - case 'v': - case 's': - case 'j': - case 'x': - case 'h': charout(tdelim); - charout(ch); - newsyl=false; - break; - case 'k': charout(tdelim); - ch=getc(input); - if (ch=='4') charout('X'); - else { - charout('k'); - pushback(ch); - } - newsyl=false; - break; - case '2': charout(tdelim); - charout('N'); - newsyl=false; - break; - case '3': charout(tdelim); - stringout("NN"); - newsyl=false; - break; - case '4': charout(tdelim); - charout('S'); - newsyl=false; - break; - case '5': charout(tdelim); - stringout("NY"); - newsyl=false; - break; - case '6': charout(tdelim); - charout('R'); - newsyl=false; - break; - case '7': charout(tdelim); - charout('Z'); - newsyl=false; - break; - case '8': charout(tdelim); - charout('T'); - newsyl=false; - break; - case '9': charout(tdelim); - charout('L'); - newsyl=false; - break; - case 'n': charout(tdelim); - ch=getc(input); - if (ch=='g') stringout("ng"); - else { - charout('n'); - pushback(ch); - } - newsyl=false; - break; - default : transcribe_err(ch); - newsyl=true; - } /* endcase */ - } /* endif */ - } /* endfor*/ -} - -void starttamil() -{ - stringout("{\\btam "); /* stringout("{\\starttamil\%\n"); */ - processtamil(); -} - -void endtamil() -{ - stringout("}\\etam{}"); /* stringout("}\\endtamil\%\n"); */ - tamilflag=false; -} - -void changestate() -{ - if (tamilflag==true) endtamil(); - else starttamil(); -} - -main(int argc, char *argv[]) -{ - int ch,err,notdone,vowflag,initflag; - errorcount=0; - switcher='~'; - true=1; - false=0; - tamilflag=false; - tdelim=1; /* i.e. control-a ::: if yah don't like it, change it */ - tspace[0]=tdelim; - tspace[1]=' '; - haccbox(); - vowflag=0; - if (argc > 1) input = fopen(argv[1],"rb"); - if (input == (FILE *) NULL) { - /* prompt for and open input file */ - for ( ; input == (FILE *) NULL ; input=get_file("rb","Enter name of input file: ")) ; - } - /* we are making these binary, as we have no guarantee what kind */ - /* of character may be in the transcription: we don't care about */ - /* ends of lines, as we are reading character by character */ - if (argc > 2) output = fopen(argv[2],"wb"); - if (output == (FILE *) NULL) { - for ( ; output == (FILE *) NULL ; output=get_file("wb","Enter name of output file: ")) ; - /* prompt for and open output file */ - } - while ((ch = getc(input)) != EOF) { - if (ch == switcher) changestate(); - else { - if (ch == '|') { - vowflag=1; - notdone=1; - initflag=2; - while (notdone) { - ch=getc(input); - if (isalnum(ch)) { - initflag--; - if (vowflag==0) { - if (! isvowel(ch)) stringout("\\-"); - } - if (isvowel(ch)) vowflag=1; - else vowflag=0; - } - else { - vowflag=1; - initflag=2; - } - if (ch==EOF) notdone=0; - else { - switch(ch) { - case '2': stringout("\\ndot{}"); - break; - case '3': stringout("\\nndot{}"); - break; - case '4': stringout("\\skts{}"); - break; - case '5': stringout("\\paln{}"); - break; - case '6': stringout("\\rdot{}"); - break; - case '7': stringout("\\rdotdot{}"); - break; - case 'T': stringout("\\tdot{}"); - break; - case 'D': stringout("\\dotd{}"); - break; - case '8': - if ( initflag > 0 ) stringout("\\tdot{}"); - else { - err=getc(input); - if (err == '8') stringout("\\tdot{}\\tdot{}"); - else { - stringout("\\dotd{}"); - pushback(err); - } - } - break; - case '9': stringout("\\dotl{}"); - break; - case '|': notdone=0; - break; - default: putc(ch,output); - } /* endcase */ - } /* end else */ - } /* endwhile */ - } /* endif */ - else putc(ch,output); - } /* endelse */ - } /* endwhile */ - fclose(input); - fclose(output); - puts("Tamilize is done."); -} |