UNPKG

mesdan

Version:

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

46 lines (45 loc) 2.28 kB
import { gayriİşaretlerdenMi, harekeMi, kesekMi, tenvinMi, şeddeMi } from '../../aletler/harf-tedkiki-kume'; export function silOsmaniMetindenHarfBaşra(mevcutMetin, alemMevkisi) { let metin = mevcutMetin; const alemBaşrası = metin.slice(0, alemMevkisi.başMevki); const alemSonrası = metin.slice(alemMevkisi.sonMevki); const alemBaşrasındakiHarf = alemBaşrası.slice(-1); const alemBaşrasındakiİkiHarf = alemBaşrası.slice(-2); const alemBaşrasıHarekeMi = harekeMi(alemBaşrasındakiHarf); const alemBaşrasıTenvinMi = tenvinMi(alemBaşrasındakiHarf); const alemBaşrasıGayriİşaretlerdenMi = gayriİşaretlerdenMi(alemBaşrasındakiHarf); const alemBaşrasıŞeddeMi = şeddeMi(alemBaşrasındakiİkiHarf); const alemBaşrasıKesmeMi = kesekMi(alemBaşrasındakiHarf); const alemBaşrasıŞeddeHariciMi = alemBaşrasıHarekeMi || alemBaşrasıTenvinMi || alemBaşrasıGayriİşaretlerdenMi; let silinecekHarfAdedi = 1; if (alemBaşrasıŞeddeMi) { silinecekHarfAdedi = 3; } else if (alemBaşrasıŞeddeHariciMi) { silinecekHarfAdedi = 2; } else if (alemBaşrasıKesmeMi) { const kesekEvvelindekiHarf = alemBaşrası.slice(0, alemBaşrası.length - 1).slice(-1); const kesekEvvelindekiİkiHarf = alemBaşrası.slice(0, alemBaşrası.length - 1).slice(-2); const kesekEvveliHarekeMi = harekeMi(kesekEvvelindekiHarf); const kesekEvveliTenvinMi = tenvinMi(kesekEvvelindekiHarf); const kesekEvveliGayriİşaretlerdenMi = gayriİşaretlerdenMi(kesekEvvelindekiHarf); const kesekEvveliŞeddeHariciMi = kesekEvveliHarekeMi || kesekEvveliTenvinMi || kesekEvveliGayriİşaretlerdenMi; const kesekEvveliŞeddeMi = şeddeMi(kesekEvvelindekiİkiHarf); if (kesekEvveliŞeddeMi) { silinecekHarfAdedi = 4; } else if (kesekEvveliŞeddeHariciMi) { silinecekHarfAdedi = 3; } else { silinecekHarfAdedi = 2; } } const silinmedenSonra = alemBaşrası.slice(0, alemBaşrası.length - silinecekHarfAdedi); metin = silinmedenSonra + alemSonrası; return { metinOsmani: metin, alemBaşMevkisi: silinmedenSonra.length, }; }