Замечание: Возможно, после публикации вам придётся очистить кэш своего браузера, чтобы увидеть изменения.

  • Firefox / Safari: Удерживая клавишу Shift, нажмите на панели инструментов Обновить либо нажмите Ctrl+F5 или Ctrl+R (⌘+R на Mac)
  • Google Chrome: Нажмите Ctrl+Shift+R (⌘+Shift+R на Mac)
  • Internet Explorer / Edge: Удерживая Ctrl, нажмите Обновить либо нажмите Ctrl+F5
  • Opera: Нажмите Ctrl+F5.
//Конвертер из дореформенной в современную орфографию.
//Часть кода позаимствована из //ru.wikipedia.org/wiki/MediaWiki:Wikificator.js
//Часть кода позаимствована из //ru.wiktionary.org/wiki/Участник:X-romix/wikifikator.js
//Основная часть деятификатора создана участником Викитеки Grenadine (см. Участник:Grenadine/yat.js), 
//с советами и дополнениями разных участников Викитеки
//особенно EugeneZelenko, Sergey kudryavtsev
//Переработано и дополнено Виталием Чихариным (chva) — см. Участник:ChVA/Деятификатор.js
//Адаптация к новому расширенному меню сделана участником Lozman
//**********************************************  ver. 1.01 от 05.02.2011  ************************************

var wmCantWork = 'Deyatеficator cannot work in your browser';
var wmFullText = 'Deyatеficator will process ALL text on this page. Continue?';
var wmTalkPage = 'Деятефикатор не обрабатывает обсуждения\n\nDeyatеficator doesn\'t work on discussion pages';

// Добавляет кнопку
//   20.02.2011  -- Sergey kudryavtsev
//   22.02.2017  -- Lozman с подачи Jack who built the house
function addOldToolbarButton() {
	var $toolbar = $( '#gadget-toolbar' );
	if ( !$toolbar.length ) {
		$toolbar = $( '#toolbar' );
	}
	$( '<div>' ) //
	.addClass( 'mw-toolbar-editbutton' ) //
	.attr( 'alt', 'Деятификатор' ) //
	.attr( 'title', 'Преобразовать текст из дореформенной в современную орфографию' ) //
	.css( 'background-image', 'url(//upload.wikimedia.org/wikipedia/commons/f/fd/OldToNewRussianOrthographyConversionIcon.png)' ) //
	.appendTo( $toolbar )
	.on( 'click', Yat );
}

function addNewToolbarButton() {
	$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
		'section': 'main',
		'group': 'gadgets',
		'tools': {
			'deyatificator': {
				label: 'Преобразовать текст из дореформенной в современную орфографию',
				type: 'button',
				icon: '//upload.wikimedia.org/wikipedia/commons/b/be/Button_old_to_new_spelling_Russian.png',
				action: {
					type: 'callback',
					// execute: function() {
					// 	Yat();
					// }
					execute: Yat
				}
			}
		}
	} );
	
	mw.hook( 'wikieditor.toolbar.deyatificator' ).fire();
}

if ( $.inArray( mw.config.get( 'wgAction' ), [ 'edit', 'submit' ] ) !== -1 ) {
	mw.loader.using( [ 'user.options', 'jquery.textSelection' ], function() {
		if ( mw.user.options.get( 'usebetatoolbar' ) === 1 ) {
			// if ( mw.user.options.get( 'showtoolbar' ) === 1 ) {
			$.when(
				mw.loader.using( 'ext.wikiEditor' ),
				$.ready 
			).then( function() {
				mw.hook( 'wikieditor.toolbar.gadgetsgroup' ).add( addNewToolbarButton );
			} );
			// }
		} else {
			mw.loader.using( 'mediawiki.toolbar', function() {
				$( addOldToolbarButton );
			} );
		}
	} );
}


function Yat(){
	if (('code'.replace(/d/g, 'r') != 'core') //check regexp support
	|| (navigator.appName=='Netscape' && navigator.appVersion.substr (0, 1) < 5))
	{ alert(wmCantWork); return }

	var txt, hidden = [], hidIdx = 0, wpTextbox1 = document.editform.wpTextbox1;
	var winScroll = document.documentElement.scrollTop; //remember window scroll
	wpTextbox1.focus();

	if (typeof wpTextbox1.selectionStart != 'undefined') { // Modern browsers
	var textScroll = wpTextbox1.scrollTop;
	var startPos = wpTextbox1.selectionStart;
	var endPos = wpTextbox1.selectionEnd;
	txt = wpTextbox1.value.substring(startPos, endPos);
	if (txt == '') processAllText();
	else{
	processText();
	wpTextbox1.value = wpTextbox1.value.substring(0, startPos) + txt + wpTextbox1.value.substring(endPos);
	}
	wpTextbox1.selectionStart = startPos;
	wpTextbox1.selectionEnd = startPos + txt.length;
	wpTextbox1.scrollTop = textScroll;

	}else if (document.selection && document.selection.createRange) { //IE
	var range = document.selection.createRange();
	txt = range.text;
	if (txt == '') processAllText();
	else{
	processText();
	range.text = txt;
	//if (!window.opera) txt = txt.replace(/\r/g,'')
	if (range.moveStart) range.moveStart('character', - txt.length);
	range.select();
	}

	}else // other browsers
	if (confirm(wmFullText)) processAllText();

	document.documentElement.scrollTop = winScroll; // scroll back, for IE/Opera


//functions

function processAllText(){
	txt = '\n' + wpTextbox1.value;
	processText();
	txt = txt.replace(/^[\n\r]+/, '');
	wpTextbox1.value = txt;
	txt = '';
	if (window.auto_comment && window.insertSummary) insertSummary('деятефикатор');
}

function processText(){
var u = '\u00A0'; //unbreakable space
if (mw.config.get('wgNamespaceNumber') % 2 || mw.config.get('wgNamespaceNumber')==4) { //is talk page
	u = ' ';
	var sigs = txt.match(/\d\d:\d\d, \d\d? \S{3,8} 20\d\d \(UTC\)/g);
	if (sigs && sigs.length > 1) {
	alert(wmTalkPage); return;
	}
}

hide('\\{\\{lang[-|][a-z]{2,}\\|.*?\\}\\}'); //Прячем текст, заключённый в шаблон с кодом языка

//+++ Начало блока регулярных выражений для замены текста. Пожалуйста, не удаляйте этот комментарий.

// По совету участника EugeneZelenko — первоначально Ея/ея меняется на Её/её
	txt = txt.replace(/([^а-яА-ЯёЁѲѳѢѣІіѴѵ]|^)(Е|е)я([^а-яА-ЯёЁѲѳѢѣІіѴѵ]|$)/g,'$1$2ё$3');// Ея → Её
	txt = txt.replace(/([^а-яА-ЯёЁѲѳѢѣІіѴѵ]|^)(Ч|ч)емъ([^а-яА-ЯёЁѲѳѢѣІіѴѵ]|$)/g,'$1$2ёмъ$3');// Чемъ → Чёмъ
	txt = txt.replace(/([^а-яА-ЯёЁѲѳѢѣІіѴѵ]|^)(Н|н)емъ([^а-яА-ЯёЁѲѳѢѣІіѴѵ]|$)/g,'$1$2ёмъ$3');// Немъ → Нёмъ

// В некоторых словах с десятичным и (і) эта буква меняется не на «и», а на «й»
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(А|а)ллилуі([а-я]{1,2})/g,'$1$2ллилуй$3');// аллилуія → аллилуйя
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)іод([а-я]{1,2})/g,'$1йод$2');// іод → йод
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)Іод([а-я]{1,2})/g,'$1Йод$2');// Іод → йод
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(М|м)аіор/g,'$1$2айор');// маіор → майор
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(К|к)омпаніон/g,'$1$2омпаньон');// компаніон → компаньон
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Р|р)аіон/g,'$1$2айон');// раіон → район
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(П|п)іес/g,'$1$2ьес');// піеса → пьеса
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)Аргеіск/g,'$1ргейск');// Аргеіскихъ → Аргейских и варианты
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)іот([а-я]{1,2})/g,'$1йот$2');// іота → йота
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)Іот([а-я]{1,2})/g,'$1Йот$2');// Іота → Йота
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)Іорк([а-я]{1,2})/g,'$1Йорк$2');// Іорк → Йорк какие ещё слова?

// Обшибочные латинские «i» и «I» на месте кириллических «і» и «І» меняется на «и» и «И»
	txt = txt.replace(/([ а-яёА-ЯЁ])i([а-яё])/g,'$1и$2');
	txt = txt.replace(/([ А-ЯЁ])I([А-ЯЁ])/g,'$1И$2');

// Обшибочные кириллические «і» и «І» на месте латинских «i» и «I» меняется на латинские «i» и «I»
	txt = txt.replace(/([ a-zA-Z])і([a-z])/g,'$1i$2');
	txt = txt.replace(/([ A-Z])І([a-zA-Z])/g,'$1I$2');
	
// Римские цифры: обшибочная кириллица на латиницу.
// Цифры с русской буквой "С" не обрабатываются, поскольку она массово используется как приставка; а рим. цифра "C" (100) используется редко.
// ! Отключено, поскольку в некоторых текстах о лингвистике могут рассматриваться отдельно стоящие рус. буквы "ІѴХ". Замена их на латиницу будет ошибкой. Возможно стоит сделать отдельный мини-гаджет.
	// txt = txt.replace( /(\W)([IVXLCDMІѴХ]+)(\W)/g, function ( s, m1, m2, m3 ) {
	//     m2 = m2.replace( /І/g, 'I' ).replace( /Ѵ/g, 'V' ).replace( /Х/g, 'X' );
	// 	return m1 + m2 + m3; });


// Основные правила — «ѣ» и «Ѣ» меняются на «е» и «Е», «і», «ї», «Ї» и «І» меняется на «и» и «И», «ѵ» и «Ѵ» меняются на «и» и «И», «ѳ» и «Ѳ» меняются на «ф» и «Ф», «ъ» и «Ъ» в конце слова удаляется. Одиночные і и І не меняются
	txt = txt.replace(/Ѣ/g,'Е');
	txt = txt.replace(/ѣ/g,'е');
	txt = txt.replace(/([а-яА-ЯёЁ]|^)І/g,'$1И');
	txt = txt.replace(/І([а-яА-ЯёЁ]|$)/g,'И$1');
	txt = txt.replace(/([а-яА-ЯёЁ]|^)і/g,'$1и');
	txt = txt.replace(/і([а-яА-ЯёЁ]|$)/g,'и$1');
	txt = txt.replace(/Ї/g,'И');
	txt = txt.replace(/ї/g,'и');
	txt = txt.replace(/Ѳ/g,'Ф');
	txt = txt.replace(/ѳ/g,'ф');
	txt = txt.replace(/Ѵ/g,'И');
	txt = txt.replace(/ѵ/g,'и');
	txt = txt.replace(/([бвгджзклмнпрстфхцчшщБВГДЖЗКЛМНПРСТФХЦЧШЩ])(ъ|Ъ)([^а-яА-яa-zA-ZёЁ]|$)/g,'$1$3');

// Это нужно перед окончаниями, иначе «тиранния» заменится на «тиранние»

	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Т|т)иранн/g,'$1$2иран');// тиранния → тирания

// Некоторые слова требуют защиты (такие как редкие слова зантедеския и переския или слово выя) чтобы деятификатор не менял их считая что это прилагательные
// К сожалению, JavaScript не поддерживает «Negative lookbehind» (негативное заглядывание назад), так что приходится вот так, не очень красиво, делать.

	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(З|з)антедеския([^а-яА-ЯёЁ]|$)/g,'$1@@$2-0001@@$3');// зантедеския
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(П|п)ереския([^а-яА-ЯёЁ]|$)/g,'$1@@$2-0002@@$3');// переския
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Ц|ц)инния([^а-яА-ЯёЁ]|$)/g,'$1@@$2-0003@@$3');// цинния
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(В|в)ыя([^а-яА-ЯёЁ]|$)/g,'$1@@$2-0004@@$3');// выя
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Б|б)езбрежия([^а-яА-ЯёЁ]|$)/g,'$1@@$2-0005@@$3');// безбрежия
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(М|м)алоснежия([^а-яА-ЯёЁ]|$)/g,'$1@@$2-0006@@$3');// малоснежия
	txt = txt.replace(/(О|о)ружия([^а-яА-ЯёЁ]|$)/g,'@@$1-0007@@$2');// оружия и всеоружия
	txt = txt.replace(/мужия([^а-яА-ЯёЁ]|$)/g,'@@0008@@$1');// двоемужия, троемужия и многомужия
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(П|п)олукружия([^а-яА-ЯёЁ]|$)/g,'$1@@$2-0009@@$3');// полукружия
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Г|г)уберния([^а-яА-ЯёЁ]|$)/g,'$1@@$2-0010@@$3');// губерния
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Г|г)уерния([^а-яА-ЯёЁ]|$)/g,'$1@@$2-0011@@$3');// гуерния (растение)
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(С|с)атурния([^а-яА-ЯёЁ]|$)/g,'$1@@$2-0012@@$3');// сатурния (бабочка)
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(К|к)алифорния([^а-яА-ЯёЁ]|$)/g,'$1@@$2-0013@@$3');// калифорния (род. для хим. эл-та)
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(У|у)частию([^а-яА-ЯёЁ]|$)/g,'$1@@$2-0014@@$3');// участию
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(У|у)частью([^а-яА-ЯёЁ]|$)/g,'$1@@$2-0015@@$3');// участью
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)Чикаго([^а-яА-ЯёЁ]|$)/g,'$1@@0016@@$2');// Чикаго
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)Батыя([^а-яА-ЯёЁ]|$)/g,'$1@@0017@@$2');// Батыя
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(П|п)ресвятыя([^а-яА-ЯёЁ]|$)/g,'$1@@$2-0018@@$3');// Пресвятыя Богородицы
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(П|п)одножия([^а-яА-ЯёЁ]|$)/g,'$1@@$2-0019@@$3');// подножия 
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Н|н)ародовластию([^а-яА-ЯёЁ]|$)/g,'$1@@$2-0020@@$3');// народовластию
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)Божия([^а-яА-ЯёЁ]|$)/g,'$1@@0021@@$2');// Божия
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Благ|благ|Велик|велик|Добр|добр|Прост|прост|Равн|равн)одушия([^а-яА-ЯёЁ]|$)/g,'$1@@$2-0022@@$3');// добродушия, простодушия, равнодушия и т.п.
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Дву|дву|Трех|Трёх|трех|трёх|Четверо|четверо|Четырёх|четырёх|Четырех|четырех|Пяти|пяти|Шести|шести|Семи|семи|Восьми|восьми)стишия([^а-яА-ЯёЁ]|$)/g,'$1@@$2-0023@@$3');// двустишия, трехстишия и т.п.

// Окончания (не в морфологическом смысле, а просто окончания слов)

// Окончания на -ния:
	txt = txt.replace(/([а-яА-ЯёЁ])(ав|ай|д|ев|ж|ль|н|р|х|ш)ния([^а-яА-ЯёЁ]|$)/g,'$1$2ние$3'); 

// Окончания на -кия:
	txt = txt.replace(/([а-яА-ЯёЁ])(б|бо|в|г|з|он|с|со|сто|ь|яж)кия([^а-яА-ЯёЁ]|$)/g,'$1$2кие$3');

// Другие окончания на -ия
	txt = txt.replace(/([а-яА-ЯёЁ])(бог|вч|еж|лаг|ож|уж|ух|ш|щ)ия([^а-яА-ЯёЁ]|$)/g,'$1$2ие$3'); // -шия, -щия и т.п. на конце слова меняются на -шие, -щие и т.п.

// Окончанию на -лию, -нию, -тию и т.п.

	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Бесче|бесче|Че|че|Слабо|слабо|Легко|легко|Лёгко|лёгко|Предме|предме)сти(е|и|ю|я)([а-яё]{1,2})/g,'$1$2сть$3$4'); // честию → честью, слабостию → слабостью, лёгкостию → лёгкостью и проч.
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Се|се|Жиз|жиз)нию/g,'$1$2нью'); // под сению → под сенью, жизнию → жизнью
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(М|м)ыслию/g,'$1$2ыслью'); // мыслию → мыслью
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Ц|ц)елию/g,'$1$2елью'); // целию → целью

// Окончания -чек

	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Дья|дья|Зна|зна|Крю|крю|Мужи|мужи|Свер|свер|Стари|стари)ч(е|ё)к/g,'$1$2чок'); // старичек → старичок, мужичек → мужичок и т.п.

// Окончания -чем

	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Вра|вра)ч(е|ё)м/g,'$1$2чом'); // врачем → врачом и т.п.

// Другие окончания
	txt = txt.replace(/([а-яё])ыя([^а-яА-ЯёЁ]|$)/g,'$1ые$2'); // -ыя на конце слова (в прилагательных) на -ые
	txt = txt.replace(/([А-ЯЁ])ЫЯ([^а-яА-ЯёЁ]|$)/g,'$1ЫЕ$2'); // -ЫЯ на конце слова (в прилагательных) на -ЫЕ
	txt = txt.replace(/([а-яё])скаго([^а-яА-ЯёЁ]|$)/g,'$1ского$2');// -скаго → -ского
	txt = txt.replace(/([А-ЯЁ])СКАГО([^а-яА-ЯёЁ]|$)/g,'$1СКОГО$2');// -СКАГО → -СКОГО
	txt = txt.replace(/([а-яА-ЯёЁ])ияся([^а-яА-ЯёЁ]|$)/g,'$1иеся$2');// -ияся → -иеся
	txt = txt.replace(/([а-яА-ЯёЁ])яго([^а-яА-ЯёЁ]|$)/g,'$1его$2');// -яго → -его
	txt = txt.replace(/([жчцшщ])аго([^а-яА-ЯёЁ]|$)/g,'$1его$2');// -шаго → -шего и т.п.
	txt = txt.replace(/([чшщ])аго(ся)([^а-яА-ЯёЁ]|$)/g,'$1его$2$3');// -щагося → -щегося и т.п.
	txt = txt.replace(/([а-яА-ЯёЁ]{2,})([бвгдзклмнпрстх])аго([^а-яА-ЯёЁ]|$)/g,'$1$2ого$3');// -аго → -ого
	txt = txt.replace(/([БВГДЗКЛМНПРСТХ])АГО([^а-яА-ЯёЁ]|$)/g,'$1ОГО$2');// -АГО → -ОГО
	txt = txt.replace(/([а-яА-ЯёЁ])(н|д|т)остию([^а-яА-ЯёЁ]|$)/g,'$1$2остью$3');// -ностию → -ностью, -достию → -достью, -тостию → -тостью
	txt = txt.replace(/([а-яА-ЯёЁ])астию([^а-яА-ЯёЁ]|$)/g,'$1астью$2');// -астию → -астью
	//txt = txt.replace(/([а-яА-ЯёЁ])ртию([^а-яА-ЯёЁ]|$)/g,'$1ртью$2');// -ртию → -ртью тут ошибки типа «бессмертью», закомментировал
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(п|П|х|Х)артью([^а-яА-ЯёЁ]|$)/g,'$1$2артию$3');// партью → партию, хартью → хартию
	txt = txt.replace(/(л|п|д|т)(и)*кия([^а-яА-ЯёЁ]|$)/g,'$1$2кие$3');// -лкия → -лкие, -ликия → -ликие, -пкия → -пкие, -дкия → дкие и т.п.
	txt = txt.replace(/([а-яА-ЯёЁ])льныя([^а-яА-ЯёЁ]|$)/g,'$1льные$2');// -льныя → -льныя
	txt = txt.replace(/([а-яА-ЯёЁ])(д|р)ячия([^а-яА-ЯёЁ]|$)/g,'$1$2ячие$3');// -дячия → -дячие, -рячия → -рячие
	txt = txt.replace(/([а-яА-ЯёЁ])ньи([^а-яА-ЯёЁ]|$)/g,'$1нии$2');// -ньи → -нии (ухаживаньи → ухаживании)
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(О|о)лении([^а-яА-ЯёЁ]|$)/g,'$1$2леньи$3');// олении → -оленьи
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Б|б|Ге|ге|Г|г|Филиг|филиг)ранию([^а-яА-ЯёЁ]|$)/g,'$1$2ранью$3'); // -ния на конце слова на -нью (бранию → бранью)
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(дру|Дру|мно|Мно|Немно|немно)гия([^а-яА-ЯёЁ]|$)/g,'$1$2гие$3'); // другия → другие и т.п.

// Окончанию на -нии → ньи

	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Акси|бара|Бара|бегу|Бегу|боду|Боду|боло|Боло|болту|Болту|бормоту|Бормоту|ботви|Ботви|брезгу|Брезгу|бреху|Бреху|брыку|Брыку|веду|Веду|верту|Верту|вещу|Вещу|визгу|Визгу|вику|Вику|воркоту|Воркоту|ворчу|Ворчу|вру|Вру|глазу|Глазу|говору|Говору|горбу|Горбу|до|До|драчу|Драчу|дуэ|Дуэ|екте|Екте|Ефроси|игру|Игру|игуме|Игуме|капризу|Капризу|колду|Колду|копоту|Копоту|копу|Копу|коре|Коре|крику|Крику|кропоту|Кропоту|кряхту|Кряхту|лгу|Лгу|лепету|Лепету|лету|Лету|лизу|Лизу|лопоту|Лопоту|Мала|Мела|молчу|Молчу|моргу|Моргу|павли|Павли|пачку|Пачку|певу|Певу|перху|Перху|песту|Песту|пету|Пету|пира|Пира|писку|Писку|плясу|Плясу|ползу|Ползу|полы|Полы|попрыгу|Попрыгу|порху|Порху|прыгу|Прыгу|реву|Реву|резву|Резву|сви|Сви|свисту|Свисту|Секлети|скаку|Скаку|сопу|Сопу|споры|Споры|стрекоту|Стрекоту|таску|Таску|Усти|Февро|Фети|форсу|Форсу|Фоти|фырку|Фырку|хавро|Хавро|хапу|Хапу|хвасту|Хвасту|хитру|Хитру|хлопоту|Хлопоту|хохоту|Хохоту|храпу|Храпу|хрипу|Хрипу|шалу|Шалу|шату|Шату|шепту|Шепту|шипу|Шипу|шу|Шу|щебету|Щебету)нии/g,'$1$2ньи'); // свинии → свиньи и т.п.

// Приставки
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Р|р)азстя/g,'$1$2астя');// Разстянуто → Растянуто
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Р|р)азсч(е|ё)т/g,'$1$2асчёт');// Разсчет → Расчёт
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Р|р)аз([пткфсхцчш])/g,'$1$2ас$3');// Раз- перед глухими согласными → Рас-
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Б|б)ез([пткфсхцчш])/g,'$1$2ес$3');// Без- перед глухими согласными → Бес-
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Б|б)езразс/g,'$1$2езрасс');// Безразсудный → Безрассудный
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Н|н)ебез([пткфсхцчш])/g,'$1$2ебес$3');// Небез- перед глухими согласными → Небес- (небесследно, небесполезно)
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Н|н)ераз([пткфсхцчш])/g,'$1$2ерас$3');// Нераз- перед глухими согласными → Нерас- (нерасслышанное)
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Н|н)изх/g,'$1$2исх');// Низ- перед «х» → Нис- (низходить → нисходить)
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Н|н)изш(е|ё)(д|л)/g,'$1$2исш$3$4');// Низ- перед ««ш» → Нис- (низшёл → нисшёл )
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(П|п)ораз([пткфсхцчш])/g,'$1$2орас$3');// Пораз- перед глухими согласными → Порас- (порассказал)
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(О|о)без([пткфсхцчш])/g,'$1$2бес$3');// Обез- перед глухими согласными → Обес-
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(П|п)обез([пткфсхцчш])/g,'$1$2обес$3');// Побез- перед глухими согласными → Побес-
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(З|з)абез([пткфсхцчш])/g,'$1$2абес$3');// Забез- перед глухими согласными → Забес-
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(В|в)оз([пткфсхцш])/g,'$1$2ос$3');// Воз- перед глухими согласными → Вос-
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(В|в)озч([^и])/g,'$1$2осч$3');// Возч- в начале слова → Восч- (кроме возчика)
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(И|и)з([пткфсхцчш])/g,'$1$2с$3');// Из- перед глухими согласными → Ис-
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(П|п)редраз([пткфсхцчш])/g,'$1$2редрас$3');// Предраз- перед глухими согласными → Предрас-
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Р|р)ассч(е|ё)тл/g,'$1$2асчётл');// Рассчётливый → Расчётливый и остальные варианты
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Б|б)ези/g,'$1$2езы');// Безисходный → Безысходный и остальные варианты
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(С|с)ъ([аоуыэ])/g,'$1$2$3');// много слов типа «съумасшедший»
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(П|п)редъ([аоуыэ])/g,'$1$2ред$3');// много слов типа «предъутренний»

// Ранее писалось через дефис, теперь слитно

	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(В|в)(ъ)?-(заперти)([^а-яА-ЯёЁ]|$)/g,'$1$2$3$4$5');// в-заперти → взаперти, въ-заперти → взаперти
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(В|в)иц(ъ)?-мундир([^а-яА-ЯёЁ]|$)/g,'$1$2ицмундир$4');// вицъ-мундиръ → вицмундир
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(В|в)о-время([^а-яА-ЯёЁ]|$)/g,'$1$2овремя$3');// во-время → вовремя
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(В|в)о-свояси([^а-яА-ЯёЁ]|$)/g,'$1$2освояси$3');// во-свояси → восвояси
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(В|в)о-очию([^а-яА-ЯёЁ]|$)/g,'$1$2оочию$3');// во-очию → воочию
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(В|в)сего-на-всего([^а-яА-ЯёЁ]|$)/g,'$1$2сего-навсего$3');// всего-на-всего → всего-навсего
	txt = txt.replace(/(В|в)ысоко-([а-я]+)(ый|ая|ые|ой|ий|ие|го|ых|ым|их|му)([^а-яА-ЯёЁ]|$)/g,'$1ысоко$2$3$4');// высоко-нравственное → высоконравственное и проч.
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(До|до)-(бела|сыта)([^а-яА-ЯёЁ]|$)/g,'$1$2$3$4');// до-бела → добела, до-сыта → досыта
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(И|и)з-(подлобья)([^а-яА-ЯёЁ]|$)/g,'$1$2с$3$4');// изъ-подлобья → исподлобья
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Н|н)а-(голо|готове|зубок|лицо|обум|отрез|перевес|перерез|распев|смерть|стороже)([^а-яА-ЯёЁ]|$)/g,'$1$2а$3$4');// на-голо → наголо, на-готове → наготове, на-зубок → назубок, на-лицо → налицо и др.
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Н|н)е-(впопад)([^а-яА-ЯёЁ]|$)/g,'$1$2а$3$4');// не-впопад → невпопад
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(П|п)од-ряд([^а-яА-ЯёЁ]|$)/g,'$1$2одряд$3');// подъ-рядъ → подряд
	txt = txt.replace(/(Д|д)(вадцати)-([а-я]+)(летний)/g,'$1$2$3$4');// двадцати-четырехлетний → двадцатичетырехлетний и проч.
	txt = txt.replace(/(Т|т)(ридцати)-([а-я]+)(летний)/g,'$1$2$3$4');// тридцати-четырехлетний → тридцатичетырехлетний и проч.
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(К|к)репко-на-крепко([^а-яА-ЯёЁ]|$)/g,'$1$2репко-накрепко$3');// крепко-на-крепко → крепко-накрепко
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(К|к)рест-на-крест([^а-яА-ЯёЁ]|$)/g,'$1$2рест-накрест$3');// крест-на-крест → крест-накрест
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(На|на)-(встречу)([^а-яА-ЯёЁ]|$)/g,'$1$2$3$4');// на-встречу → навстречу
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(О|о|о́|О́)-земь/g,'$1$2земь'); // о-земь → оземь
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(П|п)ерво-на-перво([^а-яА-ЯёЁ]|$)/g,'$1$2ерво-наперво$3');// перво-на-перво → перво-наперво
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(П|п)о-(долгу)([^а-яА-ЯёЁ]|$)/g,'$1$2о$3$4');// по-долгу → подолгу
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(П|п)росто-на-просто([^а-яА-ЯёЁ]|$)/g,'$1$2росто-напросто$3');// просто-на-просто → просто-напросто
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Со|со)-(слепу)([^а-яА-ЯёЁ]|$)/g,'$1$2$3$4');// со-слепу → сослепу
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(С|с)(ъ)?-(просонья)([^а-яА-ЯёЁ]|$)/g,'$1$2$3$4$5');// с-просонья → спросонья, съ-просонья → спросонья
	txt = txt.replace(/(С|с)трого-на-строго/g,'$1трого-настрого');// строго-на-строго → строго-настрого
	txt = txt.replace(/(Т|т)яжело-((?!бы[ !?.,;]|ли[ .,;]|же[ .,;]))/g,'$1яжело$2');// тяжело-больной → тяжелобольной и проч.
	txt = txt.replace(/(Ч|ч)исто-на-чисто/g,'$1исто-начисто');// чисто-на-чисто → чисто-начисто
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Я|я)ко-бы([^а-яА-ЯёЁ]|$)/g,'$1$2кобы$3');// яко-бы → якобы

// Ранее писалось через дефис, теперь раздельно

	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Б|б)ез-устали([^а-яА-ЯёЁ]|$)/g,'$1$2ез устали$3');// без-устали → без устали
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Б|б)ыть-может([^а-яА-ЯёЁ]|$)/g,'$1$2ыть может$3');// быть-может → быть может
	txt = txt.replace(/(В|в) то-же время/g,'$1 то же время');//в то-же время  → в то же время
	txt = txt.replace(/([а-яА-ЯёЁ])-ли([^а-яА-ЯёЁ]|$)/g,'$1 ли$2');// вряд-ли → вряд ли
	txt = txt.replace(/(Д|д)олжно-быть/g,'$1олжно быть');// должно-быть → должно быть
	txt = txt.replace(/(К|к)ак-(будто|раз)/g,'$1ак $2');// как-будто → как будто, как-раз → как раз
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(К|к)онце-концов([^а-яА-ЯёЁ]|$)/g,'$1$2онце концов$3');// конце-концов → конце концов
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(К|к)-ряду([^а-яА-ЯёЁ]|$)/g,'$1$2ряду$3');// к-ряду → кряду
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(М|м)ожет-быть([^а-яА-ЯёЁ]|$)/g,'$1$2ожет быть$3');// может-быть → может быть
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Н|н)а-днях([^а-яА-ЯёЁ]|$)/g,'$1$2а днях$3');// на-днях → на днях
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Потому|потому|только|Только)-что/g,'$1$2 что');// потому-что → потому что
	txt = txt.replace(/ак-вояж/g,'аквояж');// сак-вояж → саквояж
	txt = txt.replace(/(С|с)тало-быть/g,'$1тало быть');// стало-быть → стало быть
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Т|т)ак-(как|сказать|называем)/g,'$1$2ак $3');// так-сказать → так сказать, так-называемого → так называемого, так-как → так как
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Т|т)о-есть([^а-яА-ЯёЁ]|$)/g,'$1$2о есть$3');// то-есть → то есть
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Т|т)\.-е\.([^а-яА-ЯёЁ]|$)/g,'$1$2. е.$3');// т.-е. → т. е.
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)([а-яА-ЯёЁ]+)-б(ы{0,1})([^а-яА-ЯёЁ]|$)/g,'$1$2 б$3$4');// <слово>-бы → <слово> бы, <слово>-б → <слово> б
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)([а-яА-ЯёЁ]+)-ж(е{0,1})([^а-яА-ЯёЁ]|$)/g,'$1$2 ж$3$4');// <слово>-же → <слово> же
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)([а-яА-ЯёЁ]+)-ль([^а-яА-ЯёЁ]|$)/g,'$1$2 ль$3');// <слово>-ль → <слово> ль

// Ранее писалось слитно, теперь раздельно

	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(В|в)с(е|ё)таки([^а-яА-ЯёЁ]|$)/g,'$1$2сё-таки$4');// всетаки → всё-таки
	txt = txt.replace(/(Н|н)и[ ]+на[ ]+ч(е|ё)м[ ]+не([а-я])/g,'$1и на чём не $3');// ни на чем неоснованное → ни на чем не основанное и проч.
	txt = txt.replace(/(Н|н)икогда[ ]+не([а-я]+щий)(ся)*([^а-яА-ЯёЁ]|$)/g,'$1икогда не $2$3$4');// никогда неизменяющий → никогда не изменяющий и проч.
	txt = txt.replace(/(Н|н)икуда[ ]+не([а-я])/g,'$1икуда не $2');// никуда негодившийся → никуда не годившийся и проч.
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(О|о)днакож[ьъ]?(е)?([^а-яА-ЯёЁ]|$)/g,'$1$2днако ж$3$4'); // однакож[ьъ] → однако ж, однакоже → однако же
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(П|п)оочереди([^а-яА-ЯёЁ]|$)/g,'$1$2о очереди$3');// поочереди → по очереди
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Ч|ч)тож/g,'$1$2то ж'); // чтож → что ж
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(В|в)(течение|продолжение|старину)/g,'$1$2 $3'); // втечение → в течение, впродолжение → в продолжение, встарину → в старину

// Ранее писалось раздельно, теперь через дефис

	txt = txt.replace(/(В|в)с(е|ё) таки([^а-яА-ЯёЁ]|$)/g,'$1с$2-таки$3');// всё таки → всё-таки
	txt = txt.replace(/(М|м)ало( |-)по( |-)малу/g,'$1ало-помалу');// мало по малу и мало-по-малу → мало-помалу
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(По|по) (русски|английски|немецки|французски|итальянски|испански|голландски|датски|португальски|гречески|латыни|китайски|турецки|польски|венгерски|японски)([^а-яА-ЯёЁ]|$)/g,'$1$2-$3$4');// по русски и т.п. → по-русски
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(И|и)з за([^а-яА-ЯёЁ]|$)/g,'$1$2з-за$3');// из за → из-за
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Ч|ч)(ей|то|ем|ь[юя]|его) (нибудь|то)([^а-яА-ЯёЁ]|$)/g,'$1$2$3-$4$5');// что нибудь → что-нибудь, что то → что-то, чей то → чей-то
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(К|к)(то|ак|ако[йюе]|акого|ем|огда|аким|ому|акую) (нибудь|то)([^а-яА-ЯёЁ]|$)/g,'$1$2$3-$4$5');// кто нибудь → кто-нибудь, как нибудь → как-нибудь, какой нибудь → какой-нибудь, кто то → кто-то, как то → как-то, какой то → какой-то
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(З|з)(ачей|чью|а[кч]ем) (нибудь|то)([^а-яА-ЯёЁ]|$)/g,'$1$2$3-$4$5');// зачем нибудь → кто-нибудь, как нибудь → как-нибудь, какой нибудь → какой-нибудь, кто то → кто-то, как то → как-то, какой то → какой-то
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(С|с)(колько) (нибудь|то)([^а-яА-ЯёЁ]|$)/g,'$1$2$3-$4$5');// сколько нибудь → сколько-нибудь, сколько то → сколько-то, 

// Ранее писалось раздельно, теперь слитно

	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(В|в)\s(догонку|дребезги|заперти|попыхах|потьмах|припрыжку|присядку|разброд|замен|прикуску|рассыпную)([^а-яА-ЯёЁ]|$)/g,'$1$2$3$4'); // в догонку → вдогонку, в дребезги → вдребезги, в припрыжку → вприпрыжку, в присядку → вприсядку, в замен → взамен, в прикуску → вприкуску, в рассыпную → врассыпную и др.
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Д|д)о\s(красна)([^а-яА-ЯёЁ]|$)/g,'$1$2о$3$4'); // до красна → докрасна
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(З|з)а\s(панибрата)([^а-яА-ЯёЁ]|$)/g,'$1$2а$3$4'); // за панибрата → запанибрата
	txt = txt.replace(/(П|п)о (близости|просту)/g,'$1о$2');// по близости → поблизости, по просту → попросту
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Н|н)а\s(легке|перерез|повал|последок|пропалую|взрыд|перебой|смарку|распашку|угад)([^а-яА-ЯёЁ]|$)/g,'$1$2а$3$4');// на перерез → наперерез, на повал → наповал, на пропалую → напропалую, на взрыд → навзрыд, на перебой → наперебой, на смарку → насмарку, на распашку → нараспашку и т.п.
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Н|н)е\sвзирая\sна/g,'$1$2е взирая на');// не взирая на → невзирая на
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Н|н)е\sв\sмоготу([^а-яА-ЯёЁ]|$)/g,'$1$2евмоготу$3');// не в моготу → невмоготу
	txt = txt.replace(/(П|п)о скольку/g,'$1оскольку');// по скольку → поскольку (разве что попадётся неграмотное «по скольку рублей продаёшь»?)
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(П|п)од ряд/g,'$1$2одряд'); // под ряд → подряд (здесь может быть редкая ошибка, когда правильно именно «под ряд»)
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(П|п)ри\sч[её]м/g,'$1$2ричём'); // при ч[её]м → причём
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Н|н)а\s(равне|ряду)\sс/g,'$1$2а$3 с'); // на ряду с → наряду с, на равне с → наравне с
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Н|н)а\sут(е|ё)к/g,'$1$2аутёк'); // на утек → наутёк
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(В|в)\sпереме(ж|ш)ку/g,'$1$2переме$3ку'); // в перемежку → вперемежку, в перемешку → вперемешку
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(С|с)\sизмальства/g,'$1$2ызмальства'); // с измальства → сызмальства
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(С|с)\sпросонья/g,'$1$2просонья'); // с просонья → спросонья
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Ч|ч)ерез\sчур/g,'$1$2ересчур'); // через чур → чересчур

// Ранее писалось слитно, теперь через дефис

	txt = txt.replace(/(П|п)о(видимому|прежнему)/g,'$1о-$2');// повидимому, попрежнему → по-видимому, по-прежнему
	txt = txt.replace(/(С|с)ветло(сер|син|красн|желт|жёлт|зелен|зелён|оранжев|голуб|бордов|розов|коричнев|фиолетов)/g,'$1ветло-$2');// светлоголубой → светло-голубой и все варианты
	txt = txt.replace(/(Т|т)(е|ё)мно(сер|син|красн|желт|жёлт|зелен|зелён|оранжев|голуб|бордов|розов|коричнев|фиолетов)/g,'$1ёмно-$3');// темносерые → тёмно-серые и все варианты

// Ранее писалось раздельно или через дефис, теперь слитно

	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(В|в)([- ])пол(ъ)*голоса/g,'$1$2полголоса'); // вполголоса
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(П|п)осле([- ])завтра([^а-яА-ЯёЁ]|$)/g,'$1$2ослезавтра$3'); // после завтра и после-завтра → послезавтра

// -Ж на конце слов

	txt = txt.replace(/([а-яА-ЯёЁ])-жь([^а-яА-ЯёЁ]|$)/g,'$1 ж$2');// -жь на конце: «Пришёл же-жь»
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)жь([^а-яА-ЯёЁ]|$)/g,'$1ж$2');// жь → ж (напр., «почему жь → почему ж»)
	
// Частные случаи

// Начинаются с *********** А ***********

	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(А|а)куратн/g,'$1$2ккуратн');// акуратный → аккуратный
	txt = txt.replace(/(А|а)пплоди/g,'$1плоди');// апплодировать → аплодировать
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(А|а)р(р)?иергард/g,'$1$2рьергард');// ариергард → арьергард, арриергард → арьергард
	txt = txt.replace(/(А|а)ттак/g,'$1так'); // аттака → атака

// Начинаются с *********** Б ***********

	txt = txt.replace(/(Б|б)анкрут/g,'$1анкрот'); // банкрут → банкрот
	txt = txt.replace(/(Б|б)аррьер/g,'$1арьер'); // баррьеръ → барьер
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Б|б)аттаре/g,'$1$2атаре');// баттарея → батарея
	txt = txt.replace(/(Б|б)ифстекс/g,'$1ифштекс');// бифстекс → бифштекс 
	txt = txt.replace(/(Б|б)иллиард/g,'$1ильярд');// билліардъ → бильярд 

// Начинаются с *********** В ***********

	txt = txt.replace(/(В|в)злохмо/g,'$1злохма');// взлохмоченного → взлохмаченного
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(В|в)нутренно([^а-яА-ЯёЁ]|$)/g,'$1$2нутренне$3'); // внутренно → внутренне
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(В|в)озж(а|и|е|у|ой|ою|ей|ам|ами|ах)([^а-яА-ЯёЁ]|$)/g,'$1$2ожж$3$4');// возжи → вожжи
	txt = txt.replace(/([а-яА-ЯёЁ])йдти/g,'$1йти');// войдти → войти, найдти → найти и аналогичные
	txt = txt.replace(/(В|в)оспомян/g,'$1оспомин');// воспомянаниях → воспоминаниях
	txt = txt.replace(/(В|в)разсыпную/g,'$1рассыпную');// вразсыпную → врассыпную
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(В|в)ызсказ/g,'$1$2ысказ');// вызсказать → высказать

// Начинаются с *********** Г ***********

	txt = txt.replace(/Гиероглиф/g,'Иероглиф');// Гиероглиф → Иероглиф
	txt = txt.replace(/гиероглиф/g,'иероглиф');// гиероглиф → иероглиф
	txt = txt.replace(/Гипподром/g,'Ипподром');// Гипподром → Ипподром
	txt = txt.replace(/гипподром/g,'ипподром');// гипподром → ипподром
	txt = txt.replace(/(Г|г)линен/g,'$1линян'); // глиненый → глиняный
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Г|г)нездышк/gm,'$1$2нёздышк'); // гнездышко → гнёздышко
	txt = txt.replace(/(Г|г)руп([^п])/g,'$1рупп$2');// групировались → группировались

// Начинаются с *********** Д ***********

	txt = txt.replace(/(Д|д)ал(е|ё)кия/g,'$1алёкие');// далекия → далёкие
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Д|д)евченк/g,'$1$2евчонк');// девченка → девчонка
	txt = txt.replace(/(Д|д)екольтэ/g,'$1екольте');// декольтэ → декольте
	txt = txt.replace(/(Д|д)жентльмэн/g,'$1жентльмен');// джентльмэн → джентльмен
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Д|д)осчат/g,'$1$2ощат');// досчатый → дощатый
	txt = txt.replace(/(Д|д)отрогива([а-я])/g,'$1отрагива$2');// дотрогиваться → дотрагиваться
	txt = txt.replace(/(Д|д)ышет/g,'$1ышит');// дышет → дышит 

// Начинаются с *********** Е ***********
// Начинаются с *********** Ё ***********
// Начинаются с *********** Ж ***********

	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Ж|ж)олт/g,'$1$2ёлт');// жолтый → жёлтый
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Ж|ж)олуд/g,'$1$2ёлуд');// жолудь → жёлудь

// Начинаются с *********** З ***********

	txt = txt.replace(/(З|з)аваленк/g,'$1авалинк');// заваленка → завалинка
	txt = txt.replace(/(З|з)аведыв/g,'$1аведов');// заведывал → заведовал
	txt = txt.replace(/(З|з)агар(е|а)(лся|лась|лось|лись|лся|ться|ется|емся)/g,'$1агор$2$3');// загарался → загорался и варианты
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(З|з)апрег/g,'$1$2апряг');// запрег → запряг
	txt = txt.replace(/(З|з)верок/g,'$1верёк');// зверок → зверёк

// Начинаются с *********** И ***********

	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(И|и)гумени(ей|я)/g,'$1$2гумень$3');// игуменией → игуменьей
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(И|и)конастас/g,'$1$2коностас'); // иконастас → иконостас
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(И|и)мян/g,'$1$2мен'); // имянной → именной и др.
	txt = txt.replace(/(И|и)скуств/g,'$1скусств');// искуство → искусство
	txt = txt.replace(/(И|и)талиян(ск|ц)/g,'$1тальян$2');// италиянский → итальянский, Италиянцы → Итальянцы

// Начинаются с *********** Й ***********
// Начинаются с *********** К ***********

	txt = txt.replace(/(К|к)апишо/g,'$1апюшо');// капишон → капюшон
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(К|к)арэ([^а-яА-ЯёЁ]|$)/g,'$1$2аре$3');// карэ → каре
	txt = txt.replace(/(К|к)атарр/g,'$1атар');// катарр → катар
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(К|к)лиэнт/g,'$1$2лиент');// клиэнт → клиент
	txt = txt.replace(/(К|к)онкурр/g,'$1онкур');// конкурренція → конкуренция
	txt = txt.replace(/(К|к)оммис/g,'$1омис');// коммиссар → комиссар
	txt = txt.replace(/(К|к)онтрбас/g,'$1онтрабас'); // контрбас → контрабас
	txt = txt.replace(/(К|к)онфект/g,'$1онфет');// конфекта → конфета
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(К|к)орридор/g,'$1$2оридор');// корридор → коридор
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(К|к)умач(е|ё)в/g,'$1$2умачов');// кумачевый, кумачёвый → кумачовый

// Начинаются с *********** Л ***********

	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Л|л)эди([^а-яА-ЯёЁ]|$)/g,'$1$2еди$3');// лэди → леди

// Начинаются с *********** М ***********

	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(М|м)ежь([^а-яА-ЯёЁ]|$)/g,'$1$2еж$3');// межь → меж
	//txt = txt.replace(/ильон([^а-яА-ЯёЁ]|$)/g,'иллион$1');// мильон → миллион /* Стилистическая замена! --Lozman */

// Начинаются с *********** Н ***********

	txt = txt.replace(/(Н|н)авожден/g,'$1аважден');// навождение → наваждение
	txt = txt.replace(/(Н|н)астеж([^а-яА-ЯёЁ]|$)/g,'$1астежь$2');
	txt = txt.replace(/(Н|н)ыньче/g,'$1ынче');// ныньче → нынче

// Начинаются с *********** О ***********

	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(О|о)б его([^а-яА-ЯёЁ]|$)/g,'$1$2 его$3');// об его → о его
	txt = txt.replace(/(О|о)бращик/g,'$1бразчик');// обращик → образчик
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(О|о)дне(х|ми)([^а-яА-ЯёЁ]|$)/g,'$1$2дни$3$4');// однех → одних, однеми → одними
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(О|о)(д)*не(м)*([^а-яА-ЯёЁ]|$)/g,'$1$2$3ни$4$5'); // Оне → Они, оне → они, одне → одни, однем → одним
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Пра|пра)*(О|о)тцем([^а-яА-ЯёЁ]|$)/g,'$1$2$3тцом$4');// отцем → отцом, праотцем → праотцом

// Начинаются с *********** П ***********

	txt = txt.replace(/(п|П)анегер/g,'$1панегир'); // панегерик → панегирик
	txt = txt.replace(/(п|П)арч(е|ё)в/g,'$1арчов'); // парчёвый (парчевый) → парчовый
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(П|п)енснэ([^а-яА-ЯёЁ]|$)/g,'$1$2енсне$3');// пенснэ → пенсне
	txt = txt.replace(/(П|п)иес/g,'$1ьес'); // пиеса → пьеса
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(П|п)искар/g,'$1$2ескар');// пискарь → пескарь
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(П|п)ловуч/g,'$1$2лавуч'); // пловучий → плавучий и варианты
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(П|п)лэд(а|у|е|ами|ом|ы)*([^а-яА-ЯёЁ]|$)/g,'$1$2лед$3$4'); // плэд → плед
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(П|п)одъяч/g,'$1$2одьяч');// подъячий → подьячий
	txt = txt.replace(/(П|п)опер(е|ё)г/g,'$1опер$2к'); // поперег → поперек
	txt = txt.replace(/(П|п)ортмонэ/g,'$1ортмоне'); // портмонэ → портмоне
	txt = txt.replace(/(П|п)остеле([^а-я])/g,'$1остели$2');// в постеле → в постели
	txt = txt.replace(/(П|п)очталион/g,'$1очтальон');// почталион → почтальон
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(П|п)ривиллег/g,'$1$2ривилег'); // привиллегии → привилегии
	txt = txt.replace(/(П|п)рийд(ё|е)/g,'$1рид$2');// прийдёт → придёт
	txt = txt.replace(/(П|п)ристрастьи/g,'$1ристрастье');// о пристрастьи → о пристрастье
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(П|п)роповедыв/g,'$1$2роповедов');// проповедывать → проповедовать
	txt = txt.replace(/(П|п)роэкт/g,'$1роект');// проэкт → проект
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(П|п)роэкци/gm,'$1$2роекци');// проэкция → проекция
	txt = txt.replace(/(П|п)унсов/g,'$1унцов');// пунсовый → пунцовый

// Начинаются с *********** Р ***********

	txt = txt.replace(/(Р|р)асскащик/g,'$1ассказчик');// расскащик → рассказчик
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Р|р)азсч(е|ё)т/g,'$1$2асчёт');// разсчёт → расчёт, дубль выше в Приставки
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Р|р)ессурс/g,'$1$2есурс');// рессурс → ресурс
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Р|р)ешотк/g,'$1$2ешётк');// решотка → решётка
	txt = txt.replace(/(Р|р)озыгрыва/g,'$1азыгрыва');// розыгрывать → разыгрывать

// Начинаются с *********** С ***********

	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(С|с)еребрянн/g,'$1$2еребрян');// серебрянный → серебряный
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(С|с)ериозн/g,'$1$2ерьёзн');// сериозно → серьёзно
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)Снурок/g,'$1Шнурок'); // Снурок → Шнурок
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)снурок/g,'$1шнурок'); // снурок → шнурок
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)Снурк([а-я])/g,'$1Шнурк$2'); // Снурка → Шнурка
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)снурк([а-я])/g,'$1шнурк$2'); // снурка → шнурка
	txt = txt.replace(/(С|с)оветыв/g,'$1оветов');// советывал → советовал
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(С|с)тклянк/g,'$1$2клянк'); // стклянка → склянка
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)стор(а|у|е|ой|ами|ы)*([^а-яА-ЯёЁ]|$)/g,'$1штор$2$3'); // стор → штор
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)Стор(а|у|е|ой|ами|ы)*([^а-яА-ЯёЁ]|$)/g,'$1Штор$2$3'); // Стор → Штор
	txt = txt.replace(/(С|с)умн/g,'$1омн');// усумнился → усомнился (также сумнение и т.п.)
	txt = txt.replace(/(С|с)частьи/g,'$1частье');// о счастьи → о счастье

// Начинаются с *********** Т ***********

	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Т|т)аллер/g,'$1$2алер');// таллер → талер
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Т|т|прот|Прот)анцов([^щ])/g,'$1$2анцев$3');// танцов → танцев, танцовать → танцевать, протанцовал → протанцевал (но «танцовщик»)
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Т|т)фу([^а-яА-ЯёЁ]|$)/g,'$1$2ьфу$3');// тфу → тьфу
	
// Начинаются с *********** У ***********

	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(У|у)жь([^а-яА-ЯёЁ]|$)/g,'$1$2ж$3');// ужь → уж
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(У|у) ней([^а-яА-ЯёЁ]|$)/g,'$1$2 неё$3');// у ней → у неё
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(у|У)своив([а-яА-ЯёЁ]|$)/g,'$1$2сваив$3'); // усвоивал → усваивал
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(У|у)становли/g,'$1$2станавли');// установливать → устанавливать

// Начинаются с *********** Ф ***********
// Начинаются с *********** Х ***********
// Начинаются с *********** Ц ***********

	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Ц|ц)ипочк/g,'$1$2ыпочк');// ципочка → цыпочка
	txt = txt.replace(/(ц|Ц)ырюльн/g,'$1ирюльн'); // цырюльник → цирюльник

// Начинаются с *********** Ч ***********

	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Ч|ч)ерезмерн/g,'$1$2резмерн'); // черезмерный → чрезмерный
	txt = txt.replace(/(Ч|ч)ерез(-)*чур/g,'$1ересчур');// черезчур, через-чур → чересчур
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Ч|ч)етыреугольн/g,'$1$2етырёхугольн');// четыреугольник → четырёхугольник и варианты
	txt = txt.replace(/(Четыр|четыр|Тр|тр)ех-стопн([а-яА-ЯёЁ]|$)/g,'$1ёхстопн$2');//четырех-стопный  → четырёхстопный, трех-стопный  → трёхстопный
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Ч|ч)орт/g,'$1$2ёрт'); // чорт → чёрт

// Начинаются с *********** Ш ***********

	txt = txt.replace(/(Ш|ш)кап/g,'$1каф');// шкап → шкаф
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Ш|ш)опот/g,'$1$2ёпот');// шопот → шёпот
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Ш|ш)олк/g,'$1$2ёлк');// шолк → шёлк
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Ш|ш)офф(е|е)р/g,'$1$2офёр');// шоффёр → шофёр

// Начинаются с *********** Щ ***********
// Начинаются с *********** Э ***********

	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Э|э)ксплоат/g,'$1$2ксплуат');// эксплоатация → эксплуатация

// Начинаются с *********** Ю ***********
// Начинаются с *********** Я ***********


// Другое

// *********** С корнем «Рост/Рощ/Росл» ***********

	txt = txt.replace(/(В|в)зрощ/g,'$1зращ');// взрощенный → взращенный
	txt = txt.replace(/(В|в)ырост/g,'$1ыраст');// выростает → вырастает
	txt = txt.replace(/(В|в)озрасл/g,'$1озросл');// возрасли → возросли
	txt = txt.replace(/(В|в)озрост/g,'$1озраст');// возростающем → возрастающем
	txt = txt.replace(/(Р|р)азрост/g,'$1азраст');// разростается → разрастается
	txt = txt.replace(/одроста/g,'одраста');// подростал → подрастал и варианты
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Р|р)ост(ёшь|ешь|ём|ем|ёте|ете|и|ёт|ет|ут)([^а-яА-ЯёЁ]|$)/g,'$1$2аст$3$4'); // ростёт → растёт и все варианты (внимательно со словом росту — глагол неправильный, но существительное верное, нельзя автоматически заменять)
	txt = txt.replace(/ростущ/g,'растущ');// ростущий → растущий и варианты


	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Не|не)*(с|С)(ча|тра)сти([а-яё]{1,2})([^а-яА-ЯёЁ]|$)/g,'$1$2$3$4сть$5$6'); // счастия → счастья, страстию → страстью, несчатия и т.п.
	txt = txt.replace(/(с|С)(ча|тра)стьй/g,'$1$2стий'); // счастьй → счастий
	txt = txt.replace(/(П|п)редместьй/g,'$1редместий'); // предместьй → предместий
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Н|н)*(Е|е)я([^а-яА-ЯёЁ]|$)/g,'$1$2$3ё$4'); // нея → неё, ея → её
	txt = txt.replace(/ъи/g,'ы');// подъитоживать → подытоживать и аналогичные


	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(ка|Ка|та|Та|эта|Эта|Вся|вся|Ника|ника)кия([^а-яА-ЯёЁ]|$)/g,'$1$2кие$3'); // какия, такия, этакия и т.п. → какие, такие, этакие и т.п.

	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(пр)*(И|и)тти([^а-яА-ЯёЁ]|$)/g,'$1$2$3дти$4');// итти → идти, притти → придти





























	txt = txt.replace(/(П|п)окоива([а-я])/g,'$1окаива$2');// успокоивать → успокаивать (но «успокоив», «успокоившись»)
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(П|п)окоющи/g,'$1$2окоящи'); // покоющиеся → покоящиеся
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Е|е)слиб(ы)*([^а-яА-ЯёЁ]|$)/g,'$1$2сли б$3$4');// еслибы → если бы, еслиб → если б
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(К|к)ашнэ([^а-яА-ЯёЁ]|$)/g,'$1$2ашне$3');// кашнэ → кашне








	txt = txt.replace(/(Из|из|пере|Пере)вощик/g,'$1возчик');// извощик → извозчик, перевощик → перевозчик
	txt = txt.replace(/(П|п)рикащик/g,'$1риказчик');// прикащиков  → приказчиков
	txt = txt.replace(/(Р|р)азнощик/g,'$1азносчик');// разнощик  → разносчик
	txt = txt.replace(/(Б|б)рилиант/g,'$1риллиант');// брилианты → бриллианты
	txt = txt.replace(/(З|з)аражд/g,'$1арожд');// зараждение → зарождение
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Р|р)етори/g,'$1$2итори');// реторика → риторика

	txt = txt.replace(/(З|з)атрогив/g,'$1атрагив');// затрогивал → затрагивал 

	txt = txt.replace(/(В|в)ыработыв/g,'$1ырабатыв');// выработывались → вырабатывались
	txt = txt.replace(/(Р|р)азработыв/g,'$1азрабатыв');// разработывать  → разрабатывать
	txt = txt.replace(/(Т|т)р(е|ё)хугольн/g,'$1реугольн');// трехугольною → треугольною
	txt = txt.replace(/(Г|г)аллер/g,'$1алер');// галлерея → галерея
	txt = txt.replace(/(К|к)истию/g,'$1истью');// кистию → кистью (шире нельзя из-за «амнистию» и др.)

	txt = txt.replace(/(В|в)олкан/g,'$1улкан');// волкан → вулкан
	txt = txt.replace(/(Н|н)аказу(е|ю)/g,'$1аказыва$2');// наказуются → наказываются и варианты

	txt = txt.replace(/(Н|н)епридвид/g,'$1епредвид');// непридвидимые → непредвидимые
	txt = txt.replace(/(Д|д)иэт/g,'$1иет');// диэта → диета
	txt = txt.replace(/(Г|г)остинни/g,'$1остини');// гостинница → гостиница 
	txt = txt.replace(/(С|с)колопандр/g,'$1колопендр');// сколопандра → сколопендра
	txt = txt.replace(/(Л|л)юбовию/g,'$1юбовью');// любовию → любовью
	txt = txt.replace(/(К|к)ровию/g,'$1ровью');// кровию → кровью

	txt = txt.replace(/(Н|н)ебольш(е|ё)(го|й|му)/g,'$1ебольшо$3');// небольшего → небольшого
	txt = txt.replace(/(Л|л)аншафт/g,'$1андшафт');// ланшафт → ландшафт
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Л|л)иц(е|ё)м([^а-яА-ЯёЁ]|$)/g,'$1$2ицом$4');// лицем → лицом
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Г|г)оспож(е|ё)й([^а-яА-ЯёЁ]|$)/g,'$1$2оспожой$4');// госпожей → госпожой
	txt = txt.replace(/(О|о)благорож/g,'$1благораж');// облагороживающее → облагораживающее
	txt = txt.replace(/(Т|т)еоритич/g,'$1еоретич');// теоритическое → теоретическое 
	txt = txt.replace(/(Р|р)асчит/g,'$1ассчит');// расчитан  → рассчитан
	txt = txt.replace(/(П|п)риобревш/g,'$1риобретш');// приобревший → приобретший 

	txt = txt.replace(/(Ш|ш)ирокия/g,'$1ирокие');// широкия → широкие
	txt = txt.replace(/(Н|н)умер(ах|а|ами|е)*([^а-яА-ЯёЁ]|$)/g,'$1омер$2$3');// нумера → номера (но «нумерация»)
	txt = txt.replace(/(А|а)ммуниц/g,'$1муниц');// аммуницию → амуницию
	txt = txt.replace(/(П|п)рочия/g,'$1рочие');// прочия → прочие
	txt = txt.replace(/(Б|б)аталион/g,'$1атальон');// баталионе → батальоне
	txt = txt.replace(/(Д|д)и(л)+е(т)+ант/g,'$1илетант');// диллетантом → дилетантом 
	txt = txt.replace(/(П|п)раотцов/g,'$1раотцев');// праотцов → праотцев
	txt = txt.replace(/аррикатур/g,'арикатур');// каррикатурный → карикатурный
	txt = txt.replace(/(Р|р)азч(е|ё)т/g,'$1асчёт');// разчетливо → расчётливо
	txt = txt.replace(/(П|п)ротивуполож/g,'$1ротивополож');// противуположность → противоположность и все варианты
	txt = txt.replace(/(С|с)остарел/g,'$1остарил');// состарелся → состарился
	txt = txt.replace(/(С|с)остаревш/g,'$1остаривш');// состаревшийся → состарившийся 
	txt = txt.replace(/(О|о)тверзт/g,'$1тверст');// отверзтый → отверстый 
	txt = txt.replace(/(П|п)арале/g,'$1аралле');// паралель → параллель
	txt = txt.replace(/(Э|э)кспромпт/g,'$1кспромт');// экспромпта → экспромта

	txt = txt.replace(/(А|а)ссессор/g,'$1сессор');// ассессора → асессора
	txt = txt.replace(/(П|п)отрогива([а-я])/g,'$1отрагива$2');// дотрогиваться → дотрагиваться 
	txt = txt.replace(/(П|п)оровнял([а-я])/g,'$1оравнял$2');// поровнялся → поравнялся 
	txt = txt.replace(/(М|м)аиолик([а-я])/g,'$1айолик$2');// маиолика → майолика


	txt = txt.replace(/(З|з)доровьи/g,'$1доровье');// здоровьи → здоровье
	txt = txt.replace(/(Р|р)аздумьи/g,'$1аздумье');// раздумьи → раздумье
	txt = txt.replace(/(Б|б)оч(е|ё)н(о)*к/g,'$1очон$3к');// боченок → бочонок
	txt = txt.replace(/(П|п)лохия/g,'$1лохие');// плохия → плохие
	txt = txt.replace(/(У|у)достоивающ/g,'$1достаивающ');// удостоивающего → удостаивающего
	txt = txt.replace(/(С|с)овершон/g,'$1овершён');// совершонном → совершённом
	txt = txt.replace(/(Р|р)озня/g,'$1азня');// рознял → разнял и т.п.
	txt = txt.replace(/(Д|д)иферент/g,'$1ифферент');// диферент → дифферент и т.п.
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Т|т)ихия/g,'$1$2ихие');// тихия → тихие, но не стихия
	txt = txt.replace(/хъэтажн/g,'хэтажн');// двухъэтажный  → двухэтажный и др.  
	txt = txt.replace(/(О|о)ффициа/g,'$1фициа');// оффициальный → официальный, оффициант → официант и др.  
	txt = txt.replace(/(К|к)ристалльн/g,'$1ристальн');// кристалльный → кристальный и др. (но кристалл)
	txt = txt.replace(/(К|к)ожанн/g,'$1ожан');// кожанный → кожаный и др.
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Б|б)лизь([^а-яА-ЯёЁ]|$)/g,'$1$2лиз$3'); // близь → близ
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Н|н)едоумень(.{1,2})/g,'$1$2едоумени$3'); // недоуменье → недоумение и варианты
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Во|во|Подо|подо|До|до|За|за|На|на|Ото|ото|Пере|пере|По|по|При|при|Про|про|Произо|произо|У|у)?(Ш|ш)ол(ся)*([^а-яА-ЯёЁ]|$)/g,'$1$2$3ёл$4$5'); // зашол → зашёл и все варианты
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(М|м)ятел/g,'$1$2етел'); // мятель → метель
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(П|п)салтир/g,'$1$2салтыр'); // Псалтирь → Псалтырь
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(С|с)обственоручн/g,'$1$2обственноручн'); // собственоручное → собственноручное

	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(М|м)ущин/gm,'$1$2ужчин'); // мущина → мужчина
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(К|к)упэ([^а-яА-ЯёЁ]|$)/gm,'$1$2упе$3'); // купэ → купе
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Г|г)алстух/gm,'$1$2алстук'); // галстух → галстук
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Т|т)урнэ/gm,'$1$2урне'); // турнэ → турне
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Ч|ч)орн/gm,'$1$2ёрн'); // чорный → чёрный
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(П|п)анцыр/gm,'$1$2анцир'); // панцырь → панцирь
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(П|п)аннихид/gm,'$1$2анихид'); // паннихида → панихида
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(Ц|ц)ипл(ё|е)н/gm,'$1$2ыпл$3н'); // циплёнок → цыплёнок
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(З|з)адхл/gm,'$1$2атхл'); // задхлый → затхлый
	txt = txt.replace(/([^а-яА-ЯёЁ]|^)(П|п)репорц/gm,'$1$2ропорц'); // препорция → пропорция


// Изменившиеся варианты фамилий
	txt = txt.replace(/Монтан(я|ь|ю)/g,'Монтен$1');// Монтань → Монтень
	txt = txt.replace(/Горацие([^а-яА-ЯёЁ]|$)/g,'Горации$1');// Горацие → Горации
	txt = txt.replace(/Виргил(и|ь)/g,'Вергили');// Виргилий → Вергилий
	txt = txt.replace(/Езоп/g,'Эзоп');// Езоп → Эзоп

// Изменившиеся географические названия
	txt = txt.replace(/Нижн([а-я]+)-Новгород/g,'Нижн$1 Новгород');// Нижний-Новгород → Нижний Новгород
	txt = txt.replace(/Кишен(е|ё)в/g,'Кишинёв');// Кишенёв → Кишинёв
	txt = txt.replace(/Миссиссипи/g,'Миссисипи');// Миссиссипи → Миссисипи
	txt = txt.replace(/Парнасс/g,'Парнас');// Парнасс → Парнас
	txt = txt.replace(/Аустерлицом/g,'Аустерлицем');// Аустерлицом → Аустерлицем
	txt = txt.replace(/Волховцем/g,'Волховцом');// Волховцем → Волховцом
	txt = txt.replace(/Капитолие([^а-яА-ЯёЁ]|$)/g,'Капитолии$1');// о Капитолие → о Капитолии

// Слитное написание «не», которое теперь раздельное
	txt = txt.replace(/(Н|н)есовсем/g,'$1е совсем');// несовсем → не совсем
	txt = txt.replace(/(Н|н)евполне/g,'$1е вполне');// невполне → не вполне

// Возврат защищённых слов
	txt = txt.replace(/@@(З|з)-0001@@/g,'$1антедеския');// зантедеския
	txt = txt.replace(/@@(П|п)-0002@@/g,'$1ереския');// переския
	txt = txt.replace(/@@(Ц|ц)-0003@@/g,'$1инния');// цинния
	txt = txt.replace(/@@(В|в)-0004@@/g,'$1ыя');// выя
	txt = txt.replace(/@@(Б|б)-0005@@/g,'$1езбрежия');// безбрежия
	txt = txt.replace(/@@(М|м)-0006@@/g,'$1алоснежия');// малоснежия
	txt = txt.replace(/@@(О|о)-0007@@/g,'$1ружия');// оружия и всеоружия
	txt = txt.replace(/@@0008@@/g,'мужия');// двое-, трое- и многомужия
	txt = txt.replace(/@@(П|п)-0009@@/g,'$1олукружия');// полукружия
	txt = txt.replace(/@@(Г|г)-0010@@/g,'$1уберния');// губерния
	txt = txt.replace(/@@(Г|г)-0011@@/g,'$1уерния');// гуерния
	txt = txt.replace(/@@(С|с)-0012@@/g,'$1атурния');// сатурния
	txt = txt.replace(/@@(К|к)-0013@@/g,'$1алифорния');// калифорния
	txt = txt.replace(/@@(У|у)-0014@@/g,'$1частию');// частию
	txt = txt.replace(/@@(У|у)-0015@@/g,'$1частью');// частью
	txt = txt.replace(/@@0016@@/g,'Чикаго');// Чикаго
	txt = txt.replace(/@@0017@@/g,'Батыя');// Батыя
	txt = txt.replace(/@@(П|п)-0018@@/g,'$1ресвятыя');// пресвятыя
	txt = txt.replace(/@@(П|п)-0019@@/g,'$1одножия');// подножия
	txt = txt.replace(/@@(Н|н)-0020@@/g,'$1ародовластию');// народовластию
	txt = txt.replace(/@@0021@@/g,'Божия');// Божия
	txt = txt.replace(/@@(Благ|благ|Велик|велик|Добр|добр|Просто|прост|Равн|равн)-0022@@/g,'$1одушия');// добродушия, простодушия, равнодушия
	txt = txt.replace(/@@(Дву|дву|Трех|Трёх|трех|трёх|Четверо|четверо|Четырёх|четырёх|Четырех|четырех|Пяти|пяти|Шести|шести|Семи|семи|Восьми|восьми)-0023@@/g,'$1стишия');// двустишия и т.п.

//--- Конец блока регулярных выражений для замены текста. Пожалуйста, не удаляйте этот комментарий.

restoreAll();

}

function r(r1, r2){ txt = txt.replace(r1, r2) }

function hide(expr){
 r(RegExp(expr, 'mgi'), function(s){
   if ('0'.replace('0','$$') == '$') s = s.replace(/\$/g, '$$$$'); //$ in string is special, except in IE
   hidden[++hidIdx] = s;
   return '\x01' + hidIdx + '\x02';
 })
}

function restoreAll(){
 for (var i=hidIdx; i>=0; i--) r('\x01' + i + '\x02', hidden[i])
}

}