Date: Tue, 29 Jan 91 09:10:00 MST Sender: Esperanto List From: neal@DRUHI.ATT.COM Subject: Simple C program for transliterating "cx" => ISO-8859-3 Here is a simple C program for converting the "cx" system of "ASCIIization" into the international ISO-8859-3 standard form. Various people have previously posted ISO-8859-3 fonts and information on how to display them on various displays (for X11, the AT&T 630/730 terminals, etc). -Neal McBurnett // AT&T Bell Labs, Denver // neal@druhi.ATT.COM, att!druhi!neal espfilt.c: -------------------------------------------- /* espfilt transliterumas tekston kiu uzas cxi tiun sistemon "cx" al teksto kiu uzas la internacian normon "ISO-8859-3" por esperantaj literoj. Gxi rekonas cxi tiun formon: [cghjsuCGHJSU][xX], do cx, ux, Cx, CX (por uzo kiam la tuta vorto estas majuskla), kaj ecx cX. Jen kialoj por la uzo de la metodo "cx" de "ASCIIigado": En multaj situacioj, helpas ke "x" estas normala alfabeta litero (ekzemple por esperantaj dosiernomoj aux nomoj de variantoj en programlingvoj.) Do "cx" pli bonas ol "c^" aux "^c" aux " #include char Literoj[] = "cghjsuCGHJSU"; char Lit8859_3[] = "\346\370\266\274\376\375\306\330\246\254\336\335"; main() { int s; /* signo */ int antauxo = '\377'; /* antauxa signo */ while((s = getchar()) != EOF) { if ((strchr("xX", s) != NULL) && (strchr(Literoj, antauxo) != NULL)) { putchar(Lit8859_3[strchr(Literoj, antauxo) - Literoj]); antauxo = '\377'; } else { if (antauxo != '\377') { putchar(antauxo); } antauxo = s; } } if (antauxo != '\377') { putchar(antauxo); } }