
First off, here is a script I wrote in PHP to transliterate the Somali latin alphabet into vocalized classical Arabic, Cismaaniya (or Borama/Gadabursi script if that font is made/used), or accented English alphabet characters.
Code: Select all
function LanguageConvert($text, $languageSetting) {
$newtext = $text;
if($languageSetting == 2) {
$somali = array("Aa", "aa",
"Ee", "ee",
"Ii", "ii",
"Oo", "oo",
"Uu", "uu",
"A", "a",
"E", "e",
"I", "i",
"O", "o",
"U", "u",
"B", "b",
"Th", "th",
"T", "t",
"J", "j",
"X", "x",
"Kh", "kh",
"Dh", "dh",
"D", "d",
"R", "r",
"Sh", "sh",
"Sc", "sc",
"Dc", "dc",
"Tc", "tc",
"Zc", "zc",
"Z", "z",
"C", "c",
"S", "s",
"G", "g",
"F", "f",
"Q", "q",
"K", "k",
"L", "l",
"M", "m",
"N", "n",
"H", "h",
"Y", "y",
"W", "w",
"'");
$arabic = array("ع", "َا", //Aa
"ى", "َى", //Ee
"إ", "ِي", //Ii
"و", "ُو", //Oo
"و", "ُو", //Uu
"ا", "َ", //A
"ى", "َ", //E
"إ", "ِ", //I
"و", "ُ", //O
"و", "ُ", //U
"ب", "ب", //Ba
"ث", "ث", //Tha
"ت", "ت", //Ta
"ج", "ج", //Jim
"ح", "ح", //Xa
"خ", "خ", //Kha
"ذ", "ذ", //Dhal
"د", "د", //Dal
"ر", "ر", //Reh
"ش", "ش", //Shin
"ص", "ص", //Sad
"ض", "ض", //Dad
"ط", "ط", //Ta
"ط", "ط", //Za
"ز", "ز", //Zayn
"ع", "ع", //Ayn
"س", "س", //Sin
"غ", "غ", //Ghayn
"ف", "ف", //Fa
"ق", "ق", //Qaf
"ك", "ك", //Kaf
"ل", "ل", //Lam
"م", "م", //Mim
"ن", "ن", //Nun
"ه", "ه", //Ha
"ي", "ي", //Ya
"و", "و", //Waw
"ء"); //Hamza
$newtext = str_replace($somali, $arabic, $text);
}
if($languageSetting == 3) {
$somali = array("Aa", "aa",
"Ee", "ee",
"Ii", "ii",
"Oo", "oo",
"Uu", "uu",
"A", "a",
"E", "e",
"I", "i",
"O", "o",
"U", "u",
"B", "b",
"T", "t",
"J", "j",
"X", "x",
"Kh", "kh",
"Dh", "dh",
"D", "d",
"R", "r",
"Sh", "sh",
"S", "s",
"Z", "z",
"C", "c",
"G", "g",
"F", "f",
"Q", "q",
"K", "k",
"L", "l",
"M", "m",
"N", "n",
"W", "w",
"H", "h",
"Y", "y");
$cismaniya = array("𐒀", "𐒀", //Aa
"𐒜", "𐒜", //Ee
"𐒝", "𐒝", //Oo
"𐒓", "𐒓", //Uu
"𐒕", "𐒕", //Ii
"𐒀", "𐒀", //Alef
"𐒗", "𐒗", //E
"𐒘", "𐒘", //I
"𐒙", "𐒙", //O
"𐒚", "𐒚", //U
"𐒁", "𐒁", //Ba
"𐒂", "𐒂", //Ta
"𐒃", "𐒃", //Ja
"𐒄", "𐒄", //Xa
"𐒅", "𐒅", //Kha
"𐒊", "𐒊", //Dha
"𐒆", "𐒆", //Deel
"𐒇", "𐒇", //Ra
"𐒉", "𐒉", //Shiin
"𐒈", "𐒈", //Sa
"𐒈", "𐒈", //Sa for Z
"𐒋", "𐒋", //Cayn
"𐒌", "𐒌", //Ga
"𐒍", "𐒍", //Fa
"𐒎", "𐒎", //Qaaf
"𐒏", "𐒏", //Kaaf
"𐒐", "𐒐", //Laan
"𐒑", "𐒑", //Miin
"𐒒", "𐒒", //Nuun
"𐒓", "𐒓", //Waw
"𐒔", "𐒔", //Ha
"𐒕", "𐒕"); //Ya
$newtext = '<span class="osmanya">'.str_replace($somali, $cismaniya, $text).'</span>';
}
if($languageSetting == 1) {
$somali = array("Caa", "Caa",
"Cee", "cee",
"Cii", "cii",
"Coo", "coo",
"Cuu", "cuu",
"Ca", "ca",
"Ce", "ce",
"Ci", "ci",
"Co", "co",
"Cu", "cu",
"Aa", "aa",
"Ee", "ee",
"Ii", "ii",
"Oo", "oo",
"Uu", "uu",
"X", "x",
"c");
$english = array("ʿĀ", "ʿā", //Caa
"ʿAy", "ʿay", //Cee
"ʿĪ", "ʿī", //Cii
"ʿŌ", "ʿō", //Coo
"ʿŪ", "ʿū", //Cuu
"ʿA", "ʿa", //Ca
"ʿE", "ʿe", //Ce
"ʿI", "ʿi", //Ci
"ʿO", "ʿo", //Co
"ʿU", "ʿu", //Cu
"Ā", "ā", //Aa
"Ay", "ay", //Ee
"Ī", "ī", //Ii
"Ō", "ō", //Oo
"Ū", "ū", //Uu
"Ḥ", "ḥ", //X
"ʿ"); //c
$newtext = str_replace($somali, $english, $text);
}
return $newtext;
}
Code: Select all
LanguageConvert('Soomaali', 3);
Next I have created an open source SVG font of the Cismaaniya alphabet. Here (normal) and here (bold).
To use them, save both fonts into the same folder your style sheet is in, and add this to your stylesheet:
Code: Select all
@font-face { font-family: Cismaaniya; font-weight: normal; src: local("Cismaaniya Normal"), url('CismaaniyaNormal.svg') format('svg'); }
@font-face { font-family: Cismaaniya; font-weight: bold; src: local("Cismaaniya Bold"), url('CismaaniyaBold.svg') format('svg'); }
.cismaaniya { font-family: Cismaaniya; }