mesdan
Version:
Latinî mesdan ile Osmanî metin yazmak için hazırlanmış bir alettir.
105 lines (104 loc) • 2.4 kB
JavaScript
const şeddeler = new Set([
'\u064E' + '\u0651', // Fetha + Şedde
'\u0650' + '\u0651', // Kesra + Şedde
'\u064F' + '\u0651', // Damme + Şedde
'\u0651' + '\u064E', // Şedde + Fetha
'\u0651' + '\u0650', // Şedde + Kesra
'\u0651' + '\u064F', // Şedde + Damme
]);
const harekeler = new Set([
'\u064E', // Fetha
'\u0650', // Kesra
'\u064F', // Damme
'\u0652', // Sukun
'\u0651', // Şedde Yalnız
]);
const tenvinler = new Set([
'\u064B', // Fetha Tenvin
'\u064D', // Kesra Tenvin
'\u064C', // Damme Tenvin
]);
const gayriİşaretler = new Set([
'\u0653', // Med
'\u0670', // Elif Üst
'\u0656', // Elif Alt
'\u0654', // Hemze Üst
'\u0655', // Hemze Alt
]);
// This can remain an array as it's not used in a performance-critical lookup function.
const işaretler = [
'\u0653', // Med
'\u064E', // Fetha
'\u0650', // Kesra
'\u064F', // Damme
'\u0652', // Sukun
'\u0651', // Şedde
'\u064D', // Kesra Tenvin
'\u064B', // Fetha Tenvin
'\u064C', // Damme Tenvin
'\u0670', // Elif Üst
'\u0656', // Elif Alt
'\u0654', // Hemze Üst
'\u0655', // Hemze Alt
];
export function harekeMi(harf) {
return harekeler.has(harf);
}
export function tenvinMi(harf) {
return tenvinler.has(harf);
}
export function şeddeMi(harf) {
return şeddeler.has(harf);
}
export function kesekMi(harf) {
return harf.endsWith('\u200C');
}
export function gayriİşaretlerdenMi(harf) {
return gayriİşaretler.has(harf);
}
// CapsLock, Alt, Shift, Ctrl, NumLock, Backspace, Tab
// ArrowDown, ArrowUp, ArrowRight, ArrowLeft
// Enter, Delete, Home, PageUp, PageDown, End, Pause, Escape, AltGraph, Dead
// F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12
const tağyirMesleri = new Set([
// Modifier keys
'capslock',
'alt',
'shift',
'ctrl',
'numlock',
'altgraph',
// Navigation keys
'backspace',
'tab',
'enter',
'delete',
'home',
'end',
'pageup',
'pagedown',
'pause',
'escape',
'dead',
// Arrow keys
'arrowup',
'arrowdown',
'arrowleft',
'arrowright',
// Function keys
'f1',
'f2',
'f3',
'f4',
'f5',
'f6',
'f7',
'f8',
'f9',
'f10',
'f11',
'f12',
]);
export function tağyirMesiMi(metin) {
return tağyirMesleri.has(metin.toLowerCase());
}