# Wolfram Mathematica

## Writing Scripts and Alphabets

The Alphabet function returns the list of characters in a given language, alphabet, or writing script.

In[1]:=
`Alphabet[Entity["Alphabet", "English::ff9sd"]]`
Out[1]=
In[2]:=
`Alphabet[Entity["Alphabet", "SerbianCyrillic::933zb"]]`
Out[2]=
In[3]:=
`Alphabet[Entity["Alphabet", "Hindi::7cxj8"]]`
Out[3]=

The alphabet of a writing script refers in general to the most common base letters used by alphabets of that writing script.

In[4]:=
`Alphabet[Entity["WritingScript", "Latin::6tr5q"]]`
Out[4]=
In[5]:=
`Alphabet[Entity["WritingScript", "Arabic::3y92v"]]`
Out[5]=
In[6]:=
`Alphabet[Entity["WritingScript", "Devanagari::t85j5"]]`
Out[6]=

The alphabet of a language is usually the same as the main alphabet used in this language.

In[7]:=
`Alphabet[Entity["Language", "Georgian"]]`
Out[7]=

If a language uses more than one alphabet, applying Alphabet will return the most common alphabet used by that language.

In[8]:=
`Alphabet[Entity["Language", "Serbian"]]`
Out[8]=

It is common that an alphabet does not use all the characters from its writing script.

In[9]:=
`Entity["Language", "Russian"]["WritingScripts"]`
Out[9]=
In[10]:=
`Alphabet[Entity["WritingScript", "Cyrillic::73gxm"]]`
Out[10]=
In[11]:=
`Alphabet[Entity["Language", "Russian"]]`
Out[11]=

Russian and Cyrillic (Russian's writing script) contain different sets of letters.

In[12]:=
```Complement[Alphabet[Entity["WritingScript", "Cyrillic::73gxm"]], Alphabet[Entity["Language", "Russian"]]]```
Out[12]=

The Latin language and the Latin alphabet must not be confused with the Latin writing script.

In[13]:=
`Alphabet[Entity["Language", "Latin"]]`
Out[13]=

The classical Latin alphabet does not include a few (now common) writing script letters.

In[14]:=
```Complement[Alphabet[Entity["WritingScript", "Latin::6tr5q"]], Alphabet[Entity["Alphabet", "Latin::x7687"]]]```
Out[14]=

And in this case, if the input is the simple "Latin" string, it will assume the writing script.

In[15]:=
`Alphabet["Latin"]`
Out[15]=

Also, many alphabets include diacritics, ligatures, and double characters as part of their basic set of letters.

In[16]:=
`Alphabet[Entity["Alphabet", "Slovak::kj62d"]]`
Out[16]=

You can build a table with the difference between the set of letters for some alphabets and their writing scripts.

show complete Wolfram Language input
In[17]:=
```TextGrid[With[{alph = {Entity["Alphabet", "Bodo::qr2jm"], Entity["Alphabet", "Esperanto::8q9rq"], Entity["Alphabet", "Faroese::4w3x2"], Entity["Alphabet", "Gikuyu::m35j4"], Entity["Alphabet", "Konkani::qxvq5"], Entity["Alphabet", "Icelandic::89f83"], Entity["Alphabet", "Latin::x7687"], Entity["Alphabet", "Osetin::bd2zw"], Entity["Alphabet", "Russian::9qdvh"], Entity["Alphabet", "Slovak::kj62d"], Entity["Alphabet", "Spanish::stxh4"], Entity["Alphabet", "UzbekArab::6zds4"]}}, Prepend[With[{ws = First[#[EntityProperty["Alphabet", "WritingScripts"]]]}, {#, ws, Row[Complement[Alphabet[#], Alphabet[ws]], ","], Row[Complement[Alphabet[ws], Alphabet[#]], ","]}] & /@ alph, {Style["Alphabet", Bold], Style["Writing script", Bold], Style["Extra letters to its writing script", Bold], Style["Writing script letters missing in the alphabet", Bold]}]], Frame -> All]```
Out[17]=