UNPKG

mesdan

Version:

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

38 lines (37 loc) 1.38 kB
import { harfKelimeBaşındaMı } from '../../aletler/harf-kelime-basinda-mi'; import { tağyirMesiMi } from '../../aletler/harf-tedkiki-kume'; import { LATIN_HURUFATI_VE_RAKAMATI_REGEX } from '../sabit'; import { harfTebdilleri, sabitTebdiller } from './harf-tebdilleri'; export function harfLatinidenOsmaniye(latiniHarf, evvelkiHarf, shiftBasılıMı, altBasılıMı) { if (tağyirMesiMi(latiniHarf)) return ''; const osmaniMuadil = sabitTebdiller.get(latiniHarf); if (osmaniMuadil) return osmaniMuadil; const kaide = harfTebdilleri[latiniHarf]; if (!kaide) { if (LATIN_HURUFATI_VE_RAKAMATI_REGEX.test(latiniHarf)) { if (evvelkiHarf === '؟') { return ''; } return '؟'; } return latiniHarf; } const kelimeBaşında = harfKelimeBaşındaMı(evvelkiHarf); if (altBasılıMı && kaide.alt) { return kaide.alt; } if (shiftBasılıMı && kaide.shift) { const shiftKaidesi = kaide.shift; if (typeof shiftKaidesi === 'string') { return shiftKaidesi; } return kelimeBaşında ? shiftKaidesi.baş : shiftKaidesi.bel; } const temelKaide = kaide.asıl; if (typeof temelKaide === 'string') { return temelKaide; } return kelimeBaşında ? temelKaide.baş : temelKaide.bel; }