Wolfram Language

Multilingual Functionality

Writing Scripts and Alphabets

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

In[1]:=
Click for copyable input
Alphabet[Entity["Alphabet", "English::ff9sd"]]
Out[1]=
In[2]:=
Click for copyable input
Alphabet[Entity["Alphabet", "SerbianCyrillic::933zb"]]
Out[2]=
In[3]:=
Click for copyable input
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]:=
Click for copyable input
Alphabet[Entity["WritingScript", "Latin::6tr5q"]]
Out[4]=
In[5]:=
Click for copyable input
Alphabet[Entity["WritingScript", "Arabic::3y92v"]]
Out[5]=
In[6]:=
Click for copyable input
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]:=
Click for copyable input
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]:=
Click for copyable input
Alphabet[Entity["Language", "Serbian"]]
Out[8]=

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

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

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

In[12]:=
Click for copyable input
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]:=
Click for copyable input
Alphabet[Entity["Language", "Latin"]]
Out[13]=

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

In[14]:=
Click for copyable input
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]:=
Click for copyable input
Alphabet["Latin"]
Out[15]=

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

In[16]:=
Click for copyable input
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]:=
Click for copyable input
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]=

Related Examples

de es fr ja ko pt-br ru zh