UNPKG

mesdan

Version:

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

366 lines (365 loc) 10.8 kB
import { harfKelimeBaşındaMı } from '../../aletler/harf-kelime-basinda-mi'; export function harfLatinidenOsmaniyeEski(latiniHarf, evvelkiHarf, shiftBasılıMı, altBasılıMı // capsLockBasılıMı: boolean ) { switch (latiniHarf) { case '\n': return '\n'; case '': return ''; case ' ': return ' '; case ' ': return ' '; case '.': return '.'; case ',': return '،'; case ';': return '؛'; case ':': return ':'; case '?': return '؟'; case '!': return '!'; case '"': return '"'; case "'": return "'"; case '`': return '`'; case '``': return '``'; case '@': return '@'; case '=': return '='; case '-': if (altBasılıMı) { return '\u0640'; // Keşide - https://unicode-explorer.com/c/0640 } return '-'; case '+': return '+'; case '*': if (shiftBasılıMı) { return '٭'; } return '*'; case '/': return '/'; case '%': return '٪'; case '[': return '['; case ']': return ']'; case '{': return '{'; case '}': return '}'; case '(': return '('; case ')': return ')'; case '|': return '|'; case '\\': return '\\'; case '_': return '_'; case '<': return '<'; case '>': return '>'; case 'a': if (altBasılıMı) { // return "أ"; return '\u0623'; } return 'ا'; case 'A': if (shiftBasılıMı) { return 'ع'; } else { if (harfKelimeBaşındaMı(evvelkiHarf)) { return 'ا'; } else { return '\u0650'; // Kesra } } case 'b': return 'ب'; case 'B': if (harfKelimeBaşındaMı(evvelkiHarf)) { return 'ب'; } else { return '\u0656'; // Elif Alt } case 'c': return 'ج'; case 'C': if (harfKelimeBaşındaMı(evvelkiHarf)) { return 'ج'; } else { return '\u064F' + '\u0651'; // Damme + Şedde } case 'ç': case 'Ç': return 'چ'; case 'd': return 'د'; case 'D': if (shiftBasılıMı || harfKelimeBaşındaMı(evvelkiHarf)) { return 'ض'; } else { return '\u0650' + '\u0651'; // Kesra + Şedde } case 'e': if (harfKelimeBaşındaMı(evvelkiHarf)) { // return "أ"; return '\u0623'; } else if (altBasılıMı) { return '\u0651'; // Şedde } return 'ه' + '\u200C'; case 'E': { return '\u064E' + '\u0651'; // Fetha + Şedde } case 'f': return 'ف'; case 'F': if (harfKelimeBaşındaMı(evvelkiHarf)) { return 'ف'; } else { return '\u0654'; // Hemze Üst } case 'g': return 'گ'; case 'G': if (harfKelimeBaşındaMı(evvelkiHarf)) { return 'گ'; } else { return '\u0655'; // Hemze Alt } case 'ğ': case 'Ğ': if (shiftBasılıMı) { return 'ػ'; } return 'غ'; case 'h': case 'H': if (shiftBasılıMı) { return 'خ'; } else if (altBasılıMı) { return 'ه'; } return 'ح'; case 'ı': case 'I': if (shiftBasılıMı) { return '\u06CC'; // U+06CC - ARABIC LETTER FARSI YEH - https://unicode-explorer.com/c/06CC } else if (altBasılıMı) { return '\u0649'; // U+0649 - ARABIC LETTER ALEF MAKSURA - https://unicode-explorer.com/c/0649 } else if (harfKelimeBaşındaMı(evvelkiHarf)) { return 'اي'; } return 'ي'; // U+064A - ARABIC LETTER YEH - https://unicode-explorer.com/c/064A case 'i': case 'İ': if (shiftBasılıMı) { return 'ؽ'; // U+063D - ARABIC LETTER FARSI YEH WITH INVERTED V - https://unicode-explorer.com/c/063D } else if (harfKelimeBaşındaMı(evvelkiHarf)) { return 'اي'; } return 'ي'; case 'j': case 'J': return 'ژ'; case 'k': case 'K': return 'ك'; case 'q': if (altBasılıMı) { return '\u25CC'; // Dotted Circle } return 'ق'; case 'Q': if (harfKelimeBaşındaMı(evvelkiHarf)) { return 'ق'; } else { return '\u064E'; // Fetha } case 'l': case 'L': return 'ل'; case 'm': case 'M': return 'م'; case 'n': case 'N': if (shiftBasılıMı) { return 'ڭ'; } return 'ن'; case 'o': case 'O': if (harfKelimeBaşındaMı(evvelkiHarf)) { return 'اۏ'; } return 'ۏ'; case 'ö': case 'Ö': if (harfKelimeBaşındaMı(evvelkiHarf)) { return 'اۊ'; } return 'ۊ'; case 'p': case 'P': return 'پ'; case 'r': return 'ر'; case 'R': if (harfKelimeBaşındaMı(evvelkiHarf)) { return 'ر'; } else { return '\u0652'; // Sukun } case 's': if (altBasılıMı) { return 'ث'; } return 'س'; case 'S': if (shiftBasılıMı || harfKelimeBaşındaMı(evvelkiHarf)) { return 'ص'; } else { return '\u064D'; // Kesra Tenvin } case 'ş': case 'Ş': return 'ش'; case 't': if (altBasılıMı) { return 'ة'; // Ta-ı Marbuta } return 'ت'; // Ta-ı Mabsuta / Maftuha case 'T': if (shiftBasılıMı || harfKelimeBaşındaMı(evvelkiHarf)) { return 'ط'; } else { return '\u0653'; // Med } case 'u': case 'U': if (harfKelimeBaşındaMı(evvelkiHarf)) { return 'اۆ'; } return 'ۆ'; case 'ü': case 'Ü': if (harfKelimeBaşındaMı(evvelkiHarf)) { return 'اۉ'; } return 'ۉ'; case 'v': if (altBasılıMı) { return 'ؤ'; // } return 'و'; case 'V': if (harfKelimeBaşındaMı(evvelkiHarf)) { return 'و'; } else { return '\u0670'; // Elif Üst } case 'y': case 'Y': if (shiftBasılıMı) { return '\u0626'; // U+0626 - ARABIC LETTER YEH WITH HAMZA ABOVE - https://unicode-explorer.com/c/0626 } else if (altBasılıMı) { return '\u06CC'; // U+06CC - ARABIC LETTER FARSI YEH - https://unicode-explorer.com/c/06CC } return 'ي'; // U+064A - ARABIC LETTER YEH - https://unicode-explorer.com/c/064A case 'z': if (altBasılıMı) { return 'ذ'; } return 'ز'; case 'Z': if (shiftBasılıMı || harfKelimeBaşındaMı(evvelkiHarf)) { return 'ظ'; } else { return '\u064F'; // Damme } case 'w': if (!harfKelimeBaşındaMı(evvelkiHarf)) { return '\u200C'; // Harflerin birleşmesine mani oluyor } case 'W': if (!harfKelimeBaşındaMı(evvelkiHarf)) { if (shiftBasılıMı) { return '\u0674'; // Hemze } else { return '\u064B'; // Fetha Tenvin } } case 'x': return ''; case 'X': if (harfKelimeBaşındaMı(evvelkiHarf)) { return ''; } else { return '\u064C'; // Damme Tenvin } case '0': return '٠'; // U+0660 - ARABIC-INDIC DIGIT ZERO - https://unicode-explorer.com/c/0660 case '1': return '١'; // U+0661 - ARABIC-INDIC DIGIT ONE - https://unicode-explorer.com/c/0661 case '2': return '٢'; // U+0662 - ARABIC-INDIC DIGIT TWO - https://unicode-explorer.com/c/0662 case '3': return '٣'; // U+0663 - ARABIC-INDIC DIGIT THREE - https://unicode-explorer.com/c/0663 case '4': return '٤'; // U+0664 - ARABIC-INDIC DIGIT FOUR - https://unicode-explorer.com/c/0664 case '5': return '٥'; // U+0665 - ARABIC-INDIC DIGIT FIVE - https://unicode-explorer.com/c/0665 case '6': return '٦'; // U+0666 - ARABIC-INDIC DIGIT SIX - https://unicode-explorer.com/c/0666 case '7': return '٧'; // U+0667 - ARABIC-INDIC DIGIT SEVEN - https://unicode-explorer.com/c/0667 case '8': return '٨'; // U+0668 - ARABIC-INDIC DIGIT EIGHT - https://unicode-explorer.com/c/0668 case '9': return '٩'; // U+0669 - ARABIC-INDIC DIGIT NINE - https://unicode-explorer.com/c/0669 default: // return latiniHarf; if (evvelkiHarf === '؟') { return ''; } return '؟'; } }