taraskevizer
Version:
Канвэртацыя акадэмічнага правапісу ў клясычны
67 lines (65 loc) • 2.31 kB
JavaScript
import { re } from '../../lib/index.js';
import { callableDict } from '../lib.js';
const soft = '\u0652(?=[еёіюяь])';
const presoft = '([تزكثࢮбвгджзйклмнпрстфхцчшў])\u0652?(\u0651?)';
export const arabic = {
lower: callableDict([
[/ [Лл][АаЯя]/g, ' لا'],
[/[Лл][АаЯя]/g, 'ـلا'],
// падваеньне зычнага, шадда
[
/([БбВвГгДдЖжЗзЙйКкЛлМмНнПпРрСсТтФфХхЦцЧчШшЎў]|[Дд][ЗзЖж])\1/g,
'$1\u0651',
],
// няма галоснага, сукун
[/([БбВвГгДдЖжЗзЙйКкЛлМмНнПпРрСсТтФфХхЦцЧчШшЎў])/g, '$1\u0652'],
// а, аліф
[/[Аа]/g, '\u0627а'],
// першая галосная, аліф
[/ (?=[ЕеЭэЫыУуОо])/g, ' \u0627'],
[re.gi('д\u0652з' + soft), 'ࢮ'],
[re.gi('з' + soft), 'ز'],
[re.gi('к' + soft), 'ك'],
[re.gi('с' + soft), 'ث'],
[re.gi('т' + soft), 'ت'],
[/([تزكث])[Іі]/g, 'ы'],
// $2 - шадда
[re.gi(presoft + '[аяэе]'), '$1$2\u064E'],
[re.gi(presoft + '[іы]'), '$1$2\u0650'],
[/ [Iі] /g, ' \u0627\u0650 '],
[re.gi(presoft + '[оёую]'), '$1$2\u064F'],
[/ʼ/g, 'ع'],
[/[Ьь]/g, ''],
// [/[ьʼ]/g, ''],
[/[ЯяЕе]/g, 'ي\u064E'],
[/[Іі]/g, 'ي\u0650'],
[/[ЁёЮю]/g, 'ي\u064F'],
[/[АаЭэ]/g, '\u064E'],
[/[ЫыІі]/g, '\u0650'],
[/[ОоУу]/g, '\u064F'],
[/[Бб]/g, 'ب'],
[/[ВвЎў]/g, 'و'],
[/[Гг]/g, 'ه'],
[/[Ґґ]/g, 'غ'],
[/д\u0652ж/gi, 'ج'],
[/[Дд]/g, 'د'],
[/[Жж]/g, 'ژ'],
[/[Зз]/g, 'ض'],
[/[Йй]/g, 'ي'],
[/[Кк]/g, 'ق'],
[/[Лл]/g, 'ل'],
[/[Мм]/g, 'م'],
[/[Нн]/g, 'ن'],
[/[Пп]/g, 'پ'],
[/[Рр]/g, 'ر'],
[/[Сс]/g, 'ص'],
[/[Тт]/g, 'ط'],
[/[Фф]/g, 'ف'],
[/[Хх]/g, 'ح'],
[/[Цц]/g, 'ࢯ'],
[/[Чч]/g, 'چ'],
[/[Шш]/g, 'ش'],
[/,/g, '،'],
[/\?/g, '؟'],
]),
};