UNPKG

mesdan

Version:

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

359 lines (358 loc) 10.6 kB
import { harfKelimeBaşındaMı } from "../aletler/harf-kelime-basinda-mi"; export function harfLatinidenOsmaniye(latiniHarf, evvelkiHarf, shiftBasılıMı, altBasılıMı) { 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 "-": 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": 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 "؟"; } }