#!/usr/local/bin/perl -p
# Гйюсгпт Вефпэлзт 1997...

unless(/^[a-zA-Z]+: /) {

s/([A-Z])[089]([A-Z])/$1И$2/g;
s/([Б-Жa-z]?)[089]([a-z]+)/$1и$2/g;
s/([A-Z])3([A-Z])/$1О$2/g;
s/([Б-Жa-z]?)3([a-z]+)/$1о$2/g;
s/3([aehioyuw])/о$1/g;
s/3([AEHIOYUW])/О$1/g;
s/([aehiow])3/$1о/g;
s/([AEHIOW])3/$1О/g;
s/[089]('?)([aehilorw])/и$1$2/g;
s/[089]('?)([AEHILORW])/И$1$2/g;
s/([aehilorfw])[089]/$1и/g;
s/([AEHILORFW])[890]/$1и/g;
s/ps/ш/g; s/PS/Ш/g; s/kst/куф/g; s/ks/о/g; s/kst/КУФ/g; s/KS/О/g;
s/vw/нщ/g; 
s/th([aeioyw])/и$1/g;
s/TH({AEIOYW])/И$1/g;
s/tnv/фзн/g; s/nn(\s)/нз$1/g;  s/(\s)n(\s)/$1з$2/g;
# To j мрпсеЯ нб еЯнбй о Ю и (егю)
if(/и/ || /И/) {y/jJ/оО/;}

y/abgdezhiklmorstfwABGDEZHIKLMNORSTFVW/бвгдежзйклмпсуфцщБВГДЕЖЗЙКЛМНПСУФЦЩЩ/;

#  фп p мрпсей нб ейнбй  р Ю с
s/мp/мр/g;
s/фp/фс/g;
s/^p([лнсф])/р$1/g;
if(/с/ || /С/) {y/pP/рР/;}


# фп u мрпсей нб ейнбй и Ю х 
if(/[иИ]/) {y/uU/хХ/;}  
s/пu([мл])/пх$1/g; 

if (   /u[вгджикоруфцчш'-:;,\. ]/ ||
       /[вгджикморфш]u/  ||
       /u[лмнс][вгджиклмнорсуфцчш]/ ||
       /[вгджиклмнорсуфцчш][лмнсуцч]u/ ||
       /u$/ ||
       /[лмнсуцч]u[лмнс]/
) {s/u/х/g;} 



# фп y мрпсей нб ейнбй ш Ю х . Фп еЯдб кбй гйб г!!.

if (/y$/ ||
    /y[pвгджиклмнорсуфцчш'-:,\. ]/ || 
    /[вгджикнорсуфцчш]y/ || 
    /[pвгджиклмнорсуфцчш][лм]y/
) {s/y/х/g;}


# фп v мрпсей нб ейнбй н Ю щ. Фп V рЬнфб еЯнбй Щ. 
if(/[беБЕ]v[бдезйпфщБДЕЗЙПФЩ]/) {s/н/н/g;} 
s/([вгджиклмнорсуфцчш])v([:'-,\. ])/$1щ$2/g;
if(/щ/) {s/v/н/g;}

# фп n мрпсей нб ейнбй з Ю н Ю р 

if(/[БЕЗЙПХЩбезйпхщ]n[безйпхщ]/) {s/n/н/g;}

if( /[вгджиклмнорсуфцчш]n[вгджиклмнорсуфцчш]/ ||
     /[вгджиклмнорсуфцчш]n[:'-,\. ]/ ||
     /[вгджиклмнорсуфцчш]n$/ || 
     /[:'-,\. ]n[вгджиклмнорсуцчш]/ ||
     /^n[вгджиклмнорсуцчш]/ ||
     /n[вгджиклмнорсуфцчш][вгджиклмнорсуфцчш]/ ||
     /[вгджиклмнорсуфцчш][вгджиклмнорсуфцчш]n/
) {s/n/з/g};

if ( /n[безйпхщ][безйпхщ]/ ) {s/n/н/g;}
if ( /п[uх]n$/) {s/n/н/g;}
if(/[пвгджиклмнорсуфцчш]([uхy])([vnv])[безйпхщ]/) {s/$1/х/g; s/$2/н/g;}

#s/[пвгджиклмнорсуфцчш]([uхy])([vnv])[безйпхщ]/$1хн$2/g;
#if( /н/) {s/n/н/g;}



# Фп c мрпсеЯ нб еЯнбй ш Ю т (егю)  Ю у 
s/c([:'-,\. ])/т$1/g;


# ДйрлпЯ ухндхбумпЯ
if(/зuv/) {s/u/и/g; s/v/щ/g;}
if( /[безйпх]v[безйпх][безйпх]/ || /[безйпх][безйпх]v[безйпх]/) {s/v/н/g;}


s/([BGDZИKLMNJОRSTFXШ])U([BGDZИKLMNJОRSTFXШ])/$1Х$2/g;


s/у([-:,\.\" ])/т$1/g;
s/у$/т/g;
s/т'/у'/g;

s/([вгджиклмнорсуфцчш])н([вгджиклмнорсуфцчш])/$1з$2/;
s/([вгджиклмнорсуфцчш])н([:'-,\. ])/$1з$2/;
s/([вгджиклмнорсуфцчш])н$/$1$з/;
s/([:'-,\. ])н([вгджиклмнорсуцчш])/$1з$2/;
s/^н([вгджиклмнорсуцчш])/з$1/;
unless(/ндс/) { s/н([вгджиклмнорсуфцчш])([вгджиклмнорсуфцчш])/з$1$2/;}
s/([вгджиклмнорсуфцчш])([вгджиклмнорсуфцчш])н/$1$2з/;

y/cxupn/учхрн/ ;

}

