mesdan
Version:
Latinî mesdan ile Osmanî metin yazmak için hazırlanmış bir alettir.
359 lines (358 loc) • 10.6 kB
JavaScript
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 "؟";
}
}