diff options
Diffstat (limited to 'language/cyrillic/programs/gost2ascii.c')
-rw-r--r-- | language/cyrillic/programs/gost2ascii.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/language/cyrillic/programs/gost2ascii.c b/language/cyrillic/programs/gost2ascii.c new file mode 100644 index 0000000000..9622c6b91b --- /dev/null +++ b/language/cyrillic/programs/gost2ascii.c @@ -0,0 +1,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); + } + } +} |