summaryrefslogtreecommitdiff
path: root/fonts/greek/kd/utils
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /fonts/greek/kd/utils
Initial commit
Diffstat (limited to 'fonts/greek/kd/utils')
-rw-r--r--fonts/greek/kd/utils/ascii2grtex.c140
1 files changed, 140 insertions, 0 deletions
diff --git a/fonts/greek/kd/utils/ascii2grtex.c b/fonts/greek/kd/utils/ascii2grtex.c
new file mode 100644
index 0000000000..e81684d303
--- /dev/null
+++ b/fonts/greek/kd/utils/ascii2grtex.c
@@ -0,0 +1,140 @@
+#include <stdio.h>
+
+/* Translation File for greek ISO characters to TeX input */
+
+void process_tex_file();
+
+main(argc,argv)
+ int argc;
+ char **argv;
+{
+ FILE *f;
+ int i;
+ char *InFileN;
+ char *OutFileN;
+ FILE *InFile;
+ FILE *OutFile;
+
+ if (argc >= 2){
+ InFileN=argv[1];
+ if( (InFile = fopen(InFileN,"r")) == NULL){
+ extern int errno, sys_nerr;
+ extern char *sys_errlist[];
+
+ fprintf(stderr, "%s: can't open file %s (%s)\n",
+ argv[0],InFileN,
+ (errno > 0 && errno < sys_nerr) ? sys_errlist[errno] : "Unkown error" );
+ exit( 1 );
+ }
+ }
+ else
+ InFile=stdin;
+ if (argc == 3){
+ OutFileN = argv[2];
+ if( (OutFile = fopen(OutFileN,"w")) == NULL){
+ extern int errno, sys_nerr;
+ extern char *sys_errlist[];
+
+ fprintf(stderr, "%s: can't open file %s (%s)\n",
+ argv[0],OutFileN,
+ (errno > 0 && errno < sys_nerr) ? sys_errlist[errno] : "Unkown error" );
+ exit( 1 );
+ }
+ } else
+ OutFile = stdout;
+
+ process_tex_file(InFile,OutFile);
+ exit(0);
+}
+
+
+void process_tex_file(in,out)
+ FILE *in;
+ FILE *out;
+{
+ int ch;
+
+
+ fprintf(out,
+ "%% ISO (IBM) greek ascii -> to greekTeX automatic translation\n");
+ fprintf(out,"%% Converter by K J Dryllerakis\n");
+ while((ch = fgetc(in)) != EOF){
+ switch (ch){
+ case 182: fprintf(out,"'A"); break;
+ case 184: fprintf(out,"'E"); break;
+ case 185: fprintf(out,"'H"); break;
+ case 186: fprintf(out,"'I"); break;
+ case 188: fprintf(out,"'O"); break;
+ case 190: fprintf(out,"'Y"); break;
+ case 191: fprintf(out,"'W"); break;
+ case 192: fprintf(out,"'i"); break;
+ case 193: fprintf(out,"A"); break; /* Capitals */
+ case 194: fprintf(out,"B"); break;
+ case 195: fprintf(out,"G"); break;
+ case 196: fprintf(out,"D"); break;
+ case 197: fprintf(out,"E"); break;
+ case 198: fprintf(out,"Z"); break;
+ case 199: fprintf(out,"H"); break;
+ case 200: fprintf(out,"J"); break;
+ case 201: fprintf(out,"I"); break;
+ case 202: fprintf(out,"K"); break;
+ case 203: fprintf(out,"L"); break;
+ case 204: fprintf(out,"M"); break;
+ case 205: fprintf(out,"N"); break;
+ case 206: fprintf(out,"X"); break;
+ case 207: fprintf(out,"O"); break;
+ case 208: fprintf(out,"P"); break;
+ case 209: fprintf(out,"R"); break;
+ case 211: fprintf(out,"S"); break;
+ case 212: fprintf(out,"T"); break;
+ case 213: fprintf(out,"U"); break;
+ case 214: fprintf(out,"F"); break;
+ case 215: fprintf(out,"Q"); break;
+ case 216: fprintf(out,"Y"); break;
+ case 217: fprintf(out,"W"); break;
+ case 218: fprintf(out,"\"I"); break; /* " */
+ case 219: fprintf(out,"\"Y"); break;
+ case 220: fprintf(out,"'a"); break; /* lower +' */
+ case 221: fprintf(out,"'e"); break;
+ case 222: fprintf(out,"'h"); break;
+ case 223: fprintf(out,"'i"); break;
+ case 224: fprintf(out,"\"'u"); break;
+ case 225: fprintf(out,"a"); break; /* lower */
+ case 226: fprintf(out,"b"); break;
+ case 227: fprintf(out,"g"); break;
+ case 228: fprintf(out,"d"); break;
+ case 229: fprintf(out,"e"); break;
+ case 230: fprintf(out,"z"); break;
+ case 231: fprintf(out,"h"); break;
+ case 232: fprintf(out,"j"); break;
+ case 233: fprintf(out,"i"); break;
+ case 234: fprintf(out,"k"); break;
+ case 235: fprintf(out,"l"); break;
+ case 236: fprintf(out,"m"); break;
+ case 237: fprintf(out,"n"); break;
+ case 238: fprintf(out,"x"); break;
+ case 239: fprintf(out,"o"); break;
+ case 240: fprintf(out,"p"); break;
+ case 241: fprintf(out,"r"); break;
+ case 242: fprintf(out,"c"); break;
+ case 243: fprintf(out,"s"); break;
+ case 244: fprintf(out,"t"); break;
+ case 245: fprintf(out,"u"); break;
+ case 246: fprintf(out,"f"); break;
+ case 247: fprintf(out,"q"); break;
+ case 248: fprintf(out,"y"); break;
+ case 249: fprintf(out,"w"); break;
+ case 250: fprintf(out,"\"i"); break;
+ case 251: fprintf(out,"\"u"); break;
+ case 252: fprintf(out,"'o"); break;
+ case 253: fprintf(out,"'u"); break;
+ case 254: fprintf(out,"'w"); break;
+ default:
+ if (ch <= 128 ){
+ fprintf(out,"%c",ch);
+ }
+ break;
+ }
+ }
+}
+