summaryrefslogtreecommitdiff
path: root/language/cyrillic/programs/gost2ascii.c
blob: 9622c6b91b8d488b2a955682d15b763592ec796b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <stdio.h>

#define CYR_A	(0260)
#define CYR_ya	(0357)

static char* map[] = {
    "A", "B", "V", "G", "D", "E", "{\\Zh}", "Z", "I", "{\\Ui}", "K", "L", "M",
    "N", "O", "P", "R", "S", "T", "U", "F", "{\\Kh}", "{\\Ts}", "{\\Ch}",
    "{\\Sh}", "{\\Shch}", "{\\cDprime}", "Y", "{\\cPrime}", "{\\Ee}", "{\\Yu}",
    "{\\Ya}",

    "a", "b", "v", "g", "d", "e", "{\\zh}", "z", "i", "{\\ui}", "k", "l", "m",
    "n", "o", "p", "r", "s", "t", "u", "f", "{\\kh}", "{\\ts}", "{\\ch}",
    "{\\sh}", "{\\shch}", "{\\cdprime}", "y", "{\\cprime}", "{\\ee}", "{\\yu}",
    "{\\ya}"
};

main()
{
    int c;
    while ((c = getchar()) != EOF) {
	if (c >= CYR_A && c <= CYR_ya) {
	    fputs(map[c-CYR_A], stdout);
	} else {
	    putchar(c);
	}
    }
}