The Arabic script has numerous diacritics, including i'jam ⟨إِعْجَام⟩ (i‘jām, consonant pointing), and tashkil ⟨تَشْكِيل⟩ (tashkīl, supplementary diacritics). The latter include the ḥarakāt ⟨حَرَكَات⟩ (vowel marks; singular: ḥarakah ⟨حَرَكَة⟩).
The Arabic script is an impure abjad, where short consonants and long vowels are represented by letters but short vowels and consonant length are not generally indicated in writing. Tashkīl is optional to represent missing vowels and consonant length. Modern Arabic is nearly always written with consonant pointing, but occasionally unpointed texts are still seen (rasm). Early texts such as the Qur'an were initially written without pointing, and pointing was added later to determine the expected readings and interpretations.
The literal meaning of tashkīl is 'forming'. As the normal Arabic text does not provide enough information about the correct pronunciation, the main purpose of tashkīl (and ḥarakāt) is to provide a phonetic guide or a phonetic aid; i.e. show the correct pronunciation. It serves the same purpose as furigana (also called "ruby") in Japanese or pinyin or zhuyin in Mandarin Chinese for children who are learning to read or foreign learners.