UNPKG

mesdan

Version:

Latinî mesdan ile Osmanî metin yazmak için hazırlanmış bir alettir.

46 lines (45 loc) 2.24 kB
import { gayriİşaretlerdenMi, harekeMi, kesmeMi, tenvinMi, şeddeMi } from "../aletler/harf-tedkiki"; export function silOsmaniMetindenHarfBaşra(mevcutMetin, alemMevkisi) { let metin = mevcutMetin; const alemİlkresi = metin.slice(0, alemMevkisi.başMevki); const alemSonrası = metin.slice(alemMevkisi.sonMevki); const alemİlkresindekiHarf = alemİlkresi.slice(-1); const alemİlkresindekiİkiHarf = alemİlkresi.slice(-2); const alemİlkresiHarekeMi = harekeMi(alemİlkresindekiHarf); const alemİlkresiTenvinMi = tenvinMi(alemİlkresindekiHarf); const alemİlkresiGayriİşaretlerdenMi = gayriİşaretlerdenMi(alemİlkresindekiHarf); const alemİlkresiŞeddeMi = şeddeMi(alemİlkresindekiİkiHarf); const alemİlkresiKesmeMi = kesmeMi(alemİlkresindekiHarf); const alemİlkresiŞeddeHariciMi = alemİlkresiHarekeMi || alemİlkresiTenvinMi || alemİlkresiGayriİşaretlerdenMi; let silinecekHarfAdedi = 1; if (alemİlkresiŞeddeMi) { silinecekHarfAdedi = 3; } else if (alemİlkresiŞeddeHariciMi) { silinecekHarfAdedi = 2; } else if (alemİlkresiKesmeMi) { const kesmeEvvelindekiHarf = alemİlkresi.slice(0, alemİlkresi.length - 1).slice(-1); const kesmeEvvelindekiİkiHarf = alemİlkresi.slice(0, alemİlkresi.length - 1).slice(-2); const kesmeEvveliHarekeMi = harekeMi(kesmeEvvelindekiHarf); const kesmeEvveliTenvinMi = tenvinMi(kesmeEvvelindekiHarf); const kesmeEvveliGayriİşaretlerdenMi = gayriİşaretlerdenMi(kesmeEvvelindekiHarf); const kesmeEvveliŞeddeHariciMi = kesmeEvveliHarekeMi || kesmeEvveliTenvinMi || kesmeEvveliGayriİşaretlerdenMi; const kesmeEvveliŞeddeMi = şeddeMi(kesmeEvvelindekiİkiHarf); if (kesmeEvveliŞeddeMi) { silinecekHarfAdedi = 4; } else if (kesmeEvveliŞeddeHariciMi) { silinecekHarfAdedi = 3; } else { silinecekHarfAdedi = 2; } } const silinmedenSonra = alemİlkresi.slice(0, alemİlkresi.length - silinecekHarfAdedi); metin = silinmedenSonra + alemSonrası; return { metinOsmani: metin, alemBaşMevkisi: silinmedenSonra.length, }; }