UNPKG

harf

Version:

A small library that keeps Arabic letters look the same when seperated through several HTML elements

6 lines 1.9 kB
/* * harf.js 0.1.0 * Copyright © 2019 MrG0lden * Released under MIT license */ var a={"آ":{final:"FE82"},"أ":{final:"FE84"},"ؤ":{final:"FE86"},"إ":{final:"FE88"},"ا":{final:"FE8E"},"د":{final:"FEAA"},"ذ":{final:"FEAC"},"ر":{final:"FEAE"},"ز":{final:"FEB0"},"و":{final:"FEEE"},"ى":{final:"FEF0"},"ة":{final:"FE94"},"لا":{final:"FEFC"},"لإ":{final:"FEFA"},"لأ":{final:"FEF8"},"لآ":{final:"FEF6"},"ئ":{final:"FE8A"},"ب":{final:"FE90"},"ت":{final:"FE96"},"ث":{final:"FE9A"},"ج":{final:"FE9E"},"ح":{final:"FEA2"},"خ":{final:"FEA6"},"س":{final:"FEB2"},"ش":{final:"FEB6"},"ص":{final:"FEBA"},"ض":{final:"FEBE"},"ط":{final:"FEC2"},"ظ":{final:"FEC6"},"ع":{final:"FECA"},"غ":{final:"FECE"},"ف":{final:"FED2"},"ق":{final:"FED6"},"ك":{final:"FEDA"},"ل":{final:"FEDE"},"م":{final:"FEE2"},"ن":{final:"FEE6"},"ه":{final:"FEEA"},"ي":{final:"FEF2"}};function n(n,l){var E=n[l],c="";switch(E){case"ا":case"أ":case"إ":case"آ":case"ؤ":case"ة":case"د":case"ذ":case"ر":case"ز":case"و":case"ى":i(n[l-1])&&(c=f(a[E].final)),c=E;break;case"ل":switch(n[l+1]){case"ا":case"أ":case"إ":case"آ":var F=E.concat(n[l+1]);if(i(n[l-1])){c=f(a[F].final);break}c=f(a[F].final,-1)}c=e(n,l);break;case"ب":case"ت":case"ث":case"ج":case"ح":case"خ":case"س":case"ش":case"ص":case"ض":case"ط":case"ظ":case"ع":case"غ":case"ف":case"ق":case"ك":case"م":case"ن":case"ه":case"ي":c=e(n,l);break;default:c=E}return c}function f(a,n){return void 0===n&&(n=0),String.fromCharCode(parseInt(a)+n)}function i(a){if(" "===a)return!1;for(var n=0,f=["ا","أ","إ","آ","ؤ","ة","د","ذ","ر","ز","و","ى","ء"];n<f.length;n+=1){if(a===f[n])return!1}return!0}function e(n,e){var l=n[e];return i(n[e-1])?" "===n[e+1]?f(a[l].final):f(a[l].final,2):" "!==n[e+1]?f(a[l].final,1):l}export default function(a){for(var f=a.split(""),i="",e=0;e<f.length;e++)i+=n(f,e);return i}